/* Uniform styles */

body {
    font-size: 0.8vmax;
    background-color: rgb(0, 0, 0);
    text-align: center;
    cursor:grab;
    scrollbar-color: green;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

a{
    text-decoration: none;
    color: rgb(255, 76, 240);
}

* {
  box-sizing: border-box;
}

/* Grid */
.grid-container{
    display: grid;
    grid-template-areas: 
    'header_container'
    'info_page'
    'footer_container';
}

/* Headerbar and page icons */
#header_container{
    z-index: 999999;
    position: fixed;
    left: 0;
    top: 0;
    display: inline-block;
    border-color: rgb(53, 53, 53);
    background-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
    background-repeat: no-repeat;

    width: 100%;
    height: 23%;
}

#header_bar_container{
    display: flexbox;
    background-color: black;
}

#logo{
    display: inline-block;
    border-color: rgb(53, 53, 53);
}

#logo_image{
    width: 7%;
    height: auto;
}

#logo_text{
    width: 20%;
    height: auto;
}

.header_button{
    cursor:grabbing;
    color: white;
    display: inline-block;
    text-align: center;
    padding:1%;
    width: 8%;
    height: 20%;
    transition: width 0.5s ease, height 0.5s ease;
}

.header_button.active{
    color:rgb(0, 255, 0);
}

.header_button.active:hover{
    color:rgb(0, 168, 0);
}

.header_button:hover{
    color: rgb(148, 255, 157);
}

.header_icon{
    text-align: center;
    width: 40%;
    height: auto;
    padding-bottom: 1%;
}

.header_button_text{
    display: block;
}

.header_button:hover{
    color:green;
    text-align: center;
    width: 10%;
    transition: width 0.5s ease, height 0.5s ease;
}

/* Main content pages */

/* GENERAL */
.info_page{
    position: fixed;
    top: 25%;
    text-align: left;
    margin-left: 5%;
    margin-right: 5%;
    height: 60%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.4s ease;

    display: flex;
    align-items:baseline;
}

.info_page.show{
    opacity: 1;
    visibility: visible;
    color: white;
}

/* HOME */
#home_page{
    width: 80%;
    height: 70%;
    display: block;
}

#home_container{
    position: relative;
    display: block;
    width: 30%;
    height: 25%;
    margin-right: 5%;
    border-right: 1px;
    padding-right: 2%;
}

/* BLOGS */
#blog_container{
    position: relative;
    display: block;
    width: 100%;
    height: 60%;
}

#blog_header{
    position: relative;
    display: inline-flexbox;
    align-items: center;
    align-content: center;
    align-self: center;
    width: 100%;
}

#blog_list{
    position: relative;
    display: block;
    background-color: rgb(0, 0, 0);
    width: 20%;
    height: 50%;
    border-style: solid;
    border-width: 2px;
    border-color: white;
    text-align: center;
    padding: 1%;
    overflow-y: scroll;
}

#blog_list_divider{
    color: rgb(155, 255, 155);
    font-family: 'Courier New', Courier, monospace;
    margin-bottom: 1%;
    margin-top: 1%;
}

.blog_button{
    margin-left: 5%;
    position: relative;
    display: block;
    background-color: black;
    font-family: 'Courier New', Courier, monospace;
    font-size: .8vmax;
    color: rgb(27, 255, 19);
    border-style: solid;
    border-width: 1px;
    width: 90%;

    margin-top: .5%;
    margin-bottom: 1%;
    transition: background-color .5s ease, color .5s ease;
}

.blog_button:hover{
    cursor: pointer;
    background-color: rgb(28, 223, 21);
    color: black;
    font-weight: bolder;
    transition: background-color .5s ease, color .5s ease;
}

#blog_content{
    display: inline-block;
    overflow-y: scroll;
    padding: 3%;
    font-family: 'Courier New', Courier, monospace;
    font-size: 1vmax;
    color: rgb(0, 255, 55);
    position: absolute;
    background-color: black;
    border-style: dashed;
    border-color: green;
    border-width: 1px;
    width: 60%;
    height: 80%;
    top: 0%;
    right: 0%;
}

