

/* Start:/local/include/booking/assets/datepicker.css?17786859112470*/
.datepicker {
    display: inline-block;
    border: 2px solid  #288d17;;
    padding: 10px;
    background: #fff;
    border-radius: 5px;
}
.datepicker-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.datepicker-header button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #333;
    outline: none!important;
    border-radius: 5px;
}

.datepicker-header button:hover {
    background: #f0f0f0;
}




.datepicker-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}


.datepicker-grid .day-name,
.datepicker-grid .day {
    font-size: 14px;
    text-align: center;
    padding: 5px;
    cursor: pointer;
    border: 1px solid transparent;
}
.datepicker-grid .day-name{
    font-size: 12px;
    text-transform: uppercase;
    color: #959595;
}

.datepicker-grid .day {
    border-radius: 50%;
}

.datepicker-grid .day:hover {
    background: #f0f0f0;
}
.datepicker-grid .day.selected {
    background: #288d17;
    color: #fff;
}
.datepicker-grid .day.disabled {
    color: #ccc;
}
.datepicker-grid .day.grayed {
    color: #ccc;
}

.datepicker-weekdays{
    text-align: center;
    padding: 5px;
    cursor: pointer;
    border: 1px solid transparent;
}

.custom-datepicker{
    position: relative;
    display: inline-flex;
    z-index: 10;
}

.custom-datepicker input.custom-datepicker-input{
    cursor: pointer;
    appearance: none;
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>');
}

.custom-datepicker-grid{
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: calc(100% + 10px);
    transform: translateY(10px);
    transition: 150ms;
}

.custom-datepicker.--is-opened input.custom-datepicker-input{
    outline: 1px solid #288d17;
    border-color: #288d17;
}

.custom-datepicker.--is-opened .custom-datepicker-grid{
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);

}

/* End */


/* Start:/local/include/booking/assets/booking.css?177868591111428*/
.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.booking-form{
    background: #f2f2f2;
    padding: 4rem;
    position: relative;
}



.booking-form-overlay{
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.booking-form-overlay-waiting{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;

}

.booking-form-overlay-waiting:after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    height: 40px;
    margin-top: calc(-40px/2);
    margin-left: calc(-40px/2);
    border: 4px solid red;
    border-color: #505050 transparent;
    border-radius: 50%;
    animation: spinner 0.8s ease-in-out infinite;
}

@keyframes spinner {
    to { transform:  rotate(360deg); }
}


.booking-form-overlay-message{
    text-align: center;

}
.booking-form-overlay-img{
    max-width: 100px;
    margin: 0 auto 1rem;
}
.booking-form-overlay-img svg{

}
.booking-form-overlay-title{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
}
.booking-form-overlay-text{
    max-width: 500px;
    margin: 0 auto;
}

.booking-form-state{
    position: absolute;
    right: 1rem;
    top: 1rem;
    background: beige;
    padding: 1rem;
}

.booking-form-row{
    display: block;
    max-width: 700px;
    margin-bottom: 2rem;
}
.booking-form-title{
    display: block;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 1rem;
}
.booking-form-inner{
    display: block;
}
.booking-form-group-buttons{
    margin-bottom: 1rem;
    flex-wrap: wrap;
    display: flex;
    gap: 1rem;
}
.booking-form-group-checkbox{
    margin-bottom: 1rem;
    flex-wrap: wrap;
    display: flex;
    gap: 2rem;
}
.booking-form-group-input{
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    margin-bottom: 1rem;
    flex-wrap: wrap;
    display: grid;
    gap: 1rem;
}

.booking-form-group-input-box{
    position: relative;
}

.booking-form-group-input-box[data-error-message]:after{
    position: absolute;
    left: 1px;
    top: calc(100% + 4px);
    content: attr(data-error-message);
    font-size: 14px;
    color: red;
}

.booking-form-group-input input{
    width: 100%;
}

