@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800&display=swap');
@font-face {
    font-family: "H-Black_Oblique";
    src: url("fonts/helvetica-black-oblique_oHn4x/Helvetica\ .Black\ Oblique/Helvetica .Black Oblique.otf") format("opentype");
}

html {
    min-width: 100%;
    max-height: 100%;
    font-family: 'Montserrat', sans-serif;
}

body {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin-left: 0px;
    z-index: 0;
    background: rgba(0, 0, 0, 1);
}

header {
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background: white;
    top: 0;
    height: 5%;
    width: 100%;
    z-index: 10;
}
    header > * {
        object-fit: cover;
        text-decoration: none;
        font-size: 6px;
        height: auto;
    }
    header > a {
        background: red;
        width: 8%;
        height: auto;
    }
        header > a > img {
            object-fit: contain;
            margin-top: 1.5em;
            height: 42%;
            width: 100%;
        }
        header > nav {
            display: flex;
        flex-direction: row;
        justify-content: center;
    }
    header > nav > a {
        text-decoration: none;
        color: dimgrey;
            margin: auto;
            margin-right: 13px;
        }
        header > nav > a:hover {
            color: red;
        }
        
        
        
main {
    display: flex;
    flex-direction: column;
    position: relative;
    font-family: 'H-Black_Oblique', sans-serif;
    text-shadow: 0 0 2px black;
    color: whitesmoke;
    height: auto;
    width: 100%;
    margin-top: 1em;
    z-index: 5;
    margin-bottom: 2em;
}
        
hr {
    width: 50%;
}


.top-presentation{
    display: block;
    position: relative;
    width: 100%;
    height: 45vh;
    margin-left: 0;
    transition: 1.5s;
    z-index: 4;
}
.top-presentation > article {
    display: none;
    position: relative;
    width: 100%;
        height: 100%;
        bottom: 0px;
        transition: 1.5s;
    }
        #top-pres_desc > a {
            clip-path: polygon(0% 20%, 95% 20%, 85% 80%, 0% 80%);
            transition: 1s;
            width: 50%;
            height: 100%;
            position: relative;
        }
        #top-pres_desc > a > video {
            width: 100%;
            height: 125%;
            position: absolute;
            z-index: 1;
        }
            #top-pres_desc > a > p {
                z-index: 2;
                position: absolute;
                text-decoration: none;
                padding-left: 18em;
                padding-top: 3em;
                color: white;
                opacity: 0.3;
                font-size: 1.8vw;
            }
            #top-pres_desc > a > * {
                transition: 1s;
            }
                #top-pres_desc > a:hover > video {
                    filter: brightness(0.4);
                    scale: 1.25;
                }
                #top-pres_desc > a:hover > p {
                    color: red;
                    text-shadow: 0 0 5px black;
                    transform:translateX(15px);
                    opacity: 1;
                }
        #top-pres_desc > div {
            object-fit: contain;
            width: 40%;
            margin: auto;
            font-size: 1vw;
            position: relative;
        }
        
.characters-section {
    width: 100%;
    height: auto;
    margin-bottom: 4.5em;
    z-index: 4;
}
    .characters-section > article {
        display: none;
        position: relative;
        justify-content: space-around;
        height: 30vh;
        width: 100%;
        transition: 1.5s;
    }
    #char-sec_desc > div {
        position: relative;
        font-size: 1vw;
        margin: auto;
        width: 40%;
    }
        #char-sec_desc > img {
            position: relative;
            height: 85%;
            margin: auto;
            margin-left: 0px;
        }
            #char-sec_desc > img:hover {
                scale: 1.2;
                filter: drop-shadow(0 0 12px black);
            }

#world-sec_title > h2 {
    display: none;
    width: 70%;
    text-align: center;
    height: 100%;
}

