
.modal.modal-small {
    width: 100%;
    height: 100%;
}

.modal-backdrop {
    width: 100%;
    height: 100%;
}

.modal-dialog {
    
}

.modal-dialog-centered {
    
    justify-content: center;
}

.modal-content {
    height: fit-content;
    max-width: 570rem;
    padding: 40rem 60rem;

    border-radius: 20rem;
    border: none;

    background-color: var(--light-gray);
}

.modal-header {
    border: none;
}

.modal-title {
    margin-bottom: 30rem;
    line-height: 20rem;

    font-size: 24rem;
    font-family: "SF Pro Display Semibold";
}

.modal-body {
    padding: unset;
}

.modal_body_text {
    margin-bottom: 40rem;
    font-size: 18rem;
    line-height: 140%;
    font-family: "SF Pro Display Regular";
}

.wrap_btn {
    display: flex;
    justify-content: center;
}

.modal_btn {
    padding: 12rem 20rem;

    font-size: 16rem;
    line-height: 18rem;
    font-family: "SF Pro Display Medium";
}

.confirm_btn {
    margin-right: 20rem;
}



.menu-scroll-arrow-right,
.menu-scroll-arrow-left {
    background-size: 30rem;
}

.menu-scroll-arrow-left--enebled {
    background-size: 8rem, 30rem;
}

.preloader {
    width: 150rem;
    height: 150rem;
}

.back-to-choice-lifts-text {
    font-size: 16rem;
}

.btn-close {
    position: absolute;
    right: 20rem;
    top: 20rem;

    width: 10rem;
    height: 10rem;
    padding: 10rem !important;
    background-size: 10rem;

    opacity: 1;
    z-index: 999;
}

.btn-close:focus {
    box-shadow: unset;
}

.modal-content-make-order {
    width: 560rem;
    height: fit-content;

    padding: 40rem 60rem;
}

.make-order__label span {
    display: block;
    padding-left: 5rem;
    margin-bottom: 5rem;

    font-size: 14rem;
    font-family: "SF Pro Display Regular";
}

.make-order__label input {
    width: 100%;
    height: 45rem;

    margin-bottom: 15rem;
    padding: 12rem 24rem;

    font-size: 16rem;
    font-family: "SF Pro Display Medium";

    border-color: var(--gray);
    background-color: transparent;
    border-radius: 100rem;
}

.make-order__label input:focus,
.make-order__label textarea:focus {
    border-color: unset;
    background-color: unset;
    box-shadow: none;
}

.make-order__label input:-webkit-autofill,
.make-order__label input:-webkit-autofill:hover,
.make-order__label input:-webkit-autofill:focus,
.make-order__label input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30rem var(--light-gray) inset !important;
}

.make-order__label textarea {
    width: 100%;
    height: 100%;
    min-height: 30rem;
    max-height: 90rem;
    margin-bottom: 30rem;
    padding: 15rem 25rem;

    border-radius: 8rem;

    font-size: 16rem;
    font-family: "SF Pro Display Medium";
    background-color: var(--light-gray);
}

.make-order__label textarea::placeholder,
.make-order__label input::placeholder {
    font-size: 16rem;
    font-family: "SF Pro Display Medium";
}

.modal-content-make-oder_thx {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    width: 370rem;
    height: fit-content;

    align-items: center;
    padding: 40rem 60rem;
}

.modal-content-make-oder_thx img {
    width: 65rem;
    height: 65rem;

    margin-bottom: 15rem;
}

.modal-content-make-oder_thx .modal-title {
    margin-bottom: 15rem;
}

.modal-content-make-oder_thx .modal_body_text {
    margin-bottom: 0;
}

.modal-content-make-order,
.modal-content-make-oder_thx {
    transition: opacity 0.3s ease;
}

.save-project-modal {
}

.save-project-content {
    width: fit-content;
    height: fit-content;
    padding: 40rem 60rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    font-size: 14rem;
    border-radius: 20rem;
    background-color: var(--light-gray);
}

