/*
Theme Name: Cristiano
Theme URI: http://cristiano.ukrdevs.com
Author: UkrDevs
Author URI: https://themeforest.net/user/ukrdevs
Description: Premium WordPress theme for Restaurant business with online ordering functionality.
Version: 4.1.6
Tested up to: 5.5
Requires PHP: 7.0
License: GPL 2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: translation-ready, threaded-comments, theme-options, sticky-post, featured-images, custom-menu, custom-colors, custom-background
Text Domain: cristiano
*/
* { margin: 0; padding: 0; box-sizing: border-box }
html { 
	scroll-behavior: smooth;
	scroll-padding-top: var(--scroll-padding, 150px);
	height: 100%;	
}
/*  B A S I C   S T Y L E S
	----------------------------------------------------------------------------- */
body {
	--font-head: var(--wp--preset--font-family--head);
	--font-text: var(--wp--preset--font-family--base);
	--font-deco: var(--wp--preset--font-family--deco);

	--clr-main-bg: var( --wp--preset--color--content-base, #ffffff  );
	--clr-main-tx: var( --wp--preset--color--content-contrast, #1b2024 );
	--clr-main-ac: var( --wp--preset--color--content-accent, #d1a054 );

	--clr-contrast-bg: var( --wp--preset--color--contrast-bg, #1b2024 );
	--clr-contrast-tx: var( --wp--preset--color--contrast-tx, #ffffff );

	--clr-error: #cc6666;

	--mask-to-left: linear-gradient(90deg, transparent, white);
	--mask-to-right: linear-gradient(90deg, white, transparent);
	--mask-to-center: linear-gradient(90deg, transparent, white, transparent);
	--mask-to-center-short: linear-gradient(90deg, transparent, white 5%, white 95%, transparent);
	--mask-center-vr: linear-gradient(0deg,  transparent, white, transparent);

	--topbar-height: 40px;
	--header-height: 90px;
	
	--rem-3: clamp(1rem, -0.43rem + 7vw, 3rem);
	--rem-4: clamp(1rem, -1.14rem + 10vw, 4rem);
	--rem-7-15: clamp(7rem, 1.3rem + 28vw, 15rem);

	--radius-shape: 63% 37% 30% 70% / 50% 45% 55% 50%;

	font: 300 16px/1.5 var(--font-text);
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
	font-size: clamp(14px, .8111rem + 0.2222vw, 16px);
	background: var(--clr-main-bg);
	color: var(--clr-main-tx);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: opacity 500ms;

}
body.light-mode {
	--mode: -;
}
body.dark-mode {
	--mode: +;
}

body:not(.elementor-page) .container :not(.has-sidebar) main > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignself)) {
	/*max-width: var(--wp--style--global--content-size);*/
	max-width: var(--content-width, 1288px);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, -3.375rem + 14vw, 1.875rem);
	padding-right: clamp(1rem, -3.375rem + 14vw, 1.875rem);
	box-sizing: content-box;
}
/*
body:not(.elementor-page):not(.single-post):not(.single-product) .container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .alignwide:not(.woocommerce) {
	margin-left: -110px;
	margin-right: -110px;
}
*/


/*	Gutenberg Layout : S T A R T
	----------------------------------------------------------------------------- */ 
	body:not(.elementor-page) .is-layout-flow > *,
	body:not(.elementor-page) .is-layout-constrained > * {
		margin-top: 1.5rem;
	}
	body:not(.elementor-page) .is-layout-flow > :first-child,
	body:not(.elementor-page) .is-layout-constrained > :first-child {
		margin-block-start: 0;
	}
	.wp-block-columns.is-layout-flex {
		gap: 1em;
	}
	/*	E N D : Gutenberg Layout
		----------------------------------------------------------------------------- */ 

/*  Layout
	----------------------------------------------------------------------------- */
.e-con>.e-con-inner {
	display: var(--display, flex);
}
.mobile {
	display: none;
}
.e-con	{
    --padding-top: var(--container-default-padding-top, 0);
    --padding-right: var(--container-default-padding-right, 0);
    --padding-bottom: var(--container-default-padding-bottom, 5rem);
    --padding-left: var(--container-default-padding-left, 0);
	--gap: var(--widgets-spacing, 2.5rem);
}
@media (max-width: 640px) {
	.e-con {
		--padding-bottom: calc(var(--container-default-padding-bottom, 5rem) / 1.5);
		--gap: calc(var(--widgets-spacing, 2.5rem) / 1.25);
		
	}
	
}
.e-con-boxed {
	padding-left: clamp(1rem, -3.375rem + 14vw, 1.875rem);
	padding-right: clamp(1rem, -3.375rem + 14vw, 1.875rem);
}	
.alignfull .wrap {
	max-width: calc(1288px + 60px);
	margin: 0 auto;
	padding: 0 clamp(1rem, -3.375rem + 14vw, 1.875rem)
}	
.alignfull .wrap-overflow {
	max-width: 1288px;
	margin: 0 auto;
}
.has-sidebar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4rem;
	max-width: var(--content-width, 1288px);
	margin: 0 auto;
	box-sizing: content-box;
	padding-left: clamp(1rem, -3.375rem + 14vw, 1.875rem);
	padding-right: clamp(1rem, -3.375rem + 14vw, 1.875rem);
}
.has-sidebar main {
	width: 640px;
	flex-grow: 1;
	margin: 0 auto;
}
.has-sidebar aside {
	max-width: 367px;
	width: 270px;
	flex-grow: 1;
	margin-top: 45px;
}
.elementor-widget-container .alignwide {
	margin-left: -110px;
	margin-right: -110px;
}
.alignwide,
.alignfull > .alignwide {
	max-width: 1508px;
	margin-left: auto;
	margin-right: auto;
}
.elementor .e-parent:last-child .e-con-inner:has(#map) {
	padding-bottom: 0;
}
.type-product .alignfull,
.vc_column-inner .alignfull,
.elementor-widget-container .alignfull {
	margin-left: calc( -100vw / 2 + 100% / 2 );
	margin-right: calc( -100vw / 2 + 100% / 2 );
	max-width: 100vw;
	overflow-x: hidden;
}
.alignfull-padding {
	padding-left: clamp(1rem, -3.375rem + 14vw, 1.875rem);
	padding-right: clamp(1rem, -3.375rem + 14vw, 1.875rem);
}
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0;
}
.cover {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	z-index: -1;
}
.cover.parallax {
	height: 100vh;
	top: initial
}

@media screen and (max-width: 1440px) {
	body:not(.elementor-page) .container :not(.has-sidebar) main > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignself)) {
		max-width: 1170px;
	}
	.e-con>.e-con-inner {
		max-width: 1170px;
	}
	.elementor-widget-container .alignwide {
		margin-left: -32px;
		margin-right: -32px;
	}
	
}
@media screen and (max-width: 420px) {
	body {
		--header-height: 75px;
	}
}

/*  Font Icons : S T A R T
	----------------------------------------------------------------------------- */
