html{
    width: 100%;
    height: 100%;
}

body {
    font-family: 'Montserrat', sans-serif;
    width: 100%;
    height: 100%;
}


.logo{
    width:125px;
    margin: auto;
    top: 20px;
}


#mid-layer{
    padding:90px 10px 0;
}


.main-content{
    width: 100%;
    left: 0;
    bottom:0;
}


.progress-bar-box{
    width:100%;
    padding:10px 40px;
}
.progress-bar-box .bar{
    border:2px solid var(--white);
    height:12px;
    padding:2px;
    border-radius:20px;
}
.progress-bar-box .progress{
    width: 0%;
    height:4px;
    background-color: var(--white);
    border-radius:20px;
    transition:all 0.5s;
}



.content-box{
    width:100vw;
    background-color: var(--white);
    border-radius:40px 40px 0 0;
    transition:all 0.5s;
    transition-delay:0.5s;
}
.scroller-box{
    display: grid;
    grid-auto-columns: 100vw;
    grid-auto-flow: column;
    transition:all 0.5s;
}


.step{
    width:100vw;
}
.step-content{
    padding:25px 20px 10px 20px;
}
.step-popup{
    padding:25px 20px 10px 20px;
    opacity:0;
    transition:all 0.5s;
}



.step-active{
}

.step .tit{
    font-size: 14px;
    font-weight:600;
    margin-bottom:20px;
}

.step .more-info{
    font-size: 12px;
    margin-bottom:30px;
}

.step .more-info a{
    text-decoration:underline;
    font-weight:600;
    color:var(--verde);
}

.step .button-box{
    grid-template-columns:55px auto;
    margin-top:20px;
}
.step .button-box .dx{
    text-align: right;
}
.step .button-box .btn{
    min-width:55px;
    min-height:55px;
    border-radius:55px;
    display: inline-block;
    font-size:14px;
    font-weight:400;
    color:var(--white);
    cursor:pointer;
}
.step .button-box .btn-prev{
    background-color:var(--grigio);
}

.step .button-box .btn .btn-content{
    height:55px;
    padding:0 10px 0 20px;
    grid-template-columns:auto auto;
    grid-gap:20px;
    align-items: center;
}
.step .button-box .btn .btn-content .icon{
    width:36px;
    height:36px;
    border-radius:50%;
}

.step .button-box .btn-disabled{
    pointer-events: none !important;
    background-color:var(--grigio) !important;
}

.step .button-box .btn-prev{ position:relative; }
.step .button-box .btn-prev .icon{
    height: 25px;
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
}
.step .button-box .btn-next{ position:relative; }
.step .button-box .btn-next .icon{
    height: 25px;
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
}