.booking-form-group-input.--double{
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.booking-form-inner textarea.input{
    width: 100%;
    min-height: 120px;
    resize: vertical;
}
.booking-form-inner .btn{
    color: #000;
    line-height: 1;
    min-width: 80px;
    background: #fff;
    border-radius: 5px;
    padding: 10px 1rem;
    border: 1px solid gray;
}



.booking-form-inner .btn span{

}

.booking-form-inner .btn.--is-selected{
    color: #288d17;
    border-color: #288d17;
    background-color: #dbe7d9;
    box-shadow: none;
}

.booking-form-inner .checkbox{
    justify-content: center;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    gap: 6px;
}

.booking-form-inner .checkbox.--is-disabled{
    filter: opacity(0.5);
    cursor: default;
}


.booking-form-inner .checkbox input{
    appearance: none;
    background: #fff;
    width: 24px;
    height: 24px;
    border:1px solid gray;
    border-radius: 3px;
}

.booking-form-inner .checkbox span{
    line-height: 1;
}

.booking-form-inner .checkbox input:checked{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23288d17" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>');
}

.booking-form-inner .checkbox.checkbox-like-button input{
    display: none;
}
.booking-form-inner .checkbox.checkbox-like-button input:checked + span{
    color: #288d17;
    border-color: #288d17;
    background-color: #dbe7d9;
    box-shadow: none;
}


.booking-form-inner .input{
    color: #000;
    background: #fff;
    padding: 10px 1rem;
    border:1px solid gray;
    line-height: 1;
    border-radius: 5px;
}

.booking-form-inner .input.--has-error{
    border-color: red;
    outline: none!important;
    background: #fff9f9;
}

.booking-form-inner .input:disabled {
    filter: opacity(0.5);
    cursor: default;
}



.booking-form-inner .label-date{
    position: relative;
}

.booking-form-inner .label-date.--is-disabled:after{
    position: absolute;
    content: '';
    z-index: 1;
    inset: 0;
}

.booking-form-inner .label-date.--is-disabled *{
    filter: opacity(0.5);
}

.booking-form-inner .input[type=date]{

}

.booking-form-inner .input[type=date]:disabled{

    cursor: default;
}

.booking-form-inner .input:focus{
    outline: 1px solid #288d17;
    border-color: #288d17;
}

.booking-form-footer{
    gap: 1rem;
    display: flex;
}

.booking-form-footer .booking-form-assept{
    flex: 1;
}

.booking-form-footer .booking-form-btn{
    flex: 1;
}

.booking-form-footer .booking-form-btn .btn{
    border-color: #be3b3f;
    background: #be3b3f;
    outline-color: #be3b3f;
    color: #fff;
    width: 100%;
    height: 100%;
}
.booking-form-footer .booking-form-btn .btn:focus{
    box-shadow: 0 0 0 .2rem #be3b3f38;
}
.booking-form-footer .booking-form-btn .btn:not(.--is-loading):disabled{
    filter: opacity(0.5);
    cursor: default;
}

.booking-form-footer .booking-form-btn .btn.--is-loading{
    position: relative;
    cursor: default;
    color: transparent;
}

.booking-form-footer .booking-form-btn .btn.--is-loading::after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: calc(-24px / 2);
    margin-left: calc(-24px / 2);
    width: 24px;
    height: 24px;
    border: 2px solid transparent;
    border-color: #fff transparent;
    border-radius: 50%;
    animation: spinner 0.6s linear infinite;
}


.booking-form-captcha{
    display: flex;
    gap: 1rem;
}
.booking-form-captcha-title{
    color: #7d7d7d;
    display: block;
    margin-bottom: 5px;
}

.booking-form-captcha-container{

}

.booking-form-captcha-picture{
    display: grid;
    grid-template-columns: 1fr 40px;
    background: #ffffff;
    padding: 5px;
    box-sizing: border-box;
    gap: 10px;
}



.booking-form-captcha-renew{
    width: 40px;
    height: 40px;
    padding: 10px;
    background: #f2f2f2;
    border-radius: 5px;
    cursor: pointer;
}



.booking-form-captcha-renew svg{
    width: 100%;
    height: 100%;
}

.booking-form-captcha-picture img{
    object-fit: scale-down;
}

.booking-form-captcha-input{
    width: auto;
    padding: 10px 1rem;
    height: 50px;
}

.booking-form-captcha-picture.--is-disabled * {
    pointer-events: none;
    opacity: .8;
}



.popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    display: block;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    display: none;
}

.popup.--is-open{
    display: flex;
    opacity: 1;
    visibility: visible;
}

.popup .popup__bg{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}
.popup .popup__table {
    display: table;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    text-align: center;
    overflow: auto;
    z-index: 6;
}

.popup .popup__table-cell {
    display: table-cell;
    overflow: auto;
    padding: 0em;
    height: 100%;
    overflow: auto;
    vertical-align: middle;
    padding: 2em;
}

