/* css color variables
 * --primary
 * --secondary
 * --accent
 * --heading
 * --body
 * */

@font-face {
	font-family: 'HeadingFont';
	src: url('../fonts/DMSerifDisplay-Regular.woff2') format('woff2'),
		 url('../fonts/DMSerifDisplay-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: 'SecondaryFont';
	src: url('../fonts/DMSerifDisplay-Regular.woff2') format('woff2'),
		 url('../fonts/DMSerifDisplay-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

h2, .section-heading {
	margin-bottom: 1.3em;
}

h2::after {
	content: "";
	position: absolute;
	bottom: -16px;
	left: 0;
	width: 48px;
	border-top: 4px solid var(--accent);
}

/* custom header styles start here */

#header-01 {
	height: unset !important;
}

#header-01 div.header-left {
	width: 15%;
}

#header-01 div.header-right {
	width: 85%;
}

#header-01 .header-right nav ul li {
	padding: 3.5em 1em;
}

#header-01 .header-right nav ul li a {
	font-weight: bolder;
	padding: 3.55em 0;
}

#header-01 .header-right nav ul li ul {
	top: 6.8rem;
}

#header-01 img {
	max-width: unset !important;
    max-height: 6.22rem !important;
	padding: 0.5em;
}

#header-01-mobile-header {
	height: 6.1rem;
}

#header-01-mobile-header .mobile-header__left img {
    max-height: 6.22rem;
	object-position: left;
	padding: 0.5em;
}

/* custom header styles end here */


/* custom footer styles start here */

#footer-01 div.subscription-form .button-primary {
	background: var(--secondary) !important;
    border-color: var(--secondary);
	color: var(--accent);
}

#footer-01 div.subscription-form .button-primary:hover {
	background: transparent !important;
	border-color: var(--secondary) !important;
	color: var(--secondary) !important;
}

#footer-01 div.subscription-form span.wpcf7-not-valid-tip {
	right: unset;
}

#footer-01 div.subscription-wrapper {
	background: var(--accent) !important;
}
	
#footer-01 div.subscription-heading h2::after {
	border-top: 0;
}

#footer-01 div.subscription-heading p {
	font-size: 0.8rem;
}

#footer-01 div.copyright-wrapper span {
	color: var(--secondary);
	font-size: 0.8rem;
	padding-top: 0.5em;
	text-align: center;
	margin-bottom: 0;
}

/* custom footer styles end here */



/* custom module styles start here */

.booking-module__wrapper {
	background: var(--accent) !important;
}

.booking-module div.ea-bootstrap form .calendar .ui-datepicker-calendar td.ui-datepicker-current-day,
.booking-module div.ea-bootstrap form .calendar .ui-datepicker-calendar td:hover {
	background-color: var(--secondary) !important;
}

.booking-module div.ea-bootstrap form div.final div.form-group div.ea-actions-group button.ea-submit {
	background-color: var(--secondary) !important;
    border-color: var(--secondary) !important;
    color: var(--accent) !important;
}

.booking-module div.ea-bootstrap form div.final div.form-group div.ea-actions-group button.ea-submit:hover {
	background-color: transparent !important;
    color: var(--secondary) !important;
}

.booking-module div.ea-bootstrap form div.final div.form-group div.ea-actions-group button.ea-cancel {
	border-color: var(--secondary) !important;
    color: var(--secondary) !important;
}

.booking-module div.ea-bootstrap form div.final div.form-group div.ea-actions-group button.ea-cancel:hover {
	background-color: var(--secondary) !important;
    color: var(--accent) !important;
}

.booking-module a.time-disabled {
	display: none;
}

.button-module__wrapper span, form input[type="submit"] {
    color: var(--accent);
	background-color: var(--secondary) !important;
    border: 1px solid var(--secondary) !important;
	font-weight: bold;
}

.button-module__wrapper span:hover, form input[type="submit"]:hover {
	background-color: transparent !important;
    border-color: 1px solid var(--accent) !important;
}

.grid-module__cards__card.type-two h2,
.grid-module__cards__card.type-two h3,
.grid-module__cards__card.type-two h4,
.grid-module__cards__card.type-two h5,
.grid-module__cards__card.type-two h6 {
	font-family: 'SecondaryFont', serif;
}

