.calendar_cloud {
  padding: 56px;
  background: #FFF;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1400px) {
  .calendar_cloud {
    padding: 32px;
  }
}
@media screen and (max-width: 1029px) {
  .calendar_cloud {
    padding: 24px;
  }
}
@media screen and (max-width: 930px) {
  .calendar_cloud {
    padding: 24px 16px;
  }
}
.calendar_cloud:not(:last-child) {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 930px) {
  .calendar_cloud:not(:last-child) {
    margin-bottom: 3.6rem;
  }
}

.calendar_section_v2 {
  position: relative;
}
.calendar_section_v2 .title {
  font-size: 32px;
  line-height: 1.2;
  margin-bottom: 20px;
}
@media screen and (max-width: 1199px) {
  .calendar_section_v2 .title {
    font-size: 28px;
  }
}
@media screen and (max-width: 930px) {
  .calendar_section_v2 .title {
    font-size: 22px;
    margin-bottom: 16px;
  }
}

.calendar_nav_block {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block {
    position: relative;
  }
}
@media screen and (max-width: 930px) {
  .calendar_nav_block {
    margin-bottom: 12px;
  }
}
.calendar_nav_block .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 100%;
  border: 1px solid #5F6168;
  transition: 0.2s background, 0.2s border;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block .arrow {
    display: none;
  }
}
.calendar_nav_block .arrow:hover {
  background: #525252;
  border: 1px solid #525252;
}
.calendar_nav_block .arrow:hover svg {
  stroke: #EAEAEA;
}
.calendar_nav_block .arrow svg {
  stroke: #5F6168;
  transition: 0.2s stroke;
}
.calendar_nav_block .nav {
  width: 100%;
  display: flex;
  margin: 0 12px;
  position: relative;
  flex-wrap: nowrap;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block .nav {
    overflow: auto;
    position: unset;
    margin: 0;
  }
}
.calendar_nav_block .nav:before, .calendar_nav_block .nav:after {
  content: "";
  display: block;
  position: absolute;
  width: 100px;
  pointer-events: none;
  top: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block .nav:before, .calendar_nav_block .nav:after {
    width: 40px;
  }
}
.calendar_nav_block .nav:before {
  left: 0;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
}
.calendar_nav_block .nav:after {
  right: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
}
.calendar_nav_block .nav a, .calendar_nav_block .nav span {
  height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block .nav a, .calendar_nav_block .nav span {
    padding: 0 20px;
    flex-shrink: 0;
    white-space: nowrap;
  }
}
@media screen and (max-width: 930px) {
  .calendar_nav_block .nav a, .calendar_nav_block .nav span {
    height: 42px;
    font-size: 15px;
  }
}
.calendar_nav_block .nav a {
  color: #212529;
  background: #EAEAEA;
  transition: 0.2s color, 0.2s background;
}
.calendar_nav_block .nav a:hover {
  color: #FFF;
  background: #525252;
  text-decoration: none;
}
.calendar_nav_block .nav span, .calendar_nav_block .nav .span {
  color: #FFF;
  cursor: default;
  background: #525252;
}
.calendar_nav_block .nav .span {
  pointer-events: none;
}
@media screen and (max-width: 1199px) {
  .calendar_nav_block .nav .span {
    pointer-events: unset;
    color: #212529;
    background: #EAEAEA;
    transition: 0.2s color, 0.2s background;
  }
  .calendar_nav_block .nav .span:hover {
    color: #FFF;
    background: #525252;
    text-decoration: none;
  }
}

.double_days_row {
  display: flex;
  align-items: flex-start;
}
.double_days_row .days_row {
  flex-shrink: 0;
  width: calc(50% - 28px);
}
@media screen and (max-width: 1199px) {
  .double_days_row .days_row {
    width: 100%;
  }
}
.double_days_row .days_row:not(:last-child) {
  margin-right: 56px;
}
@media screen and (max-width: 1199px) {
  .double_days_row .days_row:not(:last-child) {
    margin-right: 0;
  }
}

.days_row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-auto-flow: row;
  gap: 8px;
}
@media screen and (max-width: 930px) {
  .days_row {
    gap: 4px;
  }
}
@media screen and (max-width: 1199px) {
  .days_row.desktop {
    display: none;
  }
}
.days_row .item {
  height: 49px;
  padding: 16px 0 0 20px;
  display: flex;
  font-size: 14px;
  line-height: 1.2;
  color: #1A1D26;
}
@media screen and (max-width: 930px) {
  .days_row .item {
    height: 41px;
    padding: 12px 0 0 8px;
  }
}
.days_row .item:not(.disabled):not(.sun):not(.accent) {
  color: #1A1D26;
  outline: 1px solid #E9E9EA;
}
.days_row .item.disabled {
  color: #A3A5A8;
}
.days_row .item.sun {
  color: #A3A5A8;
  background: #F0F0F0;
}
.days_row .item:is(a) {
  position: relative;
}
.days_row .item:is(a):before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: 0.2s opacity;
  outline: 2px solid #FFD201;
}
.days_row .item:is(a):hover {
  text-decoration: none;
}
.days_row .item:is(a).accent:before, .days_row .item:is(a):hover:before {
  opacity: 1;
}

