/* === FONTS === */
@font-face {
  font-display: swap; 
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/satoshi-regular.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/satoshi-medium.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/satoshi-bold.woff2') format('woff2'); 
}
/*@font-face {
  font-display: swap;
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/satoshi-black.woff2') format('woff2');
}*/ 

@font-face {
  font-display: swap; 
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/manrope-300.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/manrope-600.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/manrope-700.woff2') format('woff2'); 
}

h1 {
    /* Heading 1 */
    font-family: Satoshi;
    font-size: 56px;
    font-style: normal;
    font-weight: 500;
    line-height: 60px; /* 107.143% */
    letter-spacing: -0.84px;
}


/* === GENERICI === */
/* originale --azzurro: #2091B0 */
/* conforme AA per testo --azzurro: #1D7FA5 */
/* conforme AAA per testo --azzurro: #115974 */
/* originale --rosso: #D2072A */
/* conforme AAA per testo small --rosso: #B10723 */
:root {
  --azzurro: #115974 !important;
  --bluchiaro: #20467B !important;
  --blu: #1A2031 !important;
  --grigio-50: #FBFCFC !important;
  --grigio-100: #F6F8FA !important;
  --grigio-300: #E5EBEF !important;
  --rosso: #B10723 !important;
  --bs-border-color: var(--grigio-300) !important;
}

body { 
  color: var(--blu);
  font-family: 'Satoshi', sans-serif;
  font-size:16px;
  line-height: 24px;
  font-style:normal;
  font-weight: 400;
  overflow-x: hidden;
} 

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 15px;
  color: var(--blu);
}
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6 {
  color: #fff;
}
.bg-dark {
    background-color: #0F1020 !important;
}
.bg-dark p,
.bg-dark p a {
    color: #fff;
}

/*bg dark consecutivi si annullano il margin*/
.bg-dark:has(+.bg-dark) {
    margin-bottom: 0 !important;
}
.bg-dark + .bg-dark {
    margin-top: 0 !important;
}


.bg-pattern {
    background-image: url('../img/bg-pattern.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.bg-pattern.bg-gradient-light {
    position: relative;
}
.bg-pattern.bg-gradient-light::before {
    content: "";
    display: block;
    background-image: linear-gradient(90deg, #FFF 35%, transparent 60%);
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.bg-pattern.bg-gradient-light > .container {    
    z-index: 1;
    position: relative;
}
@media(min-width:992px){
    .bg-pattern.bg-gradient-light::before {
        background-image: linear-gradient(90deg, #FFF 20%, transparent 60%);
    }
}

.bg-grigio {
    background-color: var(--grigio-100) !important;
} 

.bg-azzurro {
    background-color: #E9F6F6;
}


ul {
    margin: 0;
    padding: 0;
}
li {
    list-style: none;
}

a, button, input, textarea {
    outline: none !important;
}

img {
    max-width: 100%;
    height: auto;
}

.text-white a {
    color: #fff;
}
.text-primary {
/*    color: rgba(32,145,176,var(--bs-text-opacity))!important; */
/* accessibilità AAA small text */
    color: rgba(18,94,119,var(--bs-text-opacity))!important;
}

.btn {
  /*font*/
  text-align: center;
  font-family: Satoshi;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase; 

  letter-spacing: 0.4px;

  /*stile*/
  border-radius: 2px;
  display: inline-flex;
  min-height: 42px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;  
  min-width: 157px;
}

.btn-primary {
  /*colori*/
  color: #fff;
  --bs-btn-bg: var(--azzurro) !important;
  /*--bs-btn-border-color: var(--azzurro) !important;*/
  --bs-btn-border-color: transparent !important;
  /*--bs-btn-hover-bg: var(--bluchiaro) !important;*/
  --bs-btn-hover-bg: var(--azzurro) !important;
  --bs-btn-hover-border-color: var(--bluchiaro) !important;
  --bs-btn-active-bg: var(--bluchiaro) !important;
  --bs-btn-active-border-color: var(--bluchiaro) !important;
  --bs-btn-disabled-bg: var(--azzurro) !important;
  --bs-btn-disabled-border-color: var(--azzurro) !important; 
}

.btn-secondary {
  /*stili*/
  border: 1px solid var(--grigio-300);
  color: var(--blu) !important;
  --bs-btn-bg: #fff !important;
  --bs-btn-border-color: var(--grigio-300) !important;
  --bs-btn-hover-bg: #fff !important;
  --bs-btn-hover-border-color: var(--grigio-300) !important;
  --bs-btn-active-bg: #fff !important;
  --bs-btn-active-border-color: var(--grigio-300) !important;
  --bs-btn-disabled-bg: #fff !important;
  --bs-btn-disabled-border-color: var(--grigio-300) !important; 
}

.btn-outline-secondary {
    text-align: left;
    text-transform: inherit !important;
    padding: 18px 15px !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    border-radius: 50px !important;
    background-color: var(--grigio-100);
    --bs-btn-color: var(--blu);
    --bs-btn-border-color: var(--grigio-300);
    --bs-btn-hover-color: var(--blu);
    --bs-btn-hover-bg: var(--grigio-100);
    --bs-btn-hover-border-color: var(--grigio-300);
}
.btn-outline-secondary:hover {
    background-color: var(--grigio-300);
    --bs-btn-border-color: var(--grigio-300);
    --bs-btn-hover-bg: var(--grigio-300); 
    --bs-btn-hover-border-color: var(--grigio-300);
}

.btn-outline-primary {
    background-color: #fff;
    font-weight: 500 !important;
    text-transform: initial !important;
    padding: 18px 15px !important;
    margin-top: 30px !important;
    --bs-btn-color: var(--blu);
    --bs-btn-border-color: var(--grigio-300);
    --bs-btn-hover-color: var(--blu);
    --bs-btn-hover-bg: var(--grigio-300);
    --bs-btn-hover-border-color: #fff;
}

.btn-outline-dark {
    background-color: var(--azzurro);
    font-weight: 500 !important;
    text-transform: initial !important;
    padding: 18px 15px !important;
    margin-top: 30px !important;
    --bs-btn-color: #fff;
    --bs-btn-border-color: var(--azzurro);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bluchiaro);
    --bs-btn-hover-border-color: var(--azzurro);
}
@media (max-width: 991px) {
    .btn-outline-dark {
        border-radius: 50px;
        padding: 0px !important;
    }
    .btn-outline-primary,
    .btn-outline-dark {
        padding: 0px 12px!important;
        border-radius: 50px;
        min-width: 55px;
        min-height: 44px;
        margin-top: 10px !important;
    }
}


.btn-link {
  font-weight: 500 !important;
  text-decoration: none !important;

  color: var(--blu);
}

.btn-link:hover {
    color: var(--azzurro);
}

.btn-link-u {
  line-height: normal;
  text-decoration-line: underline !important;
  text-underline-offset: 4px;
}
.btn-link-u.text-primary img {
    margin-left: 16px;
}
.btn:has(+.btn) {
    margin-right: 16px;
}

.bg-dark .btn-link {
  color: #fff;
}

.select-dropdown {
    padding: 20px 15px;
    background-color: #fff;
    border: 1px solid var(--grigio-300);
}


p a:not(.btn) { 
    color: var(--azzurro);
    text-underline-offset: 4px;
    xword-break: break-all;
}
.bg-dark p a:not(.btn) { 
    color: #fff;
}



.table {
    --bs-table-striped-bg: var(--grigio-50) !important;
}
.table-body-distant tbody:before {
    content: "-";
    display: block;
    line-height: 24px;
    color: transparent;
    visibility: hidden;
}




#breadcrumbs {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-top: 25px;
    padding-bottom: 25px;
}
#breadcrumbs > * {
    width: auto;
    display: inline-block;
    padding: 0;
    font-size: 12px;
    line-height: 16px;
    color: var(--blu);
    text-decoration: none;
    font-weight: 500;
}

#breadcrumbs .bc-attivo {
    color: var(--azzurro) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media only screen and (max-width: 767px) {
    #breadcrumbs .bc-txt {
        display: none;
    }
}


@media(max-width:991px){ 
    .sep-bottom > p:last-child {
        border-bottom: 1px solid var(--grigio-300);
        padding-bottom:48px;
        margin-bottom:48px;
    }
}




.titolo-sezione {
    margin-top:68px;
    margin-bottom:68px;
}
.titolo-sezione h1 {
    font-weight: 500;
    font-size: 32px;
    line-height: 40px; /* 125% */
    letter-spacing: -0.48px;
}
.titolo-sezione h2,
.titolo-sezione h3 {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.48px;
}
.titolo-sezione h2 span,
.titolo-sezione h3 span {
    color: var(--azzurro);
}
.titolo-sezione.titolo-con-sep h1, 
.titolo-sezione.titolo-con-sep h2, 
.titolo-sezione.titolo-con-sep h3 {
    padding-bottom: 24px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--grigio-300);
}
.titolo-con-sep.text-white h1,
.titolo-con-sep.text-white h2,
.titolo-con-sep.text-white h3 {
    color: #fff;
}
.titolo-sezione p:last-of-type {
    margin-bottom: 0;
}
.titolo-sezione > p > big { /*per i casi in cui non si trova in una #intro-... */
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
.titolo-sezione .btn{
    min-height: 52px;
}
.titolo-sezione .btn-secondary:hover {
    background-color: var(--grigio-300);
}

@media (min-width: 992px) {
    .titolo-sezione h2,
    .titolo-sezione h3 { 
        font-size: 32px;
        line-height: 43px;
    } 
    .titolo-sezione h1,
    .titolo-sezione.titolo-big h2,
    .titolo-sezione.titolo-big h3 {
        font-size: 56px;
        line-height: 60px; /* 107.143% */
        letter-spacing: -0.84px;
    }

    .titolo-sezione > p {
        max-width: 900px;
        width: 66%; 
    }      
    .col-lg-7 .titolo-sezione > p,
    .col-lg-8 .titolo-sezione > p,
    .col-lg-9 .titolo-sezione > p,
    .col-lg-10 .titolo-sezione > p,
    .col-lg-11 .titolo-sezione > p {
        width:100%; 
    }
    .titolo-alto.titolo-sezione {
        margin-bottom: 16px;
    }
    .titolo-sezione.titolo-alto h1,
    .titolo-sezione.titolo-alto h2,
    .titolo-sezione.titolo-alto h3 {
        padding-bottom:48px;
    }
    .titolo-sezione.titolo-basso h1,
    .titolo-sezione.titolo-basso h2,
    .titolo-sezione.titolo-basso h3 {
        padding-bottom:16px;
        margin-bottom:16px;
    }
}





.col:has(.titolo-sezione.titolo-con-sep p)  + .col .box-dettaglio-content {
    margin-top:8px;
}
.col:not(:has(.titolo-sezione.titolo-con-sep p))  + .col .box-dettaglio-content {
    margin-top:0; 
}

@media(max-width:991px){
    .col:has(.titolo-sezione.titolo-con-sep p)  + .col .box-dettaglio-content .titolo-sezione {
        margin-top:32px;
    }
    .col:not(:has(.titolo-sezione.titolo-con-sep p))  + .col .box-dettaglio-content .titolo-sezione {
        margin-top:32px;
    }
}
@media(min-width:992px){
    .col:not(:has(.titolo-sezione.titolo-con-sep p))  + .col .box-dettaglio-content {
        margin-top:calc(48px - 14px)
    }
}






.bg-dark .titolo-sezione {
    color:#fff;
    margin-bottom:0;
}
.bg-dark .titolo-sezione.titolo-con-sep h1,
.bg-dark .titolo-sezione.titolo-con-sep h2,
.bg-dark .titolo-sezione.titolo-con-sep h3 {
    border-bottom: 2px solid var(--blu);
}

.bg-dark .titolo-sezione.titolo-con-sep h1 {
    padding-bottom: 24px;
    margin-bottom:32px;
}
@media(min-width:992px){   
    .bg-dark .titolo-sezione.titolo-con-sep h1 {
        padding-bottom: 48px;
        margin-bottom:48px;
    }
}




/* ============================ HEADER =========================== */
.header-area {
  padding: 8px 0;
}
.header-area a {
  text-decoration: none;
}

.social__ico__blk { /*esiste questo?*/
  display: flex;
  gap: 8px;
  margin-left: 30px;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6.5%;
}
.header-btn {
  margin-left: 8px;
}

@media(min-width:1200px){
    .header-btn {
      margin-left: 20px;
      flex-grow: 0;
    }
    /*.header-inner {
        justify-content: start;
    }*/
    /*.header-inner ul {
        display: flex;
        justify-content: center;
    }*/
}


/* == TOPBAR == */
#topbar {
  background: var(--bluchiaro);
  padding: 8px 0;
}
#topbar a {
  text-decoration: none;
} 

.topbar-menu nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
}
.topbar-menu nav ul li a {
  font-size: 14px;
  font-weight: 500;
  line-height: 18.9px;
  text-align: left;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 1199px) {
    .topbar-menu nav ul {
        justify-content: center;
        gap: 15px;
    }
}

/* ====== MENU ====== */

/* == MENU DESKTOP == */
/*menu desktop debug*/
/*
#menu-desktop {border:1px solid red}
#menu-desktop nav > ul {border:1px solid blue}
#menu-desktop nav > ul > li {border:1px solid green}
#menu-desktop .header-btn-container {border:1px solid orange}
#menu-desktop nav > ul > li > .sub-menu {border:1px solid purple;}
#menu-desktop .sub-menu[data-level="1"] > ul {border:1px solid cyan;}
#menu-desktop .sub-menu[data-level="2"] {border:1px solid lime;}
#menu-desktop .sub-menu[data-level="2"] > ul {border:1px solid magenta;}
*/
/*fine menu desktop debug*/

#menu-desktop {
    flex-grow: 1;
    justify-content: space-between;
    align-items: center;
} 
#menu-desktop .header-btn-container {
    display: flex;
}
/*IL MENU NAV:*/
#menu-desktop nav > ul {
    display: flex;
    align-items: center;
    height: 68px;
}
#menu-desktop nav > ul > li {
    height: 100%;
    display: flex;
    align-items: center;
}
#menu-desktop nav > ul > li:not(:last-child) {
    padding-right: 24px;
}
#menu-desktop nav > ul > li > .sub-menu {
    width: calc(100vw - 15px);
    background-color: var(--grigio-50);
    /*background-image: linear-gradient(90deg, var(--grigio-50) 32.25%, var(--grigio-300) 32.25%, var(--grigio-300) 32.3%, var(--grigio-50) 32.3%);*/
    left: 50%;
    transform: translateX(-50%);
    display: none;
    position: absolute;
    top:112px;
    z-index: 1000;
    padding-top:0; /*altrimenti non funziona hover*/
    padding-bottom: 48px;
    min-height: 550px;
    border-top: 8px solid #fff;
}
#menu-desktop nav .sub-menu-divider {
    display: block;
    width: 1px;
    background-color: var(--grigio-300);
    height: 100%;
    position: absolute;
    top:0;
}
#menu-desktop nav > ul > li:hover > .sub-menu {
    display: block;
}

#menu-desktop nav > ul > li > .sub-menu > .sub-menu-title {
    padding-left: 15px;
    padding-top: 48px;
}


#menu-desktop [data-level="1"] > ul {
    padding: 0 0 0 15px;
    /*position: relative;*/
    width: 31%; /*era 25% ma i li devono essere più lunghi per aprire il menu*/
}
#menu-desktop [data-level="1"] > ul > li > a {
    border-top:1px solid var(--grigio-300);
        width: calc(100% - 48px);
}
#menu-desktop [data-level="1"] > ul > li:last-child > a {
    border-bottom:1px solid var(--grigio-300);
}



#menu-desktop .sub-menu[data-level="2"] {
    position: absolute; /*nb l'elemento di riferimento è #menu-desktop nav > ul > li > .sub-menu */
    left:calc(25% + 50px + 48px);
    top: 0;
    display: none;
}
#menu-desktop .sub-menu[data-level="2"] > ul > li {
    max-width: 261px;
    /* max-width: 255px; */
}
#menu-desktop [data-level="1"] > ul > li:hover .sub-menu[data-level="2"] {
    display: block;
    height: 100%;
    background-color: var(--grigio-100);
    padding-top:48px;
    padding-left: 25px;
    width: calc(100% - 32%);
    border-left: 1px solid var(--grigio-300);
}

/*tipografia*/
.main__menu li a {
    color: var(--blu);
    font-weight: 500;
    display: block;
    position: relative;
    padding:8px 0;
}
.main__menu li.menu-item-current > a,
.main__menu li:has(.menu-item-current) > a {
    color: var(--azzurro);
}
.main__menu nav > ul > li.menu-item-current > a,
.main__menu nav > ul > li:has(.menu-item-current) > a {
    text-decoration: underline !important;
    text-underline-offset: 4px;
}
.main__menu li:hover > a{
    color: var(--azzurro);
}
.main__menu li a.btn {
    margin-top: 8px;
    display: inline-flex;
    padding: 10px;
    width: 100%;
}
.main__menu li a.btn-primary {
    color:#fff;
}

/*icone frecce*/
.main__menu li:has(.sub-menu) > a::after,
.main__menu li.menu-item-external a::after {
    content: "";
    position: absolute;
    right:0;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    background-repeat: no-repeat;
}
.main__menu li:has(.sub-menu) > a::after {
    background-image: url(../img/icon-arrow-long-right.svg);
    width:18px;
}
.main__menu li.menu-item-external a::after {
    background-image: url(../img/icon-arrow-long-right-up.svg);
    width:14px;
}
#menu-desktop nav > ul > li > a::after { /*le frecce al livello 0 sono solo mobile */
    display: none;
}

/*titoletti*/
.main__menu .sub-menu-title {
    color: var(--bluchiaro);
    font-family: Satoshi;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
    margin-bottom:32px;
    display: block;
}
#menu-mobile .main__menu .sub-menu-title {
    position: relative;
    padding-left: 24px;
    cursor: pointer;
}

#menu-mobile .main__menu .sub-menu-title::before {
    content: "";
    position: absolute;
    left:0;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    width:18px;
    background-image: url(../img/icon-arrow-long-left.svg);
    background-repeat: no-repeat;
}



/* == Header / MENU MOBILE == */
@media(max-width:1199px){
    .header-area {
        padding: 10px 0;
    }
    .header-logo img {
        height: 50px;
    }
}

/*menu mobile debug*/
/*
#menu-mobile {border:3px solid blue}
#menu-mobile .header-btn-container {border:3px solid purple}
#menu-mobile .main__menu {border:3px solid red}
#menu-mobile nav > ul > li {border:1px solid magenta}
#menu-mobile nav > ul > li >.sub-menu {border:1px solid cyan !important;}
#menu-mobile [data-level="1"] > ul {border:1px solid green;}
#menu-mobile .sub-menu[data-level="2"] {border:1px solid lime !important;}
#menu-mobile .sub-menu[data-level="2"] > ul {border:1px solid orange;}
*/
/*fine menu mobile debug*/

#menu-mobile {
    display: none;
    position: fixed;
    left: -345px;
    width: 345px;
    background: #fff;
    top: 105px;
    height: calc(100% - 105px);
    overflow-y: auto;    
    overflow-x: hidden;
    z-index: 1060;
}
#menu-mobile.active {
    display: block;
    /*left: 0;*/
}

