.calendar {
    display: flex;
    /* border: 1px dashed red; */
    /* width: 100%; */
    width: inherit;
    min-height: 826px;
    margin: 10px 0px;
}
.calendar-left-part {
    display: inline-block;
    /* border: 1px dashed blue; */
    width: 301px;
    /* min-height: 826px; */
}
.calendar-main-part {
    display: inline-block;
    /* border: 1px dashed blue; */
    width: calc(100% - 321px);
    /* min-height: 826px; */
    margin-left: 20px;
}
.calendar-one-day-btn, .calendar-few-days-btn {
    display: inline-block;
    text-align: center;
    line-height: 46px;
    color: #0044CC;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    border-radius: 4px;
    border: 1px solid #0044CC;
    cursor: pointer;
}
.calendar-one-day-btn {
    width: 122px;
    height: 48px;
}
.calendar-few-days-btn {
    width: 168px;
    height: 48px;
    margin-left: 6px;
}
.calendar-one-day-btn.active, .calendar-few-days-btn.active {
    color: #FFFFFF;
    background: #0044CC;
}
/*
*** Calendar DateRangePicker ***
*/
.calendar-daterangepicker {
    /* border: 1px dashed red; */
    position:relative;
    width: 301px;
    height: 348px;
    margin-top: 16px;
    /* width: 100%; */
}
/*
*** Calendar Scroll Pagination ***
*/
.calendar-scroll-pagination {
    display: none;
    width: 100%;
    height: 48px;
}
.calendar-scroll-pagination-dates {
    display: flex;
    /* border: 1px dashed blue; */
    max-width: calc(100% - 106px);
    height: 48px;
    margin: 0px 4px;
    overflow: hidden;
    float: left;
}

.calendar-scroll-pagination-dates ul {
    list-style: none;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
}
.date_period {
    display: inline-block;
    vertical-align: middle; 
    width: auto;
    min-width: 158px;
    height: 48px;
    margin: 0px 2px;
    line-height: 46px;
    border: 1px solid #CED4DA;
    border-radius: 4px;
    text-align: center;
    cursor:pointer;
    list-style: none;
    padding: 0px 16px;

    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    color: #696C71;
}
.date_period.active {
    border: 2px solid #0044CC;
    height: 48px;
    color: #0C1014;
}
.date_period.busy-day {
    border: none;
    background: #DDDDDD;
}
.date_period.in-range {
    color: #0C1014;
}
.calendar-scroll-pagination-arrow {
    position: relative;
    float: left;
    width: 48px;
    height: 48px;
    background: #DDE7FF;
    border-radius: 4px;
    cursor:pointer;
    text-align: center;
    line-height: 48px;
}

  .calendar-scroll-pagination-arrow.next div {
    display: inline-block;
    position: absolute;
    top: 14px;
    left: 14px;
    width: 21px;
    height: 21px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("/common/js_v3/forms/time_calendar_v2/forward_arrow.svg");
    /* transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); */
  }
  .calendar-scroll-pagination-arrow.prev div {
    display: inline-block;
    position: absolute;
    top: 14px;
    left: 14px;
    width: 21px;
    height: 21px;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url("/common/js_v3/forms/time_calendar_v2/back_arrow.svg");
    /* transform: rotate(135deg);
    -webkit-transform: rotate(135deg); */
  }

  .calendar-scroll-pagination-arrow.disabled {
      opacity: 0.5;
      cursor: not-allowed;
  }