/* GAMES */
#game_gallery_container{
    display: inline-block;
    position: relative;
    width: 45vmax;
    height: 100vmin;
    text-align: center;
    margin-top: 3%;
}

.game_gallery{
    display: block;
    width: 100%;
    height: auto;
    border-style: groove;
    background-color: rgb(0, 0, 0);
}

.game_teaser{
    display: inline-block;
    width: 100%;
    height: 100%;
}

#video_trailer{
    display: block;
    position: relative;
}

#video_trailer:hover{
    cursor: pointer;
}

#screenshot{
    display: none;
}

#fade_box{
    top: 0;
    margin-top: 1%;
    position: absolute;
    display: none;
    width: 100%;
    height: 96%;
    background-color: black;
    opacity: 0;
    transition: opacity .5s linear;
}

.selector{
    display: block;
    position: relative;
    margin-top: 1%;
    width: 54%;
    height: 9.2vmin;
    left: 25%;
    background-color: black;
}


#select_button_container{
    /* background-color: red; */
    position: absolute;
    text-align: left;
    width: 100%;
    height: 100%;
    white-space: nowrap;
}

.select_button{
    position: relative;
    display: inline-block;
    color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    border-color: rgba(0, 0, 0, 0);
    width: 17%;
    height: 100%;
    margin-top: 10%;
    translate: -50% -50%;
    margin-left: 4%;
}

.select_button:first{
 margin-left: 0%;
}


.select_button:hover{
    cursor: pointer;
}

.selector_overlay{
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: left;
}

.selector_underlay{
    position: absolute;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 0px white;
    width: 11.8%;
    height: 100%;
    left: 6%;
    text-align: center;
    top: 70%;
    translate: -50% -51%;
}

.selector_underlay._1{
    margin-left: 0%;
    transition: margin-left 0.5s ease;
}

.selector_underlay._2{
    margin-left: 22%;
    transition: margin-left 0.5s ease;
}

.selector_underlay._3{
    margin-left: 44%;
    transition: margin-left 0.5s ease;
}

.selector_underlay._4{
    margin-left: 66%;
    transition: margin-left 0.5s ease;
}

.selector_underlay._5{
    margin-left: 88%;
    transition: margin-left 0.5s ease;
}

.game_desc_container{
    background-color: rgba(0, 0, 0, 0.8);
    display: inline-block;
    position: fixed;
    width: 45%;
    height: 60%;
    text-align: left;
    max-width: 30%;
    overflow-y: scroll;
    padding-right: 2%;
    margin-left: 10%;
}

.purchase_section{
    text-align: center;
    font-size: 1vmax;
}

.purchase_button{
    position: relative;
    padding: 2% 5%;
    text-align: center;
    display: inline-block;
    color: black;
    margin-bottom: 2px;
    max-width: 45%;
}

.purchase_logo{
    width: 13%;
    height: auto;
    translate: 0% 15%;
}

#steam{
    background-color: rgb(180, 180, 255);
    transition: background-color 0.5s ease;
}

#itch{
    background-color: rgb(255, 180, 180);
    transition: background-color 0.5s ease;
}

#steam:hover{
    background-color: rgb(88, 91, 255);
    color: white;
    transition: background-color 0.5s ease;
}

#itch:hover{
    background-color: rgb(255, 82, 82);
    color: white;
    transition: background-color 0.5s ease;
}

/* ENGINE */
#engine_content_container{
    overflow-y: scroll;
    position: fixed;
    display: inline-block;
    width: 40%;
    height: 60%;
    margin-right: 10px;
    background-color: rgba(0,0,0,.8);
    text-align: left;
    max-width: 550px;
    padding: 30px;
}

