@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

html {
	color: white;
	background-color: #0f0f10;
	font-family: "Nunito", sans-serif;
}

body {
	margin: 0;
}

/************ Header ***********/

header {
	background-color: #47225a;
	border-bottom: 2px solid #7a2ac6;
	position: fixed;
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0px;
	width: 100%;
	min-height: 40px;
	padding: 10px 5%;
}

/************ Buttons ***********/

button {
	color: white;
	background-color: #47225a;
	border: 2px solid #7a2ac6;
	border-radius: 5px;
	font-family: inherit;
	font-size: inherit;
	text-decoration: none;
	font-weight: 700;
	padding: 7px 12px;
}

button:active {
	background-color: #3a1c4a;
}

#menu-btn {
	margin-left: auto;
	margin-right: 10%;
}

.dropdown-btn {
	border: 0;
	padding: 0;
	margin-left: auto;
	margin-right: 10%;
}

/************ Containers and Formatting ***********/

#main-body {
	justify-content: center;
	padding: 70px 10px 10px 10px;
	gap: 0;
}

.body-container {
	background-color: #1f1821;
	border: 2px solid #7a2ac6;
	border-radius: 10px;
	overflow: hidden;
}

#main {
	flex: 0 1 750px;
}

.grid {
	display: grid;
	grid-template-rows: max-content 1fr max-content;
	grid-template-columns: 100%;
	height: 100vh;
}

.container {
	display: flex;
	gap: 10px;
	height: min-content;
}

.col {
	flex-direction: column;
	gap: 0;
}

.padded-width {
	padding: 0 5%;
	margin: 0;
}

#offscreen-menu {
	display: none;
}

#offscreen-menu.show {
	background-color: #00000080;
	display: flex;
	position: fixed;
	width: 100%;
	height: 100vh;
}

.menu-container {
	display: flex;
	width: 75%;
	max-width: 400px;
	height: 100vh;
	margin-left: auto;
	padding-top: 60px;
	background-color: #1f1821;
	border: 2px solid #7a2ac6;
}

.menu-item {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 15px 20px;
	border-bottom: 2px solid #47225a;
	font-size: 18px;
}

.menu-item p {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

.dropdown-content .menu-item {
	background-color: #0f0f10;
}

.dropdown-content {
	display: none;
}

.dropdown-content.show {
	display: flex;
	flex-direction: column;
}

.thumbnail-container {
	display: flex;
	gap: 5px;
}

/************ Headings ***********/

h1 {
	text-align: center;
	margin: 30px;
}

h2 {
	background-color: #47225a;
	padding: 20px;
	margin: 0;
	text-align: center;
}

h3 {
	font-size: 1.5rem;
	margin-top: 30px;
	text-align: center;
}

/************ Links ***********/

a {
	color: white;
	text-decoration: none;
	font-weight: 700;
}

#main a {
	background-color: #7a2ac6;
	border-radius: 10px;
	padding: 5px;
	line-height: 40px;
}

hr {
	border-color: #7a2ac6;
	margin: 0;
}

/************ Body Text Attributes ***********/

.center {
	text-align: center;
}

.bold {
	font-weight: 800;
}

/************ Images / SVG's / Iframe ***********/

img {
	min-width: 0;
	border: 2px solid #7a2ac6;
	border-radius: 10px;
	margin-bottom: 15px;
}

iframe {
	 width: 80vw; 
	 border: 2px solid #7a2ac6;
	 border-radius: 5px;
}

.dropdown-btn svg {
	color: #a654f3;
	display: block;
}

/************ Footer ***********/

footer {
	background-color: #47225a;
	border-top: 2px solid #7a2ac6;
	padding: 10px 5%;
}

@media (max-width:992px) {
	#sidebar * {
		display: none;
	}

}

@media (min-width: 768px) {
	h1 {
		font-size: 3rem;
	}
}

@media (min-width: 992px) {

	.menu-btn {
		display: none;
	}

	#sidebar {
		margin-left: 10px;
		flex: 0 1 250px;
		gap: 10px;
	}

	#sidebar a {
		background-color: #1f1821;
		border-top: 2px solid #7a2ac6;
		border-radius: 0;
		padding: 10px;
	}

	#sidebar p {
		border-top: 2px solid #7a2ac6;
		padding: 10px;
		margin: 0;
	}

	.sidebar-content {
		display: none;
	}

	h1 {
		font-size: 3rem;
	}
}
