:root {
	--magnet-x: 0%;
	--magnet-y: 0%;
	--magnet-angle: 0deg;
	--magnet-delay: 0s;
}

@font-face {
	font-family: TimesModernEF;
	src: url(./assets/TimesModernEF.ttf);
}

@keyframes slideup {
	from {
		top: 50%;
	}
	to {
		top: 4rem;
	}
}

@keyframes dropin {
	from {
		opacity: 0;
		transform: scale(1.5) translate(-50%, -50%) rotate(var(--magnet-angle));
	}
	to {
		opacity: 1;
		transform: scale(1) translate(-50%, -50%) rotate(var(--magnet-angle));
	}
}

html {
	font-size: 16px;
}

@media only screen and (max-width: 480px) {
	html {
		font-size: 12px;
	}
}

body {
	margin: 0;
	width: 100vw;
	height: 100vh;
	font-family: TimesModernEF, "Times New Roman", serif;
	background-image: url(./assets/global/white-bg.svg);
	background-size: cover;
}

h1 {
	font-size: 5.25rem;
	font-weight: normal;
	margin: 0;
}

h2 {
	font-size: 1.5rem;
	font-weight: normal;
}

h3 {
	font-weight: normal;
}

p {
	color: black;
	font-weight: normal;
	font-family: "Times New Roman", serif;
}

a {
	color: black;
}

a:visited {
	color: black;
}

ul {
	padding: 0;
}

li {
	list-style-type: none;
}

input {
	border: none;
	border-bottom: 1px solid black;
	height: 2rem;
}

.magnet {
	position: absolute;
	opacity: 0;
	top: var(--magnet-y);
	left: var(--magnet-x);
	transform: translate(-50%, -50%) rotate(var(--magnet-angle));
	animation: 0.2s ease-in var(--magnet-delay) normal forwards dropin;
}

.text-image {
	height: 1.5rem;
}

#title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#title.slideup {
	animation: 0.3s ease-out 0.1s 1 normal forwards running slideup;
}

#torch {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 4.625rem;
	height: 4.625rem;
	border-radius: 50%;
	box-shadow: 0 0 0 9999px rgba(0, 0, 0, 1);
	pointer-events: none;
	z-index: 100;
}

#torch-image {
	height: 4rem;
	position: relative;
	left: -8rem;
}

#torch-shadow {
	position: absolute;
	top: -1px;
	left: -1px;
	width: 4.75rem;
	height: 4.75rem;
	border-radius: 50%;
	box-shadow: inset 0 0 0.75rem 0.625rem #000;
}

#screensaver {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: white;
	z-index: 100;
}

#screensaver img {
	width: 70%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#not-found {
	width: 50%;
	margin: auto;
	margin-top: 5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#error {
	width: 16rem;
	padding: 1rem;
}

#error-body {
	padding: 1rem;
}

#error-reload {
	width: 5rem;
	padding: 1rem;
}

/* index */

#buy-me-a-coffee {
	width: 5rem;
}

#dids {
	width: 18rem;
}

#eyes {
	width: 4rem;
}

#eyeballs {
	position: absolute;
}

#irises {
	position: absolute;
}

#eyelids {
	position: absolute;
}

.box {
	width: 70%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.featured-release img {
	width: 10rem;
}

@media only screen and (max-width: 480px) {
	#lon, #loff {
		display: none;
	}

	.featured-release img {
		width: 6rem;
	}
}

/* music */

.album {
	text-align: center;
}

.album img {
	width: 12.5rem;
}

.album p {
	font-size: 0.625rem;
}

@media only screen and (max-width: 480px) {
	.album img {
		width: 6rem;
	}
}

/* press */

.social img {
	width: 3.75rem;
}

/* shows */

#shows {
	padding-top: 12rem;
	padding-bottom: 6rem;
	width: 70%;
	margin: auto;
	text-align: center;
}

.show-item {
	font-size: 1.125rem;
}

.show-item:first-of-type::before {
	content: url(./assets/shows/line.svg);
}

.show-item::after {
	content: url(./assets/shows/line.svg);
}

.show-inner {
	display: inline-block;
	padding: 0.75rem 0;
}

.shows-message {
	padding: 0.75rem 0;
	font-size: 1.125rem;
}

/* subscribe */

#subscribe {
	width: 20rem;
	margin: auto;
	padding-top: 12rem;
	text-align: center;
}

@media only screen and (max-width: 480px) {
	#subscribe {
		width: 80vw;
	}
}

.form-field {
	margin-bottom: 2rem;
}

#submit-button {
	border: none;
	background: none;
	cursor: pointer;
}

#submit-button img {
	height: 2rem;
}

/* bio */

.credit {
	text-align: center;
}

/* go */

.go-btn {
	border: none;
	background: none;
}

.go-text,
.go-btn{
	font-family: TimesModernEF, "Times New Roman", serif;
	font-size: 1.5rem;
}

.go-link {
	text-decoration: none;
	font-size: 1.5rem;
}

#board {
	display: flex;
	flex-wrap: wrap;
	width: 30rem;
	height: 30rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url(../assets/go/om-final-cover-nodots.jpg);
	background-size: cover;
}

.square {
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.square:hover {
	background-color: black !important;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.stone {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background-color: black;
}

.stone.--white {
	width: 100%;
	height: 100%;
	background-color: white;
}

.stone.--black {
	width: 100%;
	height: 100%;
	background-color: black;
}

/* go/rules */

#rules {
	width: max(50%, 30rem);
	margin: auto;
	padding-top: 12rem;
}

@media only screen and (max-width: 480px) {
	#rules {
		width: 90%;
	}
}

.go-title {
	padding-left: 1.625rem;
}

.go-back {
	text-decoration: none;
	position: absolute;
	top: 73%;
	left: 75%;
	transform: rotate(9deg);
}

/* Alpine.js */

[x-cloak] {
	display: none !important;
}