@font-face {
	font-family: 'Icons';
	src: url('assets/fonts/icons/icons.eot');
	src: url('assets/fonts/icons/icons.woff2') format('woff2'),
		 url('assets/fonts/icons/icons.woff') format('woff'),
		 url('assets/fonts/icons/icons.ttf') format('truetype'),
		 url('assets/fonts/icons/icons.svg#gurman') format('svg');
	font-weight: normal;
	font-style: normal;
}
[class^="icon-"]:before, 
[class*=" icon-"]:before {
	font-family: 'Icons';
	font-style: normal;
	font-weight: normal;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
[class^="mobile-"], 
[class*=" mobile-"] {
	display: none;
}
.icon-heart:before { content: '\e800'; } /* '' */
.icon-heart-empty:before { content: '\e801'; } /* '' */
.icon-star:before { content: '\e802'; } /* '' */
.icon-star-empty:before { content: '\e803'; } /* '' */
.icon-basket:before { content: '\e804'; } /* '' */
.icon-user:before { content: '\e805'; } /* '' */
.icon-search:before { content: '\e806'; } /* '' */
.icon-reply:before { content: '\e807'; } /* '' */
.icon-pencil:before { content: '\e808'; } /* '' */
.icon-location:before { content: '\e809'; } /* '' */
.icon-phone:before { content: '\e80b'; } /* '' */
.icon-comment:before { content: '\e80c'; } /* '' */
.icon-attention:before { content: '\e80e'; } /* '' */
.icon-twitter:before { content: '\e80f'; } /* '' */
.icon-ok:before { content: '\e810'; } /* '' */
.icon-cancel:before { content: '\e811'; } /* '' */
.icon-clock:before { content: '\e813'; } /* '' */
.icon-tag:before { content: '\e814'; } /* '' */
.icon-spin:before { content: '\e834'; } /* '' */
.icon-trash:before { content: '\e83d'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-money:before { content: '\f0d6'; } /* '' */
.icon-mail-alt:before { content: '\f0e0'; } /* '' */
.icon-linkedin:before { content: '\f0e1'; } /* '' */
.icon-angle-left:before { content: '\f104'; } /* '' */
.icon-angle-right:before { content: '\f105'; } /* '' */
.icon-angle-up:before { content: '\f106'; } /* '' */
.icon-angle-down:before { content: '\f107'; } /* '' */
.icon-quote-left:before { content: '\f10d'; } /* '' */
.icon-youtube-play:before { content: '\f16a'; } /* '' */
.icon-instagram:before { content: '\f16d'; } /* '' */
.icon-spoon:before { content: '\f1b1'; } /* '' */
.icon-yelp:before { content: '\f1e9'; } /* '' */
.icon-cart-plus:before { content: '\f217'; } /* '' */
.icon-pinterest:before { content: '\f231'; } /* '' */
.icon-tripadvisor:before { content: '\f262'; } /* '' */
.icon-calendar-check-o:before { content: '\f274'; } /* '' */
.icon-user-o:before { content: '\f2c0'; } /* '' */

/*  E N D : Font Icons
	----------------------------------------------------------------------------- */

/*  Typography : S T A R T
	----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-head);
	font-weight: 400;
	margin-top: 1.5em;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0
}
h3 {
    font-size: var(--wp--preset--font-size--large);
}
ul[class] {
	list-style: none;
}
ul:not([class]),
ol:not([class]) {
	padding-inline-start: 1.5em;
}
a {
	color: inherit;
}
.title-link a {
	color: inherit;
	transition: all 250ms;
}
.title-link a:hover {
	color: var(--clr-main-ac);
}
p {
	margin-top: 1.5em;
}
main p a {
	color: var(--clr-main-ac);
	text-decoration: underline;
}
strong {
	font-weight: 500;
}
img {
	vertical-align: top;
    max-width: 100%;
	height: auto;
}
ins {
	text-decoration: none;
}
hr {
	height: 0;
	border-bottom: 1px solid;
}
mark {
	background: none;
	font-weight: 400;
}
address {
	font-style: normal;
	line-height: 1.75;
}
figcaption {
	font-style: italic;
}
pre {
	white-space: break-spaces;
}
blockquote {
	padding: 2em;
	border-left: 2px solid var(--clr-main-ac);
}
blockquote p:first-child {
	margin-block-start: 0;
}
dl dt {
	font-weight: 400;
}
dl dd {
	margin-left: 2em;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	font-size: .875rem;
}
table th {
	text-align: left;
	text-transform: uppercase;
	font-weight: 500;
	padding: 12px 0;
}
table tbody td {
	padding: 12px 0;
}
table strong {
	font-weight: 400;
}

iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
form p {
	position: relative;
	margin-top: 2rem;
}
form p label {
	font-size: 75%;
	transition: all 300ms ease;
	position: absolute;
	top: 14px;
	left: 0;
	cursor: initial;
	color: inherit;
	opacity: 0.95;
	text-transform: uppercase;
	z-index: 1;
	letter-spacing: 1.2px;
	overflow: visible;
}
/* woo forms compability fix */
form p label + br {
	display: none;
}
form p label:has(input),
form p label:has(textarea) {
	position: static;
}
form p label.outside, 
form p.focus label {
	transform: translateY(-1.625rem);
	opacity: 0.85;
	left: 0;
}
form p.focus label:has(input), 
form p.focus label:has(textarea) {
	transform: none;
}
fieldset {
	border: 1px dashed rgba(127,127,127,0.5);
	padding: 0 32px 56px 32px;
	margin-top: 48px;
	position: relative;
	border-radius: 12px;
}
fieldset legend {
	font-family: var(--font-head);
	position: absolute;
	top: -16px;
	left: 16px;
	background: var(--clr-main-bg);
	border: 1px solid rgba(127,127,127,0.5);
	padding: 4px 16px;
	border-radius: 16px;
	font-size: 14px;
}
input, textara {
	background: none;
	border-radius: 0;
	color: inherit;
}
label {
	display: block;
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
	transition: background-color 5000s ease-in-out 0s;
}
input:-webkit-autofill {
	-webkit-text-fill-color: transparent;
}
input::placeholder,
textarea::placeholder {
	opacity: 0;
	font-size: .75rem;
}
input:focus::placeholder,
textarea:focus::placeholder {
	opacity: 1;
}
input[type=tel],
input[type=text],
input[type=email],
input[type=password] {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	height: 2.75rem;
	width: 100%;
	background: none;
	border: 0 none;
	border-bottom: 1px solid rgba(127,127,127,0.6);
}

input[type='number']::-webkit-inner-spin-button, 
input[type='number']::-webkit-outer-spin-button { 
	appearance: none;
}
select {
	width: calc(100% + 16px);
	margin-left: -16px;
	padding: 0 32px 0 16px;
	border-radius: 0;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	border: 0 none;
	background: none;
	border-bottom: 1px solid rgba(127,127,127,0.5);
	border-image: linear-gradient(to right, rgba(127,127,127,0.5) 16px, rgba(127,127,127,0.5) 16px); 
	border-image-slice: 1; border-image-width: 1.5;
	display: block;
	height: 44px;
	background: url(assets/images/select.svg);
	background-size: contain;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: 15px;
	-webkit-appearance: none;
	appearance: none;
}

select option {
	padding: 0 10px;
	color: var(--clr-main-tx);
}
textarea {
	font-size: inherit;
	font-weight: inherit;
	font-family: inherit;
	width: 100%;
	background: none;
	border: 0 none;
	border-bottom: 1px solid rgba(127,127,127,0.6);
	height: 44px;
	padding: 12px 0;
	min-height: 45px;
	overflow: hidden;
	resize: none;
	color: inherit;
}
label textarea,
label input[type=tel],
label input[type=text],
label input[type=email],
label input[type=password] {
	padding-left: 16px;
	padding-right: 16px;
	border-radius: 8px;
	border: 1px solid rgba(127,127,127,0.5);
}
label textarea {
	height: 132px;
}
label .wpcf7-form-control-wrap {
	position: static;
}
label .wpcf7-not-valid-tip {
	position: absolute;
    bottom: -16px;
    left: 0;
    text-transform: none;
    font-size: 10px;
	letter-spacing: .2992px;
}
input[type=submit] {
	appearance:none;  
	font-family: var(--font-head);
	font-weight: inherit;
	line-height: 1;
	letter-spacing: 1.2px;
	padding: 1.25em 2em;
	background: var(--clr-contrast-bg);
	color: var(--clr-contrast-tx);
	border-radius: 30px;
	cursor: pointer;
	border: 1px solid var(--clr-contrast-bg);
	font-size: .875rem;
	-webkit-font-smoothing: subpixel-antialiased;
	transition: all 250ms;
	
}
input[type=submit]:hover {
	color: var(--clr-main-tx);
	background: none;
	transform: translateY(-3px);
	box-shadow: 0 0 6px rgba(0,0,0,0.15);
}
.contrast-colors input[type=submit] {
	background: none;
	border-color: rgba(127,127,127,0.5);
}
.contrast-colors input[type=submit]:hover {
	background: var(--clr-main-bg);
}
button {
	color: inherit;
	border: 0 none;
	font-weight: inherit;
	font-family: inherit;
	cursor: pointer;
	background: none;
}
form button {
	font-family: var(--font-head);
	font-weight: inherit;
	line-height: 1;
	letter-spacing: 1.2px;
	padding: 1.25em 2em;
	transition: all 250ms;
	color: var(--clr-contrast-tx);
	border-radius: 30px;
	cursor: pointer;
	position: relative;
	background: var(--clr-contrast-bg);
	border: 1px none var(--clr-contrast-bg);
	-webkit-font-smoothing: subpixel-antialiased;
}
form button:hover {
	color: var(--clr-main-tx);
	background: none;
}
.contrast-colors form button {
	background: none;
	border-color: rgba(127,127,127,0.5);
}
.contrast-colors form button:hover {
	background: var(--clr-main-bg);
}

:focus {
	outline: none;
}
input.error,
input[type].wpcf7-not-valid {
	border-color: red;
}

form .cols-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 2rem;
}
@media ( max-width: 480px ) {
	form .cols-3 {
		grid-template-columns: 1fr;
		gap: 0
		
	}
}
.wpcf7-not-valid-tip {
	font-size: .75rem;
}
.wpcf7-spinner {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.wpcf7 form .wpcf7-response-output {
	padding: .75em 2em;
	margin: 3em 0;
	text-align: center;
	border-left: 0;
	border-right: 0;
	border-width: 1px;
}
.wpcf7 form.invalid .wpcf7-response-output {
	color: white;
	position: relative;
}
.wpcf7 form.invalid .wpcf7-response-output:after {
	content: "";
	position: absolute;
	inset: 0;
	border-color: var(--clr-error);
	background: var(--clr-error);
	z-index: -1;
	mask: var(--mask-to-center);
	border-radius: 20px;
}


.is-style-wide {
	mask: var(--mask-to-center-short);
}
.align-center {
	text-align: center;
}
.align-left {
	text-align: left;
}
.align-right {
	text-align: right;
}
.align-center button {
	margin-top: 2rem;
}
.deprecated-section {
	margin: 5rem 0 2.5rem;
}
.page-nav {
	display: flex;
	gap: 2rem;
	justify-content: center;
	padding: 2rem 0;
	text-transform: uppercase;
	font-family: var(--font-head);
	margin-bottom: 4rem;
	position: relative;
	font-size: 14px;
	position: sticky;
	top: 100px;
}
.page-nav:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(127, 127, 127, 0.05);
	border: 1px solid #00000030;
	mask: var(--mask-to-center);
}
.page-nav a {
	color: inherit;
}


.btn-underline {
	padding: 0rem;
	line-height: 34px;
	display: inline-block;
	text-decoration: none;
	font-weight: 400;
	font-family: var(--font-head);
	position: relative;
	font-size: 14px;
	letter-spacing: .6px;
	transition: all 125ms;
	align-self: end;
	color: inherit;
	text-transform: uppercase;
	line-height: 2rem;
	margin-top: 2em;
}
.btn-underline:after {
	content: '';
	position: absolute;
	inset: 0 -1.5rem;
	background: #ffffff14;
	border-bottom: 1px solid var(--clr-main-ac);
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.btn-underline:hover,
.btn-underline:focus {
	color: var(--clr-main-ac);
}
.btn-underline:hover:after,
.btn-underline:focus:after {
	inset: 0 -32px;
}

main [class*="-edit-link"] {
	text-transform: uppercase;
	margin-left: 8px;
	opacity: .2;
	color: inherit;
	text-decoration: none;
	font-size: 0;
}
main [class*="-edit-link"]:before {
	content: '\e808';
	font-family: 'Icons';
	font-size: .875rem;
}
main [class*="-edit-link"]:hover,
main [class*="-edit-link"]:focus {
	opacity: 1;
}

/*  WP Blocks Styles
	----------------------------------------------------------------------------- */
.wp-block-quote {
	background: var(--clr-main-bg);
	padding: 32px;
	margin: 32px 0;
	border: 1px dashed rgba(127,127,127,0.5);
	border-left: 2px solid var(--clr-main-ac);
}
.wp-block-quote p:last-child {
	margin-bottom: 0;
}

.section-button {
	text-align: center;
	margin-top: 4.25rem;
 }
.overlay {
	visibility: hidden;
	transition: all 500ms;
	position: fixed;
	inset: 0;
	opacity: 0;
	z-index: 90;
}
.overlay:after {
	content: '';
	background: #000;
	opacity: .55;
	position: absolute;
	inset: 0;
}
.overlay-active .overlay {
	visibility: visible;
	opacity: 1;
}
.mobile-nav .overlay {
	visibility: visible;
	opacity: 1;
	-webkit-backdrop-filter: blur(60px);
	backdrop-filter: blur(60px);
	background: #00000094;
}

.herro-logo {
	max-height: 440px;
	width: auto;
}
.herro-logo:has(+.herro-heading) {
	margin-bottom: 1rem;
}
/*  Title Styles
	-------------------------------------------- */
.herro-heading.title-elegant  {
	display: flex;
	flex-direction: column-reverse;
}   
.herro-heading.title-elegant .title {
	position: relative;
	padding: 9px 16px;
}
.herro-heading.title-elegant .title:after {
	content: '';
	position: absolute;
	inset: 0 -6%;
	border-top: 1px solid;
	border-bottom: 1px solid;
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.herro-heading.title-elegant .subtitle {
	font-family: var(--font-head);
	color: var(--clr-main-ac);
	letter-spacing: 1px;
	margin-bottom: 9px;
	filter: brightness(1.2);
	font-size: clamp(0.825rem, -0.1635rem + 3.8462vw, 1.375rem);
	margin-top: 0;
}
.herro-heading.title-script .subtitle {
	font-family: var(--font-deco);
	color: var(--clr-main-ac);
	line-height: 1;
	margin-top: -20px;
	font-size: 60px;
}

/*  Platina Text Effect
	-------------------------------------------- */
.platina {
	background: radial-gradient(#fff, #878787);
	background-size: 100% 200%;
	background-position: 50% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/*  Button Block 
	-------------------------------------------- */
.btn-section {
	text-align: center;
}
.btn-section--small-ident {
	margin-top: 1.5rem;
}
.btn-section--large-ident {
	margin-top: 4.25rem;
}


/*  Buttons 
	-------------------------------------------- */
.btn-default {
	font-family: var(--font-head);
	font-weight: inherit;
	line-height: 1;
	letter-spacing: 1.2px;
	padding: 1.2em 2em;
	transition: all 250ms;
	color: var(--clr-main-bg);
	border-radius: 30px;
	cursor: pointer;
	position: relative;
	background: var(--clr-main-tx);
	border: none;
	font-size: .875rem;
	border: 1px solid transparent;
	display: inline-block;
	text-decoration: none;
}
.btn-default:hover,
.btn-default:focus {
	color: var(--clr-main-tx);
	background: var(--clr-main-bg);
	transform: translateY(-6px);
	box-shadow: 0 3px 9px rgba(0,0,0,0.25);
	border-color: hsl( from var(--clr-main-tx) h s l / 50%);
}
.btn-default:active {
	transform: translateY(-3px);
}
.btn-elegant {
	line-height: 44px;
	text-decoration: none;
	padding: 0 2rem;
	display: inline-block;
	color: inherit;
	letter-spacing: 1px;
	position: relative;
	font-family: var(--font-head);
	transition: all 375ms;
}
.btn-elegant:after {
	content: '';
	position: absolute;
	inset: 0;
	border-top: 1.5px solid var(--clr-main-ac);
	border-bottom: 1.5px solid var(--clr-main-ac);
	mask: linear-gradient( 90deg, transparent,white 40%,white 60%, transparent );
	transition: all 375ms;
}
.btn-elegant:hover,
.btn-elegant:focus {
	color: var(--clr-main-ac);
}
.btn-elegant:hover:after {
	left: -5%;
	right: -5%;
}
.btn-fullwidth {
	display: block;
}


/*  S I T E   H E A D E R
	----------------------------------------------------------------------------- */
.site-header {
	--clr-head-bg: var( --wp--preset--color--header-base, #1b2024 );
	--clr-head-tx: var( --wp--preset--color--header-contrast, #ffffff );
	--clr-head-ac: var( --wp--preset--color--header-accent, #d1a054 );
	--clr-head-tr-tx: var( --wp--preset--color--header-transparent-text, #ffffff );
	background: var(--clr-head-bg);
	transition: transform 500ms;
	z-index: 50;
	top: 0;
	color: var(--clr-head-tr-tx);
}
.site-header a {
	text-decoration: none;
}
.sticky-header .site-header {
	position: sticky;
	top: 0;
}
.transparent-header .site-header {
	position: absolute;
	width: 100%;
}
.transparent-header .site-header {
	background: none;
}
.sticky-header.transparent-header .site-header {
	position: fixed;
	width: 100%;
}

.admin-bar.sticky-header .site-header {
	top: 32px;
}


@media only screen and (max-width: 782px) {
	.dialog-body .site-header {
		top: 46px;
	}
}

/*  T O P   B A R
	------------------------------------------- */
.top-bar {
	--clr-top-bg: var( --wp--preset--color--topbar-base, #1b2024 );
	--clr-top-tx: var( --wp--preset--color--topbar-contrast, #ffffff );
	--clr-top-ac: var( --wp--preset--color--topbar-accent, #d1a054  );

	color: var(--clr-top-tx);
	background: var(--clr-top-bg);
	font-size: 14px;
	line-height: 1;
	letter-spacing: .2496px;
}
.top-bar .inner {
	display: flex;
	justify-content: space-between;
	height: var(--topbar-height);
	align-items: center;
	margin: 0 auto;
	padding: 0 32px;
	box-sizing: content-box;
}
.top-bar a {
	text-decoration: none;
}
.top-bar a:hover {
	opacity: .8;
}
.top-bar p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}
.top-bar p:before {
	font-size: 10px;
}
.top-bar .left {
	display: flex;
	gap: 30px;
}
.top-bar .right {
	display: flex;
	gap: 15px;
}
.top-bar .social {
	display: flex;
	align-items: center;
	margin-right: -10px;
}
.top-bar .social a {
	width: 32px;
	text-align: center;
	color: inherit;
}
.top-bar .social a:hover {
	color: var(--clr-top-ac);
}
.top-bar__open-close {
	font-size: .75rem;
	letter-spacing: .6px;
	text-transform: uppercase;
	padding-left: 10px;
}
.top-bar__menu {
	display: flex;
	gap: 1em;
	font-size: 12px;
}

/*  H E A D E R
	------------------------------------------- */
.site-header {
	position: relative;
}	
.header {
	transition: backdrop-filter 500ms;
}
.header .right {
	text-align: right;
}
.header .social  {
	display: inline-flex;
	align-items: center;
	justify-content: end;
	gap: 8px;
	font-size: 14px;
}
.header .social a {
	width: 30px;
	line-height: 30px;
	text-align: center;
	opacity: .85;
}
.header .social a:hover {
	color: var(--clr-head-ac);
	opacity: 1;
}
.header:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	transition: all 500ms;
}
.sticky .header:not(.hide-on-scroll) {
	color: var(--clr-head-tx);
	backdrop-filter: blur(2rem);
	box-shadow: 0 .1875rem .5625rem rgba(0,0,0,.15);
	transition: all 250ms;
}

.sticky .header:after {
	background: var(--clr-head-bg);
	opacity: .9;
}
.header svg > * {
	color: var(--clr-head-tr-tx);
}
.sticky .header svg > * {
	stroke: var(--clr-head-tx);
}
.sticky .header:after {
	background: var(--clr-head-bg);
	opacity: .9;
}
.header .inner {
	display: grid;
	height: var(--header-height);
	align-items: center;
	padding: 0 32px;
	box-sizing: content-box;
}

.header a {
	color: inherit;
	text-decoration: none;
}

.header .user-links {
	display: flex;
	gap: 15px;
}
.header-v1 {
	box-shadow: 0 0 15px rgba(0,0,0,0.25);
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(32px);
}
.header-v1:after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--clr-head-bg);
	opacity: .5;
	z-index: -2;
}
.header-v1 .inner {
	height: 90px;
	display: flex;
	justify-content: center;
}
.header-v1 .inner .logo-bar,
.header-v1 .inner .right-bar {
	flex: 1;
}
.header-v1 .inner .nav-bar {
	flex: 0;
	white-space: nowrap;
}
.header-v2 .inner {
    grid-template-columns: 1fr auto auto;
    margin: 0 auto;
}
.header-v3 .inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
}
.header-v3 .left p {
	margin: 4px 0;
}
.header-v3 .left p:before {
	margin-right: 8px;
	font-size: 12px;
}
.header-v3 .site-nav ul {
	justify-content: center;
}
.header-v3  p a {
	opacity: .85;
}
.header-v3  p a:hover,
.header-v3  p a:focus {
	color: var(--clr-head-ac);
	opacity: 1;
}

.header-v3 .open-close-signboard {
	margin-right: 16px;
	rotate: 1;
}
.header-v3 .right {
	text-align: right;
    display: flex;
    align-items: center;
    justify-content: end;
}

/*  L O G O
	------------------------------------------- */
.logo-bar {
	display: flex;
	gap: 30px;
	align-items: center;
}   
.site-logo {
	font-family: var(--font-head);
	flex-direction: column;
	display: inline-flex;
	position: relative;
	text-align: center;
	line-height: 1;
	gap: 3px;
	z-index: 50;
	text-decoration: none;
}
.site-logo .title  {
	font-size: 1.25em;
	letter-spacing: 3px;
}
.site-logo .tag {
	font-size: .5625rem;
	text-indent: 7px;
	letter-spacing: 5px;
	line-height: 1;
	position: relative;
	transition: all 250ms;
}
.site-logo .tag:after {
	content: '';
	position: absolute;
	top:0px;
	bottom: .5px;
    left: 50%;
	width: 0%;
    transform: translateX(-50%);
	background: radial-gradient(circle, var(--clr-head-ac) 20%, transparent 100% );
	z-index: -1;
	transition: all 250ms;
}
.site-logo:hover .tag,
.site-logo:focus .tag {
	color: #000;
}
.site-logo:hover .tag:after,
.site-logo:focus .tag:after {
	width: 110%;
}
.custom-logo {
	width: auto;
	height: auto;
	max-height: 44px;
	max-width: 180px;
}

/*  N A V I G A T I O N
	-------------------------------------------- */
.nav-bar {
	height: inherit;
	display: flex;
}    
.site-nav {
	height: inherit;
}
.site-nav-bar .inner{
	height: 70px;
	transition: all 250ms;
	display: grid;
	grid-template-columns: 1fr auto 1fr;	
}
.site-nav-bar .alignwide .right-bar{
	display: flex;
	justify-content: end;
	gap: 16px;
}
.sticky .site-nav-bar .inner {
	height: 90px;
}
button.dropdown-toggle {
	display: none;
}
@media only screen and (max-width: 480px) {
	.header .alignwide {
		height: 75px;
		padding: 0  clamp(1rem, -1rem + 10vw, 2rem);
	}
}

@media only screen and (max-width: 1366px) {
	.site-header .inner {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
	}
	.site-header .nav-bar {
		display: flex;
		align-items: center;
		order: -1;
	}
	.top-bar {
		display: none;
	}
	.header .right-bar {
		display: block;
	}
	.header-template-v3 .site-nav .alignwide {
		display: block;
	}
	.header-v2 .inner  {
		grid-template-columns: 1fr auto 1fr;
	}
}

.primary-menu a {
	color: inherit;
}
.primary-menu {
	display: flex;
	font-size: .875rem;
	text-transform: uppercase;
	gap: 2rem;
	font-weight: 300;
	letter-spacing: .6px;
	height: inherit;
	justify-content: center;
}
.primary-menu > li {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.primary-menu > li > a {
	position: relative;
}
.primary-menu > li > a:after {
	content: '';
	position: absolute;
	bottom: -0.125rem;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	border-bottom: .0625rem solid var(--clr-head-ac);
	transition: all 250ms;
	mask: linear-gradient( 90deg, transparent,var(--clr-head-ac) 40%,var(--clr-head-ac) 60%, transparent )
}
.nav-info,
.open-close {
	display: none;
}
.primary-menu > li:hover a:after, 
.primary-menu > li > a:hover:after, 
.primary-menu > li > a:focus:after, 
.primary-menu > .current-menu-item > a:after,
.primary-menu > .current-menu-ancestor > a:after, 
.primary-menu > .current_page_item > a:after {
	width: 150%;
}
.primary-menu li ul {
	margin: 0;
	position: absolute;
	top: 100%;
	left: -30px;
	font-size: .875rem;
	font-family: var(--font-base);
	text-transform: none;
	letter-spacing: .6px;
	padding: 4px 0;
	min-width: 240px;
	box-shadow: 0rem 10px 10px #00000012;
	opacity: 0;
	visibility: hidden;
	backdrop-filter: blur(20px);
	z-index: -1;
	transform: translateY(-10%);
	filter: blur(3px);
	transition: all 150ms;
	transition-delay: 150ms;
	background: var(--clr-head-bg);
	border-radius: 10px;
	white-space: nowrap;
}
.primary-menu li ul:before {
	content: '';
	position: absolute;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	top: 0;    
	transition: all 450ms;
	transition-delay: 150ms;
	bottom: 0;
	border-bottom: .0625rem solid var(--clr-head-ac);
	mask: var(--mask-to-center);
	z-index: -1;
}
.primary-menu li:hover > ul {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	filter: blur(0);
	transition: all 340ms;
}
.primary-menu li ul:before {
	display: none;
}
.primary-menu li ul li {
	padding: 0;
	margin: 1rem 0;
}
.primary-menu li ul a {
	padding: 0 2rem;
}
.primary-menu li ul a:hover, 
.primary-menu li ul a:focus, 
.primary-menu li ul li.current-menu-item a {
	color: var(--clr-main-ac);
}

p.hightlight {
	color: var(--color-accent);
	font-weight: 400;
	font-size: 4px;
}
.primary-menu li ul ul {
	top: 16px;
	left: 100%;
}

/*  Profile Link
	-------------------------------------------- */
.header .right-bar {
	text-align: right;
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: right;
	font-size: .875rem;
	line-height: 1;
	margin-left: 32px;
}    

.profile-link {
	display: flex;
	align-items: center;
}

@media only screen and (max-width: 1366px) {
	.site-header {
		z-index: 99;
	}
	.desktop {
		display: none !important;
	}
	.mobile {
		display: block;
	}
	[class^="mobile-"], 
	[class*=" mobile-"] {
		display: block;
	}
	.mini-cart-icon {
		display: flex;
		justify-content: end;
		align-items: center;
		gap: .1875rem;
	}
	.site-nav {
        position: absolute;
        height: 100dvh;
        inset: 0;
        padding: 0 32px 130px;
        opacity: 0;
        visibility: hidden;
        transition: opacity 500ms;
        top: 0;
        left: 0;
        overflow: scroll;
        margin-top: 100px;
	}
	.admin-bar .site-nav {
		padding-bottom: 170px;
	}
	.mobile-nav .site-nav {
		opacity: 1;
		visibility: visible;
	}
	
	.mobile-nav .header {
		box-shadow: none;
	}
	.mobile-nav .header:after {
		opacity: 0;
	}

	.primary-menu {
		flex-direction: column;
		font-size: 1.125rem;
		gap: 15px;
		height: auto;
	}
	.mobile-nav .site-nav ul li {
		--delay: 50ms;
		opacity: 0;
		transform: translateY(-3.125rem);
		animation: fadeinup 500ms ease-out forwards;
	}


	.primary-menu li:nth-child(1) { animation-delay: calc(0 * var(--delay)) }
	.primary-menu li:nth-child(2) { animation-delay: calc(1 * var(--delay)) }
	.primary-menu li:nth-child(3) { animation-delay: calc(2 * var(--delay)) }
	.primary-menu li:nth-child(4) { animation-delay: calc(3 * var(--delay)) }
	.primary-menu li:nth-child(5) { animation-delay: calc(4 * var(--delay)) }
	.primary-menu li:nth-child(6) { animation-delay: calc(5 * var(--delay)) }
	.primary-menu li:nth-child(7) { animation-delay: calc(6 * var(--delay)) }
	.primary-menu li:nth-child(8) { animation-delay: calc(7 * var(--delay)) }
	.primary-menu li:nth-child(9) { animation-delay: calc(8 * var(--delay)) }
	.primary-menu li:nth-child(10) { animation-delay: calc(9 * var(--delay)) }
	
	@keyframes fadeinup {
		0% {
			transform: translateY(-3.125rem);
		}
		50% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			transform: translateY(0px);
		}
	}
	.nav-trigger {
		width: 21px;
		height: 25px;
		position: relative;
		display: block;
		z-index: 10;
	}
	.nav-trigger:before,
	.nav-trigger:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		border-top: .0625rem solid;
		transition: all 250ms;
	}
	.nav-trigger:before {
		top: 8px;
	}
	.nav-trigger:after {
		bottom: 8px;
	}
	.mobile-nav {
		overflow: hidden;
	}
	.mobile-nav .nav-trigger:before {
		top: 49%;
		transform: rotate(-135deg);
	}
	.mobile-nav .nav-trigger:after {
		bottom: 49%;
		transform: rotate(135deg);
	}
	.mobile-nav .nav-info {
		position: sticky;
		top: 100%;
		left: 0;
		right: 0;
		display: block;
	}
	.mobile-nav .nav-info p {
		opacity: .8;
	}
	.mobile-nav .nav-info .open-close {
		display: inline-block;
		text-transform: uppercase;
		position: relative;
		text-align: center;
		font-family: var(--font-head);
		opacity: 1;
		font-size: 1rem;
		margin-bottom: 3px;
	}
	.mobile-login-link {
		margin-bottom: 45px;
		display: flex;
		align-items: center;
		text-transform: uppercase;
		font-size: 1.125rem;
		letter-spacing: .6px;
		margin-top: 15px;
		opacity: 0;
		transition: all 500ms;
		transform: translateY(-15px);
	}
	.mobile-login-link svg {
		width: 20px;
		margin-left: 6px;
	}
	.mobile-nav .mobile-login-link {
		opacity: 1;
		transform: translateY(0px);
		transition-delay: 500ms;
	}
	.social {
		display: flex;
		gap: 12px;
		margin-top: 12px;
		font-size: 12px;
	}
	.social a {
		width: 2.5rem;
		line-height: 2.5rem;
		text-align: center;
		border-radius: 1.9375rem;
		background: #ffffff08;
		box-shadow: 0 1px .1875rem #00000040;
	}
	.primary-menu > li {
		display: inline-block;
	}
	.primary-menu li ul {
		display: none;
		position: static;
		background: none;
		box-shadow: none;
		text-transform: uppercase;
		padding: 0;
		font-size: 1rem;	}
	
	.mobile-nav .primary-menu li:last-child {
		margin-bottom: 0;
	}
	.primary-menu li ul a {
		padding: 0 12px;
		opacity: .75;
	}
	.sub-menu.toggled-on {
		display: block;
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		filter: none
	}
	.dropdown-toggle {
		width: 16px;
		height: 16px;
		position: relative;
		margin-left: 8px;
		display: inline-flex;
	}
	.dropdown-toggle:after {
		content: '';
		width: 8px;
		height: 8px;
		border-bottom: 1px solid;
		border-right: 1px solid;
		rotate: 45deg;
		position: absolute;
		left: 4px;
		top: 0;
	}

}

/*  Page Heading Default
	----------------------------------------------------------------------------- */
.page-heading-wrap {
	position: relative;
	display: grid;
	align-items: center;
	justify-content: center;
	height: 55dvh;
	background: var(--clr-contrast-bg) url(assets/images/noise.webp);
	background-attachment: fixed;
	overflow: hidden;
}    
.page-heading-wrap.has-img:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, #000 0%, transparent 260px);
	z-index: 1;
}
.page-heading-wrap img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
}
.elementor-page .page-heading-wrap {
	margin-bottom: 5rem;
}

.page-heading .title {
	color: var(--clr-contrast-tx);
	font-size: clamp(1.375rem, 1rem + 1.875vw, 3.25rem);
	margin-bottom: 0;
	line-height: 1;
	padding: .6em;
	position: relative;
	box-shadow: 0 5px 15px rgba(0,0,0,0.5);
	z-index: 10;
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(32px);
	animation: 750ms fadeUp 0ms ease-out forwards;
	text-align: center;
	background: #0000002b;
}
.page-heading .title:after {
	content: "";
	position: absolute;
	inset: 3px;
	z-index: 11;
	box-shadow: inset 0 0 .375rem rgba(255,255,255,.15), 0 0 .3125rem rgba(0,0,0,.25);

}
/*  Page Heading Minimal
	----------------------------------------------------------------------------- */
.page-heading-minimal {
	padding: 2rem 0;
	position: relative;
	text-align: center;
	margin-bottom: 5rem;
}
.page-heading-minimal:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(127, 127, 127, 0.05);
	border: 1px solid rgba(127, 127, 127, 0.1);
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.page-heading-minimal h1 {
	text-transform: uppercase;
	margin: 0;
}
.page-heading-minimal:has(+.nav-cat-hr)  {
	margin-bottom: 0;
}
.woocommerce-page .page-heading-minimal {
	margin-bottom: 0;
}

/*  Categories
	----------------------------------------------------------------------------- */
.nav-cat-hr {
	position: sticky;
	top: 0;
	display: flex;
	justify-content: center;
	z-index: 20;
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(32px);
	margin-bottom: 5rem;
}
.nav-cat-hr:after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	border: 1px solid rgba(127,127,127,0.5);
	background: var(--clr-main-bg);
	mask: var(--mask-to-center);	
	opacity: .75
}
.admin-bar .nav-cat-hr {
	top: 32px;
}
.sticky-header .nav-cat-hr {
	top: calc(var(--header-height) - 1px);
}
.admin-bar.sticky-header .nav-cat-hr {
	top: calc(var(--header-height) + 31px);
}
.nav-cat-hr--page {
	margin-top: -5rem;
}
.categories-nav {
	display: grid;
	grid-auto-flow: column;
	gap: 2em;
	text-transform: uppercase;
	font-family: var(--font-head);
	font-size: .875em;
	white-space: nowrap;
	overflow: auto;
	overscroll-behavior-inline: contain;
	margin: 0 auto;
	max-width: 1288px;
	padding: 2em 3em;
	mask: var(--mask-to-center-short);
}
.categories-nav::-webkit-scrollbar {
	height: 1px;
}
.categories-nav::-webkit-scrollbar-thumb {
	background: var(--clr-main-tx);
}
.categories-nav > * {
	scroll-snap-align: center;
}
.categories-nav a {
	text-decoration: none;
	color: inherit;
	position: relative;
	display: block;
}
.categories-nav a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	border-bottom: .0938rem solid var(--clr-main-ac);
	transition: all 250ms;
	mask: linear-gradient(90deg, transparent,white 40%, white 60%, transparent);
}
.categories-nav a.active:after,
.categories-nav a:hover:after,
.categories-nav a:focus:after,
.categories-nav .current-cat a:after,
.categories-nav .all-cats a:after {
	width: 150%;
}
@media (max-width: 1024) {
	.categories-nav {		
		scroll-snap-type: inline mandatory;
	}
}

/*  SIngle Post
	----------------------------------------------------------------------------- */
.post-bg {
	position: absolute;
	top: -3.75rem;
	left: -11.25rem;
	right: -11.25rem;
	z-index: -1;
	height: 50vh;
	min-height: 30rem;
	transition: all 300ms;
	filter: blur(9.375rem) saturate(150%);
}
.post-bg img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.post-bg:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,1) 11.25rem, transparent 45%);
}