.overlay {
    display: none;
    position: fixed;
    left: -100%;
    width: 100%;
    background: var(--bluchiaro);
    top: 106px;
    height: calc(100% - 105px);
    opacity: 0.5;
    z-index: 1057;
}
.overlay.active {
    display: block;
}


#menu-mobile .header-btn-container {
    padding: 16px 15px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
#menu-mobile .header-btn-container .header-btn {
    width: 100%;
    margin: 0;
}
#menu-mobile .header-btn-container .header-btn a {
    width: 100%;
}


#menu-mobile li > a {
    border-top: 1px solid var(--grigio-300);
    padding: 16px 24px 16px 0;
    text-decoration: none;
}
#menu-mobile li:last-child > a {
    border-bottom: 1px solid var(--grigio-300);
}

#menu-mobile nav > ul {
    position: relative;    
    padding: 48px 15px;
    background: var(--grigio-50);
}
#menu-mobile .sub-menu {
    min-height: 100%;
}
#menu-mobile .sub-menu > ul > li:last-child {
    padding-bottom: 24px;
}


#menu-mobile nav > ul > li >.sub-menu {
    width: 100%;
    position: absolute;
    top: -1px;
    left: 100%;
    display: none;
    z-index: 110;
    background-color: var(--grigio-50);
    box-shadow: 0 300px var(--grigio-50); /*yellow*/
    padding: 48px 15px;
}

#menu-mobile nav > ul > li.menu-item-opened >.sub-menu {
    /*left: 0;*/
    display: block;
}

#menu-mobile .sub-menu[data-level="2"] {
    position: absolute; 
    display: none;
    left: 100%;
    height: 100%;
    background-color: var(--grigio-100);
    width: 100%;   
    z-index: 150;
    top: 0;
    padding: 48px 15px;
    box-shadow: 0 300px var(--grigio-100); /*yellow*/
} 
#menu-mobile [data-level="1"] > ul > li.menu-item-opened .sub-menu[data-level="2"] {
    display: block;
}

#menu-mobile .main__menu li a.btn {
    margin-top: 0;
}









/* ============================= BLOCCHI PAGINE ============================= */

/*intro che ha sempre la foto sfondo*/
#intro-pagina-hero {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    min-height: 450px;
    color: #fff;
    position: relative;
}
#intro-pagina-hero-txt p {
    color: #FFF;
    font-family: Satoshi;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

#intro-pagina-hero #breadcrumbs,
#intro-pagina-hero #breadcrumbs > * {
    color: #fff;
}
#intro-pagina-hero #breadcrumbs > a:last-of-type {
    font-weight: 700;
}

#intro-pagina-hero-img {
    position: absolute;
    z-index: -1;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
#intro-pagina-hero-img:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgb(0 0 0 / 40%);
}
#intro-pagina-hero-img img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#intro-pagina-hero big {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
    display: block;
    margin-top:24px;
}

@media (max-width: 991px ){
    #intro-pagina-hero h1 {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: -0.54px;
    }
}
@media (min-width: 992px ){
    #intro-pagina-hero big {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.48px;
        margin-top:48px;
        margin-bottom:60px;
    }
    #intro-pagina-hero #breadcrumbs {
        padding: 68px 0;
    }

    #intro-pagina-hero-img:not(.no-ovale):after {
        content: "";
        display: block;
        width: 57%;
        height: 130%;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: rgb(255 255 255 / 20%);
        border-radius: 0 50% 50% 0;
        backdrop-filter: blur(10px);
        outline: 40px solid rgb(0 0 0 / 15%);
    }
}

/*intro hero nella homepage:*/
#intro-pagina-hero.intro-homepage {
    padding-bottom: 24px !important;
}
@media (max-width: 991px ){
    .intro-homepage #intro-pagina-hero-txt {
        margin-bottom: 38px;
        padding-right: 48px !important;
    }
}
@media (min-width: 992px ){
    #intro-pagina-hero.intro-homepage {
        padding-bottom: 42px !important;
    }
    #intro-pagina-hero.intro-homepage h1 {
        font-size: 72px;
        line-height: 78px;
        letter-spacing: -5.04px;
        padding-bottom: 15px;
    }
}


#intro-pagina-hero.intro-spazio h1 {
    margin-top: 230px;
}
#intro-pagina-hero.intro-spazio:has(#breadcrumbs) h1 {
    margin-top: 138px;
}
@media (min-width: 992px ){
    #intro-pagina-hero.intro-spazio h1 {
        margin-top: 75px;
    }
    #intro-pagina-hero.intro-spazio:has(#breadcrumbs) h1 {
        margin-top: 0;
    }
}



/*intro con solo testo*/
#intro-pagina h1,
#intro-pagina h2 {
    color: var(--blu);
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: 44px; /* 122.222% */
    letter-spacing: -0.54px;
}
@media(min-width:992px){
    #intro-pagina h1,
    #intro-pagina h2 {
        font-size: 56px;
        /*line-height: 60px;*/
        line-height: 70px;
    }
}

#intro-pagina:has(+ #articolo-evidenza) #intro-pagina-content {
    margin-bottom: 0;
}

#intro-pagina p {
    color: var(--blu);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
#intro-pagina-content {
    margin-top:calc(32px - 25px);
    margin-bottom: 30px;
    padding-bottom:24px;
}
#intro-pagina-content p:last-of-type {
    margin-bottom: 32px;
}

#intro-pagina-content-txt small {
    color: var(--blu);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0.12px;
    text-transform: uppercase;
    margin-bottom:24px;
    display: block;
}

@media(max-width:991px){
    #intro-pagina-content .btn:has(+ .btn) {
        margin-bottom:16px;
    }
    #intro-pagina-content .btn {
        width: 100%;
    }
    #intro-pagina.spazio-blocco {
        padding-bottom: 54px;
    }
    .spazio-blocco + #menu-inner-nav {
        margin-top: 16px;
    }
}
@media(min-width:992px){
    #intro-pagina-content {
        margin-top:calc(68px - 25px);
        margin-bottom: 68px;
        padding-bottom: 24px;
    }
    #intro-pagina-content .btn {
        min-width: 230px;
        min-height: 50px;
        margin-right: 16px;
    }        
    #intro-pagina-content p:last-of-type {
        margin-bottom: 68px;
    }

    #intro-pagina.spazio-blocco #intro-pagina-content {
        padding-bottom: 32px;
    }
    #intro-pagina + .padding-auto-sx {
        margin-top: 106px;
    }
}




/*intro pagina con logo (es. convenzioni)*/
#intro-pagina-logo-img {
    width: 68px;
    height: 68px;
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    background-color: #fff;
    margin-bottom:24px;
}
#intro-pagina-logo-img img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
@media(max-width:991px){
    #intro-pagina-logo h1 {
        font-size: 36px;
        line-height: 44px; /* 122.222% */
        letter-spacing: -0.54px;
    }    
    #intro-pagina-logo.spazio-blocco {
        padding-bottom: 54px;
    }
}
@media(min-width:992px){
    #intro-pagina-logo-img {
        width: 128px;
        height: 128px;
    }
}





/*intro foto seguita da testo*/
#intro-pagina-foto #intro-pagina-img {
    margin-bottom:24px;
}
#intro-pagina-foto #intro-pagina-img img {
    border-radius: 5px;
}
#intro-pagina-foto-content-txt h1,
#intro-pagina-foto-content-txt h2 {
    color: var(--blu); 
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

#intro-pagina-foto-content-txt small {
    color: var(--azzurro);
    text-transform: uppercase;
}

#intro-pagina-foto-content-txt p:last-of-type{
    margin-bottom:0;
}
#intro-pagina-foto-content-txt a {
    color: var(--azzurro);
    text-underline-offset: 4px;
    text-decoration-thickness: 0.8px !important;
}

@media(min-width:992px){
    #intro-pagina-foto-content-txt h1,
    #intro-pagina-foto-content-txt h2 {
        font-size: 32px;
        line-height: 40px; /* 125% */
        letter-spacing: -0.48px;
    }
}

/*campo ricerca in hero home*/
.hero__result__blk {
  background: #fff;
  padding: 25px;
  border-radius: 5px;
  border: 1px solid var(--grigio-300);
}
.hero__result__blk .result__title {
    padding-bottom: 16px;
}
.hero__result__blk .result__wrapper {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
    gap: 16px;
}
.hero__result__blk .single__contact__step {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.hero__result__blk .single__contact__step button {
    padding: 10px 16px;
    border: 1px solid var(--grigio-300);
    font-size: 14px;
    color: var(--blu);
    border-radius: 2px;
}

.hero__result__blk .result__wrapper .service__select__step button {
    gap: 20px;
    background-color: var(--grigio-50);
    padding: 15px 24px 20px 10px;
    font-size: 16px;
}

.hero__result__blk .region__search {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 14px 16px;
    border: 1px solid var(--grigio-300);
    width: 100%;
    border-radius: 2px;
    background: var(--grigio-50);
}
/*@media (min-width: 992px) {
    .hero__result__blk .region__search {
        width: 43%;
    }
}*/

.hero__result__blk .region__search input {
    color: var(--blu);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    background: transparent;
    border: 0;
    width: 100%;
}


.hero__result__blk .select-dropdown {
    max-width: 365px;
    background-color: var(--grigio-50);
}
.hero__result__blk .select-dropdown-title {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--grigio-300);
}
.hero__result__blk .select-dropdown .region__search {
    padding: 5px 15px;
    width: 100% !important;
}


.hero__result__blk .service__select__step span, 
.hero__result__blk .select-dropdown .dropdown-title, 
.hero__result__blk .search-item-title {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}
.hero__result__blk .search-item-title {
    margin-bottom: 20px;
}

.hero__result__blk .search-item-wrap {
    gap: 8px;
}

.hero__result__blk .search-item-wrap .single-item label {
    color: var(--blu);
    font-size: 14px;
    line-height: 1;
    gap: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}
.hero__result__blk .search-item-wrap .single-item .checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid var(--grigio-300);
    border-radius: 2px;
    transition: all .3s;
}


.search__filter__blk {
    padding: 20px;
    background: var(--grigio-300);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 40px;
}
.search__filter__blk form {
    background: #fff;
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 20px;
    width: 100%;
}
.search__filter__blk input {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    width: 100%;
    border: 0;
    background: transparent;
}
.search__filter__blk button {
    background: transparent;
    border: 0;
}
.search__filter__blk .apri--mobile {
    position: relative;
    cursor: pointer;
}
.search__filter__blk .apri-filtri--mobile span {
    font-size: 12px;
    color: var(--blu);
    border: 1px solid var(--blu);
    height: 20px;
    width: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: -10px;
    right: -10px;
}

@media only screen and (max-width: 991px) {
    .search__filter__blk {
        background: #fff;
        display: flex !important;
        margin-bottom:0;
    } 
    .search__filter__blk form {
        border: 1px solid var(--grigio-300);
        background: var(--grigio-50);
    }
}

@media(min-width:992px){
    .box-ricerca-rapida {
        margin-top: 30px;
    }
}

/*Fine campo ricerca hero home*/






/*gallery con photoswipe*/
.gallery-struttura {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 8px;
  grid-row-gap: 6px;
  margin-bottom:24px;
  position: relative;
}

.gallery-struttura  > .gallery-foto > img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.gallery-struttura  > .gallery-foto:not(:first-child) > img {
  aspect-ratio: 1/1;
}
.gallery-struttura  > .gallery-foto:first-child { grid-area: 1 / 1 / 3 / 4; }
.gallery-struttura  > .gallery-foto:nth-child(2) { grid-area: 1 / 4 / 2 / 5; }
.gallery-struttura  > .gallery-foto:nth-child(3) { grid-area: 1 / 5 / 2 / 6; }
.gallery-struttura  > .gallery-foto:nth-child(4) { grid-area: 2 / 4 / 3 / 5; }
.gallery-struttura  > .gallery-foto:nth-child(5) { grid-area: 2 / 5 / 3 / 6; }

.gallery-struttura  > .gallery-foto:nth-child(n+6) {
    display:none !important;
}

.gallery-struttura  > .gallery-foto:nth-child(5) { position: relative; }
.gallery-struttura  > .gallery-foto:nth-child(5)::after { 
  content: "";
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 65%);
}

.gallery-struttura  .gallery-tutte {
  color: var(--blu);
  font-family: Satoshi;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  position: absolute;
  border-radius: 2px;
  background: #fff;
  max-width: 128px;
  bottom: 8px;
  right: 8px;  
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  cursor: pointer;
  gap:8px;
  white-space: nowrap;
}
.gallery-struttura  .gallery-tutte img{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

@media(max-width:991px){
    .gallery-tutte {
       text-transform: uppercase;
    }
    .gallery-tutte img {
        display: none;
    }
    .gallery-struttura {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
    .gallery-struttura > div:not(:first-of-type) {
        display: none;
    }
    .gallery-struttura  > .gallery-foto:first-of-type {
        grid-area: 1 / 1 / 1 / 1;
    }
    .gallery-struttura  > .gallery-foto:first-of-type > img {
      aspect-ratio: 1/1;
    }

    #intro-pagina-foto-content-txt a {
        display: block;
        margin-top: 8px;
    }
}
@media(min-width:992px){
    .gallery-struttura .gallery-tutte .foto-counter {
        display: none;
    }
}


.photoSwipe_innerthumbs {
    position: fixed;
    bottom: 10px;
    width: 100%;
    text-align: center;
    z-index: 1000000;
    max-height: 100px;
        overflow: scroll;
        white-space: nowrap;
}
.photoSwipe_innerthumbs img {
  width:60px;
  height:60px;
  object-fit: cover;
  overflow:hidden;
  cursor: pointer;
  margin: 0 3px;
  background-color: #000;
}
.photoSwipe_innerthumbs .svifaded {
    opacity: 0.35;
}

.pswp__button--arrow {
    background: var(--grigio-300) !important;
    height: 33px;
    width: 33px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}


.pswp__button--arrow--next {
  right:15px;
}
.pswp__button--arrow--prev {
  left:15px;
}

.pswp__button--arrow--prev svg {
  rotate:180deg;
}
.pswp__counter {
    border-radius: 2px;
    background: var(--Gray-00, #FFF);
    text-shadow: none;
    color: #000;
    display: flex;
    padding: 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-width: 45px;
}
@media( max-width:991px ){
    .pswp__button--arrow {
        top: 86%;
        visibility: visible !important;
    }      
    .pswp__button--arrow--next {
      right:15px;
    }
    .pswp__button--arrow--prev {
      left:calc(100% - 90px);
    }
    .photoSwipe_innerthumbs {
        bottom:15px;
        padding-bottom: 10px;
    }
}  
@media( min-width:992px ){   
    .photoSwipe_innerthumbs {
        bottom: 20px;
    }     
    .photoSwipe_innerthumbs img {
      width:100px;
      height:100px;
        margin: 0 5px;
    }
}






.box-recensione {
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    background: var(--Gray-00, #FFF);
    display: flex;
    padding: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 3px;
    margin-top:32px;
    margin-bottom:32px;
}

.box-scarica-app,
.box-recensione-icone {
    display: flex;
    align-items: center;    
    justify-content: space-between;
    border: 1px solid var(--grigio-300);
    border-radius: 2px;
    margin: 32px 0;
    padding: 10px 20px 10px;
}
.box-scarica-app img {
    max-height: 35px;
}
.box-recensione-icone .sx {
    display: flex!important;
    align-items: center;
    justify-content: space-evenly;
    gap: 20px;
}
@media(max-width:991px){
    .box-scarica-app p,
    .box-recensione-icone p {
        font-size: 14px;
        text-align: center;
    }
}
@media(min-width:992px){
    .box-recensione {
        margin-bottom:98px;
    }
    .box-recensione-icone {
        margin: 32px 0 98px;
    }
}








#intro-dettagli {
    margin-bottom:68px;
}

#intro-dettagli .titolo-sezione {
    margin-bottom:48px;
}

#intro-dettagli .titolo-sezione p {    
    color: var(--blu);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

#intro-dettagli-more a {
    color: var(--blu);
}
#intro-dettagli-more ul {
    list-style-type: disc !important;
    padding-left: 24px;
    margin-top:16px;
}
#intro-dettagli-more ul li {
    list-style-type: disc !important;
    margin-top:8px;
    margin-bottom:8px;
}

#intro-dettagli-cta .btn-link {
    color: var(--azzurro);
    font-size: 16px;
    line-height: normal;
    display: flex;
    align-items: center;
    gap: 16px;
}
#intro-dettagli-more + #intro-dettagli-cta {
    margin-top: 32px;
}

@media(min-width:992px){
    #intro-dettagli {
        margin-bottom:98px;
    } 
}



.info-mex+#intro-dettagli {
    margin-top: 98px;
}

.info-mex {
    color: var(--blu);
    padding: 24px 16px;
    flex-shrink: 0;
    border-radius: 5px;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px; /* 140% */
    margin-bottom: 32px;
}

.info-mex h2,
.info-mex h3,
.info-mex h4,
.info-mex h5 {
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px;
    letter-spacing: -0.288px;
    margin-bottom:32px;
}

.info-mex p a:not(.btn) {
    color:var(--blu);
}
.info-mex p:last-of-type {
    margin-bottom:0;
}
.info-mex small {
    font-size: 12px;
    text-transform: uppercase;
}
.info-mex .info-mex-cta a {
    display: flex;
    gap: 16px;
    color: var(--azzurro);
    font-size: 16px;
    text-decoration-thickness: 0.8px !important;
    align-items: center;
}
.info-mex a img {
    background-color: #2192b0;
    padding: 9px;
    border-radius: 2px;
    width: 32px;
    height: 32px;
    transition: all .3s;
}
.info-mex .info-mex-cta a:hover {
    color: var(--bluchiaro);
}
.info-mex .info-mex-cta a:hover img {
    background-color: var(--bluchiaro);
}

.info-mex ul {
    list-style-position: outside;
    padding-left: 24px;
    margin-top:24px;
    margin-bottom:16px;
}
.info-mex ul li {
    list-style: disc;
    margin-bottom:8px;
    font-size:16px;
    line-height: 24px;
}
@media(max-width:991px){
    div:not(.box-scarica-app) + .info-mex {
        margin-top:-40px;
    }
}
@media(min-width:992px){
    .info-mex {
        font-size: 20px;
        margin-bottom: 68px;
        padding: 24px;
    }
}




/*testo espandibile*/
.txt-to-expand {
    max-height: 70px; 
    overflow: hidden;
    margin-bottom: 25px;
    position: relative;
}

/* Stili comuni per entrambi i pulsanti */
.txt-expand-open, .txt-expand-close {    
    cursor: pointer;
    color: var(--azzurro);
    font-weight: 500;
    text-underline-offset: 1px;
    text-decoration-thickness: 0.8px !important;
    text-decoration: underline;
    text-underline-offset: 5px;
    position: relative;
    font-size: 16px;
}

/* I puntini di sospensione solo per "Leggi di più" */
.txt-expand-open::before {
    content: "...";
    position: absolute;
    left: 0;
    top: -30px;
    color: var(--blu);
    font-family: 'Satoshi';
    font-size: 20px;
}

.row > .txt-expand-open::before {
    left: 15px;
}

