
#header {
	box-sizing: border-box;
	position: fixed;
	transition: transform 300ms ease-out;
	width: 100%;
	z-index: 1;
}

/* menu bars */

.top-bar {
	background-color: #fefefe;
	border-bottom: 1px solid #d3d3d3;
	box-sizing: border-box;
	height: 3.8rem;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 2;
}

.top-bar-inner {
	box-sizing: border-box;
	display: flex;
	height: 100%;
	justify-content: center;
	margin: 0 auto;
	max-width: 1140px;
}

.top-bar-left {
	align-content: center;
	display: flex;
	flex: 1;
	justify-content: flex-start;
	padding-left: 5px;
}

.top-bar-center {
	align-content: center;
	display: flex;
	flex: 2;
	justify-content: center;
}

.top-bar-right {
	align-content: center;
	display: flex;
	flex: 1;
	justify-content: flex-end;
	padding-right: 5px;
}

/* app */

.logo {
	align-self: stretch;
	background: no-repeat center;
	background-size: contain;
	box-sizing: border-box;
	display: block;
	width: 3rem;
}

.main {
	box-sizing: border-box;
	min-height: 90vh;
	position: relative;
	padding: 7rem 10px 20px 10px;
}

.main-without-header {
	padding: 3.2rem 10px 20px 10px;
}

.main-inner {
	margin: 0 auto;
	max-width: 1060px;
	position: relative;
}

h1 {
	color: #333;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1em;
	margin-top: 1.5rem;
	padding: 0;
}

p {
	font-size: 0.9rem;
	line-height: 1.4em;
	margin: 0.1em 0 0.4em 0;
}

.tabs {
	background-color: #fefefe;
	border-bottom: 1px solid #d3d3d3;
	box-sizing: border-box;
	height: 3rem;
	padding-top: 3px;
	position: relative;
}

.tabs-inner {
	box-sizing: border-box;
	display: flex;
	flex: 1;
	height: 100%;
	justify-content: space-around;
	margin: 0 auto;
	max-width: 1140px;
}

.tab {
	align-items: center;
	border-bottom: 3px solid transparent;
	box-sizing: border-box;
	color: #222;
	display: flex;
	flex: 1;
	font-size: 0.9em;
	/*font-weight: bold;*/
	justify-content: center;
	text-decoration: none;
	text-transform: uppercase;
}

.tab.selected {
	border-bottom: 3px solid #31a8f0;
}

.filter-panel {
	display: flex;
	padding: 1.5rem 0.5rem 0.3rem 0.5rem;
}

.filter-left {
	display: flex;
	flex: 2;
}

.filter-right {
	display: flex;
	flex: 1;
	justify-items: flex-end;
	justify-content: flex-end;
}

.location-filter {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex: 1;
	text-decoration: none;
}

.location-label {
	padding-right: 0.6rem;
}

.location-edit-link {
	align-items: center;
	color: #555;
	display: flex;
	justify-content: flex-start;
	text-decoration: none;
}

.location-edit-link > .material-icons {
	color: #555;
	font-size: 1rem;
	margin-right: 0.1rem;
}


/* brochure grid */

.brochure-grid-premium {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: start;
	width: 100%;
	align-items: start;
	box-sizing: border-box;
	background-color: #f9f9f9;
	border: 1px solid #e8e8e8;
}

.premiumMB {
	margin-bottom: 10px;
}

.brochure-premium-cnt {
	box-sizing: border-box;
	flex: 1 1 50%;
	text-decoration: none;
	height: 100%;
}

.brochure-premium-cover-img-cnt {
	padding: 20px;
}

.brochure-premium-info {
	padding-left: 15px;
}

.brochure-premium-cnt img {
	display: block;
	width: 100%;
}

.brochure-premium-pages {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 15px;
	height: calc(50% - 40px);
}