.world-section {
    width: 100%;
    height: auto;
}
    .world-section > h3 {
        margin: auto;
        margin-bottom: 1em;
        width: 45%;
    }
    .world-section > article {
        display: none;
        position: relative;
        height: auto;
        width: 70%;
        margin: auto;
        transition: 1.5s;
    }
        #world-sec_desc > div {
            height: 10vh;
            width: 100%;
            filter: brightness(0.5) saturate(0.5);
            transition: 1.2s;
            clip-path: polygon(42% 0%, 100% 0%, 98% 100%, 40% 100%);
        }
            #world-sec_desc > div > label > img {
                position: absolute;
                height: 80vh;
                width: 100%;
                bottom: -11em;
                transition: 2s;
            }
            #world-sec_desc > div > label > video {
                position: absolute;
                height: 80vh;
                width: 100%;
                bottom: -11em;
                transition: 2s;
            }
            #world-sec_desc > div > label > h3 {
                position: relative;
                margin: 5em;
                margin-top: 10px;
                margin-bottom: 0px;
                font-size: 1.7vw;
                opacity: 0;
                width: 35%;
                transition: 2.5s;
            }
            #world-sec_desc > div > label > p {
                position: relative;
                opacity: 0;
                margin: 5em;
                margin-top: 8px;
                margin-bottom: 0px;
                font-size: 1.05vw;
                width: 50%;
                transition: 1.5s;
            }
            #button-style {
                position: relative;
                margin-top: 1.5em;
                margin-left: 8em;
                font-size: 1.05vw;
                font-family: 'H-Black_Oblique', sans-serif;
                background: rgba(0, 0, 0, 0.5);
                border: 0px;
                color: white;
                line-height: 3vh;
                clip-path: polygon(3.5% 0%, 100% 0%, 96.5% 100%, 0% 100%);
                width: auto;
                transition: 1.5s;
            }
                #button-style::before {
                    font-family: "Font Awesome 5 Free";
                    font-weight: 900;
                    content: "\f04b";
                }
    #world-sec_foot {
        margin: auto;
        margin-top: 1em;
        text-align: right;
        width: 45%;
        transition: 1s;
    }
        #world-sec_foot:hover {
            scale: 1.1;
        }

footer {
    position: relative;
    margin-top: auto;
    bottom: 0px;
    height: auto;
    width: 100%;
    font-family: 'H-Black_Oblique', sans-serif;
}
    footer > img {
        position: absolute;
        height: auto;
        width: 100%;
        filter: opacity(0.325);
        z-index: -1;
        bottom: 0;
    }
    footer > a {
        margin: 39.5vw;
    }
    footer > section {
        margin-top: 1em;
    }
        #mono-soft {
            width: 20%;
        }
            #contact-form > h4 {
                width: 15%;
                display: block;
                margin-left: auto;
                margin-right: auto;
                text-align: center;
                color: aliceblue;
            }
            #contact-form > form {
                display: flex;
                flex-direction: column;
                width: 35%;
                margin-top: 1em;
                margin-left: auto;
                margin-right: auto;
                background: rgba(0, 0, 0, 0.5);
                clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
            }
            #contact-form > form > input {
                width: 60%;
                margin-top: 1em;
                margin-bottom: 1em;
                margin-left: auto;
                margin-right: auto;
                border: 0px;
                border-radius: 5px;
            }
            #contact-form > form > textarea {
                width: 60%;
                height: 20%;
                margin-top: 1em;
                margin-bottom: 1em;
                margin-left: auto;
                margin-right: auto;
                border: 0px;
                border-radius: 5px;
            }
        #social-media {
            display: flex;
            flex-direction: row;
            justify-content: space-evenly;
            margin-top: 20px;
            text-align: center;
        }
            #social-media > a {
                text-decoration: none;
                color: white;
                width: 10%;
            }


/* ------------------------------| Multi-content page setup |------------------------------ */