.page-content__search-item h2 {
	font-family: 'SecondaryFont', serif;
}

/* custom module styles end here */



/* custom utility classes styles start here */

.button {
	font-family: 'BodyFont';
	font-weight: bold;
	text-transform: capitalize;
}

.blog-post__grid .grid-module__cards__card {
	border-radius: 8px;
    overflow: hidden;
}

.blog-post__grid .grid-module__cards__card .background-overlay {
	transition: 200ms all ease-out;
}

.blog-post__grid .grid-module__cards__card:hover .background-overlay {
	background-color: var(--accent) !important;
	opacity: 85% !important;
}

.color-black {
	color: #313131 !important;
}

.contact-form form input,
.contact-form form select,
.contact-form form textarea {
	background-color: #f9f4ef;
}

.custom-section div.two-column-layout__column-left,
.custom-section div.special-column-layout__column-left {
	width: 25%;
}

.custom-section div.two-column-layout__column-right,
.custom-section div.special-column-layout__column-right {
	width: 75%;
}

.custom-section div.two-column-layout__column-left div.text-module h2,
.custom-section div.special-column-layout__column-left div.text-module h2 {
	font-size: 1rem !important;
}

.custom-section.banner div.two-column-layout__column-right div.text-module p {
	font-size: 2rem !important;
	font-weight: bold;
	line-height: 1.4em !important;
}

@media only screen and (max-width: 980px) {
	.custom-section.banner .two-column-layout__row {
		gap: 3em;
	}
}

.custom-section.contact-info .grid-horizontal .grid-module__cards__card-container.type-one .grid-module__cards__card-image {
	width: 10%;
}

.custom-section.contact-info .grid-horizontal .grid-module__cards__card-container.type-one .grid-module__cards__card-image img,
.custom-section.contact-info .grid-horizontal .grid-module__cards__card-container.type-one .grid-module__cards__card-image svg {
	color: #fff;
    height: auto;
    width: 2rem;
}

.custom-section.contact-info .grid-horizontal .grid-module__cards__card-container.type-one .grid-module__cards__card-content__container {
	width: 90%;
}

.custom-section.contact-info .grid-horizontal .grid-module__cards__card-container.type-one .grid-module__cards__card-content__container h3 {
	font-family: 'SecondaryFont', serif;
	font-size: 1.5rem;
}

@media only screen and (max-width: 980px) {
	.custom-section div.two-column-layout__column-left,
	.custom-section div.two-column-layout__column-right,
	.custom-section div.special-column-layout__column-left,
	.custom-section div.special-column-layout__column-right {
		width: 100%;
	}
}

@media only screen and (max-width: 640px) {
	.breaker-image {
		height: 18rem !important;
		background-position: left center !important;
	}
}

.form-violator {
	justify-content: center;
}

.form-violator .form-check {
	margin-bottom: unset;
	padding-left: unset;
}

.form-violator span.wpcf7-list-item-label {
	margin-top: 0.25em;
	position: unset;
	text-align: unset;
}

.form-violator span.wpcf7-list-item label {
	display: flex;
	font-weight: normal;
    gap: 1em;
}

.pdf-menus .grid-module__cards {
	min-height: 23rem;
}

.pdf-menus .grid-module__cards__card-overlay {
	background: transparent;
}

.pdf-menus .grid-module__cards__card {
	box-shadow: 0 0 24px rgba(0,0,0,0.10);
	overflow: hidden;
    border-radius: 8px;
}

.pdf-menus .grid-module__cards__card.type-two h3 {
	color: #404040;
}

@media only screen and (max-width: 640px) {
	.pdf-menus .grid-module__cards img.type-two.pdf-thumb__img {
		object-fit: cover;
    	object-position: 0 35%;
	}
}

.subscription .form-column__left {
    align-items: center;
	width: 35%;
	display: flex;
	margin-right: 0 !important;
}

.subscription .form-column__left h2 {
	font-size: 1.6rem;
	margin-bottom: 0 !important;
}

