@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,500;0,700;1,400;1,700&display=swap');

html, body {
	height: 100%;
}

body {
	display: grid;
	grid-template-columns: 200px 1fr;
	margin: auto;
	max-width: 600px;
	background-color: #334;
	color: #ddf;
	font-family: 'Roboto Mono', monospace;
	font-size: 12pt;
}

#right-sidebar {
	grid-area: "right-sidebar";
	padding: 10px;
	background-image: linear-gradient(270deg, #2f2f3f, #334);
	border-radius: 10px;
	margin: 15px 0px;
}

#right-sidebar__site-header {
	padding: 10px;
	margin: 10px;
	border: solid 2px #ddf;
	border-radius: 10px;
}

#right-sidebar__site-header > h1, #topbar__site-header > h1 {
	margin: 0px;
}

#right-sidebar__site-header > h1::before, #topbar__site-header >h1::before {
	content: "> ";
}

#right-sidebar__site-header > h1::after, #topbar__site-header >h1::after  {
	content: "_";
	color: inherit;
	animation-name: underscore-blink;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
}

@keyframes underscore-blink {
	0% { color: transparent; }
	49% { color: transparent; }
	50% { color: inherit; }
	99% { color: inherit; }
	100% { color: transparent; }
}

#right-sidebar__nav {
	list-style: none;
	margin: 20px 0px 20px 10px;
	padding: 10px 0px 10px 10px;
}

.nav__item {
	display: list-item;
	text-decoration-line: none;
	margin: 10px;
	color: #8f8;
}

#nav__item__selected {
	font-weight: bold;
}

#nav__item__selected::before {
	content: "> "
}

.nav__item:hover::after {
	content: " <";
	animation-name: nav-selection-marker;
	animation-duration: 1s;
	animation-iteration-count: infinite;
}

@keyframes nav-selection-marker {
	0% { content: " <"; }
	50% { content: "<"; }
}

#mobile-site__topbar {
	display: none;
}

main {
	grid-area: "main";
	margin-top: 20px;
	padding: 30px;
	line-height: 1.6;
}

#rules-list > li {
	margin-bottom: 20px;
}

.big-button {
	color: #334;
	background-color: #8f8;
	padding: 10px;
	margin: 5px;
	border: none;
	border-radius: 10px;
	font: inherit;
}

.big-button:hover {
	outline: solid 3px #8f8;
}

.big-button:active {
	outline: solid 0px #8f8;
}

#signup-form__submit {
	margin: 20px 5px 5px 5px;
}

.signup-form__field {
	padding: 10px;
	margin: 5px 5px 20px 5px;
	background-color: #505065;
	border: none;
	border-radius: 10px;
	color: #8f8;
	font: inherit;
	width: 80%;
}

.signup-form__field:focus {
	outline: solid 2px #8f8;
}

.signup-form__radio {
}

@media (max-width: 600px) {
	body {
		grid-template-areas: "topbar" "main";
		grid-template-columns: 1fr;
		grid-template-rows: 190px 1fr;
	}

	#right-sidebar {
		display: block;
		position: absolute;
		left: -100vw;
		width: 90vw;
		margin: 5px 5px 5px 0px;
		height: 96vh;
		overflow: hidden;
		transition: 0.5s;
		background-image: linear-gradient(270deg, #252535, #2b2b3b);
		box-shadow: 0px 0px 20px #223;
		border-radius: 0px 30px 30px 0px;
	}
	
	#right-sidebar__site-header {
		display: none;
	}

	#right-sidebar.visible {
		display: block;
		position: absolute;
		left: 0px;
	}

	#right-sidebar__nav {
		margin-top: 40px;
		font-size: 30px;
	}

	.nav__item {
		margin: 30px;
	}

	#mobile-site__topbar {
		display: block;
		background-image: linear-gradient(0deg, #2d2d3d, #334);
		border-radius: 0px 0px 30px 30px;
		margin: 0px 10px;
	}

	#topbar__menu-toggle {
		float: left;
		margin: 20px;
	}


	#topbar__menu-toggle > img {
		filter: invert(42%) sepia(93%) saturate(2000%) hue-rotate(207deg) brightness(150%) contrast(119%);
		height: 35px;
		transition: 0.1s;
	}

	#topbar__menu-toggle:active > img {
		height: 20px;
		padding: 7px;
	}

	#topbar__site-header {
		padding: 10px;
		margin: 20px;
		border: solid 2px #ddf;
		border-radius: 20px;
		width: 160px;
		height: 130px;
		float: right;
	}
}