.full-post {
	border-radius: .75rem;
	overflow: hidden;
	background: rgba(127,127,127,0.05);
	outline: .0625rem solid rgba(127,127,127,0.15);
	overflow: hidden;
	margin-bottom: 3rem;
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.15);
}
.full-post .image {
	position: relative;
}
.full-post .image img {
	width: 100%;
	height: auto;
}
.full-post .image .post-date {
	font-family: var(--font-deco);
	color: var(--clr-main-ac);
	position: absolute;
	bottom: 1.5rem;
	right: 3rem;
	font-size: 24px;
	transform: rotate(-4deg);
	z-index: 2;
}
.full-post .image:after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(132deg,  transparent 80%, #000);
}

.post-date {
    font-family: var(--font-deco);
    font-size: 1.375rem;
    color: var(--clr-main-ac);
    line-height: 1;
    margin-bottom: .5rem;
}
	

.full-post .content {
	padding: 3rem min(4rem, 5vw);
}
.post-title {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0;
}

.title-underline {
	position: relative;
	margin-bottom: 32px;
}
.title-underline:after {
	content: '';
	position: absolute;
	inset: 0;
	border-bottom: .0938rem solid var(--clr-main-ac);
	mask: var(--mask-to-right);
	z-index: -1;
}
.location-desc {
	margin-bottom: 2rem;
}
.title-underline a {
	color: inherit;
	text-decoration: none;
}
.entry-meta {
	display: flex;
	margin: 0;
	gap: 1rem;
	position: relative;
}
.entry-meta > div {
	display: flex;
	gap: .375rem;
	

}
.entry-meta i {
	opacity: .5;
	line-height: 1;
}
.entry-meta a {
	text-decoration: none;
	color: inherit;
	text-transform: uppercase;
	font-size: .75rem;
	display: block;
	letter-spacing: .05rem;
}
.entry-meta a:hover {
	color: var(--clr-main-ac);
	text-decoration: underline;
}

