/* HTML BODY */
/*.container, .row , div[class*=col-]{
border:1px solid green !important;
}*/


html,body{ font-family: 'Montserrat', san serif !important; font-size: 100%; color: #464A4C; background-color: #fff; margin:0; -webkit-text-size-adjust:100%}
/*scroll*/
html:not(.has-scroll-init){cursor:wait;overflow:hidden}
html.has-scroll-smooth{overflow:hidden; position: fixed; left: 0; right: 0; top: 0; bottom: 0; transform: translateZ(0);backface-visibility: hidden;}
html.has-scroll-dragging{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
html.has-scroll-scrolling .c-scrollbar {opacity: 1}
.has-scroll-smooth body{overflow:hidden}
.has-scroll-smooth [data-scroll-container]{min-height:100vh;perspective: 1px; overflow-x: hidden;}
[data-load-container] {position: fixed;	top: 0;	right: 0;	bottom: 0;	left: 0;	width: 100vw;	perspective: 1px;}
[data-scroll-section] {/*display:inline-block;height:100%;vertical-align:top;white-space:nowrap*/}
/*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-weight-100 {font-weight: 100!important;}
.font-weight-200 {font-weight: 200!important;}
.font-weight-300 {font-weight: 300!important;}
.font-weight-400 {font-weight: 400!important;}
.font-weight-500 {font-weight: 500!important;}
.font-weight-600 {font-weight: 600!important;}
.font-weight-700 {font-weight: 700!important;}
.font-weight-800 {font-weight: 800!important;}
.font-weight-900 {font-weight: 900!important;}

/*.font-size-small { font-size: 12px;}
.font-size-normal { font-size: 16px;}
.font-size-medium { font-size: 20px;}
.font-size-large { font-size: 28px;}
.font-size-xlarge { font-size: 34px;}
.font-size-xxlarge { font-size: 54px;}
.font-size-xxxlarge { font-size: 74px;}
.font-size-huge { font-size: 100px;}*/

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

@media (max-width:480px){
    .font-size-xs-large {    font-size:clamp(1.4rem, 2.0vw, 3.0rem)!important}
}

.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;}

a { color: #464A4C; }
a:hover { opacity: .8; }

.colore1 { color: #c61818;}
.colore-grigio-chiaro { color: #ccc;}



/* 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; }

/*MOBILE*/
a.btn-menu-top.mobile, a.btn-back-top.mobile { display: none; position: fixed; left: 50%; transform: translateX(-50%); color: #fff; text-align: center; background-color: rgba(70,74,76,.9); cursor: pointer; z-index: 4; -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: 85px; padding: 4px 11px; font-size: 21px; }
a.btn-menu-top.mobile:hover, a.btn-back-top.mobile:hover { background-color: rgba(70,74,76,1); }

b, strong { font-weight: 600;}

#wrap { }
#main {   /*padding-bottom: 250px;*/ /*overflow: hidden;*/ }
body.noslideshow:not(.header-relative) #main { padding-top: 120px;}
 
/*
 ######   #######  ##    ## ######## ######## ##    ## ######## 
##    ## ##     ## ###   ##    ##    ##       ###   ##    ##    
##       ##     ## ####  ##    ##    ##       ####  ##    ##    
##       ##     ## ## ## ##    ##    ######   ## ## ##    ##    
##       ##     ## ##  ####    ##    ##       ##  ####    ##    
##    ## ##     ## ##   ###    ##    ##       ##   ###    ##    
 ######   #######  ##    ##    ##    ######## ##    ##    ##    
*/
/* 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 { margin-bottom: 40px; }
/*.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 u, .filecontent u { border-bottom: 1px dashed #999;  text-decoration: none;transition: .3s}
.pagina-contenuto u:hover, .filecontent u:hover { border-bottom: 1px dashed #666}

.pagina-contenuto small { font-size: 70%; display: inline-block}
.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: 0 0 20px; overflow: hidden; text-align: center;}
.pagina-contenuto .img-relative img { object-fit: contain; object-position: center;  width: 100%; height: 100%;  -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 { padding: 0 20px;}
.pagina-titolo { width:100%;margin-top:0;padding:20px 0px;font-weight:100; -webkit-font-smoothing: initial;font-size:clamp(2.7rem, 6.4vw, 7.2rem);line-height:110%;color:#c61818;;word-break:break-word }
.pagina-sottotitolo { width:100%;margin-top:0;padding:0 0px 20px 0px; font-weight:100; font-size: clamp(1.9rem, 3.4vw, 3.8rem);line-height:130% }

.pagina-data { display: inline-block; float: left; margin: 0 0 15px 0; color: #999999; width: 100%; font-size: 14px; font-weight: 700; text-align: center; text-transform: uppercase;}
.pagina-data span { margin-right: 5px; }
.pagina-data.first { display: inline; float: none !important; }

.pagina-testo { margin:100px auto 0 auto; } 

/* PAGINAZIONE */

.pagination { justify-content: center;}
.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; }

/* titolo sezioni verticali */

.wrapper-s-testo-verticale { width: fit-content; direction: rtl; writing-mode: vertical-rl;  transform: rotateZ(180deg);}
.s-testo-verticale {}
.s-testo-verticale.stv-right { margin-right: -1.5rem; }

.wrap-testo-verticale { position: fixed; left: 10px; top: 150%;width: fit-content; height: 100%; display: flex; align-items: center; justify-content: center; transform: translateY(-50%) translate3d(0, 0, 0) rotateZ(180deg);direction: rtl; writing-mode: vertical-rl; z-index: 1; transition: all 2.3s ease; border: 0px solid #f90;-webkit-perspective: 0;
-webkit-backface-visibility: hidden; visibility: visible;backface-visibility: hidden;}
.wrap-testo-verticale .wtv-testo { position: relative; /*direction: rtl; writing-mode: vertical-rl; transform: rotateZ(180deg);*/width: fit-content;border: 0px solid #ff0;}
.wrap-testo-verticale .wtv-bg { position: absolute; bottom: 0; right: 0; width: 100%; height: 0%; background-color: rgba(50,50,50,.1); z-index: -1; transition: all .3s;}

.wrap-testo-verticale.show-wtv { top: 50%; transition: all 1.3s ease}
 
/*.wrap-testo-verticale { position: fixed; left: 20px; top: 150%;width: fit-content; transform: translateY(-50%) translate3d(0, 0, 0);z-index: 1; transition: all 2.3s ease; border: 0px solid #f90;-webkit-transform-style: preserve-3d;-webkit-backface-visibility: hidden;}
.wrap-testo-verticale .wtv-testo { position: relative;  transform: rotate(270deg);width: fit-content; border: 0px solid #ff0;}
.wrap-testo-verticale .wtv-bg { position: absolute; top: 0; left: 0; width: 0%; height: 100%; background-color: rgba(50,50,50,.1); z-index: -1; transition: all .3s;}

.wrap-testo-verticale.show-wtv { top: 50%; transition: all 1.3s ease}
*/

.bg-img { opacity: 0; content: ''; position: absolute; top: 0; left: 0; width: 100vw; height: 100vh;  transition: .9s all; background-size: cover; background-position: center; background-repeat: no-repeat;}

.btn-more-generico { display: flex; align-items: center; }
.btn-more-generico .bmg-testo{font-size:clamp(1.1rem, 1.0vw, 1.3rem); margin-right: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: -1px;}
.btn-more-generico .bmg-icona{ display: flex; align-items: center; justify-content: center; border: 1px solid #999; font-size:clamp(1.8rem, 1.4vw, 2.5rem); padding: .0rem .8rem;}
.btn-more-generico .bmg-icona .fa,.btn-more-generico .bmg-icona .fal { padding: .8rem .5rem;}

.btn-more-generico:hover .bmg-icona { background-color: #666; color: #fff; transition: all .4s ease;}
 
.btn-more-generico.bmg-bianco .bmg-testo{ color: #fff;}
.btn-more-generico.bmg-bianco .bmg-icona{ color: #fff; border-color: #fff;}
.btn-more-generico.bmg-bianco:hover .bmg-icona { background-color: #fff; color: #666; transition: all .4s ease;}

.pa-txt-cell {display: flex; justify-content: center; column-count: 1; flex-flow: column;}

