/*
.captcha-check,
.checkbox-check .form-control {display:flex; justify-content: space-between; align-items: center;}
.checkbox-check .form-control {align-items: flex-start;}
*/
:root{
   --main-white:#FFF;
}

form.validate-booking {position: relative; min-height:300px;}
.captcha-check,
.checkbox-check {display:flex; justify-content: flex-start; align-items: flex-start;}
.checkbox-check input[type="checkbox"]{margin-right: 10px; margin-top:5px;}

.captcha-check .cap-field {width:fit-content;}
.captcha-check .cap-image {margin-right:15px; width:180px;}

.checkbox-check input {width: 25px!important; height: 25px!important; margin-right: 15px;}
.validate-booking button.outline {font-size:14px; font-weight: 600; line-height: 44px;}
.button-border.outline.white {border: solid 3px #FFF;color: #FFF;background-color: transparent;}

.booking-calendar {min-height: 400px;}
.booking-calendar thead {background-color:var(--gold); color:var(--main-white); text-transform: uppercase; font-size:12px;}
.booking-calendar thead a {color:var(--main-white);}
.booking-calendar table {margin-bottom: 0px!important}
.booking-calendar .fc .fc-timegrid-axis-cushion,
.booking-calendar .fc .fc-timegrid-slot-label {color:var(--gold); font-size:12px;}
.booking-calendar .fc .fc-toolbar-title {text-transform: uppercase; font-size:20px;}

.booking-calendar .fc .fc-button-primary:not(:disabled).fc-button-active, .booking-calendar .fc .fc-button-primary:not(:disabled):active {
	background-color: var(--gold);
	border-color: var(--gold);
	color: var(--main-white);
}

.booking-calendar .fc .fc-button-primary {
	background-color: var(--gold-dark);
	border-color: var(--gold-dark);
	color: var(--main-white);
}

.booking-calendar .fc-daygrid-event-dot {border-color:var(--gold);}
.booking-calendar .fc .fc-daygrid-event {cursor:pointer}

.booking-calendar .display-date {background-color: var(--bg2); padding:20px; text-align:center; transition: all 0.5s;}
.booking-calendar .display-date.selected {background-color: var(--gold);color:#FFF;}
.booking-calendar .display-date span {margin-left: 10px;}

.booking-calendar .fc .fc-daygrid-day.fc-day-today {	background-color: transparent;}
.booking-calendar .fc .fc-daygrid-day.booking-has-events {background-color:rgba(46, 212, 107, 0.1)!important}

.booking-calendar .feedback .alert {text-align: center;}
.booking-calendar .feedback .alert-danger p {margin:0; padding:10px;}
.booking-calendar .feedback .alert-danger {background-color:rgba(255, 0, 0, 0.603)}
.booking-calendar .feedback .alert-danger p {color:#FFF;}

/* Disponibilita' e selezione gestite via classe sulla cella (td), non su eventi FullCalendar:
   cosi' nessun elemento evento puo' mai intercettare il click/drag della selezione nativa. */
.booking-calendar .fc .fc-daygrid-day.booking-has-events.is_selected {background-color: var(--gold)!important; color:#FFF;}
.booking-calendar .fc .fc-daygrid-day:not(.booking-has-events):not(.fc-day-past) {cursor: not-allowed;}

/* Riepilogo prezzo/cauzione sotto il calendario */
.price-estimate {background-color: var(--bg2); padding:20px; border-left: 4px solid var(--gold); transition: opacity 0.2s;}
.price-estimate.loading {opacity: 0.5;}
.price-estimate-title {margin-bottom:10px; text-transform: uppercase; font-size:14px; letter-spacing: 0.5px; color:var(--gold-dark);}
.price-estimate-days {font-weight:600;}
/** booking Choose **/



.booking-back {display: flex; flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 10px;}
.booking-cardchoose .posts__excerpt {margin-bottom:20px;}
.booking-cardchoose button,
.booking-back button {font-family: inherit; background:var(--gold); color:var(--main-white); border:1px solid var(--gold); padding:10px 20px; transition: all 0.4s; font-size:18px;}
.booking-cardchoose button:hover,
.booking-back button:hover {background:transparent; color:var(--gold);}
.booking-back h5 {margin-bottom: 0px;}
/** booking Choose **/

/** booking Overlay **/
.success-overlay {background-color:var(--gold);  position: absolute; width:100%; top:0; left:0; right:0; bottom:0; z-index: 99; display:none; color:#FFF;}
.success-overlay .int {  display: flex;justify-content: center; align-items: center; height: 100%; width:100%;}
.success-overlay .int .text-center {text-align: center;}
.success-overlay p,
.success-overlay h2 {color:#FFF;}

.inside-reservation {background:#FFF; padding:20px; width: 500px;}
.inside-reservation h2 {font-size: 28px; line-height: normal; color:var(--gold);}
.inside-reservation p {font-size:16px; line-height: 22px; color:#333;}
.inside-reservation h3 {font-size: 24px; line-height: normal; color:#FFF; background:var(--gold); display: inline-block; padding:5px 10px;}
.inside-reservation .colored {color:var(--gold)!important;}
.inside-reservation .booking-delete {background:#FFF; border:2px solid red; padding:15px 20px; color:red; font-family: inherit; font-weight: 600; font-size: 18px; margin-top:30px; margin-bottom:30px; transition: all 0.4s; cursor: pointer;}
.inside-reservation .booking-delete:hover {background:red; color:#FFF;}

.booking-overlay {background-color: rgba(255,255,255,0.8); position: absolute; width:100%; top:0; left:0; right:0; bottom:0; z-index: 99; display:none;}

.booking-overlay .spin {
   width: 88px;
   height: 88px;
   display: grid;
   border: 2px solid #ccc9;
   border-radius: 50%;
   border-color: var(--gold) #ccc9;
   animation: spinner-booking 1.2s infinite linear;
   position:absolute;
   top:50%;
   left:50%;
   margin-top:-44px;
   margin-left:-44px;
}
.booking-overlay .spin::before,
.booking-overlay .spin::after {
   content: "";
   grid-area: 1/1;
   margin: 3.5px;
   border: inherit;
   border-radius: 50%;
}

.booking-overlay .spin::before {
   border-color: #ccc99 #ccc9;
   animation: inherit;
   animation-duration: 0.6s;
   animation-direction: reverse;
}
.booking-overlay .spin::after {
   margin: 14px;
}


@keyframes spinner-booking {
   100% {
   transform: rotate(1turn);
   }
}
/** booking Overlay **/
/** PayPal deposit payment box **/
.paypal-wrap {
   background-color: var(--bg2);
   padding: 20px;
   border-left: 4px solid #0070ba;
}
.paypal-wrap p {
   font-weight: 600;
}
/** PayPal deposit payment box **/
