﻿:root{
    --ff-default:ABeeZee, 'Raleway','Helvetica',serif;
    --ff-heading:'Raleway','Helvetica',serif;
    --icon-button-gap:6.4rem;
    --desktop-menu-item-gap:.8rem;
    --primary-color:#1a6785;
    --secondary-color:#CFE5F2;
    --accent-color:#ff5722;
    --beige-color:#FAF9EA;     
    --light-color:#F6F9FA;
    --primary-light-color:#e3f2f7;
    --primary-dark-color:#14465a
/*    --primary-light-color:#dceef4*/
}

* {box-sizing: border-box;}
*{font-family:var(--ff-default)}

html {font-size: 62.5% !important}
body {font-size: 1.6rem;margin: 0;padding:0}
ul{list-style: none;padding:0;margin:0;}
button,a{font-family: var(--ff-heading);}
a{text-decoration: none;}
a:focus,button:focus{outline-offset: 3px;}



/* TYPHOGRAPHY */
h1{font-weight: 400;}
h1,h2,h3,h4{font-family: var(--ff-heading);font-weight:700}
p,li{font-family: var(--ff-default);font-size:1.6rem;line-height:1.6;}
p{font-weight:300}

b,strong{font-weight:900}




/* COLORS */
h1,h2,h3,h4{color:var(--primary-color)}
p{color:#333}


/* BG COLOR */
body{background:var(--light-color)}
.bg-primary{background-color: var(--primary-color);}
.bg-secondary{background-color: var(--secondary-color);}
.bg-beige{background-color: var(--beige-color);}
.bg-primary-light{background-color: var(--primary-light-color);}
.bg-white{background-color: #fff;}

/* LAYOUT */
.max-width {padding: 0 1.6rem}

@media(min-width:992px) {
    .max-width {padding: 0 3.2rem}
}

@media(min-width:1920px) {
    .max-width {padding: 0 6.4rem}
}



/* HELPERS */
.layer {position: fixed;top: 0;left: 0;width: 100%;height: 100%;}
.section{padding:4.4rem 0}
.highlight-info-text{font-style:italic;font-weight:600;font-size:1.8rem;line-height:1.5}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.visually-hidden{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);border: 0;white-space: nowrap;}
.text-center-align{text-align:center}


/* LIST ITEM */
.standard-list-item,
.container-testo-offerta ul,
.articolo ul,
.validation-summary ul{list-style:disc;padding-left:2.4rem;display: flex;flex-direction: column;gap: .8rem;}

.standard-list-item li, 
container-testo-offerta li,
.articolo li,
.validation-summary li{display:list-item;font-size: 1.6rem;font-weight:600;color: #333;}

.standard-list-item a{color:var(--primary-color);font-weight:900;font-family:var(--ff-default)}
.standard-list-item a:hover{color:#004b84}

.custom-list-item{display: flex;flex-direction: column;gap: .8rem;}
.custom-list-item li{font-family: var(--ff-heading);font-size: 1.6rem;line-height: 1.4;text-transform: uppercase;letter-spacing: .1rem;color: var(--primary-color);display:flex;align-items: center;gap: .8rem;}
.custom-list-item__bullet{width: .9rem;height: .9rem;background-color: var(--primary-color);border-radius: 50%;flex-shrink: 0;}

@media (min-width: 1440px) {
    .custom-list-item__bullet{width: 1.2rem;height: 1.2rem;}
    .custom-list-item li{font-size:1.6rem}
}


/* BUTTONS */
button{background:none;border:none;font-size:1.6rem;cursor:pointer}
.button {font-family:var(--ff-heading);line-height:normal;text-align:center;background: #333;color: #fff;min-width: 200px;text-align: center;border: 1px solid #333;font-size: 1.6rem;text-transform: uppercase;letter-spacing: 1px;display: inline-block;font-weight: 500;padding:1.6rem 2.4rem;cursor: pointer;transition: color .5s  linear, border-color .5s linear, background-color .35s;border-radius:.4rem;user-select: none;position:relative}
.button{overflow: hidden;z-index: 1;}
.button:before{top:101%;bottom: 0;content: "";height: 200%;left: 0;position: absolute;transform: scale(1);transform-origin: bottom right;transition: transform .5s;transition-timing-function: ease-out;width: 200%;z-index: -1;}
.button--primary {background-color: transparent;color: var(--primary-color);border-color: var(--primary-color);}
.button--primary:before{background-color:#a1d9ee}
.button--accent{background:var(--accent-color);border-color:var(--accent-color);color:#fff}
.button--accent:focus{outline: auto;outline-offset: 3px;}
.button--accent:before{background-color:var(--primary-color)}
.button--red{background: #E94F37;border-color: #E94F37;}
.button--full{background: var(--primary-color);border-color: var(--primary-color);color:#fff}
.button--full:before{background:var(--primary-dark-color)}

.button:not(.active):hover:after, 
.button:not(.active):hover:before {transform: scale(2);transform-origin: bottom left;transition-timing-function: cubic-bezier(1, .43, .66, 1.21);}
.button:not(.active):hover:after{transition-delay: .25s;}
.button--primary:not(.active):hover,.button--primary:not(.active)[aria-expanded="true"]{color:#023960;border-color:#92D4F6}
.button--accent:hover{border-color:var(--primary-color);color:#fff}


.button-icon{display:flex;align-items:center;place-content:space-between;line-height:1;width:100%;}
.button-icon span{flex:1;display:block;text-align:center}
.button-icon i{font-size:2.4rem}

.button__small{padding:.8rem 1.6rem;font-size:1.3rem;font-weight:600}

/* TITLES */
hgroup {display: flex;flex-direction: column-reverse;}
hgroup h3,.prefix-title {font-family:var(--ff-heading);margin-top: 0;text-transform: uppercase;font-size: 1.4rem;letter-spacing: .2rem;display: flex;align-items:center;gap:.8rem;line-height:1;color:var(--primary-color)}
h2{margin: 0;font-size: 3.2rem;line-height: 1.2}


@media(min-width:500px) {
    hgroup h3,.prefix-title {font-size: 1.6rem;}
}

/* LOADER */
.container-loader{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;width:100%;height:100%;display: flex;place-content:center;align-items: center;}
.container-loader.hidden{display:none}

.loader {border: .4rem solid #faf7f1;border-top: .4rem solid orange;border-radius: 50%;width: 3.2rem;height: 3.2rem;animation: spin 2s linear infinite;display:block}
.spinner {border: .8rem solid #faf7f1;border-top: .8rem solid #41aeef;border-radius: 50%;width: 6rem;height: 6rem;animation: spin 2s linear infinite;margin: 1.6rem auto;display:block;}
.loader--primary-color{border-top-color:var(--primary-color)}
.container-loader-primary-color{background:var(--primary-color)}
.loader--secondary-color{background:var(--secondary-color);border-top-color: var(--primary-color);}
.container-loader-secondary-color{background:var(--secondary-color)}
.loader--small{width:1.6rem;height:1.6rem;border-width:.2rem}

@keyframes spin {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}

/* SUBMIT WRAPPER */
.submit-wrapper{position:relative;display:inline-block;border-radius:3.2rem;overflow:hidden}


/* CAROUSEL CONTROLS */
.nav-carousel-control-wrapper{display: flex;align-items: center;gap:0;place-content: end;border-radius: 6.4rem;user-select: none;max-width: max-content;margin: 1.6rem auto 0;}       
.nav-carousel-control{line-height: 0;border: 1px solid var(--primary-color);border-radius: 50%;width: 5rem;height: 5rem;display: flex;place-content: center;align-items: center;cursor:pointer;position: relative;background:none}        
.nav-carousel-control i{width:3rem;height:3rem;font-size:2.5rem;color:var(--primary-color);display:flex;align-items:center;place-content:center}
.nav-carousel-control svg{width:30px;height:30px;}
.nav-carousel-control path{fill:var(--primary-color)}
.nav-carousel-control.disabled {opacity: .4;cursor: default;}
/*.swiper-slide:not(.sidebar-panel__swiper-slide) span:not(.card-alloggio__icon):not(.card-servizio__fake-button):not(.select2):not(.selection):not(.dropdown-wrapper):not(.select2-selection):not(.select2-selection__rendered):not(.select2-selection__arrow):not(.sidebar-panel__card-info-btn):not(.card-tutorial__video-icon):not(.card-tutorial__fake-button):not(.image-label):not(.event-card__date-day):not(.event-card__date-month){pointer-events: none;border: 2px solid #fff;bottom: 1.6rem;right: 1.6rem;width: 4rem;height: 4rem;position: absolute;display: flex;place-content: center;align-items: center;border-radius: 50%;background: #fff;color: var(--primary-color);}
*/


.swiper-slide .image-label{position: absolute;top: 2.4rem;left: 2.4rem;background: var(--beige-color);padding: .8rem;border-radius: .8rem;}

@media(min-width:1280px){
    .nav-carousel-control{width: 9rem;height: 9rem;}
}

/* HEADER */
.logo-container a{display:inline-block}
.logo-container img{display:block;width:100%;height:auto;max-width:240px;}
.site-header{position:fixed;width: 100%;left: 0;top: 0;box-shadow: 0 0 8px rgba(0, 0, 0, 0.06);z-index: 2;transition: transform .6s ease-in-out}
.site-header.not-visible{transform: translateY(calc(-100% - .8rem));}
/*.site-header .open-period-info{margin:0;padding:.8rem 0;background:var(--primary-color);color:#fff;font-size:1.6rem;font-family: var(--ff-heading);text-align: center;}*/
.site-header nav{background:#fff;display:flex;align-items: center;place-content: space-between;padding:1rem 1.6rem;}
.site-header .logo-container{flex:1}
.site-header-cta{flex:1;text-align: right;display: none;}
.site-header-cta .button{padding:.8rem 1.6rem;font-size:1.4rem}
.btn-menu-mobile{font-size: 3.2rem;margin-left: 1.6rem;}
.btn-close-menu{color:var(--primary-color)}



@media(min-width:600px){
    .site-header-cta{display: inline-block;}
}

@media(min-width:1280px){
    .site-header{top:.8rem;left:3.2rem;width:calc(100% - 6.4rem)}
    .site-header nav{padding: 1rem 2.4rem;border-radius:.8rem;}    
}

@media(min-width:1366px){
    .btn-menu-mobile{display:none;}
}

@media(min-width:1920px){
   .site-header{left:6.4rem;width:calc(100% - 12.8rem)}    
}

/* MENU DESKTOP */
.menu-desktop{display:none;gap:0;align-items: center;}
.menu-desktop .submenu{width:200%}
.menu-desktop > li{position:relative}
.menu-desktop > li.has-submenu.open .submenu{display:flex;flex-direction:column}
.menu-desktop > li > button{outline: none;background: none;user-select: none;border:none;gap:var(--desktop-menu-item-gap);cursor: pointer;}
.menu-desktop > li > button,
.menu-desktop > li > a{display:flex;align-items: center;padding:1.6rem 1.2rem}
.menu-desktop > li > button,
.menu-desktop > li > a,
.menu-desktop .submenu a:not(.submenu-title__link){font-size:1.6rem;text-transform:capitalize;color:#333;letter-spacing: .1rem;padding:.8rem 1rem;display:inline-block;font-weight:600}
.menu-desktop > li > button:hover,
.menu-desktop > li > a:hover,
.menu-desktop .submenu a:hover{color:#0265AE}
.menu-desktop .submenu{animation: translateSubMenuFromTop 0.4s;}
.menu-desktop > li > button.selected{color:#0265AE}
.menu-desktop .submenu{display: none;position: absolute;background: #fff;top: calc(100% + 1.2rem);padding: 1.6rem;border-radius: 0 0 1.6rem 1.6rem;z-index: 1;box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.06);}

.menu-desktop button:focus,
.menu-desktop a:focus{outline:auto;}


.menu-desktop > li.has-submenu.open .submenu.submenu-grid{flex-direction:row;width: 768px;left: auto;right: 0;gap: 2.4rem;padding:3.2rem;}
.submenu-grid > li{flex:1}
.submenu-grid .submenu-title,.submenu-title__link{color:var(--primary-color);display:flex;gap:.8rem;align-items:center;font-size:1.8rem}
.submenu-grid .submenu-title a{color:var(--primary-color);font-family:var(--ff-default)}
.submenu-grid .submenu-title a:hover{color:#004b84}
.menu-desktop .submenu.submenu-grid a:not(.submenu-title__link){padding:.4rem .8rem .4rem 0;display:block;}
.menu-desktop .submenu-group > ul{margin-top:.8rem}

.menu-desktop .menu-item > a{line-height:normal}

#sistemazioni-submenu.submenu-grid{left:0;right:auto;width:992px;}
#servizi-submenu{width:300%;}

@media(min-width:992px){
    .menu-desktop{display: flex;}
    #menu-item-tematiche,
    #menu-item-tuscany-experience,
    #menu-item-lingue,
    #menu-item-home{display:none;}
}

@media(min-width:1366px){
    #menu-item-tematiche,
    #menu-item-tuscany-experience,
    #menu-item-lingue,
    #menu-item-home{display:block;}
}

/* HERO */
.hero{overflow: hidden;position:relative;}
.hero img,.hero video{width:100%;object-fit: cover;display: block;}

/* giorni e orari table */
.orari-table {width: 100%;border-collapse: collapse;font-size: 16px;line-height: 1.4;margin-top:1.6rem;}
.orari-table tr:not(:last-child) td {border-bottom: 1px solid #e5e5e5;}
.orari-table tr:first-of-type{border-top:1px solid #e5e5e5;}
.orari-table td {padding: 8px 0;vertical-align: top;color:#fff}
.orari-table .giorno {width: 110px;font-weight: 600;color: #fff;  font-family:var(--ff-heading);text-transform:uppercase}
.orari-table td:not(.giorno){text-align:right}


/* info items */
.info-item{display: flex; gap: 1.6rem;align-items:center;color:#fff}
.info-icon{font-size:1.8rem;padding:.8rem;background:#14465a;border-radius:.4rem;width:3.4rem;height:3.4rem;display:inline-flex;place-content:center;align-items:center}

.info-item-telefono,
.info-item-whatsapp,
.info-item-email{margin-bottom:1.6rem}

.info-text__label{font-family:var(--ff-heading);}

.info-item__main .info-text{display:flex;flex-direction:column}
.info-item__main .info-text__label{font-weight:300;font-size:1.4rem;margin-bottom:.2rem}
.info-item__main .info-text__number{font-size:2.1rem;font-weight:600;line-height:1}

.info-item__secondary .info-text__label{font-size:1.8rem}

.info-item a{color:#fff}
.info-item a:hover{color:#CFE5F2}

/* site footer  */
#site-footer{background: linear-gradient(165deg, #3fa2c7 0%, #257a95 75%, #1a6785 100%);}
#site-footer .button--accent{margin-top:3.2rem;}


.footer-content__title{color:#fff;margin-top:0;font-size: 2.4rem;margin-bottom: 2.4rem;}
.footer-content{display:flex;gap:2.4rem;flex-direction:column;padding:4.4rem 0;flex-wrap:wrap}
.footer-content > div{width:100%;}
.footer-cotnent__contatti-box .info-item-email .info-text__label{font-size:1.6rem}

#site-footer__map{border-radius:1.6rem;aspect-ratio:900/600}

.footer__nav{display: flex;gap: 2.4rem;}
.footer__nav a{color:#fff}


.footer__nav-col{display: flex;flex-direction: column;gap: .8rem;}



#footer-end{color:#fff;padding:2.4rem 0;text-align:center}
#footer-end p{color:#fff;margin:0;font-size:1.3rem}

#site-footer .info-item-location{display:none}

#footer-end__legal-nav{margin-top:1.6rem}
#footer-end__legal-nav a{color:#fff;text-transform:uppercase;font-size:1.3rem;font-weight:700;}


@media(min-width:992px){
    #site-footer__map{aspect-ratio:3/1.7;}
}


@media(min-width:1280px){
    .footer-content{flex-direction:row;}
    .footer-content > div{flex:1}
    .footer-content .footer-content__map-wrapper{width: calc(33.33% - (2 * 2.4rem) / 3);flex: none;}
    #site-footer__map{aspect-ratio:auto}
}

/* content block */
.content-block__text-title{margin-bottom:2.4rem}
.content-block .content-block__text-paragraph:first-of-type{margin-top:0;} 
.content-block .content-block__text-paragraph:last-of-type{margin-bottom:0}
.content-block__action{margin-top:3.2rem}

@media(min-width:1280px){
    .content-block{display:flex;align-items:end;gap:2.4rem;place-content:space-between}
    .content-block__text,.content-block__action{width:calc(50% - 1.2rem)}
    .content-block__action{margin-top:0;text-align:right}
}

.box-condividi{display:flex;gap:.8rem;flex-wrap:wrap;}
.box-condividi > span{width:100%;}

/* Bottom Menu */
#bottom-menu{background:#f9f9f7;display:flex;position:fixed;bottom:.8rem;left:.8rem;width:calc(100% - 1.6rem);flex-direction:row;justify-content:space-around;gap:.4rem;padding:.4rem;z-index:1;border-radius:.8rem}
#bottom-menu a {cursor:pointer;color:var(--primary-color);display:flex;flex-direction:column;place-content:center;gap:.4rem;text-transform:uppercase;flex:1;font-size: 1.4rem;display: flex;align-items: center;place-content: center;text-align: center;letter-spacing:0;line-height: 1.2;padding: .8rem 0;position: relative;border: 1px solid var(--primary-color);border-radius:.4rem;}
#bottom-menu a:nth-of-type(2){background: var(--primary-color);color: #fff;}
#bottom-menu a:last-of-type{background:var(--accent-color);flex:2;color:#fff;border-color:var(--accent-color)}
#bottom-menu a i{font-size:1.6em}

@media(min-width:600px){
    #bottom-menu{display:none}
}

@media(min-width:768px){
    #bottom-menu{width:768px;left:50%;transform:translateX(-50%)}
}

@media(min-width:769px){    
}

@media(min-width:769px){
    #bottom-menu{padding:.8rem;gap:.8rem}
}

#cc_update{display:none!important}