/*--------------------------------------------------------------
# Brand Colors
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# UI Colors
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Structure & responsive
--------------------------------------------------------------*/
/** BREAKPOINTS **/
@import url("//fonts.googleapis.com/css2?family=Montserrat:wght@200;400;700&display=swap");
body {
	margin: 0;
	font-family: "Montserrat", Arial, sans-serif;
}

main {
	min-height: 50vh;
}

.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
	position: relative;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	color: #4a4a4a;
}

h1 {
	text-align: center;
	font-size: 30px;
}

h1.new-title {
	margin: 50px 0;
}

@media (min-width: 768px) {
	h1 {
		font-size: 38px;
	}
}

h2 {
	font-size: 28px;
}

@media (min-width: 768px) {
	h2 {
		font-size: 36px;
	}
}

h3 {
	font-size: 18px;
}

@media (min-width: 768px) {
	h3 {
		font-size: 26px;
	}
}

.wp-block-buttons {
	margin-bottom: 50px;
	text-align: center;
}

.wp-block-buttons .wp-block-button {
	margin: 0;
	text-transform: uppercase;
	font-size: 20px;
	font-weight: bold;
	color: #1273aa;
	border: 2px solid #1273aa;
	border-radius: 3px;
}

.wp-block-buttons .wp-block-button a {
	background-color: #FFF;
}

.wp-block-buttons .wp-block-button:hover {
	background-color: #1273aa;
	border: 2px solid #FFF;
	color: #FFF;
}

.wp-block-buttons .wp-block-button:hover a {
	background-color: #1273aa;
}

.wp-block-buttons .wp-block-button.footer-btn {
	color: #FFF;
	border: 2px solid #FFF;
}

.wp-block-buttons .wp-block-button.footer-btn a {
	background-color: #1273aa;
}

.wp-block-buttons .wp-block-button.footer-btn:hover {
	background-color: #FFF;
	border: 2px solid #1273aa;
	color: #1273aa;
}

.wp-block-buttons .wp-block-button.footer-btn:hover a {
	background-color: #FFF;
}

.wp-block-buttons .wp-block-button.cta-btn {
	color: #FFF;
	border: 2px solid #FFF;
	background-color: #12deb1;
}

.wp-block-buttons .wp-block-button.cta-btn a {
	background-color: #12deb1;
}

.wp-block-buttons .wp-block-button.cta-btn:hover {
	background-color: #FFF;
	border: 2px solid #12deb1;
	color: #12deb1;
}

.wp-block-buttons .wp-block-button.cta-btn:hover a {
	background-color: #FFF;
}

.wp-block-image {
	text-align: center;
}

.wp-block-image figcaption {
	font-size: 12px;
	color: #4a4a4a;
	margin-bottom: 3em;
}

.wp-block-image img {
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
}

.header-container {
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
	background-color: #FFF;
	height: 60px;
	width: 100%;
	position: fixed;
	z-index: 29;
}

.header-container + .header-gap {
	display: block;
}

.header-container .header-menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 20px;
}

.header-container .header-menu .header-logo {
	padding-top: 15px;
}

.header-container .header-menu .header-logo .logo-link {
	display: block;
}

.header-container .header-menu .header-logo svg, .header-container .header-menu .header-logo img {
	height: 30px;
	width: auto;
}

.header-container .header-menu ul {
	display: none;
}

@media (min-width: 768px) {
	.header-container .header-menu ul {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		padding-top: 10px;
	}
	.header-container .header-menu ul li {
		cursor: pointer;
		padding-right: 20px;
	}
	.header-container .header-menu ul li a {
		text-decoration: none;
		font-weight: 400;
		text-transform: uppercase;
		color: #4a4a4a;
	}
	.header-container .header-menu ul li a:hover {
		color: #1273aa;
	}
	.header-container .header-menu ul li:last-child {
		padding-right: 0;
	}
	.header-container .header-menu ul li.main-cta a {
		color: red;
	}
}

.header-gap {
	display: none;
	height: 60px;
}

.header-nav-container {
	padding-top: 5px;
}

.header-nav-container .hamburguer-container {
	cursor: pointer;
}

.header-nav-container .hamburguer-container a {
	display: block;
	padding: 10px;
}

@media (min-width: 768px) {
	.header-nav-container {
		display: none;
	}
}

