.browsehappy { background-color:#2b4141; color:#efefef; padding:20px 0; text-align:center; border-bottom:#fff solid;}
.browsehappy strong { font-weight:900; }
.browsehappy a { color:#f0d200; text-decoration:underline;}

#loading {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
}

.center-div {
    position: absolute;
    margin: 300px auto auto auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
}

.bg-none {
    background: none;
}

/*SCROLLBAR */
* {
    scrollbar-width: thin;
    scrollbar-color:#ccc  ;
}

*::-webkit-scrollbar {
    width: 12px;
}

*::-webkit-scrollbar-track {
    background:  #fff;
}

*::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 20px;
    border: 3px solid #fff;
}
*::-webkit-scrollbar {
    width: 12px;
}

*::-webkit-scrollbar-track {
    background:  #fff;
}

*::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 20px;
    border: 3px solid #fff;
}


html {position: relative;min-height: 100%;}
body {
    font-family: 'Montserrat', sans-serif;
    color:#555555;
    font-size:14px;
    margin-bottom: 120px;
    overflow-x: hidden;
    background: #F8FAFC;
}

.d-flex {display: flex}
.d-none {display: none;}
.h-100 {height: 100%}
.w-100 {width: 100%}
.flex-flow {flex-flow: row wrap;}
.min-h-94{ min-height: 94px;}