.entry-meta .post-categories {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.tags {
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
	align-items: center;
	margin-top: 2em;
	letter-spacing: .025em;
	clear: both;
}
.tags a {
	border: 1px solid rgba( 127,127,127,0.5 );
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	font-size: .75rem;
	padding: .25rem .375rem;
	color: inherit;
	border-radius: 3px;
	background: var(--clr-main-bg);
}
.tags a:hover,
.tags a:focus {
	color: var(--clr-main-ac);
	border-color:  var(--clr-main-ac);
}
/*  Site Footer
	----------------------------------------------------------------------------- */
.site-footer {
	--clr-foot-bg: var( --wp--preset--color--footer-base, #1b2024 );
	--clr-foot-tx: var( --wp--preset--color--footer-contrast, #ffffff );
	--clr-foot-ac: var( --wp--preset--color--footer-accent, #d1a054 );

	color: var(--clr-foot-tx);
	background: var(--clr-foot-bg);
	position: sticky;
	top: 100%;
	z-index: 30;
}
.site-footer .alignwide {
	margin: 0 auto;
	padding: 0 32px;
    box-sizing: content-box;
}
.footer-blocks {
	padding: 3.75rem 0 1.875rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.footer-blocks a {
	text-decoration: none;
}
.footer-blocks .center {
	text-align: center;
}
.footer-blocks .right {
	text-align: right;
}
.footer-blocks h3 {
	position: relative;
	padding-bottom: 6px;
	font-size: 20px;
	margin-bottom: 2rem;
}
.footer-blocks h3:after {
	content: '';
	position: absolute;
	inset: 0;
	border-bottom: .0625rem solid var(--clr-foot-ac);
}
.footer-blocks .left h3:after {
	mask: linear-gradient( 90deg, white, transparent )
}
.footer-blocks .center h3:after {
	mask: linear-gradient( 90deg, transparent,white 40%,white 60%, transparent )
}
.footer-blocks .right h3:after {
	mask: linear-gradient( 90deg, transparent,white )
}
.footer-blocks .accent {
	font-family: var(--font-head);
	font-size: 1rem;
	margin-top: 9px;
	color: var(--clr-main-ac);
	font-weight: 400;
}
.footer-blocks .site-logo .title {
	font-size: 1.3em;
}
.footer-blocks .site-logo .tag {
	color: #000;
}
.footer-blocks .site-logo .tag:after {
	background: radial-gradient(circle, var(--clr-foot-ac) 20%, transparent 100%);
	width: 110%;
	bottom: .5px
}
.open-close-signboard {
    padding: 6px 12px;
    font-size: .75rem;
    display: inline-block;
	position: relative;
	rotate: -1deg;
	text-transform: uppercase;
	line-height: 1;
	cursor: default;
	margin-top: 1.5rem;
}
.open-close-signboard:after {
	content: '';
	position: absolute;
	inset: 0;
	background: #fff;
	z-index: -1;
	opacity: .15;
}
.open-close-signboard:before {
	content: '';
	width: 15px;
	height: 15px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: var(--clr-foot-tx);;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -12px;
	rotate: -45deg;
	z-index: -2;
	opacity: .5;
}




.site-footer .bottom {
	border-top: 1px solid #ffffff0d;
	box-shadow: 0 -2px 1px #0000002e;
}

.site-footer .bottom .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 14px;
	padding: 18px;
	align-items: center;
	gap: 16px;
}
@media (max-width: 480px) {
	.site-footer .bottom .inner {
		justify-content: center;
		font-size: 12px;
	}
	.site-footer .bottom .right {
		font-size: 9px;
	}
}
.site-footer .bottom .right {
	opacity: .6;
}
.footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.footer-links a {
	color: inherit;
	text-decoration: none;
	opacity: .5
}
.footer-links a:hover,
.footer-links a:focus {
	text-decoration: underline
}

.site-footer .social {
	display: inline-flex;
	gap: 15px;
	position: relative;
	text-align: center;
	align-items: center;
	z-index: 10;
}

.site-footer .social a {
	height: 44px;
	width: 44px;
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
	line-height: 2.75rem;
	text-decoration: none;
	color: var(--clr-foot-tx);
	font-size: 1rem;
	position: relative;
	text-align: center;
	transition: all 150ms;
	background: rgba(255,255,255,0.05);
}
.site-footer .social a:hover {
	color: var(--clr-foot-ac);
}

@media only screen and ( max-width: 1366px ) {
	.footer-blocks {
		gap: 40px;
		grid-template-columns: none;
	}
	.footer-blocks > div[class] {
		text-align: center;
		display: grid;
		justify-items: center;
	}
	.footer-blocks div[class] h3 {
		margin-bottom: 8px;
	}
	.footer-blocks div[class] h3:after {
		mask: var(--mask-to-center);
	}
	.footer-blocks .hide-mobile-title h3 {
		display: none;
	}
}

/*  Header Shade
----------------------------------------------------------------------------- */

.header-shade {
	position: relative;
}
.header-shade:before {
	content: '';
	position: absolute;
	background: linear-gradient(to bottom, #000 0%, transparent 260px);
	z-index: 2;
	inset: 0;
}

/*  H E R R O   S E C T I O N
----------------------------------------------------------------------------- */
.herro {
	position: relative;
	height: 100vh;
	overflow: hidden;
	background-color: #000;
}
.herro .shade {
	content: '';
	position: absolute;
	background: radial-gradient(circle, #00000099 30%, transparent 65%); 
	z-index: 1;
	inset: 0;
}
.herro .bg {
	object-fit: cover;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.herro .content {
	padding: 0 16px;
	color: #fff;
	display: grid;
	align-content: center;
	justify-content: center;
	height: 100%;
	text-align: center;
	position: relative;
	z-index: 10;
}
.herro .content .inner {
	margin-top: -5vh;
}
.herro .desc {
	max-width: 35rem;
	margin: auto;
	font-weight: 300;
	font-size: 1.125em;
	padding-top: 1.875rem;
	position: relative;
}
.herro .desc p:first-child {
	margin: 0;
}
.title-script .herro .desc {
	margin-top: .9375rem;
}
.title-script .herro .desc:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	border-bottom: .0625rem solid;
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.gradient-subtitle .desc {
	padding-top: .9375rem !important;
}
.gradient-subtitle .desc:before {
	display: none;
}
.herro-imgs-slider {
	position: absolute;
	inset: 0;
}
.herro-imgs-slider .swiper-slide img {
	transition: transform 13s linear;
	transform: scale(1);
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.herro-imgs-slider .swiper-slide-visible img {
	transform: scale(1.2);
}
.fireflies {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.herro-heading .title {
	font-size: clamp(2.5rem, 13.3376px + 3.7324vw, 85px);
	line-height: 1;
	margin-bottom: -0.375rem;
}
.herro-heading .subtitle-deco {
	font-family: var(--font-deco);
	color: var(--clr-main-ac);
	line-height: 1;
	margin-top: -1.25rem;
	font-size: 3.75rem;
}
.herro .rotation {
	position: absolute;
	left: 50%;
	bottom: 0%;
	width: 90vw;
	max-width: 62.5rem;
	transform: translateY(70%) translateX(-50%);
	animation: 220s rotate 0s linear infinite;
	z-index: 2;
}
.herro .btn {
	margin-top: 2rem;
}

@keyframes rotate {
	0% {
		transform: translateY(70%) translateX(-50%) rotate(0deg);
	}
	100% {
		transform: translateY(70%) translateX(-50%) rotate(360deg);
	}
}

/* E L E M E N T O R
	----------------------------------------------------------------------------- */
.elementor .elementor-element:first-child {
	padding-block-start: 0
}
.elementor-section-wrap .elementor-element:first-child {
	padding-block-start: 0;
}

/*  H E A D I N G
	----------------------------------------------------------------------------- */
.heading {
	text-align: center;
	display: grid;
}
.heading.deprecated {
	margin-bottom: 3rem;
}
.heading .title {
	position: relative;
	margin: 0 auto;
	line-height: 1;
	padding: .5rem 0;
	margin-top: -.35em;
}
.heading .title:after {
	content: '';
	position: absolute;
	inset: 0 -15%;
	border-top: 1px solid;
	border-bottom: 1px solid;
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.heading .subtitle {
	margin: 0;
	font-family: var(--font-deco);
	color: var(--clr-main-ac);
	order: -1;
	font-size: clamp(1.25rem, 0.7019rem + 2.3077vw, 1.625rem);
	letter-spacing: 1px;
	z-index: 1;
}
.heading-inside-widget {
	margin-bottom: 2rem;
}

/*  Heading Blured
	----------------------------------------------------------------------------- */
.heading-blured .title {
	color: var(--clr-contrast-tx);
    font-size: 3rem;
    margin-bottom: 0;
    line-height: 1;
    padding: .6em .75em;
    position: relative;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    z-index: 10;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    animation: 750ms fadeUp 0ms ease-out forwards;
    text-align: center;
}
.heading-blured .title:after {
	content: "";
    position: absolute;
    inset: 3px;
    z-index: 11;
    box-shadow: inset 0 0 6px rgba(255, 255, 255, .15), 0 0 5px rgba(0, 0, 0, .25);
}

/*  Restorator Menu List S T A R T
	----------------------------------------------------------------------------- */
.restorator-menu {
	display: grid;
	gap: 56px;
	grid-template-columns: 1fr 1fr;
}
.restorator-menu--col-1 {
	display: grid;
	gap: 56px;
}
.restorator-menu-item {
	display: flex;
	gap: 1rem;
	position: relative;
	align-items: start;
}

.restorator-menu-item__thumbnail {
	position: relative;
	min-width: 5rem;
	width: 5rem;
}
.restorator-menu-item__thumbnail:after {
	content: '';
	position: absolute;
	inset: .125rem;
	border-radius: var(--radius-shape);
	box-shadow: inset 0 0 .3125rem rgba(255,255,255,.25), 0 .0625rem .1875rem rgba(0,0,0,.25);
}
.restorator-menu-item__thumbnail:hover .size-thumbnail,
.restorator-menu-item__thumbnail:hover .size-thumbnail:after {
	border-radius: 63% 10% 30% 70% / 50% 10% 55% 50%;
}
.restorator-menu-item__thumbnail > img {
	border-radius: var(--radius-shape);
	width: 100%;
	height: 5rem; /* Backward compatibility v4.0 */
	transition: all 250ms;
}
.restorator-menu-item__thumbnail-zoom {
	position: absolute;
	bottom: 125%;
	left: 105%;
	opacity: 0;
	visibility: hidden;
	transition: all 0.25s ease-in;
	z-index: 20;
}
.restorator-menu-item__thumbnail-zoom img {
	height: auto;
	max-width: 380px;
	box-shadow: 0 3px 9px rgba(0,0,0,0.25);
	border-radius: 9px;
}
.restorator-menu-item__thumbnail:hover .restorator-menu-item__thumbnail-zoom {
	opacity: 1;
	visibility: visible;
	bottom: 105%;
}
.restorator-menu-item__heading {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: .375rem;
	align-items: center;
}
.restorator-menu-item__heading hr {
	opacity: .25;
}
.restorator-menu-item__title {
	font-size: var(--wp--preset--font-size--medium);
	position: relative;
}
.restorator-menu-item__title-link {
	color: inherit;
	text-decoration: none;
}
.restorator-menu-item__title-link:hover,
.restorator-menu-item__title-link:focus {
	opacity: .6;
}
.restorator-menu-item__price {
	font-family: var(--font-head);
	font-size: 1.25rem;
	color: var(--clr-main-ac);
}
.restorator-menu-item__desc {
	opacity: .75;
}
.restorator-menu-item__desc p {
	margin: 0;
}
.highlight-text {
	font-size: 1rem;
	padding: 0 9px;
	font-weight: 300;
	letter-spacing: 1px;
	position: absolute;
	left: -9px;
	top: -20px;
	background: var(--clr-main-bg);
	font-family: var(--font-deco);
}
.dishes-menu .highlight:after {
	content: '';
	position: absolute;
	inset: -21px;
	border: 1px dashed;
	border-radius: 8px;
	z-index: -1;
	opacity: .5;
}

@media (max-width: 420px) {
	.restorator-menu-item__thumbnail-zoom img {
		max-width: 70vw;
	}
}

/* ---  Multi Price --- */
.multi-price {
	font-family: var(--font-head);
}
.multi-price_loop {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: .25rem 0;
}
.multi-price_single {
	align-self: end;
	margin-top: 32px;
}
.multi-price__label_loop {
	font-size: .875rem;
	opacity: .8;
}
.multi-price__price {
	color: var(--clr-main-ac);
}
.multi-price__price_single {
	font-size: 1.25rem;
}

@media only screen and (max-width: 1024px) {
	.restorator-menu {
		justify-content: center;
		grid-template-columns: minmax(320px, 616px);
	}
}

/*  E N D Restorator Menu List 
	----------------------------------------------------------------------------- */	

/*  Restorator Menu Category S T A R T
	----------------------------------------------------------------------------- */
.restorator-menu-cat {
	margin: 6rem 0;
}
.restorator-menu-cat__heading {
	margin-bottom: 5.5rem;
}	
.restorator-menu-cat__title-wrap {
	text-align: center;
	position: relative;
	margin-bottom: 2rem;
}
.restorator-menu-cat__title {
	font-size: 2.75rem;
	line-height: 1;
	background: var(--clr-main-bg);
	display: inline-block;
	padding: 0 32px;
}	
.restorator-menu-cat__title:after {
	content: '';
    position: absolute;
    bottom: 50%;
	left: 0;
	right: 0;
	border-bottom: 1.5px solid var(--clr-main-ac);
	mask: var(--mask-to-center);
	z-index: -1;
}
.restorator-menu-cat__title--blurred {
	color: var(--clr-contrast-tx);
	font-size: clamp(1.75rem, 0.5rem + 6.25vw, 3rem);
	line-height: 1;
	text-align: center;	
	padding: .6em .75em;
	position: relative;
	margin-bottom: 0;
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(32px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
	z-index: 10;	
}
.restorator-menu-cat__title--blurred:after {
	content: "";
    position: absolute;
    inset: 3px;
    z-index: 11;
    box-shadow: inset 0 0 6px rgba(255, 255, 255, .15), 0 0 5px rgba(0, 0, 0, .25);
}
.restorator-menu-cat__desc {
    margin: 0 auto;
    text-align: center;
    position: relative;
    max-width: 45rem;
    letter-spacing: .5px;
    opacity: .9;
    font-size: 1rem;
	text-transform: uppercase;
}
/*  E N D Restorator Menu Category 
	----------------------------------------------------------------------------- */

/*  Blog Article : S T A R T
	----------------------------------------------------------------------------- */
.article {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 3rem 0 8rem;
	border-radius: 12px;
	overflow: clip;
	background: rgba(127,127,127,0.05);
	outline: 1px solid rgba(127,127,127,0.1);
	transition: 325ms all;
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.15);
}
.article:not(.has-post-thumbnail) {
	max-width: 644px;
	margin-left: auto;
	margin-right: auto;
}
.article.sticky {
	border-top: 2px solid var(--clr-main-ac);
} 
.article .image {
	position: relative;
	width: 260px;
	max-width:  644px;
	flex-grow: 1;
	z-index: 10;
}
.article .details {
	padding: clamp(2rem, 0.75rem + 5vw, 2.75rem)clamp(1.75rem, 0.75rem + 5vw, 3.75rem);
	display: grid;
	align-content: center;
	flex-grow: 1;
	width: 380px;
	max-width:  50%;

	position: relative;
	text-align: center;
	justify-items: center;
	max-width: 644px;
}
.article .details .date {
	font-family: var(--font-deco);
	font-size: 1.375rem;
	color: var(--clr-main-ac);
	line-height: 1;
	margin-bottom: .5rem;
}
.article .details .title {
	position: relative;
	margin: 0 0 1em;
	font-size: 1.5em;
	word-break: break-word;
}
.article .details .title a {
	color: inherit;
	text-decoration: none;
}
.article img {
	height: auto;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.article.has-post-thumbnail .details {
	margin:  0;
}

.article:nth-child(odd) {
	flex-direction: row-reverse;
}
.article.to-left {
	flex-direction: row;
}
.article.to-right {
	flex-direction: row-reverse;
} 
.article .more-link {
	margin-top: 1.5rem;
}

/*  E N D : Blog Article
	----------------------------------------------------------------------------- */

/*  Single Post
	----------------------------------------------------------------------------- */
.container-has-post-thumbnail {
	padding-top: 15rem;
	overflow-x: hidden;
	position: relative;
}
.container-no-post-thumbnail {
	padding-top: 6rem;
}

@media (max-width: 640px) {
	.container-has-post-thumbnail {
		padding-top: 8rem
	}
}


/*  Comments : S T A R T
	----------------------------------------------------------------------------- */
.comments-area ul,
.comments-area ol {
	list-style: none;
}
.comments-title {
	font-size: var(--wp--preset--font-size--medium);

}
.comment-reply-title  {
	font-size: var(--wp--preset--font-size--medium-large);
}
.comment-content > * {
	margin-top: 1.5rem;
}
.comment-content > :first-child {
	margin-block-start: 0;
}	
.comment-body .avatar {
	border-radius: 50%;
	margin-right: .5em;
}
.comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 8px;
}
.comment-form-cookies-consent label {
	position: static;
	cursor: default;
}
.comment-list li {
	padding: 2rem 4rem;
    border: 1px solid #00000020;
    background: rgba(127, 127, 127, 0.05);
    border-radius: 9px;
	text-align: left;
	margin-bottom: 3rem;
}
.comment-list .comment .comment {
	padding: 6% 7%;
}
.comment-list .pingback,
.comment-list .trackback {
	font-weight: 500;
}
.comment-list .pingback a,
.comment-list .trackback a {
	font-weight: 300;
}
.comment-author {
	display: flex;
	align-items: center;
	gap: 6px;
}
.comment-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: .875rem;
	flex-wrap: wrap;
}
.comment-meta a {
	color: inherit;
	text-decoration: none;
}
.comment-meta a:hover {
	color: var(--clr-main-ac);
}
.comment-metadata time {
	font-family: var(--font-deco);
	font-size: 1rem;
}
.comment-content {
	margin: 1rem 0;
}
.comment-reply-link {
	text-transform: uppercase;
	text-decoration: none;
	font-size: .875rem;
	font-family: var(--font-head);
}
.comment-reply-link:before {
	content: '\E807';
    font-family: 'Icons';
    margin-right: 5px;
}
.comment-reply-title {
	display: flex;
    justify-content: space-between;
	align-items: center;
	margin: 0;
}
.comment-reply-title a {
	text-decoration: none;
	font-size: .875rem;
}
.logged-in-as {
	font-size: .875rem;
	margin-bottom: 2.5rem;
	margin-top: .5em;
}
.logged-in-as a {
	text-decoration: none;
}
.logged-in-as a:hover,
.logged-in-as a:focus {
	text-decoration: underline;
}
.comment-respond {
    padding: clamp(1rem, -0.4rem + 7vw, 3rem) clamp(1rem, -1rem + 10vw, 4rem);
    border: 1px solid #00000020;
    background: rgba(127,127,127, 0.05);
    border-radius: 9px;
	margin-top: 1rem;
}
.comment-list .comment-respond {
	padding: 32px 40px;
	margin-top: 1.5rem;
}
/*  E N D : Comments
	----------------------------------------------------------------------------- */

/*  Pagination : S T A R T
	----------------------------------------------------------------------------- */
.nav-links {
	display: flex;
    justify-content: center;
    margin-top: 64px;
    position: relative;
    padding: 28px 0;
    gap: 4px;
    font-size: 1rem;
	cursor: default;
}
.nav-links:after {
	content: '';
    position: absolute;
    inset: 0;
    background: rgba(127, 127, 127, 0.05);
    border: 1px solid rgba(127,127,127,.5);
    mask: var(--mask-to-center);
    z-index: -1;
}
.nav-links .page-numbers {
	display: block;
	position: relative;
	font-family: var(--font-head);
	text-decoration: none;
	text-align: center;
	line-height: 2.5rem;
    color: inherit;
    width: 2.5rem;
    height: 2.5rem;
}
.nav-links .current {
	color: var(--clr-main-ac);
    background: var(--clr-main-bg);
    border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
    border: 1px solid rgba(127,127,127,.5);
}
.nav-links a.page-numbers:after {
	content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    border-bottom: 1px solid var(--clr-main-ac);
    transition: all 250ms;
    mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.nav-links a.page-numbers:hover:after,
.nav-links a.page-numbers:focus:after {
    width: 100%;
}
/*  E N D : Pagination
	----------------------------------------------------------------------------- */	

/*  Sidebars
	----------------------------------------------------------------------------- */
	
.sidebar .widget {
	padding: 2.5em 3em;
	border: 1px solid rgba(127, 127, 127, 0.15);
	margin-bottom: 32px;
	border-radius: .625rem;
	position: relative;
	z-index: 10;
	overflow: clip;
	box-shadow: 0 3px 9px rgba(0,0,0,0.05);
	border: 1px solid #00000020;

}
.sidebar .widget:before{
	content: '';
	inset: 0;
	position: absolute;
	background: rgba(127, 127, 127, 0.05);
	z-index: -1;
}
.sidebar .widget:after {
	content: '';
	inset: 0;
	position: absolute;
	background: var(--clr-main-bg);
	z-index: -2;
	opacity: .75;
}
.widget .wp-block-heading {
	font-size: 1.25rem;
	position: relative;
	margin-bottom: 1rem;
	position: relative;
}
.widget .wp-block-heading:after {
	content: '';
	position: absolute;
	left: -.5rem;
	height: 100%;
	border-left: 1.5px solid var(--clr-main-ac);
	mask: var(--mask-center-vr);
}
.widget li a {
	text-decoration: none;
	color: inherit;
}
.widget li a:hover {
	color: var(--clr-main-ac);
}


/*  P R O D U C T   C A T S   I M A G E S
	----------------------------------------------------------------------------- */

.product-cats-img:not(.swiper-wrapper) {
	display: flex;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(.625rem, 3vw, 2rem);
	justify-content: center;
	justify-items: center;
}
.product-cats-img.cols-4 {
	display: flex;
}
.product-cats-img.cols-4 li {
	max-width: 316px;
    width: 270px;
    flex-grow: 1;
}
.product-cats-img.cols-3 {
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(.625rem, 3vw, 2rem);
}
.product-cats-img.cols-5 {
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(.625rem, 3vw, 2rem);
}
.product-cats-img a {
	position: relative;
	overflow: hidden;
	display: block;
	border-radius: 8px;
}
.product-cats-img img {
	transition: all 4s linear;
	height: auto;
    max-width: 100%;
}
.product-cats-img a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 30%;
	bottom: 0;
	left: 0;
	z-index: 1;
	border-radius: .625rem;
	background: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%);
	transition: all .25s ease;
}
.product-cats-img a:hover:before {
	height: 100%;
}
.product-cats-img a:hover img {
	transform: scale(1.1);
}
.product-cats-img a:after {
	content: "";
	position: absolute;
	inset: 2px;
	z-index: 11;
	box-shadow: inset 0 0 6px rgba(255,255,255,.25), 0 0 5px rgba(0,0,0,.25);
	border-radius: 6px;
}
.product-cats-img h2 {
	font-size: 20px;
	text-align: center;
	position: absolute;
	bottom: 20px;
	width: 100%;
	margin: 0;
	font-family: var(--font-head);
	color: white;
	z-index: 10;
}

.product-cats-swipe {
	position: relative;
	overflow-x: hidden; 
	margin: 0;
}


.swiper-wrapper .product {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}

.slider-bullets {
	display: flex;
	justify-content: center;
	margin-top: 2.8125rem;
	gap: .6875rem;
}
.slider-bullets .bullet {
	width: .6875rem;
	height: .6875rem;
	background: rgba(0, 0, 0, .1);
	opacity: 1;
	box-shadow: inset 0 .0625rem .0625rem #777;
	display: block;
	border-radius: 50%;
	cursor: pointer;

}
.slider-bullets .active {
	background: var(--clr-main-ac);
}

.hide-swipe-nav {
	display: none;
}
@media only screen and (max-width: 1380px) {
	.hide-swipe-nav {
		display: block;
	}
}

#order-online .swiper {
	overflow: initial;
}

/*  Promo Slider S T A R T
	----------------------------------------------------------------------------- */
.promo-slider {
	text-align: center;
	background: var(--clr-contrast-bg) url('assets/images/noise.webp');
	background-attachment: fixed;
	align-items: center;
}
.promo-swiper {
	position: relative;
}
.promo-slider__item {
	min-height: 45vh;
	display: grid;
	align-items: center;
	justify-content: center;
}
.promo-slider__details-wrap {
	position: relative;
	padding: 0 clamp(1rem, -3.3871rem + 20.6452vw, 5rem);
	max-width: 720px;
	box-sizing: content-box;
}
.promo-slider__details {
	padding: 44px clamp(1rem, -1.3602rem + 9.9379vw, 5rem);
	box-shadow: 0 0 1px #00000068;
	background: hsl( from var(--clr-main-bg) h s l / 85%);
	box-shadow: inset 0 0 3px rgba(255,255,255,.25), 0 3px 15px rgba(0,0,0,.25);
	border-radius: .75rem;
	z-index: 20;
	margin: 64px auto;
	position: relative;
	-webkit-backdrop-filter: blur(2rem) brightness(1.15);
	backdrop-filter: blur(2rem) brightness(1.15);
}
.promo-slider__title {
	font-size: clamp(1.5rem, 1.0103rem + 2.0619vw, 2rem);
	position: relative;
	display: inline-block;
	margin: 0;
}
.promo-slider__desc {
	opacity: .75;
}
.promo-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
}
.promo-slider__btn-nav {
	font-family: var(--font-head);
	font-size: 2.5rem;
	text-align: center;
	display: flex;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border: 0 none;
	backdrop-filter: blur(1rem);
	box-shadow: 0 0 3px rgba(0,0,0,.25);
	background: hsl( from var(--clr-main-bg) h s l / 60%);
	border-radius: 50%;
	transition: all 250ms;
	position: relative;
	overflow: hidden;
}
.promo-slider__btn-nav:hover {
	background: hsl( from var(--clr-main-bg) h s l / 80%);
}
.promo-slider__btn-nav--prev {
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
}
.promo-slider__btn-nav--next {
	border-radius: 30% 70% 63% 37%  / 50% 45% 55% 50%;
}
.promo-slider__btn-nav--prev:hover {
	transform: translateX(-3px);
}
.promo-slider__btn-nav--next:hover {
	transform: translateX(3px);
}

@supports not (background: hsl( from white h s l / 50%)) {
	.promo-slider__details:after {
		content: '';
		position: absolute;
		inset: 0;
		background: var(--clr-main-bg);
		opacity: .85;
		z-index: -1;
		border-radius: .75rem;
	}
}

@media only screen and (max-width: 1024px) {

	.promo-slider__btn-nav {
		display: none;
	}
}


/*   E N D Promo Slider
	----------------------------------------------------------------------------- */


/*   Latest News S T A R T
	----------------------------------------------------------------------------- */
.latest-news-block {
	position: relative;
	overflow: hidden;
	padding: 64px 0 88px;
	color: #fff;
	background: var(--clr-contrast-bg) url('assets/images/noise.webp');
}
.latest-news-block .heading {
	position: relative;
	z-index: 10;
}
.latest-news-block img.cover {
	max-width: initial;
	width: 100%;
	inset: 0%;
	filter: blur(9px) brightness(0.3);
	z-index: 1;

}
.latest-news-inner {
	display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 60px;
	gap: 64px;
	z-index: 2;
	position: relative;
}
.latest-news-inner img {
	border-radius: 9px;
	box-shadow: 0 0 15px #00000033;
	height: auto;
	max-width: 100%;
}
.latest-news-inner h2 {
	font-size: 1.75em;
	margin: 0;
}
.latest-news-inner h2 a {
	color: inherit;
	text-decoration: none;
}
.latest-news-inner .date {
	font-family: var(--font-deco);
	font-size: 1.25em;
	opacity: .8;
}
@media (max-width: 1000px) {
	.latest-news-inner {
		grid-template-columns: 1fr;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
		gap: 32px;
		margin-top: 48px;
	}
}
/*   E N D Latest News
----------------------------------------------------------------------------- */



/*  M E N U
	----------------------------------------------------------------------------- */
.menu-cat {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	position: relative;
	background: rgba(127,127,127,0.05);
	border: 1px solid rgba(127,127,127,0.1);
	margin: 2rem 0 10rem;
	border-radius: 12px;
	box-shadow: 0 1rem 2rem rgba(0,0,0,0.15);
}
.menu-cat:nth-child(odd) {
	flex-direction: row-reverse;
}
.menu-cat .content {
	padding: clamp(2rem, 0.75rem + 5vw, 2.75rem)clamp(1.75rem, 0.75rem + 5vw, 3.75rem);
	width: 482px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.menu-cat .restorator-menu-item__thumbnail {
	margin-left: -1.25rem;
}
.menu-cat .image {
	position: relative;
	width: 482px;
	flex-grow: 1;
}
.menu-cat .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.title-border-center {
	text-align: center;
	margin-bottom: 3rem;
	position: relative;
	display: inline-flex;
	text-transform: uppercase;
}
.title-border-center:after {
	content: '';
	position: absolute;
	inset: 0 -32px;
	z-index: -1;
	border: 1px solid;
	mask: var(--mask-to-center);
}

/*  Menu Categories with images
	----------------------------------------------------------------------------- */
.menu-cats-swipe {
	position: relative;
	overflow: hidden;
}
.menu-cats-large-title {
	font-size: 1.25rem;
    text-align: center;
    position: absolute;
    bottom: 1.25rem;
    width: 100%;
    margin: 0;
	color: #fff;
    font-family: var(--font-head);
    z-index: 10;
}
.menu-cats-large-link {
	position: relative;
    overflow: hidden;
    display: block;
    border-radius: 8px;
	color: inherit;
}
.menu-cats-large-link:before {
	content: "";
	position: absolute;
	inset: 2px;
	z-index: 11;
	box-shadow: inset 0 0 6px rgba(255, 255, 255, .25), 0 0 5px rgba(0, 0, 0, .25);
	border-radius: 6px;
}
.menu-cats-large-link:after {
	content: "";
    position: absolute;
    width: 100%;
    height: 30%;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-radius: .625rem;
    background: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%);
    transition: all .25s ease;
}
.menu-cats-large-link:hover:after {
	height: 100%;
}
.menu-cats-large-link img {
	transition: all 4s linear
}
.menu-cats-large-link:hover img {
	transform: scale(1.1);
}



.menu-cat-page {
	margin-bottom: 6rem;
}
.menu-subcat {
	margin-top: 6rem;
}
.menu-subcat .heading {
	margin-bottom: 4rem;
}
.menu-subcat__heading {
	position: relative;
	display: grid;
	height: 40vh;
	min-height: 480px;
	margin-bottom: 4rem;
	border-radius: 16px;
	overflow: hidden;
	display: grid;
    align-items: center;
    justify-content: center;
	box-shadow: 0 6px 16px rgba(0,0,0,0.25);
}


/*  Single Menu Item Page
	----------------------------------------------------------------------------- */
.dishes_menu-template-default .page {
	padding-top: var(--rem-7-15, 240px);
}

/*  Product Card Block S T A R T
	----------------------------------------------------------------------------- */
.product-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    border-radius: 12px;
    box-shadow: 0 9px 16px #00000015;
	outline: 1px solid rgba(127, 127, 127, 0.25);
    margin-bottom: 6rem;
    overflow: hidden;
    z-index: 10;
    justify-content: center;
}
.product-card.no-image {
	grid-template-columns: 1fr;
}
.product-card__media {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.product-card__entry {
	display: grid;
	grid-template-rows: min-content;
	position: relative;
	border-radius: 0 9px 9px 0;
	background-color: hsl( from var(--clr-main-bg) h s l / 80%);
	padding: clamp(1.25rem, -0.15rem + 4.5vw, 4rem) clamp(1.25rem, -0.65rem + 6vw, 5rem);
}
.product-card__title {
	font-size: clamp(1.125rem, -0.3333rem + 4.8611vw, 2rem);
}
.product-card__meta {
	font-size: .75em;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 1em 0;
}
.product-card__meta a {
	text-decoration: none;
	font-weight: 400;
}
.product-card__footer {
	align-self: end;
    margin-top: 32px;
}
/*  E N D - Product Card Block
	-------------------------------------- */




.cat-menu-heading {
	display: grid;
	align-items: center;
	justify-content: center;
	height: 45vh;
	position: relative;
	margin-bottom: 4rem;
	overflow: hidden;
}
.cat-menu-heading img {
	object-fit: cover;
	width: 100%;
	height: 140%;
	position: absolute;
	inset: 0;
}

.cat-menu-heading .info {
	position: relative;
	backdrop-filter: blur(32px);
	max-width: 644px;
	padding: 48px;
	text-align: center;
	border-radius: 12px;
	overflow: clip;
	box-shadow: 0 0 32px #0000004d;
}
.cat-menu-heading .info:before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--clr-main-bg);
	z-index: -1;
	opacity: .85;
}
.cat-menu-heading .info:after {
	content: "";
	position: absolute;
	inset: 2px;
	z-index: 11;
	box-shadow: inset 0 0 2px rgba(255,255,255,.15), 0 0 2px rgba(0,0,0,.25);
	border-radius: 12px;
	z-index: -1;
}
.cat-menu-heading .info h2 {
	font-size: 2.25rem;
	position: relative;
	display: inline-flex;
	margin: 0;
}
.cat-menu-heading .info h2:after {
	content: '';
	position: absolute;
	inset: 0 -48px;
	z-index: -1;
	border: 1px solid;
	mask: var(--mask-to-center);
}
.cat-menu-heading .info p {
	text-transform: uppercase;
}
.cat-menu-heading .info p:last-child {
	margin-bottom: 0;
}
.parallax-cat {
	margin-bottom: 5rem;
}
.parallax-cat .content {
	margin-top: 2rem;
}
.single-cat-desc {
	max-width: 640px;
	margin: 5rem auto;
	text-align: center;
	font-size: 1.125rem;
}
.featured-menu {
	margin-bottom: 96px;
}
.featured-menu .heading {
	margin-bottom: 4rem;
}


/*  Short Info S T A R T
	----------------------------------------------------------------------------- */
.short-info {
	background: var(--clr-contrast-bg) url('assets/images/noise.webp');
	background-attachment: fixed;
	color: var(--clr-contrast-tx);
	text-align: center;
	height: 220px;
	display: grid;
	align-items: center;
	letter-spacing: 1px;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.short-info-title {
	position: relative;
	padding: 1em;
	margin: 0;
	z-index: 10;
}
.short-info-title-head {
	font-size: 2rem;
}
.short-info-title-deco {
	font-size: clamp(2rem, 1.2692rem + 3.0769vw, 2.5rem);
	font-family: var(--font-deco);
	letter-spacing: 2px;
	z-index: 2;
}
.short-info-image {
	z-index: 1;
}
/*  E N D Short Info
----------------------------------------------------------------------------- */


/*  Swiper navigation S T A R T
----------------------------------------------------------------------------- */ 
.prev-circle,
.next-circle {
	position: absolute;
	top: 50%;
	width: 3rem;
	height:  3rem;
	background: #000;
	transform: translateY(-50%);
	z-index: 10;
	border-radius: 50%;
	color: var(--clr-main-tx);
	font-size: 2rem;
	font-family: var(--font-head);
	background: var(--clr-main-bg);
}
.prev-circle {
	left: 0;
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
	border-radius: 50%;
	transform:translateY(-50%) translateX(-50%);
	box-shadow: inset -3px 0 3px rgba(0, 0, 0, 0.1);
}
.next-circle {
	right: 0;
	border-radius: 30% 70% 63% 37%  / 50% 45% 55% 50%;
	border-radius: 50%;
	transform:translateY(-50%) translateX(50%);
	box-shadow: inset 3px 0 3px rgba(0, 0, 0, 0.1);
}
.prev-circle:hover,
.next-circle:hover {
	background: var(--clr-main-bg);
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
}
.swiper-button-disabled {
	pointer-events: none;
	cursor: default;
	color: rgba(127,127,127,0.5);
}
.slider-pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 45px;
}
.slider-pagination .bullet {
	width: 10px;
	height: 10px;
	background: rgba(0, 0, 0, 0.1);
	opacity: 1;
	box-shadow: inset 0 1px 1px #777;
	display: block;
	border-radius: 50%;
}
.slider-pagination .active {
	background-color: var(--clr-main-ac);
}

@media (max-width: 640px) {
	.prev-circle,
	.next-circle {
		display: none;
	}
}

/*  E N D Swiper navigation 
----------------------------------------------------------------------------- */ 

/*  Contrast Colors S T A R T
----------------------------------------------------------------------------- */ 
.contrast-colors {
	background: var(--clr-contrast-bg) url(assets/images/noise.webp);
	background-attachment: fixed;
	color:  var(--clr-contrast-tx);
	padding: 80px 0;
}
.contrast-colors.has-img {
	overflow: hidden;
	position: relative;
}
.contrast-colors .cover {
	z-index: 1;
	filter: grayscale(1) opacity(.05);
}
.contrast-colors .wrap {
	position: relative;
	z-index: 10;
}
/*  E N D Contrast Colors
----------------------------------------------------------------------------- */ 


/*  Testimonials Single S T A R T
----------------------------------------------------------------------------- */ 
.testimonials-slider-single blockquote {
	text-align: center;
	font-size: 1.125rem;
	font-style: italic;
	cursor: default;
	max-width: 640px;
	margin: auto;
	padding: 0;
	border: 0 none;
}
.testimonials-slider-single blockquote img {
	border-radius: 50%;
	width: 96px;
	height: auto;
	border: 2px solid #fff;
	box-shadow: 0 0 2px #00000085;
	border-radius: 30% 70% 63% 37%  / 50% 45% 55% 50%;
}
.testimonials-slider-single blockquote p {
	margin: 1rem 0;
}
.testimonials-slider-single .nav {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 2rem;
	margin-bottom: 3px;
}
.testimonials-slider-single .nav button {
	width: 32px;
	height: 32px;
	box-shadow: 0 0 1px #000000b3;
	font-size: 32px;
	line-height: 20px;
	font-family: var(--font-head);
	transition: all 250ms;
}
.testimonials-slider-single .nav button:hover {
	color: var(--clr-main-bg);
	background-color: var(--clr-main-tx);
}
.testimonials-slider-single .nav .prev {
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;

}
.testimonials-slider-single .nav .next {
	border-radius: 30% 70% 63% 37%  / 50% 45% 55% 50%;

}
.testimonials-slider-single:before,
.testimonials-slider-single:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	background: var(--clr-main-bg);
	z-index: 10;
}
.testimonials-slider-single .icon-quote-left {
	font-size: 30px;
	opacity: 0.25;
}

.testimonials-slider-single:before {
	left: 0;
	mask: var(--mask-to-right);
}
.testimonials-slider-single:after {
	right: 0;
	mask: var(--mask-to-left);
}
.testimonials-slider-single blockquote cite {
	font-family: var(--font-head);
	color: var(--clr-main-ac);
	font-style: normal;
}

/*  E N D Testimonials Single
	----------------------------------------------------------------------------- */ 

/*  Testimonials Multiple S T A R T
	----------------------------------------------------------------------------- */ 
.testimonials-multiple-swiper {
	position: relative
}
.testimonials-multiple  {
	align-items: center;	
	align-content: center;	
}
.testimonials-multiple-item{
	padding: 32px;
	border-radius: 9px;
	background: rgba(127,127,127, 0.05);
	outline: 1px solid rgba(127,127,127,0.15);
	box-shadow: 0 3px 16px rgba(0,0,0,0.1);
}
.testimonials-multiple-item__heading {
    display: flex;
    gap: 1em;
    margin-bottom: 15px;
}
.testimonials-multiple-item__title {
	margin: 0;
	font-size: 18px;
	margin-bottom: 0;
	text-indent: 3px;
}
.testimonials-multiple-item__desc {
	opacity: .75;
}
img.testimonials-multiple-item__image {
    border-radius: 50%;
    max-width: 4rem;
	height: auto;
}
/*  E N D Testimonials Multiple 
	----------------------------------------------------------------------------- */ 

/*  Info Blocks S T A R T
	----------------------------------------------------------------------------- */ 
.contact-details .boxes {
	display: grid;
	list-style: none;
	gap: 2rem;
	margin: auto
}	
.contact-details .cols-2 {
	grid-template-columns: repeat(2, 1fr);
}
.contact-details .cols-3 {
	grid-template-columns: repeat(3, 1fr);
}
.contact-details .cols-4 {
	grid-template-columns: repeat(4, 1fr);
}
.contact-details .boxes .box {
	background: rgba(127,127,127,0.05);
	border: .0625rem solid rgba(127,127,127,0.1);
	padding: 4rem 3rem 3rem;	
	border-radius: .25rem;
	position: relative;
	text-align: center;
}
.contact-details .cols-4 .box {
	padding: 3.5rem 2rem 2.5rem;
}
.contact-details .boxes .box:after {
	content: '';
	position: absolute;
	inset: .1875rem;
	z-index: 11;
	box-shadow: inset 0 0 .375rem rgba(255,255,255,.25), 0 0 .125rem rgba(0,0,0,.1);
	z-index: -1;
}
.contact-details .boxes .box h3 {
	font-size: var(--wp--preset--font-size--medium);
}
.contact-details .boxes .box p {
	margin: 0;
	font-size: 15px;
	margin-top: .5em;
}
.contact-details svg {
	height: .875rem;
	fill: var(--clr-main-bg);
}
.contact-details .icon-wrap {
	width: 4.5rem;
	font-size: .9375rem;
	height: 2.8125rem;
	line-height: 2.8125rem;
	position: absolute;
	top: -0.1875rem;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 0% 0% 50% 50%;
	box-shadow: 0 .0625rem .0625rem rgba(0, 0, 0, 0.3);
	z-index: 1;
	background-color: var(--clr-main-ac);
	color: var(--clr-main-bg);
	box-shadow: 0 .0625rem .0625rem #0000007a;
	z-index: -1;
}
@media (max-width: 1240px) {
	.contact-details .cols-4 {
		grid-template-columns: 1fr 1fr;
		max-width: 748px
	}
}
@media (max-width: 960px) {
	.contact-details .cols-3 {
		grid-template-columns: 1fr;
		max-width: 408px
	}
}
@media (max-width: 640px) {
	.contact-details .cols-4,
	.contact-details .cols-2 {
		grid-template-columns: 1fr;
		max-width: 408px
	}
}
/*  Info Blocks E N D
	----------------------------------------------------------------------------- */ 

/*  Location Single S T A R T
	----------------------------------------------------------------------------- */ 
.location-info {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 90px;
	margin-bottom: 96px;
}
.location-info .general {
	padding-top: 64px;
}
.location-info .title-underline {
	margin-bottom: 32px;
}
.full-hours {
	padding: 40px 0 24px;
	width: 376px;
	align-self: end;
	background: rgba(127, 127, 127, 0.05);
	border: .0625rem solid rgba(127, 127, 127, 0.1);
	border-radius: 8px;
	box-shadow: 0 16px 32px rgba(0,0,0,0.15);
	text-align: center;
	margin-top: -6px;
}
.full-hours h3 {
	color: var(--clr-main-ac);
	font-size: 2rem;
	position: relative;
	display: inline-flex;
	font-family: var(--font-deco);
	margin-bottom: 8px;
}
.full-hours h3:after {
	content: '';
	position: absolute;
	inset: 0 -2rem;
	border-bottom: 1px solid var(--clr-main-ac);
	mask: var(--mask-to-center);
	z-index: -1;
	transition: 125ms all;
}
.hours-table li {
	display: flex;
	justify-content: space-between;
	margin: 6px 0;
	padding: 0.75em 2.5em;
}
.hours-table li h5 {
	font-size: inherit;
	padding-right: 2em;
}
.hours-table li p {
	margin: 0;
}
.hours-table li.today {
	position: relative;
}
.hours-table li.today > * {
	z-index: 2;
}
.hours-table li.today:after {
	content: '';
	position: absolute;
	inset: 0;
	border-top: 1px solid var(--clr-main-ac);;
	border-bottom: 1px solid var(--clr-main-ac);
	background: #fff;
	mask: linear-gradient(90deg, transparent, white 40%, white 60%, transparent);
}
.hours-table th {
	text-transform: none;
	font-weight: 400;
}
.hours-table td {
	text-align: right;
}

.location-details li {
	display: flex;
	align-items: center;
	gap: 1em;
	margin-bottom: 14px;
}
.location-details.bg-iicons li:before {
	min-width: 40px;
	height: 40px;
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
	background: var(--clr-main-ac);
	color: var(--clr-main-bg);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
}
.location-details li:before {
	color: var(--clr-main-ac);

}
.location-details a {
	text-decoration: none;
	color: inherit;
}
@media (max-width: 960px) {
	.location-info {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 2rem;
	}
}
@media (max-width: 480px) {
	.full-hours {
		width: 100%;
	}
}

/*  Location Nav
	-------------------------------------- */ 
.location-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	flex-wrap: wrap;
	justify-content: center;
	margin: 129px 0;
	border-radius: 12px;
	overflow: clip;
	background: rgba(127, 127, 127, 0.05);
	outline: 1px solid rgba(127, 127, 127, 0.1);
	transition: 325ms all;
	box-shadow: 0 .25rem 2rem rgba(0, 0, 0, 0.15);
}
.location-list h2 {
	font-size: clamp(1.25rem, 1.0833rem + 0.8333vw, 1.75rem);
}
.location-list .content {
	padding: clamp(2rem, 0.75rem + 5vw, 2.75rem)clamp(1.75rem, 0.75rem + 5vw, 4.75rem);
	display: grid;
	align-content: center;
	position: relative;
}
.location-list img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.location-list .btn-underline {
	justify-self: baseline;
	margin-top: 2em;
}
.location-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 32px;
	margin: 5rem 0;
}
.location-grid img {
	width: 100%;
	height: auto;
}
.location-grid > li {
	background: rgba(127,127,127, 0.05);
	border-radius: 8px;
	overflow: clip;
}
.location-grid .info {
	padding: 32px;
}
.location-grid .info h3 {
	font-size: var(--wp--preset--font-size--medium);
	margin-bottom: 16px;
}
.location-grid a {
	color: inherit;
	text-decoration: none;
}
@media (max-width: 980px) {
	.location-list {
		grid-template-columns: 1fr;
		max-width: 480px;
		margin: 4em auto;
	}
	.location-grid {
		grid-template-columns: 1fr;
		
	}
}
/*  E N D - Location Single 
	----------------------------------------------------------------------------- */

/*  Map - S T A R T
	----------------------------------------------------------------------------- */
#map {
	z-index: 10;
}
.map-tiles {
	filter: grayscale(75%)
} 

