﻿@font-face {
	font-family: 'SST Light';
	src: url(/assets/fonts/SST-Light.ttf);
	font-display: swap;
}

@font-face {
	font-family: 'PS';
	src: url(/assets/fonts/PS.ttf);
	font-display: swap;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
	font-family: 'SST Light', sans-serif;
	font-size: 1rem;
	background-color: rgb(216,220,232);
	color: black;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
}

SquareGrid {
	--content-width: 90vw;
	--gutter: 20px;
	--columns: 2;
	--row-size: calc(
		( var(--content-width) - (var(--gutter) * (var(--columns) - 1))
		) / var(--columns)
	);
	display: grid;
	width: 100%;
	max-width: var(--content-width);
	grid-template-columns: repeat(var(--columns), 1fr);
	grid-auto-rows: var(--row-size);
	grid-column-gap: var(--gutter);
	grid-row-gap: var(--gutter);
}

#Hello {
	scroll-margin-top: 40px;
}

#Header {
	width: 90vw;
	margin: 40px 0;
}

#Header h1 {
	font-size: 1.6rem;
	font-weight: 300;
	margin-bottom: 40px;
}

#Header h1 span {
	display: inline-block;
}

#Header p {
	font-size: .875rem;
}

#Header a:link, #Header a:visited {
	text-align: center;
    background-color: rgba(255,255,255,.6);
	box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 7px 0px;
	border-radius: 4px;
	color: black;
    padding: 6px;
	cursor: pointer;
	transition: all 0.2s;
	text-decoration: none;
}

#Header a:hover {
	background-color: black;
	color: white;
}

.Blk {
	display: flex;
	margin: 40px 0;
}

.Blk-red {
	display: block;
	height: 20px;
	width: 30px;
	margin-right: 6px;
	background-color: rgb(230, 0, 19);
}

.Blk-yellow {
	display: block;
	height: 20px;
	width: 30px;
	margin-right: 6px;
	background-color: rgb(250, 190, 0);
}

.Blk-green {
	display: block;
	height: 20px;
	width: 30px;
	margin-right: 6px;
	background-color: rgb(0, 164, 151);
}

.Blk-blue {
	display: block;
	height: 20px;
	width: 30px;
	margin-right: 6px;
	background-color: rgb(0, 108, 184);
}

.Tabs-LogoPS {
	font-family: 'PS', 'SST Light', sans-serif;
	font-size: .8rem;
}

.Tabs-wrap {
	/*margin-top: 40px;*/
}

.Tabs-wrap ul {
	display: flex;
	margin: 0;
	padding-left: 0;
	list-style-type: none;
}

.Tabs-wrap ul li {
	font-size: .875rem;
	text-align: center;
    background-color: rgba(255,255,255,.6);
	box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 7px 0px;
	border-radius: 4px;
    padding: 6px;
	margin-right: 6px;
	cursor: pointer;
	transition: all 0.2s;
}

.Tabs-wrap ul li:hover, .Tabs-wrap ul li.active {
	background-color: black;
	color: white;
}

.Tabs-wrap i {
	padding-right: 3px;
}

.Tabs-shine {
	position: relative;
}

.Tabs-shine:before {
	content: "";
	position: absolute;
	left: -2px;
	top: -2px;
	right: -2px;
	bottom: -2px;
	border-radius: 4px;
	transition: opacity 125ms ease-in-out, transform 125ms ease-in-out;
	opacity: 0;
	background-image: linear-gradient(-45deg, transparent 30%, rgba(255, 255, 255, 0.4), transparent 70%);
	background-size: 600%;
	animation: 3s linear;
	-moz-animation: 3s linear;
	-webkit-animation: 3s linear;
}

.Tabs-shine:hover:before, .Tabs-shine.active:before, .Tabs-shine:focus:before {
	opacity: 1;
	animation-name: animation-shine;
}

#FooterBox {
	width: 100%;
	margin-top: 40px;
	font-size: .875rem;
	background-color: rgb(0,67,156);
	box-shadow: 0 50vh 0 50vh rgb(0,67,156); /*color extends to bottom of screen*/
	color: white;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.FooterData {
	width: 90vw;
	padding: 40px 0;
}

a.FooterLink {
	color: white;
	text-decoration: none;
	border-bottom: 1px solid white;
}

.Item {
	background-size: cover;
	background-position: center center;
    background-color: black;
	border-radius: 1rem;
	transition: all 0.2s;
}

.Btn-shine {
	position: relative;
}

.Btn-shine:before {
	content: "";
	position: absolute;
	left: -4px;
	top: -4px;
	right: -4px;
	bottom: -4px;
	border-radius: 1rem;
	transition: opacity 125ms ease-in-out, transform 125ms ease-in-out;
	opacity: 0;
	background-image: linear-gradient(-45deg, transparent 30%, rgba(255, 255, 255, 0.4), transparent 70%);
	background-size: 600%;
	animation: 3s linear;
	-moz-animation: 3s linear;
	-webkit-animation: 3s linear;
}

.Btn-shine:hover:before, .Btn-shine.active:before, .Btn-shine:focus:before {
	opacity: 1;
	animation-name: animation-shine;
}

@keyframes animation-shine {
	0% {
		background-position: 100%;
	}
	30% {
		background-position: 0%;
	}
	100% {
		background-position: 0%;
	}
}
@-moz-keyframes animation-shine {
	0% {
		background-position: 100%;
	}
	30% {
		background-position: 0%;
	}
	100% {
		background-position: 0%;
	}
}
@-webkit-keyframes animation-shine {
	0% {
		background-position: 100%;
	}
	30% {
		background-position: 0%;
	}
	100% {
		background-position: 0%;
	}
}

