#welcome,
#dates,
#format,
#conditions,
#documents,
#application,
#application-link,
#cost {
    overflow: hidden;
}

body>*:not(#application):not(#application-link):not(:last-child) {
    margin-bottom: calc(10rem + 10vmin);
}

#application {
    margin-bottom: calc(5rem + 5vmin) !important;
}

#welcome {
    .top-images {
        display: flex;
        gap: 20px;
        align-items: start;
        margin-top: 5em;
    }

    .top-images .left,
    .top-images .right {
        width: 100%;
    }

    .top-images .left {
        flex-basis: 160%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-self: stretch;
    }

    .logos {
        display: flex;
        align-items: start;
        gap: 30px;
    }

    .logos .logo-winter {
        object-fit: contain;
        align-self: stretch;
    }

    .logos .logo-monu {
        max-width: calc(60% - 15px);
    }

    .logos .logo-winter {
        max-width: calc(35% - 15px);
    }

    .univer-img {
        height: 100%;
        width: 100%;
        object-fit: contain;
        border-top-right-radius: 50%;
        border-bottom-right-radius: 50%;
    }

    .univer-img-container {
        position: relative;
    }

    .univer-img-container::before {
        content: "";
        background-image: url("../images/knu-logo.png");
        background-size: 100%;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        top: 0;
        right: -2vmin;
        min-width: 45px;
        min-height: 45px;
        width: calc(1rem + 5vmin);
        height: calc(1rem + 5vmin);
    }

    .univer-img-container::after {
        content: "";
        background-image: url("../images/snowflakes-white.png");
        background-size: 100%;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        width: calc(2rem + 10vmin);
        height: calc(2rem + 10vmin);
        right: -2vmin;
        bottom: calc(-1rem - 2vmin);
    }

    .main-title {
        color: #ffffff;
        font-weight: bold;
        font-size: calc(1rem + 7vmin);
        margin: .5em 0;
    }

    .main-info {
        font-weight: 200;
        color: #ffffff;
        font-size: min(2rem, calc(1rem + 2vw));
        margin-top: 2em;
        line-height: normal;
        font-weight: 400;
    }
}

#dates {
    .card {
        margin-bottom: 3rem;
    }

    .bottom-section {
        position: relative;
        text-align: center;
        line-height: 1.4;
        font-size: calc(1rem + 2vmin);
        padding-top: 1.7rem;
        padding-bottom: 15rem;
        text-transform: uppercase;
        font-weight: bold;
    }

    .bottom-section::before {
        content: "";
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        position: absolute;
        background-image: url("../images/contur-white.png");
        background-size: contain;
        background-repeat: no-repeat;
    }
}

#format {
    .card {
        margin-bottom: 3rem;
    }

    .card .form-list {
        display: flex;
        gap: 2rem;
        justify-content: space-between;
        margin-top: 2rem;
    }

    .card .form-list>li {
        border-radius: 15px;
        font-weight: 800;
        text-transform: uppercase;
        padding: 2rem 1rem;
        font-size: calc(1rem + 1vmin);
        text-align: center;
    }

    .content {
        position: relative;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .content::before {
        content: "";
        top: 0;
        left: -100%;
        right: 0;
        bottom: 0;
        z-index: -1;
        position: absolute;
        transform: scaleX(-1);
        background-image: url("../images/contur-full-blue.png");
        background-size: contain;
        background-repeat: no-repeat;
    }

    .content p {
        font-weight: bold;
        line-height: 1.6;
        font-size: calc(1rem + .5vmin);
    }

    .content p+p {
        margin-top: 2rem;
    }
}