.leaflet-container .leaflet-marker-pane img {
	filter: sepia(1);
} 
.content-map {
	height: 40vh;
}
.leaflet-control-attribution {
	display: none;
}
.leaflet-right .leaflet-control {
	margin-right: 20px;
}
.leaflet-bottom .leaflet-control {
	margin-bottom: 20px;
}

/*  E N D - Map
----------------------------------------------------------------------------- */

.section-block {
	margin-top: 90px;
	margin-bottom: 90px;
}
.section-block:first-child {
	margin-top: 0;
}

/*  Elementor Gallery - S T A R T
	----------------------------------------------------------------------------- */ 
.gallery .gallery-item {
	padding: 16px;
	border-radius: 12px;
}
.gallery .gallery-item img {
	border-radius: 9px;
	outline: 1px solid rgba(127,127,127,0.1);
	box-shadow: 0 4px 16px #0006;
}
/*  E N D - Elementor Gallery
	----------------------------------------------------------------------------- */ 

/*  Restorator Gallery S T A R T
	----------------------------------------------------------------------------- */
.restorator-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2em;
}
.restorator-gallery.cols-3 {
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;


}
.restorator-gallery.cols-4 {
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}


img.restorator-gallery-image {
	border-radius: 9px;
	box-shadow: 0 3px 9px #00000032;
	transition: all 250ms;
}
img.restorator-gallery-image:hover {
	box-shadow: 0 6px 9px #00000032;
	transform: translateY(-3px);
}
.vbox-container {
	overflow: hidden;
}
.vbox-child,
.vbox-child img {
	border-radius: 12px;
}