.display-none {
	display: none;
}

.display-unset {
	display: unset;
}

#main-menu {
	position: fixed;
	z-index: 30;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: #FFF;
}

.menu-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 20px;
}

.menu-top .header-logo {
	cursor: pointer;
}

.menu-top .header-logo .logo-link {
	display: block;
}

.menu-top .search-close {
	display: flex;
}

.menu-top .search-close .search-container {
	cursor: pointer;
}

.menu-top .search-close .close-container {
	cursor: pointer;
	padding-left: 30px;
}

.menu-content ul {
	list-style: none;
	margin: 60px 20px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
}

.menu-content ul li {
	cursor: pointer;
	padding: 5px 0;
}

.menu-content ul li a {
	display: block;
	text-decoration: none;
	color: #4a4a4a;
}

.menu-content ul:nth-child(3) {
	font-size: 14px;
	font-weight: normal;
}

.hero-container {
	background: #ececec center no-repeat;
	background-size: cover;
	position: relative;
}

.hero-container::after {
	content: " ";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.2);
}

.hero-container .hero {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 30vw;
	position: relative;
	z-index: 5;
}

.hero-container .hero h1 {
	color: #000;
	text-shadow: 0 0 8px white;
}

.general-container {
	margin: 0 20px;
	padding-bottom: 50px;
}

.general-container h3 {
	line-height: 1.44;
}

@media (min-width: 768px) {
	.general-container {
		max-width: 840px;
		margin: 0 auto;
		padding-top: 30px;
	}
}

.footer-container {
	background-color: #1273aa;
	display: flex;
}

.footer-container .footer-nav-container {
	margin: 50px 20px;
}

.footer-container .footer-nav-container ul {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
}

.footer-container .footer-nav-container ul li {
	padding: 5px 0;
}

.footer-container .footer-nav-container ul li a {
	color: #FFF;
	text-decoration: none;
}

.footer-container .footer-nav-container ul:nth-child(2) {
	font-size: 14px;
	font-weight: normal;
}

.footer-container .footer-logo-container {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}

.footer-container .footer-logo-container svg g {
	fill: #FFF;
}

@media (min-width: 768px) {
	.footer-container .footer-nav-container {
		display: flex;
		justify-content: space-between;
		width: 80vw;
	}
}

.choose-category-container {
	text-align: center;
	margin: 25px 0;
}

.choose-category-container .choose-category {
	font-size: 14px;
	color: #4a4a4a;
	height: 36px;
	min-width: 260px;
	padding-left: 13px;
	border-radius: 3px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), inset 0 2px 0 0 #FFF;
	border: solid 1px #979797;
	background-image: linear-gradient(to bottom, #f2f2f2, #d4d4d4);
}

.price {
	font-size: 18px;
	font-weight: bold;
}

.dish-container {
	display: flex;
	justify-content: center;
	margin-bottom: 22px;
	cursor: pointer;
}

.dish-container .img-container {
	min-width: 156px;
	width: 156px;
	height: 128px;
	border: solid 1px #979797;
	background-color: #d8d8d8;
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
}

.dish-container .img-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dish-container .img-container img:hover {
	opacity: .6;
}

.dish-container .description-container {
	margin: 0 20px 0 15px;
	max-width: 190px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.dish-container .description-container h3 {
	margin-top: 0;
}

.dish-container .description-container p {
	margin: 0;
}

.dish-container .description-container:hover {
	opacity: .6;
}

@media (min-width: 768px) {
	.dish-container .img-container {
		width: 180px;
		height: 180px;
	}
	.dish-container .description-container {
		max-width: 165px;
	}
}

@media (min-width: 1200px) {
	.dish-container .img-container {
		width: 210px;
		height: 210px;
	}
	.dish-container .description-container {
		max-width: 260px;
	}
}

.grid-container {
	display: grid;
	grid-template-columns: auto;
}

@media (min-width: 768px) {
	.grid-container {
		grid-template-columns: auto auto;
		gap: 10px;
	}
}

@media (min-width: 1200px) {
	.grid-container {
		grid-template-columns: auto auto;
		gap: 100px;
	}
}

.dish-categories {
	margin-left: 16px;
	margin-bottom: 60px;
	position: relative;
}

.dish-categories::after {
	content: '';
	display: block;
	width: 236px;
	height: 1px;
	background-color: #dedede;
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	bottom: -32px;
}

@media (min-width: 768px) {
	.dish-categories {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-bottom: 100px;
	}
	.dish-categories::after {
		bottom: -60px;
	}
	.dish-categories h2 {
		margin-bottom: 100px;
	}
}

.modal {
	display: none;
	position: fixed;
	z-index: 20;
	padding-top: 50px;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.7);
	border: solid 1px #979797;
}