.brochure-premium-page-cnt {
	position: relative;
	display: flex;
	justify-content: start;
	align-items: start;
	flex: 0 0 50%;
	box-sizing: border-box;
	padding: 5px;
	text-decoration: none;
}

.brochure-premium-now-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	border: 1px solid #e4e4e4;
	color: #555;
	border-radius: 5px;
	text-align: center;
}

.brochure-premium-page-cnt img {
	display: block;
	width: 100%;
}

.brochure-grid {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
	margin: 0 auto;
}

.brochure-grid-cell, .store-grid-cell {
	box-sizing: border-box;
	display: block;
	flex: 0 0 100%;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.brochure-grid-item {
	background-color: #f9f9f9;
	box-sizing: border-box;
	margin: 6% 4%;
	position: relative;
}

.bg-top-bar-inner {
	position: relative;
	box-sizing: border-box;
	display: flex;
	width: 100%;
	height: 100%;
	max-width: 1140px;
	margin: 0 auto;
}

.bg-top-bar-left {
	position: relative;
	display: flex;
	align-items: center;
	width: 10%;
	height: 100%;
	padding-left: 5px;
}

.bg-top-bar-center {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
	height: 100%;
	font-size: 1.5em;
}

.bg-top-bar-center div {
	text-align: center;
	width: 400px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bg-top-bar-right {
	position: relative;
	display: flex;
	align-items: center;
	width: 10%;
	height: 100%;
}

.bg-item-store {
	box-sizing: border-box;
	overflow: hidden;
	/*padding-top: 50%;*/
	position: relative;
	display: flex;
	width: 100%;
	padding: 5px;
	font-size: 0.8em;
}

.bg-img-cnt {
	position: relative;
	width: 10%;
	height: 45px;
}

.bg-img-cnt img {
	max-width: 100%;
	max-height: 100%;
}

.bg-sub-item-store {
	position: relative;
	display: flex;
	padding: 0 8px 8px 8px;
	width: 80%;
	height: 100%;
}

.bg-address-cnt {
	color: #555;
}

.bg-address-cnt {
	color: #555;
}

.bg-sub-item-store div {
	height: 100%;
}

.bg-sub-item-store div:nth-child(1) {
	width: 47%;
}

.bg-sub-item-store div:nth-child(2) {
	width: 63%;
	margin-left: 10px;
}

.bg-item-cover {
	box-sizing: border-box;
	overflow: hidden;
	padding-top: 100%;
	position: relative;
	width: 100%;
}

.bg-item-cover-image {
	bottom: 0;
	box-sizing: border-box;
	display: block;
	left: 0;
	margin: auto;
	opacity: 0.5;
	position: absolute;
	right: 0;
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	top: 0;
}

.bg-item-cover-image-stacked {
	left: 0;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	filter: drop-shadow(8px 8px 0 #999) drop-shadow(8px 8px 1px #777);
	scale: 0.92;
	margin-left: -8px;
	margin-top: -8px;
}

.bg-item-cover-image-label {
	background-color: rgba(51, 51, 51, 0.6);
	bottom: 0;
	color: white;
	font-size: 14px;
	height: 30px;
	left: 0;
	line-height: 30px;
	position: absolute;
	right: 0;
	text-align: center;
	z-index: 1;
}

.bg-item-title, .bg-item-subtitle, .bg-item-more {
	overflow: hidden;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

.bg-item-title {
	font-size: 0.9rem;
	font-weight: bold;
	padding: 0.5em 0.1em 0 0.1em;
	position: relative;
}

.bg-item-subtitle {
	color: #555;
	font-size: 0.8rem;
	padding: 0.5em 0.1em 0 0.1em;
	position: relative;
}

.bg-item-more {
	color: #555;
	font-size: 0.8rem;
	right: 0.6rem;
	bottom: 3px;
	position: absolute;
}

/* footer */

.footer {
	/*align-content: center;*/
	/*display: flex;*/
	/*flex-wrap: wrap;*/
	/*justify-content: center;*/
}

.footer-info {
	margin: 0 auto;
	max-width: 1060px;
	padding: 1em;
	position: relative;
}

.footer-brand {
	color: #666;
	text-align: center;
	padding: 20px 0 30px 0;
}

.footer-links {
	align-content: center;
	border-top: 1px solid #ddd;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8em;
	justify-content: center;
	min-height: 30px;
	padding: 1.5rem 0.5rem;
	position: relative;
	text-align: center;
}

.footer-link-item {
	display: block;
	padding: 0.3rem 0;
}

.footer-link {
	padding: 0 0.5rem;
	text-decoration: none;
}

/* popup */

.popup, #mask {
	background-color: rgba(0, 0, 0, 0.4);
	bottom: 0;
	display: none;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 3;
}

#mask {
	top: 0;
}

.popup {
	top: 70px;
}

.popup-inner, .popup-inner-grid {
	background-color: #fff;
	position: relative;
}

.popup-inner {
	padding: 20px 24px 24px 24px;
}

.popup-inner-grid {
	padding: 20px 4px 24px 24px;
}

.popup-header {
	margin-bottom: 20px;
	padding-right: 40px;
}

.popup-header strong {
	display: block;
	font-size: 1.2em;
	font-weight: 300;
	padding-top: 0;
}

.btn-close {
	color: #fff;
	display: block;
	font-size: 1.5em;
	height: 36px;
	line-height: 36px;
	position: absolute;
	right: 15px;
	text-align: center;
	top: 15px;
	width: 36px;
	z-index: 1;
}

#locate-info {
	background-color: #ffef8f;
	padding: 12px 15px;
	position: relative;
	text-align: center;
}

#locate-info a {
	color: #c00000;
}

