/*! name: @uvarov.frontend/vanilla-calendar | url: https://github.com/uvarov-frontend/vanilla-calendar */
 .vanilla-calendar{
    width:100%;
    min-width:-webkit-min-content;
    min-width:min-content;
    display:grid;
    grid-gap:12px;
    gap:12px;
    grid-template-columns:1fr;
    background-color:var(--secondaryColor);
    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{
    position:relative;
    display:flex;
    align-items:center
}
.vanilla-calendar-header__content{
    flex-grow:1;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:-webkit-max-content;
    grid-auto-columns:max-content;
    align-items:center;
    justify-content:center;
    padding:0 15px;
    white-space:pre-wrap
}
.vanilla-calendar-week-numbers{
    display:flex;
    flex-direction:column;
    align-items:center
}
.vanilla-calendar-week-numbers__title{
    font-size:12px;
    line-height:16px;
    font-weight:700;
    color: var(--primaryColorLight);
    width:28px;
    height:18px;
    margin-bottom:5px;
    display:flex;
    align-items:center;
    justify-content:center
}
.vanilla-calendar-week-numbers__content{
    display:grid;
    grid-auto-flow:row;
    grid-row-gap:2px;
    row-gap:2px;
    align-items:center;
    justify-items:center;
    flex-grow:1
}
.vanilla-calendar-wrapper{
    height:200px;
    display:flex;
    gap:4px
}
.vanilla-calendar-content{
    display:flex;
    flex-direction:column;
    flex-grow:1
}
.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(--primaryColor);
    -webkit-transform:rotateZ(45deg);
    transform:rotateZ(45deg)
}
.vanilla-calendar-arrow::after{
    content:"";
    position:absolute;
    left:5px;
    bottom:5px;
    width:10px;
    height:1px;
    background-color:var(--primaryColor);
    -webkit-transform:rotateZ(-45deg);
    transform:rotateZ(-45deg)
}
.vanilla-calendar-arrow:hover::before,.vanilla-calendar-arrow:hover::after{
    background-color:var(--primaryColorLight)
}
.vanilla-calendar-arrow_prev{
    right:0;
    left:4px;
    -webkit-transform:rotateZ(180deg);
    transform:rotateZ(180deg)
}
.vanilla-calendar-months{
    border-radius:4px;
    display:grid;
    grid-column-gap:6px;
    -webkit-column-gap:6px;
    column-gap:6px;
    grid-row-gap:12px;
    row-gap:12px;
    grid-template-columns:repeat(4, 1fr);
    background-color:var(--secondaryColor);
    flex-grow:1;
    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:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    height:40px;
    font-size:12px;
    line-height:16px;
    font-weight:700;
    background-color:var(--secondaryColor);
    color:var(--primaryColorLight);
    padding:2px;
    border-radius:4px;
    border:0;
    word-break:break-all
}
.vanilla-calendar-months__month:hover{
    background-color:var(--secondaryColorDarker)
}
.vanilla-calendar-months__month_selected{
    background-color:var(--primaryColorLight);
    color:var(--secondaryColor)
}
.vanilla-calendar-months__month_selected:hover{
    background-color:var(--primaryColorLight);
    color:var(--secondaryColor)
}
.vanilla-calendar-months__month_disabled{
    pointer-events:none;
    background-color:var(--secondaryColor);
    color:silver
}
.vanilla-calendar-months__month_disabled:hover{
    background-color:var(--secondaryColor);
    color:silver
}
.vanilla-calendar-month{
    font-size:16px;
    line-height:20px;
    font-weight:700;
    color:var(--primaryColor);
    cursor:pointer;
    border-radius:4px;
    padding:2px;
    border:0;
    background-color:rgba(0,0,0,0)
}
.vanilla-calendar-month:hover{
    color:var(--primaryColorLighter)
}
.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;
    column-gap:6px;
    grid-row-gap:12px;
    row-gap:12px;
    grid-template-columns:repeat(5, 1fr);
    background-color:var(--secondaryColor);
    flex-grow:1;
    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:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    height:40px;
    font-size:12px;
    line-height:20px;
    font-weight:700;
    background-color:var(--secondaryColor);
    color:var(--primaryColorLighter);
    padding:2px;
    border-radius:4px;
    border:0;
    word-break:break-all
}
.vanilla-calendar-years__year:hover{
    background-color:var(--secondaryColorDarker)
}
.vanilla-calendar-years__year_selected{
    background-color:var(--primaryColor);
    color:var(--secondaryColor)
}
.vanilla-calendar-years__year_selected:hover{
    background-color:var(--primaryColorLighter);
    color:var(--secondaryColor)
}
.vanilla-calendar-years__year_disabled{
    pointer-events:none;
    background-color:var(--secondaryColor);
    color:silver
}
.vanilla-calendar-years__year_disabled:hover{
    background-color:var(--secondaryColor);
    color:silver
}
.vanilla-calendar-year{
    font-size:16px;
    line-height:20px;
    font-weight:700;
    color:var(--primaryColor);
    cursor:pointer;
    border-radius:4px;
    padding:2px;
    border:0;
    background-color:rgba(0,0,0,0)
}
.vanilla-calendar-year:hover{
    color:var(--primaryColorLighter)
}
.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:2px;
    -webkit-column-gap:2px;
    column-gap:2px;
    justify-items:center;
    margin-bottom:5px
}
.vanilla-calendar-week__day{
    font-size:12px;
    line-height:16px;
    font-weight:700;
    color:var(--primaryColorLighter);
    width:28px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center
}
.vanilla-calendar-week__day_weekend{
    color:coral
}
.vanilla-calendar-week-number{
    font-size:12px;
    line-height:16px;
    font-weight:700;
    color:var(--primaryColorLighter);
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center
}
.vanilla-calendar-days{
    display:grid;
    grid-template-columns:repeat(7, 1fr);
    grid-column-gap:2px;
    -webkit-column-gap:2px;
    column-gap:2px;
    grid-row-gap:2px;
    row-gap:2px;
    justify-items:center;
    align-items:center;
    flex-grow:1
}
.vanilla-calendar-days_selecting .vanilla-calendar-day__btn{
    cursor:pointer
}
.vanilla-calendar-days_selecting .vanilla-calendar-day__btn_disabled{
    cursor:default
}
.vanilla-calendar-day{
    position:relative;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center
}
.vanilla-calendar-day.focus-visible .vanilla-calendar-day__popup,.vanilla-calendar-day:hover .vanilla-calendar-day__popup{
    opacity:1;
    pointer-events:auto
}
.vanilla-calendar-day:focus-visible .vanilla-calendar-day__popup,.vanilla-calendar-day:hover .vanilla-calendar-day__popup{
    opacity:1;
    pointer-events:auto
}
.vanilla-calendar-day__btn{
    font-size:12px;
    line-height:16px;
    font-weight:400;
    color:var(--primaryColor);
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background-color:var(--secondaryColor);
    border:0;
    cursor:default
}
.vanilla-calendar-day__btn:hover{
    background-color:var(--secondaryColorDarker)
}
.vanilla-calendar-day__btn_today{
    background-color:var(--secondaryColorDarker);
    color:var(--primaryColorLighter);
    font-weight:600
}
.vanilla-calendar-day__btn_today:hover{
    color:var(--primaryColorLighter);
    background-color:var(--secondaryColorDarker)
}
.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_prev,.vanilla-calendar-day__btn_today.vanilla-calendar-day__btn_next{
    background-color:#f5f5f5;
    color:#a9a9a9
}
.vanilla-calendar-day__btn_selected{
    background-color:#289b95;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_selected:hover{
    background-color:#289b95;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate{
    background-color:#68cec9;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate:hover{
    background-color:#68cec9;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_prev,.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_next{
    background-color:#f5f5f5;
    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:#f5f5f5;
    color:gray
}
.vanilla-calendar-day__btn_weekend,.vanilla-calendar-day__btn_holiday{
    color:coral
}
.vanilla-calendar-day__btn_weekend:hover,.vanilla-calendar-day__btn_holiday:hover{
    background-color:var(--secondaryColor)5ee
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_today,.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_today{
    color:coral;
    background-color:var(--secondaryColor)5ee
}
.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{
    color:#a9a9a9;
    background-color:#f5f5f5
}
.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:#d3d3d3;
    background-color:#f5f5f5
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected,.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected{
    background-color:coral;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected:hover,.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected:hover{
    background-color:coral;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate,.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate{
    background-color:#ffaa8a;
    color:var(--secondaryColor)
}
.vanilla-calendar-day__btn_weekend.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate:hover,.vanilla-calendar-day__btn_holiday.vanilla-calendar-day__btn_selected.vanilla-calendar-day__btn_intermediate:hover{
    background-color:#ffaa8a;
    color:var(--secondaryColor)
}
.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:#f5f5f5;
    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:#f5f5f5;
    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:#a9a9a9
}
.vanilla-calendar-day__btn_prev,.vanilla-calendar-day__btn_next{
    background-color:var(--secondaryColor);
    color:#a9a9a9
}
.vanilla-calendar-day__btn_prev:hover,.vanilla-calendar-day__btn_next:hover{
    background-color:var(--secondaryColor);
    color:#a9a9a9
}
.vanilla-calendar-day__btn_disabled{
    pointer-events:none;
    background-color:var(--secondaryColor);
    color:#d3d3d3
}
.vanilla-calendar-day__btn_disabled:hover{
    background-color:var(--secondaryColor);
    color:#d3d3d3
}
.vanilla-calendar-day__popup{
    position:absolute;
    z-index:2;
    left:50%;
    top:100%;
    -webkit-transform:translateX(-50%);
    transform:translateX(-50%);
    width:130px;
    padding:16px 12px 8px;
    color:var(--primaryColor);
    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:var(--secondaryColor);
    box-shadow:0 2px 20px rgba(0,0,0,.1)
}
.vanilla-calendar-day__popup::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    -webkit-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) var(--secondaryColor);
    border-style:solid;
    border-width:0 10px 8px
}
.vanilla-calendar-time{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-gap:12px;
    gap:12px;
    border-top:1px solid #dcdcdc;
    padding:12px 6px 0
}
.vanilla-calendar-time__content{
    display:flex;
    align-items:center
}
.vanilla-calendar-time__content input{
    box-sizing:border-box;
    position:relative;
    display:block;
    font-size:18px;
    line-height:18px;
    font-weight:600;
    text-align:center;
    color:var(--primaryColor);
    background-color:var(--secondaryColor);
    width:100%;
    padding:2px;
    margin:0;
    border:0;
    border-radius:4px
}
.vanilla-calendar-time__content input:hover{
    background-color:#faebd7
}
.vanilla-calendar-time__content input:disabled{
    cursor:default
}
.vanilla-calendar-time__content input:disabled:hover{
    background-color:rgba(0,0,0,0)
}
.vanilla-calendar-time__content input.focus-visible{
    outline:1px solid #ff8c00;
    background-color:var(--secondaryColor)
}
.vanilla-calendar-time__content input:focus-visible{
    outline:1px solid #ff8c00;
    background-color:var(--secondaryColor)
}
.vanilla-calendar-time__content input.vanilla-calendar-is-focus{
    background-color:#faebd7
}
.vanilla-calendar-time__hours{
    position:relative;
    width:25px;
    margin-right:6px
}
.vanilla-calendar-time__hours::after{
    content:":";
    display:block;
    position:absolute;
    right:-5px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    margin-top:-1px;
    font-size:14px;
    line-height:14px;
    font-weight:600;
    color:var(--primaryColor)
}
.vanilla-calendar-time__minutes{
    width:25px
}
.vanilla-calendar-time__keeping{
    cursor:pointer;
    display:block;
    font-size:11px;
    line-height:12px;
    font-weight:400;
    color:gray;
    margin-left:1px;
    margin-top:5px;
    padding:2px;
    border:0;
    background-color:rgba(0,0,0,0);
    border-radius:4px
}
.vanilla-calendar-time__keeping:hover{
    background-color:#faebd7
}
.vanilla-calendar-time__keeping:disabled{
    cursor:default
}
.vanilla-calendar-time__keeping:disabled:hover{
    background-color:rgba(0,0,0,0)
}
.vanilla-calendar-time__ranges{
    display:flex;
    flex-direction:column
}
.vanilla-calendar-time__range{
    font-size:0;
    position:relative;
    z-index:1
}
.vanilla-calendar-time__range::before{
    content:"";
    width:1px;
    height:8px;
    position:absolute;
    z-index:1;
    pointer-events:none;
    left:0;
    top:5px;
    margin-top:1px;
    background-color:#dcdcdc
}
.vanilla-calendar-time__range::after{
    content:"";
    width:1px;
    height:8px;
    position:absolute;
    z-index:1;
    pointer-events:none;
    right:0;
    top:5px;
    margin-top:1px;
    background-color:#dcdcdc
}
.vanilla-calendar-time__range:hover input::-webkit-slider-thumb{
    border-color:gray
}
.vanilla-calendar-time__range:hover input::-moz-range-thumb{
    border-color:gray
}
.vanilla-calendar-time__range input{
    width:100%;
    position:relative;
    -webkit-appearance:none;
    appearance:none;
    height:20px;
    cursor:pointer;
    margin:0;
    outline:none
}
.vanilla-calendar-time__range input.focus-visible::-webkit-slider-thumb{
    border-color:#ff8c00
}
.vanilla-calendar-time__range input:focus-visible::-webkit-slider-thumb{
    border-color:#ff8c00
}
.vanilla-calendar-time__range input.focus-visible::-moz-range-thumb{
    border-color:#ff8c00
}
.vanilla-calendar-time__range input:focus-visible::-moz-range-thumb{
    border-color:#ff8c00
}
.vanilla-calendar-time__range input::-webkit-slider-thumb{
    -webkit-appearance:none;
    appearance:none;
    margin-top:-8px;
    position:relative;
    z-index:2;
    box-sizing:border-box;
    border:1px solid #dcdcdc;
    height:16px;
    width:10px;
    box-shadow:none;
    border-radius:3px;
    background-color:var(--secondaryColor);
    cursor:pointer
}
.vanilla-calendar-time__range input::-moz-range-thumb{
    position:relative;
    z-index:2;
    box-sizing:border-box;
    border:1px solid #dcdcdc;
    height:16px;
    width:10px;
    box-shadow:none;
    border-radius:3px;
    background-color:var(--secondaryColor);
    cursor:pointer
}
.vanilla-calendar-time__range input::-webkit-slider-runnable-track{
    box-sizing:border-box;
    width:100%;
    height:1px;
    margin-top:1px;
    cursor:pointer;
    background-color:#dcdcdc
}
.vanilla-calendar-time__range input::-moz-range-track{
    box-sizing:border-box;
    width:100%;
    height:1px;
    margin-top:1px;
    cursor:pointer;
    background-color:#dcdcdc
}