.subscription .form-column__right {
    gap: 1em;
    align-items: center;
	width: 65%;
	display: flex;
}

.subscription .wpcf7-not-valid-tip {
	color: rgba(255,255,255, 0.75) !important;
	font-size: 0.7rem !important;
    top: -1.5rem;
}

.subscription-wrapper .wpcf7-response-output,
.subscription-wrapper form.sent .wpcf7-response-output {
    bottom: -1.5rem !important;
	color: rgba(255,255,255, 0.75) !important;
}

@media only screen and (max-width: 980px) {
	.subscription .wpcf7-not-valid-tip,
	.subscription-wrapper .wpcf7-response-output,
	.subscription-wrapper form.sent .wpcf7-response-output {
		position: unset !important;
	}
}

/* custom utility classes styles end here */



/* homepage styles start here */

.homepage-section.carousel div.text-module.carousel-texts {
	padding: 0 2.22em;
	position: absolute;
	top: 50%;
	left: 50%;
    transform: translate(-50%,-50%);
	width: 100%;
}

.homepage-section.carousel div.text-module.carousel-texts h2 {
	font-size: 2.5rem;
	margin-bottom: 0.65em;
}

.homepage-section.carousel div.text-module.carousel-texts h2::after {
	border-top: 0;
}

.homepage-section.carousel div.text-module.carousel-texts p {
	max-width: 750px;
}

.homepage-section__menu-cards .two-column-layout__column-wrapper .background-overlay {
	transition: 200ms all ease-out;
}

.homepage-section__menu-cards .two-column-layout__column-wrapper:hover .background-overlay {
	background-color: var(--accent) !important;
	opacity: 85% !important;
}

.homepage-section__menu-cards .two-column-layout__column-wrapper h2 {
	transition: 400ms all ease-out;
}

.homepage-section__menu-cards .two-column-layout__column-wrapper h2::after {
	border-top: 0;
} 

.homepage-section__menu-cards .two-column-layout__column-wrapper:hover h2 {
	transform: translateY(-16px);
}

@media only screen and (max-width: 980px) {
	.homepage-section__menu-cards .two-column-layout__row {
		gap: 0;
	}
}

.homepage-section__features h2::after {
	left: unset;
	right: 0;
}

.homepage-section__features .grid-module__cards__card .background-overlay {
	transition: 200ms all ease-out;
}

.homepage-section__features .grid-module__cards__card:hover .background-overlay {
	background-color: var(--accent) !important;
	opacity: 70% !important;
}

.homepage-section__features div.grid-module article {
	height: 24rem !important;
	overflow: hidden;
    border-radius: 8px;
}

.homepage-section__features div.grid-module article:first-child {
	grid-column-start: 2;
}

.homepage-section__features div.grid-module article header > h3 {
	font-family: 'SecondaryFont', serif;
	font-size: 1.75rem;
    line-height: 1.15em;
}

@media only screen and (max-width: 1024px) {
	.homepage-section__features div.grid-module__cards {
		grid-template-columns: repeat(2,1fr) !important;
	}

	.homepage-section__features div.grid-module article:first-child {
		grid-column-start: unset !important;
	}
}

@media only screen and (max-width: 640px) {
	.homepage-section__features div.grid-module__cards {
		grid-template-columns: repeat(1,1fr) !important;
	}

	.homepage-section__features div.grid-module article {
		height: unset !important;
		min-height: 14rem;
	}
}

.homepage-section.cooking-school h2.section-heading::after {
	left: 50%;
	transform: translateX(-50%);
}

/* homepage styles end here */



.section__google-map div.one-column-layout__wrapper {
	height: 100%;
}

.contact-us-section__form div.contact-us__form input, 
.contact-us-section__form div.contact-us__form textarea {
	width: 100%;
	margin-bottom: 1.6em;
	padding:1.6em;
	border-radius: 0.8em;
	border: 0;
	background: #f7f0eb;
}

.contact-us-section__form div.contact-us__form textarea {
	margin-bottom: 0;
}