.save-project-header {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.save-project-title {
    text-align: center;
    padding-bottom: 20rem;
    font-size: 24rem;
    font-family: "SF Pro Display Semibold";
}

.save-project-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 30rem;
    width: 100%;
}

.save-project-input-wrapper {
    width: 100%;
}

.save-project-label-text {
    font-size: 14rem;
    margin-bottom: 16rem;
}

.save-project-input {
    padding: 15rem 25rem;
    border: 1rem solid var(--gray);
    border-radius: 555rem;
    width: 100%;
    height: 44rem;
    margin-top: 8rem;
    font-size: 16rem;
}

.save-project-input::placeholder {
    font-size: 16rem;
}

.save-project-input:focus {
    outline: none;
    border-color: var(--black);
}

.wrapper-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20rem;
}



.export-lang-modal .modal-dialog {
    max-width: clamp(320px, 1180rem, 940px);
    width: 100%;
}

.export-lang-content {
    max-width: none;
    padding: clamp(24px, 40rem, 44px) clamp(20px, 48rem, 56px) clamp(28px, 44rem, 48px);
}

.export-lang-content .modal-title {
    font-size: clamp(18px, 28rem, 26px);
    line-height: 1.25;
}

.export-lang-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(10px, 16rem, 18px);
    padding-top: clamp(20px, 32rem, 36px);
}

.export-lang-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(8px, 12rem, 14px);
    flex: 0 0 auto;
    min-width: clamp(150px, 230rem, 220px);
    min-height: clamp(48px, 72rem, 64px);
    padding: 10px clamp(14px, 24rem, 26px);
    border: 1rem solid var(--gray);
    border-radius: 555rem;
    background-color: var(--white);
    color: var(--black);
    font-size: clamp(15px, 22rem, 19px);
    line-height: 1.2;
    white-space: nowrap;
    transition: border-color var(--transition-time, 0.2s), background-color var(--transition-time, 0.2s),
        color var(--transition-time, 0.2s);
}


.export-lang-btn .i18n-flag {
    width: clamp(26px, 38rem, 34px);
    height: auto;
    aspect-ratio: 3 / 2;
}

.export-lang-btn:hover {
    border-color: var(--black);
    background-color: var(--black);
    color: var(--white);
}

@media (max-width: 1200px) {
    .export-lang-content {
        max-width: 640rem;
    }
}

@media (max-width: 950px) {
    .export-lang-content {
        padding: 28px 24px 32px;
    }

    .export-lang-content .modal-title {
        font-size: 20px;
    }

    .export-lang-buttons {
        gap: 10px;
        padding-top: 22px;
    }

    .export-lang-btn {
        min-width: calc(50% - 10px);
        min-height: 48px;
        padding: 10px 14px;
        font-size: 15px;
    }

    .export-lang-btn .i18n-flag {
        width: 26px;
        height: 18px;
    }
}


.spec-texts-content {
    padding: 30rem 40rem;
    border-radius: 20rem;
    background-color: var(--light-gray);
    font-size: 14rem;
}

.spec-texts-modal .modal-dialog {
    max-width: 720rem;
    width: 92%;
}

.spec-texts-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.spec-texts-title {
    font-size: 24rem;
    font-family: "SF Pro Display Semibold";
}

.spec-texts-body {
    width: 100%;
    padding: 10rem 0 0;
    overflow-y: auto;
}

.spec-texts-hint {
    color: var(--dark-gray);
    font-size: 13rem;
    line-height: 1.4;
    margin-bottom: 16rem;
}

.spec-texts-list {
    display: flex;
    flex-direction: column;
    row-gap: 14rem;
}

.spec-texts-item {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.spec-texts-label {
    margin-bottom: 6rem;
    font-size: 14rem;
}


.spec-texts-auto {
    margin-bottom: 6rem;
    padding: 8rem 12rem;
    border-radius: 10rem;
    background-color: rgba(0, 0, 0, 0.04);
    color: var(--dark-gray);
    font-size: 13rem;
    line-height: 1.35;
    white-space: pre-line;
}

.spec-texts-input {
    width: 100%;
    padding: 10rem 16rem;
    border: 1rem solid var(--gray);
    border-radius: 12rem;
    font-family: inherit;
    font-size: 14rem;
    line-height: 1.35;
    resize: vertical;
}

.spec-texts-input:focus {
    outline: none;
    border-color: var(--black);
}


.spec-texts-input::placeholder {
    color: var(--dark-gray);
    opacity: 0.75;
}

.spec-texts-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 20rem;
    padding-top: 24rem;
}

