/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

.calendar {
    position: relative;
    display: inline-block;
    width: 320px;
    min-height: 300px;
    padding: 16px 12px;
    outline: 0;
    overflow: hidden;

    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu,
        Cantarell, "Open Sans", "Helvetica Neue", "Roboto Rouble", sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.calendar_width_available {
        width: 100%;
    }

.calendar,
    .calendar *,
    .calendar *:before,
    .calendar *:after {
        box-sizing: border-box;
    }

.calendar__select-buttons {
        text-align: center;
    }

.calendar__name {
        transition: 0.2s;
    }

.calendar__name_month,
        .calendar__name_year {
            display: inline-block;
            vertical-align: top;
            padding: 0 8px 0 12px;

            height: 30px;

            cursor: pointer;
            outline: none;

            font-size: 18px;
            line-height: 30px;

            border-radius: 4px;
        }

.calendar__name_month .calendar__select-text {
                min-width: 82px;
            }

.calendar__name_year {
            margin-left: 8px;
        }

.calendar__name_year .calendar__select-text {
                min-width: 42px;
            }

.calendar__wrapper {
        position: absolute;
        z-index: 3;
        left: 0;
        right: 0;
        top: 46px;
        bottom: 0;
        overflow: hidden;
    }

.calendar__wrapper:before {
            display: block;
            position: absolute;
            z-index: 2;
            left: 0;
            right: 0;
            top: 0;
            height: 20px;
            content: "";
        }

.calendar__years,
    .calendar__months {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        padding: 16px 0;
        text-align: center;
    }

.calendar__months {
        overflow: hidden;
    }

.calendar__years {
        overflow: auto;

        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        scrollbar-width: none;
    }

.calendar__years::-webkit-scrollbar {
            display: none;
        }

.calendar__select {
        display: inline-block;
        vertical-align: top;

        margin: 4px;
        width: 90px;
        height: 48px;

        box-sizing: border-box;
        border-radius: 4px;
        outline: none;

        line-height: 46px;
        text-align: center;
        cursor: pointer;

        transition: 0.2s;
    }

.calendar__layout {
        border-collapse: separate;
        border-spacing: 0;
        width: 100%;
    }

.calendar__title {
        position: relative;
        padding: 0 0 20px;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

.calendar__layout {
        padding: 0;
        text-align: center;
    }

.calendar__dayname {
        cursor: default;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.2;

        padding: 0 0 4px;
    }

.calendar__day {
        width: 34px;
        height: 30px;
        margin: 8px auto 0;

        cursor: pointer;
        border-radius: 4px;
        line-height: 30px;
        text-align: center;
        position: relative;
        outline: none;

        transition: 0.2s;
    }

.calendar__arrow {
        position: absolute;
        top: 0;

        width: 24px;
        height: 30px;
        line-height: 30px;
        text-align: center;
        cursor: pointer;
        outline: none;

        font-size: 18px;

        mix-blend-mode: normal;
        border-radius: 4px;

        display: flex;
        align-items: center;
    }

.calendar__arrow_direction_left {
            left: 0;
        }

.calendar__arrow_direction_right {
            right: 0;
        }

.calendar__select-arrows {
        position: relative;
        float: right;

        height: 30px;

        display: flex;
        align-items: center;
    }

.calendar__select-text {
        position: relative;
        float: left;
        text-align: left;
    }

.calendar__arrow:hover {
        opacity: 1;
    }

.calendar__day_type_weekend {
        /* font-weight: var(--font-weight-medium); */
    }

.calendar__event {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        position: absolute;
        bottom: -5px;
        left: 50%;
        margin-left: -5px;
    }

.calendar__event:after {
            content: "";
            position: absolute;
            top: 2px;
            left: 2px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
        }

.calendar__day_state_today,
    .calendar__day_state_current {
        position: relative;
        outline: 0;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        text-align: center;
        z-index: 2;
    }

.calendar__day_state_today {
        box-sizing: border-box;
        border-radius: 4px;
    }

.calendar__day_empty,
    .calendar__select_type_off,
    .calendar__day_type_off,
    .calendar__day_type_weekend-off {
        cursor: default;
    }

.calendar__arrow_disabled {
        pointer-events: none;
        cursor: default;
    }

.calendar__arrow_disabled,
        .calendar__arrow_disabled:hover {
            opacity: 0;
        }

/*# sourceMappingURL=calendar.css.map */