.contact-us-section__form div.contact-us__form div.colgroup {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.contact-us-section__form h2.section-heading::after {
	left: 50%;
    transform: translateX(-50%);
}

.contact-us-section__form div.contact-us__form p {
	display: flex;
    flex-flow: column nowrap;
    align-items: center;
}

.contact-us-section__form div.contact-us__form p span {
	width: 100%;
}

.contact-us-section__form span.textarea-474 {
	width: 100%;
}

.contact-us-section__form div.contact-us__form input {
	height: 4rem;
}

.contact-us-section__form div.contact-us__form input[type=checkbox] {
	width: unset;
	height: unset;
}

.contact-us-section__form div.contact-us__form input[type=submit] {
	background: #e2c6b0;
	border-radius: 4px;
	border: 1px solid #e2c6b0;
	color: #db6c52;
	cursor: pointer;
	display: inline-block;
	font-size: 0.8rem;
	font-weight: bold;
	padding: 1em 3em;
	width: unset;
	max-width: 200px;
	height: unset;
	transition: 200ms all ease-out;
}

.cooking-shool__landing-page {
	height: 100vh;
}

.cooking-shool__landing-page h2 {
	font-size: 3rem;
	margin-bottom: 0;
	text-shadow: 0 0 16px rgba(0,0,0,0.2);
}

.cooking-shool__landing-page h2::after {
	border-top: 0;
}

.page-content__search-item h2::after {
	content: unset;
} 

.page-404__right-content__container h4 {
	color: #db6c52;
	margin-bottom: 0.8em;
}

.page-404__right-content__container p {
	color: #919090;
}

.single__content-text,
.single__content-text p {
	color: #919090;
}

.single__content-text h3, 
.single__content-text h4 {
	color: #a97350 !important;
}

.single__content-text h2::after {
	content: unset
}

.single__content-text div.image--item {
	width: 100%;
}

.single__content-text div.content-type--text p:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 980px) {
	.wpcf7-form div.subscription-heading,
	.wpcf7-form div.subscription-form {
		padding-bottom: unset;
	}

	.subscription .form-column__left {
		width: 100%;
	}
	
	.subscription .form-column__right {
		width: 100%;
	}
}

@media only screen and (max-width: 980px) {
	.wpcf7-form div.subscription-form {
		flex-flow: row wrap;
	}
}

.coming-soon__content h2 {
	font-size: 3.6rem;
	margin-bottom: 0.5em;
}

.coming-soon__content h2::after {
	content: unset;
}

.coming-soon__content p {
	font-size: 1.2rem;
}

.reservations-booking h2 {
	color: #fff;
}

.reservations-booking h2::after {
	left: 50%;
	transform: translatex(-50%);
}

.reservations-booking .wpcf7-form label,
.reservations-booking span.wpcf7-list-item-label {
	color: #fff;
	font-weight: normal;
}

.gallery-page__photo-credit p {
	font-size: 0.7rem;
}


@media only screen and (max-width: 1024px) {
	.features__section__articles .grid-module div.grid-module__cards {
		grid-template-columns: 1fr 1fr;
	}
}

@media only screen and (max-width: 980px) {
	.homepage-about div.text-module__wrapper {
		margin-right: 0 !important;
	}
	
	.blog-post__grid div.grid-module__cards {
		grid-template-columns: repeat(2,1fr);
	}
}

@media only screen and (max-width: 768px) {
	.gallery-section.gallery-imgs {
		padding: 0 !important; 
	}
}