body > input {display: none;}
.wrapper {
    position: absolute; 
    z-index: -2;
    height: 360vh;
    width: 100%;  
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    transition: 2s;
}
    body > input:nth-child(1):checked  ~ .wrapper {
        background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 88%, rgba(0, 0, 0, 1) 98%), url("images-src/Xenoblade-Chronicles-bg.jpg");
    }
    body > input:nth-child(1):checked  ~ .wrapper.content-displayed.world-content {
        animation: bg-transition-xb1 1s forwards;
    }
    body > input:nth-child(2):checked ~ .wrapper {
        background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/xb2bg.jfif");
    }
    body > input:nth-child(2):checked  ~ .wrapper.content-displayed.world-content {
        animation: bg-transition-xb2 1s forwards;
    }
    body > input:nth-child(3):checked ~ .wrapper {
        background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/xenoblade-chronicles-3.large.jpg");
    }
    body > input:nth-child(3):checked  ~ .wrapper.content-displayed.world-content {
        animation: bg-transition-xb3 1s forwards;
    }
    body > input:nth-child(4):checked ~ .wrapper {
        background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/xb_x\(hq\).png");
    }
    body > input:nth-child(4):checked ~ .wrapper.content-displayed.world-content {
        animation: bg-transition-xbx 1s forwards;
    }
    main > ul {
        font-family: 'H-Black_Oblique', sans-serif;
        font-size: 1.5vw;
        text-shadow: 0 0 2px dimgray;
        position: fixed;
        list-style: none;
        width: 100%;
        padding-left: 0;
        margin-top: 0.5em;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 5;
    }
    main > ul label {
        display: inline-block;
        transition: 1s;
        color: black;
    }
    body > input:nth-child(1):hover ~ .theme_controller > ul li:nth-child(1) label,
    body > input:nth-child(2):hover ~ .theme_controller > ul li:nth-child(2) label,
    body > input:nth-child(3):hover ~ .theme_controller > ul li:nth-child(3) label {
        color:red;
        border-bottom: 2px solid red;   
    }
    body > input:nth-child(4):hover ~ .theme_controller > ul li:nth-child(4) label {
        color: aquamarine;
        border-bottom: 2px solid aquamarine;      
    }
    body > input:nth-child(1):checked ~ .theme_controller > ul li:nth-child(1) label,
    body > input:nth-child(2):checked ~ .theme_controller > ul li:nth-child(2) label,
    body > input:nth-child(3):checked ~ .theme_controller > ul li:nth-child(3) label {
        color: red;      
    }
    body > input:nth-child(4):checked ~ .theme_controller > ul li:nth-child(4) label {
        color: aquamarine;
    }
    #title-screen_bgm {
        position: fixed;
        width: 100%;
        height: 10%;
        bottom: 0;
    }
    #title-screen_bgm > button {
        display: none;
        margin: auto;
        font-family: 'H-Black_Oblique', sans-serif;
        z-index: 5;
        background-color: rgba(0, 0, 0, 0.5);
        border: 0px;
        color: white;
    }
        #title-screen_bgm > button::before {
            font-family: 'Font Awesome 5 Free';
            font-weight: 900;
            content: "\f04b";
        }
    #logo {
        height: 90vh;
    }
    #logo > img {
        display: none;
        width: 65%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        animation: logo 4s forwards;
    }
    body > input:nth-child(1):checked ~ .theme_controller > #title_screen_bgm button:nth-child(1),
    body > input:nth-child(2):checked ~ .theme_controller > #title-screen_bgm button:nth-child(2), 
    body > input:nth-child(3):checked ~ .theme_controller > #title-screen_bgm button:nth-child(3),
    body > input:nth-child(4):checked ~ .theme_controller > #title-screen_bgm button:nth-child(4) {
        display: block;
    }
    body > input:nth-child(1):checked ~ .theme_controller > #logo img:nth-child(1) {
        display: block;   
        padding-top: 6em;    
    }
    body > input:nth-child(2):checked ~ .theme_controller > #logo img:nth-child(2), 
    body > input:nth-child(3):checked ~ .theme_controller > #logo img:nth-child(3),
    body > input:nth-child(4):checked ~ .theme_controller > #logo img:nth-child(4) {
        display: block;
        padding-top: 8em;
    }
    body > input:nth-child(1):checked ~ .theme_controller > .top-presentation > article:nth-child(1),
    body > input:nth-child(2):checked ~ .theme_controller > .top-presentation > article:nth-child(2), 
    body > input:nth-child(3):checked ~ .theme_controller > .top-presentation > article:nth-child(3),
    body > input:nth-child(4):checked ~ .theme_controller > .top-presentation > article:nth-child(4) {
        display: flex;
        flex-wrap: wrap;
    }
    body > input:nth-child(1):checked ~ .theme_controller > .characters-section > article:nth-child(1),
    body > input:nth-child(2):checked ~ .theme_controller > .characters-section > article:nth-child(2), 
    body > input:nth-child(3):checked ~ .theme_controller > .characters-section > article:nth-child(3),
    body > input:nth-child(4):checked ~ .theme_controller > .characters-section > article:nth-child(4) {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }
    body > input:nth-child(1):checked ~ .theme_controller > #world-sec_title > h2:nth-child(1),
    body > input:nth-child(2):checked ~ .theme_controller > #world-sec_title > h2:nth-child(2), 
    body > input:nth-child(3):checked ~ .theme_controller > #world-sec_title > h2:nth-child(3),
    body > input:nth-child(4):checked ~ .theme_controller > #world-sec_title > h2:nth-child(4) {
        display: block;
    }
    body > input:nth-child(1):checked ~ .theme_controller > .world-section > article:nth-child(7),
    body > input:nth-child(2):checked ~ .theme_controller > .world-section > article:nth-child(8), 
    body > input:nth-child(3):checked ~ .theme_controller > .world-section > article:nth-child(9),
    body > input:nth-child(4):checked ~ .theme_controller > .world-section > article:nth-child(10) {
        display: flex;
        flex-direction: column;
        justify-content: start;
    }

        /* ----------| World section setup |---------- */

        .world-section > input:nth-child(2):hover ~ #world-sec_desc > div:nth-child(1),
        .world-section > input:nth-child(3):hover ~ #world-sec_desc > div:nth-child(2),
        .world-section > input:nth-child(4):hover ~ #world-sec_desc > div:nth-child(3),
        .world-section > input:nth-child(5):hover ~ #world-sec_desc > div:nth-child(4),
        .world-section > input:nth-child(6):hover ~ #world-sec_desc > div:nth-child(5) {
            clip-path: polygon(35% 0%, 100% 0%, 95% 100%, 30% 100%);
            filter: brightness(1);
            height: 25vh;
        }
        .world-section > input:nth-child(2):checked ~ #world-sec_desc > div:nth-child(1),
        .world-section > input:nth-child(3):checked ~ #world-sec_desc > div:nth-child(2),
        .world-section > input:nth-child(4):checked ~ #world-sec_desc > div:nth-child(3),
        .world-section > input:nth-child(5):checked ~ #world-sec_desc > div:nth-child(4),
        .world-section > input:nth-child(6):checked ~ #world-sec_desc > div:nth-child(5) {
            clip-path: polygon(7% 0%, 100% 0%, 93% 100%, 0% 100%);
            filter: brightness(1);
            height: 40vh;
        }
        .world-section > input:nth-child(2):hover ~ #world-sec_desc > div:nth-child(1) > label > h3,
        .world-section > input:nth-child(3):hover ~ #world-sec_desc > div:nth-child(2) > label > h3,
        .world-section > input:nth-child(4):hover ~ #world-sec_desc > div:nth-child(3) > label > h3,
        .world-section > input:nth-child(5):hover ~ #world-sec_desc > div:nth-child(4) > label > h3,
        .world-section > input:nth-child(6):hover ~ #world-sec_desc > div:nth-child(5) > label > h3 {
            opacity: 1;
            transform: translateX(11em);
        }
        .world-section > input:nth-child(2):checked ~ #world-sec_desc > div:nth-child(1) > label > h3,
        .world-section > input:nth-child(3):checked ~ #world-sec_desc > div:nth-child(2) > label > h3,
        .world-section > input:nth-child(4):checked ~ #world-sec_desc > div:nth-child(3) > label > h3,
        .world-section > input:nth-child(5):checked ~ #world-sec_desc > div:nth-child(4) > label > h3,
        .world-section > input:nth-child(6):checked ~ #world-sec_desc > div:nth-child(5) > label > h3 {
            transform: translateX(0em);
            opacity: 1;
        }
        .world-section > input:nth-child(2):checked ~ #world-sec_desc > div:nth-child(1) > label > p,
        .world-section > input:nth-child(3):checked ~ #world-sec_desc > div:nth-child(2) > label > p,
        .world-section > input:nth-child(4):checked ~ #world-sec_desc > div:nth-child(3) > label > p,
        .world-section > input:nth-child(5):checked ~ #world-sec_desc > div:nth-child(4) > label > p,
        .world-section > input:nth-child(6):checked ~ #world-sec_desc > div:nth-child(5) > label > p {
            opacity: 1;
        }


    /* --------------------| Animations Keyframes |-------------------- */
    
