.html {
    overflow-x: hidden;
}

.body {
    overflow-x: hidden;
    background: linear-gradient(to bottom, #88d4ff, #048bd8);
    background-repeat: no-repeat;
    font-family: Lato, sans-serif;
    color: #ffffff;
    font-size: 36px;
    font-weight: 400;
    position: relative;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    height: 100%;
    width: 100%;
}

.circle {
    height: 1400px;
    width: 1400px;
    background: linear-gradient(to left, #F7FAFF, #D2EEFF);
    position: absolute;
    top: 324px;
    left: 47%;
    border-radius: 50%;
    z-index: 1;
    opacity: 0.3;
}

.header {
    width: 1832px;
    margin: 0 auto;
    padding: 22px 44px 0;

    .header__wrapper {
        display: grid;
        grid-template-columns: calc(100% - 310px) 310px;
    }

    .header__logo {
        display: none;
    }

    .header__phone {
        grid-column: 2/3;
        display: grid;
        grid-template-columns: auto;
        justify-items: center;
        align-items: center;
    }
}

.phone {
    .phone__link {
        display: flex;
        align-items: center;
        text-decoration: none;
    }

    .phone__number {
        margin-left: 12px;
        font-size: 32px;
        color: #ffffff;
        font-weight: 700;
    }
}

.container {
    position: relative;
    z-index: 2;
    width: 1832px;
    margin: 0 auto;
    padding: 0 44px;
}

.application {
    grid-row: 1/2;
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: 1fr;
    margin-bottom: 117px;

    .application__header {
        display: grid;
        grid-template-columns: 510px 1fr;
        grid-template-rows: 82px auto;
        row-gap: 40px;
    }

    .application__logo {
        grid-column: 1/2;
        grid-row: 1/2;
        margin-top: -38px;
    }

    .application__title {
        grid-column: 1/2;
        grid-row: 2/3;
    }

    .application__image {
        display: grid;
        grid-template-columns: 260px 1fr;
        grid-template-rows: 54px 92px auto;
    }

    .application__image-app {
        grid-column: 1/2;
        grid-row: 2/4;
    }

    .application__image-map {
        grid-column: 2/3;
        grid-row: 3/4;
    }
}

.information {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(334px, 1fr));
    column-gap: 42px;
    justify-content: center;
    margin-bottom: 120px;

    .information__item {
        border: 1px solid #E5E5E5;
        border-radius: 40px;
        padding: 40px 45px 47px;
        display: grid;
        grid-template-rows: auto 1fr;
        row-gap: 42px;
    }
}

.partners {
    margin-bottom: 340px;

    .partners__title {
        font-size: 36px;
        font-weight: 700;
        display: block;
        margin-bottom: 30px;
    }

    .partners__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 42px;
        padding: 0;
        margin: 0;
    }

    .partners__item {
        list-style-type: none;
        border: 1px solid #E5E5E5;
        border-radius: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;

        &:hover {
            background-color: rgba(0, 0, 0, 0.05);
            cursor: pointer;
          }
    }

    .partners__item-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        color: inherit;
        text-decoration: none;
        padding: 60px 0;
    }

    .partners__item-text {
        font-size: 30px;
        padding: 84px 12px;
    }

    .partners__item-text-link {
        font-size: 30px;
    }

    .partners__item-plus {
        font-size: 80px;
        line-height: 0.6;
      }
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.modal__content {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 40px;
    width: 100%;
    max-width: 600px;
    color: #000000;
    overflow-y: auto;
    box-sizing: border-box;
    margin: 0 20px;
}

.modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.modal__title {
    font-size: 22px;
    font-weight: 700;
    color: #000000;
}

.modal__close {
    font-size: 36px;
    background: transparent;
    border: none;
    color: #000000;
    cursor: pointer;
    line-height: 1;
    font-weight: 400;
    transition: color 0.3s ease;
    padding: 0;
    margin: 0;
}

.modal__info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.modal__text {
    font-size: 16px;
    color: #333333;
}

.modal__link {
    color: #007bff;
    text-decoration: none;
}

body.no-scroll, html.no-scroll {
    overflow: hidden;
}

.footer {
    position: relative;
    z-index: 2;
    width: 1832px;
    margin: 0 auto;
    padding: 0 44px 20px;

    .footer__wrapper {
        display: grid;
        grid-template-columns: 1fr 300px 300px;
        grid-template-rows: repeat(6, auto);
        font-size: 24px;
    }

    .footer__phone {
        grid-column: 2/3;
        grid-row: 2/3;
        text-align: right;
        align-self: end;
    }

    .footer__phone-number {
        color: #ffffff;
        text-decoration: none;
        font-weight: 700;
    }

    .footer__organization {
        grid-column: 2/3;
        grid-row: 3/4;
        text-align: right;
        align-self: end;
    }
}

.document {
    grid-column: 1/2;
    grid-row: 1/4;
    display: grid;
    grid-template-rows: repeat(6, auto);
    align-items: end;
    gap: 12px;
    padding: 0;
    margin: 0;

    .document__item {
        list-style-type: none;
    }

    .document__name {
        color: #ffffff;
        text-decoration: none;
    }
}