@media (max-width: 768px) {
	.restorator-gallery.cols-3,
	.restorator-gallery.cols-4 {
		grid-template-columns: 1fr 1fr !important;
		gap: 1em;
	}
}



/*  E N D Restorator Gallery 
	----------------------------------------------------------------------------- */

/*  Date Picker S T A R T
	----------------------------------------------------------------------------- */ 
.ui-datepicker {
	z-index: 99 !important;
	width: 100%;
	max-width: 402px;
	background: #fff;
	padding: 24px;
	box-shadow: 0 6px 32px rgba(0,0,0,0.15);
	cursor: default;
	border-radius: 12px;
	overflow: hidden;
	display: none;
}
.ui-datepicker:after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(127,127,127,0.05);
	z-index: -1;
}
.ui-datepicker-calendar thead {
	font-family: var(--font-head);
	position: relative;
}
.ui-datepicker-calendar thead:after {
	content: '';
	position: absolute;
	inset: 0;
	background: #fff;
	border: 1px solid var(--clr-main-ac);
	mask: var(--mask-to-center);
}
.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
	text-align: center;
	padding: 0;
	position: relative;
	z-index: 10;
}
.ui-datepicker-calendar th span,
.ui-datepicker-calendar td span {
	display: block;
	line-height: 2.75rem;
}
.ui-datepicker-title {
	text-align: center;
	font-family: var(--font-deco);
	font-size: 20px;
	position: relative;
	padding-bottom: .5rem;
}
.ui-datepicker-prev,
.ui-datepicker-next {
	position: absolute;
	top: 20px;
	cursor: pointer;
	padding: 10px;
	color: var(--color-contrast);
	z-index: 10;
}
.ui-datepicker-prev span,
.ui-datepicker-next span {
	display: none;
}
.ui-datepicker-prev {
	left: 24px;
}
.ui-datepicker-next {
	right: 24px;
}
.ui-datepicker-prev:after, 
.ui-datepicker-next:after {
	content: '';
	width: 12px;
	height: 12px;
	border: 1px solid;
	border-top: 0;
	display: block;
}
.ui-datepicker-prev:after {
	rotate: 45deg;
	border-right: 0;
}
.ui-datepicker-next:after {
	rotate: -45deg;
	border-left: 0;
}
.ui-state-disabled {
	opacity: .5;
	cursor: default;
}
.ui-datepicker table a {
	text-decoration: none;
	display: block;
	border: 1px solid transparent;
	border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
	line-height: 2.75rem;
	color: inherit;
}
.ui-datepicker a:hover,
.ui-datepicker a:focus {
	border-color: var(--clr-main-ac);
}
.ui-datepicker a.ui-state-active {
	border-color: var(--clr-main-ac);
}
/*  E N D Date Picker
	----------------------------------------------------------------------------- */ 