@media (min-width: 768px) {
	.modal {
		padding-top: 100px;
	}
}

.modal-content {
	background-color: #fefefe;
	margin: 30px auto;
	border: 1px solid #888;
	width: 80%;
	position: relative;
	z-index: 25;
}

.modal-content .previous-next-container {
	position: fixed;
	left: calc(50% - 50px);
	bottom: 2.5vh;
	width: 100px;
}

.modal-content .previous-next-container .previous-modal {
	transform: rotate(180deg);
	padding-left: 30px;
	fill: #FFF;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 24px;
	height: auto;
}

.modal-content .previous-next-container .next-modal {
	fill: #FFF;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	right: 0;
}

@media (min-width: 768px) {
	.modal-content .previous-next-container {
		position: fixed;
		left: 0;
		bottom: 50vh;
		width: 100vw;
	}
	.modal-content .previous-next-container .previous-modal {
		padding-left: 0;
		width: 24px;
	}
}

.modal-close {
	color: #FFF;
	float: right;
	font-size: 28px;
	font-weight: bold;
	height: 45px;
	width: 45px;
}

.modal-close:hover, .modal-close:focus {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

.modal-dish {
	box-shadow: 0 2px 16px 3px rgba(0, 0, 0, 0.5);
	max-height: 80vh;
	overflow-x: hidden;
	overflow-y: auto;
}

.modal-dish .img-container {
	width: 100%;
	height: 200px;
	border-bottom: solid 1px #979797;
	background-color: #ffd9d9;
	position: relative;
}

.modal-dish .img-container svg {
	fill: #FFF;
	padding: 10px;
	position: absolute;
	top: 0;
	right: 0;
}

.modal-dish .description-container {
	display: flex;
	flex-direction: column;
	align-items: space-between;
	padding: 25px;
}

.modal-dish .description-container .modal-dish-container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5vh;
}

.modal-dish .description-container .modal-dish-container div .modal-name-dish {
	margin: 0;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.09;
	color: #4a4a4a;
}

.modal-dish .description-container .modal-dish-container div .modal-description {
	font-size: 18px;
	color: #4a4a4a;
}

.modal-dish .description-container .modal-dish-container .modal-price {
	margin: 0;
	min-width: 26%;
	padding: 0 8px;
	font-size: 26px;
	font-weight: bold;
	text-align: right;
	color: #4a4a4a;
}

.modal-dish .description-container .allergens-container .allergens-title {
	margin: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.09;
	color: #4a4a4a;
}

.modal-dish .description-container .allergens-container .modal-allergens {
	margin: 0;
	font-size: 18px;
	color: #4a4a4a;
}

@media (min-width: 768px) {
	.modal-dish {
		display: flex;
	}
	.modal-dish .img-container {
		height: 44vw;
		border-bottom: unset;
	}
	.modal-dish .description-container {
		width: 40%;
	}
}

.btn-reserve-container {
	text-align: center;
	margin-bottom: 50px;
}

.cta-container {
	background-color: #12deb1;
}

.cta-container .cta {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cta-container .cta h2 {
	margin: 0;
	padding: 50px 20px;
	text-align: center;
	color: #FFF;
	font-size: 40px;
}

@media (min-width: 768px) {
	.cta-container .cta h2 {
		font-size: 70px;
		padding: 80px 20px;
	}
}

.base-container {
	margin: 0 20px;
	padding-bottom: 50px;
}

.base-container p {
	line-height: 2em;
	max-width: 90%;
	margin: 0 auto 20px;
}

@media (min-width: 768px) {
	.base-container p {
		max-width: 75%;
	}
}

.grid-restaurant-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
	gap: 10px 10px;
	grid-template-areas: "restaurant-container"
 "restaurant-img-container"
 "restaurant-btn-container";
	margin: 0 20px;
	text-align: center;
	margin-top: 50px;
}

