/* Main. */

.main {
    position: relative;

    padding-top: calc(var(--header) + var(--section-gap));
    margin-bottom: calc(var(--section-gap) * 2) !important;
}

.main + section {
    position: relative;

    z-index: 1;
}


.main .container {
    position: relative;
    z-index: 1;
}

.main-background {
    position: absolute;
    inset: 0;

    max-width: 80vw;
    background-color: var(--color-background);

    z-index: -2;
}

.main-background img {
    width: 100%;
    mix-blend-mode: lighten;
}

.main-image {
    --width: clamp(260px, 41.66vw, 734px);
    position: absolute;
    left: calc(50% - var(--width) / 2);

    width: var(--width);
    margin-top: calc(var(--section-gap) * -1);
    z-index: -1;
}

.main-image img {
    -webkit-border-radius: 520px 520px 0 0;
    -moz-border-radius: 520px 520px 0 0;
    border-radius: 520px 520px 0 0;
}

.main-image:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;

    height: 20%;
    background-image: linear-gradient(to bottom, transparent, var(--color-background));
    mix-blend-mode: luminosity;
}

.main-wrapper {

}

.main-content {
    margin-top: var(--i2);
    /*margin-left: 16vw;*/
}

.main-info {
    display: flex;
    flex-direction: column;
    grid-gap: 2em;

    width: 100%;
    max-width: min(336px, 30vw);
}

.main-bottom:before {
    content: '';
    position: absolute;
    top: 100%;
    left: calc(var(--container-margin) * -1);
    right: calc(var(--container-margin) * -1);


    margin-top: var(--i4);
    border-bottom: 1px solid var(--color-border);
}

/* Main. */

@media only screen and (min-width: 1200px) {
    .main-content {
        margin-left: 16vw;
    }

    .main-content .button {
        margin-left: var(--section-gap);
        margin-bottom: calc(var(--i3) * -1);
    }

}

@media only screen and (max-width: 1199px) {
    .main-content .button,
    .main-bottom {
        margin-top: 20px;
    }
}

@media only screen and (max-width: 767px) {

    .main-background {
        width: 120vw;
        max-width: none;
    }

    .main-wrapper {
        flex-direction: column;
    }

    .main-info {
        grid-gap: 12px;

        max-width: none;
        text-align: right;
    }

    .main-info br {
        display: none;
    }
}