@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');





body {
    margin: 0 0;
    background-color: #ffffff;
    color: #000000;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 18px;
	line-height: 28px;
}





#header {
    position: relative;
    height: 100px;
    z-index: 10;
    background-color: #000000;
}

#header::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    aspect-ratio: 100 / 9;
    top: 100%;
    transform: translateY(-2px);
    clip-path: polygon(0% 0%, 100% 0%, 100% 5px, 0% 100%);
    z-index: 8;
    background-color: #000000;
}

#headerLogo {
    position: absolute;
    width: calc(160px + 8vw);
    height: calc(80px + 4vw);
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
    background-image: url('logo.svg');
    background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#headerLogo a {
    display: block;
    width: 100%;
    height: 100%;
}





#banner {
    position: relative;
    width: 100%;
    aspect-ratio: 100 / 56;
    overflow: hidden;
    
}

.bannerContent {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
    pointer-events: none;
}





#info {
    position: relative;
    height: 550px;
    padding-bottom: 9vw;
    background-color: #000000;
}

#info::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    aspect-ratio: 100 / 9;
    bottom: 100%;
    transform: translateY(2px);
    clip-path: polygon(0% calc(100% - 5px), 0% 100%, 100% 100%, 100% 0%);
    z-index: 8;
    background-color: #000000;
}

#infoContentL {
    position: absolute;
    width: 560px;
    top: calc(50% - 3vw);
    left: calc(50% - 340px);
	transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 80px;
    line-height: 80px;
    font-weight: 700;
}

#infoContentR {
    position: absolute;
    width: 500px;
    top: calc(50% - 6vw);
    left: calc(50% + 340px);
	transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 36px;
    line-height: 48px;
    font-weight: 300;
}

a.gamesButton, a.gamesButton:visited {
    width: 200px;
	height: 80px;
	margin: 24px 16px;
	position: relative;
	float: left;
    color: #ffffff;
	background-image: url('button-outline.svg');
	background-repeat: no-repeat;
	background-position: center;
    transition-duration: 0.25s;
}

a.gamesButton:hover {
    color: #000000;
	background-image: url('button-fill.svg');
}

.gamesButtonIcon {
    position: relative;
	float: left;
    width: 50px;
	top: 50%;
    margin: 0 0 0 25px;
	transform: translateY(-50%);
    font-size: 36px;
    text-align: center;
}

.gamesButtonText {
    position: relative;
	float: left;
    width: 105px;
    top: 50%;
    margin: 0 20px 0 0;
	transform: translateY(-50%);
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    text-align: center;
}





#article {
    width: 800px;
    position: relative;
    padding: calc(7vw + 70px) 0;
    left: 50%;
	transform: translateX(-50%);
    font-weight: 400;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.02em;
    text-align: justify;
}

#article h1 {
    font-weight: 700;
    font-size: 56px;
    line-height: 56px;
    letter-spacing: 0.01em;
    text-align: left;
}

#article h2 {
    margin-top: 60px;
    font-weight: 700;
	font-size: 36px;
	line-height: 42px;
	letter-spacing: 0.01em;
    text-align: left;
}

#article b {
    padding: 4px 8px;
    font-weight: 700;
    color: #ffffff;
    background-color: #000000;
}

a.article, a.article:visited {
    padding: 4px 8px;
    color: #000000;
    font-weight: 700;
    text-decoration: none;
    background-color: #f6ff00;
    transition: 0.25s;
}

a.article:hover {
    color: #f6ff00;
    background-color: #000000;
}





#footer {
    position: relative;
    height: 80px;
    z-index: 10;
    background-color: #f6ff00;
}

#footer::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    aspect-ratio: 100 / 9;
    bottom: 100%;
    transform: translateY(2px);
    clip-path: polygon(0% calc(100% - 5px), 0% 100%, 100% 100%, 100% 0%);
    z-index: 8;
    background-color: #f6ff00;
}

#footerContent {
    position: absolute;
    width: 1000px;
	height: 36px;
    left: 50%;
	transform: translate(-50%, calc(25px - 2vw));
    z-index: 9;
}

a.footerButton, a.footerButton:visited {
    float: right;
    width: fit-content;
    height: 36px;
    padding: 0 20px;
    margin-left: 40px;
    box-shadow: 0px 3px #00000000;
    color: #000000;
    font-size: 24px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.25s;
}

a.footerButton:hover {
    box-shadow: 0px 3px #000000ff;
}





@media only screen and (max-width: 1360px) {

    #banner {
        aspect-ratio: 100 / 70;
    }

    #info {
        height: 900px;
    }

    #infoContentL {
        top: calc(50% - 350px);
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }
    
    #infoContentR {
        top: calc(50% + 100px);
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }

    a.gamesButton {
        float: none;
        display: block;
        left: 50%;
        transform: translateX(-50%);
        margin: 20px 0;
    }

    #article {
        width: 70%;
    }

    #footer {
        height: 200px;
    }

    #footerContent {
        width: 300px;
        height: auto;
    }

    a.footerButton {
        display: block;
        position: relative;
        width: 200px;
        float: none;
        margin: 0 0 20px 0;
        left: 50%;
        transform: translate(-50%, 0);
        text-align: center;
    }
}





@media only screen and (max-width: 720px) {

    #banner {
        aspect-ratio: 100 / 160;
    }

    #info {
        height: 700px;
    }

    #infoContentL {
        width: 300px;
        top: calc(50% - 270px);
        font-size: 40px;
        line-height: 40px;
    }

    #infoContentR {
        width: 400px;
        top: calc(50% + 70px);
        font-size: 24px;
        line-height: 28px;
    }

    a.gamesButton {
        margin: 10px 0;
        transform: translateX(-50%) scale(85%);
    }
    
    #article {
        width: 80%;
    }

    a.footerButton, a.footerButton:visited {
        width: 160px;
        height: 32px;
        font-size: 20px;
        box-shadow: 0px 2px #00000000;
    }

    a.footerButton:hover {
        box-shadow: 0px 2px #000000ff;
    }
}