#conditions {
    .title {
        font-size: calc(1.5rem + 2vmin);
        font-weight: 800;
        margin-bottom: 2rem;
    }

    .list {
        --margin-left: 4rem;
        --size: 2.5rem;

        position: relative;
        display: flex;
        flex-direction: column;
        gap: calc(1rem + 1vmin);
        padding-left: var(--margin-left);

        &::before,
        &::after {
            --size: 41%;

            content: "";
            width: var(--size);
            height: var(--size);
            z-index: -1;
            position: absolute;
            background-image: url("../images/contur-white.png");
            background-repeat: no-repeat;
            background-size: contain;
        }

        &::before {
            left: -2rem;
            top: 1.5rem;
        }

        &::after {
            right: -7rem;
            bottom: 1rem;
        }

        &>.card {
            font-size: calc(1rem + .35vmin);
            padding: calc(1rem + .5vmin) calc(1rem + 2vmin);
            margin-bottom: 0;
        }

        &>li {
            position: relative;
        }

        &>li::before {
            content: "";
            top: 50%;
            left: calc(-1 * var(--margin-left));
            right: 0;
            bottom: 0;
            position: absolute;
            background-image: url("../images/snowflake-yellow.png");
            background-repeat: no-repeat;
            background-size: contain;
            width: var(--size);
            height: var(--size);
            transform: translate(0, -50%);
        }
    }
}

#documents {
    padding-top: 1em;

    .container>.card {
        position: relative;
    }

    .container>.card::before {
        content: "";
        top: -1em;
        left: 0;
        right: 0;
        bottom: 0;
        height: calc(3em + 42vmin);
        z-index: -2;
        position: absolute;
        background-image: url("../images/contur-white.png");
        background-repeat: no-repeat;
        background-size: contain;
    }

    .link-container {
        margin: calc(2em + 2vmin) calc(1em + 1vmin);
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .link-container .title {
        margin-top: calc(1em + 1vmin);
        font-size: calc(2rem + 1vmin);
        font-weight: 700;
    }

    .link-container .link {
        display: inline-block;
        font-weight: 700;
        font-size: calc(1rem + .25vmin);
        margin-top: calc(2em + 1vmin);
    }

    .link-container .decor img {
        border: 1px solid #0544ff;
        border-radius: 100%;
        padding: 1rem;
        width: 10rem;
    }

    .card {
        border-radius: 15px;
        padding: calc(1rem + 3vmin);
    }

    .content .card {
        margin-top: 5rem;
        border-radius: 35px;
    }

    .content .contacts {
        position: relative;
    }

    .content .contacts::before {
        content: "";
        top: 10%;
        left: 7%;
        right: 0;
        bottom: 0;
        width: 100%;
        height: min(85%, calc(50% + 10vmin));
        position: absolute;
        background-image: url("../images/snowflakes-blue.png");
        background-repeat: no-repeat;
        background-size: contain;
        transform: scaleX(-1);
    }

    .content .contacts,
    .content .contacts p {
        line-height: 1.2;
        font-size: calc(1rem + .25vmin);
    }

    .content .contacts h2 {
        font-weight: 800;
    }

    .content .contacts .columns {
        display: flex;
        gap: 2em;
        flex-wrap: wrap;
    }

    .content .contacts .columns .phones,
    .content .contacts .columns .address {
        display: flex;
        flex-direction: column;
        gap: 1em;
        flex: 1;
    }

    .content .contacts .columns .phones ul {
        white-space: nowrap;
    }

    .content .contacts .columns .phones ul a {
        color: inherit;
        text-decoration: none;
    }

    .content .contacts .columns h6 {
        text-shadow: 1px 1px 2px #000;
    }

    .content .contacts .columns *:not(h6) {
        font-weight: 400;
    }
}