.popup .popup__close {
    position: absolute;
    right: 1em;
    top: 1em;
    width: 20px;
    height: 20px;
    display: block;
    background: transparent;
    outline: none;
    cursor: pointer;
    border: none;
    background: url(/local/templates/mz/assets/img/close.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.popup  .popup__dialog{
    position: relative;
    min-height: 200px;
    min-width: 300px;
    background: #fff;
    border-radius: 10px;
    max-width: 490px;
    margin: 0px auto;
    border: 2px solid var(--color-main);
    z-index: 1;
    padding: 2em;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .popup  .popup__dialog{
        padding: 0em;
    }
}


.notice {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    max-width: 600px;
    bottom: 1rem;
    width: 100%;
    z-index: 10000000000;
}
@media screen and (max-width: 480px) {
    .notice {
        bottom: 0;
    }
}
.notice .notice__item {
    display: table;
    display: grid;
    width: 100%;
    background: #363636;
    box-sizing: border-box;
    padding: 1rem 2rem;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 1rem;
    box-shadow: 0px 4px 10px 0px #0000004f;
}
@media screen and (max-width: 480px) {
    .notice .notice__item {
        margin-bottom: 0;
        border-radius: 0;
    }
}
.notice .notice__item.notice-success {
    background-color: #288d5b;
}

.notice .notice__item.notice-error {
    background-color: #be3b3f;
}


.notice .notice__item-icon {
    width: 40px;
    vertical-align: middle;
    display: grid;
    align-items: center;
    /* height: 100%; */
    display: table-cell;
}
.notice .notice__item-icon svg {
    display: inline-grid;
    width: 26px;
    height: 26px;
    --fill: transparent;
    --stroke: #fff;
}
.notice .notice__item-row {
    display: table-row;
}
.notice .notice__item-text {
    display: table-cell;
    width: 100%;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    vertical-align: middle;
    padding: 5px 1rem 5px 2rem;
}
.notice .notice__item-text-text {
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.1;
    font-weight: 400;
}
.notice .notice__item-text-text p {
    margin-bottom: 0;
    line-height: 1.2em;
    margin-bottom: 5px;
}
.notice .notice__item-text-text p:last-child {
    margin: 0;
}
.notice .notice__item-text-title {
    display: block;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 5px;
}
.notice .notice__item-text a {
    text-decoration: underline;
}
.notice .notice__item-controlls {
    display: table-cell;
    vertical-align: middle;
}
.notice .notice__item-controlls .btn {
    --font-size: 14px;
    --padding-top-bottom: 8px;
}
.notice .notice__item-controlls-close {
    background: transparent;
    padding: 0;
    border: none;
    cursor: pointer;
    display: flex;
    border-radius: 3px;
    padding: 2px;
    box-sizing: border-box;
    transition: 100ms linear;
}
.notice .notice__item-controlls-close svg {
    stroke: #fff;
}
.notice .notice__item-controlls-close:hover {
    background: #0000001f;
}


@media screen and (max-width: 480px) {
    .booking-form{
        padding: 1rem;
    }
    .booking-form-group-buttons{
        gap: 10px;
    }
    .booking-form-inner .btn{
        padding: 10px ;
    }

    .booking-form-group-checkbox{
        gap: 0;
    }
    .booking-form-group-checkbox .checkbox {
        width: 100%;
        justify-content: flex-start;
    }

    .booking-form-footer{
        flex-wrap: wrap;
    }
    .booking-form-row{
        margin-bottom: 1rem;
    }

    .booking-form-footer .booking-form-assept,
    .booking-form-footer .booking-form-btn{
        flex: unset;
        width: 100%;
    }

}
/* End */


/* Start:/local/include/booking/assets/drop.css?17786859116172*/
.drop {
    /*
        drop-btn
     */
    --drop-btn-border:1px solid #ddd;
    --drop-btn-border-radius:3px;
    --drop-btn-background:#fff;
    --drop-btn-cursor:pointer;
    --drop-btn-border-hover:1px solid var( --color-pink);
    --drop-btn-background-hover:#fff;
    --drop-btn-border-active:1px solid var(--color-gray);
    --drop-btn-background-active:#fff;
    --drop-btn-icon-size:12px;
    --drop-btn-icon-offset-y:1px;
    --drop-btn-icon-stroke:#000;
    --drop-btn-icon-stroke-width:1px;
    --drop-btn-preloader-size: 20px;
    --drop-btn-preloader-stroke-width: 10px;
    --drop-btn-preloader-stroke-color: var(--color-background);
    --drop-btn-padding-tb:10px;
    --drop-btn-padding-lr:10px;
    --drop-btn-gap:10px;
    --drop-btn-slot-offset-y:-1px;
    --drop-container-width:100%;
    --drop-container-max-width:unset;
    --drop-content-width:auto;
    --drop-content-min-width:220px;
    --drop-content-button-background:#fff;
    --drop-content-button-background-hovered:whitesmoke;
    --drop-content-button-background-active:#f1f1f1;
    --drop-content-button-color:#282828;
    --drop-content-button-color-hovered:#282828;
    --drop-content-button-color-active:#282828;
    --drop-content-button-padding-tb:10px;
    --drop-content-button-padding-lr:20px;
    /*
        drop-content-filter
     */
    --drop-content-filter-padding:0;
    --drop-content-filter-border-bottom:1px solid #ddd;
    --drop-content-filter-input-padding:13px 20px 13px;
    --drop-content-filter-input-border:none;
    --drop-content-filter-input-border-radius: 5px 5px 0 0;
    --drop-content-filter-input-font-size:14px;
    position: relative;
}
.drop .drop-btn {
    position: relative;
    padding-right: calc(var(--drop-btn-gap) + var(--drop-btn-icon-size));
    min-height: var(--drop-btn-icon-size);
    border: var(--drop-btn-border);
    background: var(--drop-btn-background);
    border-radius: var(--drop-btn-border-radius);
    cursor: var(--drop-btn-cursor);
    max-width: 100%;
    padding: 0;
    background: transparent;
}
.drop:not(.--is-disabled) .drop-btn:hover {
    border: var(--drop-btn-border-hover, var(--drop-btn-border));
    background: var(--drop-btn-background-hover, var(--drop-btn-background));
}
.drop .drop-btn-slot {
    padding: var(--drop-btn-padding-tb) var(--drop-btn-padding-lr);
    transform: translateY(var(--drop-btn-slot-offset-y));
}
.drop .drop-btn-preloader, .drop .drop-btn-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: var(--drop-btn-icon-size);
    height: var(--drop-btn-icon-size);
    top: calc(50% + var(--drop-btn-icon-offset-y));
    right: var(--drop-btn-gap);
    transform: translateY(-50%);
}
.drop .drop-btn-preloader {
    width: var(--drop-btn-preloader-size);
    height: var(--drop-btn-preloader-size);
}

.drop .drop-container-inner{
    border: 1px solid #ddd;
    border-radius: 5px;
}

.drop .drop-container {
    display: none;
    position: absolute;
    transform: translateY(5px);
    top: 100%;
    left: 0;
    padding-top: 10px;
    box-sizing: border-box;
    width: var(--drop-container-width);
    max-width: var(--drop-container-max-width);
    min-width: min-content;
}



.drop .drop-container::before {
    content: "";
    position: absolute;
    left: 1em;
    top: 0;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 10px solid #d9d9d9;
}
.drop .drop-content {
    min-width: var(--drop-content-min-width);
    width: var(--drop-content-width);
    background: #fff;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.2);
    border-radius: 0px;
    box-sizing: border-box;
    border: 0px solid #d9d9d9;
}
.drop .drop-content-filter {
    padding: var(--drop-content-filter-padding);
    border-bottom: var(--drop-content-filter-border-bottom);
    position: relative;
    z-index: 1;
}
.drop .drop-content-filter input {
    display: block;
    width: 100%;
    padding: var(--drop-content-filter-input-padding);
    border: var(--drop-content-filter-input-border);
    border-radius: var(--drop-content-filter-input-border-radius);
    font-size: var(--drop-content-filter-input-font-size);
}
.drop .drop-content-list {
    max-height: 260px;
    margin: 0;
    overflow: auto;
    padding: 10px 0;
}
.drop .drop-content-list-title {
    padding: 0px 20px 5px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1em;
}
.drop .drop-content-list-text {
    padding: 0px 20px 5px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1em;
}
.drop .drop-content-list-text b {
    font-weight: 500;
}
.drop .drop-content-list-selected {
    border-bottom: 1px solid #ededed;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
.drop .drop-content-list-selected .drop-content-list-item-off {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding-left: 5px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.6392156863), white);
}
.drop .drop-content-list-selected .drop-content-list-item-off .close {
    --volume: 1px;
}
.drop .drop-content-list-item {
    white-space: nowrap;
    font-size: 16px;
    padding: 6px 20px;
    line-height: 1.4em;
    display: block;
    color: #282828;
    font-weight: 400;
    position: relative;
    cursor: pointer;
}

.drop .drop-content-list-item:hover{
    background-color: whitesmoke;
}

.drop .drop-content-footer {
    display: block;
    padding: 1rem;
    position: relative;
    border-top: 1px solid #ddd;
}
.drop .drop-content-footer .btn {
    border-radius: 5px;
    height: auto;
    font-size: 14px;
    width: 100%;
    padding: 12px 10px;
}
.drop.--open .drop-btn {

    /*
    &:hover{
        border: var(--drop-btn-border-active, var(--drop-btn-border));
        background: var(--drop-btn-background-active, var(--drop-btn-background));
    }
    */
}
.drop.--open .drop-btn-arrow {
    transform: translateY(-50%) rotate(180deg);
}
.drop.--open .drop-container {
    display: block;
    z-index: 100;
}
/* End */
/* /local/include/booking/assets/datepicker.css?17786859112470 */
/* /local/include/booking/assets/booking.css?177868591111428 */
/* /local/include/booking/assets/drop.css?17786859116172 */