.calendar_times_block {
  display: none;
}

.calendar_time_chooser .title_2 {
  display: block;
  font-size: 20px;
  line-height: 1.2;
  margin: 42px 0 16px;
}
@media screen and (max-width: 1199px) {
  .calendar_time_chooser .title_2 {
    font-size: 18px;
    margin-top: 32px;
  }
}
@media screen and (max-width: 930px) {
  .calendar_time_chooser .title_2 {
    font-size: 16px;
    margin: 24px 0 12px;
  }
}
.calendar_time_chooser .time_row {
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
}
.calendar_time_chooser .time_item {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px 50px;
  width: calc((100% - 24px) / 4);
}
@media screen and (max-width: 1199px) {
  .calendar_time_chooser .time_item {
    width: calc((100% - 12px) / 2);
  }
}
@media screen and (max-width: 930px) {
  .calendar_time_chooser .time_item {
    width: 100%;
    padding: 16px;
  }
}
.calendar_time_chooser .time_item:not(.disabled) {
  cursor: pointer;
  outline: 1px solid #E9E9EA;
  position: relative;
}
.calendar_time_chooser .time_item:not(.disabled):before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: 0.2s opacity;
  outline: 2px solid #FFD201;
  pointer-events: none;
}
.calendar_time_chooser .time_item:not(.disabled):hover {
  text-decoration: none;
}
.calendar_time_chooser .time_item:not(.disabled).accent:before, .calendar_time_chooser .time_item:not(.disabled):hover:before {
  opacity: 1;
}
.calendar_time_chooser .time_item:not(.disabled) .time_btn {
  background: #FFD201;
}
.calendar_time_chooser .time_item.disabled {
  color: #A3A5A8;
}
.calendar_time_chooser .time_item.disabled .time_btn {
  background: #F0F0F0;
}
.calendar_time_chooser .time {
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 1.2;
  margin-bottom: 8px;
}
@media screen and (max-width: 930px) {
  .calendar_time_chooser .time {
    margin-bottom: 4px;
  }
}
.calendar_time_chooser .time .num, .calendar_time_chooser .time .num2 {
  font-weight: 700;
  margin-left: 8px;
}
.calendar_time_chooser .time .num {
  font-size: 18px;
}
@media screen and (max-width: 930px) {
  .calendar_time_chooser .time .num {
    font-size: 16px;
  }
}
.calendar_time_chooser .time .num2 {
  font-size: 16px;
}
.calendar_time_chooser .time_btn {
  width: 100%;
  height: 42px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 15px;
  line-height: 1;
  text-transform: uppercase;
  margin-top: 4px;
}
@media screen and (max-width: 930px) {
  .calendar_time_chooser .time_btn {
    font-size: 13px;
  }
}

.personal_block {
  display: flex;
  margin-bottom: 20px;
}
@media screen and (max-width: 930px) {
  .personal_block {
    margin-bottom: 16px;
  }
}
.personal_block .custom_checkbox_wrapp {
  min-width: 372px;
  margin-bottom: 0;
}
@media screen and (max-width: 930px) {
  .personal_block .custom_checkbox_wrapp {
    min-width: unset;
    flex-shrink: 0;
    width: calc((100% - 8px) / 2);
  }
}
.personal_block .custom_checkbox_wrapp:not(:last-child) {
  margin-right: 12px;
}
@media screen and (max-width: 930px) {
  .personal_block .custom_checkbox_wrapp:not(:last-child) {
    margin-right: 8px;
  }
}

.custom_checkbox_wrapp > input {
  display: none;
}
.custom_checkbox_wrapp input:checked + .custom_checkbox {
  background: #484A51;
  outline: 1px solid #484A51;
}
.custom_checkbox_wrapp input:checked + .custom_checkbox .title {
  color: #FFF;
}
.custom_checkbox_wrapp input:checked + .custom_checkbox .text {
  color: #D1D2D4;
}
.custom_checkbox_wrapp .custom_checkbox {
  display: block;
  padding: 12px 20px;
  flex-shrink: 0;
  line-height: 1.2;
  cursor: pointer;
  position: relative;
  outline: 1px solid #F0F0F0;
  transition: 0.2s border, 0.2s background;
  z-index: 1;
}
@media screen and (max-width: 930px) {
  .custom_checkbox_wrapp .custom_checkbox {
    padding: 12px 16px;
  }
}
.custom_checkbox_wrapp .custom_checkbox .title {
  font-size: 18px;
  color: #1A1D26;
  transition: 0.2s color;
  display: block;
}
@media screen and (max-width: 930px) {
  .custom_checkbox_wrapp .custom_checkbox .title {
    font-size: 16px;
  }
}
.custom_checkbox_wrapp .custom_checkbox .title:not(:last-child) {
  margin-bottom: 8px;
}
.custom_checkbox_wrapp .custom_checkbox .text {
  font-size: 14px;
  color: #5F6168;
  transition: 0.2s color;
}