.txt-expand-open::before {
    font-size: 14px;
}

/* Margin per il testo quando ha il pulsante */
.txt-expand:has(+.txt-expand-open),
.txt-expand:has(+.txt-expand-close) {
    margin-bottom: 22px !important;
}

/* "Leggi di meno" non ha i puntini di sospensione */
.txt-expand-close::before {
    content: none;
}





#blocchi-con-link {
    margin-bottom:98px;
}

#blocchi-con-link .blocco-singolo > .blocco-card {
    padding: 8px;
    position: relative;
    transition: all 0.15s ease-in;
    height: 100%;
}

#blocchi-con-link .blocco-singolo > a.blocco-card {
    cursor: pointer;
    display: block;
    text-decoration: none;
}

#blocchi-con-link .blocco-img {
    margin-bottom:8px;
    display: block;
} /*PS a volte il blocco img può essere un link*/

#blocchi-con-link .blocco-img img {
    aspect-ratio: 1/1;
    width: 100%;
    height: 100%;
    object-fit: cover;
} 

#blocchi-con-link.img-quadrata .blocco-img img {
    aspect-ratio: 1/1;
}

#blocchi-con-link .blocco-content {
    max-width: calc(100% - 30px);
    min-height: 70px;
}

#blocchi-con-link .blocco-content h5,
#blocchi-con-link .blocco-content h4,
#blocchi-con-link .blocco-content h3 {
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
}
#blocchi-con-link .blocco-content h5 a,
#blocchi-con-link .blocco-content h4 a,
#blocchi-con-link .blocco-content h3 a {
    font-size: inherit;
    line-height: inherit;
    margin:0;
    letter-spacing: 0;
    text-decoration: none !important;
    color:inherit;
}


#blocchi-con-link .blocco-btn {
    position: absolute;
    right: -1px;
    bottom: -1px;
    /*border: 3px solid #fff;*/
}
#blocchi-con-link .blocco-btn .blocco-btn-img {
    background: var(--azzurro);
    display: flex;
    width: 36px;
    height: 36px;
    padding: 6px 1px 1px 6px;
    justify-content: center;
    align-items: center;
    border-radius: 3px 0 2px 0;
    border-left: 1px solid var(--grigio-300);
    border-top: 1px solid var(--grigio-300);
    box-shadow: inset 4px 4px #fff;
    transition: all 0.12s ease-in;
}

#blocchi-con-link .blocco-btn .blocco-btn-img img {
    transform: rotate(180deg);
    transition: all 0.2s ease-in;
}

/*blocchi con link nel contenuto*/
#blocchi-con-link .blocco-content:has(a) + .blocco-btn img {
    transform: rotate(135deg);
}
#blocchi-con-link .blocco-content a {
    color: var(--azzurro);
    font-family: Satoshi;
    font-size: 14px;
    font-style: normal;
    font-weight: 400 !important;
    line-height: normal;
    text-decoration-line: underline !important;
    display: inline-block;
    text-underline-offset: 5px;
}
/*hovers*/
#blocchi-con-link .blocco-singolo:hover > .blocco-card {
  border: 2px solid var(--azzurro) !important;
}
#blocchi-con-link .blocco-singolo:hover .blocco-btn {
    right: -2px;
    bottom: -2px;
}
#blocchi-con-link .blocco-singolo:hover .blocco-btn .blocco-btn-img {
    background: var(--bluchiaro);
    padding: 6px 1px 1px 6px;
    border-left: 2px solid var(--azzurro);
    border-top: 2px solid var(--azzurro);
    box-shadow: inset 4px 4px #fff;
}
#blocchi-con-link .blocco-singolo:hover .blocco-content:has(a) + .blocco-btn img {
    transform: rotate(180deg);
}

@media(max-width:991px){
    #blocchi-con-link .blocco-content h5,
    #blocchi-con-link .blocco-content h4,
    #blocchi-con-link .blocco-content h3 {
        margin-bottom:6px;
    }
}
@media(min-width:992px){
    #blocchi-con-link .blocco-singolo > .blocco-card {
        padding: 15px;
    }
    #blocchi-con-link .blocco-img {
        margin-bottom:16px;
    }
    #blocchi-con-link .blocco-content h5,
    #blocchi-con-link .blocco-content h4,
    #blocchi-con-link .blocco-content h3 {
        font-size: 20px;
        line-height: 28px; /* 140% */
        letter-spacing: -0.3px;
    }

    #blocchi-con-link .blocco-content.w-100 {
        max-width: calc(100% - 2px) !important;
    }

    #blocchi-con-link .blocco-content a {
        font-size: 20px;
        line-height: 28px;
        letter-spacing: -0.3px;
        margin-top: 15px;
    }

    #blocchi-con-link .blocco-img img {
        aspect-ratio: 3/4;
    } 
}

/*layout 2 con frecce sopra*/
#blocchi-con-link.layout-2 {
    margin-bottom: 40px;
}
#blocchi-con-link.layout-2 .blocco-singolo > div {
    padding:0;
}
#blocchi-con-link.layout-2 .blocco-singolo:hover > div {
    border: none !important;
}
#blocchi-con-link.layout-2 .blocco-btn {
    right: -1px;
    top: -1px;
    bottom:inherit;
}
#blocchi-con-link.layout-2 .blocco-btn a {
    padding: 1px 1px 6px 6px;
    border-radius: 2px;
    border:1px solid #fff;
    box-shadow: inset 4px -4px #fff;
}
#blocchi-con-link.layout-2 .blocco-content h5, 
#blocchi-con-link.layout-2 .blocco-content h4, 
#blocchi-con-link.layout-2 .blocco-content h3 {
    font-size: 14px;
    line-height: normal;
}
#blocchi-con-link.layout-2 .blocco-content {
    width:100%;
    max-width: 100%;
}
#blocchi-con-link.layout-2 .blocco-singolo:hover .blocco-btn {
    right: -1px;
    top: -1px;
    bottom: inherit;
}
#blocchi-con-link.layout-2 .blocco-singolo:hover .blocco-btn a {
    padding: 1px 1px 6px 6px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    box-shadow: inset 4px -4px #fff;
}
@media(max-width:991px){
    #blocchi-con-link.layout-2 p {
        display: none;
    }
}
@media(min-width:992px){
    #blocchi-con-link.layout-2 {
        margin-bottom: 112px;
    }
    #blocchi-con-link.layout-2 .blocco-content h5, 
    #blocchi-con-link.layout-2 .blocco-content h4, 
    #blocchi-con-link.layout-2 .blocco-content h3 {
        font-size: 24px;
        line-height: 32px; /* 133.333% */
        letter-spacing: -0.288px;
    }
}




#strutture-ricerca-filtri .titolo-sezione,
#strutture-correlate .titolo-sezione {
    margin-top: 20px;
    margin-bottom: 20px;
}

#strutture-filtri {
    background: var(--grigio-50);
    padding-top: 25px;
    border: 1px solid var(--grigio-300);
    border-left: 0;
    border-bottom: 0;
    margin-bottom: 32px;
    padding-right: 15px;
    /* height: 100%; */
    padding-left: 15px;
}

#strutture-filtri .filtri-torna a {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
}
#strutture-filtri .filtri-torna a img {
    background-color: var(--azzurro);
    padding: 9px;
    border-radius: 2px;
    width: 32px;
    height: 32px;
    transition: all .3s;
}
#strutture-filtri .filtri-torna a span {
    font-size: 16px;
    font-weight: 500;
    line-height: 21.6px;
    text-align: left;
    color: var(--azzurro);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 0.8px !important;
}

@media(max-width:991px){
    #strutture-ricerca-filtri .titolo-sezione.titolo-con-sep p {
        display: none;
    }
    .filtri-torna:hover img {
        background-color: var(--bluchiaro) !important;
    }
    .filtri-torna:hover a span {
        color: var(--bluchiaro) !important;
    }
}

#strutture-filtri .filtri-container {
    margin-top:32px;
}

#strutture-filtri .filtro-select {
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

#strutture-filtri .filtro-select span, 
#strutture-filtri .filtro-select .dropdown-title, 
#strutture-filtri .filtro-select .search-item-title {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}
#strutture-filtri .filtro-select .dropdown-title,
#strutture-filtri .filtro-select .search-item-title {
    margin-bottom: 20px;
}

#strutture-filtri .filtro-select button {
    padding: 10px 16px;
    border: 1px solid var(--grigio-300);
    font-size: 14px;
    color: var(--blu);
    border-radius: 2px;
}

#strutture-filtri .filtro-select .select-dropdown-title {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--grigio-300);
}


#strutture-filtri .select-dropdown .region__search {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid var(--grigio-300);
    width: 100%;
    border-radius: 2px;
    background: var(--grigio-50);
    padding: 5px 15px;
}

#strutture-filtri .select-dropdown .region__search input {
    color: var(--blu);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    background: transparent;
    border: 0;
    width: 540px;
}

#strutture-filtri .select-dropdown .search-item-wrap {
    gap: 8px;
}

#strutture-filtri .select-dropdown .search-item-wrap .single-item label {
    color: var(--blu);
    font-size: 14px;
    line-height: 1;
    gap: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}
#strutture-filtri .select-dropdown .search-item-wrap .single-item .checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid var(--grigio-300);
    border-radius: 2px;
    transition: all .3s;
}
#strutture-filtri .select-dropdown .search-item-wrap .single-item input:checked ~ label .checkbox {
    background-color: var(--azzurro);
    border-color: var(--azzurro);
}

#strutture-filtri .select-dropdown .search-item-wrap .single-item .checkbox::after {
    content: '';
    left: 7px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}
#strutture-filtri .select-dropdown .search-item-wrap .single-item input:checked ~ label .checkbox::after {
    opacity: 1;
    visibility: visible;
}

.filtri-mobile-btns {
    border-top: 1px solid var(--grigio-300);
    padding-top: 24px;
}


/*Funzionamento sidebar filtri mobile*/ 
@media( max-width: 991px ){
    #strutture-filtri {
        position: fixed;
        left: -110%;
        top: 0;
        height: 100%;
        width: 100%;
        z-index: 777;
        transition: .3s all;
        overflow: auto;
    }

    #strutture-filtri.active {
        left: 0;
    }
    #filtri-mobile {
        background-color: var(--grigio-300);
        box-shadow: -200px 0px 0px 0px var(--grigio-300), 200px 0px 0px 0px var(--grigio-300);
        padding: 20px 15px;
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 40px;
    }
    #filtri-mobile form {
        background: #fff;
        display: flex;
        align-items: center;
        height: 40px;
        padding: 0 20px;
        width: 100%;
    }
    #filtri-mobile form input {
        font-size: 16px;
        font-weight: 500;
        line-height: 24px;
        text-align: left;
        width: 100%;
        border: 0;
    }
    #filtri-mobile form button {
        background: transparent;
        border: 0;
    }
    .apri-filtri-mobile {
        position: relative;
        cursor: pointer;
    }
    .apri-filtri-mobile img {
        max-width: 100%;
        height: auto;
    }
    .apri-filtri-mobile span {
        font-size: 12px;
        color: #1A2031;
        border: 1px solid #1A2031;
        height: 20px;
        width: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        background: #fff;
        position: absolute;
        top: -10px;
        right: -10px;
    }
    .chiudi-filtri-mobile {
        padding-bottom: 10px;
        border-bottom: 1px solid #E7EDF0;
        margin-bottom: 50px;
        cursor: pointer;
    }
}





/*Singole strutture*/
.strutture-box .struttura-card {
    position: relative;
} 
.strutture-box .struttura-container { 
    text-decoration: none;
    cursor: pointer;
}
.strutture-box .struttura-img {
    position: relative;
}

.strutture-box .struttura-img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000030;
    opacity: 0;
    transition: opacity 0.3s;
}
.strutture-box .struttura-img:hover::before {
    opacity: 1;
}
.strutture-box .struttura-img img {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
    height: 100%;    
    border-radius: 2px;
}


.strutture-box .struttura-content h3,
.strutture-box .struttura-content h4,
.strutture-box .struttura-content h5 {
    color: var(--blu);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; 
    letter-spacing: -0.3px;
    margin-top:18px;
    margin-bottom: 10px;
}

.strutture-box .struttura-content p {    
    color: var(--blu);   
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; 
    display: flex;
}

.strutture-box .struttura-content p::before {
    content: "";
    background-image: url(../img/service-ico.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 10px;
}

.strutture-box .struttura-features-container {
    display: flex;
    align-items: center;
    gap: 8px;
    position: absolute;
    top: 16px;
    left: 16px;
    right: 16px;
}

.strutture-box .struttura-features-visibili,
.strutture-box .struttura-features-nascoste > div {
    gap: 8px;
}
.strutture-box .struttura-features-nascoste > div {
    margin-top:8px;
}

.strutture-box .struttura-features .tag {
    font-size: 10px;
    font-weight: 500;
    line-height: 20px;
    text-align: left;
    color: var(--blu);
    padding: 0 8px;
    border-radius: 30px;
    background: #fff;
    text-decoration: none;
    line-height: 1;
    padding-top: 5px;
    padding-bottom: 5px;
    display: inline-block;
}

.strutture-box .struttura-features-more {
    background: var(--azzurro) !important;
    width: 24px;
    height: 24px;
    text-decoration: none;
}

.strutture-box .struttura-features-more[aria-expanded="true"] {
    margin-left: auto;
}

.strutture-box .struttura-features-more span.minus-icon {
    display: none;
}
.strutture-box .struttura-features-more[aria-expanded="true"] span.minus-icon {
    display: block;
}
.strutture-box .struttura-features-more[aria-expanded="true"] span.plus-icon {
    display: none;
}
@media(max-width:767px){
    .strutture-box .struttura-card {
        border-bottom:1px solid var(--grigio-300);
        margin-bottom:24px;
        padding-left: 0;
        padding-right: 0;
    }
    .strutture-box > .results {
        padding-left: 15px;
        padding-right: 15px;
    } 
}
@media(max-width:991px){
    .strutture-box .struttura-features-container {
        justify-content: flex-end;
    }
}
@media(min-width:992px){
    .strutture-box .struttura-features-container {
        left: 32px;
        right: 32px;
    }
}








/*=== Convenzioni ==== */
#convenzioni-ricerca-filtri .titolo-sezione,
#convenzioni-correlate .titolo-sezione {
    margin-top: 20px;
    margin-bottom: 20px;
}

#convenzioni-filtri {
    background: var(--grigio-50);
    padding-top: 25px;
    border: 1px solid var(--grigio-300);
    border-left: 0;
    border-bottom: 0;
    margin-bottom: 32px;
    padding-right: 15px;
    /* height: 100%; */
    padding-left: 15px;
}

#convenzioni-filtri .filtri-torna a {
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
}
#convenzioni-filtri .filtri-torna a img {
    background-color: var(--azzurro);
    padding: 9px;
    border-radius: 2px;
    width: 32px;
    height: 32px;
    transition: all .3s;
}
#convenzioni-filtri .filtri-torna a span {
    font-size: 16px;
    font-weight: 500;
    line-height: 21.6px;
    text-align: left;
    color: var(--azzurro);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 0.8px !important;
}

#convenzioni-ricerca-filtri .apri-filtri-mobile {
    border-radius: 2px;
    background: var(--azzurro);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
#convenzioni-ricerca-filtri .apri-filtri-mobile img {
    position: relative;
    left: -10px;
}

@media(max-width:991px){
    #convenzioni-ricerca-filtri .titolo-sezione.titolo-con-sep p {
        display: none;
    }
}

#convenzioni-filtri #filtri-ricerca {
    margin-bottom: 32px;
    position: relative;
}
#convenzioni-filtri #filtri-ricerca input {
    width: 100%;
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    background: #fff;
    display: flex;
    height: 40px;
    padding: 16px 16px 16px 40px;
    align-items: center;
}

#convenzioni-filtri #filtri-ricerca button {
    position: absolute;
    border-radius: none;
    border:none;
    background-color: transparent;
    top: 50%;
    transform: translateY(-50%);
    left:8px;
}

#convenzioni-filtri .filtro-select {
    padding-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

#convenzioni-filtri .filtro-select span, 
#convenzioni-filtri .filtro-select .dropdown-title, 
#convenzioni-filtri .filtro-select .search-item-title {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}
#convenzioni-filtri .filtro-select .dropdown-title,
#convenzioni-filtri .filtro-select .search-item-title {
    margin-bottom: 20px;
}

#convenzioni-filtri .filtro-select button {
    padding: 10px 16px;
    border: 1px solid var(--grigio-300);
    font-size: 14px;
    color: var(--blu);
    border-radius: 2px;
}

#convenzioni-filtri .filtro-select .select-dropdown-title {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--grigio-300);
}


#convenzioni-filtri .select-dropdown .region__search {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid var(--grigio-300);
    width: 100%;
    border-radius: 2px;
    background: var(--grigio-50);
    padding: 5px 15px;
}

#convenzioni-filtri .select-dropdown .region__search input {
    color: var(--blu);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    background: transparent;
    border: 0;
    width: 540px;
}

#convenzioni-filtri .select-dropdown .search-item-wrap {
    gap: 8px;
}

#convenzioni-filtri .select-dropdown .search-item-wrap .single-item label {
    color: var(--blu);
    font-size: 14px;
    line-height: 1;
    gap: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}
#convenzioni-filtri .select-dropdown .search-item-wrap .single-item .checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid var(--grigio-300);
    border-radius: 2px;
    transition: all .3s;
}
#convenzioni-filtri .select-dropdown .search-item-wrap .single-item input:checked ~ label .checkbox {
    background-color: var(--azzurro);
    border-color: var(--azzurro);
}

#convenzioni-filtri .select-dropdown .search-item-wrap .single-item .checkbox::after {
    content: '';
    left: 7px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}
#convenzioni-filtri .select-dropdown .search-item-wrap .single-item input:checked ~ label .checkbox::after {
    opacity: 1;
    visibility: visible;
}

#convenzioni-filtri #filtri-actions {
    margin-top: 8px;
    padding-top: 32px;
    border-top: 1px solid var(--grigio-300);
}
#convenzioni-filtri #filtri-actions button {
    margin-bottom:16px;
    width:100%;
    display: block;
    cursor: pointer;
}


/*Funzionamento sidebar filtri mobile*/ 
@media( max-width: 991px ){
    #convenzioni-filtri {
        position: fixed;
        left: -110%;
        top: 0;
        height: 100%;
        width: 100%;
        z-index: 777;
        transition: .3s all;
        overflow: auto;
    }

    #convenzioni-filtri.active {
        left: 0;
    }
}





/*Singole convenzioni*/
.convenzioni-box .convenzione-card {
    position:relative
}
.convenzioni-box .convenzione-container {
    text-decoration: none;
    cursor: pointer;
}
.convenzioni-box .convenzione-img {
    position: relative;
    border:1px solid var(--grigio-300);
    border-radius: 2px;
}

.convenzioni-box .convenzione-img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000030;
    opacity: 0;
    transition: opacity 0.3s;
}
.convenzioni-box .convenzione-img:hover::before {
    opacity: 1;
}
.convenzioni-box .convenzione-img img {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
    height: 100%;    
    border-radius: 2px;
}