/**
*** Calendar Filter ***
**/
.calendar-filter-open-btn {
    display: none;
}
.calendar-filter {
    display: none;
    /* width: 349 px for mobile ; */
    /* height: 392 px for mobile ; */
    width: 301px;
    height: 330px;
    background: #FFFFFF;
    border: 1px solid #C4C8D0;
    border-radius: 4px;
    margin-top: 16px;
} 
.calendar-filter-content {
    position: relative;
    width: 267px;
    height: 296px;
    margin: 16px;
}
.calendar-filter-content-header {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 269px;
    height: 24px;
    line-height: 24px;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
}
.calendar-filter-content-times-of-day {
    display: flex;
    flex-wrap: wrap;
    position: absolute;
    top: 41px;
    left:0px;
    width: 267px;
    height: 64px;
    
}
.calendar-filter-content-times-of-day label {
    display: flex;
    align-items: center;
    width: 126px;
    height: 20px;
    line-height: 20px;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    padding: 0px;
    cursor: pointer;
}
.calendar-filter-content-times-of-day .morning {
    position: absolute;
    left:0px;
}
.calendar-filter-content-times-of-day .day {
    position: absolute;
    left: 143px;
}
.calendar-filter-content-times-of-day .evening {
    position: absolute;
    left:0px;
    bottom: 2px;
}
.calendar-filter-content-times-of-day input {
    margin-right: 12px;
    margin-left: 0px;
    width: 20px;
    height: 20px;
    border-color: #C4C8D0; /* Доработать цвет рамок и в type=text тоже */    
}

/* для элемента input c type="checkbox" */
.custom-checkbox>input {
    position: absolute;
    z-index: -1;
    opacity: 0;
  }

  /* для элемента label, связанного с .custom-checkbox */
  .custom-checkbox>span {
    display: inline-flex;
    align-items: center;
    user-select: none;
  }

  /* создание в label псевдоэлемента before со следующими стилями */
  .custom-checkbox>span::before {
    content: '';
    display: inline-block;
    /* width: 1em;
    height: 1em; */
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    flex-grow: 0;
    border: 1px solid #C4C8D0;
    border-radius: 4px;
    margin-right: 12px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 12px 10px;
  }

  /* стили для чекбокса, находящегося в состоянии checked */
  .custom-checkbox>input:checked+span::before {
    border-color: #C4C8D0;
    background-color: #FFFFFF;
    background-image: url("/common/js_v3/forms/time_calendar_v2/check.svg");
  }

  .custom-checkbox.only-free-time>input:checked+span::before {
    border-color: #0044CC;
    background-color: #FFFFFF;
    background-image: url("/common/js_v3/forms/time_calendar_v2/check.svg");
  }

  /* стили для чекбокса, находящегося в состоянии disabled */
  .custom-checkbox>input:disabled+span::before {
    background-color: #e9ecef;
  }


.calendar-filter-content-time-interval {
    display: flex;
    flex-wrap: nowrap;
    position: absolute;
    top: 121px;
    left:0px;
    width: 267px;
}
.calendar-filter-content-time-interval input {
    text-align: center;
    width: 108.5px;
    height: 46px;
    border: 1px solid #B2B5BB;
    border-radius: 4px;
    background: #FFFFFF;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}
.calendar-filter-content-time-interval-dash {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}
.calendar-filter-content-time-interval-dash-line {
    width: 11px;
    height: 2px;
    background-color: #0E0E0F;
}
.calendar-filter-content-slider {
    position: absolute;
    top: 204px;
    left: 15px;
    width: 235px;
}
.ui-slider {
    width: 235px;
    height: 4px;
    background: rgba(120, 120, 128, 0.2);
}
.ui-widget.ui-widget-content {
    border: none;
}
.ui-slider .ui-slider-range {
	background: #007AFF;
	height: 4px;
}
.ui-slider-horizontal .ui-slider-handle {
	margin-left: -.8em;
}
.ui-slider .ui-slider-handle {
    position: absolute;
    top: -12px;
    width: 28px;
    height: 28px;
    background: #FFFFFF;
    box-shadow: 0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);
    border-radius: 50%;
    cursor: pointer;
    border: none;
}
.ui-slider-handle.ui-state-default.ui-corner-all::after {
    background: none;
}