.connection {
    grid-column: 3/3;
    grid-row: 3/4;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 12px;
    padding: 0;
    margin: 0;

    .connection__item {
        list-style-type: none;
    }

    .connection__wrapper {
        display: flex;
        justify-content: end;
        margin: 0;
        gap: 12px;
    }
}

.applink {
    display: flex;
    flex-direction: row;
    padding-top: 96px;
    padding-bottom: 32px;
}

.applink .applink__item {
    display: flex;
    flex-grow: 0;
}

.applink .applink__item:not(:first-child) {
    padding-left: 32px;
}

.applink .applink__item img {
    width: 100%;
    height: auto;
}

.footer__applink {
    grid-column: 2/3;
    grid-row: 1/4;
}

.applink-footer {
    display: flex;
    flex-direction: row;
}

.applink-footer .applink__item {
    display: flex;
    flex-grow: 0;
}

.applink-footer .applink__item:not(:first-child) {
    padding-left: 32px;
}

.applink-footer .applink__item img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1919px) {
    .header {
        width: 1432px;
    }

    .container {
        width: 1432px;
    }

    .information {
        grid-template-columns: repeat(auto-fill, minmax(234px, 326px));

        .information__item {
            row-gap: 40px;
            font-size: calc(28px + (30 - 28) * ((100vw - 1520px) / (1920 - 1520)));
        }

        .information__image {
            height: calc(90px + (100 - 90) * ((100vw - 1520px) / (1920 - 1520)));
            width: auto;
        }
    }

    .footer {
        width: 1432px;
    }
}

@media screen and (max-width: 1519px) {
    .header {
        width: 1200px;
    }

    .container {
        width: 1200px;
    }

    .application {
        grid-template-columns: 500px calc(100% - 500px);

        .application__header {
            grid-template-columns: 500px;
        }

        .application__title {
            font-size: 30px;
        }

        .application__image {
            grid-template-columns: 230px 1fr;
            grid-template-rows: 54px 83px auto;
        }

        .application__image-app {
            height: 800px;
        }

        .application__image-map {
            height: 800px;
        }
    }

    .information {
        grid-template-columns: repeat(auto-fill, minmax(134px, 268px));

        .information__item {
            padding: 20px 25px;
            row-gap: 30px;
            font-size: calc(24px + (26 - 24) * ((100vw - 1290px) / (1520 - 1290)));
        }

        .information__image {
            height: calc(80px + (90 - 80) * ((100vw - 1290px) / (1520 - 1290)));
        }
    }

    .footer {
        width: 1200px;
    }
}

@media screen and (max-width: 1289px) {
    .header {
        width: 940px;
    }

    .container {
         width: 940px;
    }

    .application {
        grid-template-columns: 400px calc(100% - 400px);

        .application__header {
            grid-template-columns: 400px;
        }

        .application__title {
            font-size: 30px;
        }

        .application__image {
            grid-template-columns: 184px 1fr;
            grid-template-rows: 60px 67px auto;
        }

        .application__image-app {
            height: 640px;
        }

        .application__image-map {
            height: 640px;
        }
    }

    .information {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        row-gap: 40px;

        .information__item {
            width: auto;
            row-gap: 30px;
            font-size: 30px;
            padding: 40px 45px;
        }

        .information__image {
            height: 90px;
            width: auto;
        }
    }

    .footer {
        width: 940px;
    }
}