.convenzioni-box .convenzione-content h3,
.convenzioni-box .convenzione-content h4,
.convenzioni-box .convenzione-content h5 {
    color: var(--blu);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; 
    letter-spacing: -0.3px;
    margin-top:18px;
    margin-bottom: 10px;
}

.convenzioni-box .convenzione-content p {    
    color: var(--blu);   
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; 
    display: flex;
}

.convenzioni-box .convenzione-content p::before {
    content: "";
    background-image: url(../img/icon-badge-heart.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 10px;
}

@media(max-width:767px){
    .convenzioni-box .convenzione-card {
        border-bottom:1px solid var(--grigio-300);
        margin-bottom:24px;
        padding-left: 0;
        padding-right: 0;
    }
    .convenzioni-box > .results {
        padding-left: 15px;
        padding-right: 15px;
    } 
}











/*paginazione*/
.service__pagination {
  margin-top: 68px;
  margin-bottom: 95px;
}

.service__pagination .pagination .page-link {
  color: var(--blu);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-align: center;
  border: 0 !important;
  height: 48px;
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none !important;
}

@media only screen and (max-width: 767px) {
    .service__pagination {
        margin-top: 30px;
        margin-bottom: 40px;
    }
}




/*box contenitore con i sotto-box per le varie info*/
#box-dettagli, .box-dettagli-secondario {
    margin-top: 68px;
    margin-bottom: 68px;
    padding: 24px 16px;
    border-radius: 5px;
    border: 1px solid var(--grigio-300);
}

.box-dettaglio:has(+.box-dettaglio) {
    margin-bottom:98px;
}

.box-dettaglio-txt h2, 
.box-dettaglio-txt h3,
.box-dettaglio-txt h4 {
    color: var(--blu);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
    letter-spacing: -0.288px;
    padding-bottom:16px;
    margin-bottom:16px;
    border-bottom:1px solid var(--grigio-300);
}
.box-dettaglio-txt a:not(.btn) {
    color: var(--azzurro);
    text-underline-offset: 4px;
}
.box-dettaglio-txt p:last-of-type {
    margin-bottom:0;
}

.box-dettaglio-txt button {
    display: flex;
    min-width: 115px;
    min-height: 44px;
    padding: 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 30px;
    border: 1px solid var(--grigio-300);
    background: #fff;
    color: var(--blu);
    text-align: center;
    font-family: Satoshi;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.box-dettaglio-txt hr {
    border-top: 1px solid var(--grigio-300);
    opacity: 1;
    margin-bottom: 0;
}

.box-dettaglio-content {
    margin-top: calc(68px - 14px);
}
.box-dettaglio-content > big {
    color: var(--blu);
    font-family: Satoshi;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
    margin-bottom: 32px;
    display: block;
}
.box-dettaglio-content > .row + big {
    margin-top:calc(48px - 1rem);
}

.box-dettagli-cards {
    padding-left: 7.5px;
    padding-right: 7.5px;
}

.box-dettagli-cards > div {
    padding: 7.5px;
}

.box-dettagli-cards img {
    width: 24px;
    height: 24px;
}

.box-dettagli-cards .card-content {
    height: 100%;
    display: flex;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    background: #fff;
    transition: all .3s;
    text-decoration: none;
}
.box-dettagli-cards .card-content:hover {
    border: 1.5px solid var(--azzurro);
}
.box-dettagli-cards > div p,
.box-dettagli-cards > div a {
    color: var(--blu);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
@media(max-width:991px){
    .box-dettagli-cards > div p {
        font-size: 14px;
    }  
    #aree-intervento .box-dettaglio-txt p {
        display: none;
    }
}
@media(min-width:992px){        
    .box-dettaglio-content > .row + big {
        margin-top:calc(68px - 1rem);
    }
}







[class*="lista-"] ul > li,
ul[class*="lista-"] > li,
.box-dettaglio-content ul > li {
    color: var(--blu);
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    margin-bottom:16px;
    min-height: 22px;
}

.bg-dark [class*="lista-"] ul > li,
.bg-dark ul[class*="lista-"] > li,
.bg-dark .box-dettaglio-content ul > li {
    color: #fff;
}

.lista-spazi > ul {
    margin-top:48px;
    margin-bottom:48px;
}

.lista-con-icone > ul > li,
ul.lista-con-icone > li,
.box-dettaglio-content.lista-con-icone > ul > li,
.box-dettaglio-content ul.lista-con-icone > li {
    list-style-type: none;
    padding-left: 30px;
    position: relative;
    break-inside: avoid;
}

.lista-con-icone > ul > li::before,
ul.lista-con-icone > li::before,
.box-dettaglio-content.lista-con-icone > ul > li::before,
.box-dettaglio-content ul.lista-con-icone > li::before {
    content: "•";
    position: absolute;
    /*left:0;
    top: 50%;
    transform: translateY(-50%);*/
    top: 0; bottom: 0; left: 0;
    margin: auto;
    height: 20px; /*requires explicit height*/
}

.lista-icone-check > ul > li::before,
ul.lista-icone-check > li::before,
.box-dettaglio-content.lista-icone-check ul > li::before,
.box-dettaglio-content ul.lista-icone-check > li::before {
    content:"";
    width: 20px;
    height: 20px;
        display: block;
    background-image: url("../img/check-ico.png");
    background-size: contain;
    background-repeat: no-repeat;
}

.lista-icone-img > ul > li,
ul.lista-icone-img > li,
.box-dettaglio-content.lista-icone-img > ul > li,
.box-dettaglio-content ul.lista-icone-img > li {
    padding-left: 40px;
}
.lista-icone-img > ul > li,
ul.lista-icone-img > li,
.box-dettaglio-content.lista-icone-img > ul > li,
.box-dettaglio-content ul.lista-icone-img > li {
    padding-left: 40px;
}
.lista-icone-img > ul > li::before,
ul.lista-icone-img > li::before,
.box-dettaglio-content.lista-icone-img ul > li::before,
.box-dettaglio-content ul.lista-icone-img > li::before {
    content:"";    
}
.lista-icone-img > ul > li > img,
ul.lista-icone-img > li > img,
.box-dettaglio-content.lista-icone-img ul > li > img,
.box-dettaglio-content ul.lista-icone-img > li > img {
    position: absolute;
    width: 24px;
    height: 24px;
    left:0;
    top: 50%;
    transform: translateY(-50%);
}

.lista-con-icone > ul > li a:not([class*="btn"]),
ul.lista-con-icone > li a:not([class*="btn"]),
.box-dettaglio-content.lista-con-icone > ul > li a:not([class*="btn"]),
.box-dettaglio-content ul.lista-con-icone > li a:not([class*="btn"]) {
    color: var(--azzurro);
    text-underline-offset: 4px;
    text-decoration-thickness: 0.8px !important;
}


@media(min-width:992px){        
    .box-dettaglio-content.lista-con-icone > ul,
    .box-dettaglio-content ul.lista-con-icone {
        columns: 2;
        column-gap: 40px;
    }
    .box-dettaglio-content.lista-con-icone.lista-col-1 > ul,
    .box-dettaglio-content ul.lista-con-icone.lista-col-1 {
        columns: 1;
        column-gap: 0px;
    }
} 


/*mancano queste:*/
/*
.box-dettaglio ul.lista-icone-img {
    margin-top:48px;
    margin-bottom:48px;
}
*/






#documenti-informativi.box-dettaglio .documento-nome img {
    width: 24px;
    height: 24px;
    margin-right: 16px;
}

#documenti-informativi.box-dettaglio .documento-cta a {
  display: flex;
  gap: 16px;
    color: var(--azzurro);
    font-size: 16px;
    text-decoration-thickness: 0.8px !important;
    align-items: center;
}
#documenti-informativi.box-dettaglio .documento-cta a img {
    background-color: #2192b0;
    border-radius: 2px;
    width: 32px;
    height: 32px;
    transition: all .3s;
}

#documenti-informativi.box-dettaglio .documento-cta a:hover {
    color: var(--bluchiaro);
}
#documenti-informativi.box-dettaglio .documento-cta a:hover img {
    background-color: var(--bluchiaro);
}
@media(max-width:991px){
    #documenti-informativi.box-dettaglio .documento {
        flex-wrap: nowrap;
    }
    #documenti-informativi.box-dettaglio .documento-nome .dc-nome {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    #documenti-informativi.box-dettaglio .documento-cta a {
        font-size: 0;
        gap:0;
    }
}








#orari-struttura .box-dettagli-orari > div {
    margin-bottom: 32px;
}
#orari-struttura .box-dettagli-orari > div:last-child {
    margin-bottom: 0;
}

#orari-struttura .box-dettagli-orari > div small {
    margin-bottom: 32px;
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}

#orari-struttura .box-dettaglio-cta a {
    margin-top: 0px;
}





#equipe-medica .equipe-persona {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0;
}
#equipe-medica .equipe-foto {
    object-fit: cover;
    aspect-ratio: 1/1;
    width: 48px;
    height: 48px;
    border-radius: 50%;
}
#equipe-medica .equipe-info {
    display: flex;
    flex-direction: column;    
}
#equipe-medica .equipe-ruolo {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: normal;
}
#equipe-medica .equipe-nome {
    font-size: 0.85rem;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}





#programma-evento .box-dettagli-programma > div {
    margin-bottom: 32px;
}

#programma-evento .box-dettagli-programma > div small {
    margin-bottom: 32px;
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}

#programma-evento .box-dettaglio-cta a {
    margin-top: 0px;
}
#programma-evento .dettaglio-programma {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
@media(max-width:991px){
    #programma-evento .dettaglio-programma  p {
        margin-bottom: 0 !important;
    }
    #programma-evento .programma-dott {
        padding-bottom: 16px;
    }
}





/*cta in fondo ai box dettagli info */
.box-dettaglio-cta a {
  display: flex;
  gap: 16px;
    color: var(--azzurro);
    font-size: 16px;
    font-weight: 500;
    text-underline-offset: 4px;
    text-decoration-thickness: 0.8px !important;
    margin-top: 68px;
}
.box-dettaglio-cta a img {
    background-color: #2192b0;
    padding: 9px;
    border-radius: 2px;
    width: 32px;
    height: 32px;
    transition: all .3s;
}

.box-dettaglio-cta a:hover {
    color: var(--bluchiaro);
}
.box-dettaglio-cta a:hover img {
    background-color: var(--bluchiaro);
}




/*blocchi scuri*/
#blocco-servizi-benefit {
    padding-top:0px;
    margin-top:68px;
}
#blocco-servizi-benefit .container-fluid.container-md {
    overflow: hidden;
}
#blocco-servizi-carosello .btn {
    width: 100%;
}
#blocco-servizi-carosello .btn {
    width: 100%;
}


#blocco-servizi-carosello {
    margin-top: 68px;
    margin-bottom: 68px;
}
#blocco-servizi-benefit:not(.bg-dark) #blocco-servizi-carosello {
    margin-top: 0px;
    margin-bottom: 72px;
}
#blocco-servizi-carosello .servizio-tassello {
    height: auto;
}
.bg-dark #blocco-servizi-carosello .servizio-tassello {
    padding: 28px 16px;
    border-radius: 5px;
}
.bg-dark #blocco-servizi-carosello .servizio-tassello {
    background: var(--blu);
}
#blocco-servizi-carosello .servizio-icona {
    margin-bottom: 28px;
}
#blocco-servizi-carosello .servizio-icona img {
    height: 26px;
    width: 26px;
}
#blocco-servizi-carosello h5 {
    font-size: 20px;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
    margin-bottom: 24px;
    min-height: 55px;
}
.bg-dark #blocco-servizi-carosello h5 {
    color: #fff;
}
/*parte con lo slider*/
#blocco-servizi-carosello.swiper {
    overflow: visible;
}
.swiper-wrapper.col {
    padding-left: 0;
    padding-right: 0;
}
.swiper-controls {
    position: relative;
    width: 125px;
    height: 100%;
    flex-shrink: 0;
    margin-top: 24px;
    margin-left: auto;
    margin-right: 15px;
    text-align: right;
}
.swiper-controls > div {
    display: inline-block;
}
.swiper-controls .swiper-button-prev {
    margin-right: 8px;
}
.swiper.inattivo .swiper-controls {
    display: none;
}
.swiper-notification {
    position: absolute;
}

@media(max-width:991px){
    #blocco-servizi-value-proposition {
        margin-bottom: 32px;
    }
}
@media(min-width:992px){
    #blocco-servizi-benefit {
        padding-top:30px;
        margin-top:98px;
    }
    #blocco-servizi-carosello {
        margin-top: 98px;
        margin-bottom: 98px;
    }
    #blocco-servizi-benefit:not(.bg-dark) #blocco-servizi-carosello {
        margin-top: 32px;
        margin-bottom: 98px;
    }
}



.box-citazione h5, 
.box-citazione h4,
.box-citazione h3,
.box-citazione h2 {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
}
@media(min-width:992px){
    .box-citazione h5, 
    .box-citazione h4,
    .box-citazione h3,
    .box-citazione h2 {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.48px;
        max-width: 75%;
    }
}
.box-citazione.bg-grigio {
    background-color:var(--grigio-50) !important;
    padding:24px;
}
.box-citazione.bg-grigio > p {
    margin-bottom:0;
    color: var(--blu);
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
.box-citazione.bg-grigio > small {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
.box-citazione.border-grigio {
    border: 1px solid var(--grigio-300);
}


#blocco-foto-citazione {
    margin-top: 68px;
    margin-bottom:12px;
}
#blocco-foto-citazione .box-foto {
    margin-bottom:68px;
}
#blocco-foto-citazione .box-foto img {
    width:100%;
}
#blocco-foto-citazione .aggiornamenti-social {
    background: var(--blu);
    padding: 18px;
    margin-top:48px; 
    margin-bottom:68px; 
}
#blocco-foto-citazione .aggiornamenti-social h4,
#blocco-foto-citazione .aggiornamenti-social h5,
#blocco-foto-citazione .aggiornamenti-social h6 {
    margin-bottom:24px;
    font-size: 20px;
    line-height: 32px; /* 140% */
    letter-spacing: -0.3px;
}

#blocco-foto-citazione .cta-icone-social {
    gap: 32px;
}
#blocco-foto-citazione .icone-social {
    gap: 25px;
}
#blocco-foto-citazione .icone-social a {
    color: #fff;
    font-size: 24px;
}

#blocco-foto-citazione .box-citazione {
    margin-bottom:24px;
    color: #fff;
    padding-bottom:24px;
    border-bottom:1px solid #1A2031;
}
#blocco-foto-citazione .box-citazione h4,
#blocco-foto-citazione .box-citazione h5,
#blocco-foto-citazione .box-citazione h6 {
    color: #fff;    
    font-family: Satoshi;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
#blocco-foto-citazione .box-citazione p {
    margin-bottom:0;
}
#blocco-foto-citazione .box-citazione small {
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}

#blocco-foto-citazione:not(:has( .box-foto)) {
    padding-top: 98px; 
}
@media(max-width:991px){
    #blocco-foto-citazione:not(:has( .box-foto)) {
        padding-top: 68px;
        padding-bottom: 68px;
    }
}

@media(min-width:992px){
    #blocco-foto-citazione {
        margin-top: 98px;
        margin-bottom: 98px;
    }
    #blocco-foto-citazione .box-foto {
        margin-bottom:98px;
    }
    #blocco-foto-citazione .aggiornamenti-social {
        margin-top:0;
        margin-bottom:0;
    }
    #blocco-foto-citazione .cta-icone-social p {
        margin-bottom:0;
    }
    #blocco-foto-citazione .aggiornamenti-social h4,
    #blocco-foto-citazione .aggiornamenti-social h5,
    #blocco-foto-citazione .aggiornamenti-social h6 {
        margin-bottom:35px;
        line-height: 28px; /* 140% */
    }
    #blocco-foto-citazione .box-citazione {
        margin-bottom:98px;
        border-bottom: none;
    }

    #blocco-foto-citazione .box-citazione h4,
    #blocco-foto-citazione .box-citazione h5,
    #blocco-foto-citazione .box-citazione h6 {
        font-size: 32px;
        font-weight: 500;
        line-height: 40px; /* 125% */
        letter-spacing: -0.48px;
    }
    #blocco-foto-citazione .box-citazione p {
        color: #fff;   
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 28px; /* 140% */
        letter-spacing: -0.3px; 
    }
}


/*box con immagine*/
.box-citazione.box-con-img {
    padding: 12px;
    margin: 0 0 0;
}
.box-citazione.box-con-img.bg-grigio {
    background-color: var(--grigio-50) !important;
    border: 1px solid var(--grigio-300);
    border-radius: 2px;
}
.box-citazione.box-con-img .citazione-txt {
    margin-bottom: 24px;
}
.box-citazione.box-con-img .citazione-txt p {
    margin-bottom: 0;
    font-weight: 500;
    font-size: 16px;
    font-style: normal;
    line-height: 24px; 
    letter-spacing: -0.192px;
}
.box-citazione.box-con-img h5, 
.box-citazione.box-con-img h4,
.box-citazione.box-con-img h3,
.box-citazione.box-con-img h2 {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.48px;
    max-width: 100%;
}
@media(min-width:992px){
    .box-citazione.box-con-img {
        padding: 24px;
        margin: 68px 0 0;
    }

    .box-citazione.box-con-img h5,
    .box-citazione.box-con-img h4,
    .box-citazione.box-con-img h3,
    .box-citazione.box-con-img h2 {
        font-size: 32px;
        line-height: 40px;
    }

    .box-citazione.box-con-img .citazione-txt p {
        font-size: 20px;
        line-height: 28px; /* 140% */
        letter-spacing: -0.3px;
    }
}



.box-citazione + .accordion-faq-approfondimenti {
    margin-top: 68px;
}



/*Faq*/
.accordion-faq-approfondimenti .titolo-sezione {
    margin-bottom: 32px;
}
.accordion-faq-approfondimenti .box-faq {
    max-width: 900px;
}
.accordion-faq-approfondimenti .faq-singola {
    border-bottom: 1px solid var(--grigio-300);    
}
.accordion-faq-approfondimenti .faq-titolo {
    color: var(--blu);
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.24px;
    padding-top: 24px;
    padding-bottom: 24px;
    gap:20px;
}
.accordion-faq-approfondimenti .faq-titolo span {
//    max-width: 410px;
    max-width: 90%;
}
.accordion-faq-approfondimenti .faq-titolo::after {
    content: "";
    background-image: url(../img/accordion_arrow_down.svg) !important;
    background-size: 32px;
    height: 32px;
    width: 32px;
}
.accordion-faq-approfondimenti .faq-titolo[aria-expanded="true"]::after {
    transform:rotate(180deg);
}

@media(min-width:992px){
    .accordion-faq-approfondimenti .faq-titolo {
        font-size: 20px;
        letter-spacing: -0.3px;
    }
    .accordion-faq-approfondimenti .box-faq > div:first-of-type {
        border-top: 1px solid var(--grigio-300);
    }
}