.container{width:100%; max-width: 1336px;}
a{color:#555;font-weight: 700}a:hover, a:focus{color:#555;text-decoration: none;}

header{border-bottom: 1px solid #EEE;padding: 15px;margin-bottom: 40px;background: #fff}
.menu{margin-bottom:20px;}

.titlePage {margin-top: 40px;}
.titlePage {font-weight:800;color:#6F8C05;font-size:1.3em;display: inline;}
.titlePage a{font-weight:400;color:#555;margin:0 10px 0 0;}



footer{border-top: 1px solid #EEE;padding: 15px;position: absolute;bottom: 0;width: 100%; height: 60px;margin-top: 40px; background:#fff}

.img-thumbnail{border: 0}
.navbar-nav>li>a{padding: 0}.dropdown-menu>li>a {padding: 6px 0px;}
.navbar-nav>li>a:hover,.dropdown-menu>li>a:hover {background: none}
.dropdown-menu {padding: 8px;min-width: auto;width: 40px;border-top-right-radius: 4px;border-top-left-radius: 4px;}
.lang-selection .navbar-nav > li > .dropdown-menu {
    margin-top: 8px;
}
.lang-selection .nav > li > a:hover, .lang-selection .nav > li > a:focus {
    background-color: #fff;
    border-left: 4px solid #fff;
}
.lang-selection .nav .open > a, .lang-selection .nav .open > a:hover, .nav .open > a:focus {
    background-color: #fff;
    border-color: #fff;
}
.navbar-right .dropdown-menu {right: -9px;}
.nav .open>a, .nav .open>a:hover, .nav .open>a:focus{background:none;}
.icon-small{height:22px;margin:0;padding:0;}
.icon-menu {margin-top: 5px; margin-right: 20px}

.contenuti{margin-bottom:40px}

.width-100{width:100%}

/* GRUPPO -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.gruppo {position:relative; -webkit-box-shadow: 0px 0px 5px #e0e0e0;-moz-box-shadow: 0px 0px 5px #e0e0e0;box-shadow: 0px 0px 5px #e0e0e0;-moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition: all .3s ease;padding:30px; background: #ffffff;}
.gruppo:hover{-webkit-box-shadow: 0px 0px 10px #c0c0c0;-moz-box-shadow: 0px 0px 10px #c0c0c0;box-shadow: 0px 0px 10px #c0c0c0;text-decoration:none;}
.gruppo h2{
    font-weight:700;
    font-size: 1.3em;
    text-align:center;
    height: 25px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 5px;
}
.gruppo .containerIMG{padding: 0;text-align: center;margin-bottom: 20px;}
.gruppo .containerIMG img{display: inline}


/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

/* SERVIZIO -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/

.box-shadow {
    -webkit-box-shadow: 0px 4px 20px rgba(0,0,0,.05);
    -moz-box-shadow: 0px 4px 20px rgba(0,0,0,.05);
    box-shadow: 0px 4px 20px rgba(0,0,0,.05);
}
.bg-white {background: #fff;}


.servizio {margin-bottom:25px;position:relative; -webkit-box-shadow: 0px 4px 20px rgba(0,0,0,.05);-moz-box-shadow: 0px 4px 20px rgba(0,0,0,.05);box-shadow: 0px 4px 20px rgba(0,0,0,.05);-moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition: all .3s ease;padding:25px;height: 100%; background: #fff;}
.servizio:hover{-webkit-box-shadow: 0px 4px 20px rgba(0,0,0,.05);-moz-box-shadow: 0px 4px 20px rgba(0,0,0,.05);box-shadow: 0px 4px 20px rgba(0,0,0,.05);text-decoration:none;}
.servizio h2{font-weight:900;font-size: 1.4em;}

.servizio .containerIMG{padding: 0;text-align: center;margin-bottom: 20px;}
.servizio .containerIMG img{display: inline}
.containerSERVIZIO{padding:0px;line-height:25px}
.conteinerINFO p{font-weight:500;margin: 0;line-height:1.5em;}
.descrizione-listServizi {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 25px;
}
.descrizione-listServizi p:not(:first-child){
    display: none;
}
.descrizione-listGruppi {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 40px;
}
.leggitutto {
    float: right;
    text-decoration: underline;
}
.rowServizio {
    display:flex;
    flex-flow: row wrap;
    margin-bottom: 30px;
}

.alert>p {
    margin-bottom: 2rem;
}

.grid-item {
    position: relative;
    display: flex;
    flex-direction: column;
    left: auto;
    top: auto;

}
.allegati {
    float: left;
    width: 100%;
    margin-top: 17px;
}


.servizio-singolo h2 {
    font-weight: 900;
    font-size: 1.7em;
}
.servizio-singolo input {
    margin-top: 5px;
}

.servizio-singolo .collapse {
    display: block;
}


/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/


/* EVENTO -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.evento {border:3px solid #6F8C05;position: relative;}

.col-xs-12 .containerEVENTO{position: absolute;top:0px;right:30px;width:100px;background:#6F8C05;text-align:center;font-weight:500;color:#FFF;padding:5px;font-size: 0.8em;z-index: 2}
.col-xs-12 .containerEVENTO p span{display: none;}.col-xs-12 .containerEVENTO p{line-height: 40px}
.col-md-4 .containerEVENTO{position: absolute;top:37px;right:0px;width:100%;background:#6F8C05;text-align:left;font-weight:500;color:#FFF;padding:10px;font-size: 1em;z-index: 1}
.containerEVENTO p{font-weight: 700;font-size:1.4em;margin: 10px 0 0 0}


/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.row .row {
    margin: 0 -15px;
}


/* PRENOTAZIONE -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.containerTXTPre h2{margin:0}

.containerTXT ul  {
    margin-top:5px;
    margin-bottom:10px;
}


.containerTXT > ul > li {
    position: relative;
    padding-bottom: 0;
    left: -25px;
    float: left;
    top:0px;
    display:list-item;
    min-width:100%;
}


.calendario{text-align: center;margin:20px 0}
.calendario p{margin:0 0 30px 0;line-height: 44px;}
.calendario .mese, div.mbsc-cal-month{font-size: 1.7em;font-weight: 500}
.calendario > div {
    background: #FFF !important;
}
.mbsc-fr-w {
    background: #FFF !important;
}
.owl-data{text-align: center}.owl-data .border-top{padding:10px 0 0 0;margin: 1px 0 0 0;}
.giorno{font-weight: 500;font-size:1.3em;padding: 0 5px;}
.mbsc-cal-days {font-size: 1.8em;}
.mbsc-cal-day-date.mbsc-cal-cell-txt {
    font-size: 1em;
}
.numero{font-weight:600;font-size:1.6em;border:0;-webkit-border-radius: 50px;-moz-border-radius: 50px;border-radius: 50px;padding: 2px 0px;width: 35px;height: 35px;
    text-align: center;display: inline-block;}

.owl-data a:hover .numero{background:#6F8C05;color:#FFF;}
.owl-data a:hover .giorno{border-bottom:3px solid #6F8C05;}
.owl-theme .owl-nav {top:23%;}
.owl-theme .owl-nav [class*=owl-]{background:#FFF;border: 0;color: #555;margin: 0;font-size: 3.5em;padding: 0;}

.owl-theme .owl-nav [class*=owl-] span{padding: 0;margin: 0;line-height: 11px;display: block;height: 20px;width: 19px;}
.owl-theme .owl-dots{display: none;}



.filtro p{font-size: 1.3em;font-weight: 500}
.filtro label{font-weight: 600;font-size: 1em;float: left;}
.filtro select,input{
    padding: 10px;
    float: left;
    clear: both;
    font-size: 0.9em;
    margin: 5px 0 20px 0;
    background: #fdfdfd;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    height: 40px;
    max-width: 100%;

}
.input-data-filtro{border:0;padding:10px;float: left;clear: both;font-size:0.9em;margin: 5px 0 20px 0;background: #fdfdfd; height: 35px}
.btn-filtro {margin-top:28px;}


.fasciaOraria{
    padding:20px;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 630px;
}
.conferma {
    width: 100%;
    margin-top: auto;
}

.ascelta {
    font-weight:500;
}

.checkSceltaOrario {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    float: right;
    margin: 0 15px 0 0;
    height: 32px;

}

/* Hide the browser's default radio button */
.checkSceltaOrario input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    top: 0;
    left: 0;  	 width: 32px;
    height: 32px;
}

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;

    -webkit-border-radius: 32px;
    -moz-border-radius: 32px;
    -ms-border-radius: 32px;
    border-radius: 32px;
    background-color: #FFF;
    font-size: 0;
    padding: 0;
    border: 2px solid #dde4e4;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* On mouse-over, add a grey background color */
.checkSceltaOrario:hover input ~ .checkmark {

    background: #6F8C05;
}


/* When the radio button is checked, add a blue background */
.checkSceltaOrario input:checked ~ .checkmark {
    background-color: #FFF;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.checkSceltaOrario input:checked ~ .checkmark:after {
    display: block;
}

/* Style the indicator (dot/circle) */
.checkSceltaOrario .checkmark:after {
    top: 0px;
    left: 0px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #6F8C05;
}

.checkmark:after {
    content: '';
    position: relative;
    background-color: #6F8C05;
    display: none;
    width: 22px;
    height: 22px;
    -webkit-border-radius: 22px;
    -moz-border-radius: 22px;
    -ms-border-radius: 22px;
    border-radius: 22px;
}


.checkmark:before {
    position: absolute;
    -webkit-transform: translate(-50%,-300%);
    -moz-transform: translate(-50%,-300%);
    -ms-transform: translate(-50%,-300%);
    -o-transform: translate(-50%,-300%);
    transform: translate(-50%,-300%);
    top: 50%;
    left: 50%;
    font-size: 26px;
}


.sceltaOrario {
    border: 1px solid #eee;
    margin-bottom: 10px;
    border-radius: 4px;
}

.sceltaOrario:hover {color:#6F8C05;outline: 2px solid #6F8C05;}
.sceltaOrario-selected {color:#6F8C05;outline: 2px solid #6F8C05;}



.sceltaOrario:hover .infoOrario div:last-child {
    border-right: none;
    border-bottom: none;
}



.infoOrario{
    display: flex;
    align-items: center;
}

.infoOrario p{
    margin:0;
}

.infoOrario small{
    font-size: 0.9em;
    font-weight: 400;
}


.infoOrario,.flagOrario{
    padding: 10px 0 10px;
    min-height: 53px;
    font-size: 1.1em;}

.flagOrario{padding:22px 0;}

.infoOrario span{color:#999;}
.btnPrenota{margin-bottom:40px;text-align:center;}

.parte-giornata {
    opacity: 0.6;
    font-weight: 500;
    margin: 20px 0 12px;
}

/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
/* RIEPILOGO -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/

.panel-group .panel,.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 0px solid transparent;
    border-radius: 0;
}


.panel-default>.panel-heading {
    color: #555;
    background-color: transparent;
    border-color:  transparent;
    padding: 0 15px;
    border-bottom: 0px solid transparent;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.panel-group .panel-heading+.panel-collapse>.panel-body, .panel-group .panel-heading+.panel-collapse>.list-group {
    border-top: 0 solid #ddd;
    border-bottom:1px solid #eee;
}
.panel-default .sceltaOrario{margin-bottom: 0;border-left:5px solid #6F8C05;}


.panel-title, .panel-btn {font-weight:700;text-transform: uppercase;
}

.panel-title > a {
    color:#fff;
}

.collapse-prenota .panel-collapse.collapse {
    display: block;
}


.panel-body .infoPrimaria{padding: 0 10px 10px 10px;font-size: 1.2em;}
.panel-body .infoPrimaria strong{color:#555}

.infoAllegato{padding: 15px 10px 10px 24px;
}

.panel-prenotazione {
    padding:5px 15px;
}

.panel-body .infoSecondaria{padding:5px 10px 0 10px;font-size: 1em;margin: 0;}
#accordionForm .panel-heading{margin-bottom:30px}
#accordionForm .panel-title{font-size: 1em;text-align:center}
.eliminaPrenotazione,.openAccordion{text-align:center;
    width: 30px;float:right;
    height: 30px;color:#555;
    border: 4px solid #eee;margin:0 0 0 5px;
    border-radius: 50px;font-size: 0.7em;line-height:23px;-moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition: all .3s ease}



.eliminaPrenotazione:hover{color:#FF0000}




.hvr-icon-hang:before {right: 4px;top: 0px;padding: 0;}
.hvr-icon-hang {padding-right: 0;}

.containerForm{padding:40px 20px; margin-bottom:30px;}
.sloganForm{font-size:1.3em;margin-bottom: 30px;padding: 0px 30px;}

.containerForm .sloganForm {
    padding: 0px 15px; font-weight:700;
}
.appuntamento {margin-bottom:20px;padding:20px;}




.nPrenotazione{font-weight:700;color:#333;font-size:1.3em}
.nPrenotazione-storico {font-weight:700;;font-size:1.1em}
.print{color:#6F8C05;margin:0 0 0 20px;border-left:2px solid #333;padding: 0 0 0 20px;}
.print-sm {color:#6F8C05;margin-right:20px;}

.appuntamento .panel-group .panel, .panel {background:transparent;}
.appuntamento .panel-title {padding-top:0;}


.form-prenota label {font-weight:normal}
.form-prenota .dati {height:70px}
.form-prenota .fa-info-circle {margin-left:5px;}

.form-prenota .checkbox {
    margin-top: 5px;
    margin-bottom: 5px;
}

.form-prenota .tooltip-inner  {max-width:400px;width:auto}

/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.bgGrey{background: #eee}
.btn{white-space: normal;}
.btn-default{border: 3px solid #eee;font-size:0.8em;padding:3px; text-transform:uppercase}
.btn-success{background-color: #6F8C05;border-color: #6F8C05;font-weight: 700;font-size: 1.1em;-moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition: all .3s ease;color:#FFF;}
.btn-success:hover {background-color:#9CA509;border-color:#9CA509}
.btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus, .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success, .btn-success:focus, .btn-success.focus {
    background-color:#9CA509;border-color:#9CA509
}
.btn-primary{background-color: #fff;border-color: #6F8C05;font-weight: 700;font-size: 1.2em;-moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition: all .3s ease;color:#6F8C05;}
.btn-primary:hover {
    color: #fff;
    background-color: #6F8C05;
    border-color: #6F8C05;
}
.btn-sm {font-size:12px;padding: 5px 10px;}
.slot {width:100%; margin-bottom:8px}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    opacity: 0.40;
    color: gray;
    border-color: gray;
}

.btnNoleggio.disabled, .btnNoleggio[disabled], fieldset[disabled] .btnNoleggio {
    opacity: 0.40;
    color: #fff;
    border-color:#9CA509;
}
.btn-griglia{
    width: 100%;
    border: 1px solid #D1D5DB;
    padding: 8px;
    box-sizing: border-box;
    position: relative;
}
.btn-griglia:hover,
.btn-griglia:focus,
.btn-griglia:active,
.btn-griglia.active,
.btn-griglia-selected {
    border-color: #D1D5DB;
    outline: 2px solid #6F8C05;
    outline-offset: -2px;
    background: rgba(111, 140, 5, 0.1);
    font-weight: 600;
    color: #6F8C05;
    box-shadow: none;
}
.btn-griglia-selected:after {
    content: "";
    position: absolute;
    top: 0;
    right: 1px;
    width: 6px;
    height: 8px;
    background: #6F8C05;
    border-radius: 0 2px 0 2px;
}

.btn-block {width:100%;
    padding: 10px 12px;}

.border{border:1px solid #EEE;}
.border-top{border-top:1px solid #EEE;padding: 20px 0 0 0;margin: 20px 0 0 0; }
.border-left{border-left:1px solid #EEE;padding: 0 20px 0 0;margin: 0 20px 0 0;}
.border-bottom{border-bottom:1px solid #EEE;padding: 0 0 20px 0;margin: 0 0 20px 0;}
.border-right{border-right:1px solid #EEE;padding: 0 0 0 20px;margin: 0 0 0 20px;}

.border-right-grey{border-right:1px solid #EEE;}
.border-start-0 {border}

/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
/*ALERT-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.alert-head {
    font-family: 'Montserrat';
    font-weight: bold;
    font-size: 5em;
    line-height: 1em;
    margin-bottom: 30px;
}

.alert-content {
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 2em;
}

.alert-content__text {
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 1.2em;
    padding-bottom: 10px;
}



/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
/*OVERLAY-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    overflow-x: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay-content h1{
    font-weight: bold;
}
.overlay-content p{
    font-size: 20px;
}
.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}



/*-*-*-*-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
/*DATEPICKER-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/
.datepicker {
    display:table;
    bottom:auto;
}


.datepicker.dropdown-menu {padding: 8px;min-width: auto;width: 210px;border-top-right-radius: 4px !important;border-top-left-radius: 4px !important;}





.filtro .panel-group .panel, .panel {background-color:transparent; margin-bottom: 0;margin-top: 8px;}
.filtro .panel-group { margin-bottom: 20px;}
.filtro .hvr-icon-hang {margin-top:-5px;}





/*FORM REGISTRAZIONE-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/



.form-horizontal .control-label, .form-prenota label {
    color: #818A91;
    font-weight: normal;
}

.form-horizontal .form-group {
    margin-left: 0;
    margin-right: 0;
}

.form-horizontal .control-label {
    text-align: left;
    line-height: 30px;
}

.form-horizontal .checkbox .control-label {
    line-height: 22px;
}

.form-control {
    height: 40px;
}

input[type="radio"], input[type="checkbox"] {
    margin: 4px 7px 0 0px;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color: inherit;
    background-color: #fff;
    border-left: 4px solid #6F8C05;
    border-radius: 0;
    margin-left: -4px;
}

.valid {
    color: #5EAA5E;
}


.invalid {
    color: #B3B3B4;
}




.textarea_nota {
    width: 100%;
    margin-top: 10px;
    border: 1px solid #EEE;
}




.navbar-accedi-cerca {
    font-size: 1.2em;
}

.navbar-accedi-cerca .fa, .fa-search {
    color: #858585;
    font-size: 16px;
    line-height: 0px;
}


.navbar-accedi-cerca span {
    display: inline-block;
}

.navbar-accedi-cerca a {
    font-weight: 500;
}
.navbar-accedi-cerca a:hover {
    border-left: none;
}

.menu-accedi {
    border:none;
    right:0;
    padding:35px;
    border-radius:0;
    bottom: auto;
    left: auto;
    top:30px;
    transform: translateY(10px);
    -moz-transition: all .3s ease;-webkit-transition: all .3s ease;-o-transition:  all .3s ease;

}
.menu-accedi .alert-danger {
    margin:0px 9px;
}

.menu-accedi hr {
    margin: 40px 3px;
}

.menu-logged {
    min-width: 160px;
    padding:0;
}

.menu-logged a {
    font-weight:500;
    display: block;
    padding: 15px 20px;
    text-align:center
}

.menu-logged a:hover {
    background:#f7f7f7;
}

.menu-not-logged {
    padding:35px;
}


.btn-secondary {
    border: 1px solid #6F8C05;
    background:#fff;
    color:#6F8C05;
    font-weight: 700;
    font-size: 1.2em;
}

.btn-secondary:hover {
    border: 1px solid #9CA509;
    color:#9CA509;

}



.btn-accedi {
    border:none;
    background:#F8FAFC;
    margin-top:1px;
    font-weight: 500;

}
.btn-accedi .fa-user-circle {
    color:#ccc;
    font-size: 1.7em;
}

.oppure {
    position: absolute;
    margin: -70px 33%;
    background: #fff;
    padding: 20px;
}

.btn-prenota-elimina .btn, #tastoinoltra {
    text-transform:uppercase;
}

.avvertenza {
    margin-top: 15px;}

.avvertenza .fa-exclamation-circle {
    font-size: 20px;
    margin: 0px 45px 3px -4px;
    position: absolute;
}

.avvertenza strong {
    margin-left: 22px;

}
.avvertenza-titolo{
    font-size: 36px;
    font-weight: bold;
}

.disp-grid .btn-secondary {
    margin-bottom:8px;
    width:100%;
}

.disp-grid > [class*="col-"]  {
    padding-left: 0px;
    padding-right: 8px;
    margin-bottom: 8px;
}


.disp-col .btn-secondary {
    margin-bottom:8px;
    width:100%;
}

.disp-col > [class*="col-"]  {
    padding-left: 0px;
    padding-right: 8px;
}


.btn-secondary {
    border: 1px solid #6F8C05;
    background:#fff;
    color:#6F8C05;
    font-weight: 700;
    font-size: 17px;
}

.btn-secondary:hover {
    border: 1px solid #9CA509;
    color:#9CA509;

}

.btn-next {
    width: 100%;
    font-size: 1em;
    padding: 6px 12px;
}


.area-utente .panel-body{
    padding:0;

}

.nav > li > a:hover, .nav > li > a:focus {
    text-decoration: none;
    background-color: #fff;
    border-left: 4px solid rgba(180,191,4,0.4);
    border-radius: 0;
    margin-left: -4px;
}

.fa-eye {
    cursor: pointer;
    position: absolute;
    right: 30px;
    top: 14px;
}


/*-*CALENDARIO NOLEGGIO-*-*-*-*-*/
.datepicker td, .datepicker th {
    border-radius:0 !important;
    font-weight: 600;
}
.datepicker .disabled {font-weight:400}
.old, .new {visibility:hidden;}

.today {
    background-image: none !important;
    background-color: rgba(156,165,9,0.3) !important;
    color:#999 !important;
}

.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td {
    padding: 8px !important;
}

.range-start, .range-end{
    background-image: linear-gradient(to bottom, #aaa, #aaa) !important;
}
.input-daterange input {
    font-weight: 600;
}

.collapse.dont-collapse-sm {
    display: block;
    height: auto !important;
    visibility: visible !important;
}

.esito-pagamento {
    margin-bottom:50px
}

.esito-pagamento .alert-head {
    font-size: 4em;
}

.text-uppercase {
    text-transform:uppercase;
}



.numero.selected {
    background: #6F8C05;
    color: #FFF;
}


/*ELIMINAZIONE PRENOTAZIONE-*-*-*-*- */
.elimina-prenotazione  .panel-body .infoSecondaria, .elimina-prenotazione  .panel-body .infoPrimaria{
    padding: 10px 10px 10px 0px;
}

.elimina-prenotazione  .panel-body .infoSecondaria{
    border-bottom: 1px solid #eee;
}

.lang-selection {
    float: right;
    margin-top: -100px;
    margin-right:15px;
}


/*DROPDOWN RISORSE GEOREFERENZIATE-*-*-*-*- */
.dettagli-geo {
    line-height:23px;
    height: 70px;
    overflow: hidden;
}

.sceltaOrarionoHover {
    border-left: 5px solid #6F8C05;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}
.sceltaOrarionoHover .bordoSceltaOrario {
    min-height: 190px;
}
.sceltaOrarionoHover a {
    color: #6F8C05;
}

.title-map {
    font-weight: 600;
}
.map-canvas {
    height: 450px;
}

.sceltaOrarionoHover .btn-secondary{
    margin: 10px 0;
}

.sceltaOrarionoHover:hover {
    color: #555555;
}
#indirizzoCompletoModal {
    margin-top: 10px;
    margin-bottom: 3px;

}


.preferenza-dispo {
    border: 2px solid #9CA509;
    border-radius: 4px;
    padding: 4rem 2rem 0;
}

.preferenza-dispo p {
    font-size: 17px;
    margin-bottom: 20px;
}


.label-servizio {
    background-color: rgba(111,140,5,0.1);
    color: #6F8C05;
    font-size: 0.9em;
    padding: 6px 12px;
    display: inline-block;
    border-radius: 4px;
    margin-right: 10px;
}

.dl-menuwrapper button {
    background: transparent;
}

.dl-menuwrapper button::after {
    content: '';
    position: absolute;
    width: 68%;
    height: 2px;
    background: #333;
    top: 8px;
    left: 18%;
    box-shadow: 0 5px 0 #333, 0 10px 0 #333;
}
.dl-menuwrapper button:hover, .dl-menuwrapper button.dl-active, .dl-menuwrapper ul {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0px 4px 20px rgba(0,0,0,.05);
}

.dl-menuwrapper li a {
    font-weight: 400;
    color: #333;
}

.navbar-accedi-cerca {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
}

.search-prenotazione {
    margin-top: 5px;
    margin-right: 20px;
}






/*-*MEDIA QUERY-*-*-*-*-*-*--*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -*-*-*-*-*-*-*-*-*/

@media (max-width: 991px){

    .menu-accedi {
        max-width: 500px;
        min-width: 500px;
    }
    .panel {
        border: none;
        box-shadow: none;
    }
    .panel-collapse {
        height: auto;
    }


    #updateForm .col-sm-8 {
        padding-left:20px;
    }
    #formDati .col-sm-8 {
        padding-left:20px;
    }
    #formDatiPrenotazionePT .col-sm-8 {
        padding-left:20px;
    }
    .col-md-4.border-right-grey.bg-light-grey.h-100 {
        height: 490px;
        border-right: 0;
        border-bottom: 2px solid #F3F4F6;
    }

    .calendar-box {
        padding: 0;
    }
    .fasciaOraria {
        height: auto;
    }
}

@media screen and (max-width: 992px) {

    .esito-pagamento .alert-head {
        font-size: 2em;
    }
    .navbar-accedi-cerca {
        margin-top: 0;
        margin-right: 0;
    }
    .navbar-accedi-cerca li {
        display: inline-block;
        margin-top: 0;
    }
    .lang-selection {
        margin-right:7px;
    }
    .fasciaOraria .d-none {
        display: block;
    }
}


@media (max-width: 767px) {
    .lang-selection {
        margin-top: -60px;
    }

    .tab-content .tab-pane {
        display: block;
    }

    .panel-title a {
        display: block;
    }
    .panel {
        margin: 0;
        box-shadow: none;
        border-radius: 0;
        margin-top: -2px;
    }
    .tab-pane:first-child .panel {
        border-radius: 5px 5px 0 0;
    }
    .tab-pane:last-child .panel {
        border-radius: 0 0 5px 5px;
    }
    .filtro .panel-title {font-size:1.1em}
    .btnNoleggio {
        margin-top:10px;
        width:100%;}

    .btn-mobile {
        margin-top:10px;
        width:100%;}

    .area-utente .panel-title a {
        display: block;
        padding: 15px;
    }
    .area-utente .panel-title a:hover, .area-utente .panel-title a:focus {
        color:#fff;
    }

    .area-utente .panel-heading {
        color:#fff;
        background:#aaa;
    }

    .navbar-accedi-cerca {
        margin-right: 0;
        position: absolute;
        right: 15px;
        top: -30px;
    }



    .panel-appuntamenti .panel-title a:hover, .panel-appuntamenti .panel-title a:focus {
        color:#555555;
    }

    .panel-appuntamenti .panel-heading {
        color:#555555;
        background:#eee;
    }


    .panel-appuntamenti .panel-title a {border:none;}
    .appuntamento .panel-heading {padding:10px 7px;  background:#eee; color:#555;}
    .appuntamento .panel-heading a, .appuntamento .panel-heading a:hover, .appuntamento .panel-heading a:focus { color:#555;}

    .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span {
        color: #aaa;
    }

    .area-utente .panel-group .panel, .panel {
        margin-bottom: 0;
    }

    .area-utente .panel-body {
        padding: 8px;
    }

    .area-utente .panel-group .panel-heading + .area-utente .panel-collapse > .area-utente .panel-body {
        border-bottom: none;
    }

    .appuntamento {padding:0px;}


    .text-none {
        display: none;
    }

}


@media screen and (max-width: 500px){

    .lang-selection {
        margin-top: -50px;
    }
}
.menu-accedi {
    max-width: 500px;
    min-width: 500px;
}
.disp-col > .col-xs-6 {
    width: 100%;
    float: none;
}
.calendar-box {
    padding: 0;
}
}


@media screen  and (max-width:1184px){
    .flagOrario{padding:36px 0;}
}
@media screen and (max-width: 992px){
    .flagOrario{padding:0;}


}

@media screen and (max-width: 769px){

    .rowServizio {
        margin-bottom: 0px;
    }

    .rowServizio .servizio{
        margin-bottom: 30px;
    }

    .containerSERVIZIO > div > div > div.col-md-2{padding: 0;}
    .col-xs-12 .containerEVENTO{position: absolute;top:30px;right:0px;width:100%;background:#6F8C05;text-align:left;font-weight:500;color:#FFF;padding:10px;font-size: 1em;z-index: 2;}
    .col-xs-12 .containerEVENTO p span{display: inline;}
    .titlePage {text-align:left;margin-top: 40px;}
    .titlePage a{display: block}
    .alert-head {font-size: 2em;}
    .alert-content {font-size: 1.2em;}
    .alert-content__text {font-size: 1em;}
    .nPrenotazione{font-size:1.0em}


    .btn-prenota-elimina {
        margin-top:20px;
    }

    #tastoinoltra {
        width: 100%;

    }
    .containerForm {
        padding: 30px 0px;
    }

    .titlePage h1 {
        display:block;
    }



    .dropdown {
        margin-top: -40px;
        z-index: 5;
    }
    .menu-accedi {
        width: 100%;
    }


    .area-utente .containerForm {
        margin-top:5px;
    }

    .lang-selection .navbar-nav > li > a {
        padding: 0px 13px;
    }
    .lang-selection .navbar-nav .open .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 7px;
        background-color: #fff;
        border:1px solid rgba(0,0,0,0.15);
        -webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.175);
        box-shadow: 0 6px 12px rgba(0,0,0,0.175);
    }

    .lang-selection .navbar-nav .open .dropdown-menu > li > a, .lang-selection .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 5px 5px 5px;
    }

    .visible-xs .icon-menu {
        padding-bottom: 6px;
    }

    .search-prenotazione .text-none, .search-mobile-row{
        display: none;
    }
    .search-prenotazione {
        margin: 0;
    }

    .navbar-accedi-cerca {
        position: static;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 14px;
        height: 38px;
        margin-top: 0;
        padding-top: 0;
    }

    .navbar-accedi-cerca .dropdown {
        margin-top: 0;
    }


}

@media screen and (max-width: 384px){
    .alert-head {font-size: 2em;}
    .alert-content {font-size: 1.2em;}
    .alert-content__text {font-size: 1em;}
    .nPrenotazione{font-size:1.0em}

    .oppure {
        margin: -70px 22%;

    }
    .lang-selection {
        margin-top: -40px;
    }
}








@media screen and (min-width: 769px){
    .servizio .containerIMG{margin-bottom: 0;}
    .filtro > div:nth-child(3){border-left: 2px solid #FFF;}
    .flagOrario{padding:22px 0;}

    .panel-body .infoSecondaria div:last-child,.panel-body .infoPrimaria div:last-child {border-right:0;}
}


@media screen and (min-width: 992px){
    .containerSERVIZIO > div > div > div.col-md-3{text-align: right}
    .containerSERVIZIO > div > div > div.col-md-3{padding:6px 0}
    .containerSERVIZIO{padding-left:30px;}
    .col-xs-12 .evento .containerTXT p,.servizio h2{padding-right:120px}
    .col-md-4 .evento .containerTXT p,.servizio h2{padding-right:0}
    .infoOrario div:last-child{border-right:0;}
    .flagOrario{padding: 0;}
}

@media screen and (min-width: 1200px){
    .conteinerINFO p {font-size: 1em;}
}

.item.disabled{
    opacity: .2;
    cursor: not-allowed;
}
.numero.selected {

    background: #6F8C05;
    color: #FFF;

}
.giorno.selected {

    border-bottom: 3px solid #6F8C05;

}
.item.disabled a {
    cursor: not-allowed;
}
.giorno-prenotazione{
    font-size: 1.4em;
    font-weight: 700;
    text-transform: uppercase;
    margin: 20px 0 0 0;

}
.container-giorno{
    padding: 0 5px;
}

.owl-theme .owl-nav [class*="owl-"] {
    background: #FFF;
    border: 0;
    color: #555;
    margin: 0;
    font-size: 3.5em;
    padding: 0;
}
.owl-theme .owl-nav {
    top: 23%;
}
.container-img-gruppo{

    text-align: center;
    vertical-align: middle;
    display: table-cell;
}



@media screen and (min-width: 769px){
    .container-img-gruppo{
        height: 374px;
    }

}

/*pagina geolocalizzata */

.d-none {
    display: none;
}
.geo-icon{
    background: transparent;
    border: none;
    background: transparent;
    border: none;
    position: absolute;
    margin-left: -155px;
    margin-top: -13px;
    z-index: 8;
}
.tooltips {
    display: inline-block;
}

.barra_indirizzo {
    width: 100%;
    float: left;
    height: 34px;
    margin-top: 0px;
    margin-bottom: 15px;
}
.barra_indirizzo img {
    height: 24px;
    margin-left: 50px;
}

.barra_indirizzo .form-control {
    border-radius: 6px;
    box-shadow: none;
}

.btn-ricerca {
    height: 40px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    font-weight: 600;
}

.mappa {
    height: calc(100vh - 10px);
    min-height: 300px;
    margin-bottom: 30px;
}
.elenco_dove {
    margin-top:50px;
}
.elenco_farmacie {
    margin-top:20px;
}

.linea_elenco_farmacie {
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}
.linea_elenco_farmacie h2{
    font-size:17px;
    padding:8px;
    margin-top: 0;
}

.elenco-scroll{
    height: calc(100vh - 10px);
    min-height: 300px;
    overflow-y: auto;
}
.titolo_sezione{
    font-size: 1.3em;
    font-weight: 700;
}

.cursor-pointer {
    cursor: pointer;
}


.mb-1 {
    margin-bottom: 1rem;
}

.mb-2 {
    margin-bottom: 2rem;
}

.mb-4 {
    margin-bottom: 4rem;
}

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mt-3 {
    margin-top: 3rem;
}

.mt-4 {
    margin-top: 4rem;
}

.mt-100 {
    margin-top: 6.25rem;
}


#formRichiediDispo input[type="date"],
#formRichiediDispo select {
    width: 100%;
}

.m-0{
    margin: 0;
}

.p-0 {
    padding: 0;
}
.pb-0 {
    padding-bottom: 0;
}

.pb-1 {
    padding-bottom: 1rem;
}
.pb-2 {
    padding-bottom: 2rem;
}

.pb-3 {
    padding-bottom: 3rem;
}

.pb-25{
    padding-bottom: 25px;
}
.pt-0 {
    padding-top: 0;
}

.pt-label {
    padding-top: 14px;
}
.ps-0 {
    padding-left: 0;
}
.pe-0 {
    padding-right: 0;
}

.pe-1 {
    padding-right: 5px;
}

.pe-2 {
    padding-right: 10px;
}

.my-1 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.border-right-grey {
    border-right: 2px solid #F3F4F6;
}
.bg-light-grey {
    background: #fafdff;
}

.no-border {border: 0;}


.calendar-box {
    padding: 20px 10px 0;
}

.datepicker {
    border: 0;
    box-shadow: none;
    width: 100%;
}

.datepicker-inline {
    width: 100% !important;
}

.datepicker table {
    width: 100%;
}

.datepicker .datepicker-switch {
    opacity: 1;
}


.datepicker table tr td,
.datepicker table tr th {
    position: relative;
    width: 50px !important;
    height: 50px !important;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    border-radius: 0;
}


.datepicker table tr td {
    z-index: 1;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:focus {
    background-image: none !important;
    background: transparent !important;
    color: #fff;
    font-weight: bold;
}


.datepicker table tr td.active:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 50px;
    max-width: 100%;
    max-height: 100%;
    border-radius: 50%;
    background: #6F8C05;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.datepicker table tr td.has-dot {
    color: #000;
    opacity: 1;
}
.datepicker table tr td.has-dot:after {
    content: '';
    width: 5px;
    height: 5px;
    background: #6BD644;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    bottom: 4px;
    margin-left: -2.5px;
}

.datepicker .datepicker-switch {
    font-size: 16px;
    font-weight: 600;
    color: #202633;
}

.border-bottom-0 {
    border-bottom: none !important;
}

#requestModal .modal-header {
    border-bottom: none;
}

#requestModal .modal-footer {
    border-top: none;
}

.alert-warning a {
    color: #8a6d3b;
}
