.absolute{position:absolute;}  
.relative{position: relative;} 
.top-0{top:0;} .left-0{left:0;}
.block{display: block;} .flex{display: flex;} 
.inline-flex{display: inline-flex;} 
.flex-col{flex-flow: column;}
.flex-wrap{flex-wrap:wrap;}
.items-center{align-items: center;} 
.items-baseline{align-items: baseline;} 
.self-baseline{align-self: baseline;} 
.justify-center{justify-content: center;}  
.justify-between{justify-content: space-between;}
.justify-around{justify-content: space-around;} .grid{display: grid;}
.grid-cols-1{grid-template-columns: repeat(1, minmax(0, 1fr)); gap:20px} 
.grid-cols-2{grid-template-columns: repeat(2, minmax(0, 1fr));column-gap: 50px;} 
.grid-cols-12{grid-template-columns: repeat(12, minmax(0, 1fr));} 
.grid-rows-full{grid-auto-rows: 1fr;}
.col-span-4{grid-column: span 4 / span 4;}
.col-span-6{grid-column: span 6 / span 6;}
.col-span-8{grid-column: span 8 / span 8;}
.col-span-12{grid-column: span 12 / span 12;}
.gap-0{gap: 0;}
.gap-4{gap: 4px;}
.gap-8{gap: 8px;}
@media (min-width: 768px) {
.md-col-span-8{grid-column: span 8 / span 8;}
}
@media (max-width: 768px) {
.md-grid-cols-1{grid-template-columns: repeat(1, minmax(0, 1fr)); gap:20px;} 
} .h-0{height: 0!important;}
.h-12{height: 3rem;} 
.h-24{height: 6rem;} 
.h-48{height: 12rem;}
.h-screen{height: 100vh;} 
.h-full{height: 100%;}
.min-h-screen{min-height: 100vh;} .w-12{width:3rem;}
.w-24{width:6rem;}
.w-48{width:12rem;}
.w-1-3{width: 33.333333%;}
.w-1-2{width:50%;}
.w-2-3{width:75%;}
.w-3-4{width:85%;}
.w-full{width:100%;} .z-20{z-index: 20!important;} 
.z-50{z-index: 50!important;} .p-0{padding: 0!important;} 
.p-3{padding: 0.75rem;} 
.p-5{padding: 1.25rem;} 
.px-3{padding-left: 0.75rem;padding-right: 0.75rem;} 
.px-5{padding-left: 1.25rem;padding-right: 1.25rem;} 
.py-3{padding-top: 0.75rem;padding-bottom: 0.75rem;}
.py-5{padding-top: 1.25rem;padding-bottom: 1.25rem;}
.py-10{padding-top:2.5rem;padding-bottom: 2.5rem;} .m-0{margin: 0;} 
.mt-0{margin-top: 0;} 
.mt-3{margin-top: 0.75rem;}
.mt-5{margin-top: 1.25rem;}
.mb-0{margin-bottom: 0;}
.mb-3{margin-bottom: 0.75rem;}
.mb-5{margin-bottom: 1.25rem;}
.mb-10{margin-bottom: 2.50rem;}
.mr-2{margin-right: 0.5rem;} 
.ml-0{margin-left: 0;}
.ml-5{margin-left: 1.25rem;} .text-center{text-align: center!important;}
.text-red{color:#d83131;} .font-light{font-weight: 300} 
.font-semibold{font-weight: 600} 
.text-xs{font-size: 0.75rem;line-height: 1rem;}
.text-base{font-size: 1rem;line-height: 1.5rem;}
.text-xl{font-size: 1.25rem!important;line-height: 1.75rem;}
.text-2xl{font-size: 1.5rem!important;line-height: 2rem;}
.text-3xl{font-size: 1.875rem;line-height: 2.25rem;}
.space-x-2 > * + * {margin-left: 0.5rem;}
.space-x-4 > * + * {margin-left: 1rem;}
.space-y-2 > * + * {margin-bottom: 0.5rem;}
.space-y-4 > * + *,
.space-y-4 > * {margin-bottom: 1rem;}
.space-y-6 > * + * {margin-bottom: 1.5rem;}
.space-y-8 > * + *,
.space-y-8 > * {margin-bottom: 3rem;}
.space-y-7 > * {margin-bottom: 2rem;}
.flex-center{
display: flex;
align-items: center;
justify-content: center;
}
.hide{
opacity: 0;
visibility: hidden;
height: 0;
transition: all .4s;
}
.show{
opacity: 1;
visibility: visible;
height: auto;
}
.d-none{display: none;}
.flex-between{
display: flex;
align-items: center;
justify-content: space-between;
}
.mb-3{margin-bottom: 0.75rem!important;}
.mb-5{margin-bottom: 1.5rem!important;}
.mb-10{margin-bottom: 3rem!important;}
.responsive{
width: 100%;
max-width: 100%;
height: auto;
}
.ba-loader {
opacity:0;
visibility: hidden;
position: absolute;
top: 10%;
left: 42%;
transform: translate(-50%, -50%);
width: 30px;
height: 30px;
border-radius: 50%;
display: inline-block;
border-top: 4px solid #555;
border-right: 4px solid transparent;
box-sizing: border-box;
animation: rotation 1s linear infinite;
}
.ba-loader::after {
content: '';
box-sizing: border-box;
position: absolute;
left: 0;
top: 0;
width: 30px;
height: 30px;
border-radius: 50%;
border-left: 4px solid #d83131;
border-bottom: 4px solid transparent;
animation: rotation 0.5s linear infinite reverse;
}
@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
} 
.ba-loader.active{
opacity: 1;
visibility: visible;
}
.ba-btn-text{
opacity: 1;
visibility: visible;
transition: all ease .4s;
}
.ba-btn-text.inactive{
opacity: 0;
visibility: hidden;
}.booking-popup-container{
opacity:0;
visibility:hidden;
position:fixed!important;
top:0;left:0;
width:100%;
overflow: hidden;
background: #fff;    z-index: 1000000!important;
transform-origin: center;
transform: scale(0);
transition: all .3s ease-in-out;
}
.booking-popup-close{
cursor:pointer;
position: absolute;
top:15px;right: 25px;
width: 20px;height: 20px; color: #555555!important;
font-size: 2rem;
z-index: 999;
}
.booking-popup-slider{
display: flex;
}
.booking-popup-wrapper{
position: absolute!important;
top:50%;left:50%;
background-color: #fff;   width: 100%;
min-height: 70vh;
padding: 1rem;
transition: all .5s ease-in-out;
transform: translate(100%, -50%);
}
.booking-popup-close i{font-size: 2rem;z-index: 999;}
.z-0{z-index: 0!important;}
.popup-active{
opacity:1!important;
visibility:visible;
height: 100vh!important;
border-radius: 0;
transform: scale(1);
z-index: 999999;
}
.booking-popup-title{
font-size: 2rem;
color: #464545;
}
.booking-popup-select{
border-radius: 5px;
border: 1px solid #27ab40;
padding: 8px;
color: #6b6868;
cursor:pointer;
transition: all .3s;
}
.booking-popup-select:hover{
box-shadow:  1px 1px 10px rgba(39,171,34, .5);
}
.booking-popup-select-icon i{
transform: rotate(0deg);
transition: all .3s;
}
.booking-popup-select-icon i.open{
transform: rotate(180deg);
}
.booking-popup-select-options-container{
overflow: auto;
height: 75vh;
width: 100%;
padding: 1rem; }
.booking-popup-select-options { padding: 25px 8px;
border-radius: 5px; transition: all .3s;
place-items: center;
}
.booking-popup-select-option-icon {
font-size: 5rem;
color: #555555;
transition: all .3s ease;
}
#ville svg{
width: 100%;
border-radius: 20px;
box-shadow: 5px 5px 15px rgba(0,0,0, .5);
}
.villa-svg{ cursor:pointer;
transition: all .3s;
}
.villa-svg:hover{ fill:#d83131;
}
.booking-popup-select-option{
padding: 5px;
transition: all .3s;
cursor:pointer; border-radius: 4px;
border: 1px solid #555;
}
.booking-popup-select-option:hover {
border: 1px solid #d83131;
}
.booking-popup-select-option-cover{
background-size: contain!important;
border-radius: 5px;
height: 100%;
width: 100%;
border: 2px solid transparent;
border-width: 1px;
border-style: solid;
border-color: transparent;
transition: all .3s;
}
.booking-popup-select-option:hover .booking-popup-select-option-title h3{color:#d83131!important;}
.booking-popup-select-option:hover .booking-popup-select-option-icon{color:#d83131!important;}
.booking-popup-select-option{ box-shadow: 3px 3px 12px rgba(0,0,0,.5); }
.sold.booking-popup-select-option:hover{ box-shadow: unset; }
.booking-popup-select-option-title h3{color:#555555!important;}
.sold.booking-popup-select-option:hover .booking-popup-select-option-title h3{color:inherit!important;}
.current-slide{
transform: translate(-50%, -50%);
}
.previous-slide{
transform: translate(-300%, -50%);
}
.booking-popup-slider-next,
.booking-popup-slider-prev{
border: 1px solid #d83131;
padding: 7px 10px;
border-radius: 5px;
color: #d83131;
cursor: pointer;
transition: all .4s;
}
.booking-popup-slider-next.disabled{
border: 1px solid #9d9999;
background-color:#9d9999;
color: #fff;
}
.booking-popup-fascia-list{
padding: 8px;  }
.booking-popup-fascia-list ul,
.booking-popup-fascia-list ul li{
list-style: none!important;
}
.booking-popup-fascia-list ul{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0!important;
gap:50px;
}
.booking-popup-fascia-list ul li {
padding: 3px;
border: 2px solid #d2cdcd;
border-radius: 5px;
cursor: pointer;
color: #696767;
transition: all .4s;
min-width: 115px;
}
.booking-popup-fascia-list ul li:hover{
border: 2px solid #d83131;
color: #d83131;
}
.booking-popup-fascia-list ul li.disabled:hover{
border: 2px solid #9d9999;
background-color:#9d9999;
color: #fff;
}
.booking-popup-fascia-list ul > * {
margin-top: 8px;
}
.selected-app{
border: 2px solid #d83131!important;
background-color: #d83131!important;
color:#fff!important;
}
.booking-popup-fascia-list ul li.disabled{
background-color:#9d9999!important;
color: #fff!important;
border: 2px solid #d2cdcd!important;
}
.booking-popup-details{
min-height: 75vh;
}
.radio-button-outer{
border-radius: 200px;
border: 1px solid #eee; padding: 3px 10px;
color: #eee;
transition: all .4s;
cursor: pointer;
}
.radio-button-inner{
width: 35px;
height: 25px;
border-radius: 200px;
background: #eee; top: 50%;
transform: translate(0, -50%);
left: 4px;
transition: all .4s;
}
.radio-button-outer span{color: #ddd;}
.radio-button-outer.active span{color: #d83131;}
.radio-button-outer.active {
border: 1px solid #d83131;
color: #fff;
}
.radio-button-outer.active .radio-button-inner{
background: #d83131;
transform: translate(90%, -50%);
}
#screening-finanziario{
opacity: 1;
visibility: visible;
height: auto;
transition: all .4s;
}
#screening-finanziario.hide{
opacity: 0;
visibility: hidden;
height: 0;
}
input.error{
border: 1px solid rgb(208, 40, 40)!important;
}
.error-message{
color: rgb(208, 40, 40);
}
.radio-buttons {
cursor:pointer;
}
span.radio-button--outer {
display: inline-flex;
width: 26px;
height: 26px;
border: 2px solid #ddd;
border-radius: 100%;
justify-content: center;
align-items: center;
transition: all .4s;
}
span.radio-button--inner {
width: 18px;
height: 18px;
display: inline-block;
border-radius: 100%;
transition: all .4s;
}
span.radio-button span{
color:#aaa;
}
span.radio-button--outer.active{border: 2px solid #d83131;}
span.radio-button--inner.active{background: #d83131;}
#villa-img{width: 70%;}
#villa-img img{width: 100%; height: auto;}
#consent_check{
display: inline-block;
width: 20px;
height: 20px;
background: #fff;
margin-left: 8px;
border-radius: 4px;
border: 1px solid #ccc;
transition: all .4s ease;
}
#consent_check.checked {
background: #d83131;
}
input[name="client_consent"]{
opacity: 0;
visibility: hidden;
height: 0;
width: 0;
margin: 0;
}
.booking-popup-client{width: 50%;}
input[name^="client_"]{
border-radius: 4px;
}
.booking-popup-result {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: rgb(0 0 0 / 40%);
z-index: 10000000000!important;
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
visibility: hidden;
transition: all ease .4s;
}
.booking-popup-result__container {
width: 50%; background: #fff;
border-radius: 5px;
box-shadow: 5px 5px 20px rgb(0 0 0 / 50%);
opacity: 0;
visibility: hidden;
}
.booking-popup-result.active,
.booking-popup-result.active .booking-popup-result__container,
.booking-popup-container.popup-active .booking-popup-slider{
opacity: 1!important;
visibility: visible;
}
.booking-popup-result__container.error{border:3px solid #d83131;}
.booking-popup-result__container.warning{border:3px solid rgb(255, 179, 0);}
.booking-popup-result__container.success{border:3px solid #26966d;}
.booking-popup-result__container.error .booking-popup-result__message-title{color:#d83131;}
.booking-popup-result__container.warning .booking-popup-result__message-title{color:rgb(255, 179, 0);}
.booking-popup-result__container.success .booking-popup-result__message-title{color:#26966d;}
.lotti {
width: 100%;
height: auto;
border: 2px solid #d83131;
padding: 5vh;
}
.lotti h3{
color: #d83131;
}
.booking-simplebar-container{ padding: 20px;
overflow: auto;
height: 70vh;
}
.booking-status-villa {
font-size: .6rem;
text-transform: uppercase;
font-weight: 700;
}
.negotiation .booking-status-villa {
color: #efa211;
}
.sold .booking-status-villa {
color: #ef3211;
}
.sold{
cursor:not-allowed!important;
fill:#9b9898ed!important;
}
#status-villa{color: #efa211; text-align: center; font-size: 1.2rem;}
@media screen and (max-width:992px){
.booking-popup-wrapper{
width: 100%;
height: 100vh;
border-radius: 0;
display: flex;
justify-content: center;
align-items: center;
flex-flow: column;
padding: 10px 10px 20px;
}
.booking-popup-select-options-container{
width: 100%!important;
height: 60vh;
}
.booking-popup-close{
right: 18px;
color: #d83131!important;
font-size: 1.5rem;
}
.booking-popup-title{
font-size: 1.4rem!important;
margin-bottom: 1rem!important;
align-self: flex-start;
}
.booking-simplebar-container{
height: 70vh;
}
.booking-popup-fascia-list{
font-size: .8rem;
text-align: center;
}
#villa-img{
width: 40%;
}
#dettagli-richiesta{margin-top: 2rem;}
}
@media screen and (max-width:767px){
.booking-popup-result__container{
width: 90%;
}
.booking-popup-select-options-container{
height: auto!important;
}
.grid-cols-2{
grid-template-columns: repeat(1, minmax(0, 1fr));
column-gap: 20px;
}
.grid-rows-full {
grid-auto-rows: unset;
}
.booking-popup-select-option{
width: 100%;
}
.booking-popup-select-option-icon{
font-size: 3rem;
}
.booking-popup-select-option-title h3{
font-size: 1rem!important;;
}
.calendar-container, .fascia-oraria{
height: auto;
}
.booking-simplebar-container{
width: 100%;
padding: 0;
}
.booking-popup-client{
width: 90%;
}
#villa-selected-name{
font-size: 1rem !important;
}
#consent-label{
font-size: .8rem;
}
}.calendar-container,
.fascia-oraria {
background: #fff; min-height: 66vh;
border-radius: 10px;
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.4);
}
.calendar-container .calendar-header { align-items: center; justify-content: space-between;
}
.calendar-header .calendar-navigation {
display: flex;
}
.calendar-header .calendar-navigation span {
height: 38px;
width: 38px;
margin: 0 1px;
cursor: pointer;
text-align: center;
line-height: 38px;
border-radius: 50%;
user-select: none;
color: #aeabab;
font-size: 1.5rem;
}
.calendar-header .calendar-navigation span:hover {
background: #f2f2f2;
}
.calendar-header .calendar-current-date {
font-weight: 500;
font-size: 1.4rem;
}
.calendar-body {
padding: 20px;
}
.calendar-body ul {
list-style: none!important;
flex-wrap: wrap;
display: flex;
text-align: center;
}
.calendar-body .calendar-dates {
margin-bottom: 20px;
list-style: none!important;
}
.calendar-body li {
width: calc(100% / 7);
font-size: 1.07rem;
color: #414141;
list-style: none!important;
}
.calendar-body .calendar-weekdays li {
cursor: default;
font-weight: 500;
list-style: none!important;
}
.calendar-body .calendar-dates li {
margin-top: 30px;
position: relative;
z-index: 1;
cursor: pointer;
list-style: none!important;
}
.calendar-dates li.inactive {
color: #aaa;
list-style: none!important;
}
.calendar-dates li.active {
color: #166399;
list-style: none!important;
}
.calendar-dates li.selected{
color:#fff!important;
}
.calendar-dates li::before {
position: absolute;
content: "";
z-index: -1;
top: 50%;
left: 50%;
width: 40px;
height: 40px;
border-radius: 50%;
transform: translate(-50%, -50%);
list-style: none!important;
}
.calendar-dates li.active::before {
border: 1px solid #166399; list-style: none!important;
}
.calendar-dates li.selected::before {
background: #166399;
list-style: none!important;
}
.calendar-dates li:not(.active):hover::before {
background: #e4e1e1;
list-style: none!important;
}
@media screen and (max-width:992px){
.calendar-header .calendar-current-date{
font-size: 1.2rem!important;
}
.calendar-body {
padding: 10px;
}
.calendar-body .calendar-dates,
.calendar-body ul{margin-left: 0;}
.calendar-body li{font-size: 0.9rem;}
}