/* 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: #333333; 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; }
body.disable-scrolling,html.disable-scrolling{overflow:hidden!important;  }
a { color: #333333; }
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: #fff; text-align: center; background-color: rgba(70,74,76,.9); 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: 21px; }
a.btn-menu-top.mobile:hover, a.btn-back-top.mobile:hover { background-color: rgba(70,74,76,1); }
#wrap { position: relative; min-height: 100%; max-width: 100%; margin: 0 auto; -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; }
}
/*
##     ## ########    ###    ########  ######## ########  
##     ## ##         ## ##   ##     ## ##       ##     ## 
##     ## ##        ##   ##  ##     ## ##       ##     ## 
######### ######   ##     ## ##     ## ######   ########  
##     ## ##       ######### ##     ## ##       ##   ##   
##     ## ##       ##     ## ##     ## ##       ##    ##  
##     ## ######## ##     ## ########  ######## ##     ##
*/
.header { position: relative; width: 100%; /*height: 100%;*/ padding: 0; margin: 0; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }
.header { border: none; -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; z-index: 3;}
.header.navbar-fixed { position: fixed; top: 0; z-index: 3; }
.header.navbar-fixed.navbar-small {   }
.header.navbar-fixed.navbar-small .dropdown-menu { left: -3px !important; }
/* NO SLIDESHOW */
.header.navbar-noslideshow { background-color: #ffffff; -webkit-transition: all .2s linear; -moz-transition: all .2s linear; transition: all .2s linear; }

	
@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px) {
	/*.header.navbar-fixed { height: 100%; }	*/
}	
 

@media only screen and (max-width: 736px) { 
.header .navbar-collapse { padding: 0; box-shadow: none; border-top: none }
}
/*
 ######   #######  ##    ## ######## ######## ##    ## ######## 
##    ## ##     ## ###   ##    ##    ##       ###   ##    ##    
##       ##     ## ####  ##    ##    ##       ####  ##    ##    
##       ##     ## ## ## ##    ##    ######   ## ## ##    ##    
##       ##     ## ##  ####    ##    ##       ##  ####    ##    
##    ## ##     ## ##   ###    ##    ##       ##   ###    ##    
 ######   #######  ##    ##    ##    ######## ##    ##    ##    
*/
/* CONTENT */
.content { position: relative; margin-bottom: 25px;   -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.content h1.titolo { margin-top: 2px !important; margin-bottom: 10px; font-size: 30px; font-weight: 600; color: #333333; text-align: left; }
.content h2.sottotitolo { margin-top: 2px !important; margin-bottom: 20px; font-size: 25px; font-weight: 300 !important; color: #999; text-align: left; }
body.noslideshow .content { margin-top: 300px;}

@media only screen and (min-device-width : 667px) and (max-device-width : 736px) {
	body.noslideshow .content { margin-top: 160px;}
}

.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 .row.pagina-top { margin-left: -30px !important; margin-right: -30px !important; }
/* PAGINA - DETTAGLIO */ 
.pagina-contenuto { margin-bottom: 40px; }
.pagina-contenuto strong {font-weight: 700} 
.pagina-contenuto.inferiore { }
.pagina-contenuto .testo { margin-top: 100px; }
.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 .data { display: inline-block; float: left; margin: -15px 0 5px 0; color: #999999; width: 100%; font-size: 12px }
/* 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: #333333; }
/*
########  #######   #######  ######## ######## ########  
##       ##     ## ##     ##    ##    ##       ##     ## 
##       ##     ## ##     ##    ##    ##       ##     ## 
######   ##     ## ##     ##    ##    ######   ########  
##       ##     ## ##     ##    ##    ##       ##   ##   
##       ##     ## ##     ##    ##    ##       ##    ##  
##        #######   #######     ##    ######## ##     ## 
*/
.footer { position: relative; padding: 0px 0;  font-size: 12px; font-weight: 300;  z-index: 0; }
.footer h3 { margin-top: 4px; font-weight: 300; font-size: 12px; }
.footer a { text-decoration: none; }
.footer button { font-weight: 600; text-decoration: none; }
.footer a:hover { opacity: .7; text-decoration: none; }
.footer .margin { margin-bottom: 20px; }
.footer .logo { height: 60px; width: 190px; margin: 0 auto; text-align: center;}
.footer .logo img { 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%; 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%; float: left; text-align: center!important;}
.footer-menu-bottom li a { padding: 3px 0; font-size: 15px; 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 {   }
.footer-menu-bottom li > a i { display: inline; display: none !important; 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;}
.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: rgba(255,255,255,.5); }
.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: 0 !important; }
#fsub1.collapse, #fsub2.collapse { display: block !important; width: auto !important; padding-bottom: 0; overflow: visible !important; }
}
@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.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: '-'; }
}