/* Font Import Statements */
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100&display=swap');



/* Body Layout */
html, body {
	font-family: 'Roboto', sans-serif;
	height: 100%;
	margin: 0px;
}

.body_flex {
	display: flex;
	flex-direction: column;
	height: 100%;
}



/* Header */
header {
	display: flex;
	flex-direction: row;
	align-items: center;
	background-color: lightgray;
	padding: 20px;
	min-height: 75px;
	flex: 0 0 auto;
}

.left-header {
	margin: 10px;
	cursor: pointer;
}

.right-header {
	margin-left: auto;
	flex: 0 1 auto;
}

#logo {
	font-family: 'Russo One', sans-serif;
	color: white;
	font-size: 3rem;
	user-select: none;
}

#motto, .mobile-motto {
	font-family: 'JetBrains Mono', monospace;
	font-weight: bold;
	color: #f7942a;
	font-size: 1.3rem;
	text-transform: uppercase;
	user-select: none;
}

.mobile-motto {display: none;}


/* Navbar Desktop */
.mobile-nav-button {
	display: none;
}

nav {
	background-color: #2a3059;
}

nav a {
	float: left;
	font-size: 1.1rem;
	color: white;
	text-align: center;
	padding: 15px;
	text-decoration: none;
	transition: background-color 0.2s;
}

nav .dropdown {
	float: left;
	overflow: hidden;
}

nav .dropdown .dropdown-button {
	font-size: 1.1rem;
	border: none;
	outline: none;
	color: white;
	padding: 15px;
	background-color: #2a3059;
	margin: 0;
	cursor: pointer;
	transition: background-color 0.2s;
}

nav a:hover, .dropdown:hover .dropdown-button, .dropdown-content a:hover {
	background-color: #f7942a;
}

nav .dropdown .dropdown-content{
	display: none;
	position: absolute;
	background-color: #2a3059;
	min-width: 200px;
	z-index: 1;
}

nav .dropdown .dropdown-content a {
	float: none;
	color: white;
	padding: 15px;
	text-decoration: none;
	display: block;
	text-align: left;
	transition: background-color 0.2s;
}

nav .dropdown:hover .dropdown-content {
	display: block;
}

nav .nav-right {
	float: right;
}

#current-page {
	background-color: #f7942a;
}


/* Footer */
footer {
	flex: 0 0 auto;
	background-color: #f7942a;
	color: white;
	padding: 15px;
	font-weight: bold;
	font-size: 1.1rem;
	border-top: 2px solid black;
}

footer #copyright {
	float: left;
}

footer #site-designer {
	float: right;
}


/* Main Content Area */
main {
	flex: 1 0 auto;
	display: flex;
	flex-direction: row;
}

main .left-sidebar, .right-sidebar {
	box-sizing: border-box;
	background-color: white;
	flex: 0 1 10%;
}

.left-sidebar #left-advert {
	display: block;
	max-width: 100%;
	margin: 20px auto;
}

main .content{
	box-sizing: border-box;
	flex-basis: 80%;
	padding: 30px;
}

main h1 {
	text-align: center;
	font-size: 3rem;
	margin: 0px;
	margin-bottom: 10px;
	border-bottom: 1px solid grey;
}

.site-sections {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 20px;
}

.site-sections .site-section {
	margin: 10px;
	padding: 20px;
	max-width: 300px;
	background-color: #2a3059;
	color: white;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	transition: box-shadow 0.3s ease-out;
}

.site-sections .site-section:hover {
	box-shadow: 0px 0px 15px grey;
}

.site-section .section-logo-fa {
	font-size: 5rem;
}

.site-section .section-header {
	font-size: 2rem;
	font-weight: bold;
	padding-bottom: 10px;
}

.site-section .section-subheader {
	font-size: 1.2rem;
	line-height: 1.4;
}

.site-section .section-link a {
	text-align: center;
	display: block;
	width: 50%;
	margin: 10px auto 0px auto;
	padding: 10px;
	background-color: #f7942a;
	font-size: 1.3rem;
	color: white;
	text-decoration: none;
	border-radius: 7px;
	
}

.site-section .section-link a:hover {
	background-color: #e16f45;
}

.site-section .section-link a.blocked {
	background-color: #e16f45;
	pointer-events: none;
}


/* Thing to tell the browser not to display the mobile navigation on desktop */
.mobile-nav {
	display: none;
}

@media only screen and (max-width: 850px){
	nav {display: none;}
	#motto {display: none;}
	.mobile-motto {display: block;}
	header {display: block;}
	.right-header {display: none;}
	
	.left-header {
		text-align: center;
		margin: auto;
		max-width: 100%;
	}
	
	.mobile-nav-button {
		display: block;
		font-size: 2rem;
		color: white;
	}
	
	footer #copyright {
		float: none;
		text-align: center;
	}
	
	footer #site-designer {
		float: none;
		margin-top: 10px;
		text-align: center;
	}
	
	main .left-sidebar, main .right-sidebar{
		display: none;
	}
	
	main .content {
		flex-basis: 100%;
	}
	
	/* Mobile Nav Stuff */
	
	.mobile-nav {
		display: block;
		height: 0%;
		width: 100%;
		position: fixed;
		z-index: 1;
		left: 0;
		top: 0;
		background-color: black;
		background-color: rgba(0,0,0, 0.9);
		overflow-x: hidden;
		overflow-y: scroll;
		transition: 0.5s;
	}
	
	.mobile-nav .mobile-nav-content {
		position: relative;
		width: 100%;
		text-align: center;
		margin-top: 30px;
	}
	
	.mobile-nav-content a {
		padding: 8px;
		text-decoration: none;
		color: white;
		display: block;
		width: 50%;
		margin: 10px auto;
	}
	
	.mobile-nav-header {
		font-size: 2rem;
		padding: 10px;
	}
	
	.mobile-nav .mobile-nav-close {
		position: absolute;
		top: 20px;
		right: 45px;
		font-size: 3rem;
		color: white;
		z-index: 5;
		padding: 20px;
	}
	
	#current-page-mobile {
		color: #e16f45;
		font-weight: bolder;
	}
	
}

/* Needed so that on smaller screens the close button and the links do not overlap according to W3Schools */
@media only screen and (max-width: 450px) {
	.mobile-nav-content a {font-size: 1rem;}
	
	.mobile-nav .mobile-nav-close {
		font-size: 2rem;
		top: 15px;
		right: 35px;
	}

	#logo img {
		width: 200px;
	}

	#logo {
		text-align: center;;
	}
}