@font-face {
	font-family: "Bitwise";
	src: url(/Bitwise-m19x.ttf);
}

:root {
	--section-heading-font-size: 3vw;
	--theme-primary: #bf2828;
	--theme-bg: #232323;
	--theme-bg-dark: #020000;
}

html, body {
	position: relative;
	width: 100%;
	scroll-behavior: smooth;
	/* scroll-snap-type: y mandatory; */
}

body {
	background: black;
	backdrop-filter: contrast(0.85);
	color: rgb(238, 238, 238);
	margin: 0;
	padding: 8px;
	box-sizing: border-box;
	font-family: "Exo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	/* Will be unset on using StartButton. */
	overflow: hidden;
}

body::-webkit-scrollbar {
    width: 0;
}

section {
	height: 100%;
	scroll-snap-align: start;
	margin-bottom: 8%;
}

section:last-of-type {
	padding-bottom: 4rem;
}

footer {
	scroll-snap-align: start;
}

a {
	color: rgb(0,100,200);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:visited {
	color: rgb(0,80,160);
}

label {
	display: block;
}

input, button, select, textarea {
	font-family: inherit;
	font-size: inherit;
	-webkit-padding: 0.4em 0;
	padding: 0.4em;
	margin: 0 0 0.5em 0;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 2px;
}

input:disabled {
	color: #ccc;
}

button {
	color: #333;
	background-color: #f4f4f4;
	outline: none;
}

button:disabled {
	color: #999;
}

button:not(:disabled):active {
	background-color: #ddd;
}

button:focus {
	border-color: #666;
}

h1, h2, h3, h4, h5, h6 {
	user-select: none;
}

h1 {
	margin: 0;
	font-size: var(--section-heading-font-size);
	letter-spacing: 1vw;
	text-transform: uppercase;
}

h1[class~="font-effect-anaglyph"] span {
    display: inline-block;
}

h1[class~="font-effect-anaglyph"] span:hover {
    animation: wiggle 2s ease;
}

@keyframes wiggle {
    0% {
        transform: scale(1, 1);
    }
    10% {
        transform: scale(2, 0.5);
    }
    20% {
        transform: scale(0.5, 2);
    }
    30% {
        transform: scale(1.75, 0.75);
    }
    40% {
        transform: scale(0.75, 1.75);
    }
    50% {
        transform: scale(1.5, 0.5);
    }
    60% {
        transform: scale(0.5, 1.5);
    }
    70% {
        transform: scale(1.2, 0.8);
    }
    80% {
        transform: scale(0.8, 1.2);
    }
    90% {
        transform: scale(1.1, 0.9);
    }
    100% {
        transform: scale(1, 1);
    }
}

@media screen and (max-width: 800px) {
	:root {
		--section-heading-font-size: 5vw;
	}

	/* Disable Scroll Snapping for smaller screens */
	body {
		scroll-snap-type: none;
		overflow-y: auto;
	}

	section,
	footer {
		scroll-snap-align: none;
	}
}

@media screen and (max-width: 640px) {
	:root {
		--section-heading-font-size: 8vw;
	}
}