.step .button-box .btn-center .icon{
    height:auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.step .button-box .btn-center .icon img{ display: block; }


.step .button-box .icon-center{
    position:relative;
}
.step .button-box .icon-center img{
    display: block;
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


#start-form{
    width: 100%;
    grid-template-columns:auto auto;
    grid-gap:10px;
}

.step .inp .label{
    font-size: 10px;
    font-weight:600;
    color: var(--verde);
    margin-bottom:2px;
}
.step .inp .input{
    width:100%;
    display:grid;
    grid-template-columns:22px auto;
    grid-gap:7px;
    align-items:center;
    border:2px solid var(--verde);
    border-radius:20px;
    padding: 7px 10px;
}
.step .inp input[type='date'], input[type='time'] {
    -webkit-appearance: none;
}

.step .inp .input .icon{
    width:22px;
    height:22px;
}
.step .inp .input .icon img{
    height: 100%;
    display: block;
}
.step .inp .input .textbox .i{
    width: 100%;
    border: 0px;
    font-size: 16px;
    background-color: transparent;
    color: var(--verde);
    display: block;
}
.step .inp .input .textbox .i:focus{ border:0; outline:none; }
.step .inp .input .textbox .i:focus-visible{ border:0; outline:none; }







.step .multi-select{
    grid-auto-columns: auto;
    grid-auto-flow: column;
}
.step .multi-select .circle-select{
    cursor: pointer;
}
.step .multi-select .icon{
    width: 60px;
    height: 60px;
    margin: auto;
    border-radius:50%;
}
.step .multi-select .text{
    font-size: 10px;
    font-weight:800;
    text-align:center;
    color:var(--verde);
    margin-top:5px;
}



.step .selected .circle-select{
    cursor: pointer;
}
.step .selected .icon{
    width: 60px;
    height: 60px;
    margin: auto;
    border-radius:50%;
}
.step .selected .text{
    font-size: 10px;
    font-weight:800;
    text-align:center;
    color:var(--verde);
    margin-top:5px;
}



.step .experience{
    width:100%;
    border-radius:50px;
    border: 3px solid var(--verde);
    padding:2px;
    margin-top:10px;
}
.step .experience .content{
    grid-template-columns: auto auto auto auto;
    grid-gap:2px;
}
.step .experience .btn{
    padding:18px 0;
    border-radius:50px;
    background-color:var(--grigio);
    cursor:pointer;
}
.step .experience .btn-active{
    background-color:var(--verde);
}
.step .experience .btn img{
    display: block;
    margin: auto;
}

.step .experience .bar{
    width:0%;
    height:100%;
    border-radius:50px;
    background-color:var(--verde);
}
.step .experience-text{
    font-size: 14px;
    margin-top: 10px;
}



.partecipanti-box .partecipante{
    grid-template-columns:auto 50px;
    align-items:center;
    margin-bottom:10px;
}
.partecipanti-box .partecipante .part{
    border-radius:65px;
    border:2px solid #FFF;
    padding:2px;
    grid-template-columns:50px auto 50px;
    grid-gap:10px;
    align-items:center;
}
.partecipanti-box .partecipante .part .n{
    width:50px;
    height:50px;
    font-size:24px;
    border-radius:50%;
    padding-top:15px;
    text-align:center;
}
.partecipanti-box .partecipante .part .p .tipo{
    font-size: 16px;
    font-weight:600;
}
.partecipanti-box .partecipante .part .p .esperienza{
    font-size: 12px;
    grid-template-columns:18px auto;
    grid-gap:5px;
}
.partecipanti-box .partecipante .part .p .esperienza img{ width:100%; }
.partecipanti-box .partecipante .part .icon img{
    display:block;
}




.switch-select .start{  }
.switch-select .active{ display: none; }

.switch-select .active{
    border-radius:50%;
    background-color: var(--verde);
}

.switch-select .selected .start{ display: none; }
.switch-select .selected .active{ display: block; }




.tipologie-box{
    grid-template-columns: auto auto auto auto;
}
.tipologie-box img{
    margin: auto;
}




.mid-citta{
    top: 0;
    left: 0;
    padding-bottom:200px;
}
.mid-citta .nome{  
    top: 90px;
    font-size: 24px;
}
.mid-citta .gradient{ 
    height:300px;
    background: linear-gradient(to bottom, var(--verde), transparent);
}

#citta-box-list .citta{
    padding-bottom:10px;
    margin-right: 10px;
    margin-top:10px;
}
#citta-box-list .citta .img{
    width:90px;
    height:120px;
    border-radius:10px;
}

#citta-box-list .citta .selected-icon{
    width: 32px;
    top:-8px;
    right:-8px;
    opacity:0;
}
#citta-box-list .citta[class*="selected"] .selected-icon{
    opacity:1;
}
#citta-box-list .citta[class*="no-sel"]{
    opacity:0.4;
}








.durata-btn{
    font-size:14px;
}
#durata-box-list .dur-sel{
    display: grid;
    grid-template-columns: 22px auto;
    grid-gap: 7px;
    align-items:center;
    border: 2px solid var(--verde);
    border-radius: 30px;
    padding: 10px 10px;
    font-size:14px;
    font-weight:600;
    color:var(--verde);
    margin-bottom: 10px;
    cursor: pointer;
}
#durata-box-list .dur-sel .icon .w{
    display: none;
}
#durata-box-list .dur-sel[class*="btn-active"]{
    background-color: var(--verde);
    color: #FFF;
}
#durata-box-list .dur-sel[class*="btn-active"] .icon .v{
    display: none;
}
#durata-box-list .dur-sel[class*="btn-active"] .icon .w{
    display: block;
}







.guida-mid-box{
    grid-template-columns:auto;
}
.guida-mid-box .guida{
    align-items:center;
}
.guida-mid-box .guida img{
    width:100px;
    margin: auto;
    display:block;
}



#hotel-box-list .hotel{
    padding-bottom:10px;
    margin-right: 10px;
    margin-top:10px;
}
#hotel-box-list .hotel .img{
    width:120px;
    height:140px;
    border-radius:10px;
}

#hotel-box-list .hotel .selected-icon{
    width: 32px;
    top:-8px;
    right:-8px;
    opacity:0;
}
#hotel-box-list .hotel[class*="selected"] .selected-icon{
    opacity:1;
}
#hotel-box-list .hotel[class*="no-sel"]{
    opacity:0.4;
}

#hotel-box-list .hotel[class*="hide"]{
    display: none;
}




#hotel-box-detail .hotel .title{
    font-size:14px;
    font-weight:600;
    color:var(--verde);
    margin-bottom:10px;
}
#hotel-box-detail .hotel .immagine{
    width: 100%;
    height:220px;
    border-radius:10px;
}
#hotel-box-detail .hotel .descrizione{
    font-size: 12px;
    margin-top: 10px;
}



