/*! Vanilla JS Calendar v1.4.9 | MIT License | github.com/uvarov-frontend/vanilla-calendar */
:root{
    --day-color: #2b65cb;
    --weekend-color:#d9415a;
    --today-color:#0e7cea;
    --today-color-hover:#f0f8ff;
    --month-color:#404256;
    --hover-color:#fff5ee;
    --disabled-color:#f5f5f5;
    --disabled-text-color:#d3d3d3;
    --back-color:#fff;
}
body.dark{
    --day-color:#7198db;
    --today-color:#48a4ff;
    --today-color-hover:#244276;
    --month-color:#b9bbd5;
    --hover-color:#3e3f46;
    --disabled-color:#1f2026;
    --disabled-text-color:#4f4e59;
    --back-color:#242526;
}
.vanilla-calendar {
    width: 260px;
    min-width: -webkit-min-content;
    min-width: -moz-min-content;
    min-width: min-content;
    display: grid;
    grid-template-areas: "header header" "column content";
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    background-color: #fff;
    padding: 12px;
    border-radius: 4px;
}
.vanilla-calendar button.focus-visible {
    outline: 1px solid #ff8c00;
}
.vanilla-calendar button:focus-visible {
    outline: 1px solid #ff8c00;
}
.vanilla-calendar-header {
    grid-area: header;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 6px;
}
.vanilla-calendar-header__content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: -webkit-max-content;
    grid-auto-columns: max-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 15px;
}
.vanilla-calendar-column {
    grid-area: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-right: 5px;
}
.vanilla-calendar-column__title {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    color: var(--today-color);
    width: 20px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.vanilla-calendar-column__content {
    display: grid;
    grid-auto-flow: row;
    grid-column-gap: 5px;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-items: center;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.vanilla-calendar-content {
    grid-area: content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.vanilla-calendar-arrow {
    position: relative;
    right: 2px;
    display: block;
    font-size: 0;
    width: 18px;
    height: 18px;
    padding: 2px;
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    border-radius: 4px;
    border: 0;
}
.vanilla-calendar-arrow::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 5px;
    width: 10px;
    height: 1px;
    background-color: var(--month-color);
    -webkit-transform: rotateZ(45deg);
    -ms-transform: rotate(45deg);
    transform: rotateZ(45deg);
}
.vanilla-calendar-arrow::after {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 5px;
    width: 10px;
    height: 1px;
    background-color: var(--month-color);
    -webkit-transform: rotateZ(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotateZ(-45deg);
}
.vanilla-calendar-arrow:hover::before,
.vanilla-calendar-arrow:hover::after {
    background-color: var(--today-color);
}
.vanilla-calendar-arrow_prev {
    right: 0;
    left: 4px;
    -webkit-transform: rotateZ(180deg);
    -ms-transform: rotate(180deg);
    transform: rotateZ(180deg);
}
.vanilla-calendar-months {
    border-radius: 4px;
    display: grid;
    grid-column-gap: 6px;
    -webkit-column-gap: 6px;
    -moz-column-gap: 6px;
    column-gap: 6px;
    grid-row-gap: 12px;
    row-gap: 12px;
    grid-template-columns: repeat(4, 1fr);
    background-color: var(--back-color);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.vanilla-calendar-months_selecting .vanilla-calendar-months__month {
    cursor: pointer;
}
.vanilla-calendar-months_selecting .vanilla-calendar-months__month_disabled {
    cursor: default;
}
.vanilla-calendar-months__month {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    height: 40px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    background-color: var(--back-color);
    border:0;
    color: var(--today-color);
    padding: 2px;
    border-radius: 4px;
    word-break: break-all;
}
.vanilla-calendar-months__month:hover {
    background-color: var(--today-color-hover);
}
.vanilla-calendar-months__month_selected {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-months__month_selected:hover {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-months__month_disabled {
    pointer-events: none;
    background-color: #fff;
    color: silver;
}
.vanilla-calendar-months__month_disabled:hover {
    background-color: #fff;
    color: silver;
}
.vanilla-calendar-month {
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
    color: var(--month-color);
    cursor: pointer;
    border-radius: 4px;
    padding: 2px;
    border: 0;
    background: none;
}
.vanilla-calendar-month:hover {
    color: var(--today-color);
}
.vanilla-calendar-month_not-active {
    color: silver;
}
.vanilla-calendar-month_disabled {
    pointer-events: none;
    color: silver;
}
.vanilla-calendar-years {
    border-radius: 4px;
    display: grid;
    grid-column-gap: 6px;
    -webkit-column-gap: 6px;
    -moz-column-gap: 6px;
    column-gap: 6px;
    grid-row-gap: 12px;
    row-gap: 12px;
    grid-template-columns: repeat(5, 1fr);
    background-color: var(--back-color);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.vanilla-calendar-years_selecting .vanilla-calendar-years__year {
    cursor: pointer;
}
.vanilla-calendar-years_selecting .vanilla-calendar-years__year_disabled {
    cursor: default;
}
.vanilla-calendar-years__year {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    height: 40px;
    font-size: 12px;
    line-height: 20px;
    font-weight: 700;
    background-color: var(--back-color);
    border:0;
    color: var(--today-color);
    padding: 2px;
    border-radius: 4px;
    word-break: break-all;
}
.vanilla-calendar-years__year:hover {
    background-color: var(--today-color-hover);
}
.vanilla-calendar-years__year_selected {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-years__year_selected:hover {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-years__year_disabled {
    pointer-events: none;
    background-color: #fff;
    color: silver;
}
.vanilla-calendar-years__year_disabled:hover {
    background-color: #fff;
    color: silver;
}
.vanilla-calendar-year {
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
    color: var(--month-color);
    cursor: pointer;
    border-radius: 4px;
    padding: 2px;
    border: 0;
    background: none;
}
.vanilla-calendar-year:hover {
    color: var(--today-color);
}
.vanilla-calendar-year_not-active {
    color: silver;
}
.vanilla-calendar-year_disabled {
    pointer-events: none;
    color: silver;
}
.vanilla-calendar-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-column-gap: 5px;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
    justify-items: center;
}
.vanilla-calendar-week__day {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    color: var(--day-color);
    width: 25px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.vanilla-calendar-week__day_weekend {
    color: var(--weekend-color);
}
.vanilla-calendar-week-number {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
    color: var(--today-color);
    width: 20px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.vanilla-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-column-gap: 5px;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
    grid-row-gap: 2px;
    row-gap: 2px;
    justify-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.vanilla-calendar-days_selecting .vanilla-calendar-day__btn {
    cursor: pointer;
    border: 0;
}
.vanilla-calendar-days_selecting .vanilla-calendar-day__btn_disabled {
    cursor: default;
    border: 0;
}
.vanilla-calendar-day {
    position: relative;
}
.vanilla-calendar-day__btn {
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    width: 25px;
    height: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    color:var(--text-color);
    background-color: var(--day-color-light);
    cursor: default;
}
.vanilla-calendar-day__btn:hover {
    background-color: var(--today-color-hover);
}
.vanilla-calendar-day__btn.focus-visible + .vanilla-calendar-day__popup,
.vanilla-calendar-day__btn:hover + .vanilla-calendar-day__popup {
    opacity: 1;
    pointer-events: auto;
}
.vanilla-calendar-day__btn:focus-visible + .vanilla-calendar-day__popup,
.vanilla-calendar-day__btn:hover + .vanilla-calendar-day__popup {
    opacity: 1;
    pointer-events: auto;
}
.vanilla-calendar-day__btn_today {
    background-color: var(--today-color-hover);
    color: var(--today-color);
    font-weight: 600;
}
.vanilla-calendar-day__btn_today:hover {
    color: var(--today-color);
    background-color: var(--today-color-hover);
}
.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next {
    background-color: var(--disabled-color);
    color: var(--disabled-text-color);
}
.vanilla-calendar-day__btn_selected {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-day__btn_selected:hover {
    background-color: var(--today-color);
    color: #fff;
}
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next {
    background-color: var(--disabled-color);
    color: gray;
}
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover {
    background-color: var(--disabled-color);
    color: gray;
}
.vanilla-calendar-day__btn_weekend,
.vanilla-calendar-day__btn_holiday {
    color: var(--weekend-color);
}
.vanilla-calendar-day__btn_weekend:hover,
.vanilla-calendar-day__btn_holiday:hover {
    background-color: var(--hover-color);
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today {
    color: var(--weekend-color);
    background-color: var(--hover-color);
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_disabled {
    color: var(--disabled-text-color);
    background-color: var(--disabled-color);
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next {
    background-color: var(--disabled-color);
    color: var(--disabled-text-color);
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected {
    background-color: var(--weekend-color);
    color: #fff;
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover {
    background-color: var(--weekend-color);
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next {
    background-color: var(--disabled-color);
    color: gray;
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev:hover,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next:hover {
    background-color: var(--disabled-color);
    color: gray;
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_next,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_next {
    color: var(--disabled-text-color);
}
.vanilla-calendar-day__btn_prev,
.vanilla-calendar-day__btn_next,
.vanilla-calendar-day__btn_disabled {
    background-color: var(--disabled-color);
    color: var(--disabled-text-color);
}
.vanilla-calendar-day__btn_prev:hover,
.vanilla-calendar-day__btn_next:hover,
.vanilla-calendar-day__btn_disabled:hover {
    background-color: var(--disabled-color);
    color: var(--disabled-text-color);
}
.vanilla-calendar-day__btn_disabled {
    pointer-events: none;
}
.vanilla-calendar-day__popup {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 100%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 130px;
    padding: 16px 12px 8px;
    color: var(--month-color);
    font-size: 12px;
    line-height: 14px;
    font-weight: 400;
    opacity: 0;
    pointer-events: none;
}
.vanilla-calendar-day__popup:hover {
    opacity: 1;
    pointer-events: auto;
}
.vanilla-calendar-day__popup::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 8px);
    display: block;
    border-radius: 4px;
    background-color: #fff;
    -webkit-box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}
.vanilla-calendar-day__popup::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 2px;
    display: block;
    height: 0;
    width: 0;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
    border-style: solid;
    border-width: 0 10px 8px;
}