/*Funzionamento sidebars*/
.sticky-sidebar.is-affixed.sidebar-left > .sidebar__inner {
    transform: translateX(15px);
}
.sticky-sidebar.is-affixed.sidebar-right > .sidebar__inner {
    transform: translateX(15px);
}
.sticky-sidebar{
    will-change: min-height;
}
.sticky-sidebar .sidebar__inner{
    padding-bottom:30px;
}
/*debug 
.row.align-items-start:has( .sticky-sidebar) {
    border: 2px solid red;
}
.row.align-items-start > .col-lg-4,
.row.align-items-start > .col-lg-3 {
    border: 1px solid lime;
}
.row.align-items-start > .col-lg-8,
.row.align-items-start > .col-lg-9{
    border: 1px solid green;
}
.resize-sensor {
    background: orange !important;
    visibility: visible !important;
}
.row.align-items-start .sidebar__inner {
    border: 1px solid blue;
}
/**/

.sidebar-content {
    padding:16px;
    margin-bottom:16px;
}
.sidebar-content .sidebar-btns {
    display: flex;
    flex-wrap: wrap;
    gap:16px;
}
.sidebar-btns > a:first-of-type {
    margin-right: 0;
}
.sidebar-btns > a {
    flex-grow: 1;
}


.sidebar-content small {
  color: var(--blu);
  font-family: Satoshi;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 12px */
  letter-spacing: 0.12px;
  text-transform: uppercase;
  margin-bottom:16px;
  display: block;
}
.sidebar-content .lista-contatti-struttura {
  color: var(--blu);
  font-family: Satoshi;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom:48px;
}
.sidebar-content .lista-contatti-struttura li {
  margin-bottom: 10px;
    display: flex;
    align-items: center;
}
.sidebar-content .lista-contatti-struttura li a {
  color: var(--azzurro);
  text-decoration: none;
}
.sidebar-content .lista-contatti-struttura li img {
  margin-right:16px;
}

@media(min-width:992px){
    .sidebar-content {
        padding:22px;
        margin-bottom:8px;
    }
}

/*sidebar inline*/
.sidebar-inline {
    margin-top: 40px;
}
.sidebar-btns-fixed {
    position: fixed;
    top: 0;
/*    bottom: 0; */
    left: 0;
    width: 100%;
    background: var(--grigio-300);
    padding: 15px;
    display: flex;
    z-index: 10;
}
.sidebar-btns-fixed > .btn {
    flex-grow: 1;
    white-space: nowrap;
}
.sidebar-btns-fixed .btn:has(+.btn) {
    margin-right: 12px;
}








#accesso-struttura,
#altre-info {
    margin-top:30px;
    margin-bottom:30px;
}
#accesso-struttura .col,
#altre-info .col {
    border-radius: 5px;
    border: 1px solid var(--grigio-300);
    padding:32px 16px;
}
#accesso-struttura-content,
#altre-info-content {
    max-width: 740px;
}
#altre-info-content {
    margin-bottom: 56px;
}
#accesso-struttura-content h2,
#accesso-struttura-content h3,
#accesso-struttura-content h4,
#altre-info-content h2,
#altre-info-content h3,
#altre-info-content h4 {
    color: var(--blu);
    font-size: 24px;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
    letter-spacing: -0.288px;
    margin-bottom:24px;
}
#accesso-struttura-content p,
#altre-info-content p {
    color: var(--blu);
    font-size: 16px;
    font-weight: 500;
    line-height: 24px; /* 150% */
}
#accesso-struttura-content-btns,
#altre-info-content-btns{
    margin-top:32px;
}
@media(min-width:992px) {
    #accesso-struttura .col,
    #altre-info .col {
        padding:32px;
    }
    #accesso-struttura-content h2,
    #accesso-struttura-content h3,
    #accesso-struttura-content h4,
    #altre-info-content h2,
    #altre-info-content h3,
    #altre-info-content h4 {
        font-size: 32px;
        line-height: 40px; /* 125% */
        letter-spacing: -0.48px;
    }
}







#blocco-mappa {
    padding-top: 30px;
    padding-bottom: 98px;
}
#blocco-mappa #mappa-indicazioni {
    background-color: var(--blu);
    padding:16px;
    border-radius: 2px;
}

#blocco-mappa .titolo-sezione {
    margin-bottom:0px;
}
#blocco-mappa .titolo-sezione h2,
#blocco-mappa .titolo-sezione h3,
#blocco-mappa .titolo-sezione h4 {
    font-size: 32px;
    font-weight: 500;
    line-height: 40px; /* 125% */
    letter-spacing: -0.48px;
}
#mappa-indicazioni > div {
    color: #fff;
    max-width: 600px;
}
#mappa-indicazioni > div:not(:last-of-type) {
    margin-bottom:68px;
}
#mappa-indicazioni > div > span {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
    margin-bottom: 48px;
    display: block;
}

#mappa-indicazioni-mezzi-pubblici ul.lista-mezzi li {
    margin-bottom:16px;
}
#mappa-indicazioni-mezzi-pubblici ul.lista-mezzi img {
    margin-right: 8px;
}

#blocco-mappa #mappa-map {
    aspect-ratio: 9/10;
}

#blocco-mappa #mappa-map > * {
    width:100%;
    height: 100%;
    object-fit: cover;
}
@media(max-width:991px) {
    #blocco-mappa #mappa-map {
        padding: 0 0 20px 0;
    }
}
@media(min-width:992px) {
    #blocco-mappa .titolo-sezione {
        margin-bottom:36px;
    }
    #blocco-mappa #mappa-indicazioni {
        background-color: var(--blu);
        padding:24px;
    }
    #mappa-indicazioni > div > span {
        font-size: 24px;
        line-height: 32px; /* 133.333% */
        letter-spacing: -0.288px;
        margin-bottom:24px;
    }
}






/* ==================== NEWS ==================== */





/*pulsantoni tondi per categorie in home news, con icone*/
.categorie-articoli-btns {
    display: flex;
    justify-content: center;
}
@media(max-width:991px){
    .categorie-articoli-btns {
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
    }
    .categorie-articoli-btns > .btn{
        flex-grow: 1;
    }
    #categorie-articoli .btn:has(+.btn) {
        margin-right: 7px;
    }
    #categorie-articoli .btn-outline-secondary {
        padding: 16px 10px !important;
        margin-bottom: 8px;
    }
    #categorie-articoli .btn {
        min-width: 100px;
    }
}

/* pulsantoni rettangolari categorie articoli (in alto a ogni cat notizie, mostrati come tabs) */
#filtri-cat-articoli small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
.filtri-cat-articoli-btns .btn:has(+.btn) {
    margin-right: 6px;
}

@media (max-width: 991px) {
    #filtri-cat-articoli small {
        display: none;
    }
    #filtri-cat-articoli {
        background-color: var(--grigio-100);
        min-height: 175px;
    }
}

@media (min-width: 992px) {
   .fisso:after {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--azzurro);
        position: absolute;
        bottom: -15px;
        left: 0;
    } 
    .fisso {
        position: relative;
    }
}


/* STILE SINGOLO ELEMENTO TASSELLO NEWS */
.news-singola .news-media {
    margin-bottom:16px;
    position: relative;
}

.news-singola .news-media img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.news-singola .news-media.news-video::before {
    content:"";
    background-color: rgb(0 0 0 / 28%) ;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.news-singola .news-media.news-video::after {
    content: url(../img/icon-play.svg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: rgb(0 0 0 / 30%);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
    backdrop-filter: blur(5px);
}
.news-singola .news-cats {
    display: flex;
    gap:16px;
    margin-top:8px;
    margin-bottom:12px;
    color: var(--azzurro);
    font-size: 12px;
    font-weight: 400;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
.news-singola h2,
.news-singola h4,
.news-singola h3 {
    color: var(--blu);
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

.news-singola h3 a {
    color: var(--blu);
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
    text-decoration: none;
}

.news-singola > p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-singola .news-meta {
    display: flex;
    margin-top: 32px;
    justify-content: space-between;
    align-items: center;
}

.news-singola .news-data {
    color: var(--blu);
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}

.news-singola .news-cta {
    display: flex;
    gap: 16px;
    color: var(--azzurro);
    font-size: 16px;
    text-decoration-thickness: 0.8px !important;
    align-items: center;
    text-transform: none;
    transition: .3s all;
    flex-shrink: 0;
}

.news-singola .news-cta img {
    width:32px;
    height: 32px;
    border-radius: 2px;
    background-color: var(--azzurro);
    transition: .3s all;
}
.news-singola .news-cta:hover img {
    background-color: var(--bluchiaro);
}
.news-singola .news-cta:hover {
    color: var(--bluchiaro);
}
@media(min-width:992px) {
    .news-singola .news-media img {
        aspect-ratio: 2/1;
    }
}

/*sfondo scuro*/
.bg-dark .news-singola h2,
.bg-dark .news-singola h4,
.bg-dark .news-singola h3, 
.bg-dark .news-singola .news-data {
    color: #fff;
}
.bg-dark  .news-singola .news-cats {
    color: #fff;
}
/* FINE singolo elemento tassello news */





/* contenitori generici box-news e box-news a sviluppo veriticale*/
.box-news-vert > div:not(:last-child) .news-meta  {
    border-bottom: 1px solid var(--grigio-300);
    padding-bottom: 14px;
    margin-bottom: 18px;
}
.box-news-vert small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12px;
    display: block;
    margin-bottom: 40px;
}
@media(max-width:991px) {
    .box-news > div:not(:first-child) .news-media {
        display: none;
    }
    .box-news > div:not(:last-child) .news-meta  {
        border-bottom: 1px solid var(--grigio-300);
        margin-bottom:24px;
        padding-bottom: 24px;
    }
}
@media(min-width:992px) {
    .box-news:not(.box-news-vert) .news-singola h2,
    .box-news:not(.box-news-vert) .news-singola h4,
    .box-news:not(.box-news-vert) .news-singola h3 {
        min-height: 56px;
    }
    .box-news-vert small {        
        margin-bottom:36px;
    }
}

.box-news-carousel .swiper-controls {
    padding-right: 0;
    margin-right: 0;
}




/* #blocchi-con-news in genere contiene i box-news con le ultime news o le correlate*/
.blocchi-con-news .titolo-sezione {
    border-bottom: 1px solid var(--grigio-300);
    padding-bottom:16px;
}
.blocchi-con-news.bg-dark .titolo-sezione {
    border-bottom: none;
}
.blocchi-con-news + section:has(.banner-foto) {
    margin-top: 98px;
}
/*.blocchi-con-news .border-bottom {
    padding-bottom: 24px;
}  */
@media(max-width:576px) {
    .blocchi-con-news .titolo-sezione .btn {
        width:100%;
    }
}
@media (max-width: 991px) { 
    .blocchi-con-news .border-bottom {
        border-bottom:none !important;
    } 
    /*.blocchi-con-news .border-bottom .news-singola:last-child .news-meta {
        border-bottom: 1px solid var(--grigio-300);
        padding-bottom: 24px;
    } */
    .blocchi-con-news .box-news > div .news-media {
        display: none;
    } 
    .blocchi-con-news .box-news > div .news-media.news-video {
        display: block; !important;
    }        
    .blocchi-con-news + section:has(.banner-foto) {
        margin-top: 68px;
    }
}






/*articolo full width a inizio sezione news*/
#articolo-evidenza {
    position: relative;
}
#articolo-evidenza-img {
    margin-bottom:24px;
}
#articolo-evidenza-info h1,
#articolo-evidenza-info h2 {
    font-size: 20px;
    color: var(--blu);
    line-height: 28px;
    letter-spacing: -0.3px;
    margin-bottom: 32px;
}
#articolo-evidenza-btns {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--grigio-300);
    padding-bottom: 30px;
}
@media(min-width:992px){
    #articolo-evidenza-img {
        position: absolute;        
        height: 100%;
        width: 100%;
        overflow: hidden;
        z-index: -1;
    }
    #articolo-evidenza-img img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    #articolo-evidenza-info {
        padding-top: 180px;
        padding-bottom: 46px;
    }
    #articolo-evidenza-info h1,
    #articolo-evidenza-info h2 {
        color: #fff;
        font-size: 56px;
        font-style: normal;
        font-weight: 500;
        line-height: 60px; 
        letter-spacing: -0.84px;
    }
    #articolo-evidenza-btns {
        display: flex;
        flex-direction: column;
        align-items: start;
        gap:32px;
        border-bottom: none;
    }
    #articolo-evidenza-btns small {
        color: #fff;
    }
}





/*articolo in colonna 2/3 con news verticali affiancate*/
#articolo-grande .news-media {
    margin-bottom: 30px;
    position: relative;
}
#articolo-grande .news-media img {
    aspect-ratio: 807/433;
}
@media(max-width:991px) {
    #articolo-grande {
        padding: 0;
    }
    #articolo-grande .articolo-grande-txt {
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
    #articolo-grande .articolo-grande-txt .news-meta {
        margin-bottom:24px;
        padding-bottom:24px;
        border-bottom:1px solid var(--grigio-300);
    }
    #articolo-grande .news-media img {
        aspect-ratio: 4/3;
    }
}





#blocco-video-evidenza {
    margin-top: 24px;
    padding-bottom: 68px;
}
#blocco-video-evidenza .titolo-sezione {
    margin-top: 42px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--blu);
}
@media(max-width:576px) {
    #blocco-video-evidenza .titolo-sezione .btn {
        width:100%;
    }
}
@media(max-width:991px) {
    #blocco-video-evidenza .box-news > div:not(:first-child) .news-media {
        display: block;
    }
    #blocco-video-evidenza .box-news > div:not(:last-child) .news-meta  {
        border-bottom: none;
    }       
    #blocco-video-evidenza .titolo-sezione .btn {
        width:100%;
    }
    #blocco-video-evidenza .box-news > div .news-media {
        display: block; !important;;
    }
}
@media(min-width:992px){
    #blocco-video-evidenza {
        margin-top: 98px;
    }
}

/*carosello articoli*/
#blocco-articoli-carosello {
    margin-top: 68px;
    margin-bottom: 0 !important;
    overflow: hidden !important;
}
#blocco-articoli-carosello .articolo-tassello {
    padding-left: 0;
    padding-right: 0;
    border-radius: 5px;
    height: auto;
}
#blocco-articoli-carosello .articolo-tassello .news-contenuto-tesuale {
    top: -80px;
    left: 20px;
    position: relative;
}
#blocco-articoli-carosello .news-contenuto-tesuale h4,
#blocco-articoli-carosello .news-contenuto-tesuale h3,
#blocco-articoli-carosello .news-contenuto-tesuale h2 {
    width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    color: #fff;
}
#blocco-articoli-carosello .news-singola .news-data {
    color: #fff;
}
#blocco-articoli-carosello .articolo-tassello .news-singola .news-media.news-video::before {
    background: linear-gradient(180deg, rgba(13, 28, 20, 0.00) 0%, rgba(13, 15, 20, 0.90) 100%);
}
#blocco-articoli-carosello .news-cats {
    color: var(--azzurro);
}

#blocco-articoli-carosello .news-singola .news-media img {
    aspect-ratio: 12/7;
}
@media(max-width:991px) {       
    #blocco-video-evidenza .articoli-box {
        padding-left: 0;
        padding-right: 0;
    }
    #blocco-articoli-carosello .news-contenuto-tesuale h4,
    #blocco-articoli-carosello .news-contenuto-tesuale h3,
    #blocco-articoli-carosello .news-contenuto-tesuale h2 {
        font-size: 12px;
    } 
}
@media(min-width:992px){
    #blocco-articoli-carosello {
        margin-top: 68px;
        margin-bottom: 98px;
    }
}



/*slider*/
#blocco-articoli-carosello.swiper {
    overflow: visible;
}
#blocco-articoli-carosello.inattivo .swiper-controls {
    display: none;
}
#blocco-articoli-carosello .swiper-controls {
    margin-top: -70px;
    z-index: 100;
}
@media(min-width:992px){
    #blocco-articoli-carosello .swiper-controls {
        margin-right: 0;
    }
}







/* ==== CATEGORIE====  */

/*#loop-articoli è il blocco usato in ciascuna pagina di categoria; contiene le news in griglia*/
#loop-articoli .news-media.news-video {
    display:block !important;
}
@media(max-width:991px){
    #loop-articoli .news-media {
        display:none !important;
    }
}
@media(min-width:992px){
    #loop-articoli .news-singola {
        padding-bottom: 56px !important;
    }
}



/* Tabella comunicati stampa*/
#tabella-comunicati th,
#tabella-comunicati td {
    vertical-align: middle;
    min-width: 70px;
    padding:8px;
    height: 44px;
}
#tabella-comunicati th {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
#tabella-comunicati .comunicato-data {
    width:70px;
    min-width: 70px;
}
#tabella-comunicati .comunicato-allegato {
    width:77px;
    min-width: 77px;
}
#tabella-comunicati .comunicato-descrizione {
    width: 100%;
}
#tabella-comunicati .btn-primary {
    height: 32px;
    justify-content: center;
    gap: 2px;
    min-width: auto;
}

@media (max-width: 991px) {
   #tabella-comunicati .comunicato-descrizione {
        font-size: 14px;
        line-height: 18px;
    }
    #tabella-comunicati .comunicato-data .parte1::after {
        content: "";
        display: block;
    }
    #tabella-comunicati .comunicato-allegato a span {
        display: none;
    }
    #tabella-comunicati .btn-primary {
        padding: 0;
        width: 36px !important;
        height: 35px !important;
        min-height: auto;
    }
}
@media(min-width:992px){
    #tabella-comunicati th,
    #tabella-comunicati td {
        padding:16px;
    }
    #tabella-comunicati .comunicato-data {
        width:108px;
        min-width:108px;
    }
    #tabella-comunicati .comunicato-allegato {
        width:108px;
        min-width:108px;
    }
    #tabella-comunicati .btn-primary {
        padding: 7px 12px 6px 1px;
        min-height: 36px;
    }
}






/* ====== SINGOLA NEWS ===== */
/*box autore*/
.box-autore-avatar {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.box-autore h3 {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px; /* 150% */
    letter-spacing: -0.192px;
    margin-bottom: 8px;
}
.box-autore-avatar small {
    text-transform: none;
    font-size: 14px;
}
@media(min-width:992px){
    .box-autore h3 {
        font-size: 20px;
        line-height: 28px;
        letter-spacing: -0.3px;
    }
}
.box-social-icone i {
    color: white;
    background-color: var(--azzurro);
    padding: 8px;
    border-radius: 2px;
    margin-right: 7px;
}
.box-social-icone img {
    background-color: var(--azzurro);
    padding: 8px 6px;
    margin-right: 7px;
    border-radius: 2px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.box-social-icone i:hover,
.box-social-icone img:hover {
    background-color: var(--bluchiaro);
    transition: all .3s;
}




/*contenuto articolo*/
#contenuto-articolo {
    margin-top:68px;
    margin-bottom:16px;
}
#contenuto-articolo #testo-articolo hr {
    border-top: 1px solid var(--grigio-300);
}

#contenuto-articolo #testo-articolo h2,
#contenuto-articolo #testo-articolo h3 {
    color: var(--blu);
    margin-bottom:24px;
    letter-spacing: -0.3px;
    font-weight: 500;
}
#contenuto-articolo #testo-articolo h2 {
    font-size: 20px;
    line-height: 28px; 
}
#contenuto-articolo #testo-articolo h3 {
    font-size: 18px;
    line-height: 26px; 
}
#contenuto-articolo #testo-articolo p {
    margin-bottom:30px;
}