#engine_images_container{
    position: fixed;
    display: inline-block;
    right: 10%;
    width: 30%;
    height: 60%;
    text-align: right;
}

#engine_logo{
    width: 90%;
    height: auto;
}


/* ABOUT */
#portrait{
    position: fixed;
    right: 20%;

    width: 25%;
    height: auto;
    text-align: center;
    border-radius: 100%;
}

#about_desc_container{
    overflow-y: scroll;
    max-width: 40%;
}

/* Footer bar */
#footer_container{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 5%;
}

/* Background and misc */
#stars_container{
    overflow-y: hidden;
    overflow-x: hidden;
    z-index: 0px;
    background-color: rgb(0, 0, 0);
    position:fixed;
    left:0;
    top: -10%;
    width: 100%;
    height: 105%
}

#stars{
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 25%;
    width: 6px;
    height: 6px;
    background: white;
    box-shadow:
        -200px -100px white,
        300px -200px white,
        -400px 150px white,
        250px -300px white,
        -100px 400px white,
        500px -100px white,
        -350px 300px white,
        -400px -200px white;
    animation: shoot 20s linear infinite;
}

#stars_offset_1{
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 25%;
    width: 4px;
    height: 4px;
    background: white;
    box-shadow:
        -200px -750px white,
        0px -123px white,
        -200px -404px white,
        400px -110px white,
        600px -400px white,
        100px -100px white,
        -375px -220px white,
        -470px -250px white,

        -200px 150px white,
        -10px 300px white,
        -200px 50px white,
        -400px 20px white,
        -600px -100px white,
        -100px 500px white,
        -375px 300px white,
        -470px 250px white;
    animation: shoot 53s linear infinite;
}

#stars_offset_2{
    z-index: 1;
    position: absolute;
    top: 70%;
    left: 10%;
    width: 2px;
    height: 2px;
    background: white;
    box-shadow:
        -200px -750px white,
        0px -123px white,
        -200px -404px white,
        400px -110px white,
        600px -400px white,
        100px -100px white,
        -375px -220px white,
        -470px -250px white,

        -200px 100px white,
        -10px 123px white,
        -200px 404px white,
        -400px 110px white,
        -600px 400px white,
        -100px 100px white,
        -375px 220px white,
        -470px 250px white;
    animation: shoot 97s linear infinite;
}

/* Animations */
@keyframes shoot{
    0% {
        transform: translate(0px, 0px);
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        transform: translate(1200px, 1000px);
        opacity: 0;
    }
}

@keyframes fade-in{
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fade-out{
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@media only screen and (orientation: portrait) {
    body{font-size: 2vmax;}
    #logo_image{width: 15%;}
    #logo_text{width: 45%;}

    .header_button{width: 15%; padding: 3%;}
    .header_button:hover{width: 17%;}
    .header_icon{width: 100%;}
    .header_container{height: 20%;}

    .info_page{top: 27%; overflow-y: auto; overflow-x: clip; margin: 0; height: 70%;}
    
    #home_page{width: 100%;}
    #home_container{width: 90%;}
    #home_container{width: 90%; margin-bottom: 20%;}

    #blog_list{width: 90%;}
    .blog_button{font-size: 2vmax;}
    #blog_content{font-size: 2vmax; width: 90%; position: relative; display: block;}


    #game_gallery_container{display: block; width: 95%; height: 100%; margin-bottom: 5%; margin-top: 8%;}
    
    .game_desc_container{display: block; position: relative; max-width: 90%; width: 100%; height: 90%; margin: 2%;}
    .purchase_section{font-size: 2.1vmax;}
    .purchase_button{margin-right: 0.5%;}

    #engine_content_container{
        width: 100%;
    }
    #engine_images_container{
        position: relative;
        right: 100%;
    }
    
    #about_desc_container{
        max-width: 60%;
        margin-top: 5%;
    }
    #portrait{
        width: 30%;
        right: 5%;
        margin-top: 10%;
        text-align: right;
    }
}
