* {
	box-sizing: border-box;
}

body {
	margin: 0;
}

/* Hammer Container */
#hammer {
	display: block;
	position: absolute;
	width: 150px;
	transform-origin: 75px 300px;
	z-index: 5;
	pointer-events: none;
}

/* The head(?) of the hammer, idk */
#stone {
	display: block;
	background-color: blue;
	position: relative;
	width: 150px;
	height: 100px;
}

/* The handle of the hammer */
#handle {
	display: block;
	background-color: red;
	position: relative;
	width: 10px;
	height: 200px;
	left: 70px;
}

/* The pedestal upon which the sacrifice sits */
#table {
	display: block;
	background-color: green;
	position: fixed;
	width: 400px;
	height: 150px;
	bottom: 0;
	left: 50%;
	transform: translate(-50%);
}

/* The target of the hammer. */
#target {
	display: block;
	background-color: orange;
	position: fixed;
	width: 200px;
	height: 200px;
	bottom: 150px;
	left: 50%;
	transform: translate(-50%);
}

/* Where the hammer will land when it's brought down */
#contact {
	display: block;
	/* background-color: purple; */
	position: fixed;
	width: 100px;
	height: 100px;
	transform: translate(-50%, -50%);

	border-radius: 100%;
	background-color: rgba(0,0,0,0.1);
	border: 5px dashed rgba(0,0,0,0.25);

	animation: rotatingContact linear 1s infinite;
}

@keyframes rotatingContact {
	from { transform: translate(-50%, -50%) rotate(0deg) } to { transform: translate(-50%, -50%) rotate(30deg) }
}

/* Score! */
#score {
	display: block;
	text-align: center;
	position: fixed;

	left: 50%;
	top: 100px;
	font-size: 48px;
	margin: 0;

	transform: translate(-50%, 0);

	user-select: none;
}

#mobile-barrier {
	background-color: white;
	display: none;
	flex-direction: column;
	width: 100dvw;
	height: 100dvh;
	z-index: 10;
	align-items: center;
	justify-content: center;
	position: fixed;
	padding: 50px;
}

@media screen and (max-width: 768px) {
	#mobile-barrier {
		display: flex;
	}
}