#contenuto-articolo #testo-articolo a {
    color: var(--azzurro);
    font-weight: 500;
}

#contenuto-articolo #testo-articolo img {
    border-radius: 5px;
    margin-top:30px;
    margin-bottom:30px;
}

#contenuto-articolo ul {
    padding-left: 24px;
    margin-bottom: 1.5rem !important;
    /*list-style-type: disc !important;
    margin-top:16px;*/
}
#contenuto-articolo ul li {
    list-style-type: disc !important;
    margin-top:8px;
    margin-bottom:8px;
}

#contenuto-articolo ol li {
    list-style-type: decimal;
    margin-top:8px;
    margin-bottom:8px;
}

#contenuto-articolo .accordion-faq-approfondimenti {
    margin-bottom: 32px;
}
#contenuto-articolo .accordion-faq-approfondimenti .faq-singola:first-child {
    border-top: 1px solid var(--grigio-300);    
}

@media(min-width:992px){
    #contenuto-articolo {
        xmargin-top:98px;
    }
    #contenuto-articolo #testo-articolo p {
        margin-bottom:35px;
    }
    #contenuto-articolo #testo-articolo p:has(+ h2),
    #contenuto-articolo #testo-articolo p:has(+ h3) {
        margin-bottom:68px;
    }
    #contenuto-articolo #testo-articolo img {
        margin-top:68px;
        margin-bottom:68px;
    }
}



#anteprima-video {
    margin-top: 24px;
    margin-bottom: 24px;
}
#anteprima-video img {
    margin: 0 !important;
}

@media(min-width:992px){
    #anteprima-video {
        margin-top: 68px;
        margin-bottom: 68px;
    }
}
    







/* ======= BANNERS  ======= */

/*default (scuro)*/
.banner-foto {
    position: relative;
    width: 100%;
    margin: 0 auto;
}
.banner-foto .banner-foto-content {
    background-color: var(--blu);
    color: #fff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.banner-foto:not(.mini-banner) .banner-foto-txt h2,
.banner-foto:not(.mini-banner) .banner-foto-txt h3,
.banner-foto:not(.mini-banner) .banner-foto-txt h4,
.banner-foto:not(.mini-banner) .banner-foto-txt h5 {
    color: #fff;
    font-size: 34px;
    font-weight: 500;
    line-height: 38px; 
    letter-spacing: -0.51px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #fff;
}
.banner-foto .banner-foto-txt p {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px; 
    padding-right: 24px;
}
.banner-foto .banner-foto-cta p {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px; 
    margin-top:24px;
    margin-bottom: 24px;
}
.banner-foto .banner-foto-cta-btns {
    display: flex;
    align-items: center;
    gap: 35px;
}
.banner-foto .banner-foto-cta-btns .banner-foto-profiles > * {
    margin-left: -20px;
}
.banner-foto .banner-foto-cta-btns .banner-foto-profiles img {
    height: 44px;
}

.banner-foto .banner-foto-image {
    width: 55%;
    height: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /* border: 1px solid orange; */
    object-fit: cover;
    margin-left: auto;
}
.banner-foto-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover; 
}
@media(max-width:991px){
    .banner-foto-profiles > *:first-child {
        display: none;
    }
}   
@media(min-width:992px) {         
    .banner-foto {
        overflow: hidden;
    }  
    .banner-foto .banner-foto-content {
        width: 61%;
        padding: 20px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 130%;
        border-radius: 0 500px 500px 0;
        outline: 40px solid #d2062a;
        z-index: 2;
        min-height: 400px;
    }

    .banner-foto:not(.mini-banner) .banner-foto-txt h2,
    .banner-foto:not(.mini-banner) .banner-foto-txt h3,
    .banner-foto:not(.mini-banner) .banner-foto-txt h4,
    .banner-foto:not(.mini-banner) .banner-foto-txt h5 {
        font-size: 56px;
        line-height: 60px; 
    } 

    .banner-foto .banner-foto-txt {
        max-width: 80%;
    }   
    .banner-foto:not(.mini-banner) .banner-foto-txt p {
        font-size: 18px;
        line-height: 22px; /* 140% */
        letter-spacing: -0.3px;
        padding-right: 0;
    }

    .banner-foto .banner-foto-cta p {
        font-size: 16px;
        line-height: 28px; /* 175% */
    }
    .banner-foto .banner-foto-cta-btns .banner-foto-profiles {
        margin-left: 30px;
    }
}
@media(min-width:992px) and (max-width:1199px) {  
    .banner-foto:not(.mini-banner) .banner-foto-image img {
        min-height: 500px;
    }
}    
@media(min-width:1200px){
    .banner-foto:not(.mini-banner) .banner-foto-txt p {
        font-size: 20px;
        line-height: 28px; 
    }
}



/*banner chiaro*/
.banner-foto.bg-grigio .banner-foto-content {
    background-color: var(--grigio-100);
    color: var(--blu);
}
.banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h2, 
.banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h3, 
.banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h4, 
.banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h5 {
    color: var(--blu);
    border: none;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.3px;
    padding-bottom:0;
}
.banner-foto.bg-grigio .banner-foto-txt p {
    color: var(--blu);
}
.banner-foto.bg-grigio .banner-foto-cta-btns {
    gap: 5px;
}
.banner-foto.bg-grigio .banner-foto-cta-btns i,
.banner-foto.bg-grigio .banner-foto-cta-btns img {
    color: white;
    background-color: var(--azzurro);
    padding: 8px;
    border-radius: 2px;
    margin-right: 5px;
}
@media(min-width:992px) {
    .banner-foto.bg-grigio .banner-foto-content {
        width: 50%;
    }
    .banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h3,
    .banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h3,
    .banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h4,
    .banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt h5 {
        font-size: 24px;
        line-height: 32px; 
    }
}
@media(min-width:1200px){
    .banner-foto.bg-grigio:not(.mini-banner) .banner-foto-txt p {
        font-size: 14px;
        line-height: 20px;
    }
}



/* mini banner scuro */
.banner-foto.mini-banner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}
.banner-foto.mini-banner .banner-foto-content {
    background-color: var(--blu);
    color:#fff;
    width: 76%;
    padding: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 200%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0 500px 500px 0;
    outline: 16px solid #d2062a;
    z-index: 2;
}
.banner-foto.mini-banner .banner-foto-txt {
    max-width: 100%;
}

.banner-foto.mini-banner .banner-foto-txt h3 {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
    margin-bottom: 8px;
}

.banner-foto.mini-banner .banner-foto-txt p {    
    margin-bottom: 0; 
    padding-right: 0;
}


.banner-foto.mini-banner .banner-foto-image {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /*border: 1px solid orange;*/
    object-fit: cover;
}
.banner-foto.mini-banner .banner-foto-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover; 
}

.banner-foto.mini-banner .banner-btn {
    position: absolute;
    right: -1px;
    bottom: -1px;
    z-index: 2;
    /*border: 3px solid #fff;*/
}
.banner-foto.mini-banner .banner-btn a {
    background: var(--azzurro);
    display: flex;
    width: 36px;
    height: 36px;
    padding: 6px 1px 1px 6px;
    justify-content: center;
    align-items: center;
    border-radius: 3px 0 2px 0;
    border-left: 1px solid var(--grigio-300);
    border-top: 1px solid var(--grigio-300);
    box-shadow: inset 4px 4px #fff;
    transition: all 0.12s ease-in;
}
.banner-foto.mini-banner .banner-btn a img {
    transform: rotate(180deg);
    transition: all 0.2s ease-in;
}

@media only screen and (min-width: 992px) {
    .banner-foto.mini-banner .banner-foto-content{
        width: 80%;
    }
}
@media only screen and (min-width: 1200px) {
    .banner-foto.mini-banner .banner-foto-content{
        width: 65%;
    }
}



#banner-adv {
    border:1px solid var(--grigio-300);
    padding:4px;
}
@media(min-width:992px){
    #banner-adv {
        padding: 30px 0;
        border: none;
        margin-bottom:98px;
    }
}

/* === FINE BANNERS === */




/* =========== MODALS =========== */
.modal-content {
    padding:24px;
    border-radius: 5px;
}
.modal-header {
    gap: 16px;
    justify-content: start;
    padding: 0 0 16px;
    margin-bottom:98px;
}
.modal-body { 
    padding-left: 0;
}
.modal-close {
    margin-top: 98px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--grigio-300);
    padding-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.modal .btn-close {
    margin-left: 0;
    background: transparent url('../img/close-circle.svg') center/1em auto no-repeat;
    padding: 0;
    opacity: 1;
    width: 24px;
    height: 24px;
    background-size: contain;
}
    
/*stile scrollbar*/
.modal-dialog-scrollable .modal-body::-webkit-scrollbar {
    width: 8px;
}
/* the progress bar of the scrollbar. */
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-track {
    background: #D9D9D9;
    border-radius: 0px;
}
/* the draggable scrolling handle */
.modal-dialog-scrollable .modal-body::-webkit-scrollbar-thumb {
  background: var(--azzurro);
  border-radius: 0px;
} 






/* ============ PRENOTAZIONI ========== */
.visit__area {
  margin-bottom: 120px;
}

.visit__title h3 {
  font-size: 20px;
  font-weight: 500;
  line-height: 25px;
  letter-spacing: -0.015em;
  text-align: left;
  margin: 0;
  color: #212121;
}

.visit__title span {
  color: #999999;
  font-size: 18px;
}

.visit__title {
  margin-bottom: 15px;
}

.visit__input input {
  width: 100%;
  border: 2px solid #CCCCCCAD;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  text-align: left;
  color: #595959;
  margin-bottom: 0;
}

.visit__input {
  margin-bottom: 18px;
}

.prestazione__title {
  margin-bottom: 5px;
}

.prestazione__title h5 {
  font-size: 17px;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: -0.015em;
  text-align: left;
  margin: 0;
  color: #777777;
  padding-left: 10px;
}

.single__presta__step {
  display: flex;
  justify-content: space-between;
  padding: 8px 10px;
  gap:8px;
  align-items: center;
}

.single__presta__step .presta__title {
  font-size: 16px;
  color: #777777;
  text-transform: uppercase;
}

.single__presta__step .btn {
    min-width: 230px;
    min-height: 52px;
}

.gray__presta {
  background: #F9F9F9;
  border-top: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDD;
}

.dipartimento-head__text__blk span {
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
}

.dipartimento-head__text__blk h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #0088CC;
  font-size: 20px;
  font-weight: 600;
  line-height: 25px;
  letter-spacing: -0.015em;
  text-align: left;
}

.dipartimento-head__text__blk h4 small {
  color: #2EABB2;
  font-size: 14px;
}

@media(max-width:991px) {
    .dipartimento-head__text__blk h4 {
      font-size: 14px;
    }

    .dipartimento-head__text__blk h4 small {
      font-size: 12px;
    }
}

.dipartimento-head__text__blk {
  background: #F7F7F7;
  padding: 10px 15px;
}

.dipartimento_container {
  border: 1px solid #DFDFDF;
  border-radius: 5px;
}

.dipartimento_container .visit__input {
  margin: 10px;
}

.sec_prest_text {
  padding: 10px 0;
  border-top: 1px solid #DDDDDD;
}

.second_preset_step {
  align-items: center;
  padding: 12px 10px;
}
@media only screen and (max-width: 991px) {
    .visit__area {
        margin-bottom: 50px;
    }    
    .single__presta__step .btn {
        min-width: 92px;
        min-height: 42px;
    }
}
/* =================== FINE PRENOTAZIONI =================== */



/* ============================= FOOTER ============================= */
.footer-area {
  padding: 32px 0 50px 0;
  background: var(--grigio-100);
  margin-top:98px;
}

.single__footer__list ul li a {
  color: var(--blu);
  font-style: normal;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: left;
  transition: .3s all;
  text-decoration: none;
}

.single__footer__list ul li {
  color: var(--blu);
  font-style: normal;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: left;
  transition: .3s all;
  text-decoration: none;
}

.single__footer__list h4 {
  font-size: 12px;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: 0.01em;
  text-align: left;
  text-transform: uppercase;
  color: var(--blu);
  margin-bottom: 9px;
}

.single__footer__list ul li a:hover {
  color: var(--bluchiaro);
}

.second__footer__list ul li a {
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: left;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--blu);
}

#footer-copyright-text p {
  color: var(--blu);
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  text-align: left;
  margin: 0;
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 25px;
  margin-top: 25px;
  border-top: 1px solid var(--grigio-300);
}

#footer-copyright-text {
  max-width: 342px;
}

.footer-menu nav ul li a {
  color: var(--blu);
  font-size: 14px;
  font-weight: 500;
  line-height: 18.9px;
  text-align: left;
  transition: .3s all;
  text-decoration: none;
}

.footer-menu ul {
  display: flex;
  align-items: center;
  gap: 40px;
}

.footer-bottom-right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 105px;
}

.linkedin__link a {
  color: var(--blu);
  font-size: 14px;
  font-weight: 500;
  line-height: 18.9px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: .3s all;
  text-decoration: none;
}

.footer-menu nav ul li a:hover {
  color: #D93451;
}

.linkedin__link a:hover {
  color: #0077B5;
}
@media (min-width: 768px) and (max-width: 991px) {
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
        margin: 0;
    }

    .footer-bottom-right {
        flex-direction: column;
        gap: 20px;
    }

    .footer-area {
        padding-bottom: 30px;
    }
}
@media only screen and (max-width: 767px) {    
    .footer__identity__blk {
        border-bottom: 1px solid var(--grigio-300);
        padding-bottom: 40px;
        margin-bottom: 21px;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 20px;
        padding-top: 40px;
        margin-top: 20px;
    }
    #footer-copyright-text p {
        letter-spacing: -0.08px;
    }

    .footer-bottom-right {
        flex-direction: column;
        gap: 20px;
    }

    .footer-area {
        padding-bottom: 30px;
    }
    .footer-menu ul {
        gap: 2px 15px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .footer-menu nav ul li a {
        color: var(--blu);
        font-size: 12px;
        font-weight: 400;
    }
    .footer-menu {
        max-width: 80%;
        padding: 20px 0 10px;
    }
    footer .toggle-content {
        display: none; 
    }
    footer .toggle-header {
        cursor: pointer;
    }
    footer .arrow {
        float: initial;
        padding-left: 15px;
    }
    footer .toggle-header.active img {
        transform: rotate(180deg);
    }
}
/*fine footer*/





/* =========== ANIMAZIONI RICHIESTE =========== */

/* BTNS*/
.btn-primary {
    /*display: inline-flex;*/
  overflow: hidden;
  position: relative;
  text-decoration: none;
  transition: .2s transform ease-in-out;
  will-change: transform;
  z-index: 0;
}
.btn-primary::after {
    content: '';
    background-color: var(--bluchiaro);
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-100%, 0) rotate(10deg);
    transform-origin: top left;
    transition: .2s transform ease-out;
    will-change: transform;
    z-index: -1;
}
.btn-primary:hover{
    transform: scale(1.05);
   /*border: 2px solid transparent;*/
   border:none;
    will-change: transform;
}
.btn-primary:hover::after{
  transform: translate(0, 0)
}


/*TITOLI*/
.titolo-animato h1,
.titolo-animato h2 {
  /* Clip Background Image */
    /* DEBUG 
    background: linear-gradient(160deg, red 25%, yellow 25%, yellow 25%, green 25%, green 30%, violet 30%, violet 50%, green 50%, green 60%, blue 60%); 
    background-clip: text;*/
    background-image: linear-gradient(160deg, #1A2031 37%, #20467B 37%, #20467B 50%, #2091B0 50%, #2091B0 53%, #E5EBEF 53%, #E5EBEF 60%, #2091B0 60%, #2091B0 70%, #1A2031 70%); 
    background-clip: text;

    /* Animate Background Image */
    -webkit-text-fill-color: transparent;
    animation: titlegrad 3s ease-out 1s forwards; 
    background-size: 350% 350%; /*non si anima il gradient, si anima il blocco e deve essere grande*/
    background-position: 0% 0%;

    /* Activate hardware acceleration for smoother animations*/
    transform: translate3d(0,0,0);
    backface-visibility: hidden; 
}
.titolo-animato.titolo-anim-neg h1,
.titolo-animato.titolo-anim-neg h2 {
    background-image: linear-gradient(160deg, #fff 37%, #20467B 37%, #20467B 50%, #2091B0 50%, #2091B0 53%, #E5EBEF 53%, #E5EBEF 60%, #2091B0 60%, #2091B0 70%, #fff 70%); 
}

@-webkit-keyframes titlegrad {
  0% {
    background-position: 100% 100%;
  }
  100% {
    background-position: 0% 0%;
  }
}


/*orders mancanti bootstrap*/
@media(min-width:992px){
    .order-lg-6 {
        order: 6 !important;
    }
    .order-lg-7 {
        order: 6 !important;
    }
    .order-lg-8 {
        order: 6 !important;
    }
    .order-lg-9 {
        order: 6 !important;
    }
    .order-lg-10 {
        order: 6 !important;
    }
    .order-lg-6 {
        order: 6 !important;
    }
}





/*temp: regole da governance*/
#menu-inner-nav small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12px;
    text-transform: uppercase;
}
#menu-inner-nav .gruppo-btns .btn:has(+.btn) {
    margin-right: 6px;
}
#menu-inner-nav .gruppo-btns .btn {
    min-height: 44px;
}
@media(max-width:991px){
    #menu-inner-nav small {
        display: none;
    }
    #menu-inner-nav .bk-grigio {
        background-color: var(--grigio-100);
        padding-top: 10px;
        padding-bottom: 20px;
        margin-bottom: 32px;
    }
}
@media(max-width:767px){
    #menu-inner-nav > .container {
        padding-left: 0;
        padding-right: 0;
    }
}

@media(min-width:992px){
   #menu-inner-nav + .img-sep {
        margin-top: 78px;
    } 
}



.img-sep {
    height: 350px;
    margin-top:24px;
    margin-bottom:36px;
    position: relative;
    z-index: -1;
}
.img-sep:has(+.bg-grigio) {
    margin-bottom: 0;
}
.bg-grigio + .img-sep {
    margin-top: 0;
}
.img-sep-overlapsed {
    margin-bottom:-350px;
}
.img-sep img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.img-sep:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 10%);
    z-index: 0;
}
.img-sep-con-titolo {
    max-height: 130px;
}
.img-sep-con-titolo > .container {
    position: absolute;
    left:50%;
    transform: translateX(-50%);
}
@media(max-width:991px){        
    .img-sep-con-titolo .titolo-sezione {
        margin-top:24px;
        margin-bottom:24px;
    }
}
@media(min-width:992px){
    .img-sep {
        height: 450px;
        margin-top:48px;
        margin-bottom:68px;
    }
    .img-sep-overlapsed {
        margin-bottom:-450px;
    }    
    .img-sep-con-titolo {
        max-height: 260px;
    }
}





.team-grid .team-single {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}
.team-grid .team-single.team-simple {
    margin-bottom: 16px;
}

