/* RESET */
dl, ol, ul { margin: 0; }
*:focus { outline: none !important; }
*, *::before, *::after { box-sizing: border-box; }

/* BOOTSTRAP e STRUTTURA */
/*body {font-family: 'Neue Haas Unica Pro', sans-serif; font-size:20px; font-weight:400; background:#fff; color:#000000; line-height:100%;}*/
body { font-family: "Open Sans", Arial, Helvetica, sans-serif; font-size: 20px; font-weight: 400; background: #fff; color: #000000; line-height: 100%; }
#page-container { background: #fff; width: 100%; margin: 0 auto; position: relative; }
.container { width: 100% !important; max-width: 1512px !important; }

@media (max-width: 991px) {
    .container { width: 100% !important; }
}

@media (max-width: 1799px) {
    .template .container, #header .container, .megamenu .container { max-width: 1370px !important; }
}

@media (max-width: 1599px) {
    .template .container, #header .container, .megamenu .container { max-width: 1030px !important; }
}

@media (max-width: 1399px) {
    .template .container, #header .container, .megamenu .container { max-width: 850px !important; }
}

@media (max-width: 1199px) {
    .template .container, #header .container, .megamenu .container { width: 100% !important; max-width: 100% !important; }
}

/* BOOTSTRAP grid*/
.container, .container-fluid { padding-left: 16px; padding-right: 16px; }
.row { margin-left: -16px; margin-right: -16px; }
.col, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1, .col, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col-xs-11, .col-xs-10, .col-xs-9, .col-xs-8, .col-xs-7, .col-xs-6, .col-xs-5, .col-xs-4, .col-xs-3, .col-xs-2, .col-xs-1, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1 { padding-left: 16px; padding-right: 16px; }

@media (min-width: 992px) {
    .container, .container-fluid { padding-left: 12px; padding-right: 12px; }
    .row { margin-left: -12px; margin-right: -12px; }
    .col, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1, .col, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col-xs-11, .col-xs-10, .col-xs-9, .col-xs-8, .col-xs-7, .col-xs-6, .col-xs-5, .col-xs-4, .col-xs-3, .col-xs-2, .col-xs-1, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1 { padding-left: 12px; padding-right: 12px; }
}
/*@media (min-width: 1200px) {
    .container {padding-left:20px; padding-right:20px;}    
}*/
/* COL STEP */
@media (min-width: 1400px) {
    .col-xxl-3 { flex: 0 0 auto; width: 25%; }
    .col-xxl-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-xxl-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-xxl-6 { flex: 0 0 auto; width: 50%; }
    .col-xxl-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-xxl-10 { flex: 0 0 auto; width: 83.33333333%; }
}

@media (min-width: 1600px) {
    .col-3xl-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-3xl-3 { flex: 0 0 auto; width: 25%; }
    .col-3xl-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-3xl-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-3xl-6 { flex: 0 0 auto; width: 50%; }
    .col-3xl-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-3xl-9 { flex: 0 0 auto; width: 75%; }
    .col-3xl-10 { flex: 0 0 auto; width: 83.33333333%; }
    .offset-3xl-1 { margin-left: 8.33333333%; }
    .offset-3xl-2 { margin-left: 16.66666667%; }
    .offset-3xl-3 { margin-left: 25%; }
}


/* Typography */
a, a:hover { color: #000; text-decoration: none !important; }
.underline { text-decoration: underline !important; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .h7, .h4-large, .h6-large, .h8, .h9 { font-weight: 800; margin-bottom: 0; line-height: 110%; padding: 0; }
    h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, h1:hover a, h2:hover a, h3:hover a, h4:hover a, h5:hover a, h6:hover a { color: #000; }
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6, .text-white h1 a, .text-white h2 a, .text-white h3 a, .text-white h4 a, .text-white h5 a, .text-white h6 a, .text-white h1:hover a, .text-white h2:hover a, .text-white h3:hover a, .text-white h4:hover a, .text-white h5:hover a, .text-white h6:hover a { color: #fff; }
.h1 { font-size: 3.2em !important; /* 64px */ }
.h2 { font-size: 2.4em !important; /* 48px */ }
.h3 { font-size: 2em !important; /* 40px */ }
.h4-large { font-size: 1.8em !important; /* 36px */ }
.h4 { font-size: 1.5em !important; /* 30px */ }
.h5 { font-size: 1.4em !important; /* 28px */ }
.h6-large { font-size: 1.2em !important; /* 24px */ }
.h6 { font-size: 1.1em !important; /* 22px */ }
.h7 { font-size: 1em !important; /* 20px */ }
.h8 { font-size: 0.9em !important; /* 18px */ }
.h9 { font-size: 0.8em !important; /* 16px */ }

@media (max-width: 991px) {
    .h1, .h2 { font-size: 1.5em !important; /* 30px */ }
    .h3, .h4-large, .h4 { font-size: 1.2em !important; /* 24px */ }
    .h5, .h6, .h7 { font-size: 1em !important; /* 20px */ }
    .h8 { font-size: 0.9em !important; /* 18px */ }
    .h9 { font-size: 0.8em !important; /* 16px */ }
    .h1-sm { font-size: 3.2em !important; /* 64px */ }
    .h2-sm { font-size: 2.4em !important; /* 48px */ }
    .h3-sm { font-size: 2em !important; /* 40px */ }
    .h4-large-sm { font-size: 1.8em !important; /* 36px */ }
    .h4-sm { font-size: 1.5em !important; /* 30px */ }
    .h5-sm { font-size: 1.4em !important; /* 28px */ }
    .h6-sm-, .h6-sm-large { font-size: 1.2em !important; /* 24px */ }
    .h6-sm { font-size: 1.1em !important; /* 22px */ }
    .h7-sm { font-size: 1em !important; /* 20px */ }
    .h8-sm { font-size: 0.9em !important; /* 18px */ }
    .h9-sm { font-size: 0.8em !important; /* 16px */ }
}

.text-extralarge { font-size: 1.4em !important; /* 28px */ }
.text-large { font-size: 1.3em !important; /* 26px */ }
.text-medium { font-size: 1.2em !important; /* 24px */ }
.text-normal { font-size: 1em !important; /* 20px */ }
.text-small { font-size: 0.9em !important; /* 18px */ }
.text-extrasmall { font-size: 0.8em !important; /* 16px */ }
.text-extrasmall- { font-size: 0.7em !important; /* 14px */ }

@media (max-width: 991px) {
    .text-extralarge, .text-large, .text-medium { font-size: 1em !important; /* 20px */ }
    .text-normal { font-size: 0.9em !important; /* 18px */ }
    .text-small, .text-extrasmall, .text-extrasmall- { font-size: 0.7em !important; /* 14px */ }
    .text-sm-extralarge { font-size: 1.4em !important; /* 28px */ }
    .text-sm-large { font-size: 1.3em !important; /* 26px */ }
    .text-sm-medium { font-size: 1.2em !important; /* 24px */ }
    .text-sm-normal { font-size: 1em !important; /* 20px */ }
    .text-sm-small { font-size: 0.9em !important; /* 18px */ }
    .text-sm-extrasmall { font-size: 0.8em !important; /* 16px */ }
    .text-sm-extrasmall- { font-size: 0.7em !important; /* 14px */ }
}

p { margin-bottom: 0; }
.line-height-extralarge { line-height: 160%; }
.line-height-large { line-height: 150%; }
.line-height-medium { line-height: 140%; }
.line-height-md { line-height: 125%; }
.line-height-normal { line-height: 110%; }
.line-height-small { line-height: 100%; }
.uppercase { text-transform: uppercase; }
.fw-light { font-weight: 400 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-medium { font-weight: 400 !important; }
.fw-semibold { font-weight: 500 !important; }
.strong, strong { font-weight: 800 !important; }
.fw-bold { font-weight: 800 !important; }
.fw-extrabold { font-weight: 800 !important; }

@media (min-width: 992px) {
    .fw-lg-medium { font-weight: 400 !important; }
    .fw-lg-bold { font-weight: 800 !important; }
}

.black, .black a, a.black { color: #000 !important; }
.text-dark, .text-dark a, .text-dark a:hover { color: #000 !important; }
.white, .white a, a.white, .text-white, .text-white a, .text-white a:hover { color: #fff !important; }
.text-light-grey, .text-light-grey a { color: #848484 !important; }
.color-grey { color: #9B9B9B; font-weight: 300; }
.red { color: #A52A2A !important; }
.bg-white { background-color: #fff !important; }
.bg-black { background-color: #000 !important; }
.bg-dark-grey { background-color: #464646 !important; }
.bg-light-grey { background-color: #ECECEC !important; }

/* Header Desktop */
#header { min-height: 116px; }
    #header .nav-link { color: #000; font-size: 16px; font-weight: 800; line-height: 100%; margin: 0; padding: 0; }
        #header .nav-link.active { text-decoration: underline !important; text-decoration-thickness: 2px !important; }
    #header .box-logo { width: 210px; height: 51px; left: 40px; position: absolute; top: 0; z-index: 100; /* background-image: url('../img/logo-macro.svg'); background-size: cover; */ }
    #header .box-menu { height: 70px; padding: 20px 0 0 0; border-bottom: 1px solid #DFDFDF; z-index: 100; }
        #header .box-menu .nav-link { margin: 0 30px 0 0; }
    #header .box-utility { height: 70px; padding: 17px 40px 0 0; width: 50%; border-bottom: 1px solid #DFDFDF; position: absolute; top: 0; right: 0; z-index: 90; text-align: end; }
    #header .btn { min-width: auto; font-size: 16px; padding: 8px 25px; margin-left: 12px; font-weight: 800; }
    #header .search { margin: 0 0 0 25px; }
    #header .box-utility .nav-link { margin: 0 0 0 14px; padding: 0 0 0 14px; border-left: 1px solid #000; }
        #header .box-utility .nav-link.first-child { border-left: 0; margin-left: 10px; }
    #header .box-sub-menu { padding: 25px 0 0 0; }
        #header .box-sub-menu a { font-size: 16px; margin: 0 25px 0 0; }
            #header .box-sub-menu a.active { font-weight: 800; text-decoration: underline !important; text-decoration-thickness: 2px !important; }

@media (max-width: 1599px) {
    #header .box-logo { left: 20px; }
    #header .box-menu, #header .box-sub-menu { margin-left: 70px; }
    #header .box-utility { padding-right: 20px; }
    #header .box-menu .nav-link { margin: 0 20px 0 0; }
}

@media (max-width: 1590px) {
    #header .box-menu, #header .box-sub-menu { margin-left: 120px; }
}

#header.absolute { position: absolute; top: 0; left: 0; z-index: 200; width: 100%; }
    #header.absolute .nav-link { color: #fff; }
    #header.absolute .box-menu, #header.absolute .box-utility { border-bottom: none; }
        #header.absolute .box-utility .nav-link { border-color: #fff; }
#header .box-utility .nav-link:hover { text-decoration: underline !important; text-decoration-thickness: 2px !important; }
#header.absolute .btn { background: none; border-color: #fff; }
    #header.absolute .btn:hover { background: #000; border-color: #000; color: #fff; }
#header.absolute.fixed-header .btn:hover { background: #fff !important; border-color: #000; color: #000; }

/* MEGAMENU */
.megamenu { position: relative; padding-top: 65px; min-height: 550px; }
    .megamenu .box-tit-v { position: absolute; z-index: 100; bottom: 0; left: 40px; }
        .megamenu .box-tit-v .tit-v { font-size: 28px; margin-bottom: 20px; margin-left: 5px; }

@media (max-width: 1599px) {
    .megamenu .box-tit-v { left: 20px; }
}

.megamenu .menu .tit, .megamenu .textarea-mostre .tit { font-size: 24px; font-weight: 800; margin-bottom: 25px; }
.megamenu .menu ul { list-style-type: none; padding: 0 0 20px 0; margin: 0; }
    .megamenu .menu ul li { font-size: 18px; font-weight: 400; padding: 0 0 10px 0; }
.megamenu .textarea-mostre { max-width: 900px; width: 100%; }

/* Header Mobile */
#header-mobile .header { border-bottom: 1px solid #DFDFDF; padding-bottom: 15px; }
#header-mobile .box-logo, #menu-mobile .box-logo { height: 50px; }
#header-mobile .box-menu a, #menu-mobile .box-menu a { font-size: 14px; font-weight: 800; padding-left: 10px; margin-left: 10px; border-left: 1px solid #000; }
    #header-mobile .box-menu a.first-child, #menu-mobile .box-menu a.first-child { padding-left: 0; margin-left: 0; }
    #header-mobile .box-menu a.first-child, #header-mobile .box-menu a.btn-menu, #menu-mobile .box-menu a.first-child, #menu-mobile .box-menu a.btn-menu { border-left: none; }
#header-mobile .sub-menu { padding: 22px 0 0 0; font-size: 16px; }
    #header-mobile .sub-menu a { margin: 0 24px 0 0; }
    #header-mobile .sub-menu .active { font-weight: 800; text-decoration: underline !important; text-decoration-thickness: 2px !important; }
#header-mobile.absolute { position: absolute; border-bottom: none; z-index: 200; top: 0; left: 0; width: 100%; }
    #header-mobile.absolute .header { border-bottom: none; }
    #header-mobile.absolute .box-menu a { color: #fff; border-color: #fff; }

/* MENU Mobile */
#menu-mobile { background: #fff; }
    #menu-mobile .header { padding: 0 0 60px 0; }
    #menu-mobile .menu ul { list-style-type: none; margin: 15px 0 25px 0; padding: 0; border-top: 1px solid #000; }
        #menu-mobile .menu ul li { font-size: 20px; padding: 15px 5px; font-weight: 800; border-bottom: 1px solid #000; }
            #menu-mobile .menu ul li a { display: block; }
            #menu-mobile .menu ul li img { float: right; margin-top: 5px; }
    #menu-mobile .menu .btn { margin-bottom: 12px; }
    #menu-mobile .menu-mobile .tit { margin: 30px 0 25px 0; font-size: 18px; font-weight: 800; }
    #menu-mobile .table-apertura { font-size: 16px; margin-bottom: 25px; }
    #menu-mobile .extrasmall { font-size: 14px; }
    #menu-mobile .back { margin-top: -18px; }
    #menu-mobile .menu-sub-mobile .tit { font-size: 22px; font-weight: 800; padding: 40px 0 20px 0; }
    #menu-mobile .box-sub-menu a { display: block; font-size: 18px; font-weight: 400; padding: 5px 0; }
    #menu-mobile .card-evidence .img-card { margin-bottom: 13px; }

/* TABELLA APERTURA */
.table-apertura { width: 100%; line-height: 140%; max-width: 300px; }
    .table-apertura .ora { text-align: right; }

/* footer */
#footer { padding: 0; background: #000; color: #fff; position: relative; z-index: 999; }
    #footer a { color: #fff; }
    #footer .box-footer { padding: 80px 0 55px 0; }
    #footer .tit { padding: 0 0 40px 0; font-weight: 800; font-size: 18px; }
    #footer .textarea { font-size: 16px; line-height: 140%; }
    #footer .extrasmall { padding: 30px 0 0 0; font-size: 14px; line-height: 130% !important; max-width: 230px; }
    #footer .box-social { padding: 30px 0 0 0; }
        #footer .box-social a { padding: 0 9px 0 0; }
    #footer .table-apertura { max-width: 280px; }
    #footer .btn { min-width: auto; font-size: 16px; padding: 8px 25px; margin-bottom: 18px; border: 3px solid #fff; }
    #footer .menu .tit { padding: 32px 0 30px 0; }
    #footer .menu a { font-size: 14px; line-height: 160%; }
    #footer .nav-link { line-height: 100%; margin: 0; padding: 0; }
    #footer .footer-bottom { margin-top: 40px; padding: 20px 0; border-top: 1px solid #202020; }
    #footer .box-loghi-footer a { padding-right: 15px; margin: 0 15px 0 0; border-right: 1px solid #202020; display: inline-flex; min-height: 50px; }
        #footer .box-loghi-footer a:last-child { padding-right: 0; margin: 0; border-right: none; }
    #footer .menu-footer { font-size: 14px; padding-top: 8px; }
        #footer .menu-footer a { padding-left: 20px; margin-bottom: 15px; }
            #footer .menu-footer a:first-child { padding-left: 0; }
            #footer .menu-footer a:last-child { padding-left: 10px; margin-left: 10px; border-left: 1px solid #202020; }

@media (max-width: 991px) {
    #footer { padding-top: 15px; }
        #footer .box-logo { width: 70px; padding: 0 0 0 15px; position: absolute; z-index: 99; top: 0; left: 0; }
            #footer .box-logo img { width: 30px; }
        #footer .box-footer { padding: 50px 0 0 70px; }
        #footer .menu .tit { padding: 22px 0 30px 0; }
        #footer .menu-footer a:last-child { display: block; padding-left: 0; margin-left: 0; border-left: none; padding-top: 15px; }
        #footer .footer-bottom .col-lg-5 { border-top: 1px solid #202020; padding-top: 10px; }
}

/* Template */
.template { position: relative; }
.card { border: none; border-radius: 0; background: none; }
.card-body { padding: 0; }
.card-header { background: none; }
.card-title { margin-bottom: 0; }
.card-img-top { max-width: 100% !important; width: auto !important; }
.img { position: relative; }
.textarea-content.line-height-large { line-height: 160%; }
.textarea-content p { margin: 0 0 30px 0; padding: 0; }
.textarea-content h2, .textarea-content h3, .textarea-content h4, .textarea-content h5, .textarea-content h6 { margin: 0 0 30px 0; padding: 15px 0 0 0; font-weight: 800; }
.textarea-content h2 { font-size: 36px; }
.textarea-content h3 { font-size: 30px; }
.textarea-content ul { padding: 20px 0 0 0; list-style-type: square !important; margin: 0; list-style-position: inside; }
    .textarea-content ul li { padding: 0 0 0 0; margin: 0; }

@media (max-width: 991px) {
    .textarea-content p { margin: 0 0 15px 0; }
    .textarea-content h2, .textarea-content h3, .textarea-content h4, .textarea-content h5, .textarea-content h6 { margin: 0 0 20px 0; padding: 15px 0 0 0; }
    .textarea-content h2 { font-size: 28px; }
    .textarea-content h3 { font-size: 24px; }
    .textarea-content ul { padding: 15px 0 0 0; }
}

/* Box link */
.box-link { border-top: 1px solid #707070; }
    .box-link .link-full { border-bottom: 1px solid #707070; padding: 19px 0; background: url("../img/icon-arrow-right.svg") no-repeat right 5px center; line-height: 100%; }

/* template box bread + tit */
.box-tit-v .textarea { position: relative; width: 80px; height: 200; display: flex; flex-direction: row; align-items: end; }
.box-tit-v .icon img { width: 40px; }
.box-tit-v .tit-v { margin-bottom: 40px; margin-left: 10px; font-size: 24px; width: 20px; white-space: nowrap; font-weight: 800; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); }

.template-box-bread-tit { position: sticky; top: 0; left: 20px; z-index: 10; width: 80px; }
    .template-box-bread-tit .textarea { width: 80px; position: absolute; top: 0; left: 0; }

@media (min-width: 1771px) {
    .template-box-bread-tit .textarea { top: 0; left: 40px; }
}

@media (max-width: 1399px) {
    .template-box-bread-tit { display: none; }
}

/* CARD - MOSTRE EVENTI CATALOGHI ATTIVITA */
.card-mostra .card-body { padding-bottom: 20px; }
.card-mostra .card-data { position: absolute; bottom: 0; left: 0; z-index: 100; }
.card-mostra .card-info { position: absolute; bottom: -30px; left: 0; z-index: 100; }
.card-mostra .arrow-icon { position: absolute; bottom: 15px; left: 26px; z-index: 100; }

@media (max-width: 991px) {
    .card-mostra .card-data { position: relative !important; }
}

@media (min-width: 992px) {
    .card-mostra .arrow-icon img { width: 13px; }
}

.card-mostra .card-info .free { background: #000; color: #fff; font-size: 12px; font-weight: 800; padding: 1px 3px; margin-right: 8px; }
.card-mostra.card-mostra-int { max-width: 480px; }

.card-evento .card-body { padding-bottom: 42px; }

@media (min-width: 1200px) {
    .template-slider-attivita .card-evento .card-body { padding-bottom: 62px; }
}

.card-evento .card-data { position: absolute; bottom: 0; left: 0; z-index: 100; }
.card-evento .card-txt { max-width: 410px; line-height: 120%; }
.card-evento.card-evento-int { max-width: 480px; }
    .card-evento.card-evento-int .card-body { padding-bottom: 40px; margin-bottom: 20px; }
    .card-evento.card-evento-int .card-txt { max-width: 480px; }
.card-evento.card-evento-v { max-width: 984px; }

.box-cat-v { position: absolute; left: 15px; top: -30px; color: #fff; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); transform-origin: bottom left; }
    .box-cat-v .cat-v { font-size: 24px; color: #fff; white-space: nowrap; font-weight: 800; display: inline-block; margin-left: 15px; -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); vertical-align: middle; }
.card-evento .box-cat-v { left: 15px; top: -20px; }

@media (max-width: 768px) {
    .box-cat-v { left: 10px; top: -25px; }
        .box-cat-v .icon { width: 32px; }
        .box-cat-v .cat-v { font-size: 18px; margin-left: 10px; }
    .card-evento .box-cat-v { left: 10px; top: -15px; }
}

.card-catalogo .card-txt { max-width: 320px; line-height: 120%; }
.card-foto-video .box-cat-v { left: 10px; top: -15px; }
/*.card-attivita-v .col-md-6 {max-width:504px;}
.card-attivita-v .card-txt {max-width:420px;}*/

/* template museo macro */
.template-museomacro .logo-verticale { position: absolute; top: 0; left: 12px; z-index: 100; }

/* template banner evidence full */
@media (min-width: 992px) {
    .template-banner-evidence-full .container-absolute { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; }
    .template-banner-evidence-full .img img { height: 640px; }
}

/* Video */
.play-video { position: absolute; bottom: 18px; right: 18px; z-index: 100; color: #fff; font-size: 24px; text-decoration: underline; font-weight: 800; }

@media (max-width: 991px) {
    .play-video { right: auto; left: 15px; bottom: 15px; font-size: 16px; }
}

/* carousel - slider - banner full */
.card-overlay { position: absolute; padding: 0; top: 0; left: 0; }

.template-slider { position: relative; }
    .template-slider.template-slider-h .img img { min-height: 720px; width: 100% !important; }
    .template-slider.template-slider-h .img-mobile img { min-height: 530px; width: 100% !important; }
    .template-slider.template-slider-h .card-overlay { bottom: 200px; top: auto; width: 100%; }
        .template-slider.template-slider-h .card-overlay .card { max-width: 400px; }

@media (max-width: 991px) {
    .template-slider.template-slider-h .card-overlay { bottom: 70px; }
        .template-slider.template-slider-h .card-overlay .card { max-width: 300px; }
}

.template-slider-int { position: relative; }
    .template-slider-int .img img { min-height: 600px; width: 100% !important; }
    .template-slider-int .img-mobile img { min-height: 430px; width: 100% !important; }
.template-slider-int-large { position: relative; }
    .template-slider-int-large .img img { min-height: 800px; width: 100% !important; }
    .template-slider-int-large .img-mobile img { min-height: 500px; width: 100% !important; }

/* bottoni */
.btn, .btn:hover { min-width: 200px; font-size: 18px; line-height: 100%; padding: 13px 25px; font-weight: 800; color: #fff; background: #000; border: 3px solid #000; height: auto !important; display: inline-block; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
    .btn:hover { color: #000; background: none; }
    .btn.btn-white { color: #000 !important; background: #fff; }
        .btn.btn-white:hover { color: #fff !important; background: #000; border: 3px solid #fff; }
    .btn.btn-full { width: 100%; min-width: 10px; }
.btn-large { min-width: 320px; }

/* Form */
.form-control, select.form-control { padding: 0; font-size: 1em; font-weight: 800; color: #000 !important; background: #fff; border: none; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; border-radius: 0; text-decoration: underline; text-decoration-thickness: 2px; }
input[type="checkbox"] { width: 14px; height: 14px; background-color: #fff; border: 2px solid #000; border-radius: 0; margin-right: 5px; cursor: pointer; -webkit-appearance: none; position: relative; }
    input[type="checkbox"]:checked { background: #000 url("../img/checked.svg") center center no-repeat; background-size: auto; background-size: 10px; }
.label-checkbox { font-weight: 800; cursor: pointer; }
textarea.form-control { height: 140px !important; line-height: 110%; padding-top: 10px; }
::-webkit-input-placeholder { color: #000 !important; }
::-moz-placeholder { color: #000 !important; }
:-ms-input-placeholder { color: #000 !important; }
:-moz-placeholder { color: #000 !important; }

@media (max-width: 991px) {
    .form-control, select.form-control { font-size: 0.7em; }
}

.template-membership label { font-size: 18px; font-weight: 800; }
.form-control-default { background-color: #EEEEEE; font-size: 18px; padding: 0 20px; color: #000 !important; border: none; line-height: 50px; width: 100%; }

/* BORDER - MARGIN - PADDING */
hr { margin-top: 5px; margin-bottom: 5px; border: 0; border-top: 1px solid #DFDFDF; }
.border { border: 1px solid #DFDFDF; }
.border-t { border-top: 1px solid #DFDFDF; }
.border-b { border-bottom: 1px solid #DFDFDF; }
.border-l { border-left: 1px solid #DFDFDF; }
.border-r { border-right: 1px solid #DFDFDF; }

/* UTILITY */
.z-index-100 { z-index: 100; }
/*img.icon-per-o  {width:160px;}*/
img.icon-per-o-small { width: 120px; }

@media (max-width: 991px) {
    img.icon-per-o { height: 30px; }
}

.bg-line-per-o img { height: 32px; width: 100% !important; }

.box-2-col .textarea { max-width: 230px; margin-right: 40px; }
.translate-center { left: 50%; top: 50%; position: absolute; z-index: 300; transform: translate(-50%,-50%); -ms-transform: translate(-50%, -50%); margin: auto; height: auto; transition: all 0.5s ease-in-out 0s; -webkit-transition: all 0.5s ease-in-out 0s; }

/* SECTION PADDING */
.with-spacer { padding-bottom: 40px !important; }

@media (min-width: 992px) {
    .with-spacer { padding-bottom: 100px !important; }
}

/* RESPONSIVE */
@media (min-width: 1400px) {
    .hidden-xxl-up { display: none !important; }
}

@media (max-width: 1399px) {
    .hidden-xxl-down { display: none !important; }
}

@media (min-width: 1200px) {
    .hidden-xl-up { display: none !important; }
}

@media (max-width: 1199px) {
    .hidden-xl-down { display: none !important; }
}

@media (min-width: 992px) {
    .hidden-lg-up { display: none !important; }
}

@media (max-width: 991px) {
    .hidden-lg-down { display: none !important; }
}

@media (min-width: 768px) {
    .hidden-md-up { display: none !important; }
}

@media (max-width: 767px) {
    .hidden-md-down { display: none !important; }
}

@media (min-width: 576px) {
    .hidden-sm-up { display: none !important; }
}

@media (max-width: 575px) {
    .hidden-sm-down { display: none !important; }
}



/* FIX c2i-dev */

/* HEADER */
.fixed-header { position: fixed !important; width: 100% !important; background-color: #fff !important; z-index: 9999 !important; animation: smoothScroll 0.3s forwards; top: 0 !important; padding-bottom: 0 !important; min-height: auto !important; }

@keyframes smoothScroll {
    0% { transform: translateY(-200px); }
    100% { transform: translateY(0px); }
}

#header.absolute .header .box-sub-menu a, #header-mobile.absolute .header .box-sub-menu a { color: #fff; }
#header .box-logo { left: 40px; }
    #header .box-logo img { width: 100%; }
#header .search .search-w, #header-mobile .search .search-w { display: none; }
#header.absolute .search .search-b, #header-mobile.absolute .search .search-b { display: none; }
#header.absolute .search .search-w, #header-mobile.absolute .search .search-w { display: block; }
#header-mobile .header { border-bottom: 1px solid #E4E4E4; padding-top: 12px; padding-bottom: 12px; }
#header-mobile .btn-menu .menu-w { display: none; }
#header-mobile.absolute .btn-menu .menu-b { display: none; }
#header-mobile.absolute .btn-menu .menu-w { display: inline; }
#header-mobile.fixed-header .box-menu a { color: #000; border-color: #000; }
    #header-mobile.fixed-header .box-menu a.btn { color: #fff; }
#header-mobile.absolute .sub-menu a { color: #fff; }
#header-mobile.fixed-header .sub-menu a { color: #000; }
#header.fixed-header .header { padding-bottom: 15px; }
#header-mobile.fixed-header .sub-menu { padding: 15px 0; }
#header-mobile .box-logo img, #menu-mobile .box-logo img { height: 40px; }
.fixed-header .nav-link { color: #000 !important; }
.fixed-header .header .box-sub-menu a { color: #000 !important; }
.fixed-header .btn { background-color: #000 !important; border-color: #000 !important; }
#header .box-logo { top: 12px; }
.fixed-header .btn-menu .menu-b { display: inline !important; }
.fixed-header .btn-menu .menu-w { display: none !important; }
.fixed-header .search .search-b { display: block !important; }
.fixed-header .search .search-w { display: none !important; }
.fixed-header .box-utility .nav-link { border-color: #000 !important; }
.header-default { background: #fff !important; }
    .header-default .nav-link { color: #000 !important; }
    .header-default .header .box-sub-menu a { color: #000 !important; }
    .header-default .btn { background-color: #000 !important; border-color: #000 !important; }
    .header-default .search .search-b { display: block !important; }
    .header-default .search .search-w { display: none !important; }
    .header-default .box-utility .nav-link { border-color: #000 !important; }
#header-mobile.fixed-header .header { border-bottom: 1px solid #E4E4E4 !important; }
#header.fixed-header .box-sub-menu { padding: 15px 0 0 0; }

@media (min-width: 1200px) and (max-width: 1799px) {
    #header .box-logo { left: 20px; width: 0; scale: 0.8; }
    #header .btn { font-size: 16px; padding: 8px 20px; }
}

@media (max-width: 1770px) {
    #header .box-menu, #header .box-sub-menu { margin-left: 0; }
}

#header-mobile .box-menu .btn { font-size: 16px; padding: 8px 20px; min-width: auto; margin-left: 12px; background: #000; color: #fff; border: 3px solid #000; }
    #header-mobile .box-menu .btn:hover { background: #fff !important; color: #000; }
#header-mobile .box-menu .search { border: none; margin: 0 20px; }
#header-mobile.absolute .box-menu .btn { background-color: transparent; color: #fff; border: 3px solid #fff; }
    #header-mobile.absolute .box-menu .btn:hover { background-color: #000; color: #fff; border: 3px solid #000; }
#header .box-menu .nav-link:hover { text-decoration: underline !important; text-decoration-thickness: 2px !important; }
#header .box-logo svg { width: 210px; height: 51px; }
#header.absolute .box-logo svg { fill: #ffffff; }
#header.fixed-header .box-logo svg { fill: #1d1d1b; }
#header.header-default .box-logo svg { fill: #1d1d1b; }
#header-mobile .box-logo { width: 0; height: 51px; scale: 0.8; }
#header-mobile.absolute .box-logo svg { fill: #ffffff; height: 60px; width: 230px; }
#header-mobile.fixed-header .box-logo svg { fill: #1d1d1b; }
#header-mobile.header-default .box-logo svg { fill: #1d1d1b; }

@media (max-width: 350px) {
    #header-mobile .box-logo { scale: 0.6; }
        #header-mobile .box-logo img, #menu-mobile .box-logo img { height: 30px; }
}

/* MEGAMENU */
.megamenu { position: fixed; width: 100%; background: #fff; z-index: 9999; top: 70px; }
    .megamenu .tit { font-size: 24px; font-weight: 800; margin-bottom: 25px; }


/* MENU MOBILE */
#offcanvasMenuMobile { overflow-x: hidden; z-index: 9999; }
#menu-mobile { max-width: 414px; overflow-y: auto; }
.menu-mobile { transform: translateX(-100%); transition: all .2s ease-in; }
    .menu-mobile.show { transform: none; }
.menu-sub-mobile { position: absolute; top: 110px; z-index: 999; height: 100%; width: 100%; background: #fff; transform: translateX(100%); transition: all .2s ease-in; }
    .menu-sub-mobile.show { transform: none; }


/* BREADCRUMBS */
#menu-mobile .header { padding-top: 20px; }
.template-box-bread-tit { left: 0; width: 200px; z-index: 999; top: 10px; }
    .template-box-bread-tit .box-tit-v { position: absolute; top: 10px; left: 40px; max-width: 150px; }
        .template-box-bread-tit .box-tit-v .breadcrumb-icon { display: flex; flex-direction: row; align-items: end; }
        .template-box-bread-tit .box-tit-v .tit-v { transform-origin: top left; width: auto; margin-bottom: -22px; margin-left: 12px; font-size: 28px; }
.breadcrumb { margin-bottom: 70px; display: block; }
    .breadcrumb .breadcrumb-item { font-size: 10px; line-height: 14px; padding: 0; text-transform: uppercase; }
        .breadcrumb .breadcrumb-item:before { display: none; }

@media (min-width: 1200px) and (max-width: 1799px) {
    .template-box-bread-tit { display: block; }
        .template-box-bread-tit .box-tit-v { left: 20px; }
}


/* SELECT */
.custom-select { appearance: none; -webkit-appearance: none; border: none !important; font-size: 20px; font-weight: 800; padding: 0 20px 0 0; text-decoration: underline; text-decoration-thickness: 2px; }
.custom-select { background: url("../img/icon-expand.svg") no-repeat right 0 center; }

@media (max-width: 1200px) {
    /*.select2-container{left: 16px !important;}*/
}

.box-search { display: flex; align-items: center; }
    .box-search label { margin-right: 5px; }


/* SLIDER */
.template-slider-overflow { overflow: hidden; }
    .template-slider-overflow .container { clip-path: inset( -100vw -100vw -100vw 0 ); }
.template-gallery .swiper-slide { width: auto; height: 220px; }
.swiper-default .swiper-slide { max-width: 284px; }
.swiper-small .swiper-slide { max-width: 284px; }
.swiper-submenu .swiper-slide { width: auto; }
.box-nav-arrow img { cursor: pointer; }

@media (min-width: 992px) {
    .swiper-default .swiper-slide { max-width: 480px; }
    .swiper-small .swiper-slide { max-width: 354px; }
    .template-gallery .swiper-slide { width: auto; height: 488px; }
    .template-gallery.template-gallery-small .swiper-slide { width: auto; height: 417px; }
}

@media (min-width: 768px) {
    .swiper-default-home .swiper-slide { max-width: 480px; }
}

.swiper-pagination-bullet { width: 8px !important; height: 4px !important; background: #DFDFDF; opacity: 1; margin: 0 1.5px !important; border-radius: 0 !important; }
    .swiper-pagination-bullet.swiper-pagination-bullet-active { background: #000000 !important; border: 1px solid #000000 !important; }


/* VIDEO */
.container-video { position: relative; height: 530px; overflow: hidden; }
    .container-video video { position: absolute; bottom: -50%; left: 0; width: 100%; height: 100%; object-fit: cover; top: 0; right: 0; }
.template .container-video { height: 250px; }

@media (min-width: 992px) {
    .container-video { height: 720px; }
        .container-video video { top: 0; bottom: 0; }
    .template .container-video { height: 720px; }
}


/* BOTTOM BAR */
.template-bottom-bar { display: none; width: 100%; background: #fff; z-index: 999; bottom: 0; border-top: 1px solid #E4E4E4; }
.fixed-bottom-bar { display: block; position: fixed; animation: smoothScrollBottomBar 0.3s forwards; }

@keyframes smoothScrollBottomBar {
    0% { transform: translateY(80px); }
    100% { transform: translateY(0px); }
}

.template-bottom-bar .d-flex { height: 70px; }
.template-bottom-bar .tit-bar span { border-left: 1px solid #D9D9D9; margin-left: 12px; padding-left: 12px; }
.template-bottom-bar .btn { font-size: 16px; width: 228px; }
.template-bottom-bar .container { width: 100% !important; max-width: 1512px !important; }

@media (max-width: 991px) {
    .template-bottom-bar .btn { width: 100%; }
    .template-bottom-bar .btn-bar { width: 100%; }
}


/* SPONSOR */
.template-sponsor .img-fluid { text-align: center; border: 1px solid #eee; padding: 12px; margin-bottom: 12px; }
.template-sponsor img { max-width: 250px; }

@media (min-width: 992px) {
    .template-sponsor .img-fluid { text-align: center; line-height: 100px; margin-right: 24px; }
}


/* ACCEDI */
@media (max-width: 991px) {
    .template-accedi .box-btn { display: grid; }
}


/* ACCORDION */
.accordion-item { border: none; border-top: 1px solid #707070; border-bottom: 1px solid #707070; border-radius: 0 !important; }
.accordion-header { margin: 0 !important; padding: 0 !important; font-size: 20px !important; }
.accordion-button { font-size: 20px; font-weight: 800; padding: 20px 0; line-height: 100%; border-radius: 0 !important; }
    .accordion-button:after { background-image: url("../img/icon-arrow-right.svg"); background-size: 7px; background-position: 0; }
    .accordion-button:not(.collapsed)::after { background-image: url("../img/icon-arrow-top.svg"); transform: none; background-size: 12px; }
    .accordion-button:not(.collapsed) { color: #000; background-color: #FFF; box-shadow: none; }
    .accordion-button:focus { border-color: #707070; box-shadow: none; }
.accordion-body { padding: 0px 0 20px 0; }


/* ARCHIVIO TIMELINE */
.template-slider-overflow-timeline { overflow: hidden; }
    .template-slider-overflow-timeline .container { clip-path: inset( -100vw -100vw -100vw 0 ); }
.template-timeline .swiper-slide { width: auto; }
.swiper-container-timeline { padding-bottom: 200px; }
.table-year { text-align: center; font-size: 16px; font-weight: 800; padding-bottom: 15px; }
.table-timeline .container { width: 100% !important; max-width: 1200px !important; }
.table-timeline .table-header { border-top: 4px solid #000; }
    .table-timeline .table-header .col-1 { width: 100px; text-align: center; font-size: 12px; font-weight: 500; padding: 0 0 25px 0; border-left: 2px solid #fff; border-right: 2px solid #fff; }
        .table-timeline .table-header .col-1::before { content: ""; width: 2px; height: 8px; position: absolute; display: block; background-color: #000; top: 35px; }
        .table-timeline .table-header .col-1:first-child::before { left: 0; }
        .table-timeline .table-header .col-1::after { content: ""; width: 2px; height: 8px; position: absolute; display: block; background-color: #000; top: 35px; right: 0; }
.table-timeline .table-body { border-right: 1px solid #DFDFDF; min-height: 800px; margin-right: -2px; }
.template-timeline .swiper-slide:first-child .table-body { border-left: 1px solid #DFDFDF; }
.table-timeline .table-mostra { background-color: #ECECEC; border-bottom: 5px solid #fff; white-space: nowrap; padding: 5px 8px; transition: all .1s ease-in; padding-bottom: 4px; }
    .table-timeline .table-mostra .tit { font-size: 14px; color: #000; }
    .table-timeline .table-mostra .date { font-size: 12px; color: #000; }
    .table-timeline .table-mostra:hover .tit { color: #fff; text-shadow: 0 1px 3px #000; }
    .table-timeline .table-mostra:hover .date { color: #fff; text-shadow: 0 1px 3px #000; }
    .table-timeline .table-mostra:hover a { background-color: transparent !important; color: #fff; }
    .table-timeline .table-mostra:hover { background-color: #000 !important; }
    .table-timeline .table-mostra img { display: none; position: absolute; transform: translate(-108%, -5px); transition: all .1s ease-in; max-width: 180px; }
    .table-timeline .table-mostra:hover img { display: block; }
.template-timeline-mobile .col-6:nth-child(odd) { padding-right: 6px; }
.template-timeline-mobile .col-6:nth-child(even) { padding-left: 6px; }

/* VIDEO RESPONSIVE */
.embed-container { position: relative; padding-bottom: 56.25%; overflow: hidden; max-width: 100%; height: auto; }
    .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* BOX DOCUMENTO */
.box-document { margin-bottom: 10px; border: 0; }
    .box-document:hover { background: #F3F3F3; }
    .box-document .img { width: 70px; margin-right: 20px; float: left; }
    .box-document.box-document-file .img { text-align: center; padding: 15px 0 0 0; }
        .box-document.box-document-file .img img { width: 50px; height: 50px; float: none; }
    .box-document .textarea { padding: 15px 10px 0 0; }
    .box-document.box-document-file .textarea { padding: 15px; }

/* RICERCA */
#searchModal { z-index: 99999; padding: 0 !important; }
    #searchModal .modal-dialog { width: 100%; max-width: 100%; margin: 0 !important; height: 100%; transform: none !important; }
        #searchModal .modal-dialog .modal-content { height: 100%; overflow-y: auto; }
    #searchModal .modal-body-search { margin-bottom: 55px; }
    #searchModal .icon-search-ricerca { background-color: #fff; border: none; }
        #searchModal .icon-search-ricerca img { width: 40px; }
.cerca-txt { font-size: 30px; color: #222; border: none; border-bottom: 1px solid #5d7083; border-radius: 0; padding: .375rem .5rem; outline: 0; height: 2.5rem; width: 100%; box-shadow: none; transition: none; font-weight: 700; -webkit-appearance: none; -webkit-border-radius: 0; }
#searchModal .close { padding: 0; background-color: transparent; border: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; float: right; }

@media (max-width: 991px) {
    #searchModal .icon-search-ricerca img { width: 25px; }
}