/*  Page 404 S T A R T
	----------------------------------------------------------------------------- */ 
.error404 {
	color: #fff;
	background: var(--clr-contrast-bg) url(assets/images/noise.webp);
	display: grid;
	align-content: center;
	justify-content: center;
	text-align: center;
}
.error404 h1 {
	font-size: 160px;
	line-height: 1;
	margin: 0;
	background: radial-gradient(#fff, #616161);
	background-size: 100% 200%;
	background-position: 50% 100%;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}   
.error404 h2 {
	font-family: var(--font-deco);
	font-size: 40px;
	color: var(--clr-main-ac);
}
.box-404 {
	margin: 1.875rem .9375rem;
	padding: 25% 7.8125rem;
	box-shadow:0 .25rem 2rem #00000033;
	position: relative;
	-webkit-backdrop-filter: blur(2rem);
	backdrop-filter: blur(2rem);
	border-radius: .25rem;
}
.box-404:after {
	content: "";
	position: absolute;
	inset: .1875rem;
	z-index: 11;
	box-shadow: inset 0 0 .375rem rgba(255,255,255,.1), 0 0 .3125rem rgba(0,0,0,.25);
	border-radius: .25rem;
	z-index: -1;
}
.error404 hr {
	width: .0625rem;
	height: 5.625rem;
	margin: .9375rem auto;
	border: 0 none;
	background: radial-gradient(circle at center, var(--clr-main-ac) 0%, transparent 100%);
}
.box-404 .btn {
	margin-top: 3rem;
}
/*  E N D Page 404
----------------------------------------------------------------------------- */ 

/*  Backward compatibility v4.0
	----------------------------------------------------------------------------- */ 
.elementor-section {
	margin-top: 90px;
	margin-bottom: 90px;
}
.elementor-section:first-child {
	margin-top: 0;
}
.theme-widget .heading {
	margin-bottom: 4rem;
}



/* WP Post Page Navigation : S T A R T
	----------------------------------------------------------------------------- */ 
.post-page-nav {
	text-align: center;
	font-family: var(--font-head);
	font-size: 1em;
	display: flex;
	justify-content: center;
}
.post-page-numbers {
	text-decoration: none;
	color: inherit;
	font-family: var(--font-head);
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	text-align: center;
	display: block;
	position: relative;
}
.post-page-numbers.current {
	color: var(--clr-main-ac);
    background: var(--clr-main-bg);
    border-radius: 63% 37% 30% 70% / 50% 45% 55% 50%;
    border: 1px solid #00000030;
}
/*	E N D : WP Post Page Navigation
	----------------------------------------------------------------------------- */ 


/*  Search Form : S T A R T
	----------------------------------------------------------------------------- */ 
.search-form {
	position: relative;
	margin-top: 2rem;
}
.search-form__field {
	width: 100%;
	border: 1px solid rgba(127,127,127,0.75);
	height: 64px;
	border-radius: 9px;
	padding: 0 4rem 0 1rem;
	font-size: 1.5rem;
	font-family: inherit;
	font-weight: 300;
}
.search-form__submit {
	position: absolute;
	right: 0;
	background: none;
	height: 4rem;
	width: 4rem;
	padding: 0;
	opacity: .25;
}
.search-form__submit:after {
	content: '\e806';
    font-family: 'Icons';
    font-size: 1.5rem;
    color: var(--clr-main-tx);
}
.search-form__submit:hover {
	opacity: 1;

}
.no-results {
	text-align: center;
}
/*	E N D : Search Form
	----------------------------------------------------------------------------- */ 

/* WPGallery : S T A R T
	----------------------------------------------------------------------------- */ 
.gallery-size-thumbnail .gallery-item {
	padding: 0;
	max-width: initial !important;
}	
.gallery-item img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.gallery {
	display: grid;
	gap: 2em;
}
.gallery-size-thumbnail.gallery-columns-1 {
	display: grid;
	max-width: 348px;
	gap: 2em;
}
.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}
.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}
.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
	gap: 1em;
}
.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
	gap: 1em;
}
.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
	gap: 1em;
}
.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
	gap: 1em;
}
.gallery-columns-9 {
	grid-template-columns: repeat(8, 1fr);
	gap: 1em;
}


