html {
    scroll-behavior: smooth;
}

body {
    font-family: "Involve", sans-serif;
    color: #000;
    font-size: 18px;
}

section {
    padding-top: 120px;
}

svg {
    flex-shrink: 0;
}

h3 {
    font-size: 40px;
    font-weight: 500;
}

h5 {
    font-size: 22px;
    font-weight: 500;
}

.container {
    max-width: 1550px;
    padding: 0 15px;
    margin: 0 auto;
}

.header {
    position: absolute;
    top: 18px;
    left: 0;
    right: 0;
    z-index: 10;
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header__left {
    display: flex;
    gap: 67px;
    align-items: center;
}

.header__nav {
    background: #f6f4f4;
    border-radius: 0 30px;
    padding: 8px 16px 7px 21px;
    display: flex;
    align-items: center;
    font-size: 16px;
}

.header__link {
    color: #302e2e;
    transition: color 0.2s ease-in-out;
}

.header__link:hover {
    color: #ff2440;
}

.header__button {
    display: block;
    padding: 9.5px 24px 9.5px 23px;
    margin-left: 17px;
    font-size: 12px;
    color: #fff;
    border: 2px solid #f37989;
    font-weight: 500;
    background: #ff2440;
    border-radius: 0 20px;
    transition: background 0.2s ease-in-out;
}

.header__button:hover {
    background-color: #510404;
}

.top {
    background: url("../images/main-bg.jpg") no-repeat bottom center / cover;
    color: #fff;
    overflow: hidden;
    padding: 165px 0 99px;
}

.top__content {
    max-width: 745px;
    margin-left: 99px;
}

.top__title {
    font-size: 120px;
    font-weight: 500;
    text-align: end;
    line-height: 1.14;
}

.top__title span {
    display: block;
    font-family: "Arctika Script", sans-serif;
    font-size: 110px;
    margin-bottom: 35px;
    line-height: 0.8;
    color: #ff2440;
}

.top__wrapper {
    gap: 20px;
    width: 100%;
    max-width: 480px;
    margin-top: 87px;
    position: relative;
    display: flex;
    flex-direction: column;
}

.top__plus {
    position: absolute;
    right: 0;
    top: 0;
    color: #ff2440;
    font-size: 80px;
}

.top__item {
    width: fit-content;
    font-size: 100px;
    position: relative;
    font-family: "Arctika Script", sans-serif;
}

.top__item:last-child {
    margin-left: auto;
}

.top__num {
    font-family: "Involve", sans-serif;
    margin-left: 28px;
    font-weight: 600;
    font-size: 120px;
    z-index: 1;
    line-height: 1.2;
    color: #ff2440;
    position: absolute;
}

.top__item:first-child .top__num {
    right: -49px;
    transform: translateX(100%);
    top: -50px;
}

.top__item:last-child .top__num {
    right: -36px;
    transform: translateX(100%);
    top: -58px;
}

.top__flag {
    min-width: 80px;
    position: absolute;
    right: -51px;
    top: 20px;
    z-index: -1;
}

.top__item:last-child .top__flag {
    min-width: 91px;
    right: -59px;
}

.about__inner {
    display: grid;
    grid-template-columns: calc(58.4% - 12px) calc(41.6% - 12px);
    grid-template-rows: 282px auto;
    gap: 24px;
}

.about__block-title {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.about__plan {
    grid-row: 1 / 3;
    background-color: #fffbee;
    border-radius: 10px;
    padding-right: 50px;
    display: flex;
    gap: 21px;
    box-shadow: 5px 4px 20px 0 rgba(0, 0, 0, 0.25);
}

.about__plan-info {
    padding: 58px 0 39px 54px;
    margin-right: auto;
}

.about__plan-content {
    margin-top: 35px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.about__period {
    width: fit-content;
    padding-right: 19px;
    display: flex;
    align-items: flex-end;
    border-bottom: #929090 1px solid;
    gap: 13px;
    font-size: 40px;
    color: #db253d;
    font-weight: 600;
}

.about__arrow {
    margin-bottom: 14px;
}

.about__period span,
.about__item-title span {
    font-size: 25px;
}

.about__item-title {
    margin-top: 21px;
    line-height: 1.32;
}

.about__list {
    margin-top: 24px;
    display: flex;
    line-height: 1.56;
    flex-direction: column;
}

.about__item {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.about__plan-title {
    font-size: 30px;
    font-weight: 500;
    color: #ff2440;
}

.about__item--bold {
    font-size: 22px;
    font-weight: 500;
}

.about__areas,
.about__finance {
    border-radius: 10px;
    color: #fff;
}

.about__areas {
    background: #690303 url("../images/about-areas-bg.png") no-repeat right /
    119px 100%;
    padding: 50px 162px 33px 50px;
    font-size: 22px;
}

.about__finance {
    background: #690303 url("../images/about-finance-bg.png") no-repeat left /
    119px 100%;
    padding: 50px 53px 50px 134px;
}

.about__areas .about__list {
    margin-top: 35px;
    gap: 9px;
}

.about__finance .about__list {
    margin-top: 45px;
    gap: 28px;
}

.about__finance .about__text {
    margin-top: 45px;
}

.about__finance .about__item {
    gap: 15px;
}

.news__inner {
    overflow: hidden;
    padding: 0;
}

.news__title {
    margin-left: 15px;
}

.news__swiper {
    margin-top: 44px;
    padding: 0 15px;
}

.news__slide {
    height: auto;
}

.news__item {
    height: 100%;
    padding: 40px 43px 50px 40px;
    border-radius: 10px;
    box-shadow: 0 4px 9px 0 rgba(0, 0, 0, 0.25);
    background: #fffbee;
    display: flex;
    flex-direction: column;
}

.news__date {
    font-size: 16px;
    line-height: 125%;
    color: #690303;
}

.news__item-title {
    line-height: 1.59;
    margin-top: 40px;
}

.news__text {
    margin-top: 40px;
    line-height: 1.87;
    margin-bottom: 20px;
}

.news__link {
    margin-left: auto;
    font-size: 22px;
    text-decoration: underline;
    color: #ff2440;
    margin-top: auto;
}

.news__link:hover,
.news__link:visited,
.news__link:link {
    text-decoration: underline;
}

.news__bottom {
    position: relative;
    margin-top: 35px;
    padding: 0 15px;
}

.news__pagination {
    margin: 0 auto;
    --swiper-pagination-bullet-size: 12px;
    --swiper-pagination-color: #ff2440;
    --swiper-pagination-bullet-inactive-color: #929090;
    --swiper-pagination-bullet-horizontal-gap: 6px;
    --swiper-pagination-bullet-inactive-opacity: 1;
}

.news__navigation {
    display: flex;
    justify-content: end;
    gap: 20px;
    position: relative;
    z-index: 30;
}

.news__button {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid #9d9b9b;
}

.request__content {
    border-radius: 10px;
    background: url("../images/request-bg.jpg") no-repeat center center / cover;
    padding: 70px 131px 50px 587px;
    color: #fff;
}

.request__title {
    font-size: 70px;
    font-family: "Arctika Script", sans-serif;
}

.request__text {
    max-width: 801px;
    font-size: 20px;
    margin-top: 41px;
    line-height: 1.75;
}

.request__form {
    max-width: 740px;
    margin-top: 35px;
}

.request__flex {
    max-width: 727px;
    display: flex;
    gap: 15px 20px;
}

.request__form-item {
    width: calc(50% - 10px);
}

.request__input {
    width: 100%;
    height: 60px;
    border-radius: 10px;
    margin-top: 9px;
    border: 1px solid #fff;
    padding: 0 20px;
}
.request__input--error {
    border: 1px solid red;
}
.request__input:focus {
    outline: none;
}

.request__label {
    display: block;
    padding-left: 9px;
    font-size: 14px;
}

.request__form-text {
    margin-top: 15px;
    font-size: 14px;
}

.request__button {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 500;
    margin: 38px 0 0 auto;
    gap: 12px;
    border: 1px solid #f37989;
    border-radius: 0 30px;
    width: 100%;
    max-width: 318px;
    height: 65px;
    background: #ff2440;
    transition: background-color 0.2s ease-in-out;
}

.request__button:hover {
    background: #510404;
}

.footer {
    background: #302e2e;
    padding: 20px 0 40px;
    color: #fff;
    margin-top: 100px;
    border-radius: 10px 10px 0 0;
}

.footer__inner {
    display: grid;
    grid-template-columns: auto auto;
    padding-bottom: 29px;
    justify-content: space-between;
}

.footer__wrapper span {
    display: block;
    margin-bottom: 15px;
}

.footer__telephone {
    font-size: 30px;
}

.footer__wrapper--right {
    text-align: end;
    display: flex;
    flex-direction: column;
    grid-row: 1 / 3;
    grid-column: 2 / 3;
}

.footer__mail {
    font-family: "Gilroy", sans-serif;
    display: flex;
    align-items: center;
    font-size: 20px;
    gap: 15px;
}

.footer__mail-circle,
.footer__social-link {
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid #fff;
}

.footer__mail-circle {
    width: 30px;
    height: 30px;
}

.footer__socials {
    justify-content: flex-end;
    display: flex;
    gap: 23.38px;
    margin-top: 22px;
}

.footer__social-link {
    width: 40px;
    height: 40px;
}

.footer__social-link img {
    width: 20px;
    height: 20px;
}

.footer__policy {
    margin-top: 15px;
    text-decoration: underline;
    transition: color 0.2s ease-in-out;
}

.footer__policy:hover {
    color: #ff2440;
}

.refakt {
    font-family: var(--third-family);
    border-top: 1px solid #EBEAE8;
    text-align: center;
    padding: 20px;
    max-width: 94.8125rem;
    margin: 30px auto 0 auto;
    color: #fff;
}

.refakt a {
    font-family: var(--third-family);
    color: #fff;
    border-bottom: 1px solid transparent;
}

.refakt a:hover {
    border-bottom: 1px solid #fff;
}

@media (max-width: 1620px) {
    .top {
        background-position: 80% bottom;
    }

    .top__content {
        margin-left: 0;
    }
}

@media (max-width: 1440px) {
    .about__plan {
        padding-right: 30px;
    }

    .about__plan-info {
        padding-left: 30px;
    }

    .about__plan-img {
        width: 200px;
        object-fit: cover;
    }

    .about__areas {
        padding: 30px;
    }

    .about__finance {
        padding: 30px;
    }

    .request__content {
        padding-left: 470px;
        padding-right: 40px;
    }
}

@media (max-width: 1280px) {
    .top__title {
        font-size: 100px;
    }

    .top__title span {
        font-size: 90px;
    }

    .top__item {
        font-size: 80px;
    }

    .top__num {
        font-size: 90px;
    }

    .top__plus {
        position: absolute;
        right: 60px;
        top: -10px;
    }

    .top__item:first-child .top__num {
        right: -29px;
        top: -38px;
    }

    .top__item:last-child .top__num {
        right: -25px;
        top: -37px;
    }

    .top__flag {
        min-width: 60px;
        width: 60px;
        height: 60px;
        top: 6px;
    }

    .header__left {
        gap: 20px;
    }

    .header__nav {
        flex-direction: column;
        padding: 0;
        background: transparent;
        gap: 10px;
        color: #fff;
    }

    .header__link {
        color: #fff;
    }

    .about__plan-img {
        display: none;
    }

    .about__inner {
        grid-template-rows: auto auto;
        grid-template-columns: 1fr 1fr;
    }

    .request__content {
        background: url("../images/request-bg-s.jpg") no-repeat center center /
      cover;
        padding-left: 30px;
        padding-right: 30px;
    }

    .request__form,
    .request__flex {
        max-width: 100%;
    }
}

@media (max-width: 900px) {
    .about__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 16px;
    }

    section {
        padding-top: 70px;
    }

    h5 {
        font-size: 18px;
    }

    .header__left {
        gap: 9px;
    }

    .top {
        background: url("../images/main-bg-s.jpg") no-repeat center bottom / cover;
        padding: 126px 0 469px;
    }

    .top__title {
        font-size: 60px;
        text-align: center;
        line-height: 1.3;
    }

    .top__title span {
        font-size: 40px;
        margin-bottom: 7px;
    }

    .top__wrapper {
        max-width: 246px;
        gap: 14px;
        margin-left: 23px;
        margin-top: 49px;
    }

    .top__plus {
        font-size: 40px;
        top: 0;
        right: 0;
    }

    .top__flag {
        min-width: 55px;
        width: 55px;
        height: 55px;
        right: -33px;
    }

    .top__item:last-child .top__flag {
        min-width: 67px;
        right: -39px;
    }

    .top__item {
        font-size: 50px;
    }

    .top__num {
        font-size: 70px;
    }

    .about__inner {
        padding: 0;
        gap: 40px;
    }

    .about__plan-info {
        padding: 40px 10px 50px 15px;
    }

    .about__plan-content {
        margin-top: 45px;
    }

    .about__item-title {
        margin-top: 20px;
        line-height: 1.67;
    }

    .about__item-title span {
        font-size: 18px;
    }

    .about__plan-info .about__list {
        padding-left: 19px;
    }

    .about__plan-content {
        gap: 40px;
    }

    .about__item--bold {
        font-size: 18px;
    }

    .about__areas {
        background: #690303 url("../images/about-areas-bg-s.png") no-repeat right /
      94px 100%;
        padding: 46px 15px 32px 15px;
    }

    .about__areas .about__list {
        font-size: 18px;
        gap: 14px;
        padding-left: 30px;
        margin-top: 38px;
    }

    .about__finance {
        background: #690303 url("../images/about-finance-bg-s.png") no-repeat left /
      95px 100%;
        padding: 40px 16px 37px 14px;
    }

    .about__finance .about__text {
        margin-top: 40px;
        padding-left: 80px;
    }

    .about__finance .about__list {
        padding-left: 80px;
        gap: 24px;
        margin-top: 23px;
    }

    .news__item {
        padding: 30px 18px 25px 20px;
    }

    .news__bottom {
        margin-top: 24px;
    }

    .news__navigation {
        display: none;
    }

    .news__bottom .news__pagination {
        position: static;
    }

    .news__text {
        margin-top: 30px;
    }

    .news__item-title {
        line-height: 1.67;
    }

    .news__link {
        font-size: 18px;
    }

    .request__inner {
        padding: 0;
    }

    .request__content {
        border-radius: 0;
        padding: 36px 14px 70px 16px;
    }

    .request__title {
        font-size: 40px;
        text-align: center;
    }

    .request__text {
        font-size: 18px;
        text-align: center;
        margin-top: 28px;
    }

    .request__flex {
        flex-direction: column;
    }

    .request__form {
        padding: 0 24px 0 26px;
    }

    .request__form-item {
        width: 100%;
    }

    .request__form-text {
        font-size: 12px;
        padding: 0 11px 0 8px;
    }

    .request__button {
        margin: 38px auto 0;
    }

    .footer {
        margin-top: 0;
        border-radius: 0;
        padding-bottom: 29px;
    }

    .footer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer__wrapper {
        text-align: center;
    }

    .footer__wrapper--right {
        grid-row: 2 / 3;
        grid-column: 1 / 2;
    }

    .footer__mail {
        width: fit-content;
        margin: 30px auto 0;
        order: 1;
    }

    .footer__socials {
        justify-content: center;
        margin-top: 0;
    }

    .footer__policy {
        margin: 0 auto;
        text-align: center;
    }
}

@media (max-width: 380px) {
    .top__title {
        font-size: 40px;
    }

    .top__title span {
        font-size: 30px;
    }

    .top__wrapper {
        margin-left: 0;
    }
}
