@charset "UTF-8";
.modal-successful .modal-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center; }

@media (max-width: 1023px) {
  .modal-successful .modal-title {
    margin-bottom: 6px; } }

.modal-successful__descr {
  margin-bottom: 23px; }
  @media (max-width: 1023px) {
    .modal-successful__descr {
      margin-bottom: 20px; } }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

.modal-open {
  overflow: hidden; }

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
  padding: 40px; }
  @media (max-width: 575px) {
    .modal {
      padding: 0 10px; } }

.fade {
  transition: opacity 0.15s linear; }

.modal-narrow .modal-dialog {
  max-width: 57rem; }

.modal-wide .modal-dialog {
  max-width: 100rem; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: auto;
  pointer-events: none; }

.modal.fade .modal-dialog {
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: translate(0, -50px);
  transform: translate(0, -50px); }

.modal-close {
  pointer-events: auto;
  align-self: flex-end;
  margin-bottom: 1rem;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  fill: #C4C4C4;
  transition: all ease 0.3s; }
  @media (max-width: 1023px) {
    .modal-close {
      width: 30px;
      height: 30px; }
      .modal-close .icon {
        width: 18px !important;
        height: 18px !important; } }
  @media (min-width: 768px) {
    .modal-close {
      cursor: pointer; }
      .modal-close:hover {
        fill: #444444; } }
  .modal-close:active {
    fill: #FFC422; }

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none; } }

.modal.show .modal-dialog {
  -webkit-transform: none;
  transform: none; }

.modal-dialog-centered {
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - 1rem); }

.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: -webkit-min-content;
  height: -moz-min-content;
  height: min-content;
  content: ""; }

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.2rem;
  outline: 0;
  padding: 3.2rem;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15); }
  .modal-content:after, .modal-content:before {
    content: '';
    position: absolute;
    left: 3.2rem;
    right: 3.2rem;
    bottom: 3.2rem;
    top: 3.2rem;
    pointer-events: none;
    border: 1px solid #E4E4E4;
    transition: all ease .3s; }
  .modal-content:after {
    left: 3.5rem;
    bottom: 3.5rem;
    right: 3.5rem;
    top: 3.5rem; }
  @media (max-width: 1023px) {
    .modal-content {
      padding: 13px; }
      .modal-content:after {
        left: 13px;
        bottom: 13px;
        right: 13px;
        top: 22px; }
      .modal-content:before {
        left: 10px;
        bottom: 10px;
        right: 10px;
        top: 19px; } }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100%;
  height: 100%;
  background-color: #000; }

.modal-backdrop.fade {
  opacity: 0; }

.modal-backdrop.show {
  opacity: 0.5; }

.modal-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: center;
  padding: 0px;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px);
  margin-top: 1rem; }
  @media (max-width: 1023px) {
    .modal-header {
      margin-top: 10px; } }

.modal-title {
  position: relative;
  z-index: 2;
  font-weight: bold;
  margin-bottom: 3rem;
  padding: 0 1.2rem;
  text-align: center; }
  @media (max-width: 1023px) {
    .modal-title {
      margin-bottom: 20px; } }

.modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto; }

.modal-body {
  padding: 0 3.2rem 1rem;
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto; }
  @media (max-width: 1023px) {
    .modal-body {
      padding: 0 12px 12px; } }

@media (min-width: 576px) {
  .modal-dialog {
    margin: 1.75rem auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem); }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem); }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content; }
  .modal-xs {
    max-width: 300px; } }

@media (min-width: 1460px) {
  .modal-narrow.modal-lg .modal-dialog {
    max-width: 100rem; } }

@media (max-width: 767px) {
  .modal-product-info {
    max-height: 90vh;
    top: 30px;
    bottom: 30px; } }

@media (max-width: 575px) {
  .modal-product-info {
    padding: 0;
    top: 0;
    bottom: 0;
    max-height: none; } }

.modal-product-info .modal-body {
  padding-right: 1rem; }

