﻿/* Variables */
:root {
    --screen-width: calc(100vw - var(--scrollbar-width));
}

/* general */
html {
    font-size: 18px; /* This affects all 'rem' sizes */
    /* Parallaxing */
    overflow: hidden;
}

body {
    font-family: "Futura-Light";
    text-align: center;
}

.scroll-panel {
    /* Parallaxing */
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    perspective: 10px;
    transform-style: preserve-3d;
}

.sections-container {
    /* Parallaxing */
    transform-style: preserve-3d;
}

.section {
    position: relative;
}

.h1, h1,
.h2, h2,
.h3, h3,
.h4, h4,
.h5, h5,
.h6, h6 {
    font-family: 'Futura-Medium-Bt';
}

.h1, h1 {
    text-transform: uppercase;
}

.inline-a {
    color: inherit;
    text-decoration: underline;
}

.inline-a:hover {
    color: inherit;
}

.filled {
    background-color: #ffffff;
}

/* Prevents flickering (which occurs when using a carousel) */
.navbar,
.section {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

a:focus,
button:focus {
    outline: none;
}

/* Header image */
.header-image-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(100vw * 800 / 1920);
    transform-style: preserve-3d;
    z-index: -1;
}

.header-image-panel .header-image {
    /* Parallaxing */
    position: absolute;
    width: 100vw;
    height: 100%;
    left: 0;
    top: calc(-0.5 * (1.4 - 1.0) * (100vh - 100% - 2 * var(--navbar-height-offset)));
    z-index: -1;
    transform: translateZ(-4px) scale(1.4);
}

@supports (-ms-ime-align:auto) {
    /* Edge browser */
    .header-image-panel .header-image {
        top: 0;
        transform: initial;
    }
}

.header-image-panel .header-image-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.25);
}

.header-image-panel .header-image-text {
    font-family: 'DIN-Engschrift-Std';
    text-transform: uppercase;
    font-size: 5.5rem;
    color: #ffffff;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .header-image-panel .header-image-text {
        font-size: 10rem;
    }
}

.header-image-panel .header-image-text-2 {
    font-family: 'DIN-Engschrift-Std';
    text-transform: uppercase;
    font-size: 4.5rem;
    line-height: 5.5rem;
    color: #ffffff;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .header-image-panel .header-image-text-2 {
        font-size: 8rem;
        line-height: 10rem;
    }
}

.header-image-panel .header-image-text-3 {
    font-family: 'DIN-Engschrift-Std';
    text-transform: uppercase;
    font-size: 2.5rem;
    line-height: 3.0rem;
    color: #ffffff;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .header-image-panel .header-image-text-3 {
        font-size: 4.5rem;
        line-height: 5.5rem;
    }
}

/* Soft separators */
.soft-separator-top {
    border-top: 1px solid #d0d0d0;
    height: calc(7px + 1px);
}

.soft-separator-bottom {
    border-bottom: 1px solid #d0d0d0;
    height: calc(7px + 1px);
}

/* Quotation block */
.quotation-block {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
    border-top: 2px solid #000000;
    border-bottom: 2px solid #000000;
    padding: 15px;
    font-family: 'Futura-Medium-Bt';
}

.quotation-block div {
    display: flex;
    margin: 2rem 0;
    font-size: 1.75rem;
    text-transform: uppercase;
}

.quotation-block.subtle div {
    font-size: 1.3rem;
}

/* Whitespace separator */
.whitespace-separator {
    position: relative;
    width: 100%;
    height: 54px;
}

.whitespace-separator .separator-logo {
    position: absolute;
    width: 118px;
    height: 118px;
    left: 50%;
    margin-left: -59px;
    top: 50%;
    margin-top: -59px;
    background-image: url('../img/Gamedia-Logo.png?version=9');
    background-size: 100% 100%;
    z-index: 1;
}

/* Basic button */
.basic-button {
    display: inline-block;
    box-shadow: 0 2px 6px 3px rgba(0, 0, 0, 0.39);
    border-radius: calc(0.7 * 10px);
    padding: 0.9rem;
    background-color: #ffffff;
    color: #000000;
    font-family: 'Futura-Medium-Bt';
    text-transform: uppercase;
}

.basic-button:hover {
    color: #000000;
    text-decoration: none;
}

@media screen and (min-width: 768px) {

    .basic-button {
        border-radius: 10px;
    }
}