@media screen and (max-width: 1024px) {
    .circle {
        height: 1400px;
        width: 1400px;
        top: calc(100px + (280 - 100) * ((100vw - 375px) / (1024 - 375)));
        left: 84%;
    }

    .header {
        padding: calc(10px + (20 - 10) * ((100vw - 375px) / (1024 - 375))) calc(10px + (34 - 10) * ((100vw - 375px) / (1024 - 375))) 0;
        width: auto;

        .header__wrapper {
            grid-template-columns: calc(100% - calc(140px + (310 - 140) * ((100vw - 375px) / (1024 - 375)))) calc(140px + (310 - 140) * ((100vw - 375px) / (1024 - 375)));
        }

        .header__logo {
            display: block;
        }

        .header__image {
            height: calc(36px + (72 - 36) * ((100vw - 375px) / (1024 - 375)));
        }
    }

    .phone {
        .phone__number {
            margin-left: calc(6px + (12 - 6) * ((100vw - 375px) / (1024 - 375)));
            font-size: calc(14px + (32 - 14) * ((100vw - 375px) / (1024 - 375)));
        }

        .phone__image {
            height: calc(14px + (30 - 14) * ((100vw - 375px) / (1024 - 375)));
            width: auto;
        }

    }

    .container {
        width: auto;
        padding: 0 calc(10px + (34 - 10) * ((100vw - 375px) / (1024 - 375)));
    }

    .application {
        display: grid;
        grid-template-columns: 1fr;
        margin-bottom: calc(40px + (140 - 40) * ((100vw - 375px) / (1024 - 375)));

        .application__header {
            grid-template-columns: 1fr;
            grid-template-rows: calc(120px + (220 - 120) * ((100vw - 375px) / (1024 - 375)));
        }

        .application__logo {
            display: none;
        }

        .application__title {
            grid-row: 1/3;
            grid-column: 1/2;
            font-weight: 700;
            font-size: calc(20px + (48 - 20) * ((100vw - 375px) / (1024 - 375)));
            text-align: center;
            align-self: center;
        }

        .application__image {
            display: grid;
            grid-template-columns: 1fr calc(120px + (260 - 120) * ((100vw - 375px) / (1024 - 375))) auto 1fr;
            grid-template-rows: calc(44px + (92 - 44) * ((100vw - 375px) / (1024 - 375))) auto;
        }

        .application__image-app {
            height: calc(425px + (898 - 425) * ((100vw - 375px) / (1024 - 375)));
            grid-column: 2/3;
            grid-row: 1/2;
        }

        .application__image-map {
            height: calc(425px + (898 - 425) * ((100vw - 375px) / (1024 - 375)));
            grid-column: 3/4;
            grid-row: 2/3;
        }
    }

    .information {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        row-gap: calc(18px + (60 - 18) * ((100vw - 375px) / (1024 - 375)));
        column-gap: calc(24px + (76 - 24) * ((100vw - 375px) / (1024 - 375)));
        margin-bottom: calc(50px + (140 - 50) * ((100vw - 375px) / (1024 - 375)));

        .information__item {
            width: auto;
            padding: calc(14px + (40 - 14) * ((100vw - 375px) / (1024 - 375))) calc(14px + (45 - 14) * ((100vw - 375px) / (1024 - 375)));
            row-gap: calc(18px + (50 - 18) * ((100vw - 375px) / (1024 - 375)));
            font-size: calc(12px + (36 - 12) * ((100vw - 375px) / (1024 - 375)));
        }

        .information__image {
            height: calc(40px + (113 - 40) * ((100vw - 375px) / (1024 - 375)));
            width: auto;
        }
    }

    .partners {
        margin-bottom: 120px;

        .partners__title {
            font-size: calc(20px + (36 - 20) * ((100vw - 375px) / (1024 - 375)));
        }

        .partners__item-link {
            padding: calc(40px + (60 - 40) * ((100vw - 375px) / (1024 - 375))) 0;
        }
    }

    .footer {
        width: auto;
        padding: 0 calc(10px + (34 - 10) * ((100vw - 375px) / (1024 - 375))) calc(10px + (20 - 10) * ((100vw - 375px) / (1024 - 375)));

        .footer__phone-number {
            font-size: calc(20px + (24 - 20) * ((100vw - 375px) / (1024 - 375)));
        }
    }

    .document {
        .document__item {
            font-size: calc(12px + (24 - 12) * ((100vw - 375px) / (1024 - 375)));
        }
    }
}

@media screen and (max-width: 969px) {
    .footer {
        .footer__wrapper {
            grid-template-columns: 1fr;
            grid-template-rows: auto auto auto auto;
            justify-self: end;
            gap: 32px;
        }

        .footer__phone {
            grid-column: 1/2;
            grid-row: 2/3;
        }

        .footer__organization {
            grid-column: 1/2;
            grid-row: 4/5;
            font-size: calc(12px + (24 - 12) * ((100vw - 375px) / (969 - 375)));
        }
    }

    .document {
        grid-column: 1/2;
        grid-row: 1/2;
        justify-items: end;
        align-items: center;
        grid-template-rows: repeat(6, auto);
    }

    .connection {
        grid-column: 1/2;
        grid-row: 4/4;

        .connection__item {
            list-style-type: none;
        }

        .connection__image {
            height: calc(30px + (42 - 30) * ((100vw - 375px) / (969 - 375)));
        }
    }

    .footer__applink {
        grid-column: 1/2;
        grid-row: 2/4;
        justify-content: flex-end;
    }

    .applink-footer {
        width: 60%;
        justify-self: end;
    }
}

@media screen and (max-width: 768px) {
    .partners {
        .partners__list {
            grid-template-columns: 1fr;
            grid-template-rows: 1fr 1fr;
            gap: calc(18px + (60 - 18) * ((100vw - 375px) / (1024 - 375)));
        }

        .partners__item {
            &:hover {
                background-color: transparent;
                cursor: default;
            }
        }

        .partners__title {
            margin-bottom: 20px;
        }

        .partners__item-plus {
            line-height: 0.8;
            font-size: calc(50px + (80 - 50) * ((100vw - 375px) / (768 - 375)));
          }

        .partners__item-text {
            font-size: calc(20px + (30 - 20) * ((100vw - 375px) / (768 - 375)));
        }
    }
}

@media screen and (max-width: 375px) {
    .circle {
        height: 1000px;
        width: 1000px;
        top: 190px;
        left: -10%;
    }
}
