.ic-booking-overlay{display:block;visibility:hidden;opacity:0;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.2);z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);-moz-backdrop-filter:blur(5px);-ms-backdrop-filter:blur(5px);-o-backdrop-filter:blur(5px);transition:opacity 1s ease-in-out,visibility 1s ease-in-out;-webkit-transition:opacity 1s ease-in-out,visibility 1s ease-in-out;-moz-transition:opacity 1s ease-in-out,visibility 1s ease-in-out;-ms-transition:opacity 1s ease-in-out,visibility 1s ease-in-out;-o-transition:opacity 1s ease-in-out,visibility 1s ease-in-out}.ic-booking-overlay.active{opacity:1;visibility:visible}.ic-booking-container{display:flex;flex-direction:column;position:fixed;padding:1.5rem;background-color:#fff;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.95);-webkit-transform:translate(-50%, -50%) scale(0.95);-moz-transform:translate(-50%, -50%) scale(0.95);-ms-transform:translate(-50%, -50%) scale(0.95);-o-transform:translate(-50%, -50%) scale(0.95);width:95%;max-width:1000px;z-index:1001;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility .5s ease-in-out;-webkit-transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility .5s ease-in-out;-moz-transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility .5s ease-in-out;-ms-transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility .5s ease-in-out;-o-transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility .5s ease-in-out}.ic-booking-container.active{opacity:1;visibility:visible;transform:translate(-50%, -50%) scale(1);-webkit-transform:translate(-50%, -50%) scale(1);-moz-transform:translate(-50%, -50%) scale(1);-ms-transform:translate(-50%, -50%) scale(1);-o-transform:translate(-50%, -50%) scale(1)}.ic-booking-container button.ic-close-button{position:absolute;right:0;top:0;transform:translate(40%, -40%);background-color:#fff;font-size:0;width:2rem;height:2rem;border-radius:50%;outline:none;border:1px solid rgba(0,0,0,.25);transition:background-color .3s ease-in-out;-webkit-transition:background-color .3s ease-in-out;-moz-transition:background-color .3s ease-in-out;-ms-transition:background-color .3s ease-in-out;-o-transition:background-color .3s ease-in-out}.ic-booking-container button.ic-close-button:hover{background-color:#ddd}.ic-booking-container button.ic-close-button::before{content:"×";display:flex;position:absolute;z-index:1;left:0;top:0;width:100%;height:100%;font-size:1.5rem;font-weight:bold;color:rgba(0,0,0,.75);align-items:center;justify-content:center;line-height:1}.ic-booking-container .ic-booking-form{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem}.ic-booking-container .ic-booking-form .inputgroup{width:100%;flex:1 1 100%;display:flex;flex-direction:column;gap:.5rem}@media(min-width: 768px){.ic-booking-container .ic-booking-form .inputgroup{flex:1 1 calc(50% - .5rem)}}.ic-booking-container .ic-booking-form .inputgroup label{font-weight:600;color:#999}.ic-booking-container .ic-booking-form .inputgroup.fullwidth{flex:1 1 100%}.ic-booking-container .ic-booking-form .inputgroup.fullwidth.radios{gap:1.5rem;flex-direction:row}.ic-booking-container .ic-booking-form .inputgroup.fullwidth.radios label{display:flex;gap:.3rem}.ic-booking-container .ic-booking-form .inputgroup.checkboxgroup{flex-direction:row;align-items:center}.ic-booking-container .ic-booking-form .inputgroup.checkboxgroup input[type=checkbox]{width:auto;margin:0}.ic-booking-container .ic-booking-form .inputgroup.checkboxgroup label{margin:0}.ic-booking-container .ic-success-message{font-size:1.1rem;font-weight:bold;text-align:center;max-width:80%;margin:1.5rem auto}.ic-booking-container .ic-close-window-message{cursor:pointer;text-align:center}