.autocomplete-list-item {
	border-bottom: 1px solid #f3f3f3;
	cursor: pointer;
	padding: 0.6em 0;
}

.autocomplete-list-item-selected {
	background-color: #f3f3f3;
}

.autocomplete-list-item:hover {
	background-color: #f3f3f3;
}

#places-container {
	padding: 12px 4px;
	width: 85%;
}

.mt-20 {
	margin-top: 20px;
}

/* locate */
.btn-light {
	background-color: #fff;
	border: 1px solid #ccc;
	display: block;
	right: 0;
	font-size: 0.9em;
}

.btn-light:hover {
	background-color: #eee;
}

#btn-loc-select {
	position: absolute;
	height: 45px;
}

#link-autolocate {
	height: 42px;
}

#fld-loc {
	border: 0;
	font-size: 1.1em;
	width: 80%;
	display: inline-block;
	height: 28px;
}

.loc-content {
	margin: 30px auto;
	max-width: 500px
}

.loc-content .search-field {
	position: absolute;
	border: 1px solid #ddd;
	border-right: 0;
	padding: 0 0.3em;
	left: 0;
	right: 40px;
	height: 43px;
	line-height: 43px
}

.loc-content .search-field-outer {
	position: relative;
	height: 35px;
}

.loc-content .auto-locate {
	text-align: center;
	margin-top: 30px;
"
}

.loc-change-link {
	color: #555;
	font-size: 0.8em;
	text-decoration: underline;
	cursor: pointer;
}

#overlay {
	position: fixed; /* Sit on top of the page content */
	display: none; /* Hidden by default */
	width: 100%; /* Full width (cover the whole page) */
	height: 100%; /* Full height (cover the whole page) */
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.2); /* Black background with opacity */
	z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
	cursor: pointer; /* Add a pointer on hover */
	-webkit-overflow-scrolling: touch;
}

#overlay-inner {
	display: block;
	background-color: white;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	position: absolute;
	/*border-radius: 8px;*/
	overflow: auto;
}

#overlay-close {
	position: relative;
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
}

#overlay-content {
	/*height: 100%;*/
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	max-width: 1060px;
	margin: 10px auto;
	/*overflow-y: auto;*/
}

