.ci-loader-overlay{align-items:center;background:rgba(0,0,0,.7);display:flex;font-size:1.2em;height:100%;inset:0;justify-content:center;position:absolute;z-index:10}.ci-loader-overlay.visually-hidden .ci-loader{display:none}.ci-loader{animation:mulShdSpin 1.3s linear infinite;border-radius:50%;color:#8cb73a!important;font-size:10px;height:1em;position:relative;text-indent:-9999em;transform:translateZ(0);width:1em}@keyframes mulShdSpin{0%,to{box-shadow:0 -3em 0 .2em,2em -2em 0 0,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 0}12.5%{box-shadow:0 -3em 0 0,2em -2em 0 .2em,3em 0 0 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em 0 0,3em 0 0 .2em,2em 2em 0 0,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 0,2em 2em 0 .2em,0 3em 0 0,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 0,0 3em 0 .2em,-2em 2em 0 0,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 0,-2em 2em 0 .2em,-3em 0 0 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 .2em,-2em -2em 0 0}87.5%{box-shadow:0 -3em 0 0,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 0,-3em 0 0 0,-2em -2em 0 .2em}}.visually-hidden{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}#ci-appointment-booking #filterCalendar{width:100%}#ci-appointment-booking #filterCalendar .vanilla-calendar-date{background-color:#292929;color:#fff;font-weight:700}#ci-appointment-booking #filterCalendar .vanilla-calendar-date.vanilla-calendar-date--disabled{color:#dee2e6;font-weight:400;opacity:.3}#ci-appointment-booking #filterCalendar .vanilla-calendar-date.vanilla-calendar-date--selected{background-color:#c4db98}#ci-appointment-booking #filterCalendar .vanilla-calendar-date.vanilla-calendar-date--selected span{color:#000}#ci-appointment-booking #filterCalendar .vanilla-calendar-header__label{color:#fff;font-weight:700}#ci-appointment-booking #filterCalendar .vanilla-calendar-week span{color:#000}:root{--vanilla-calendar-selected-bg-color:#8cb73a!important;--vanilla-calendar-bg-color:#292929!important;--vanilla-calendar-today-color:#fff!important}#ci-appointment-booking h1,#ci-appointment-booking h2,#ci-appointment-booking h3,#ci-appointment-booking h4,#ci-appointment-booking h5,#ci-appointment-booking h6,#ci-appointment-booking p,#ci-appointment-booking span,dialog#booking-dialog h1,dialog#booking-dialog h2,dialog#booking-dialog h3,dialog#booking-dialog h4,dialog#booking-dialog h5,dialog#booking-dialog h6,dialog#booking-dialog p,dialog#booking-dialog span{color:#fff}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item button,dialog#booking-dialog #booking-feedback #close-dialog-after-error,dialog#booking-dialog #booking-feedback .success-message .action-links a,dialog#booking-dialog #booking-feedback .success-message .action-links button,dialog#booking-dialog #booking-process #booking-form .action-buttons button{background-color:#9899ca;border:0;border-radius:.25rem;color:#000;cursor:pointer;font-size:1.125rem;padding:.5rem 1rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item button:hover,dialog#booking-dialog #booking-feedback #close-dialog-after-error:hover,dialog#booking-dialog #booking-feedback .success-message .action-links a:hover,dialog#booking-dialog #booking-feedback .success-message .action-links button:hover,dialog#booking-dialog #booking-process #booking-form .action-buttons button:hover{background-color:#7678b9}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item button:focus-visible,dialog#booking-dialog #booking-feedback #close-dialog-after-error:focus-visible,dialog#booking-dialog #booking-feedback .success-message .action-links a:focus-visible,dialog#booking-dialog #booking-feedback .success-message .action-links button:focus-visible,dialog#booking-dialog #booking-process #booking-form .action-buttons button:focus-visible{outline:2px solid #8cb73a;outline-offset:2px}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .tag{align-items:center;background-color:#dee2e6;border-radius:8rem;color:#000;display:inline-flex;font-size:1rem;gap:.5rem;margin:0;padding:.3rem .7rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .outline.tag{background-color:transparent;border:1px solid #dee2e6;color:#dee2e6}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .outline.status-available.tag{background-color:transparent;border-color:#48cae4;color:#48cae4}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .outline.status-booked.tag{background-color:transparent;border-color:#8cb73a;color:#8cb73a}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .outline.status-cancelled.tag{background-color:transparent;border-color:#ff7a7a;color:#ff7a7a}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .tag svg{height:1.5rem;width:1.5rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .status-available.tag{background-color:#48cae4;color:#fff}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .status-booked.tag{background-color:#8cb73a;color:#fff}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags .status-cancelled.tag{background-color:#ff7a7a;color:#fff}dialog#booking-dialog{background-color:#292929;border:0;border-radius:.25rem;max-height:90vh;max-width:800px;padding:1rem;width:90vw}dialog#booking-dialog::backdrop{background-color:rgba(0,0,0,.7)}dialog#booking-dialog #booking-process #booking-form fieldset legend{color:#dee2e6;font-size:1rem;font-weight:700;margin-bottom:.5rem}dialog#booking-dialog #booking-process #booking-form fieldset legend .required{color:#ff7a7a;margin-left:.25rem}dialog#booking-dialog #booking-process #booking-form label{color:#dee2e6;display:block;font-size:1rem;margin-bottom:1rem}dialog#booking-dialog #booking-process #booking-form label .required{color:#ff7a7a;margin-left:.25rem}dialog#booking-dialog #booking-process #booking-form label .label-text{color:#dee2e6;font-size:1rem;margin-bottom:.5rem}dialog#booking-dialog #booking-process #booking-form input{border:1px solid #dee2e6;border-radius:.25rem;font-size:1.125rem;padding:.5rem}dialog#booking-dialog #booking-process #booking-form input:focus{border-color:#9899ca}dialog#booking-dialog #booking-process #booking-form textarea{background-color:#343a40;border:1px solid #dee2e6;border-radius:.25rem;color:#fff;font-size:1.125rem;padding:.5rem;resize:vertical}dialog#booking-dialog #booking-process #booking-form textarea:focus{border-color:#9899ca}#ci-appointment-booking .appointment-list-wrapper{min-height:150px}#ci-appointment-booking .appointment-list-wrapper #appointment-list{list-style:none;margin:1rem 0 0;padding:0}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item{background-color:#292929;border-bottom:1px solid #9899ca;border-radius:.25rem;margin-bottom:1rem;padding:1rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item.no-appointments{border:1px solid #c4db98;color:#c4db98;font-size:1.125rem;text-align:center}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item.no-empty{border:1px solid #ffb74d;color:#ffb74d}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item p{color:#fff;font-size:1.125rem;padding:0}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item h2{color:#fff;font-size:1.5rem;font-weight:700}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 .5rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item .tag svg{height:1.5rem;width:1.5rem}#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item button{margin-top:1rem}@media(max-width:600px){#ci-appointment-booking .appointment-list-wrapper #appointment-list .appointment-item button{max-width:100%}}dialog#booking-dialog #booking-process .card-info{margin:0}dialog#booking-dialog #booking-process #appointment-details .card-info{border:1px solid #8cb73a;margin-bottom:1rem;padding:1rem}dialog#booking-dialog #booking-process #appointment-details .card-info h2{font-size:1.25rem;font-weight:700}dialog#booking-dialog #booking-process #appointment-details .card-info p{color:#dee2e6;font-size:1.125rem;padding:0}dialog#booking-dialog #booking-process #booking-form #booking-title{color:#fff;font-size:1.25rem}dialog#booking-dialog #booking-process #booking-form input,dialog#booking-dialog #booking-process #booking-form textarea{width:100%}dialog#booking-dialog #booking-process #booking-form fieldset{margin-bottom:1rem}dialog#booking-dialog #booking-process #booking-form .captcha-wrapper{display:flex;justify-content:flex-end;margin-bottom:.5rem}dialog#booking-dialog #booking-process #booking-form .action-buttons{display:flex;gap:.5rem;justify-content:flex-end}dialog#booking-dialog #booking-process #booking-form .action-buttons button#booking-cancel-button{background-color:#6c757d;color:#fff}dialog#booking-dialog #booking-process #booking-form .action-buttons button#booking-cancel-button:hover{background-color:#545b62}dialog#booking-dialog #booking-feedback .success-message{border:1px solid #8cb73a;padding:1rem}dialog#booking-dialog #booking-feedback .success-message .success-summary{background-color:#343a40;margin:1rem 0;padding:1rem}dialog#booking-dialog #booking-feedback .success-message h2{color:#8cb73a;font-size:1.5rem;font-weight:700;padding:0}dialog#booking-dialog #booking-feedback .success-message a,dialog#booking-dialog #booking-feedback .success-message h3,dialog#booking-dialog #booking-feedback .success-message p{color:#fff;font-size:1.125rem;padding:0}dialog#booking-dialog #booking-feedback .success-message h3{font-weight:700;margin-bottom:.5rem}dialog#booking-dialog #booking-feedback .success-message .cancel-appointment{color:#dee2e6;text-decoration:underline}dialog#booking-dialog #booking-feedback .success-message .cancel-appointment:hover{color:#ff7a7a}dialog#booking-dialog #booking-feedback .success-message .email-info{font-weight:700;margin:1rem 0}dialog#booking-dialog #booking-feedback .success-message .action-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;margin-top:2rem}dialog#booking-dialog #booking-feedback .success-message .action-links a#close-dialog-after-booking,dialog#booking-dialog #booking-feedback .success-message .action-links button#close-dialog-after-booking{background-color:#6c757d;color:#fff}dialog#booking-dialog #booking-feedback .success-message .action-links a#close-dialog-after-booking:hover,dialog#booking-dialog #booking-feedback .success-message .action-links button#close-dialog-after-booking:hover{background-color:#545b62}dialog#booking-dialog #booking-feedback .success-message .action-links a.link-ical,dialog#booking-dialog #booking-feedback .success-message .action-links a.link-teams,dialog#booking-dialog #booking-feedback .success-message .action-links button.link-ical,dialog#booking-dialog #booking-feedback .success-message .action-links button.link-teams{background-color:#c4db98;color:#000}dialog#booking-dialog #booking-feedback .success-message .action-links a.link-ical:hover,dialog#booking-dialog #booking-feedback .success-message .action-links a.link-teams:hover,dialog#booking-dialog #booking-feedback .success-message .action-links button.link-ical:hover,dialog#booking-dialog #booking-feedback .success-message .action-links button.link-teams:hover{background-color:#aece72}dialog#booking-dialog #booking-feedback .error-message{border:1px solid #ff7a7a;padding:1rem}dialog#booking-dialog #booking-feedback .error-message h2{color:#ff7a7a;font-size:1.5rem;font-weight:700;padding:0 0 .5rem}dialog#booking-dialog #booking-feedback .error-message p{color:#dee2e6;font-size:1.125rem;padding:0}dialog#booking-dialog #booking-feedback .error-message .action-links{display:flex;gap:1rem;justify-content:flex-end}dialog#booking-dialog #booking-feedback #close-dialog-after-error{background-color:#6c757d;color:#fff;margin-top:1rem}dialog#booking-dialog #booking-feedback #close-dialog-after-error:hover{background-color:#545b62}