@font-face {
	font-family: typewriter;
	src: url(./assets/typewriter.woff2);
  }

:root {
	--main-width: min(calc(120ch + 2em), 100%);
}

html {
	font-family: typewriter, 'Courier New', Courier, monospace;
	background-color: black;
	overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

a, a:hover, a:focus, a:active {
	text-decoration: none;
	color: inherit;
}

html::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.layout {
	background-image: url("./assets/bg.jpg");
	color: white;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr var(--main-width) 1fr;
	grid-template-rows: repeat(3, min-content);
}

.eyecanvas {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

main {
	block-size: min-content;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 1em;
	padding-right: 1em;
}

.logo {
	user-select: none;
	position: relative;
	width: 100%;
	height: calc(min(calc(120ch + 2em), 100vw) * 0.35);
	margin-bottom: 32px;
}

.logo img {
	position: absolute;
	transition: transform 0.1s ease, filter 0.1s ease;
	height: auto;
	cursor: pointer;

	filter: drop-shadow(.4ch .4ch 0 #8a1e6f)
}

.logo img:hover {
	filter: drop-shadow(.55ch .55ch 0 #8a1e6f)
}

.logo .pressed {
	transform: scale(1.1);
}

.logo #splash {
	position: absolute;
	text-align: center;
	font-size: 1.3em;
	letter-spacing: 2ch;
	width: 100%;
	bottom: 5%;
}

.introduction img {
	float: left;
	max-width: 50%;
}

.introduction p {
	margin-top: 0;
	margin-bottom: 4px;
}

.introduction~div {
	clear: left;
}

.gallery {
	margin-top: 5em;
}

.gallery .entry {
	clear: both;
	width: 80%;
}

.gallery .entry img,
.gallery .entry canvas {
	float: left;
	margin-right: 1ch;
	max-width: 40%;
}

.gallery .entry:nth-child(even) {
	text-align: right;
	margin-left: auto;
}

.gallery .entry:nth-child(even) img,
.gallery .entry:nth-child(even) canvas {
	float: right;
	margin-right: 0;
	margin-left: 1ch;
}

.gallery .entry .header {
	font-size: 2em;
	margin-bottom: 0;
}

.guestbook {
	margin: 3em auto;
	max-width: 100%;
	width: 80ch;
}

.guestbook .title {
	font-size: 3em;
}

.guestbook #sign-text {
	text-align: right;
}

.guestbook #sign-text img {
	position: relative;
	top: 0.4em;
	height: 1em;
	transform: rotate(-15deg);
}

.guestbook .sign {
	margin-top: 8px;
	text-align: right;
}

.guestbook .sign .header .username input:focus,
.guestbook .sign .header .username input {
	outline: none;
	border: none;
    box-shadow: none;
	background: none;
	color: white;
	font-family: typewriter, 'Courier New', Courier, monospace;
	font-size: 1.1em;
	text-align: right;
	box-sizing: border-box;
    width: 80%;
}

.guestbook .sign .header .timestamp {
	color: #e4e4e4;
}

.guestbook .sign .body textarea:focus,
.guestbook .sign .body textarea {
	outline: none;
	border: none;
    box-shadow: none;
    resize: none;
	background: none;
	color: white;
	font-family: typewriter, 'Courier New', Courier, monospace;
	font-size: 1em;
	text-align: right;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 0px;
}

.guestbook .sign button {
	outline: none;
	border: 2px solid grey;
    box-shadow: none;
    resize: none;
	background: none;
	color: white;
	font-family: typewriter, 'Courier New', Courier, monospace;
	font-size: 1em;
	text-align: right;
	box-sizing: border-box;
	cursor: pointer;
	padding: 2px;
	margin: 0;
}

.guestbook .entry {
	margin-top: 1ch;
}

.guestbook .entries .entry:nth-child(even) {
	text-align: right;
}

.guestbook .entries-odd .entry:nth-child(odd) {
	text-align: right !important;
}

.guestbook .entries-odd .entry:nth-child(even) {
	text-align: left !important;
}

.guestbook .entry .header .username {
	font-size: 1.1em;
}

.guestbook .entry .header .timestamp {
	color: #e4e4e4;
}


.seperator {
	position: relative;
	grid-column: 1/4;
	width: 100%;
	user-select: none;
}

.seperator #stripe {
	width: 100%;
}

.seperator #stripecaltrop {
	z-index: 10;
	position: absolute;
	width: 10%;
	top: 8%;
	left: 3%;
	filter: drop-shadow(.4ch .4ch 0 #8a1e6f);
}

.seperator #stripegender {
	z-index: 10;
	position: absolute;
	width: 10%;
	bottom: 5%;
	right: 3%;
	filter: drop-shadow(.4ch .4ch 0 #8a1e6f);
	transform: rotateZ(30deg);
}

footer {
	margin-top: 4em;
	text-align: center;
}

footer svg {
	stroke: #e2e2e2;
    position: relative;
    width: 0.8em;
    height: 0.8em;
    top: 2px;
    margin-right: -0.5ch;
}

#letterA {
	left: 13.646%;
	top: 37.6595%;
	width: 16.2619%;
}
#cat1 {
	left: 3.85873%;
	top: 16.5874%;
	width: 20.7889%;
}
#letterC {
	left: 0%;
	top: 37.6463%;
	width: 16.6873%;
}
#letterL {
	left: 29.7254%;
	top: 35.7319%;
	width: 10.5651%;
}
#letterT {
	left: 40.0999%;
	top: 36.5479%;
	width: 12.9571%;
}
#letterR {
	left: 47.4111%;
	top: 37.7388%;
	width: 14.4016%;
}
#letterO {
	left: 60.2762%;
	top: 33.1881%;
	width: 20.0476%;
}
#cat3 {
	left: 54.0608%;
	top: 9.43495%;
	width: 22.3095%;
}
#letterP {
	left: 77.7032%;
	top: 34.5524%;
	width: 15.6048%;
}
#excl {
	left: 88.754%;
	top: 34.5216%;
	width: 11.2476%;
}
#cat2 {
	left: 27.4919%;
	top: 0.542769%;
	width: 24.4175%;
}

@media only screen and (max-width: 125ch) {
	html {
		font-size: 0.7em;
	}

	.logo #splash {
		font-size: 1.9vw !important;
		bottom: 0px !important;
	}

	.gallery .entry {
		width: 100% !important;
	}
}