.overlay-title {
	position: relative;
	/*margin: -25px 0 30px 0;*/
	margin: 0 0 50px 0.5rem;
	font-size: 1.5em;
	/*text-transform: uppercase;*/
}

.content-box {
	border: 1px solid #e4e4e4;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	position: relative;;
	width: 95%;
	padding: 10px 10px 20px 10px;
	margin: 30px 0 20px 0;
}

.content-box-title {
	position: absolute;
	left: 20px;
	top: -13px;
	background-color: white;
	padding: 0 3px;
	font-size: 1.2em;
}

.content-box-more {
	border-top: 1px solid #e4e4e4;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	cursor: pointer;
}

.content-box-more:hover {
	background-color: #fafafa;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-moz-border-radius-bottomleft: 5px;
	-moz-border-radius-bottomright: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
}

.content-box-more > div {
	display: block;
	width: 24px;
	margin: 0 auto;
}

.hidden {
	display: none !important;
}

#order-box {
	display: flex;
	padding: 15px 0.5rem 0 0.5rem;
	font-size: 0.9em;
	margin-bottom: 10px;
}

#order-box div {
	border-top: 1px solid #e4e4e4;
	border-bottom: 1px solid #e4e4e4;
	border-right: 1px solid #e4e4e4;
	margin: 0;
	padding: 4px;
	color: #555;
	width: 80px;
	text-align: center;
	cursor: pointer;
}

#order-box div:hover {
	background-color: #f6f6f6;
}

#order-box div:first-child {
	border-left: 1px solid #e4e4e4;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
}

#order-box div:last-child {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
}

#order-box .selected {
	background-color: #f6f6f6;
}

#search-bar {
	/*border: 1px solid #e4e4e4;*/
	position: relative;
	margin: 20px 0.5rem;
}

#search-bar > input {
	border: 1px solid #e4e4e4;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 1.1em;
	display: inline-block;
	height: 28px;
	width: 100%;
	padding: 5px;
}

#search-bar > button {
	border: 0;
	background-color: rgba(0, 0, 0, 0.0);
	position: absolute;
	right: 0;
	top: 2px;
	margin: 1px;
	height: 40px;
	width: 30px;
	cursor: pointer;
}

.ui-menu .ui-menu-item-wrapper:hover, .ui-menu .ui-menu-item-wrapper.ui-state-active {
	color: #000;
	background-color: #f6f6f6;
	border: 1px solid #c5c5c5;
}

@media screen and (max-width: 460px) {
	.brochure-grid-item {
		margin: 5% 3%;
	}
}

@media (max-width: 950px) {
	.bg-item-store {
		display: block;
	}

	.bg-sub-item-store {
		width: 100%;
		margin-top: 5px;
	}
}

@media (min-width: 800px) {
	.brochure-grid-cell {
		flex: 0 0 25%;
	}

	.store-grid-cell {
		flex: 0 0 50%;
	}
}

@media (min-width: 320px) and (max-width: 519px) {
	.brochure-grid-cell {
		flex: 0 0 50%;
	}

	.store-grid-cell {
		flex: 0 0 100%;
	}

	.brochure-premium-cnt {
		flex: 0 0 100%;
	}

	.brochure-premium-pages-cnt {
		display: none;
	}

	.brochure-premium-cover-img-cnt {
		padding: 6px;
	}

	.brochure-premium-info {
		padding-left: 6px;
	}
}

@media (min-width: 520px) and (max-width: 799px) {
	.brochure-grid-cell {
		flex: 0 0 33.3333%;
	}

	.store-grid-cell {
		flex: 0 0 100%;
	}

	.bg-item-store {
		display: flex;
	}

	.brochure-premium-pages {
		padding: 3px;
	}

	.brochure-premium-page-cnt {
		padding: 3px;
	}

	.brochure-premium-cover-img-cnt {
		padding: 6px;
	}

	.brochure-premium-info {
		padding-left: 6px;
	}
}