.spec-texts-save,
.spec-texts-reset {
    padding: 12rem 20rem;
    border: 1rem solid transparent;
    border-radius: 555rem;
    background-color: var(--black);
    color: var(--white);
    font-size: 16rem;
}

.spec-texts-reset {
    border-color: var(--gray);
    background-color: var(--white);
    color: var(--black);
}

.spec-texts-reset:hover {
    border-color: var(--black);
}

.spec-texts-save:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

@media (max-width: 950px) {
    .spec-texts-content {
        padding: 20rem;
    }

    .spec-texts-title {
        font-size: 18px;
    }

    .spec-texts-label,
    .spec-texts-input {
        font-size: 14px;
    }

    .spec-texts-save,
    .spec-texts-reset {
        padding: 12px 20px;
        font-size: 14px;
    }
}

.save-btn,
.cancel-save-btn {
    padding: 12rem 20rem;
    background-color: var(--black);
    border: 1rem solid transparent;
    border-radius: 555rem;
    color: var(--white);
    font-size: 16rem;
}

.cancel-save-btn {
    border-color: var(--gray);
    color: var(--black);
    background-color: var(--white);
}

.cancel-save-btn:hover {
    border-color: var(--black);
}

.save-btn:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

input.invalid {
    border-color: red;
}

.modal-content-download {
    padding-left: 20rem;
    padding-right: 20rem;
}

.modal-content-download img,
.warning-modal-content img {
    width: 60rem;
    height: 60rem;
    margin-bottom: 20rem;
}

.modal-content-download img {
    transform-origin: center;
    transform: rotate(0deg);
    animation: rotateAnimation 3s linear infinite;
}

@keyframes rotateAnimation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}

.warning-open {
    visibility: hidden;
    display: none;
}

.modal-content-download__btn {
    visibility: hidden;
}

.modal_handrail_notification {
    position: fixed;

    transform: translate(-50%, 0rem);

    padding: 15rem 20rem;

    width: 500rem;
    height: 100rem;
    margin-left: 20rem;

    justify-content: center;
    align-items: center;

    background-color: #fff;
    border-radius: 20rem;
    border: 1px solid #000;

    transition: transform 0.5s ease;
}

.modal_handrail_notification.show {
    transform: translate(-50%, -220rem);
}

.modal_handrail_notification_text span {
    font-size: 16rem;
    
}

.modal_handrail_notification_close_btn {
    top: 10rem;
    right: 10rem;
}

@media only screen and (max-width: 980px) {
    .modal-content {
        max-width: 300px;
        
        width: 100%;
    }

    .modal-content {
        padding: 25px;
    }

    .modal-title,
    .save-project-title {
        font-size: 18px;
    }

    .modal_body_text {
        font-size: 14px;
    }

    .modal_btn {
        padding: 12px 20px;
        font-size: 14px;
    }

    .btn-close {
        background-size: 10px;
    }

    .make-order__label span,
    .save-project-label-text {
        font-size: 14px;
    }

    .make-order__label input,
    .save-project-input {
        height: 36px;
    }

    .make-order__label input,
    .make-order__label textarea,
    .save-project-input {
        font-size: 14px;
    }

    .make-order__label textarea::placeholder,
    .make-order__label input::placeholder,
    .save-project-input::placeholder {
        font-size: 14px;
    }

    .make-order,
    .save-btn,
    .cancel-save-btn {
        font-size: 14px;
        padding: 12px 20px;
        line-height: 18rem;
    }
}

@media (max-width: 950px) {
    .modal_handrail_notification.show {
        transform: translate(-50%, -320rem);
    }
}