@keyframes logo {
    0% {
        scale: 1.4;
        opacity: 0;
        filter: drop-shadow(0px 0px 25px #ffffff) brightness(10) blur(20px);
    }
    40% {
        scale: 1;
        opacity: 1;
        filter: drop-shadow(0px 0px 15px #ffffff) brightness(1.3) blur(1px);
    }
    60% {
        filter: drop-shadow(0px 0px 15px #ffffff) brightness(1.3) blur(1px);
    }
    100% {
        filter: blur(0px);
        filter: drop-shadow(0px 0px 5px #2c0984b3);
    }
}
@keyframes wrapper {
    0% {
        opacity: 0;
        filter: brightness(2) blur(3px);
    }
    60% {
        filter: brightness(1.5) blur(1px);
    }
    100% {
        opacity: 1;
        filter: brightness(1);
    }
}
@keyframes bg-transition-xb1 {
    0% {filter: opacity(1) brightness(0.2);}
    50% {filter: opacity(0) brightness(0.2);}
    100% {background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/bionis&mechonis.jpg");filter: opacity(1) brightness(0.2);}
}
@keyframes bg-transition-xb2 {
    0% {filter: opacity(1) brightness(0.2);}
    50% {filter: opacity(0) brightness(0.2);}
    100% {background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/alrest.webp");filter: opacity(1) brightness(0.2);}
}
@keyframes bg-transition-xb3 {
    0% {filter: opacity(1) brightness(0.2);}
    50% {filter: opacity(0) brightness(0.2);}
    100% {background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/aionios.webp");filter: opacity(1) brightness(0.2);}
}
@keyframes bg-transition-xbx {
    0% {filter: opacity(1) brightness(0.2);}
    50% {filter: opacity(0) brightness(0.2);}
    100% {background-image: linear-gradient(to left, rgba(0, 0, 0, 1) 2%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 1) 98%), url("images-src/mira.png");filter: opacity(1) brightness(0.2);}
}


 /* ----------------------------------------| JS setup |---------------------------------------- */


 /* On scroll animations */

.reveal {
    opacity: 0;
    transition: 2s;
}
.reveal > #top-pres_desc > a {
    transform: translateX(-150px);
}
.reveal > #char-sec_desc > img {
    transform: scale(0.5);
    transition: 2s;
}
.reveal > #world-sec_desc > div:nth-child(1) {
    transform: translateX(-450px);
    transition: 2s;
}
.reveal > #world-sec_desc > div:nth-child(3) {
    transform: translateX(-250px);
    transition: 2.5s;
}
.reveal >#world-sec_desc > div:nth-child(5) {
    transform: translateX(-150px);
    transition: 3s;
}
.reveal > #world-sec_desc > div:nth-child(2),
.reveal > #world-sec_desc > div:nth-child(4) {
    transform: translateX(73px);
    transition: 4.5s;
}

.reveal.active {
    opacity: 1;
}
.reveal.active > #top-pres_desc > a {
    transform: translateX(0px);
}
.reveal.active > #char-sec_desc > img {
    transform: scale(1);
    transition: 2s;
}
.reveal.active > #world-sec_desc > div:nth-child(1),
.reveal.active > #world-sec_desc > div:nth-child(2),
.reveal.active > #world-sec_desc > div:nth-child(3),
.reveal.active > #world-sec_desc > div:nth-child(4),
.reveal.active > #world-sec_desc > div:nth-child(5) {
    transform: translateX(0px);
}



.wrapper.content-displayed {
    filter: brightness(0.35);
}



#button-style:focus {
    color:red;
    background: white;
}
#button-style:focus::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f04c";
}