.alert-no-tour{
    padding:10px;
    font-size:12px;
    font-weight:600;
    border-radius:10px;
    color:var(--verde);
    border: 2px solid var(--verde);
}

#tour-box-list .tour{
    padding-bottom:10px;
    margin-right: 10px;
    margin-top:10px;
}

#tour-box-list .tour .box{
    width: 160px;
    height: 160px;
    padding: 10px;
    border-radius:10px;
    border: 2px solid var(--verde);
}
#tour-box-list .tour .box .main-icon{
    width:21px;
    margin-bottom:10px;
}
#tour-box-list .tour .box .main-icon .ye-s{ display: none; }
#tour-box-list .tour .box .title{
    font-size: 10px;
    font-weight:700;
    color: var(--verde);
}

#tour-box-list .tour .box .info-data{
    left: 10px;
    bottom:10px;
}

#tour-box-list .tour .box .info-data .lunghezza{
    font-size:12px;
    font-weight:600;
    color:var(--verde);
}
#tour-box-list .tour .box .info-data .lunghezza span{
    font-size:18px;
    font-weight:800;
    display:inline-block;
    margin-right:2px;
}


#tour-box-list .tour .selected-icon{
    width: 28px;
    top: 8px;
    right: 8px;
    opacity:0;
}

#tour-box-list .tour[class*="selected"] .selected-icon{
    opacity:1;
}
#tour-box-list .tour[class*="selected"] .box{
    background-color:var(--verde);
}
#tour-box-list .tour[class*="selected"] .no-s{ display:none; }
#tour-box-list .tour[class*="selected"] .ye-s{ display:block !important; }
#tour-box-list .tour[class*="selected"] .title{ color: #FFF; }
#tour-box-list .tour[class*="selected"] .lunghezza{ color: #FFF !important; }

#tour-box-list .tour[class*="hide"]{
    display: none;
}





#tour-box-detail .tour .box{
    max-height:70vh;
    padding-right:10px;
    padding-bottom:20px;
    overflow-y:scroll;
}

#tour-box-detail .tour .box .info-head{
    grid-template-columns:24px auto;
    align-items:center;
    margin-bottom:20px;
}

#tour-box-detail .tour .box .info-head .lunghezza{
    font-size:12px;
    font-weight:600;
    color:var(--verde);
}
#tour-box-detail .tour .box .info-head .lunghezza span{
    font-size:18px;
    font-weight:800;
    display:inline-block;
    margin-right:2px;
}

#tour-box-detail .tour .box .title{
    font-size: 18px;
    line-height:1.2;
    font-weight:800;
    color:var(--verde);
    margin-bottom: 20px;
}
#tour-box-detail .tour .box .descrizione{
    font-size: 14px;
    margin-bottom:5px;
}

#tour-box-detail .tour .box .main-map{
    width:100%;
    height:250px;
    border-radius:10px;
    border: 2px solid var(--verde);
    margin-top: 20px;
}

#tour-box-detail .tour .box .programma .prog-content .day{
    margin-top: 20px;
}
#tour-box-detail .tour .box .programma .prog-content .day .g{
    width:90%;
    font-size:14px;
    font-weight: 600;
    color: var(--verde);
    padding-bottom:5px;
    margin-bottom:5px;
    border-bottom: 1px solid var(--verde);
}
#tour-box-detail .tour .box .programma .prog-content .day .descr{
    width:90%;
    font-size:12px;
}
#tour-box-detail .tour .box .programma .prog-content .day .descr b{
    font-weight:600;
    color:var(--verde);
}


#tour-box-detail .tour .box .note{
    margin-top:20px;
    padding:10px;
    font-size:10px;
    font-weight:600;
    border-radius:10px;
    color:var(--verde);
    border: 2px solid var(--verde);
}





.riepilogo{
    grid-template-columns:auto auto;
    grid-gap: 10px 25px;
}
.riepilogo .label{
    font-size:10px;
    color:var(--grigio);
}
.riepilogo .info{
    font-size:12px;
    font-weight:700;
    color:var(--verde);
}

.prezzo{
    background-color: var(--verde);
    color:#FFF;
    border-radius:10px;
    grid-template-columns: auto auto;
    grid-gap: 20px;
    align-items:center;
    padding: 10px 20px 10px 10px;
    margin-top:20px;
    margin-bottom:20px;
}
.prezzo .text{
    font-size:18px;
    font-weight:400;
}

.prezzo .disclaimer{
    font-size: 10px;
    font-weight:400;
    margin-top:5px;
}

.prezzo .main{
    font-size:32px;
    font-weight:600;
}
.prezzo .secondary{
    font-size:12px;
    font-weight:400;
}