/* Modal START */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(17, 17, 17, 0.83);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal-content {
    background: #fff;
    padding: 50px 70px;
    max-width: 670px;
    width: 100%;
    transform: scale(0);
    transition: transform 0.3s ease;
    border-radius: 20px;
    transform-origin: center;
}
.modal-content .subtitle {
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    margin-bottom: 30px;
}
#queston-modal .modal-content {
    max-width: 540px;
}
#queston-modal .check {
    max-width: 76% !important;
}
.heading-modal__title {
    font-weight: 400;
    font-size: 30px;
    line-height: 130%;
    margin-bottom: 20px;
}

.modal-window__close {
  position: absolute;
  top: 45px;
  right: 45px;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.modal-window__close:hover {
  transform: rotate(90deg);
}
.modal-window__close:before,
.modal-window__close:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  height: 2.4em;
  width: 1px; 
  background-color: var(--body-color);
}
.modal-window__close:before {
  transform: rotate(45deg);
}
.modal-window__close:after {
  transform: rotate(-45deg);
}

/* Modal END */

    .modal .row-controls {
        gap: 20px;
    }
    .modal .row-controls:not(:last-child) {
        margin-bottom: 15px;
    }
    .modal .row-controls .control {
        max-width: 48.1%;
    }
    .modal .row-controls .control:only-child {
        max-width: 100%;
    }
    .modal .control {
        position: relative;
        width: 100%;
    }
    .modal .textarea {
        margin: 10px 0;
    }
    .modal .textarea textarea {
        border: 1px solid #a2a2a2;
        border-radius: 3px;
        padding: 15px;
    }
    .modal .control .reguired-field {
        display: none;
        position: absolute;
        font-size: 10px;
        top: 32px;
        right: 10px;
        color: #f40041;
    }
    .modal .control.error .reguired-field {
        display: block;
    }
    .modal .control.error input {
        border-color: #f40041;
    }
    .modal .control .name {
        max-width: 100%;
    }
    
    .modal .control:only-child {
        max-width: 100% !important;
    }
    
    .modal .control label {
        display: block;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;
  color: #a2a2a2;
    }
    .modal .control input {
        width: 100%;
        height: 60px;
  font-size: 15px;
  border: 1px solid #a2a2a2;
  padding: 0 15px;
  border-radius: 3px;
  color: #272727;
    }
    .modal .control input::placeholder {
        opacity: 1;
        color: #272727;
    }
    .modal .control.active label {
        color: #272727;
    }
    .modal .control.active input {
        border-color: #272727;
    }
    .modal .check-box {
        max-width: 59.4%;
    }
    .modal .check-box label {
        position: relative;
        color: #272727;
        cursor: pointer;
        font-size: 13px;
        line-height: 14px;
        padding-left: 24px;
    }
    .modal .check-box label:after {
        position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #272727;
  border-radius: 3px;
  content: "";
    }
    .modal .check-box label:before {
        position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3px;
  color: #272727;
  width: 11px;
  height: 11px;
  z-index: 10;
    }
    .modal .check-box input {
        display: none;
    }
    .modal .check-box input:checked + label::before {
        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");       
    }    
    .modal .check-box a {
        display: inline;
        text-decoration: underline;
        text-underline-position: under;
        text-decoration-style: dotted;
    }
    .check-row {
        gap: 20px;
        margin-top: 20px;
    }
    .modal-button {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
        width: 100%;
        max-width: 36.8%;
        border-radius: 3px;
        background: #000;
        color: #fff;
        padding: 0 15px;
        font-size: 16px;
        text-transform: uppercase;
        font-size: 500;
    }

    @media screen and (max-width: 767px) {
        .modal-content {
            width: 90%;
            padding: 30px;
        }
        .modal .control:not(:first-child) {
            max-width: 47.5% !important;
        }
        .modal .control input {
            padding: 0 15px;
            font-size: 13px;
        }
        .modal .custom__btn {
            max-width: 35.7%;
        }
        .modal-window__close {
            top: 20px;
            right: 20px;
        }
        .heading-modal__title {
            font-size: 24px;
            line-break: 130%;
        }
        .modal .row-controls {
            gap: 18px;
        }
        .modal .check-box {
            max-width: 100%;
        }
    }
    @media screen and (max-width: 526px) {
        .modal-content {
            height: 100%;
            width: 100%;
            border-radius: 0;
        }
        .modal .control:not(:first-child),
        .modal .check {
            max-width: 100% !important;
        }
        .modal .custom__btn {
            margin-left: auto;
            max-width: 195px !important;
        }
        .heading-modal__title {
            font-size: 20px;
            max-width: 85%;
        }
    }