/* HTML BODY */
/*.container, .row , div[class*=col-]{
border:1px solid green !important;
}*/
html, body { width: 100%; height: 100%;  /*-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; */ font-family: 'Montserrat', san serif !important; font-size: 100%; color: #5c5c5c; background-color: #fff; margin: 0; padding: 0; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
body { overflow-x: hidden !important; }
a { color: #464A4C; }
a:hover { color: #999; }
/* ERRORE */
.error-template { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 80%; padding: 20px; text-align: center; }
.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: #ccc; text-align: center; background-color: rgba(255,255,255,1); 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; display: none; }
a.btn-back-top.mobile { bottom: 15px; width: 10px; padding: 0px 5px; font-size: 20px; }
a.btn-back-top.mobile > .testo {writing-mode: vertical-rl;    text-orientation: inherit;    transform: rotate(180deg);    font-size: 14px;    font-weight: 300; }
a.btn-menu-top.mobile:hover, a.btn-back-top.mobile:hover { color: #000 }

#wrap { position: relative; min-height: 100%; max-width: 100%; margin: 0 auto; padding-top: 200px; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
#main { position: relative; /*padding-bottom: 250px;*/ /*overflow: hidden;*/ }

@media screen and (max-width: 736px) {
#wrap { padding-top: 0px; min-height: inherit; }
}
/*
##     ## ########    ###    ########  ######## ########  
##     ## ##         ## ##   ##     ## ##       ##     ## 
##     ## ##        ##   ##  ##     ## ##       ##     ## 
######### ######   ##     ## ##     ## ######   ########  
##     ## ##       ######### ##     ## ##       ##   ##   
##     ## ##       ##     ## ##     ## ##       ##    ##  
##     ## ######## ##     ## ########  ######## ##     ##
*/
.header {opacity: 0; position: relative; width: 100%; padding: 30px 0 0px 0;  margin: 0; border: none; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; transition: all .5s ease; }

.header .header-top { position: relative; display: inline-block; width: 100%; padding: 5px 0; }
/* BRAND LOGO */
.header .navbar-brand { padding: 0px !important; height: auto !important; font-size: 16px; font-weight: 600; color: #545454; transform: all .9s }
.header .navbar-brand:hover { color: #ccc; transition: all .3s} 

/*.header.isHP { top:20%!important; transform: translateY(-35%); padding: 0; z-index: 999999!important;}
.header.isHP.noEvents { top:50%!important; transform: translateY(-50%)!important;}
.header.isHP .navbar-brand { width: 100%; font-size: 40px; text-align: center;border-bottom: 1px solid #f4f4f4;  padding-bottom: 40px !important; margin-bottom: 30px !important; }
.header.isHP .main-nav { display: block;border: none;}
.header.isHP .navbar-expand-md .navbar-nav { margin: 0 auto;}
*/

.header .navbar-brand .logo { width: 126px; height: 45px; cursor: pointer; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.header .navbar-brand .logo img {   height: 100%;}
.header .navbar-brand .logo:hover { opacity: 0.65; filter: alpha(opacity=65); }
.header .navbar-header .navbar-toggle { border: none; margin-top: 13px; margin-right: 0 !important; padding: 0 !important; height: 30px; width: 30px; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
/* SCROLL FIXED*/
.header.navbar-fixed-bottom { position: fixed !important; bottom: 0; left: 0; margin: 0; background-color: rgba(255,255,255,1) !important; z-index: 999; }
.header.navbar-fixed { position: fixed; top: -110px; background-color: #fff; z-index: 2;  }
.header.navbar-fixed.navbar-small { padding: 0; opacity: 0.98; background-color: #FFFFFF; }
 
.header.navbar-fixed.navbar-small .user-bar { }
.header.navbar-fixed.navbar-small .mainmenu-bar { }
.header.navbar-fixed.navbar-small .main-nav { padding: 0 0 5px 0;}
.header.navbar-fixed.navbar-small .navbar-nav > li > a {   }
.header.navbar-fixed.navbar-small .navbar-nav:first-child > li > a >i {    }
.header.navbar-fixed.navbar-small .navbar-brand {  -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.header.navbar-fixed.navbar-small .navbar-brand .logo { width: 150px !important; height: 37px !important; background-size: contain }
.header.navbar-fixed.navbar-small .dropdown-menu { left: -3px !important; }
/* NO SLIDESHOW */
.header.navbar-noslideshow { background-color: #ffffff;   }

@media screen and (max-width: 736px) {
.header.navbar-fixed {/* position: relative !important; */ padding: 10px 0}
.header.navbar-fixed-bottom { position: relative !important; bottom: inherit !important; }
.header .navbar-brand .logo { }
.header .navbar-brand { height: inherit !important; }
.header .navbar-collapse { padding: 0; box-shadow: none; border-top: none }
}

@media screen and (max-width: 667px) {
/*	
.header.isHP { transform: inherit; padding: 30px 0 0px 0; z-index: 999999!important;}
.header.isHP.noEvents {position: relative;top:0%!important; transform: translateY(0%)!important;}
.header.isHP .navbar-brand { width: 100%; font-size: 40px; text-align: center;border-bottom: 0px solid #f4f4f4;  padding-bottom: 30px !important; margin-bottom: 30px !important; }
.header.isHP .main-nav { display: block;border: none;}
.header.isHP .navbar-expand-md .navbar-nav { margin: 0 auto;}
 	*/
.header.navbar-fixed .navbar-collapse { margin: 30% auto 0 auto!important;}
.header.navbar-fixed .main-nav { border-bottom: 0;}
.header.navbar-fixed .navbar-brand { margin: 0 auto; font-size: 22px;}	
.header.navbar-fixed .navbar-collapse { margin: 5% auto 0 auto!important;}
.header.navbar-fixed .main-nav { border-bottom: 0; padding: 0;}
.header.navbar-fixed .navbar-brand { margin: 0 auto; font-size: 22px;}
}

@media screen and (max-width: 480px) {   
}


/*
 ######   #######  ##    ## ######## ######## ##    ## ######## 
##    ## ##     ## ###   ##    ##    ##       ###   ##    ##    
##       ##     ## ####  ##    ##    ##       ####  ##    ##    
##       ##     ## ## ## ##    ##    ######   ## ## ##    ##    
##       ##     ## ##  ####    ##    ##       ##  ####    ##    
##    ## ##     ## ##   ###    ##    ##       ##   ###    ##    
 ######   #######  ##    ##    ##    ######## ##    ##    ##    
*/
/* CONTENT */
.content {opacity: 0; position: relative; margin-top: 100px; margin-bottom: 25px; font-weight: 300; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-transition: opacity .2s linear, margin-top .8s ease; -moz-transition: opacity .2s linear, margin-top .8s ease; transition: opacity .2s linear, margin-top .8s ease; }
@media screen and (max-width: 667px) {
	.content {margin-top: 50px!important;}
}
/*
.content h1.titolo { margin-top: 30px !important; margin-bottom: 80px; font-size: 45px; font-weight: 200; color: #999; text-align: left; }
.content h2.sottotitolo { margin-top: 2px !important; margin-bottom: 20px; font-size: 25px; font-weight: 100 !important; color: #999; text-align: left; }
*/
.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: 40px; margin-bottom: 20px;/* margin-left: -30px !important; margin-right: -30px !important; */ }
.container-fullwidth .row.pagina-top { margin-left: -30px !important; margin-right: -30px !important; }
/* PAGINA - DETTAGLIO */ 
.pagina-contenuto { margin-bottom: 40px; }
.pagina-contenuto strong,.pagina-contenuto b { font-weight: 500; }
.pagina-contenuto.inferiore { }
.pagina-contenuto h1.titolo { margin-top: 30px !important; margin-bottom: 80px; font-size: 45px; font-weight: 200; color: #999; text-align: left; }
.pagina-contenuto h2.sottotitolo { margin-top: -70px !important; margin-bottom: 20px; font-size: 25px; font-weight: 100 !important; color: #999; text-align: left; }
.pagina-contenuto .testo { margin-top: 50px; }
.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; width: 100%; 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 .data { display: inline-block; float: left; margin: -15px 0 5px 0; color: #999999; width: 100%; font-size: 14px; text-align: center}
/* ARTICOLO IN PAGINA */
.pagina-contenuto .data span { margin-right: 5px; }
.pagina-contenuto .data.first { display: inline; float: none !important; }
.pagina-contenuto .back { font-size: 12px; text-transform: uppercase; }
/* 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; }
/*
########  #######   #######  ######## ######## ########  
##       ##     ## ##     ##    ##    ##       ##     ## 
##       ##     ## ##     ##    ##    ##       ##     ## 
######   ##     ## ##     ##    ##    ######   ########  
##       ##     ## ##     ##    ##    ##       ##   ##   
##       ##     ## ##     ##    ##    ##       ##    ##  
##        #######   #######     ##    ######## ##     ## 
*/
.footer-wrapper { opacity: 0;-webkit-transition: all .5s ease; -moz-transition: all .5s ease; transition: all .5s ease; }
.footer { position: relative; padding: 20px 0; background-color: #fff; font-size: 12px; font-weight: 300; color: #999999; z-index: 0; text-align: center}
.footer h3 { margin-top: 4px; font-weight: 300; font-size: 12px; }
.footer a { font-weight: 300; color: #999999; text-decoration: none; }
.footer button { font-weight: 600; color: #999999; text-decoration: none; }
.footer a:hover { color: #5c5c5c; text-decoration: none; }
.footer .margin { margin-bottom: 20px; }
.footer .logo img { max-height: 60px; margin: 0 0 20px 0; cursor: pointer; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.footer .logo img:hover { opacity: 0.65; filter: alpha(opacity=65); }
.footer .logo-credits { width: 110px; height: 21px; margin: 0px 0; background-position: 0 0; background-repeat: no-repeat; cursor: pointer; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.footer .logo-credits:hover { background-position: -110px 0; }
/* FOOTER MENU BOTTOM */
.footer-menu-bottom { position: relative; display: inline-block; width: 100%; margin: 0px auto 20px auto; padding: 0; list-style: none; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.footer-menu-bottom li { position: relative; display: inline-block; width: 100%;   }
.footer-menu-bottom li a { padding: 3px 0; font-size: 12px; font-weight: 300;  text-align: center; cursor: pointer !important; }
.footer-menu-bottom li a span.sub-arrow { position: absolute; top: 50%; margin-top: -17px; left: auto; right: 5px; width: 100%; height: 34px; overflow: hidden; font: 300 23px/34px monospace !important; color: #ccc; text-align: right; text-shadow: none; background: rgba(255, 255, 255, 0); -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; cursor: pointer; }
.footer-menu-bottom li a span.sub-arrow:before { content: '\f107'; font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands"; font-size: 16px; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; }
.footer-menu-bottom li a.highlighted span.sub-arrow:before { content: '\f106'; font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands"; font-size: 16px; margin-top: 8px; }
.footer-menu-bottom li a:hover, .footer-menu-bottom li a.active { color: #5c5c5c; }
.footer-menu-bottom li > a i { display: inline;  float: right; margin-top: 4px; font-weight: 300; }
.footer-menu-bottom li > a.highlighted i { transform: rotate(180deg); }
.footer-menu-bottom li ul { margin-left: 10px; }

.footer-menu-bottom.inline > li { width: auto; float: left;}
.footer-menu-bottom.inline > li a { padding: 3px 5px;}

.footer-menu-bottom.sm-collapsible .caret, .footer-menu-bottom.sm-collapsible ul .caret { top: 10px; }
/* FOOTER MENU TOP */
.footer-menu-top { position: relative; display: inline-block; width: 100%; margin: 0px auto 20px auto; padding: 0; list-style: none; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.footer-menu-top li { position: relative; display: inline-block; width: 100%; float: left; }
.footer-menu-top li a { padding: 3px 0; font-size: 14px; font-weight: 300; cursor: pointer !important; }
.footer-menu-top li a span.sub-arrow { position: absolute; top: 50%; margin-top: -17px; left: auto; right: 5px; width: 100%; height: 34px; overflow: hidden; font: 300 23px/34px monospace !important; color: #ccc; text-align: right; text-shadow: none; background: rgba(255, 255, 255, 0); -webkit-border-radius: 5px; -moz-border-radius: 5px; -ms-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; cursor: pointer; }
.footer-menu-top li a span.sub-arrow:before { content: '\f107'; font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands"; font-size: 16px; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; }
.footer-menu-top li a.highlighted span.sub-arrow:before { content: '\f106'; font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands"; font-size: 16px; }
.footer-menu-top li a:hover, .footer-menu-top li a.active { color: #5c5c5c; }
.footer-menu-top li > a i { display: inline; display: none !important; float: right; margin-top: 4px; font-weight: 300; }
.footer-menu-top li > a.highlighted i { transform: rotate(180deg); }
.footer-menu-top li ul { margin-left: 10px; }
.footer-menu-top li ul li:last-child { margin-bottom: 10px; }
.footer-menu-top.sm-collapsible .caret, .footer-menu-top.sm-collapsible ul .caret { top: 10px; }
.footer .collapsed-content-btn { display: inline-block; width: 100%; font-size: 16px; font-weight: 700; border-bottom: 1px solid #666; padding-bottom: 10px; margin-bottom: 10px; }
@media screen and (min-width: 736px) {
	a.btn-back-top.mobile { left: inherit; right: 40px !important; }
	#fsub1.collapse, #fsub2.collapse { display: table!important; width: auto !important; padding-bottom: 0; overflow: visible !important;    margin: 0 auto; }	
}
@media screen and (max-width: 736px) {
	.footer { font-size: 15px; }
	.footer-wrapper { margin-bottom: 0 !important; }
	.footer-menu-bottom li a { padding: 10px 0; font-size: 16px !important; }
	.footer-menu-bottom li a span.sub-arrow:before { content: '+'; position: absolute; top: 0; right: 0; color: #ccc; font: 300 23px/34px monospace !important; }
	.footer-menu-bottom li a.highlighted span.sub-arrow:before { content: '-'; }
	.footer-menu-bottom li > a i {  float: none}
	.footer-menu-bottom.inline > li { width: 100%; text-align: center}
	.footer-menu-top li a { padding: 10px 0; font-size: 16px !important; }
	.footer-menu-top li a span.sub-arrow:before { content: '+'; position: absolute; top: 0; right: 0; color: #ccc; font: 300 23px/34px monospace !important; }
	.footer-menu-top li a.highlighted span.sub-arrow:before { content: '-'; }
	.footer .collapsed-content-btn {font-size: 14px; font-weight: 600; width: auto!important; margin: 0 auto!important; border: none !important}	
	.footer .collapsed-content-btn > .icon { font-size: 14px;margin-left: 10px; margin-right: -10px;}	
}