.team-grid .team-single.team-simple .team-info{
    background-color: #fff;
    border-radius: 2px;
    border: 1px solid var(--grigio-300);    
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.team-grid .team-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 10/13;
    object-fit: cover;
}
.team-grid .team-name {
    color:var(--blu);
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

.team-grid .team-role {
    color:var(--blu);
    font-size: 12px;
    font-weight: 500;
    line-height: 110%; 
    letter-spacing: 0.12px;
    text-transform: uppercase;
    display: block;
    margin-top: 8px;
}

.team-grid .team-desc {
    margin-top:24px;
    color:var(--blu);
}
.team-grid .team-social-icon {
    font-size: 24px;
    background: var(--azzurro);
    border-radius: 3px;
    width: 48px;
    height: 48px;
    display: block;
    text-align: center;
    line-height: 48px;
    color: #fff;
}

@media(max-width:991px){
    .team-grid .team-group {
        padding-left: 15px;    
        padding-right: 15px;    
    }   
    .team-grid .team-single {        
        border-bottom: 1px solid var(--grigio-300);
        padding: 0 0 24px;
    } 
    .team-grid .team-single.team-simple {
        padding-bottom: 16px;
    }
}
@media(min-width:992px){
    .team-grid .team-single {
        margin-bottom: 72px;
    }        
    .team-grid .team-single.team-simple {
        margin-bottom: 48px;
    }
} 



/*@media(min-width:992px){
    #attestazioni > div > .titolo-sezione p {
        display: none;
    }
}*/



/*tabs nav documenti*/
.nav-documentazione {
    gap:8px;
}
.nav-documentazione .nav-item > button {
    display: flex;
    width: auto;
    height: 44px;
    padding: 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 30px;
    border: 1px solid var(--grigio-300);
    background: var(--grigio-50);
    color: var(--blu);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.nav-documentazione .nav-item > button:hover {
    background: var(--grigio-300);
}
.nav-documentazione .nav-item > button.active {
    background: var(--azzurro);
    border: 1px solid var(--azzurro);
    font-weight: 500;
}
@media(min-width:992px){
    .nav-documentazione {
        gap:24px;
    }
    .nav-documentazione .nav-item > button {
        height: 52px;
    min-width: 190px;
        padding: 10px;
        border-radius: 140px;
        font-size: 16px;
    }
}



.tab-content ul {
    margin-top:48px;
    margin-bottom:32px;
}
.tab-content ul li {
    font-weight: 500 !important;
}



/* Tabella documenti vari*/
.box-tab-docs {
    margin-top: 24px;
}
.box-tab-docs th,
.box-tab-docs td {
    min-width: 90px;
    font-size: 12px;
    line-height: 100%; /* 12px */
    letter-spacing: 0.12px;
    padding: 16px 8px;  
    vertical-align: middle;
}
.box-tab-docs th {
    text-transform: uppercase;
    font-weight: unset;
}

.box-tab-docs .table.text-center tbody th {
    text-align: left;
}

@media(min-width:992px){
    .box-tab-docs {
        margin-top: 48px;
    }
    .box-tab-docs th,
    .box-tab-docs td {
        padding: 16px;
    }
}

/*campi specifici*/
.box-tab-docs .tab-totale {
    min-width: 180px;
}


.tabella-documentazione .doc-data {
    text-align: center;
    width: 70px;
    min-width: 70px;
}
.tabella-documentazione .doc-allegato {
    text-align: center;
    min-width: 75px;
    width: 75px;
}
.tabella-documentazione tbody .doc-titolo {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.tabella-documentazione .btn-primary {
    height: 32px;
    justify-content: center;
    gap: 2px;
    min-width: auto;
}

@media (max-width: 991px) {
    .tabella-documentazione .btn-primary {
        padding: 0;
        width: 36px !important;
        height: 35px !important;
        min-height: auto;
    }
    .tabella-documentazione .btn-primary span {
        display: none;
    }
    .tabella-documentazione .titolo-sezione {
        margin-top: 40px;
        margin-bottom: 0;
    }
}
@media(min-width:992px){
    .tabella-documentazione .btn-primary {
        padding: 7px 12px 6px 1px;
        min-height: 36px;
    }
    .tabella-documentazione .doc-data {
        width: 109px;
    }
    .tabella-documentazione .doc-allegato {
        width: 109px;
    }
    .tabella-documentazione .titolo-sezione {
        margin-bottom: 0;
    }
}

.box-tab-docs:has(.table-responsive) {
    margin-bottom: 32px;
}


.table-responsive thead th:first-child {
    min-width: 220px;
}
.table-responsive tbody:after {
    content: "-";
    display: block;
    line-height: 16px;
    color: transparent;
    visibility: hidden;
}

.table-responsive {
    padding-left: 0;
    margin-left: 15px;
    padding-right: 0;
    margin-right: 15px;
}
/*stile scrollbar*/
.table-responsive::-webkit-scrollbar {
    height: 4px;
}
/* the progress bar of the scrollbar. */
.table-responsive::-webkit-scrollbar-track {
    background: #D9D9D9;
    border-radius: 0px;
}
/* the draggable scrolling handle */
.table-responsive::-webkit-scrollbar-thumb {
    background: var(--azzurro);
    border-radius: 0px;
} 







#infografiche {
    background-image: url('../img/bg-infografiche-m.svg');
    background-repeat: no-repeat;
    background-size: 650%;
    background-position: 58% 7%;
}

.box-infografica {
    margin-bottom:30px;
}
.box-infog-content {
    height: 100%;
}
.box-infog-bordered {
    padding: 16px;
    border-radius: 10px;
    border: 1px solid var(--Gray-300, #E5EBEF);
    background: var(--Gray-00, #FFF);
}
.box-infog-content.bg-azzurro {
    background-color: #E9F6F6;
    border: none;
}
.box-infog-titolo {
    color: var(--blu);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px; /* 150% */
    letter-spacing: -0.192px;
    margin-bottom:24px;
}
.tab-pane .box-infog-titolo {
    color: var(--blu);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px; /* 133.333% */
    letter-spacing: -0.288px;
}
.box-infog-titolo .badge {
    background: var(--blu);
    color: #fff;
    margin-left: 10px;
    border: none;
    height: 40px;
    line-height: 40px;
    border-radius: 70px;
    padding: 0 11px;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
}
.box-infog-titolo form {
    display: inline-flex;
    margin-left: 10px;
    border: none;
}
.box-infog-titolo form .nice-select {
    border-radius: 70px;
    background: var(--blu);
    color: #fff;
    padding-left: 10px;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 40px;
    letter-spacing: 0.5px;
    border:none;
}
.box-infog-titolo .nice-select .list {
    background: var(--blu);
    border: none;
    box-shadow: none;
}
.box-infog-titolo .nice-select .option:hover, 
.box-infog-titolo .nice-select .option.focus, 
.box-infog-titolo .nice-select .option.selected.focus {
    background-color: var(--azzurro);
}
.box-infog-titolo form .nice-select::after {
    content: "";
    background-image: url('../img/icon-select-arrows.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none !important;
    height: 12px;
    margin: 0;
    transform: translateY(-50%);
    width: 16px;
    right: 10px;
}
.box-infog-grafico {
    min-height: 180px;
}
.box-infog-grafico .grafico-dati img {
    width: 100%;
}
.box-infog-txt big {
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
.box-infog-txt-evidenza {
    border-radius: 2px;
    background: var(--grigio-50);
    padding: 16px;
}
.box-infog-txt-evidenza h3,
.box-infog-txt-evidenza h4,
.box-infog-txt-evidenza big {
    color: var(--blu);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

.box-infog-txt-evidenza.lista-icone-img li {
    font-weight: 500;
}
.box-infog-txt-evidenza.lista-icone-img ul {
    margin-top:0;
    margin-bottom: 0;
}
.box-infog-txt-evidenza.lista-icone-img ul:not(:last-of-type) {
    margin-bottom:68px;
}

.nav-infografiche {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 68px;
}
.nav-infografiche .nav-item button {
    display: flex;
    min-width: 186px;
    height: 46px;
    padding: 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 30px;
    border: 1px solid var(--grigio-300);
    background: #fff;
    color: var(--blu) !important;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.nav-infografiche .nav-item button img {
    width:24px;
    height: 24px;
    flex-shrink: 0;
}
.nav-infografiche .nav-item button.active {
    background-color: var(--azzurro);
    color: #fff !important;
    border:none;
}

.nav-infografiche .nav-item button.active img {
    filter: invert(1) brightness(1.2);
}

@media(max-width:991px){
    .box-infog-bordered.no-border-mobile {
        padding: 0;
        border: none;
        border-radius: 0;
        background: none;
    }
    .nav-infografiche .nav-item { 
        width: 100%;
    }
    .nav-infografiche .nav-item button { 
        min-width: 100%;
        width: 100%;
        flex-grow: 1;
    }    
    .box-infog-txt + .box-infog-txt-evidenza {
        margin-top: 38px;
    }
}
@media(min-width:992px){
    .box-infog-bordered {
        padding: 24px;
    }
    #infografiche {
        background-image: url('../img/bg-infografiche.svg');
        background-size: 175%;
        background-position: 30% 10%;
    }
    .box-infog-titolo {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.288px;
    }


    /*sezione policy sotto infografiche*/
    #infografiche + section {
        background-image: url('../img/bg-infografiche.svg');
        background-size: 207%;
        background-position: 43% 2%;
    }
}


/*navigazione dati singoli grafici*/
.nav-grafico {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom:24px;
}
.nav-grafico button {
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 110px !important;
    border: 1px solid var(--grigio-300);
    background: var(--grigio-100);
    color: var(--blu) !important;
    /* Button-small */
    font-family: Satoshi;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    min-width: 56px;
}
.nav-grafico button.active {
    background: var(--blu) !important;
    color:#fff !important;
}






.imgs-carosello-mobile img {
    width: 100%;
}
@media(max-width:991px){
    .imgs-carosello-mobile {
        margin-left: -15px;
        margin-right: -15px;
        margin-top:32px;
    }
    .imgs-carosello-mobile > .img-crsl {
        padding-left: 0;
        padding-right: 0;
    }
}


#intro-convenzioni h2,
#intro-convenzioni h3,
#intro-convenzioni h4,
#intro-aiuti-content h2,
#intro-aiuti-content h3,
#intro-aiuti-content h4 {
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
    margin-bottom:24px;
}
@media(min-width:992px){
    #intro-convenzioni h2,
    #intro-convenzioni h3,
    #intro-convenzioni h4 {
        display: none;
    }
}


#intro-aiuti-content {
    margin-top:20px;
}
@media(max-width:991px){
    #intro-aiuti-content .accordion-faq-approfondimenti {
        border-top:1px solid var(--grigio-300);
    }
}
@media(min-width:992px){
    #intro-aiuti-content .accordion-faq-approfondimenti {
        margin-top:68px;
    }
}









/* temp: REGOLE X LAVORA IN KOS */
.video-contenuto-tesuale {
    top: -50px !important;
    position: relative;
    padding-left: 15px;
}
.video-sep .video-contenuto-tesuale h3, 
.video-sep .video-contenuto-tesuale h4, 
.video-contenuto-tesuale h5 {
    font-size: 12px;
    line-height: 16px;
    color: #fff;
}
.video-sep .video-cats span {
    color: var(--azzurro);
    font-size: 8px;
}

@media(max-width:991px){
    .video-sep.video-full-md {
        width: 100vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
}
@media(min-width:992px){
    .video-sep .video-contenuto-tesuale {
        top: -83px !important;
        padding-left: 40px;
    }

    .video-sep .video-contenuto-tesuale h3,
    .video-sep .video-contenuto-tesuale h4,
    .video-sep .video-contenuto-tesuale h5 {
        font-size: 27px;
        line-height: 37px;
    }
    .video-sep .video-cats span {
        font-size: 12px;
    }
}




#intro-pagina-imgs {
    gap: 8px;
    display: flex;
    justify-content: center;
    overflow: visible;
}
#intro-pagina-imgs img {
  border-radius: 2px;
  width: 115px;
}
@media(min-width:992px){
    #intro-pagina-imgs img {
      width: auto;
  }
  #intro-pagina-imgs {
    gap: 40px;
    justify-content: space-between;
    overflow: hidden;
  }
}



#counter span {
    color: var(--rosso);
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}
#counter {
    margin-bottom: 48px;
}
@media(min-width:992px){
    #counter span {
        font-size: 40px;
    }
    #counter {
        margin-bottom: 0;
    }
}


#counter .counter-txt {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 16px;
    margin-bottom: 16px;
    position: relative;
}

#counter .counter-txt::before,
#counter .counter-txt::after {
    content: '';
    position: absolute;
    left: 0;
}

#counter .counter-txt small {
    color: var(--blu);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
    font-style: normal;
}

#counter .counter-txt::before {
    width: 2px;
    height: 39%;
    background-color: var(--azzurro);
    top: 0;
    margin-left: -0.5px;
    z-index: 10;
    border-radius: 50px;
}

#counter .counter-txt::after {
    width: 1px; 
    height: 100%;
    background-color: var(--grigio-300); 
    top: 0;
    border-radius: 50px;
}
@media(min-width:992px){
    #counter .counter-txt {
        gap: 10px;
    }
}




.text-bg-info {
    color: #fff!important;
    background-color: var(--rosso) !important;
    font-weight: 500;
    text-transform: uppercase;
}
.text-bg-secondary {
    color: var(--blu) !important;
    background-color: var(--grigio-50) !important;
    font-weight: 500;
    text-transform: uppercase;
}

.badge {
    padding: 5px 7px 5px 7px;
}




small:has(+.nav-rettangolare) {
    padding-left: 15px;
}


.nav-rettangolare {
    gap: 8px;
    flex-wrap: wrap;
    padding:24px 15px;
}
.nav-rettangolare .nav-link {
    display: flex;    
    min-width: 48px;
    min-height: 44px;    
    padding: 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 30px;
    border: 1px solid var(--grigio-300);
    background: #fff;
    color: var(--blu);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.nav-rettangolare .nav-link:not(.active):hover {
    background: var(--grigio-300);
}

.nav-rettangolare .nav-link.active {
    background: var(--azzurro);
    color: #fff;
    position: relative;
}
.nav-rettangolare+.tab-content {
    margin-top: 32px;
}

@media(min-width:768px) and (max-width:991px){
    .nav-rettangolare {
        justify-content: center;
    }
}
@media(max-width:991px){
    .nav-rettangolare.bk-grigio {
        background-color: var(--grigio-100);
    }
}
@media(min-width:992px){
    .nav-rettangolare {
        gap: 10px;
    }
    .nav-rettangolare {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .nav-rettangolare .nav-link {
        min-width: 150px;
        min-height: 52px;
        padding: 10px;
        border-radius: 2px;
    }        
    .nav-rettangolare .nav-link.active::after {
        content: "";
        display: block;
        height: 1px;
        width: 100%;
        position: absolute;
        bottom: -10px;
        background: var(--azzurro);
    }
    .nav-rettangolare+.tab-content {
        margin-top: 68px;
    }
}


#professionisti-container small,
#posizioni-lav small,
#tecnologie-container small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12px;
    text-transform: uppercase;
    padding-left: 15px;
}

#posizioni-lav .single-posizione {
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    padding: 24px;
    margin-bottom:16px;
    width: 100%;
}

#posizioni-lav .titolo-badge {
    display: flex;
    justify-content: flex-start;
    gap: 24px;
    margin-bottom: 16px;
    flex-direction: column;
}
#posizioni-lav .titolo-badge span {
    font-weight: 500;
}
#posizioni-lav .altre-info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 35px;
    flex-direction: column;
}

#posizioni-lav .info-lavoro {
    display: flex;
    gap: 20px;
    margin-bottom: 32px;
}
#posizioni-lav .info-lavoro span {
    display: flex;
    align-items: center;
    gap: 5px;
}
#posizioni-lav .cta-candidatura .btn {
    width: 100%;
}
#posizioni-lav .cta-candidatura .btn-secondary:hover {
    background-color: var(--grigio-300);
}
@media(max-width:991px){
    #professionisti-container small,
    #posizioni-lav small,
    #tecnologie-container small {
        display: none;
    }
    #posizioni-lav .cta-candidatura .btn-secondary {
        margin-bottom:16px    
    }
}
@media(min-width:992px){  
    #posizioni-lav .titolo-badge {
        flex-direction: row;
    }
    #posizioni-lav .altre-info {
        align-items: center;        
        flex-direction: row;
    }
    #posizioni-lav .info-lavoro {
        margin-bottom: 0;
    }
    #posizioni-lav .cta-candidatura .btn {
        width: auto;
    }
}





#blocco-img-text {
    margin-top: 68px;
}
#blocco-img-text .img-container img {
    height:100%;
    width: auto;
    object-fit: contain;
    object-position: top right;
}
@media(min-width:992px){
    #blocco-img-text {
        margin-top: 98px;
        margin-bottom:98px;
    }
}





/*Blocco competenze per Lavora in KOS e Regole generiche blocchi info*/
#blocco-competenze, .blocco-info {
    padding-bottom: 10px;
    margin-top: 68px;
}
#blocco-competenze .btn,
.blocco-info .btn {
    min-width: 230px;
    min-height: 50px;
}

.blocco-competenze-value-proposition,
.blocco-competenze-value-proposition p,
.blocco-competenze-value-proposition h3,
.blocco-competenze-value-proposition h4,
.blocco-competenze-value-proposition h5,
.blocco-info-value-proposition,
.blocco-info-value-proposition p,
.blocco-info-value-proposition h3,
.blocco-info-value-proposition h4,
.blocco-info-value-proposition h5 {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}
@media(max-width:991px){
    #blocco-competenze .btn,
    .blocco-info .btn {
        width: 100%;
    }
    .blocco-competenze-cta .btn+.btn,
    .blocco-info-cta .btn+.btn {
        margin-top: 16px;
    }
    #blocco-competenze .titolo-sezione,
    .blocco-info .titolo-sezione {
        margin-bottom:0;
    }
    .blocco-info img.d-md-none {
        margin-bottom: 16px;
    }
}
@media(min-width:992px){
    .blocco-competenze-value-proposition,
    .blocco-competenze-value-proposition p,
    .blocco-competenze-value-proposition h3,
    .blocco-competenze-value-proposition h4,
    .blocco-competenze-value-proposition h5,
    .blocco-info-value-proposition,
    .blocco-info-value-proposition p,
    .blocco-info-value-proposition h3,
    .blocco-info-value-proposition h4,
    .blocco-info-value-proposition h5 {
        font-size: 32px;
        line-height: 40px; /* 125% */
        letter-spacing: -0.48px;
    }
    #blocco-competenze, .blocco-info {
        margin-top: 98px;
        padding-top: 30px;
        padding-bottom: 98px;
    }
}
/*slider*/
@media(max-width:991px){
    #blocco-competenze .articoli-box {
        padding-left: 0;
        padding-right: 0;
    }
}

#blocco-img-laterali + #blocco-competenze {
    margin-top:0;
}

.img-sep + .blocco-info[class*="bg-"] {
    margin-top:0;
}
/*ma se è una section che ha l'anno della storia, aumenta il margine*/
section.blocco-info:not(.mt-0):has(.anno-storia) {
    margin-top: 68px !important;
}
@media(min-width:992px){
    section.blocco-info:not(.mt-0):has(.anno-storia) {
        margin-top: 98px !important;
    }
}




