:root {
	font-family:"Lora",serif;
	font-optical-sizing:auto;
	font-size:0.9rem;
	font-weight:400;
	line-height:2;
}

html {
	background: hsl(28.9, 56.6%, 86.1%);
	scroll-behavior:smooth;
}

/* reset...sort of */
body {
	margin:0;
	padding:0;
}

body {
    color:black;
    display:block; /* IE */
    margin:0 auto;
    min-height:100vh;
    position:relative;
    width:98%;
}

main {
	box-sizing: border-box;
	min-height: calc(100vh - 250px);
	padding-bottom: 50px;
	text-align: center;
}

h1 {
	margin-top: 0;
	padding: 0 25px;
}

.links {
	margin:50px 1vh 0;
}

.links + .links {
	border-top: 1px solid black;
	padding-top: 50px;
}

.links a {
	background:
		linear-gradient(45deg, transparent 10px, hsl(28.9, 56.6%, 66.1%) 10px),
		linear-gradient(135deg, transparent 10px, hsl(28.9, 56.6%, 66.1%) 10px),
		linear-gradient(225deg, transparent 10px, hsl(28.9, 56.6%, 66.1%) 10px),
		linear-gradient(315deg, transparent 10px, hsl(28.9, 56.6%, 66.1%) 10px);

	background-position: bottom left, top left, top right, bottom right;
	background-size: 50% 50%;
	background-repeat: no-repeat;

	color: black;
	display: block;
	padding: 2vh;
	text-decoration: none;
}

.links a + a {
	margin-top: 25px;
}

.links h3,.links h4 {
	margin-top: 0;
}

.links h4:only-child {
	margin: 0;
}

footer {
	align-items: center;
	display: flex;
	flex-direction: column;
}

footer aside {
	align-items: center;
	display: flex;
	flex-grow: 1;
	justify-content: center;
	text-align: center;
}

#cogs {
	height: 250px;
	position: relative;
	width: 250px;
}

.spoke {
	background-color: hsl(28.9, 56.6%, 46.1%);
	position: absolute;

	width: 10px;
	margin-left: -6px;

	height: 100px;
	margin-top: 24.5px;

	left: 50%;
	border-radius: 100%;
	z-index: 10;
}

.spoke:first-child:nth-last-child(5) ~ .spoke {
	transform: rotateZ(36deg);
}

.spoke:first-child:nth-last-child(5) ~ .spoke + .spoke {
	transform: rotateZ(-36deg);
}

.spoke:first-child:nth-last-child(5) ~ .spoke + .spoke + .spoke {
	transform: rotateZ(72deg);
}

.spoke:first-child:nth-last-child(5) ~ .spoke + .spoke + .spoke + .spoke {
	transform: rotateZ(108deg);
}

.cog {
	animation: spin-clockwise 5s infinite linear;
	height: 150px;
	position:absolute;
	width: 150px;
	z-index: 10;
}
.cog + .cog {
	animation-delay:.19s;
	animation: spin-anticlockwise 5s infinite linear;
	margin-left: 32px;
	margin-top: 80px;
}
.cog + .cog + .cog {
	animation: spin-clockwise 5s infinite linear;
	margin-left: 118px;
	margin-top: 58px;
}

.back {
	background-color: hsl(28.9, 56.6%, 46.1%);
	border-radius: 50%;
	height: 40px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 40px;
}

.hole {
	position: absolute;
	width: 10px;
	height: 10px;
	left: 50%;
	top: 50%;
	background-color: hsl(28.9, 56.6%, 26.1%);
	border-radius: 50%;
	z-index: 3000;
	transform: translate(-50%,-50%);
}

@keyframes spin-clockwise {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}
@keyframes spin-anticlockwise {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-360deg);
	}
}

@media (min-width: 77.7rem) {
    body {
        width:77rem;
    }

	.links {
		margin-inline:15vh;
	}

	footer {
		flex-direction: row-reverse;
	}

	footer aside {
		justify-content: end;
	}

	footer small {
		text-align: end;
	}
}
