* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
}

a {
	display: inline-flex;
	text-decoration: none;
}

section {
	display: inline-flex;
}

hr {
	width: 100%;
}

.text-red {
	color: #FF0000;
}

.text-black {
	color: #000;
}

.text-blue {
	color: #3366CC;
}

.text-green {
	color: #009100;
}

.text-orange {
	color: #FF8000;
}

.row {
	display: inline-flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
}

.column {
	display: inline-flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
}

.logo {
	align-items: flex-end;
}

.logo > a > img {
	width: 20em;
}

.links > a {
	padding: .5em;
	border-radius: 1em;
}

.links > a:hover {
	color: #FFF;
	background-color: #99B3E6;
}

.links.row > a {
	margin: 0 .25em;
}

.links.column > a {
	margin: .25em 0;
}

.links.column > h2 {
	margin: .25em 0 0 0;
}

.tedris-downloads {
	padding: 1em 2em;
	min-width: max-content;
}

.tedris-downloads > div {
	margin: 0 0 .75em 0;
}

.tedris-downloads > .privacy-href {
	margin: 0 0 1em 0;
}
.tedris-downloads > .privacy-href:hover {
	text-decoration: underline;
}

.tedris-downloads > .tedris-download-href, .tedris-downloads > .goyo-download-href {
	font-size: 1.125em;
	padding: 0 0 0 1em;
	border-radius: 1em;
	margin: 0 0 1em 0;
	align-items: center;
	border: 1px solid #BBB;
}

.tedris-downloads > .tedris-download-href > svg, .tedris-downloads > .goyo-download-href > svg {
	width: 4em;
	height: 4em;
	padding: 1em;
}

.tedris-downloads > .column > a {
	margin: .25em 0;
}

.tedris-downloads > .column > a > img {
	width: 7.5em;
}

#nav-bar {
	width: 100%;
	padding: 1em 2em;
	justify-content: space-between;
}

#menu-checkbox, #menu {
	display: none;
}

#menu {
	width: 4em;
	height: 4em;
	border-radius: 1em;
	background-color: #009100;
}

#menu > div {
	width: 75%;
	height: 12.5%;
	margin: 7.5% 0;
	border-radius: 1em;
	background-color: #FFF;
	transition: all 400ms ease;
}

#menu-checkbox:checked ~ #menu > div:nth-child(1) {
	transform: translateY(1.1em) rotate(45deg);
}

#menu-checkbox:checked ~ #menu > div:nth-child(2) {
	opacity: 0;
}

#menu-checkbox:checked ~ #menu > div:nth-child(3) {
	transform: translateY(-1.1em) rotate(-45deg);
}

#menu-links {
	padding: 1em;
	height: 100%;
	overflow: hidden;
	position: fixed;
	left: -24em;
	top: 0;
	justify-content: flex-start;
	background-color: #FFF;
	transition: left 400ms ease;
	z-index: 1;
}

#menu-links > .logo {
	margin: 0 0 1em 0;
}

#side-bar {
	padding: 1em 2em;
	float: left;
	min-width: max-content;
}

#root {
	width: 100%;
}

#foot {
	width: 100%;
}

#foot > span {
	margin: .125em 0;
}

#foot > div > a {
	padding: .5em;
	border-radius: 1em;
}

#foot > div > a:hover {
	background-color: #000;
}

#foot > div > a > svg {
	width: 3em;
	height: 3em;
}

#foot > div > a:hover > svg {
	fill: #FFF;
}

@media (max-width: 960px) {
	#nav-bar {
		flex-direction: column;
	}

	#nav-bar > .logo {
		margin: 0 0 1em 0;
	}
}

@media (max-width: 660px) {
	#menu {
		display: inline-flex;
	}

	#nav-bar-links, #side-bar {
		display: none;
	}

	#nav-bar {
		padding: 1em;
		flex-direction: row;
	}

	#nav-bar > .logo {
		margin: 0;
	}
	
	#menu-checkbox:checked ~ #menu {
		position: fixed;
		right: 1em;
	}
	
	#menu-checkbox:checked ~ #menu-links {
		overflow-y: auto;
		left: 0;
	}
}

@media (max-width: 460px) {
	html {
		font-size: 3vw;
	}
}