/* Gutenberg Elements : S T A R T
	----------------------------------------------------------------------------- */ 
.wp-block-site-title {
	font-size: 1.25em;
	letter-spacing: .1875em;
}
.wp-block-site-tagline {
	font-size: .4375em;
	text-transform: uppercase;
	letter-spacing: .4375em;
	text-indent: .4375em;
}	


/* WP BLock : Latest Comments : S T A R T
	----------------------------------------------------------------------------- */ 

.wp-block-latest-comments__comment {
	margin-bottom: .75em;
}
.wp-block-latest-comments__comment-author {
	font-weight: 400;
}
.wp-block-latest-comments__comment-link {
	display: block;
}

/*  WP BLock : Search : S T A R T
	----------------------------------------------------------------------------- */ 
.wp-block-search__label {
	font-size: 1.25rem;
	position: relative;
	margin-bottom: 1rem;
	position: relative;
	font-family: var(--font-head);
}
.wp-block-search__label:after {
	content: '';
	position: absolute;
	height: 100%;
	left: -.5rem;
	border-left: 1.5px solid var(--clr-main-ac);
	mask: var(--mask-center-vr);
}
.wp-block-search__inside-wrapper {
	position: relative;
	border: 1px solid rgba(127,127,127,0.5);
	border-radius: 6px;
	overflow: hidden;
}
.wp-block-search__inside-wrapper:after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--clr-main-bg);
	opacity: .5;
	z-index: -1;
}
.wp-block-search__input {
	background: none;
	border: 0 none;
	height: 2.5rem;
	padding-right: 40px;
}
.wp-block-search__button {
	background: none;
	font-size: 0;
	border: 0 none;
	position: absolute;
	right: 0;
	width: 40px;
	height: 40px;
	opacity: .5;
}
.wp-block-search__button:hover {
	opacity: 1;
}
.wp-block-search__button:after {
	content: '\e806';
	font-family: 'Icons';
	font-size: 16px;
	color: var(--clr-main-tx)
}
/*  E N D WP Search 
	----------------------------------------------------------------------------- */ 

/*  Footer Widgets : Deprecated : S T A R T
	----------------------------------------------------------------------------- */ 
.footer-widgets {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	text-align: center;
	clear: both;
	position: sticky;
    top: 100%;
	background-color: var(--clr-foot-bg);
	color: var(--clr-foot-tx);
}
.footer-widgets .widget {
	padding: 60px 30px;
	vertical-align: top;
	flex-grow: 1;
	margin-bottom: 0;
}
.footer-widgets .widget li {
	padding: 0;
}
.footer-widgets .widget_cristiano_contact {
	background-color: rgba(255,255,255,0.03)
}
.footer-widgets .block {
	padding: 0 30px;
}
.footer-widgets ul {
	margin-bottom: 0;
}
.footer-widgets .contact-info .hours {
	font-size: 13px;
}
.footer-widgets h2 {
	font-size: 21px;
	margin-bottom: 15px;	
	text-transform: none;
	letter-spacing: 1px;
	color: var(--clr-foot-ac);
}
.footer-widgets .social {
	text-align: center;
	margin-top: 1.5em;
}
.footer-widgets .social a {
	width: 45px;
	line-height: 45px;
	display: inline-block;
	background-color: rgba(255,255,255,0.05);
	border-radius: 50%;
}
.footer-widgets a:hover {
	color: var(--clr-foot-ac);
}
.footer-widgets input[type=text],
.footer-widgets input[type=email] {
	max-width: 350px;
	height: 40px;	
	background-color: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.1);
	color: #fff;
}
.footer-widgets input[type='submit'] {
	background-color: var(--footer-ac);
	color:  var(--footer-bg);;
	height: 40px;
}
.footer-widgets label {
	display: block;
}
.footer-widgets input[type='submit']:hover {
	opacity: 0.8;
}
/*  E N D : Footer Widgets : Deprecated
	----------------------------------------------------------------------------- */