@charset "UTF-8";root{display:block}body,html{height:100%}#main{min-height:100%}#book-appointment-wizard{min-height:480px;padding:0;margin:auto}#book-appointment-wizard #header{overflow:auto;height:auto;padding:20px 15px;background:#429a82}#book-appointment-wizard #company-name{float:none;display:block;text-align:center;font-size:24px;font-weight:lighter;color:#fff;margin:20px 0}#book-appointment-wizard #company-name #company-logo{display:block;margin:14px auto;max-height:56px}#book-appointment-wizard #company-name .display-booking-selection{color:#225d4d;border-right-color:#225d4d!important;font-size:60%;font-weight:400}#book-appointment-wizard #steps{float:none;display:block;overflow:auto;margin:15px auto;width:190px}#book-appointment-wizard #book-appointment-form #book-appointment-submit{width:100%;margin-right:0}#book-appointment-wizard #form-message{text-align:center;margin-bottom:30px}#book-appointment-wizard .wizard-frame{height:auto;padding:15px}#book-appointment-wizard .wizard-frame .frame-container{height:auto;min-height:500px;padding:15px 0}#book-appointment-wizard .frame-container .frame-title{font-weight:lighter;text-align:center;margin-bottom:30px;color:#666}#book-appointment-wizard .frame-container .frame-content{float:none}#book-appointment-wizard .wizard-frame .command-buttons{float:none;margin:15px auto;text-align:center}#book-appointment-wizard .wizard-frame .command-buttons .btn{min-width:120px;margin-right:10px}#book-appointment-wizard .wizard-frame .command-buttons .btn:last-child{margin-right:0}#book-appointment-wizard .wizard-frame .flatpickr-calendar{margin:25px auto}#book-appointment-wizard .wizard-frame #select-time{max-width:288px;margin:auto;padding:15px 0}#book-appointment-wizard .book-step{display:inline-block;height:35px;width:35px;float:left;background:#225d4d;padding:8px;margin-right:12px;margin-top:6px;border-radius:.25rem;transition:all .3s linear}#book-appointment-wizard .book-step:last-child{margin-right:0}#book-appointment-wizard .book-step strong{font-size:12px;display:block;text-align:center;color:#0bb98d;transition:all .3s linear;cursor:default}#book-appointment-wizard .active-step{display:inline-block;height:45px;width:45px;float:left;background:#fff;padding:7px;margin-right:13px;margin-top:0}#book-appointment-wizard .active-step strong{color:#429a82;font-size:21px}#book-appointment-wizard #frame-footer{padding:15px;text-align:center;border-top:1px solid #ebeef1}#book-appointment-wizard #available-hours{overflow:auto;margin:15px 0;padding-right:10px;width:auto;max-height:250px}#book-appointment-wizard #available-hours div{margin-right:30px}#book-appointment-wizard #available-hours .available-hour{margin-bottom:10px}#book-appointment-wizard #available-hours .selected-hour{background-color:#439a82;border-color:#439a82;color:#fff}#book-appointment-wizard .span3{min-width:270px}#book-appointment-wizard #select-timezone{margin-bottom:15px}#book-appointment-wizard #appointment-details p,#book-appointment-wizard #customer-details p{font-size:16px;line-height:28px}#book-appointment-wizard #wizard-frame-1 label{font-size:19px;margin-bottom:12px}#book-appointment-wizard #wizard-frame-1 select{margin-bottom:25px}#book-appointment-wizard .captcha-title{float:left;margin:7px 0 10px 0}#book-appointment-wizard .captcha-title .fa-sync-alt{cursor:pointer;transition:all .3s linear}#book-appointment-wizard .captcha-title .fa-sync-alt:hover{color:#1a865f}#book-appointment-wizard .captcha-image{float:left;margin-bottom:20px;border-radius:3px}#book-appointment-wizard .captcha-text{width:100%;margin-bottom:20px}#book-appointment-wizard #service-description{overflow-y:auto;clear:both;max-height:153px;box-shadow:none}#book-appointment-wizard #select-language,#book-appointment-wizard .backend-link{display:block;min-width:120px;margin:15px auto;padding:5px}.popover .popover-title{text-align:center}.popover .popover-content #language-list .language{margin:15px 0}#book-appointment-wizard #wizard-frame-4 .frame-container .frame-content{max-width:630px}@media (min-width:768px){.wrapper{min-height:100vh}#book-appointment-wizard{border-radius:.25rem;overflow:hidden;box-shadow:rgba(138,195,255,.12) 0 1px 5px 0}#book-appointment-wizard #company-name{text-align:left;display:inline-block;float:left;margin:0 auto;min-width:400px;line-height:1.4}#book-appointment-wizard #company-name #company-logo{display:inline-block;float:left;margin-right:14px;margin-top:0;margin-bottom:0}#book-appointment-wizard #steps{display:inline-block;float:right;margin:5px auto}#book-appointment-wizard .wizard-frame{padding:10px 20px}#book-appointment-wizard .wizard-frame .command-buttons{display:flex;justify-content:space-between}#book-appointment-wizard .captcha-title{margin-right:20px;margin-top:7px}#book-appointment-wizard .captcha-image{float:right}#book-appointment-wizard #select-language{width:100px;padding:5px;margin:5px auto}#book-appointment-wizard #frame-footer small{display:flex}#book-appointment-wizard .footer-options,#book-appointment-wizard .footer-powered-by{width:50%}#book-appointment-wizard .footer-powered-by{text-align:left;padding:5px 5px 5px 0}#book-appointment-wizard .footer-options{text-align:right}#book-appointment-wizard #select-language{display:inline-block}#book-appointment-wizard .backend-link{display:inline-block;min-width:120px;padding:5px;margin:5px 0}}#message-frame,#success-frame{background:var(--bs-body-bg);text-align:center;height:auto;border:none;padding:35px}#message-frame .alert,#success-frame .alert{margin-top:20px}#message-frame #message-icon,#success-frame #success-icon{margin-top:20px;margin-right:20px;width:64px;display:block;margin:auto;float:none!important}#success-frame .btn{margin-bottom:10px;width:80%;max-width:300px}@media (min-width:768px){#message-frame,#success-frame{height:100%}}.booking-header-bar{padding:15px 0;margin:0;background:#f3f2e7;border-bottom:1px solid #e4e1c9;text-align:center}.ui-dialog .ui-dialog-title{font-size:1.2em}@media (min-width:768px){.booking-header-bar{padding:15px 0;margin:0;background:#f3f2e7;border-bottom:1px solid #e4e1c9;text-align:left}}*{box-sizing:border-box}body,html{background:#f0f4f8}.wrapper{background:#f0f4f8;align-items:flex-start;min-height:100vh}#book-appointment-wizard{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#fff;border-radius:0;box-shadow:none;overflow:visible;min-height:100vh}@media (min-width:768px){.wrapper{align-items:center;padding:24px 0}#book-appointment-wizard{min-height:auto;border-radius:40px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.14),0 8px 24px rgba(0,0,0,.08);margin-top:24px;margin-bottom:24px}}#book-appointment-wizard #header{background:linear-gradient(140deg,#0f6b54 0,#1a9070 50%,#25b38a 100%);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px;overflow:visible;height:auto;position:relative}#book-appointment-wizard #header::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:20px;background:#fff;border-radius:32px 32px 0 0}#book-appointment-wizard #company-name{float:none;display:flex;flex-direction:column;gap:2px;text-align:left;font-size:18px;font-weight:700;color:#fff;margin:0;min-width:unset;line-height:1.3;z-index:1}#book-appointment-wizard #company-name .display-booking-selection{color:rgba(255,255,255,.6);font-size:11px;font-weight:500;letter-spacing:.3px;border:none!important}#book-appointment-wizard #steps{float:none;display:flex;align-items:center;gap:4px;width:auto;margin:0;overflow:visible;z-index:1;flex-shrink:0}#book-appointment-wizard .book-step{float:none;display:flex;align-items:center;justify-content:center;height:32px;width:32px;padding:0;margin:0 2px;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.3);border-radius:50%;transition:all .3s ease}#book-appointment-wizard .book-step:last-child{margin-right:2px}#book-appointment-wizard .book-step strong{font-size:12px;font-weight:700;color:rgba(255,255,255,.65);display:block;cursor:default}#book-appointment-wizard .active-step{float:none;display:flex;align-items:center;justify-content:center;height:40px;width:40px;padding:0;margin:0 2px;background:#fff;border:none;border-radius:50%;box-shadow:0 4px 20px rgba(0,0,0,.25),0 0 0 3px rgba(255,255,255,.4)}#book-appointment-wizard .active-step strong{font-size:18px;font-weight:800;color:#0f6b54}#book-appointment-wizard .wizard-frame{padding:28px 20px 20px;background:#fff}#book-appointment-wizard .wizard-frame .frame-container{min-height:auto;padding:0}@media (min-width:768px){#book-appointment-wizard .wizard-frame{padding:32px 36px 28px}}#book-appointment-wizard .frame-container .frame-title{font-size:11px;font-weight:800;letter-spacing:3.5px;text-transform:uppercase;text-align:center;color:#1a9070;margin-bottom:28px;position:relative;padding-bottom:16px}#book-appointment-wizard .frame-container .frame-title::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:36px;height:3px;background:linear-gradient(90deg,#1a9070,#25b38a);border-radius:99px}#book-appointment-wizard #wizard-frame-1 label{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#7a8fa6;margin-bottom:10px}#book-appointment-wizard #wizard-frame-1 select{margin-bottom:0}#book-appointment-wizard .form-select{border:2px solid #e8eef5;border-radius:20px;padding:14px 20px;font-size:16px;font-weight:500;color:#1a2636;background-color:#f7fafd;box-shadow:none;min-height:54px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}#book-appointment-wizard .form-select:focus{border-color:#1a9070;background-color:#fff;box-shadow:0 0 0 4px rgba(26,144,112,.12);outline:0}#book-appointment-wizard #service-description{background:#f0fdf8;border-left:4px solid #25b38a;border-radius:0 20px 20px 0;padding:14px 18px;color:#3d5c50;font-size:14px;line-height:1.7;max-height:140px;box-shadow:none}#book-appointment-wizard #select-time{max-width:100%;padding:0;margin:0}#book-appointment-wizard #select-time b{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#9ab0c0;margin-bottom:14px;padding-top:8px}#book-appointment-wizard #available-hours{max-height:380px;margin:0;padding-right:4px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c0d8ce #f0f8f5;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}#book-appointment-wizard #available-hours::-webkit-scrollbar{width:4px}#book-appointment-wizard #available-hours::-webkit-scrollbar-track{background:#f0f8f5;border-radius:2px}#book-appointment-wizard #available-hours::-webkit-scrollbar-thumb{background:#c0d8ce;border-radius:2px}#book-appointment-wizard #available-hours div{margin-right:0}#book-appointment-wizard #available-hours .available-hour{margin-bottom:0}#book-appointment-wizard #available-hours .available-hour .btn{width:100%;border-radius:20px;border:2px solid #d8eee7;background:#f3fdfb;color:#0f6b54;font-weight:700;font-size:15px;padding:13px 10px;transition:all .18s ease;text-align:center;letter-spacing:.3px;min-height:50px}#book-appointment-wizard #available-hours .available-hour .btn:hover{background:#e2f8f0;border-color:#1a9070;box-shadow:0 4px 12px rgba(26,144,112,.18);transform:translateY(-1px)}#book-appointment-wizard #available-hours .selected-hour{background:linear-gradient(135deg,#0f6b54,#1a9070)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 6px 18px rgba(15,107,84,.45)!important;transform:translateY(-2px)}@media (min-width:768px){#book-appointment-wizard #available-hours{grid-template-columns:1fr;max-height:360px;padding-right:6px}}#book-appointment-wizard .flatpickr-calendar{box-shadow:0 12px 40px rgba(0,0,0,.12)!important;border-radius:20px!important;border:none!important;overflow:hidden;margin:0 auto 16px}#book-appointment-wizard .form-label{font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#7a8fa6;margin-bottom:7px}#book-appointment-wizard .form-control{border:2px solid #e8eef5;border-radius:20px;padding:14px 18px;font-size:16px;font-weight:500;color:#1a2636;background-color:#f7fafd;box-shadow:none;min-height:54px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}#book-appointment-wizard .form-control:focus{border-color:#1a9070;background-color:#fff;box-shadow:0 0 0 4px rgba(26,144,112,.12);outline:0}#book-appointment-wizard textarea.form-control{resize:vertical;min-height:110px}#book-appointment-wizard #wizard-frame-4 .frame-container .frame-content{max-width:720px}#book-appointment-wizard #appointment-details{background:linear-gradient(145deg,#f2fdf9,#eaf8f2);border:1.5px solid #c8e8dc;border-radius:28px;padding:24px;text-align:left!important;margin-bottom:16px}@media (min-width:768px){#book-appointment-wizard #appointment-details{margin-bottom:0}}#book-appointment-wizard #customer-details{background:linear-gradient(145deg,#f7f9fc,#f0f4f9);border:1.5px solid #d0dce8;border-radius:28px;padding:24px;text-align:left!important}#book-appointment-wizard #appointment-details p,#book-appointment-wizard #customer-details p{font-size:15px;line-height:1.8;color:#345}#book-appointment-wizard .wizard-frame .command-buttons{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;float:none;margin:24px 0 0;text-align:center;border-top:1.5px solid #edf2f7;padding-top:22px}#book-appointment-wizard .wizard-frame .command-buttons .btn{border-radius:99px;padding:14px 32px;font-size:14px;font-weight:700;letter-spacing:.5px;min-width:130px;margin-right:0;transition:all .22s ease;flex:1}#book-appointment-wizard .wizard-frame .command-buttons #book-appointment-submit,#book-appointment-wizard .wizard-frame .command-buttons .btn-dark,#book-appointment-wizard .wizard-frame .command-buttons .btn-primary{background:linear-gradient(135deg,#0f6b54 0,#1a9070 100%);border:none;color:#fff;box-shadow:0 8px 24px rgba(15,107,84,.42)}#book-appointment-wizard .wizard-frame .command-buttons #book-appointment-submit:hover,#book-appointment-wizard .wizard-frame .command-buttons .btn-dark:hover,#book-appointment-wizard .wizard-frame .command-buttons .btn-primary:hover{background:linear-gradient(135deg,#0d5f4a 0,#1fa880 100%);box-shadow:0 10px 28px rgba(15,107,84,.55);transform:translateY(-2px)}#book-appointment-wizard .wizard-frame .command-buttons #book-appointment-submit:active,#book-appointment-wizard .wizard-frame .command-buttons .btn-dark:active,#book-appointment-wizard .wizard-frame .command-buttons .btn-primary:active{transform:translateY(0);box-shadow:0 4px 12px rgba(15,107,84,.35)}#book-appointment-wizard .wizard-frame .command-buttons .btn-outline-secondary{border:2px solid #dce4ed;color:#7a90a4;background:0 0;box-shadow:none}#book-appointment-wizard .wizard-frame .command-buttons .btn-outline-secondary:hover{border-color:#b0bfcc;background:#f4f7fa;color:#4a6070}@media (min-width:480px){#book-appointment-wizard .wizard-frame .command-buttons .btn{flex:0 0 auto}}.booking-header-bar{background:#fffbf0;border-bottom:1.5px solid #eeddb0;padding:14px 20px}#message-frame,#success-frame{border-radius:0 0 28px 28px;padding:52px 32px}#book-appointment-wizard .form-check-input:checked{background-color:#1a9070;border-color:#1a9070}#book-appointment-wizard .form-check-input:focus{box-shadow:0 0 0 3px rgba(26,144,112,.22);border-color:#1a9070}@media (max-width:767px){#book-appointment-wizard #header{padding:18px 20px 36px}#book-appointment-wizard .wizard-frame{padding:22px 16px 16px}#book-appointment-wizard .frame-container .frame-title{font-size:10px;margin-bottom:20px}#book-appointment-wizard .wizard-frame .command-buttons{gap:10px}#book-appointment-wizard .flatpickr-calendar{margin:0 auto 12px!important;font-size:14px}#book-appointment-wizard #appointment-details,#book-appointment-wizard #customer-details{border-radius:20px;padding:18px}}#service-cards{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:160px;gap:10px 12px;overflow-x:auto;overflow-y:hidden;padding-bottom:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2d9e82 #e0e7ef}#service-cards::-webkit-scrollbar{height:6px}#service-cards::-webkit-scrollbar-track{background:#e0e7ef;border-radius:3px}#service-cards::-webkit-scrollbar-thumb{background:#2d9e82;border-radius:3px}#service-cards .service-card{scroll-snap-align:none;border:2px solid #e0e7ef;border-radius:14px;padding:12px 14px;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s;background:#fff;user-select:none}#service-cards .service-card:hover{border-color:#1a9070;box-shadow:0 4px 16px rgba(26,144,112,.12)}#service-cards .service-card.selected{border-color:#0f6b54;background:linear-gradient(135deg,#f0faf6,#e8f7f2);box-shadow:0 6px 24px rgba(15,107,84,.18)}#service-cards .service-card:nth-child(odd){scroll-snap-align:start}#service-cards .service-card-name{font-size:.9rem;font-weight:700;margin-bottom:6px;color:#1a2e28}#service-cards .service-card-detail{font-size:.78rem;color:#555;margin-top:3px}#service-cards .service-card-attendants{font-size:.78rem;color:#0f6b54;font-weight:600;margin-top:6px}.stepper-row{display:flex;gap:16px}.stepper-block{flex:1;min-width:0}.stepper-label{display:block;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#6b7c8f;margin-bottom:6px;line-height:1.3}.booking-stepper{display:flex;align-items:center;border:2px solid #e4ecf2;border-radius:12px;overflow:hidden;background:#f8fbfd;transition:border-color .2s,box-shadow .2s,background .2s}.booking-stepper:focus-within{border-color:#2d9e82;background:#fff;box-shadow:0 0 0 4px rgba(45,158,130,.12)}.booking-stepper .stepper-btn{flex-shrink:0;width:42px;height:46px;border:none;background:0 0;color:#2d9e82;font-size:22px;font-weight:400;line-height:1;cursor:pointer;padding:0;transition:background .15s,color .15s;user-select:none}.booking-stepper .stepper-btn:hover{background:#e6f7f2;color:#1e7d65}.booking-stepper .stepper-btn:active{background:#cceee5}.booking-stepper .stepper-btn:disabled{color:#c8d8e4;cursor:default}.booking-stepper .stepper-input{flex:1;min-width:0;border:none;border-radius:0;background:0 0;box-shadow:none;text-align:center;font-size:16px;font-weight:700;color:#1a2e28;padding:10px 2px;outline:0;appearance:none;-webkit-appearance:none}.booking-stepper .stepper-input::-ms-clear,.booking-stepper .stepper-input::-ms-reveal,.booking-stepper .stepper-input::-webkit-search-cancel-button{display:none}.booking-stepper .stepper-input.is-invalid{color:#dc3545}