@media only screen and (max-width: 640px) {
	.homepage-section__features div.grid-module__cards {
		grid-template-columns: 1fr;
	}
	
	.private-dining__section__products div.woocommerce ul.products {
		flex-flow: row wrap;
	}
	
	.contact-us-section__form div.contact-us__form div.colgroup {
		grid-template-columns: 1fr;
		gap: 0;
	}
	
	.homepage-section__menu-cards,
	.homepage-section__menu div.menu-list-module__wrapper {
		padding-bottom: 0 !important;
	}
	
	.private-dining__section__products,
	.private-dining__section__products div.menu-list-module__wrapper {
		padding-top: 0 !important;
	}	
	
	.private-dining__section__products .grid-module div.grid-module__cards {
		grid-template-columns: 1fr;
	}
	
	.private-dining__section__products .grid-module article.grid-module__cards__card {
		height: 16rem;
	}
	
	.features__section__articles .grid-module div.grid-module__cards {
		grid-template-columns: 1fr;
	}
	
	.features__section__articles .grid-module article.grid-module__cards__card {
		height: 20rem;
	}
	
	.blog-post__grid div.grid-module__cards {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 425px) {
	.footer-contact__reservation {
		grid-template-columns: 1fr;
	}
	
	.private-dining__section__products .grid-module article.grid-module__cards__card {
		height: 10rem;
		padding: 2em;
	}
	
	.private-dining__section__products .grid-module article.grid-module__cards__card h3 {
		margin-bottom: 0;
	}
	
	.features__section__articles .grid-module article.grid-module__cards__card {
		height: unset;
	}
	
	.features__section__articles .grid-module header.grid-module__cards__card-content {
		padding-top: 2em;
	}
}



/* woocommerce styles */

.woocommerce-content h1.woocommerce-products-header__title {
	color: #c9926d;
	margin-bottom: 0.8em;
}

.woocommerce-content h1.woocommerce-products-header__title::after {
	content: "";
	position: absolute;
	bottom: -16px;
	left: 0;
	width: 48px;
	border-top: 4px solid #db6c52;
}

.woocommerce-content div.page-description p {
	color: #979594;
}

.woocommerce-content.woocommerce-content__shop,
.woocommerce-content.woocommerce-content__single-product {
	padding-bottom: 6em;
	padding-top: 6em;
}

.woocommerce-content div.products-container ul li a h2 {
	font-size: 1rem;
	color: #c9926d;
	text-transform: uppercase;
}

.woocommerce-content div.products-container ul li a h2::after {
	border-top: 0;
}

.woocommerce-content div.products-container ul li a p {
	color: #979594;
}

.woocommerce-content div.products-container ul li a span.price {
	color: #db6c52;
    margin-top: 2.8em;
    font-weight: bold;
    text-decoration: underline;
}

.woocommerce-content div.products-container ul li a.add_to_cart_button,
.woocommerce-content div.products-container ul li a.product_type_simple {
	background: #e2c6b0;
	border-color: #e2c6b0;
	color: #db6c52;
	margin-top: 2.5em;
}

.woocommerce-content div.products-container ul li a.add_to_cart_button:hover,
.woocommerce-content div.products-container ul li a.product_type_simple:hover {
	background: transparent;
	border-color: #db6c52;
	color: #db6c52;
}

.woocommerce-content div.products-container ul li a.added_to_cart {
	color: #e2c6b0;
	font-size: 0.9rem;
    margin-top: 0.44em;
}

.woocommerce-content__single-product div.summary div.woocommerce-product-details__short-description p {
	color: #979594;
}

.woocommerce-content__single-product div.summary p.price {
	color: #db6c52;
	font-weight: bold;
}

.woocommerce-content__single-product div.summary form.cart {
	flex-flow: row wrap;
}

.woocommerce-content__single-product div.wc-deposits-wrapper {
	width: 100%;
}

.woocommerce-content__single-product div.wc-deposits-wrapper ul li label {
	color: #979594;
	font-size: 0.9rem;
}


.woocommerce-content__single-product div.quantity {
	width: 15%;
}

.woocommerce-content__single-product div.quantity.hidden {
	width: unset;
}

.woocommerce-content__single-product div.summary form.cart button[type="submit"] {
	background: #e2c6b0;
	border-color: #e2c6b0;
	color: #db6c52;
	width: 30%;
}

.woocommerce-content__single-product div.summary form.cart button[type="submit"]:hover {
	background: transparent;
	border-color: #db6c52;
	color: #db6c52;
}

.woocommerce-content__single-product div.product_meta {
	display: flex;
    flex-flow: column nowrap;
}

.woocommerce-content__single-product div.product_meta a {
	color: #e2c6b0 !important;
}

.woocommerce-content__single-product section.related h2::after {
	content: unset;
}

.woocommerce-content__cart table.woocommerce-cart-form__contents thead tr th {
	color: #db6c52;
}

.woocommerce-content__cart table.woocommerce-cart-form__contents tbody tr td {
	color: #979594;
}

.woocommerce-content__cart table.woocommerce-cart-form__contents tbody tr td.product-name a {
	color: #e2c6b0;
}


.woocommerce-content__cart div.cart-collaterals h2::after {
	content: unset;
}

.woocommerce-content__cart div.cart-collaterals table.shop_table tr th {
	color: #979594;
}

.woocommerce-content__cart div.cart-collaterals table.shop_table tr.cart-subtotal span.woocommerce-Price-amount {
	color: #979594;
}

.woocommerce-content__cart div.cart-collaterals table.shop_table tr.order-total span.woocommerce-Price-amount {
	color: #db6c52;
	font-size: 1.2rem;
}

.woocommerce-content__cart div.cart-collaterals div.wc-proceed-to-checkout a.checkout-button {
	background: #e2c6b0;
	border-color: #e2c6b0;
	color: #db6c52;
}


.woocommerce-content__cart div.cart-collaterals div.wc-proceed-to-checkout a.checkout-button:hover {
	background: transparent;
	border-color: #db6c52;
	color: #db6c52;
}

.woocommerce-content__cart-empty a.wc-backward {
	background: #e2c6b0 !important;
	border-color: #e2c6b0 !important;
	color: #db6c52 !important;
}

.woocommerce-content__cart-empty a.wc-backward:hover {
	background: transparent !important;
	border-color: #db6c52 !important;
	color: #db6c52 !important;
}

.woocommerce-content__checkout a.showcoupon {
	color: #e2c6b0;
}

.woocommerce-content__checkout div#customer_details label {
	color: #979594;
}

