/* BODY */
body {
	min-height: 43rem;
}


/* INTRO */
#screen {
	margin-left: var(--margin);
	margin-right: var(--margin);
	text-align: center;
}

h2 {
	font-size: calc(var(--font-size)*1.3);
	border: solid var(--dark-green) 2px;
	border-radius: var(--border-radius);
	width: 10rem;
	margin: auto;
	margin-bottom: var(--padding);
}

h3 {
	font-size: calc(var(--font-size)*1.5);
	margin-bottom: var(--padding);
	text-transform: uppercase;
}

#intro-p {
	margin-bottom: var(--padding);
}

.directions {
	text-align: center;
	padding-bottom: calc(var(--padding)/1.8);
}

.ab-span {
	color: var(--light-green);
	background-color: var(--dark-green);
	border-radius: 50%;
	padding-left: calc(var(--padding)/1.5);
	padding-right: calc(var(--padding)/1.5);
	padding-top: calc(var(--padding)/3);
	padding-bottom: calc(var(--padding)/3);
}


/* NAME */
.name {
	display: flex;
	margin-left: calc(var(--margin)*1.4);
	gap: 0.3rem;
	align-items: center;
	color: var(--blue);
}

.my-name {
	font-size: calc(var(--font-size)*1.2);
}


/* GAMEBOY ELEMENTS */	/* modified from https://codepen.io/amyyf/pen/rJBypJ */
/* OVERALL BOX AROUND BOTH BUTTONS */
.button-box {
	display: flex;
	justify-content: space-evenly;
	gap: 5rem;
	align-items: center;
	width: 20rem;
	height: 8.5rem;
	margin: auto;
	position: relative;
}

/* ARROWS */
.arrow-group {
	height: 5rem;
	width: 5rem;
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.up-box {
	background-color: var(--black);
	border-radius: 4px 4px 0 0; 
	/* ADD SHADOWS! */
	box-shadow: 2px 2px 4px black, inset 2px 2px 4px darkgray, -1px -1px 2px black; 
	height: 33%;
	width: 33%;
	left: 33%;
	position: absolute;
}

.right-box {
	background-color: var(--black);
	border-radius: 0 4px 4px 0;
	box-shadow: 2px 2px 4px black, inset 0 4px 4px -2px darkgray, -1px -1px 2px black;
	height: 33%;
	width: 33%;
	right: 0%;
	top: 33%;
	position: absolute;
}

.down-box {
	background-color: var(--black);
	border-radius: 0 0 4px 4px;
	box-shadow: 2px 2px 4px black, inset 4px 0 4px -2px darkgray, -1px -1px 2px black;
	height: 34%;
	width: 33%;
	bottom: 0%;
	left: 33%;
	position: absolute;
}

.center-box {
	background-color: var(--black);
	height: 33%;
	width: 33%;
	left: 33%;
	top: 33%;
	position: absolute;
}

.left-box {
	background-color: var(--black);
	border-radius: 4px 0 0 4px;
	box-shadow: 0 4px 4px -2px black, inset 2px 2px 4px darkgray, -1px -1px 2px black;
	height: 33%;
	width: 33%;
	top: 33%;
	position: absolute;
}

.right {
	transform: rotate(90deg);
}

.down {
	transform: rotate(180deg);
}

.left {
	transform: rotate(270deg);
}

/* MAKE A DENT FOR THE CENTER OF THE ARROWS GROUP */
.dent {
	background-color: var(--black);
	border-radius: 50%;
	left: 6px;
	top: 6px;
	position: absolute;
	height: 17px;
	width: 17px;
}

/* A/B BUTTON */
.ab-button {
	background-color: var(--red);
	box-shadow: 0 4px 4px -2px rgb(132, 0, 0), inset 2px 2px 4px darkgray, -1px -1px 2px rgb(96, 1, 1);
	border-radius: 50%;
	font-family: var(--fira);
	color: var(--basegray);
	height: 2rem;
	width: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ab-flex {
	display: flex;
	/* another flex box inside another flex box... inside a grid.. yay! */
	flex-direction: column;
	gap: 1rem;
	width: 5rem;
}

.a {
	align-self: end;
}

.b {
	align-self: start;
}


/* TABLET BREAKPOINT */
@media (min-width: 800px) {
	
	/* GAMEBOY */
	.gameboy {
		display: grid;
		grid-template-columns: 1fr 5fr 1fr;
		align-items: center;
	}

	.arrow-group {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		margin-left: var(--margin);
	}

	.middle {
		grid-column: 2;
		justify-self: center;
	}

	#screen {
		min-height: 23rem;
		min-width: 33rem;
		align-items: center;
	}

	.ab-flex {
		grid-column: 3;
		justify-self: end;
		margin-right: var(--margin);
	}

	.button-box {
		display: contents;
	}


	/* MIDDLE */
	/* INTRO */
	h2 {
		margin-top: calc(var(--margin)/1.2);
	}

	h3 {
		font-size: calc(var(--font-size)*2);
		font-weight: var(--futura-weight);
	}

	#intro-p {
		max-width: 30rem;
		margin: auto;
		font-size: calc(var(--font-size)*1.2);
		margin-bottom: var(--margin);
	}

	.directions {
		font-size: calc(var(--font-size)*1.2);
		max-width: 30rem;
		margin: auto;
	}

	/* NAME */
	h4 {
		font-size: calc(var(--font-size)*1.4);
	}

	.my-name {
		font-size: calc(var(--font-size)*1.6);
	}

	.name {
		padding: var(--padding);
		margin-left: calc(var(--margin)/1.3);
	}

}


/* DESKTOP BREAKPOINT */
@media (min-width: 1290px) {
	/* BODY */
	body {
		min-height: 70rem;
	}
	
	/* HEADER */
	header {
		height: 6rem;
	}

	h1 {
		font-size: calc(var(--font-size)*1.8);
	}

	.line {
		height: 6rem;
	}

	.header-container {
		gap: 20rem;
	}


	/* GAMEBOY */
	.gameboy {
		grid-template-columns: 2fr 8fr 2fr;
	}

	.arrow-group {
		margin-left: calc(var(--margin)*2.2);
		height: 8rem;
		width: 8rem;
	}

	.ab-flex {
		margin-right: calc(var(--margin)*1.5);
		width: 10rem;
	}

	.ab-button {
		width: 4rem;
		height: 4rem;
	}

	.a, .b {
		font-size: calc(var(--font-size)*1.6);
	}

	#screen {
		min-height: 40rem;
		min-width: 50rem;
		margin-top: calc(var(--margin)*1.5);
	}


	/* MIDDLE */
	/* SCREEN */
	h2 {
		font-size: calc(var(--font-size)*2.5);
		border-radius: calc(var(--border-radius)*3);
		width: 15rem;
		margin-bottom: calc(var(--margin)*1.5);
		margin-top: calc(var(--margin)*1.5);
	}

	h3 {
		font-size: calc(var(--font-size)*3);
		margin-bottom: calc(var(--margin)*1.5);
	}

	#intro-p, .directions {
		font-size: calc(var(--font-size)*1.7);
		max-width: 40rem;
	}

	#intro-p {
		margin-bottom: calc(var(--margin)*1.6);
	}

	.ab-span {
		padding-left: calc(var(--padding)/1.2);
		padding-right: calc(var(--padding)/1.2);
	}

	/* NAME */
	h4 {
		font-size: calc(var(--font-size)*2.3);
	}

	.my-name {
		font-size: calc(var(--font-size)*2.5);
	}

	.name {
		gap: 0.8rem;
	}
}