/* HTML BODY */
/*.container, .row , div[class*=col-]{
border:1px solid green !important;
}*/
  
/* HTML BODY */
html{  scrollbar-gutter: stable;}
html,body{ font-family: 'Montserrat', san serif !important; font-size: 100%;  color: #333333; background-color: #fff; margin:0; -webkit-text-size-adjust:100%; overflow-x: clip;}

@media all and (max-width: 736px) {  
    html,body{ color: #787878;}
}

/*scroll*/
html.lenis {height: auto; &.lenis-smooth {scroll-behavior: auto;}&.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }&.lenis-stopped {overflow: hidden;} &.lenis-scrolling iframe {pointer-events: none;}}
body.disable-scroll {
 /* position: fixed;
  inset: 0;
  overflow: hidden!important;*/
}
body.disable-scroll{ overflow:hidden !important; }
html.disable-scroll{ overflow:hidden !important; }
/*scroller*/
.c-scrollbar{ background-color:rgba(200,200,200,0); width:6px;position:fixed;right:5px;top:0;height:100vh;transform-origin:center right;opacity: 0; transform:scaleX(1);transition:transform .2s linear,opacity .3s linear}
.c-scrollbar:hover{transform:scaleX(1.3);cursor:-webkit-grab;cursor:grab}
.c-scrollbar_thumb{background-color:rgb(0 0 0 / 98%);position:absolute;top:0;left:0;right:0}
.c-scrollbar_thumb:hover{cursor:pointer}
 
@media screen and (max-width: 736px) {
	.c-scrollbar{width:3px; right: 2px;}
}

/*::-moz-selection{background-color:transparent;color:transparen;text-shadow:none}
::selection{background-color:transparent;color:transparent;text-shadow:none}*/

/* FONT */

.font-smoothing-auto {-webkit-font-smoothing: auto;}
.font-smoothing-antialiased {-webkit-font-smoothing: antialiased;}
.font-weight-100 {font-weight: 100;}
.font-weight-200 {font-weight: 200;}
.font-weight-300 {font-weight: 300;}
.font-weight-400 {font-weight: 400;}
.font-weight-500 {font-weight: 500;}
.font-weight-600 {font-weight: 600;}
.font-weight-700 {font-weight: 700;}
.font-weight-800 {font-weight: 800;}
.font-weight-900 {font-weight: 900;}

.font-size-xsmall {    font-size:clamp(0.7rem, 0.5vw, 0.9rem);}
.font-size-small {    font-size:clamp(1.0rem, 0.7vw, 1.1rem);}
.font-size-normal {   font-size:clamp(1.3rem, 1.0vw, 1.5rem);}
.font-size-medium {   font-size:clamp(1.5rem, 1.5vw, 2.0rem);}
.font-size-large {    font-size:clamp(1.7rem, 2.0vw, 3.0rem);}
.font-size-xlarge {   font-size:clamp(1.9rem, 2.4vw, 3.4rem);}
.font-size-xxlarge {  font-size:clamp(2.1rem, 3.4vw, 4.4rem);}
.font-size-xxxlarge { font-size:clamp(2.3rem, 5.4vw, 6.4rem);}
.font-size-huge {     font-size:clamp(2.7rem, 6.4vw, 7.4rem);}

.line-height-normal { line-height: normal;}
.line-height-100 { line-height: 100%;}
.line-height-110 { line-height: 110%;}
.line-height-120 { line-height: 120%;}
.line-height-130 { line-height: 130%;}
.line-height-140 { line-height: 140%;}
.line-height-150 { line-height: 150%;}
.line-height-200 { line-height: 200%;}

.letter-spacing-4 {letter-spacing: 4px;}
.letter-spacing-10 {letter-spacing: 10px;}
.letter-spacing-14 {letter-spacing: 14px;}

/* mobile vertical */ 
@media all and (max-width: 736px) {   
    .font-weight-100 { font-weight: 300; -webkit-font-smoothing: antialiased; }
    .font-weight-200 { font-weight: 300; -webkit-font-smoothing: antialiased; }
}

a { color: #464A4C; }
a:hover {  }


/* ERRORE */
.error-template { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 80%; padding: 20px; text-align: center;  cursor: auto!important;}
.error-details { margin-top: 35px; margin-bottom: 35px; }
.error-actions { margin-top: 35px; margin-bottom: 35px; }
.error-template a:hover:not(.btn) {color: #d10a11;}

/*MOBILE*/
a.btn-menu-top.mobile, a.btn-back-top.mobile { display: none; align-items: center; justify-content: center;position: fixed; left: 50%; transform: translateX(-50%); width: 35px; height: 35px; color: #fff; text-align: center; background-color: rgba(154,173,136,.8); border-radius: 50%; cursor: pointer; z-index: 999; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
a.btn-menu-top.mobile { top: 0px; padding: 8px 16px; font-size: 24px; }
a.btn-back-top.mobile { bottom: 10px; padding: 4px 11px; font-size: 12px; }
a.btn-menu-top.mobile:hover, a.btn-back-top.mobile:hover { background-color: rgba(154,173,136,1); }


#wrap { transition: filter .9s; }
#main { }

#wrap.wrap-filter { filter: blur(4px) grayscale(1); transition: filter .9s;}
#wrap.wrap-filter-scroll { filter:grayscale(1); transition: filter .2s;}
/*#wrap.ccw-blur { filter: blur(4px) grayscale(1); transition: filter .9s;}
#wrap.ccw-grayscale { filter:grayscale(1); transition: filter .9s;}
*/

body.noslideshow #main { /*padding-top: 200px; */ }
body.nocoverpage #main { /*padding-top: 150px;*/ }
 
/* mobile vertical */ 
@media all and (max-width: 812px) {      
    body.nocoverpage #main { /*padding-top: 250px;*/}
    body.noslideshow #main { /*padding-top: 150px; */ }
}
 
/*
 ######   #######  ##    ## ######## ######## ##    ## ######## 
##    ## ##     ## ###   ##    ##    ##       ###   ##    ##    
##       ##     ## ####  ##    ##    ##       ####  ##    ##    
##       ##     ## ## ## ##    ##    ######   ## ## ##    ##    
##       ##     ## ##  ####    ##    ##       ##  ####    ##    
##    ## ##     ## ##   ###    ##    ##       ##   ###    ##    
 ######   #######  ##    ##    ##    ######## ##    ##    ##    
*/
/* CONTENT */
.content { position: relative;/* -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; */opacity: 1;-webkit-transition: all .3s linear; -moz-transition: all .3s linear; transition: all .3s linear }
.separatore { position: relative; width: 100%; margin: 10px 0 20px; padding-bottom: 10px; border-bottom: 1px solid #E6E6E6; }

.pagina-ancora { position: relative; display: block; height: 60px; border: 0px solid #ccc; }
.pagina-ancora-separatore { position: relative; display: block; height: 60px; border: 0px solid #ccc; border-bottom: 1px solid #E6E6E6; margin-bottom: 30px; }
.pagina-ancora-separatore:last-child { border-bottom-color: transparent; }

.pagina-top { position: relative; margin-top: 60px; margin-bottom: 60px;/* margin-left: -30px !important; margin-right: -30px !important; */ }
.container-fullwidth .pagina-top .row { margin-left: -30px !important; margin-right: -30px !important; }
/* PAGINA - DETTAGLIO */ 
.pagina-contenuto {  }
/*.pagina-contenuto .img { position: relative; height: 300px; width: 100%; margin: 0px 0 20px 0; overflow: hidden; }
.pagina-contenuto .img img { width: 100%; position: absolute; left: 50%; top: 50%; transform: scale(1, 1) translate(-50%, -50%); -webkit-transition: all .1s linear; -moz-transition: all .1s linear; transition: all .1s linear }
*/
.pagina-contenuto .img { position: relative; /*height: 300px;*/ width: 100%; margin:50px 0 50px 0; /*overflow: hidden;*/ text-align:center; }

.pagina-contenuto .img-absolute img { width: 100%; position: absolute; left: 50%; top: 50%; transform: scale(1, 1) translate(-50%, -50%); -webkit-transition: all .1s linear; -moz-transition: all .1s linear; transition: all .1s linear }
.pagina-contenuto .img-relative {position: relative; width: 100%; margin:50px 0 50px 0;  text-align:center;}
.pagina-contenuto .img-relative img { position:relative; display:inline-block; max-width: 100%; height:auto !important; margin:0 auto; margin-bottom: 30px; padding:0; position: relative; -webkit-transition: all .1s linear; -moz-transition: all .1s linear; transition: all .1s linear }

.pagina-contenuto.inferiore { }
.pagina-contenuto.articolo h1.titolo { margin-top: 2px !important; margin-bottom: 20px;  font-size: 40px; font-weight: 200;   text-align: center; }
.pagina-contenuto.articolo h2.sottotitolo { margin-top: 2px !important; margin-bottom: 20px;  font-size: 20px; font-weight: 200;  text-align: center; }

.pagina-titoli { margin-top: 200px; margin-bottom:40px; }
.pagina-titolo { margin-top: 2px !important; margin-bottom: 10px; font-size: 30px; font-weight: 300; }
.pagina-sottotitolo { margin-top: 2px !important; font-size: 25px; font-weight: 100 !important; }

/* mobile vertical */ 
@media all and (max-width: 736px) {  
    .pagina-titoli { padding: 0 20px;}
}

.pagina-data { display: inline-block; float: left; margin: 0 0 5px 0; color: #999999; width: 100%; font-size: 12px }
.pagina-data span { margin-right: 5px; }
.pagina-data.first { display: inline; float: none !important; }

.pagina-testo {font-weight: 300; -webkit-font-smoothing: antialiased; } 

/* PAGINAZIONE */
.pagination > li > a, .pagination > li > span { color: inherit; border-radius: 0px !important; }
.pagination >.active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { background-color: #cccccc !important; border-color: #cccccc !important; }
.pagination .selectpicker { font-size: 10px !important; }
.pagination .page-link:hover { color: #464A4C; }

/* BTN CUSTOM*/
.btn-custom {position: relative; display: inline-flex; align-items: center; justify-content: space-between; border: 0px solid #fff; gap:10px;}
.btn-custom div {border: 0px solid #fff;}
.btn-custom .icon { display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; }
.btn-custom .icon i{display: inline-flex;align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; font-size: 22px; background-color: rgba(255,255,255,.2); color: #fff; transition: transform .4s ease;}

.btn-custom:hover { color: inherit;}
.btn-custom:hover .icon i{ transform: scale(1.4);}

.btn-custom.bc-reverse { flex-direction: row-reverse;}
.btn-custom.bc-reverse div { text-align: left!important;}

.btn-custom.bc-positive .icon i{ background-color: rgba(154,173,136,.6); color: #fff;  }


/* SECTION */

section.cover { position: relative; width: 100vw; height: 100vh; border:0px solid #333; color: #fff;overflow: hidden;}
/*section.cover .wrapper-img {  position: relative; width: 100%;height: 100vh;   overflow: hidden;}  */
section.cover .wrapper-img{ height: 100vh !important; min-height: 100vh !important; max-height: 100vh !important; overflow: hidden !important;  position: relative !important;}
section.cover .wrapper-img img {position: absolute; inset: 0;  object-fit: cover; object-position: center; width: 100%; height: 100%; display: block;will-change: transform;  transform: translateZ(0); /* compositing stabile */}
section.cover .wrapper-heading { position: absolute; bottom: 40px; left: 0; right: 0; z-index: 1; transition: all;}

/* CLS fix: use stable viewport units when available */
 section.cover,
section.cover .mask-obj.wrapper-img{
  height: 100vh;
  min-height: 100vh;
}

@supports (height: 100dvh){
  section.cover,
  section.cover .mask-obj.wrapper-img{
    height: 100dvh;
    min-height: 100dvh;
  }
}
 
/* (opzionale) per i browser che supportano svh e vuoi più stabilità in presenza di UI bars */
/*@supports (height: 100svh){
  section.cover,
  section.cover .mask-obj.wrapper-img{
    height: 100svh;
    min-height: 100svh;
  }
}*/


/* mobile vertical */ 
@media all and (max-width: 736px) {   
section.cover .wrapper-heading {    
   /* bottom: 40px; left: 20px; right: 20px;    */
    }
   section.cover .wrapper-heading h1 { font-weight: 300!important; -webkit-font-smoothing: subpixel-antialiased;}
   section.cover .wrapper-heading h2 { font-weight: 300!important; -webkit-font-smoothing: subpixel-antialiased;}
    
}