#application {
    padding-bottom: calc(3rem + 15vmin);

    .title {
        margin: 1rem;
        font-weight: bold;
        font-size: calc(2rem + 2vmin);
        line-height: 1.2;
    }

    .card {
        --padding: calc(1rem + 3vmin);
        --paddingBottom: calc(var(--padding) + 3rem);

        position: relative;
        font-size: calc(1rem + .25vmin);
        line-height: 1.6;
        padding: var(--padding);
        padding-bottom: var(--paddingBottom);

        .title {
            display: block;
            font-size: calc(1rem + 1vmin);
            margin: 0 0 1em 0;
        }

        ul>li {
            position: relative
        }

        ul>li+li {
            margin-top: 2em;
        }

        ul>li::before {
            --size: 2rem;
            content: "";
            top: 0;
            left: calc(-1 * var(--padding) / 2 - var(--size) / 2);
            right: 0;
            bottom: 0;
            position: absolute;
            background-image: url("../images/snowflakes-blue.png");
            background-repeat: no-repeat;
            background-size: contain;
            width: var(--size);
            height: var(--size);
        }

        &::before,
        &::after {
            --size-before: calc(2rem + 12vmin);
            --size-after: calc(2rem + 15vmin);

            content: "";
            position: absolute;
            background-repeat: no-repeat;
            background-size: contain;
        }

        &::before {
            width: var(--size-before);
            height: var(--size-before);
            z-index: 1;
            right: calc(var(--size-after) - var(--size-before) / 2 - .5rem);
            bottom: calc(var(--size-before) / 2 * -1);
            background-image: url("../images/snowflake-yellow.png");
        }

        &::after {
            z-index: 0;
            width: var(--size-after);
            height: var(--size-after);
            right: calc(var(--size-after) / 6 * -1);
            bottom: calc(var(--size-after) / 2 * -1);
            background-image: url("../images/contur-blue.png");
            transform: scaleX(-1);
        }
    }
}

#application-link {

    padding-bottom: calc(13rem + 20vmin);

    .container {
        position: relative;

        &::before,
        &::after {
            content: "";
            position: absolute;
            background-repeat: no-repeat;
            background-size: contain;
        }

        &::before {
            --size: calc(10rem + 12vmin);
            width: var(--size);
            height: var(--size);
            z-index: -1;
            right: calc((var(--size) / 2 + var(--size) / 4 + 1rem) * -1);
            bottom: calc(var(--size) / 2 * -1);
            background-image: url("../images/snowflake-yellow.png");
        }

        &::after {
            --size: calc(10rem + 25vmin);
            z-index: -2;
            width: var(--size);
            height: var(--size);
            right: calc(var(--size) / 6 * -1);
            bottom: calc(var(--size) * .95 * -1);
            background-image: url("../images/contur-blue.png");
            transform: scaleX(-1);
        }
    }

    .card {
        border-radius: 5px;
        padding: calc(1rem + 1vmin);

        &.title {
            font-weight: 800;
            text-align: center;
            font-size: calc(1rem + 2vmin);
            margin-bottom: 3rem;

            a {
                color: #000;
            }

        }
    }

    p {
        line-height: 1.4;
        font-size: calc(1rem + .85vmin);

        a {
            color: #fff;
            color: inherit;
        }
    }

    p+p {
        margin-top: 1.5em;
    }
}

#cost {
    padding-top: 3.5rem;
    padding-bottom: 5rem;

    .title {
        line-height: 1.2;
        margin-bottom: 1em;
        position: relative;

        .primary {
            font-size: calc(2rem + 2vmin);
        }

        .secondary {
            --font-size: calc(1.5rem + 2vmin);
            font-size: var(--font-size);

            &::before {
                --size: calc(var(--font-size) + 6em);
                content: "";
                position: absolute;
                background-image: url("../images/contur-white.png");
                background-repeat: no-repeat;
                background-size: contain;
                z-index: -1;
                right: 0;
                bottom: calc((var(--font-size) / 2) - .5em);
                width: var(--size);
                height: var(--size);
            }
        }
    }

    ul {
        position: relative;

        &::before {
            --size: calc(20rem + 20vmin);
            content: "";
            position: absolute;
            background-image: url("../images/contur-blue.png");
            background-repeat: no-repeat;
            background-size: contain;
            z-index: -1;
            right: -2%;
            bottom: -10%;
            width: var(--size);
            height: var(--size);
            transform: scaleX(-1);
        }

        &>li {
            font-size: calc(1rem + 1vmin);
        }

        &>li+li {
            margin-top: 2rem;
        }

        .card {
            background: linear-gradient(to left, #a2d9f0, #4cb4e7);
            padding: calc(2rem + 1vmin);
            border-radius: 20%;
        }
    }
}