.calendar-filter-content-only-free-time {
    position: absolute;
    top: 275px;
    left:0px;
    width: 267px;
    height: 24px;
    line-height: 20px;
}
.calendar-filter-content-only-free-time label {
    display: flex;
    align-items: center;
    font-family: Golos, sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #0E0E0F;
    cursor: pointer;
}
.calendar-filter-content-only-free-time input {
    margin-right: 12px;
    margin-left: 0px;
    width: 20px;
    height: 20px;
    border-color: #C4C8D0; /* Доработать цвет рамок и в type=text тоже */
}
.calendar-filter-selected-params {
    display: none;
    width: 268px;
    /* height: auto; */
    margin: 0px 16px;
    margin-top: 20px;
    /* border: 1px dashed red; */
}
.calendar-filter-selected-params-header {
    width: 267px;
    height: 24px;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #0E0E0F;
}
.calendar-filter-selected-param {
    display: inline-block;
    min-width: 175px;
    height: 40px;
    line-height: 24px;
    padding: 8px 10px;
    background: #DDE7FF;
    color: #0E0E0F;
    border-radius: 4px;
    margin: 4px 0px;
    font-family: Golos, sans-serif;
}

.calendar-filter-selected-param-close {
    cursor: pointer;
    margin-left: 7px;
    
 }

 .calendar-filter-reset {
    width: 267px;
    height: 46px;
    margin-top: 12px;
    border-radius: 4px;
    background: #EEEFF2;
    color: #C4C8D0;
    font-family: Lato, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;  
    text-align: center;
    line-height: 48px;
 }

.calendar-filter-reset.active {
    border: 1px solid #0044CC;
    color: #0044CC;
    background: #FFFFFF;
    cursor: pointer;
}
.calendar-filter-reset:active {
    color: #FFFFFF;
    background: #0044CC;
}

.calendar-filter-reset-mobile {
    display: none;
}

/**
* Calendar Content
**/
.calendar-start-picture {
    display: block;
    /* border: 1px solid grey; */
}
.calendar-content {
    width: 100%;
    height: auto;
    margin: 16px 0px;
}

.timeCalendarDaysContent {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    /* border: 1px dashed blue; */
    width: auto;
    position: relative;
}

.timeCalendarDayBox {
    display: block;
    position: relative;
    /* border: 1px dashed red; */
    padding: 5px 0px;
    /* в моб ширину сделать 400 или около того */
    width: 422px; 
    padding-top: 0px;
}

.time-calendar-day-blur-out {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255, 0.7);
    cursor: pointer;
    z-index: 9000;
    text-align: center;
}
.look-at-the-shedule-btn {
    display: inline-block;
    position: absolute;
    left: 18%;
    top: 35%;
    width: 269px;
    height: 48px;
    text-align: center;
    color: #0044CC;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    border: 1px solid #0033AA;
    border-radius: 4px;
    line-height: 46px;
}
.look-at-the-shedule-btn:hover {
    color: #FFFFFF;
    background: #0033AA;
}

.timeCalendarDayLabelNearestDate {
    display: none;
    text-transform: none;
}

.timeCalendarDayLabel {
    text-transform: lowercase;
    font-family: Golos, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    color: #0C1014;
}

.timeCalendarDayBox .time_of_day {
    display: block;
    height: 24px;
    margin-top: 16px;
    margin-bottom: 5px;
    font-family: Lato;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
}

.timeCalendarTimeBox {
    display: inline-block;
    white-space: nowrap;
}
.timeCalendarTime {
    margin: 6px 2px;
    width: 61px;
    height: 36px;
    border-radius: 4px;
    font-family: Golos Text, sans-serif;
    color: #333333;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    line-height: 36px;
    cursor: pointer;
}

.timeCalendarTime.timeCalendarFullDayTime {
    width: 408px;
    height: 40px;
    background: #E4F7DE;
    border-radius: 4px;
    font-family: Golos Text;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #333333;
    cursor: pointer;
}

.timeCalendarTime.timeCalendarAllow {
    background: #E4F7DE;
}