@media (min-width: 768px) {
	.grid-restaurant-container {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		gap: 1px 1px;
		grid-template-areas: "restaurant-img-container restaurant-img-container restaurant-container restaurant-container"
 "restaurant-img-container restaurant-img-container restaurant-btn-container restaurant-btn-container"
 ". . . .";
	}
}

.restaurant-container {
	grid-area: restaurant-container;
}

.restaurant-container h2 {
	margin-top: 0;
}

@media (min-width: 768px) {
	.restaurant-container {
		text-align: left;
	}
}

.restaurant-img-container {
	grid-area: restaurant-img-container;
	height: 200px;
	width: 80vw;
	background-color: pink;
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
	margin: auto;
}

.restaurant-img-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 768px) {
	.restaurant-img-container {
		height: 300px;
		width: 80%;
		margin: 0 auto;
	}
}

.restaurant-btn-container {
	grid-area: restaurant-btn-container;
	margin-top: 50px;
	margin-bottom: 50px;
}

@media (min-width: 768px) {
	.restaurant-btn-container {
		text-align: left;
	}
}

#restaurants-map {
	width: 80%;
	height: 40vh;
	margin: 20px auto 50px;
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
}

.no-wrap {
	white-space: pre;
}

#marker {
	background-size: cover;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
}

.mapboxgl-popup {
	max-width: 150px;
}

.mapboxgl-popup .mapboxgl-popup-content {
	box-shadow: 0 2px 10px 0 rgba(43, 43, 43, 0.6);
	padding: 15px;
}

.news {
	display: flex;
	flex-direction: column;
	align-items: center;
}

@media (min-width: 768px) {
	.news {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

.news-container {
	width: 80vw;
	height: 500px;
	max-width: 370px;
	margin: 50px 15px 0;
	box-shadow: 0 2px 8px 0 rgba(43, 43, 43, 0.5);
}

.news-img-container {
	height: 200px;
	width: 100%;
	background-color: #d8d8d8;
	margin: auto;
	overflow: hidden;
}

.news-img-container img {
	object-fit: cover;
	object-position: center center;
	height: 100%;
	width: 100%;
}

.news-img-container img:hover {
	opacity: 0.6;
}

.news-text-container {
	padding: 30px;
	font-size: 20px;
	color: #4a4a4a;
}

.news-text-container h2 {
	font-weight: bold;
	margin: 0;
}

.news-text-container h2 a {
	text-decoration: none;
	color: #4a4a4a;
}

.news-text-container h2 a:hover {
	opacity: 0.6;
}

.news-text-container p {
	font-size: 18px;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-nav-container {
	margin: 20px 0 50px;
	width: 100%;
	text-align: center;
	font-size: 20px;
	color: #4a4a4a;
}

.news-nav-container nav div {
	max-width: 145px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.news-nav-container nav div a, .news-nav-container nav div span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	border-radius: 3px;
	transition: background-color .3s;
}

.news-nav-container nav div a:hover, .news-nav-container nav div span:hover {
	background-color: #4a4a4a;
	color: #FFF;
}

.news-nav-container nav div a {
	text-decoration: none;
	color: #4a4a4a;
}

.news-nav-container nav div span {
	background-color: #1273aa;
	color: #FFF;
}

.home-container {
	padding: 0 20px;
}

.woocommerce a.added_to_cart {
	display: block;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
}

.woocommerce-MyAccount-navigation ul li a {
	font-weight: 500;
	margin-bottom: .3em;
	display: block;
}

.woocommerce-MyAccount-content p {
	font-weight: 400;
}

#add_payment_method table.cart td, #add_payment_method table.cart th, .woocommerce-cart table.cart td, .woocommerce-cart table.cart th, .woocommerce-checkout table.cart td, .woocommerce-checkout table.cart th {
	font-weight: 400;
}

#coupon_code {
	width: 200px;
	max-width: 100%;
	line-height: 1.5em;
}

.woocommerce .quantity .qty {
	line-height: 2em;
	border-radius: 0;
}

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: #F06768;
}

.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background: #F06768;
}

.woocommerce table.shop_table, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .select2-container--default .select2-selection--single {
	border-radius: 0;
}

.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text {
	padding: .4em .8em;
	border-radius: 0;
	border: 1px solid #aaa;
}