@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Manrope:wght@200..800&display=swap');
/* -- Color -- */
:root{
    --ws-sand: #fcf8f2;
    --ws-sand-rgb: 252, 248, 242;
    --ws-petrol:#061E23;
    --ws-petrol-rgb: 6, 30, 35;
    --ws-coffee: #9c8c85;
    --ws-coffee-rgb: 156, 140, 133;
}

.color-sand{color: var(--ws-sand)!important;}
.bg-sand{background-color: var(--ws-sand)!important;}
.color-petrol{color: var(--ws-petrol)!important;}
.bg-petrol{background-color: var(--ws-petrol)!important;}
.color-coffee{color: var(--ws-coffee)!important;}
.bg-coffee{background-color: var(--ws-coffee)!important;}


.required-error{border-color: #FF0000 !important;}
.text-red-error, .error{color: #FF0000 !important; font-size: 14px; font-weight: 600;}
/* --- MENU CSS ---*/
#header-wrap {padding: 5px 0px;}
.is-expanded-menu #header.transparent-header.semi-transparent {--cnvs-header-bg: /*rgba(46, 54, 79, .8)*/rgba(6, 30, 35, .8);}
.is-expanded-menu .sticky-header #header-wrap {background-color: rgba(243, 240, 226, 1);}
.is-expanded-menu.overlay-menu .primary-menu > .container {max-height: 90%;  overflow-y: auto;}
.is-expanded-menu.overlay-menu .menu-container {max-width: 90%;}
body.block-menu-full .primary-menu, .block-menu-full .primary-menu p { font-family: "Noto Sans", sans-serif; }
.is-expanded-menu.overlay-menu .primary-menu .cotainer {opacity: 0; display: none;}
.is-expanded-menu.overlay-menu.primary-menu-open .primary-menu .cotainer {opacity: 1; display:inherit;}
/* --- END MENU CSS ---*/

/* --- SLIDER REV ---*/
.overlay-slider{ width: 100%; height: 100%; position: relative; z-index: 1;}
.dark .overlay-slider{background: rgba(255, 255, 255, 0.4);}
.light .overlay-slider{background: rgba(0, 0, 0, 0.3);}
.revo-slider-emphasis-text {
    font-size: 64px;
    font-weight: 700;
    letter-spacing: -1px;
    font-family: "Noto Sans", sans-serif;
    padding: 15px 20px;
    border-top: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
}

.revo-slider-desc-text {
    font-size: 20px;
    font-family: "Noto Sans", sans-serif;
    width: 650px;
    text-align: center;
    line-height: 1.5;
}

.revo-slider-caps-text {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 3px;
    font-family: "Noto Sans", sans-serif;
}

.dark .revo-slider-emphasis-text, .dark .revo-slider-caps-text, .dark .revo-slider-desc-text{color:#000;}
.light .revo-slider-emphasis-text, .light .revo-slider-caps-text, .light .revo-slider-desc-text{color:#fff;}
.tp-video-play-button {
    display: none !important;
}

.tp-caption {
    white-space: nowrap;
}
/* --- END SLIDER REV ---*/

#slider-home{
    background-color: var(--ws-sand);
}
/* Testata */
.custom-hero{
    position:relative;
    overflow:hidden;
    width:100%;
    height:85vh;
    margin-top: -80px;
    padding-top: 80px;
}
.custom-hero.h-ws-100{height:100vh!important;}
/* Mobile = fullscreen */

@media (max-width:768px){

    .custom-hero{
        height:100vh;
    }

}

/* Immagine fallback */
.custom-hero-bg{
    position:absolute;
    inset:0;
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:translateY(0);
    will-change:transform;
    z-index:1;
}
/* Video */
.custom-hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    z-index:2;
}
/* Overlay */
.custom-hero-overlay{
    position:absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    inset:0;
    background: transparent url("../images/grid.png") repeat;
	background-color: rgba(33, 37, 41, 0.25) !important;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
	z-index: 3;
}

/* Contenuto */

.custom-hero-content{
    position:relative;
    z-index:4;

    height:100%;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    color:#fff;

    padding:20px;
}

/* Performance */

.custom-hero,
.custom-hero-video,
.custom-hero-bg{
    backface-visibility:hidden;
    transform-style:preserve-3d;
}
/* END TESTATA */
/* SERVICE HOME */
.img-hover-wrap {
    -webkit-transition: transform .3s ease;
    -o-transition: transform .3s ease;
    transition: transform .3s ease;
    -moz-transform-style: flat !important;
    -webkit-backface-visibility: hidden;
}
.img-hover-wrap:hover {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    -o-transform: scale(1.06);
    transform: scale(1.06);
    z-index: 2;
    cursor: pointer;
}
.img-hover-card > a::after {
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 0;
    -webkit-transition: background-color .3s ease;
    -o-transition: background-color .3s ease;
    transition: background-color .3s ease;
}
.img-hover-wrap:hover .img-hover-card > a::after {
    background-color: rgba(0, 0, 0, 0.6);
}
.img-hover-card {
    position: relative;
    display: block;
    will-change: transform;
    transition: all .3s ease;
    box-shadow: 0 10px 40px transparent;
	overflow: hidden;
}
.img-hover-card a {
    width: 100%;
    max-width: 100%;
    display: block;
    z-index: 99;
}
.link-full {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 927;
    text-indent: -99999px;
    background: transparent;
    cursor: pointer;
}
.img-hover-card.hover-in {
    transition: -webkit-transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}
.img-hover-card.hover-3d {
    z-index: 2;
}
.img-hover-card.hover-out {
    transition: -webkit-transform .2s ease-in;
    transition: transform .2s ease-in;
    transition: transform .2s ease-in, -webkit-transform .2s ease-in;
}
.img-hover-wrap:hover .img-hover-card {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}
.img-hover-wrap .img-hover-detail {
    position: absolute;
    top: auto;
    left: 0px;
    bottom: 30px;
	width: 100%;
	padding-left: 40px;
	padding-top: 10px;
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    -webkit-transform: scale(1) translateY(40px) translateZ(0px);
    -ms-transform: scale(1) translateY(30px) translateZ(0px);
    -o-transform: scale(1) translateY(30px) translateZ(0px);
    transform: scale(1) translateY(30px) translateZ(0px);
    -webkit-transition: transform .2s ease;
    -o-transition: transform .2s ease;
    transition: transform .2s ease;
}
.img-hover-wrap:hover .img-hover-detail {
    opacity: 1;
	padding-bottom: 10px;
    -webkit-transform: scale(1.06) translateY(-5px) translateZ(50px);
    -ms-transform: scale(1.06) translateY(-5px) translateZ(50px);
    -o-transform: scale(1.06) translateY(-5px) translateZ(50px);
    transform: scale(1.06) translateY(-5px) translateZ(50px);
}
.hover-detail-bg::after {
  content: ""; /* Obbligatorio per far apparire lo pseudo-elemento */
  display: block; /* Rende l'elemento un blocco per accettare larghezza e altezza */
  width: 100%; /* Larghezza personalizzata */
  height: 100%; /* Altezza personalizzata */
  position: absolute; /* Posizionamento rispetto al genitore */
  top: 0;
  left: 0;
  background-color: rgba(6, 30, 35, .8);
  z-index: -1;
}
.hover-detail-bg .text-light{font-size: 16px;}
.img-hover-wrap .img-hover-title {
    margin: 0 0 6px 0;
    font-size: 25px;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    z-index: 9;
}
.img-hover-wrap .img-link {
    opacity: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #FFF;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
    font-size: 11px;
    -webkit-transition: opacity .3s ease;
    -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}
.img-hover-wrap:hover .img-link {
    opacity: 1;
}
.img-hover-detail a {
    color: #FFF;
}
/*END SERVICE HOME */

/*NEWS*/
.entry {
    background-color: #FFF;
    padding: 0;
    vertical-align: top;
    border-bottom: 0;
    border-radius: 4px;
    -webkit-transform-origin: 50% 50% 0px;
    transform-origin: 50% 50% 0px;
    -webkit-transition: all 250ms cubic-bezier(.02, .01, .5, 1);
    -o-transition: all 250ms cubic-bezier(.02, .01, .5, 1);
    transition: all 250ms cubic-bezier(.02, .01, .5, 1);
}

.entry:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,.05);
    -webkit-transform: translate(0, -8px);
    -ms-transform: translate(0, -8px);
    -o-transform: translate(0, -8px);
    transform: translate(0, -8px);
}

