@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@100;400&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

@font-face {
    font-family: EmperorTen;
    src: url(../../fonts/emperorten-regular.ttf);
}

@font-face {
    font-family: ArcadeClassic;
    src: url(../../fonts/arcade-classic.TTF);
}

@font-face {
    font-family: Helvetica;
    src: url(../../fonts/Helvetica.ttf);
}
body {
    background: #212674;
}

.logo-container {
    position: relative;
}

.back-btn-wrapper {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2rem;
}

.back-btn-wrapper svg {
    width: 1.4rem;
    height: 1.4rem;
}

.page-wrapper {
    position: relative;
    width: 100%;
    z-index: 2;
    min-height: 100vh;
    padding: 1rem .5rem;
}

.page-wrapper .logo-container {
    max-width: 100px;
    border-radius: 50%;
    transition: .3s;
}

.page-wrapper .logo-container:hover {
    box-shadow: 2px 2px 50px #08f21e,
    -2px 2px 50px #08f21e,
    2px -2px 50px #08f21e,
    -2px -2px 50px #08f21e;
}

.page-wrapper .title-text span {
    font-family: ArcadeClassic, serif;
    font-weight: bolder;
    letter-spacing: .1rem;
    line-height: 1.4rem;
    font-size: 2.2rem;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
    -webkit-text-stroke-width: calc(1px / 3);
    -webkit-text-stroke-color: black
}

.page-wrapper .title-text {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.page-wrapper .banner {
    position: relative;
    z-index: 5;
}

.page-wrapper .title-text .l1 {
    background-image: linear-gradient(to bottom, #e308f7 , #cc33cc, #996699);
    -moz-background-image: linear-gradient(to bottom, #e308f7 , #cc33cc, #996699);
}

.page-wrapper .title-text .l2 {
    background-image: linear-gradient(to bottom, #669966 , #33cc66, #00ff33);
    -moz-background-image: linear-gradient(to bottom, #669966 , #33cc66, #00ff33);
}

.bg-container-wrapper {
    width: 100vh;
    height: 100vh;
    position: fixed;
}

.bg-container {
    position: absolute;
    height: 100vh;
    z-index: 1;
    width: max-content;
}

.bg-container img {
    height: 100% !important;
    width: auto !important;
}

.images-container {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.images-container .images-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.images-container .images-wrapper .L1-container {
    position: absolute;
    max-width: 90vw;
    left: initial;
    right: 5vw;
    top: 30vw;
}

.images-container .images-wrapper .L2-container {
    position: absolute;
    max-width: 90vw;
    left: initial;
    right: 5vw;
    top: 85vw;
}

.images-container .images-wrapper .L3-container {
    position: absolute;
    max-width: 90vw;
    right: 5vw;
    left: initial;
    top: 140vw;
}

.images-container .images-wrapper .L4-container {
    position: absolute;
    max-width: 90vw;
    right: 5vw;
    left: initial;
    top: 205vw;
}

.gap {
    position: absolute;
    left: 0;
    right: 0;
    height: 5vh;
    top: 265vw;
}

@media only screen and (min-width: 787px) {
    .page-wrapper {
        padding: 1rem 2rem;
    }
}

@media only screen and (max-width: 998px) and (min-aspect-ratio: 3/5) {

    .images-container .images-wrapper .L1-container {
        width: 65vw;
    }

    .images-container .images-wrapper .L2-container {
        max-width: 65vw;
    }

    .images-container .images-wrapper .L3-container {
        max-width: 65vw;
    }

    .images-container .images-wrapper .L4-container {
        max-width: 65vw;
    }
}

@media only screen and (max-width: 998px) and (min-aspect-ratio: 131/180) {
    .images-container .images-wrapper .L1-container {
        width: 50vh;
        left: 6rem;
        top: 4vh;
    }

    .images-container .images-wrapper .L2-container {
        top: 40vh;
        max-width: 40vh;
    }

    .images-container .images-wrapper .L3-container {
        max-width: 40vh;
        top: 65vh;
    }

    .images-container .images-wrapper .L4-container {
        max-width: 40vh;
        top: 95vh;
    }
}

@media only screen and (max-width: 998px) and (max-height: 555px) and (min-aspect-ratio: 200/110) {
    .bg-container {
        min-height: max-content;
    }

    .page-wrapper .logo-container {
        max-width: 90px;
        border-radius: 50%;
        transition: .3s;
    }

    .page-wrapper .title-text span {
        font-size: 1.6rem;
        line-height: 1rem;
    }

    .bg-container img {
        min-height: auto !important;
        width: 100vw !important;
    }

    .images-container .images-wrapper .L1-container {
        width: 30vw;
        top: 8vh;
    }

    .images-container .images-wrapper .L2-container {
        max-width: 30vw;
        top: 10vh;
    }

    .images-container .images-wrapper .L3-container {
        top: initial;
        max-width: 30vw;
        bottom: 10vh;
    }

    .images-container .images-wrapper .L4-container {
        top: initial;
        max-width: 30vw;
        bottom: -29vh;
    }
}

@media only screen and (min-width: 998px) {
    .page-wrapper {
        padding: 1.2rem 2rem;
    }

    .gap {
        display: none;
    }

    .back-btn-wrapper svg {
        width: 1.6rem;
        height: 1.6rem;
    }
}

@media only screen and (min-width: 998px) and (min-aspect-ratio: 21/10) {

    .bg-container {
        min-height: max-content;
    }

    .bg-container img {
        min-height: auto !important;
        width: 100vw !important;
    }

    .images-container .images-wrapper .L1-container {
        width: 25vw;
        left: 10vw;
        top: 10vh;
    }

    .images-container .images-wrapper .L2-container {
        width: 25vw;
        top: 10vh;
    }

    .images-container .images-wrapper .L3-container {
        top: initial;
        width: 25vw;
        bottom: 10vh;
    }

    .images-container .images-wrapper .L4-container {
        display: none;
    }
}

@media only screen and (min-width: 998px) and (max-aspect-ratio: 21/10) {

    .bg-container {
        min-height: max-content;
    }

    .bg-container img {
        min-height: auto !important;
        width: 100vw !important;
    }

    .images-container .images-wrapper .L1-container {
        width: 30vw;
        top: 8vh;
        left: 6rem;
    }

    .images-container .images-wrapper .L2-container {
        width: 30vw;
        top: 10vh;
    }

    .images-container .images-wrapper .L3-container {
        top: initial;
        width: 30vw;
        bottom: 10vh;
    }

    .images-container .images-wrapper .L4-container {
        display: none;
    }
}


@media only screen and (min-width: 1280px) {
    .page-wrapper .logo-container {
        max-width: 9.5vw;
        border-radius: 50%;
        transition: .3s;
    }

    .banner {
        gap: 1.4rem !important;
    }

    .page-wrapper .title-text span {
        font-size: 2.6vw;
        line-height: 1.6vw;
    }

    .images-container .images-wrapper .L4-container {
        display: none;
    }
}