.timeCalendarTime.timeCalendarDisallow {
    background: #DDDDDD;
    cursor: default;
}
.timeCalendarTime.timeCalendarActive {
    color: #FFFFFF;
    background: #2EBD2F;
}

.timeCalendarDayEmpty {
    width: 430px;
}

.timeCalendarEmptyDay .timeCalendarDayEmptyText {
    font-family: Lato;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    color: #0C1014;
}
.timeCalendarEmptyDay img {
    position: absolute;
    left: 250px;
}
.timeCalendarEmptyDayAmongSomeDays .timeCalendarDayEmptyText {
    width: 430px;
    min-height: 100px;
    color: #C4C8D0;
    margin-top:16px;
}
/*
 * Всплывашка выбора даты
*/
.timeCalendarTimesPop {
    /* height: 191px; */
}

.timeCalendarHintTimesPop {
    top: -17px;
    right: -282px;
    left: auto;
}

.hint.timeCalendarHintTimesPop {
    display: none;
    position: absolute;
    width: 270px;
    height: 191px;
    /* color: #5c6471; */
    /* font-size: 14px; */
    z-index: 1001;
    padding: 20px 16px;
    text-align: left;

    background: #FFFFFF;
    border: 1px solid #CED4DA;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 4px;
}

.hint.timeCalendarHintTimesPop.hint-left:before {
    display: block;
    content: "";
    position: absolute;
    top: 12px;
    width: 12px;
    height: 24px;
    box-sizing: border-box;
    background: url(/common/img/mos-ru/grey-hint.png) top left no-repeat;
    transform: rotate(0deg);
    border-right: none;
    left: -12px;
}

.hint.timeCalendarHintTimesPop.hint-right:after {
    display: block;
    content: "";
    position: absolute;
    top: 10px;
    width: 12px;
    height: 24px;
    box-sizing: border-box;
    background: url(/common/img/mos-ru/grey-hint.png) top left no-repeat;
    transform: rotate(180deg);
    right: -12px;
    border-left: none;
}
.hint.timeCalendarHintTimesPop p {
    padding: 0;
    margin: 0;
}
.hint.timeCalendarHintTimesPop .header {
    font-family: Lato;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #0E0E0F;
    margin-bottom: 8px;
}
.hint.timeCalendarHintTimesPop .date .time {
    font-family: Golos, Text;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #0E0E0F;
    padding: 4px 0px;
}

.hint.timeCalendarHintTimesPop .buttons {
    margin-top: 40px;
    display: flex;
    gap: 4px;
}
.hint.timeCalendarHintTimesPop .button-apply {
    
    text-align: center;
    width: 120px;
    height: 36px;
    background: #0044CC;
    border-radius: 4px;
    color: #FFFFFF;
    line-height: 36px;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
}
.hint.timeCalendarHintTimesPop .button-cancel, .button-close {
    text-align: center;
    width: 106px;
    height: 36px;
    border: 1px solid #0044CC;
    border-radius: 4px;
    color: #0044CC;
    line-height: 36px;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
}
.hint.timeCalendarHintTimesPop .button-close {
    display: inline-block;
    margin-top:2px;
    text-align: center;
    width: 106px;
    height: 36px;
    border: 1px solid #0044CC;
    border-radius: 4px;
    color: #0044CC;
    line-height: 36px;
    font-family: 'Lato';
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
}
.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Old versions of Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none; /* Non-prefixed version, currently
                                    supported by Chrome, Edge, Opera and Firefox */
  }

  .noselect {
    -webkit-touch-callout: none; /* iOS Safari */
      -webkit-user-select: none; /* Safari */
       -khtml-user-select: none; /* Konqueror HTML */
         -moz-user-select: none; /* Old versions of Firefox */
          -ms-user-select: none; /* Internet Explorer/Edge */
              user-select: none; /* Non-prefixed version, currently
                                    supported by Chrome, Edge, Opera and Firefox */
  }
  /** 
  * Позволяет избежать выделения текста при двойном клике по любому элементу кадендаря
  **/
  .calendar div {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
  }