.entry-title,
.entry-meta,
.entry-content {
    padding: 0 20px;
}

.entry-title h3 {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.entry-title a {
    color: #333;
}

.entry-content p {
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
    line-height: 22px !important;
}

.entry-meta {
    font-size: 0.8125rem;
    text-transform: uppercase;
    border-top: 1px solid #E9EBEE;
    padding: 15px 0;
    margin: 15px 15px 0;
}

.dark .entry-meta {
    border-top-color: #444;
}

.entry-meta li {
    margin-left: 0;
    margin-right: 0;
}

.entry::after {
    display: none;
}

.entry-meta li::before {
    content: none;
}

.entry-meta.nohover,
.entry:hover .entry-meta.hover {
    display: block;
}

.entry-meta.hover,
.entry:hover .entry-meta.nohover {
    display: none;
}

.entry-user {
    padding: 20px;
}

.entry-user img {
    display: inline-block;
    height: 48px;
    width: 48px;
    border-radius: 100%;
    background-color: white;
}

.entry-user h4 {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 8px;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.25;
}

.entry-user h4 span {
    display: block;
    font-size: 11px;
    color: #AAA !important;
    text-transform: lowercase;
    font-weight: 300;
}

.entry-image .social-icon {
    display: inline-block;
    float: none;
}
.entry-meta a{color:#000!important; font-weight: 600;}
.entry-meta a:hover{color:#fff!important;}
/*END NEWS*/

/*CONTENUTI INTERINI*/
.video-testata {transform: translateY(-15%);}
.text-fill-effect {
    --cnvs-text-fill-placeholder: rgba(var(--cnvs-contrast-rgb), 0.3);
    --cnvs-text-fill-color: linear-gradient(to right, var(--cnvs-contrast-1000), var(--cnvs-contrast-1000));
    
    -webkit-text-fill-color: var(--cnvs-text-fill-placeholder);
    -webkit-background-clip: text;
    background-clip: text;
    background-image: var(--cnvs-text-fill-color);
    background-repeat: no-repeat;
    
    /* Stato iniziale */
    background-size: calc(var(--progress, 0) * 100%) 100%;
    
    display: inline;
    /* Transizione leggerissima per evitare scatti durante lo scroll */
    transition: background-size 0.15s ease-out;
}
.slide-caption.dark {
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    padding: 0px !important;
}
.link-destinazioni {
    top: 0;
    left: 0;
    z-index: 100;
    text-indent: -99999px;
}
/*END CONTENUTI INTERINI*/

.recipe-items .card img,
.rotating {
	transform: rotate(0deg);
	transition: transform 1.5s linear;
}

.recipe-items .card:hover img,
.rotating:hover {
	transform: rotate(360deg);
	transition: transform 20s linear;
}

.recipe-items .row  {
	border-top: 0px solid #EEE;
	margin-top: 0px;
	margin-bottom: 0px;
}

.recipe-items .row [class^=col-] {
	/*border-right: 1px solid #EEE;
	border-bottom: 1px solid #EEE;*/
}

.recipe-items .card {
	border: 0;
	background: transparent;
	border-radius: 0;
	padding: 20px 10px;
}

.recipe-items .card-author {
	font-size: 12px;
	font-weight: 400;
	color: #AAA;
	margin-bottom: 0;
}

.recipe-items .card-title {
	font-size: 18px;
	line-height: 1.3;
}
.recipe-items .card-author a {
	color: #999;
	text-transform: uppercase;
	margin-left: 2px;
	font-weight: 600;
}

.recipe-items .card-title a { color: #222; }

.recipe-items .card-date {
	margin-top: 15px;
	color: #555;
	margin-bottom: 0;
	font-weight: 400;
}

.recipe-items .card-date i { margin-right: 6px; }

/* Slider Destination Section*/
.block-hero-9 .swiper-horizontal > .swiper-pagination-bullets,
.block-hero-9 .swiper-pagination-custom,
.block-hero-9 .swiper-pagination-fraction {
	left: auto;
	right: 10%;
    bottom: 10% !important;
	width: auto;
}
.block-hero-9 .swiper-pagination {
	padding: 4px 6px;
	width: auto;
}
.block-hero-9 .swiper-pagination span:hover,
.block-hero-9 .swiper-pagination span.swiper-pagination-bullet-active {
	background-color:  #9c8c85 !important;
}
.block-hero-9 .swiper-pagination span { border-color:  #9c8c85 !important; margin: 4px!important; }
/* END Slider Destination Section*/

#slider-home .display-3 {
color: var(--cnvs-contrast-0);
mix-blend-mode: difference;
}

/* ELEMENTI PARALLAX */
.stacked-parallax-container {
    position: relative;
    background: #fcf8f2;
}
.parallax-section {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.parallax-img {
    position: absolute;
    left: 0;
    top: -20%;
    width: 100%;
    height: 130%;
    object-fit: cover;
    object-position: center;
    will-change: transform;
}
.parallax-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.2);
    z-index: 1;
}
.parallax-section .content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    padding: 30px;
    text-align: center;
    color: #fff;
    will-change: transform, opacity;
    opacity: 0;
    transform: translateY(40px);
	background-color: rgba(0, 0, 0, 0.7);
}
.parallax-section h2 {
    margin-bottom: 20px;
    color: #fff;
}
/* END ELEMENTI PARALLAX */
/* GALLERY */
body:not(.device-touch):not(.device-sm):not(.device-xs) .portfolio-overlay-open .portfolio-item .portfolio-image img {
	-webkit-transform: scale(1.02);
	transform: scale(1.02);
	-webkit-transition: all 1.5s ease;
	transition: all 1.5s ease;
	-webkit-transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
}

body:not(.device-touch):not(.device-sm):not(.device-xs) .portfolio-overlay-open .portfolio-item:hover .portfolio-image img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}

.portfolio-desc h3 {
	font-weight: bold;
	letter-spacing: 2px;
	font-size: 18px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.15);
}
/* END GALLERY */
/* FOOTER */
.bg-dark-green, .h-bg-dark-green:hover {background-color: #061E23 !important; color: #C1A324 !important;}
.color-dark-green, .h-color-dark-green:hover {color: #061E23 !important;}
.bg-color-brown, .h-bg-color-brown:hover {background-color: #C1A324 !important;}
.color-brown, .h-color-brown:hover {color: #C1A324 !important;}
.border-color-brown, .h-border-color-brown:hover {border-color: #C1A324 !important;}
#footer .social-icon {--cnvs-socialicon-size: 2.2rem; --cnvs-socialicon-fontsize: 1rem;}
.tit-footer{font-family: "Noto Sans", sans-serif; text-transform: uppercase; font-weight: 600; font-size: 2.5rem; letter-spacing: 3px;}

/*RESPONSIVE*/
@media (max-width: 319.98px) {
.block-menu-full.overlay-menu.dark .primary-menu .container,
.block-menu-full.overlay-menu .dark .primary-menu .container,
.block-menu-full.overlay-menu .primary-menu.dark .container {
    background-color: #061E23/*2E364F*/;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
}
#header-wrap .container{max-width: 100%;}
}
@media (max-width:767px) {#logo{margin-left: 0px!important;}}
@media (min-width: 577px) {
.block-menu-full.overlay-menu .primary-menu {
    height: calc(100vh - 85px);
    top: 85px;
    background-color: #F3F0E2;
}
.block-menu-full.overlay-menu.dark .primary-menu,
.block-menu-full.overlay-menu .dark .primary-menu,
.block-menu-full.overlay-menu .primary-menu.dark {
    background-color: #061E23/*2E364F*/;
}

.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller) > .menu-link {
    position: relative;
    display: inline-block;
    font-size: 3rem;
    margin-top: 15px;
    margin-bottom: 15px;
    font-family: "Noto Sans", sans-serif;
    font-weight: 700;
    transition: all .2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before {
    content: '';
    position: absolute;
    width: 0%;
    height: 6px;
    bottom: -7px;
    margin-top: -3px; /*  Half of height */
    transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    background-color: #444;
}
.block-menu-full.overlay-menu.dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before,
.block-menu-full.overlay-menu .dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before,
.block-menu-full.overlay-menu .primary-menu.dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before {
    background-color: #F3F0E2;
}
.block-menu-full.overlay-menu .menu-container > .menu-item:hover > .menu-link::before,
.block-menu-full.overlay-menu .menu-container > .menu-item.current > .menu-link::before {
    width: 100%;
}
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller):hover > .menu-link,
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller).current > .menu-link {
    font-family: "Noto Sans", sans-serif;
    font-style: italic;
    color: rgba(var(--cnvs-contrast-rgb), 0.2);
}
.block-menu-full.overlay-menu:not(.top-search-open) #primary-menu-trigger {
    --size: 40px;
    width: var(--size, 40px);
    height: var(--size, 40px);
    line-height: var(--size, 40px);
    background-color: #061E23/*2E364F*/;
}
.block-menu-full #primary-menu-trigger .svg-trigger path {stroke: #F3F0E2;}
}
@media (max-width: 576px) {
.is-expanded-menu.overlay-menu .menu-container {
    max-width: 100%;
}
.block-menu-full.overlay-menu .primary-menu {
    height: calc(100vh - 85px);
    top: 85px;
    background-color: #F3F0E2;
}
.block-menu-full.overlay-menu.dark .primary-menu,
.block-menu-full.overlay-menu .dark .primary-menu,
.block-menu-full.overlay-menu .primary-menu.dark {
    background-color: #061E23/*2E364F*/;
}

.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller) > .menu-link {
    position: relative;
    display: inline-block;
    font-size: 8vw;
    margin-top: 15px;
    margin-bottom: 15px;
    font-family: "Noto Sans", sans-serif;
    font-weight: 700;
    transition: all .2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before {
    content: '';
    position: absolute;
    width: 0%;
    height: 6px;
    bottom: -7px;
    margin-top: -3px; /*  Half of height */
    transition: width 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    background-color: #444;
}
.block-menu-full.overlay-menu.dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before,
.block-menu-full.overlay-menu .dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before,
.block-menu-full.overlay-menu .primary-menu.dark .menu-container > .menu-item:not(.menu-smaller) > .menu-link::before {
    background-color: #F3F0E2;
}
.block-menu-full.overlay-menu .menu-container > .menu-item:hover > .menu-link::before,
.block-menu-full.overlay-menu .menu-container > .menu-item.current > .menu-link::before {
    width: 100%;
}
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller):hover > .menu-link,
.block-menu-full.overlay-menu .menu-container > .menu-item:not(.menu-smaller).current > .menu-link {
    font-family: "Noto Sans", sans-serif;
    font-style: italic;
    color: rgba(var(--cnvs-contrast-rgb), 0.2);
}
.block-menu-full.overlay-menu:not(.top-search-open) #primary-menu-trigger {
    --size: 40px;
    width: var(--size, 40px);
    height: var(--size, 40px);
    line-height: var(--size, 40px);
    background-color: #061E23/*2E364F*/;
}
.block-menu-full #primary-menu-trigger .svg-trigger path {stroke: #F3F0E2;}
}

@media (min-width: 768px) {
	.text-stretch {position: relative; width: calc(100% + 300px); z-index: 1;}
}
@media (max-width: 768px) {
	.parallax-section {min-height: 100vh;}
    .parallax-img {height: 120%; transform: scale(1.05);}
    .parallax-section .content {padding: 20px;}
    .block-hero-9 .swiper-horizontal > .swiper-pagination-bullets, .block-hero-9 .swiper-pagination-custom, .block-hero-9 .swiper-pagination-fraction {
    left: auto;
    right: 10%;
    bottom: 2% !important;
    width: auto;
}
}
@media (max-width: 767px) {
.block-hero-9 .swiper {
    padding-bottom: 10vw;
}
}
@media (max-width: 576px) {
   .p-5 {padding: 5vw!important;}
   .swiper-slide .col-padding {padding: 5vw!important;}
   .button{white-space:normal;}
}
@media (min-width: 577px) {
  .d-yes-mio {display: none;}
}
@media (max-width: 576px) {
  .d-none-mio {display: none;}
  .d-yes-mio {display: inherit;}
  .is-expanded-menu.stretched .full-header #header-wrap > .container {padding: 0 15px 0 15px;}
}

@media (max-width: 360px) {
   #logo {max-width: 90%;}	
   /*#logo img{max-width: 50%; height: auto!important;}*/
}