.modal-product-info__content {
  padding-right: 2.2rem;
  max-height: calc(100vh - 8rem);
  overflow: auto; }
  .modal-product-info__content::-webkit-scrollbar {
    width: 4px;
    /* ширина для вертикального скролла */
    height: 4px;
    /* высота для горизонтального скролла */
    border-radius: 0px;
    background-color: #f5f5f5;
    transition: all ease .3s; }
  .modal-product-info__content::-webkit-scrollbar-thumb {
    background-color: #8B8B8B;
    border-radius: 0;
    transition: all ease .3s; }
    .modal-product-info__content::-webkit-scrollbar-thumb:hover {
      background-color: #121219; }
  @media (max-width: 767px) {
    .modal-product-info__content {
      max-height: calc(100vh - 215px); } }
  @media (max-width: 575px) {
    .modal-product-info__content {
      max-height: none; } }

.modal-product-info .modal-dialog {
  max-width: 100rem; }
  @media (max-width: 575px) {
    .modal-product-info .modal-dialog {
      display: block;
      max-width: none;
      position: relative;
      background-color: #fff; } }

@media (max-width: 575px) {
  .modal-product-info .modal-content {
    height: auto;
    border: none;
    padding-top: 0;
    box-shadow: none; }
    .modal-product-info .modal-content:before, .modal-product-info .modal-content:after {
      content: none; }
    .modal-product-info .modal-content .modal-body {
      flex-grow: 1; } }

@media (max-width: 575px) {
  .modal-product-info .modal-close {
    position: absolute;
    position: sticky;
    margin-left: auto;
    z-index: 2;
    right: 10px;
    top: 10px;
    box-shadow: none; }
    .modal-product-info .modal-close svg {
      fill: #121219;
      width: 28px !important;
      height: 28px !important; } }

@media (max-width: 575px) {
  .modal-product-info .modal-header {
    justify-content: flex-start; } }

@media (max-width: 575px) {
  .modal-product-info .modal-title {
    text-align: left;
    font-size: 32px; } }

.modal-vacancy .modal-dialog {
  max-width: 900px; }

@media (max-width: 575px) {
  .modal-vacancy .form-group--mobile {
    display: none; } }

.modal-vacancy__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 40px; }
  @media (max-width: 575px) {
    .modal-vacancy__body {
      grid-template-columns: 1fr;
      gap: 19px;
      margin-bottom: 19px; } }

.modal-vacancy__footer {
  max-width: 400px;
  margin: 0 auto; }
  @media (max-width: 575px) {
    .modal-vacancy__footer {
      max-width: none; } }

.modal-calc .modal-dialog {
  max-width: 80rem; }

.modal-calc form {
  display: flex;
  flex-direction: column; }

.modal-calc .form-control {
  box-shadow: 0px 0px 1px 0px #FFC422; }
  .modal-calc .form-control.accent {
    box-shadow: 0px 0px 1px 2px #FFC422; }

.modal-calc__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
  width: 100%; }
  .modal-calc__body .form-group {
    width: 44.7%; }
    @media (max-width: 1999px) {
      .modal-calc__body .form-group {
        width: 43.7%; } }
    @media (max-width: 1023px) {
      .modal-calc__body .form-group {
        width: 100%; } }
  @media (max-width: 575px) {
    .modal-calc__body {
      grid-template-columns: 100%;
      gap: 8px; } }
  .modal-calc__body .icon {
    margin-bottom: 0.8rem;
    align-self: flex-end; }
    @media (max-width: 767px) {
      .modal-calc__body .icon {
        margin: 10px 0 10px;
        justify-self: end;
        transform: rotate(90deg); } }
  .modal-calc__body--2 > *:nth-child(1) {
    order: 1; }
  .modal-calc__body--2 > *:nth-child(2) {
    order: 3; }
  .modal-calc__body--2 > *:nth-child(3) {
    order: 4; }
  .modal-calc__body--2 > *:nth-child(4) {
    order: 3; }
  .modal-calc__body--2 > *:nth-child(5) {
    order: 5; }

.modal-calc__inner {
  display: flex;
  flex-direction: column;
  align-items: center; }

.modal-calc__total {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
  align-items: center;
  align-self: flex-end;
  font-weight: 600; }
  .modal-calc__total span {
    font-weight: normal; }
  @media (max-width: 575px) {
    .modal-calc__total {
      width: 100%; } }

.modal-calc .btn {
  align-self: center;
  margin-bottom: 1.6rem; }
  @media (max-width: 575px) {
    .modal-calc .btn {
      margin-bottom: 0px; } }
  @media (max-width: 424px) {
    .modal-calc .btn {
      width: 100%; } }

.modal-calc__info {
  color: #8B8B8B;
  text-align: center;
  font-size: 14px;
  margin-top: 10px; }