.calendar_2_cloud {
  padding: 24px;
  background: #F7F7F7;
}
@media screen and (max-width: 1199px) {
  .calendar_2_cloud {
    padding: 20px;
  }
}
@media screen and (max-width: 1029px) {
  .calendar_2_cloud {
    padding: 16px;
  }
}
@media screen and (max-width: 930px) {
  .calendar_2_cloud {
    padding: 16px 12px;
  }
}

.calendar_form_block {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 1199px) {
  .calendar_form_block {
    display: block;
  }
}
@media screen and (max-width: 930px) {
  .calendar_form_block {
    display: flex;
    flex-direction: column;
  }
}
.calendar_form_block .form_title {
  color: #1A1D26;
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 20px;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .form_title {
    margin-bottom: 16px;
  }
}
.calendar_form_block .form_block {
  width: 100%;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .form_block {
    order: 1;
  }
}
.calendar_form_block .total_block {
  width: 423px;
  flex-shrink: 0;
  margin-left: 20px;
}
@media screen and (max-width: 1199px) {
  .calendar_form_block .total_block {
    margin: 20px 0 0 auto;
  }
}
@media screen and (max-width: 930px) {
  .calendar_form_block .total_block {
    width: 100%;
    margin: 0 0 16px;
  }
}
.calendar_form_block .inputs_row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 12px;
  margin-bottom: 20px;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .inputs_row {
    gap: 12px;
    margin-bottom: 16px;
  }
}
.calendar_form_block .inputs_row .input_block {
  flex-shrink: 0;
  width: calc((100% - 12px) / 2);
}
@media screen and (max-width: 930px) {
  .calendar_form_block .inputs_row .input_block {
    width: 100%;
  }
}
.calendar_form_block .label {
  display: block;
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 8px;
}
.calendar_form_block .label .star {
  color: #BE1E11;
}
.calendar_form_block input.txt {
  width: 100%;
  height: 45px;
  padding: 0 20px;
  background: #FFF;
  font-size: 14px;
  line-height: 1.2;
  border: 1px solid #F0F0F0;
}
.calendar_form_block input.txt::placeholder {
  color: #A3A5A8;
}
.calendar_form_block select {
  width: 100%;
  height: 45px;
  padding: 0 20px;
  border: 1px solid #F0F0F0;
  font-size: 14px;
  outline: none;
  appearance: none;
  background: #FFF;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23484A51' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
}
.calendar_form_block .btn {
  font-size: 15px;
  height: 48px;
  width: 220px;
  line-height: 1;
  text-transform: uppercase;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .btn {
    width: 100%;
  }
}
.calendar_form_block .btn.disabled {
  color: #A3A5A8;
  background: #E9E9EA;
}
.calendar_form_block .name {
  font-size: 14px;
  line-height: 1.2;
  color: #5F6168;
  margin-bottom: 4px;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .name {
    margin: 0 4px 0 0;
  }
}
.calendar_form_block .total_block .title {
  font-size: 14px;
  color: #5F6168;
  margin-bottom: 4px;
}
.calendar_form_block .total_block .date_block {
  padding: 12px;
  background: #FFF;
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .total_block .date_block {
    gap: 8px;
    display: block;
  }
}
@media screen and (max-width: 930px) {
  .calendar_form_block .total_block .date_block .item:not(:last-child) {
    margin-bottom: 8px;
  }
}
.calendar_form_block .total_block .item {
  width: calc((100% - 16px) / 2);
}
@media screen and (max-width: 930px) {
  .calendar_form_block .total_block .item {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 15px;
  }
}
.calendar_form_block .total_block a {
  font-size: 14px;
  color: #BE1E11;
  line-height: 1.2;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.calendar_form_block .product_block {
  margin-bottom: 16px;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .price_block {
    display: flex;
  }
}
.calendar_form_block .price_block .value {
  color: #1A1D26;
  line-height: 1.2;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .price_block .value {
    font-size: 15px;
  }
}
.calendar_form_block .price_total {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #D1D2D4;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .price_total {
    display: flex;
    align-items: flex-end;
  }
}
.calendar_form_block .price_total .value {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 930px) {
  .calendar_form_block .price_total .value {
    font-size: 16px;
  }
}

.custom_checkbox_class {
  display: flex;
  align-items: center;
  color: #1A1D26;
  font-size: 14px;
  margin-bottom: 0;
}
.custom_checkbox_class:not(:last-child) {
  margin-bottom: 12px;
}
.custom_checkbox_class > input {
  display: none;
}
.custom_checkbox_class input:checked + .custom_checkbox {
  background: #BE1E11;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 6L5 8.5L9.5 3.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  border: 1px solid #BE1E11;
}
.custom_checkbox_class .custom_checkbox {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 12px;
  align-self: flex-start;
  border: 1px solid #D1D2D4;
}
.custom_checkbox_class a {
  color: #BE1E11;
}

.error_msg {
  font-size: 12px;
  color: #BE1E11;
}

.success_msg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #FFF;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 1;
}

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