﻿.affil__hero {
    position: relative;
    display: flex;
}

    .affil__hero img {
        width: 100%;
    }

    .affil__hero h1 {
        line-height: 7vw;
        position: absolute;
        top: 60px;
        left: 60px;
        color: var(--white);
        font-family: var(--black-font);
        font-size: 7vw;
        width: 50%;
    }

.affil__introduction {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

    .affil__introduction h2 {
        font-size: 3.175vw;
        font-family: var(--black-font);
    }

    .affil__introduction p, .affil__story .affil__story-group p {
        font-size: 1.75vw;
        line-height: initial;
    }

    .affil__introduction > * {
        padding: 20px;
        flex-basis: 50%;
        box-sizing: border-box;
    }

    .affil__introduction img {
        width: 100%;
    }

.affil__hero, .affil__story {
    background-repeat: no-repeat;
    background-size: cover;
}

.affil__story {
    background-image: url('../images/affilstorybg.png');
    background-color: #fff5fd;
    padding: 40px 60px;
    box-sizing: border-box;
}

    .affil__story > h2 {
        font-size: 6vw;
        font-family: var(--black-font);
    }

    .affil__story h3 {
        font-size: 3vw;
        font-family: var(--black-font);
    }

    .affil__story .affil__story-group {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

        .affil__story .affil__story-group:not(:first-of-type) {
            margin-top: -180px;
        }

        .affil__story .affil__story-group > *:last-child {
            background-color: rgb(241 65 136 / 10%);
            padding: 10px 20px;
            border-radius: 40px;
        }

        .affil__story .affil__story-group:nth-child(2n) {
            flex-direction: row-reverse;
        }

            .affil__story .affil__story-group:nth-child(2n) > *:last-child {
                background-color: rgb(35 25 66 / 10%);
            }

        .affil__story .affil__story-group img {
            width: 100%;
        }

.affil__sign-up {
    margin: 50px;
}
    
    .affil__sign-up > * {
        justify-content: center;
    }

    .affil__sign-up p, .affil__sign-up a {
        font-size: 2.175vw;
        font-family: var(--black-font);
    }

    .affil__sign-up img {
        width: 400px;
        height: 400px;
    }

@media(min-width: 769px) {
    .affil__hero, .affil__story {
        margin-left: -30px;
        width: calc(100% + 60px);
    }

    .affil__story .affil__story-group {
        grid-gap: 40px
    }

    .affil__story .affil__story-group > *:first-child {
        width: 45%;
    }


    .affil__story .affil__story-group > *:last-child {
        width: 55%;
    }
}

@media(max-width: 1660px) {
    .affil__story .affil__story-group:not(:first-of-type) {
        margin-top: -100px;
    }
}

@media(max-width: 1440px) {
    .affil__story .affil__story-group:not(:first-of-type) {
        margin-top: -20px;
    }
}

@media(max-width: 1024px) {
    .affil__sign-up img {
        width: 200px;
        height: 200px;
    }
}

@media(max-width: 768px) {
    .affil__hero h1 {
        text-align: center;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-shadow: 1px 1px 9px #000;
        font-size: 2.5rem;
        line-height: initial;
    }

    .affil__hero img {
        filter: blur(4px);
        min-height: 300px;
        object-fit: cover;
    }

    .affil__introduction {
        flex-direction: column-reverse;
    }

        .affil__introduction > * {
            padding: 10px 20px;
        }

        .affil__introduction h2, .affil__story > h2 {
            font-size: 2rem;
        }

        .affil__introduction p, .affil__story .affil__story-group p, .affil__sign-up p, .affil__sign-up a {
            font-size: 1rem;
            line-height: initial;
        }

    .affil__story {
        padding: 40px 40px;
    }

    .affil__story h3 {
        font-size: 1.125rem;
    }

        .affil__story .affil__story-group > *:last-child {
            border-radius: 10px;
        }

        .affil__story .affil__story-group, .affil__story .affil__story-group:not(:first-of-type) {
            margin-top: 60px;
        }

    .affil__story .affil__story-group, .affil__story .affil__story-group:nth-child(2n) {
        flex-direction: column;
    }

    .affil__story .affil__story-group > div {
        width: 100%;
    }
}
