body {
    margin: 0;
    overflow-x: hidden;
}
.grid-container {
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
    padding: 0 35px;
}
.banner {
    position: relative;
    overflow: hidden;
    height: 75vh;
    z-index: 1;
    background-color: black;
}
.banner::after {
    content: "";
    background-color: black;
    display: block;
    width: calc(150%);
    height: 50%;
    position: absolute;
    rotate: 5deg;
    top: calc(100% - 10px);
    right: 0px;
    z-index: 1;
    transform-origin: bottom right;
}
.banner img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 75% center;
}
.banner > img {
    opacity: 0.6;
}
.banner h1 {
    color: white;
    z-index: 2;
    position: absolute;
    top: 40vh;
    left: 50%;
    translate: -50%;
    width: max-content;
    font-family: 'Cantarell', sans-serif;
    text-align: center;
    width: 100%;
    font-size: 32px;
    padding: 0 35px;
    max-width: 720px;
    box-sizing: border-box;
}
.banner span.line {
  display: inline-block;
}
.banner .logo {
    position: absolute;
    top: 15vh;
    left: 50%;
    translate: -50%;
    img {
        max-width: 500px;
        width: 100%;
    }
}
.logos {
    background-color: black;
    width: 100%;
    position: relative;
    z-index: 2;
    padding: 50px 0;
    margin-top: -5px;
}
.logos .grid-container {
    position: relative;
    z-index: 2;
}
.logowrapper {
    --columns: 3;
    --columnGap: 50px;
    --rowGap: 50px;

    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--rowGap) var(--columnGap);
}
.logowrapper > * {
    flex-basis: calc(
        (100% - var(--columnGap) * (var(--columns) - 1)) / var(--columns)
    );
}
.logowrapper .logo {
    display: flex;
    justify-content: center;
    align-items: center;
}
.logowrapper .logo a {
    width: 100%;
}
.logowrapper .logo a img {
    width: 100%;
}
.bottomlink {
    background-color: black;
    text-align: center;
    padding: 20px 0;
}
.bottomlink a {
    font-family: 'Cantarell', sans-serif;
    font-size: 32px;
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
}
.bottomlink a::after {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #3AA0D9;
}

@media (width < 720px) {
    .logowrapper {
        --columns: 2;
        --columnGap: 10px;
        --rowGap: 20px;
    }
    .banner h1 {
        font-size: 24px;
        top: 25vh;
    }
    .banner .logo {
        top: 5vh;
    }
    .banner {
        height: 50vh;
    }
    .bottomlink a {
        font-size: 20px;
    }
}
@media (width < 480px) {
    .logowrapper {
        --columns: 1;
        --rowGap: 50px;
    }
    .banner h1 {
        top: 15vh;
    }
    .bottomlink a {
        font-size: 16px;
    }
}