/*Заголовки*/

.th_h1 {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 5.625rem !important;
    line-height: 80% !important;
    @media screen and (max-width: 968px) {
        font-size: 4rem !important;
        line-height: 80% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 2.875rem !important;
        line-height: 80% !important;
    }

    span {
        color: var(--prime);
    }
}

.th_h2 {
    font-family: "ProximaNovaExtraBold", sans-serif !important;
    font-size: 4rem !important;
    line-height: 100% !important;

    @media screen and (max-width: 968px) {
        font-family: "ProximaNovaBold", sans-serif !important;
        font-size: 3rem !important;
        line-height: 90% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1.5rem !important;
        line-height: 90% !important;
    }
}

.th_h3 {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 3rem !important;
    line-height: 90% !important;

    span {
        color: var(--prime);
    }

    @media screen and (max-width: 968px) {
        font-size: 2rem !important;
        line-height: 90% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1.5rem !important;
        line-height: 90% !important;
    }
}

.th_h4 {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 2.5rem !important;
    line-height: 100% !important;
    span {
        color: var(--prime);
    }

    @media screen and (max-width: 968px) {
        font-size: 2rem !important;
        line-height: 100% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1.5rem !important;
        line-height: 100% !important;
    }
}

.th_h5 {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 1rem !important;
    line-height: 100% !important;
}

/*Названия*/

.th_title_l {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 2.25rem !important;
    line-height: 100% !important;

    @media screen and (max-width: 968px) {
        font-size: 2rem !important;
        line-height: 100% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1.5rem !important;
        line-height: 100% !important;
    }
}

.th_title_m {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 2rem !important;
    line-height: 100% !important;

    span {
        color: var(--prime);
    }

    @media screen and (max-width: 968px) {
        font-size: 1.5rem !important;
        line-height: 100% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1.25rem !important;
        line-height: 100% !important;
    }
}

.th_title_s {
    font-family: "ProximaNovaBold", sans-serif !important;
    font-size: 1.5rem !important;
    line-height: 120% !important;
    span {
        color: var(--prime);
    }

    @media screen and (max-width: 968px) {
        font-size: 1rem !important;
        line-height: 120% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1rem !important;
        line-height: 120% !important;
    }
}

/*Наборный текст*/

.th_text_xxl {
    font-family: "ProximaNovaRegular", sans-serif !important;
    font-size: 2rem !important;
    line-height: 110% !important;

    @media screen and (max-width: 968px) {
        font-size: 1rem !important;
        line-height: 110% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1rem !important;
        line-height: 110% !important;
    }
}

.th_text_xl {
    font-family: "ProximaNovaRegular", sans-serif !important;
    font-size: 1.5rem !important;
    line-height: 110% !important;

    @media screen and (max-width: 968px) {
        font-size: 1rem !important;
        line-height: 110% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 1rem !important;
        line-height: 110% !important;
    }
}

.th_text_l {
    font-family: "ProximaNovaRegular", sans-serif;
    font-size: 1.25rem;
    line-height: 110%;
    @media screen and (max-width: 968px) {
        font-size: 1rem !important;
        line-height: 110% !important;
    }
    @media screen and (max-width: 600px) {
        font-size: 0.875rem !important;
        line-height: 110% !important;
    }
}

.th_text_m {
    font-family: "ProximaNovaRegular", sans-serif;
    font-size: 1rem;
    line-height: 120%;

    span {
        color: var(--prime);
    }
}

.th_text_s {
    font-family: "ProximaNovaRegular", sans-serif;
    font-size: 0.875rem;
    line-height: 85%;
}

/*Кнопки*/

.th_btn {
    display: flex;

    padding: 9px 38px;

    font-family: "ProximaNovaRegular";
    font-size: 1.25rem;
    line-height: 110%;
    color: var(--white);
    text-decoration: none;

    border: 1px solid var(--white);
    border-radius: 15px;

    transition: all 300ms ease-in-out;

    text-align: center !important;
    justify-content: center;
    align-items: center;

    text-wrap: nowrap;
    &.th_btn-outline-1 {
        background-color: transparent;
        &:hover {
            background-color: var(--white);
            border-color: var(--white);
            color: var(--prime);
        }
        @media screen and (max-width: 600px) {
            font-size: 0.75rem;
            padding: 8px 22px;
        }
    }

    &.th_btn-outline-2 {
        &:hover {
            background-color: var(--prime);
            border-color: var(--prime);
        }
    }

    &.th_btn-filled-1 {
        background-color: var(--prime);
        border-color: var(--prime);
        &:hover {
            background-color: #2e80e1;
            border-color: #2e80e1;
        }
    }

    @media screen and (max-width: 968px) {
        padding: 7px 30px;
    }
    @media screen and (max-width: 600px) {
        padding: 5px 22px;
    }
}

/*Инпуты*/
input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    display: none;
}

.th_form-control {
    padding: 12px 18px;

    color: var(--white);
    background-color: transparent;

    border: 1px solid var(--white);
    border-radius: 10px;
    &::placeholder {
        color: var(--white);
    }
    &:focus {
        outline: none;
        box-shadow: 0px 0px 5px 1px var(--white);
    }

    &.secondary {
        border: 1px solid var(--secondary-40);
        color: var(--secondary);

        &::placeholder {
            color: var(--secondary-40);
        }
    }
}

/*Формы*/
.th_form_1 {
    display: flex;
    flex-direction: column;

    gap: 20px;
    padding: 20px;

    background-color: rgba(255, 255, 255, 0.19);

    border-radius: 10px;
    .th_title_l {
        @media screen and (max-width: 600px) {
            font-size: 2rem !important;
        }
    }
    p {
        @media screen and (max-width: 600px) {
            font-size: 0.65rem !important;
        }
    }
    .th_btn {
        @media screen and (max-width: 600px) {
            font-size: 1.5rem !important;
        }
    }
    .th_form_group_1 {
        display: flex;
        flex-direction: column;

        gap: 12px;
    }
    a {
        color: var(--white);
    }
}

/*Секции*/

section {
    &.th_section {
        &.white {
            padding: 120px 0px;
            background-color: var(--white);
            color: var(--secondary);
            @media screen and (max-width: 600px) {
                padding: 45px 0px;
            }
        }
        &.blue {
            padding: 45px 0px;
            background-color: var(--prime);
            color: var(--white);

            &.mini {
                padding: 15px 0px;

                .header {
                    padding-top: 0;
                }
            }
        }
    }
}