/*blocchi info con anni storia*/
.anno-storia {
    padding-left: 5px;
    padding-right: 5px;
    margin-bottom: -16px;
}
.anno-storia > .row {
    margin-left: -5px;
    margin-right: -5px;
}
.anno-storia span {
    color: var(--blu);
    font-family: Satoshi;
    font-size: 72px;
    font-style: normal;
    font-weight: 700;
    line-height: 80px;
    letter-spacing: -1.296px;
}
@media(max-width:991px){
    .anno-storia {
        padding-top:16px;
        padding-bottom:16px;
    }
}
@media(min-width:992px){
    .anno-storia {
        margin-bottom: -32px;
    }
    .anno-storia span {
        font-size: 160px;
        line-height: normal;
        letter-spacing: -3.2px;
    }
}







/* REGOLE HOMEPAGE */
#intro-counter {
    margin-top: 72px;
}
#intro-counter span {
    font-size: 20px;
}
#intro-counter small {
    font-size: 16px;
}
@media(min-width:992px){           
    #intro-counter #counter .counter-txt small {
        font-size: 16px;
        line-height: 24px;
    }
    #intro-counter span {
        font-size: 64px;
    }
}




#blocco-specializzazione {
    margin-bottom: 53px;
}

#blocco-specializzazione .titolo-sezione {
    margin-bottom: 24px;
}
#blocco-specializzazione-value-proposition,
#blocco-specializzazione-value-proposition p,
#blocco-specializzazione-value-proposition h3,
#blocco-specializzazione-value-proposition h4,
#blocco-specializzazione-value-proposition h5 {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px; /* 140% */
    letter-spacing: -0.3px;
}

@media(max-width:991px){
    #blocco-specializzazione .titolo-sezione {
        margin-top: 10px;
        margin-bottom: 0;
    }
}
@media(min-width:992px){
    #blocco-specializzazione {
        margin-bottom: 123px;
    }
    #blocco-specializzazione-value-proposition,
    #blocco-specializzazione-value-proposition p,
    #blocco-specializzazione-value-proposition h3,
    #blocco-specializzazione-value-proposition h4,
    #blocco-specializzazione-value-proposition h5 {
        font-size: 32px;
        line-height: 40px; /* 125% */
        letter-spacing: -0.48px;
    }
}




#altri-servizi {
    margin-top: 48px;
}
#altri-servizi small {
    color: var(--blu);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

#altri-servizi .gruppo-btns {
    display: flex;
    gap: 16px;
    margin-top: 32px;
    flex-direction: column;
}

#altri-servizi .btn-link {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--azzurro);
    transition: .3s all;
}
#altri-servizi .btn-link img {
    width: 32px;
    height: 32px;
    border-radius: 2px;
    background-color: var(--azzurro);
    transition: .3s all;
}
#altri-servizi .btn-link:hover {
    color: var(--bluchiaro);
}
#altri-servizi .btn-link:hover img {
    background-color: var(--bluchiaro);
}

@media(max-width:991px){
    #altri-servizi .gruppo-btns {
        position: relative;
    }
    #altri-servizi .gruppo-btns .btn-link {
        min-height: 30px;
    }
    #altri-servizi .gruppo-btns .btn-link img {
        position: absolute;
        right: 15px;
    }
}
@media(min-width:992px){
    #altri-servizi {
        margin-top: 38px;
    }
    #altri-servizi .gruppo-btns {
        flex-direction: row;
        gap: 32px;
    }
}





#blocco-img-laterali .titolo-sezione {
    margin-bottom: 40px;
}

#blocco-img-laterali img {
    width: 100%;
}
#blocco-img-laterali-content h2,
#blocco-img-laterali-content h3,
#blocco-img-laterali-content h4,
#blocco-img-laterali-content h5 {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.3px;
    margin-bottom:32px;
}
#blocco-img-laterali-content h2 span,
#blocco-img-laterali-content h3 span,
#blocco-img-laterali-content h4 span {
    color: var(--azzurro);
}


#blocco-img-laterali .box-interno .btn {
    min-height: 52px;
    padding-left: 20px;
    padding-right: 20px;
    margin-top:17px;
}

@media(min-width:992px){
    #blocco-img-laterali-content h2,
    #blocco-img-laterali-content h3,
    #blocco-img-laterali-content h4,
    #blocco-img-laterali-content h5 {
        font-size: 32px;
        line-height: 43px;
        letter-spacing: -0.384px;
    }
    #blocco-img-laterali .box-interno {
        margin-bottom:68px;
    }
}
@media(max-width:991px){
    #blocco-img-laterali .titolo-sezione {
        margin-bottom: 0;
    }
    #blocco-img-laterali .btn {
        width: 100%;
    }  
}






#blocchi-progetti {
    padding-bottom: 24px;
    padding-top: 0;
}
@media(max-width:991px){
    #blocchi-progetti.bg-grigio {
        background-color: #fff !important;
    }
}
@media(min-width:992px){
    #blocchi-progetti {
        padding-bottom: 98px;
        padding-top: 30px;
    }
}
@media(min-width:1200px){        
    #blocco-progetti-carosello:not(.swiper) {
        display: flex;
    }
}
/*singolo progetto*/
#blocchi-progetti .progetto-singolo {
    border-radius: 2px;
    border: 1px solid var(--grigio-300);
    padding: 24px;
}
.progetto-singolo {
    display: flex;
    flex-direction: column; /*di default è in colonna*/
}
.progetto-singolo .progetto-img {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 270px; 
    min-width: 270px;
    flex-shrink: 0;
    margin-bottom:32px;
}
.progetto-singolo .circular-image {
    border-radius: 50%;
    width: 205px;
    height: 205px;
    z-index: 1;    
}
.progetto-singolo .progetto-img::before {
    content: "";
    position: absolute;
    width: 265px; 
    height: 265px;
    background: url('../img/forma-bg-progetto.svg') no-repeat center center;
    background-size: contain;
    z-index: 0; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
}

.progetto-singolo .progetto-info {
    flex-grow: 1;
    min-width: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.progetto-singolo .progetto-txt h2,
.progetto-singolo .progetto-txt h3,
.progetto-singolo .progetto-txt h4,
.progetto-singolo .progetto-txt h5 {
    font-size: 24px;
    line-height:32px
}

.progetto-singolo .progetto-tags {
    margin-bottom:24px;
}

.progetto-singolo .progetto-cta .btn-link {
    color: var(--azzurro);
    transition: .3s all;
    display: flex;
    align-items: center;
    gap: 16px;
    text-decoration: none !important;
}
.progetto-singolo .progetto-cta .btn-link img {
    width: 32px;
    height: 32px;
    border-radius: 2px;
    background-color: var(--azzurro);
    transition: .3s all;
}
.progetto-singolo .progetto-cta .btn-link:hover {
    color: var(--bluchiaro);
}
.progetto-singolo .progetto-cta .btn-link:hover img {
    background-color: var(--bluchiaro);
}

/*3 PROGETTI*/
@media (min-width:768px) and (max-width:1199px){
  .num-prog-3:not(.swiper) .progetto-singolo .progetto-img {
      margin-bottom:0px;
  }
  .num-prog-3:not(.swiper) .progetto-singolo .progetto-info {
      padding-right: calc(68px - 24px);
  }
  .num-prog-3:not(.swiper) .progetto-singolo {
      display: flex;
      flex-direction: row;
      gap: 24px;
      width: 100% !important;
  }
}

/*2 PROGETTI*/
@media (min-width:768px) {        
    .num-prog-2 .progetto-singolo .progetto-img {
        margin-bottom:0px;
    }
    .num-prog-2 .progetto-singolo .progetto-info {
        padding-right: calc(68px - 24px);
    }
    .num-prog-2 .progetto-singolo {
        display: flex;
        flex-direction: row;
        gap: 24px
    }
}
@media(min-width:1200px){
    .num-prog-2:not(.swiper) .progetto-singolo {
        width:calc(100% / 2);
    }
}

/*1 PROGETTO*/
@media (min-width:768px) {   
    .num-prog-1 .progetto-singolo .progetto-img {
        margin-bottom:0px;
    }
    .num-prog-1 .progetto-singolo .progetto-info {
        padding-right: calc(68px - 24px);
    }
    .num-prog-1 .progetto-singolo {
        display: flex;
        flex-direction: row;
        gap: 24px;
        width: 100% !important;
    }    
}
@media(min-width:1200px){
    .num-prog-1 .progetto-singolo .progetto-txt h2,
    .num-prog-1 .progetto-singolo .progetto-txt h3,
    .num-prog-1 .progetto-singolo .progetto-txt h4,
    .num-prog-1 .progetto-singolo .progetto-txt h5 {
        font-size: 56px;
        line-height: 60px; /* 107.143% */
        letter-spacing: -0.84px;
    }
    .num-prog-1 .progetto-singolo .progetto-txt p {
        font-size: 24px;
        line-height: 32px; /* 133.333% */
        letter-spacing: -0.288px;
    }
}





#blocco-servizi-benefit.box-impegno {
    margin-top: 30px;
}
#blocco-servizi-benefit.box-impegno small {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.12px;
    text-transform: uppercase;
    color:#54585b;
}
#blocco-servizi-benefit.box-impegno .btn-secondary {
    text-transform: none;
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    transition: .3s all;
}
#blocco-servizi-benefit.box-impegno .btn-secondary:hover {
    border: 1px solid var(--blu);
}






#blocco-recensioni {
    margin-top:68px;
}
#blocco-recensioni .recens-voto {
    margin-top:8px;
    margin-bottom:24px;
}
#blocco-recensioni .recens-voto img {
    max-height: 14px;
}
#blocco-recensioni .recens-singola {
    border: 1px solid var(--grigio-300);
    background: var(--grigio-50);
    padding: 16px;
}
#blocco-recensioni .recens-nome,
#blocco-recensioni .recens-txt {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
}

#blocco-recensioni .recens-txt.txt-to-expand {
    max-height: 112px;
}
#blocco-recensioni .swiper-controls {
    margin-right: 0;
    padding-right: 0;
}
@media(min-width:992px){
    #blocco-recensioni {
        margin-top:98px;
    }
}





#kos-mondo {
    margin-bottom:0px;
}

#kos-mondo .titolo-sezione:not(.p-normal) p {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
}
#kos-mondo .bg-grigio {
    padding: 16px;
    margin-top: 68px;
    margin-bottom: 32px;
}
#kos-mondo .gruppo-btns {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-direction: column;
}
#kos-mondo .gruppo-btns span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    letter-spacing: 0.14px;
    padding: 8px;
}
#kos-mondo .gruppo-btns .btn-primary {
    min-height: 52px;
    padding-left: 20px;
    padding-right: 20px;
}
@media(max-width:991px){
    #kos-mondo .bg-grigio {
        background-color: transparent !important;
    }
    #kos-mondo .kos-descrizione h3,
    #kos-mondo .kos-descrizione h4 {
        font-size: 20px;
    }
    #kos-mondo .btn {
        width: 100%;
        margin-bottom:16px;
    }
}
@media(min-width:992px){
    #kos-mondo {
        margin-bottom:60px;
    }
    #kos-mondo .bg-grigio {
        margin-top: 32px;
     /*   margin-bottom: 98px; */
    }
    #kos-mondo .titolo-sezione:not(.p-normal) p {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.48px;
    }
    #kos-mondo .gruppo-btns {
        align-items: center;
        flex-direction: row;
        gap:20px;
    }
}

.responsive-yt
{overflow:hidden; padding-bottom:56.25%; position:relative; height:0;}

.responsive-yt iframe
{left:0; top:0; height:100%; width:100%; position:absolute;}

/* Limita l'altezza e abilita lo scroll */
.scrollable-list {
    max-height: calc(6 * 91px); /* Regola l'altezza massima */
    overflow-y: auto; /* Abilita la scrollbar verticale */
    padding-right: 5px; /* Spazio per la scrollbar */
}

@media (min-width: 992px) {
    .filtri-torna {
        display: none;
    }
}

#intro-dettagli ul {
    list-style-type: disc; /* Pallino classico */
    margin-left: 20px; /* Spazio a sinistra per allineare il testo */
    padding-left: 0; /* Rimuove padding predefinito */
    padding-bottom: 20px; /* Spazio dopo l'elenco */
}

#intro-dettagli li {
    list-style-type: disc; /* Pallino classico */
}

.faq-contenuto ul {
    list-style-type: disc; /* Pallino classico */
    margin-left: 20px; /* Spazio a sinistra per allineare il testo */
    padding-left: 0; /* Rimuove padding predefinito */
    padding-bottom: 20px; /* Spazio dopo l'elenco */
}

.faq-contenuto ol {
    /* Stile dei numeri/marker */
    list-style-type: decimal;    /* decimal, upper-roman, lower-alpha, etc. */
    list-style-position: outside; /* outside o inside */
    
    /* Spaziatura */
    margin: 0;                   /* margine esterno */
    
    /* Allineamento */
    text-align: left;            /* allineamento del testo */
    
    /* Layout */
    display: block;              /* tipo di visualizzazione */
    
    /* Numerazione */
    counter-reset: section;      /* reset del contatore */
    
    /* Altre proprietà comuni */
    margin-bottom: 1em;         /* spazio dopo la lista */
}

.faq-contenuto ol li {
    list-style-type: decimal;
    padding-left: 0.5em;        /* spazio interno */
}

.faq-contenuto ul li {
    list-style-type: disc; /* Pallino classico */
}

#blocco-servizi-content ul {
    list-style-type: disc; /* Pallino classico */
    margin-left: 20px; /* Spazio a sinistra per allineare il testo */
    padding-left: 0; /* Rimuove padding predefinito */
    padding-bottom: 20px; /* Spazio dopo l'elenco */
    color: white; /* colore testo elenco */
}

#blocco-servizi-content li {
    list-style-type: disc; /* Pallino classico */
}

#accesso-struttura-content-txt.txt-expand ul {
    list-style-type: disc; /* Pallino classico */
    margin-left: 20px; /* Spazio a sinistra per allineare il testo */
    padding-left: 0; /* Rimuove padding predefinito */
    padding-bottom: 20px; /* Spazio dopo l'elenco */
}

#accesso-struttura-content-txt.txt-expand li {
    list-style-type: disc; /* Pallino classico */
}

.custom-content-layer-dim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  z-index: 999;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  display: none; /* Aggiungi questa riga */
}

#mappa {
  height: 600px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.container:has(#mappa) {
    position: static; /* era relative */
}

.maptitle {
  font-size: 20px !important;
  font-family: 'Satoshi';
  font-weight: 500 !important;
  line-height: 28px;
  color: var(--blu) !important;
  border-bottom: none !important;
  margin-top: 14px;
}

.mapp {
  font-family: 'Satoshi';
  font-size: 14px;
  line-height: 28px !important;
  font-weight: 400 !important;
}

.maptipo {
  font-family: 'Satoshi';
  font-weight: 400 !important;
  font-size: 10px;
  line-height: 1.2em !important;
  color: #1D2243;
  background-color: #E5EBEF;
  padding: 3px 6px;
  margin-bottom: 0.5em;
  border-radius: 30px;
}

.btn-collab-map1 {
  background-color: white;
  border: 1px solid grey;
  border-radius: 0;
  color: var(--blu);
  font-size: 11px;
  font-weight: 700 !important;
  font-family: 'Satoshi';
}

.btn-collab-map1:hover {
  background-color: var(--gr-chiaro);
  color: var(--blu);
}

@media (min-width: 576px) { .custom-content-layer-dim { width: 70%; } }
@media (min-width: 768px) { .custom-content-layer-dim { width: 62%; } }
@media (min-width: 992px) { .custom-content-layer-dim { width: 46%; } }
@media (min-width: 1200px) { .custom-content-layer-dim { width: 39%; } }
@media (min-width: 1300px) { .custom-content-layer-dim { width: 36%; } }
@media (min-width: 1540px) { .custom-content-layer-dim { width: 30%; } }

@media screen and (max-width: 991px) {
    #homeDescription {
        display: none;
    }
}

#backToTop {
    display: none; /* Nascosto di default */
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background-color: #000;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    opacity: 0.7;
    transition: opacity 0.3s;
    z-index: 999;
}

#backToTop:hover {
    opacity: 1;
}

/* video KOS Academy */
.video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    cursor: pointer;
}

.video-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -4%);
    filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.5));
}

.video-wrapper.active .video-preview,
.video-wrapper.active .play-button {
    display: none;
}

/* Il p prende gli stili che aveva l'h1 */
#intro-pagina-hero.intro-homepage p {
    font-size: 72px;
    line-height: 78px;
    letter-spacing: -5.04px;
    padding-bottom: 15px;
    color: #FFF;
}

/* L'h1 prende gli stili che aveva il big */
#intro-pagina-hero.intro-homepage h1 {
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -0.3px;
    display: block;
    margin-top: 24px;
    color: #FFF;
}

/* Aggiungiamo una regola che rimuove l'effetto gradient dall'h1 in questa sezione specifica */
#intro-pagina-hero.intro-homepage .titolo-animato.titolo-anim-neg h1 {
    background-image: none;
    -webkit-text-fill-color: initial;
    animation: none;
    background-clip: initial;
}

/* Manteniamo l'effetto sul paragrafo */
.titolo-animato.titolo-anim-neg p {
    background-image: linear-gradient(160deg, #fff 37%, #20467B 37%, #20467B 50%, #2091B0 50%, #2091B0 53%, #E5EBEF 53%, #E5EBEF 60%, #2091B0 60%, #2091B0 70%, #fff 70%);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: titlegrad 3s ease-out 1s forwards;
    background-size: 350% 350%;
    background-position: 0% 0%;
    transform: translate3d(0,0,0);
    backface-visibility: hidden;
}

/* Aggiungiamo il margin-top mobile al p */
#intro-pagina-hero.intro-spazio p {
    margin-top: 230px;
}

/* E manteniamo anche la regola con il breadcrumb */
#intro-pagina-hero.intro-spazio:has(#breadcrumbs) p {
    margin-top: 138px;
}

/* E la media query che esisteva per desktop */
@media (min-width: 992px) {
    #intro-pagina-hero.intro-spazio p {
        margin-top: 75px;
    }
    #intro-pagina-hero.intro-spazio:has(#breadcrumbs) p {
        margin-top: 0;
    }
}

@media (max-width: 991px) {
    .intro-homepage #intro-pagina-hero-txt {
        margin-bottom: 38px;
        padding-right: 48px !important;
    }
    
    #intro-pagina-hero.intro-homepage p {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: -0.54px;
    }
}

@media (min-width: 992px) {
    #intro-pagina-hero.intro-homepage p {
        margin-top: 75px;
    }

    #intro-pagina-hero.intro-homepage h1 {
        font-size: 32px;
        line-height: 40px;
        letter-spacing: -0.48px;
        margin-top: 48px;
        margin-bottom: 60px;
    }
}

#recruiting .ul {
    list-style-type: disc;
    margin-left: 20px;
    padding-left: 0;
    padding-bottom: 20px;
}

#recruiting ul li {
    list-style-type: disc;
}

/* Move reCAPTCHA v3 badge up */ 

.grecaptcha-badge {
bottom: 80px !important;
}

.voce q {
    quotes: "«" "»";
}
.voce q::before,
.voce q::after {
    color: #005893;
}
.voce p:last-child {
    margin-bottom: 0;
}