.GameBox {
	background-color: rgb(2,4,8);
	background: linear-gradient(0deg, rgba(2,4,8,1) 0%, rgba(2,4,8,0.5) 10%, rgba(2,4,8,0) 20%);
	color: white;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 7px 0px;
	border-radius: 1rem;
}

.GameBox i {
	font-size: 0.6rem;
	padding-right: 3px;
}

.GameData {
/*
	align-self: flex-end;
	margin: 0 0 1rem 1rem;
	line-height: 1.5;
*/
	display: none;
}

.GameRating {
	align-self: flex-end;
	margin: 0 0 .6rem .6rem;
}

.LogoPS4 {
	font-family: 'PS', 'SST Light', sans-serif;
	font-size: .6rem;
	color: white;
	background-color: black;
	border: 1px solid rgb(128,128,128);
	border-radius: 4px;
	padding: 6px;
}

.LogoPS5 {
	font-family: 'PS', 'SST Light', sans-serif;
	font-size: .6rem;
	color: black;
	background-color: white;
	border: 1px solid rgb(128,128,128);
	border-radius: 4px;
	padding: 6px;
}

::-moz-selection {
	color: white;
	background-color: black;
}

::selection {
	color: white;
	background-color: black;
}

#AboutBox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background-color: rgb(216,220,232);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
	transition: all 125ms;
}

.AboutData {
	position: relative;
	background-color: rgba(255,255,255,.6);
	width: 80vw;
	padding: 1.2rem;
/*	box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 7px 0px;*/
	border-radius: 1rem;
}

.AboutTitle {
	color: white;
    background-color: black;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 4px 7px 0px;
	border-radius: 4px;
    padding: 6px;
	margin-right: 6px;
}

#AboutBox:not(:target) {
	visibility: hidden;
	opacity: 0;
}

.AboutContent {
	margin-bottom: 40px;
}

@media (min-width: 760px) {
	SquareGrid {
		--gutter: 40px;
		--columns: 3;
	}
	.AboutData {
		padding: 2rem;
	}
	.GameBox i {
		font-size: 0.8rem;
	}
	.GameData {
		display: block;
		align-self: flex-end;
		margin: 0 0 1rem 1rem;
		line-height: 1.5;
	}
	.GameRating {
		align-self: flex-end;
		text-align: right;
		margin: 0 1rem 1rem 0;
	}
}
@media (min-width: 1200px) {
	SquareGrid {
		--content-width: 80vw;
		--gutter: 40px;
		--columns: 4;
	}
	#Header {
		width: 80vw;
	}
	#Header h1 {
		font-size: 2.4rem;
	}
	#Header p {
		font-size: 1rem;
	}
	#Header a:link, #Header a:visited, #Header a:hover {
	   padding: 10px 8px;
	}
	.AboutTitle {
		padding: 10px 8px;
	}
	.Tabs-wrap {
		width: 80vw;
	}
	.Tabs-wrap ul li {
		font-size: 1rem;
		padding: 10px 8px;
		margin-right: 8px;
	}
	#FooterBox {
		font-size: 1rem;
	}
	.FooterData {
		width: 80vw;
	}
	.Item:hover, .Item:active , .Item:focus {
		transform: scale(1.06);
	}
	.Tabs-shine:before {
		animation: 5s linear;
		-moz-animation: 5s linear;
		-webkit-animation: 5s linear;
	}
	.Tabs-shine:hover:before, .Tabs-shine.active:before, .Tabs-shine:focus:before {
		transform: scale(1.04);
	}
	.Btn-shine:before {
		border: 1px solid white;
		animation: 5s linear infinite;
		-moz-animation: 5s linear infinite;
		-webkit-animation: 5s linear infinite;
	}
	.Btn-shine:hover:before, .Btn-shine.active:before, .Btn-shine:focus:before {
		transform: scale(1.04);
	}
}
@media (min-width: 1900px) {
	SquareGrid {
		--columns: 6;
	}
}
@media (min-width: 2500px) {
	SquareGrid {
		--columns: 7;
	}
}

/* Preloader Overlay */
#preloader {
	inset: 0;
    position: fixed;
	background-color: rgb(216,220,232);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
	visibility: visible;
	will-change: opacity, visibility;
}

/* Versteckt nach dem Laden */
#preloader.hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#PreloadWrapper div {
	width: 50px;
	height: 50px;
	float: left;
	text-align: center;
}

#PreloadWrapper svg {
	width: 80%;
}

#triangle svg {
	animation: rotateAnimation 0.8s ease-in-out infinite;
}

#square svg {
	animation: rotateAnimation 0.9s 0.6s ease-in-out infinite;
}

#circle svg {
	animation: rotateAnimation 1s 0.7s ease-in-out infinite;
}

#cross svg {
	animation: rotateAnimation 1.1s 0.8s ease-in-out infinite;
}

@keyframes rotateAnimation {
	0% {
		transform: rotate(0) scale(1);
	}
	50% {
		transform: rotate(120deg) scale(0);
	}
	70% {
		transform: rotate(-120deg) scale(0);
	}
	100% {
		transform: rotate(0) scale(1);
	}
}

/* Inhalt der Seite initially hidden für Screenreader und FOUC-Vermeidung */
main[aria-hidden="true"] {
	visibility: hidden;
	user-select: none;
	pointer-events: none;
}

/* Nach dem Laden sichtbarer Inhalt */
main[aria-hidden="false"] {
	visibility: visible;
}