.woocommerce-content__checkout div#order_review table.shop_table thead tr th {
	color: #db6c52;
}

.woocommerce-content__checkout div#order_review table.shop_table tbody tr td {
	color: #979594;
}

.woocommerce-content__checkout div#order_review table.shop_table tfoot tr {
	color: #979594;
}

.woocommerce-content__checkout div#order_review table.shop_table tfoot tr.order-total span.woocommerce-Price-amount {
	color: #db6c52;
	font-size: 1.2rem;
}

.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment button[type="submit"] {
	background: #e2c6b0 !important;
	border-color: #e2c6b0 !important;
	color: #db6c52 !important;
}

.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment {
	background: #f5f5f5;
}

.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment label,
.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment p {
	color: #979594;
	font-size: 0.9rem;
}

.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment p a {
	color: #e2c6b0;
}

.woocommerce-content__checkout div#order_review div.woocommerce-checkout-payment button[type="submit"]:hover {
	background: transparent !important;
	border-color: #db6c52 !important;
	color: #db6c52 !important;
}

.woocommerce-content__checkout-thankyou p.woocommerce-notice {
	color: #979594;
	font-size: 0.9rem;
}

.woocommerce-content__checkout-thankyou ul.woocommerce-order-overview li {
	color: #979594;
}

.woocommerce-content__checkout-thankyou ul.woocommerce-order-overview li strong {
	color: #db6c52;
}

.woocommerce-content__checkout-thankyou table.woocommerce-table thead tr th {
	color: #db6c52;
}

.woocommerce-content__checkout-thankyou table.woocommerce-table tbody td {
	color: #979594;
	font-size: 0.9rem;
}

.woocommerce-content__checkout-thankyou table.woocommerce-table tbody td a {
	color: #e2c6b0;
}

.woocommerce-content__checkout-thankyou table.woocommerce-table tfoot tr th {
	color: #db6c52;
}

.woocommerce-content__checkout-thankyou table.woocommerce-table tfoot tr td {
	color: #979594;
}

.woocommerce-content__checkout-thankyou section.woocommerce-customer-details address {
	color: #979594;
	font-size: 0.9rem;
}

.woocommerce-content__checkout div.ppc-button-wrapper {
	text-align: right;
	padding-top: 1.2em;
}


@media only screen and (max-width: 640px) {
	.woocommerce-content__single-product div.summary form.cart button[type="submit"] {
		width: 65%;
	}
}