*, *::before, *::after {
	box-sizing: border-box;
	font-size: 1.5dvw;
	margin: 0;
	padding: 0;
	font-weight: 350;
}

body {
    /* background-image: url('../assets/images/background/c-bgw.jpg'); */
	background-image: linear-gradient(180deg, #fff, #eee);
	background-size: 80%;
	background-attachment: fixed;
	font-family: 'Source Sans', sans-serif;
	opacity: 0;
	animation: fadeIn 1s forwards;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

figure img {
	max-width: 100%;
	flex-shrink: 0;
}

h1 {
	font-family: Magneto;
	font-size: 2rem;
	line-height: 2rem;
}

h2 {
	font-family: Magneto;
	font-size: 1.25rem;
}

h3 {
	font-weight: 400;
	text-align: center;
	font-size: 1.5rem;
	padding-bottom: 1%;
}

h4 {
	font-weight: 400;
	text-align: left;
	font-size: 1.25rem;
	padding-bottom: 1%;
}

a {
	color: #f92;
	width: 100%;
	display: flex-inline;
	justify-content: center;
	align-items: center;
}

a:hover {
	text-decoration: none;
}

em {
	display: block;
	text-align: center;
	font-weight: 100;
}

strong {
	font-weight: 500;
	font-style: italic;
}

ul {
	padding-inline-start: 1.5em;
}

i {
	transition: all 0.15s;
}

i:hover {
	color: #f92;
}

@font-face {
	font-family: 'Source Sans';
	src: url('../assets/fonts/sourcesans3.ttf');
}

/*--------------- divs ---------------*/

figure {
	width: 70%;
	height: 25dvw;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

header {
	width: 70%;
	height: 8dvw;
	background-color: #222;
	color: #fff;
	margin-top: 5%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

nav {
	width: 72%;
	height: 4dvw;
	position: sticky;
	top: 0;
	z-index: 9999;
}

nav ul {
	width: 100%;
	height: 100%;
	background-color: #f92;
	display: flex;
	align-items: stretch;
	flex-wrap: no-wrap;
	padding-inline-start: 0em;
}

nav ol {
	width: 16.66%;
	background-color: #f92;
	border-radius: 0 0 0.5rem 0;
	position: absolute;
	top: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-wrap: no-wrap;
	overflow: hidden;
}

main {
	background-color: #fff;
	width: 70%;
	padding: 1.5% 4%;
}

article {
	width: 70%;
	border: 5px dashed black;
	padding: 2%;
	margin: 2.5% auto;
	text-align: center;
}


section {
	width: 50%;
	float: left;
	text-align: center;
	padding: 1%;
}

table {
	width: 75%;
	margin: 2.5% auto;
	color: white;
	background-color: #222;
	text-align: center;
	border-collapse: collapse;
	border: 5px solid #f92;
}

footer {
	width: 70%;
	height: 19dvw;
	background-color: #222;
	text-align: center;
	color: white;
	margin-bottom: 5%;
}

button {
	padding: 1%;
	font-family: 'Source Sans';
	font-weight: 500;
	background-color: #f92;
	border: 2px solid #000;
	border-radius: 0.2em;
	transition: all 0.25s;
	text-decoration: underline;
}

button:hover {
	font-size: 1.1em;
	color: #f92;
	background-color: #fff;
	border: 2px solid #f92;
}

button:active {
	color: #fff;
	font-size: 0.9em;
}

/*--------------- Content ---------------*/

#navbtn {
	width: 12dvw;
	aspect-ratio: 1;
	background-image: url('../assets/images/c-hamburger.png');
	background-size: 100%;
	background-color: transparent;
	border: none;
	position: fixed;
	z-index: 999;
	top: 2.5%;
	right: 6%;
	display: none;
	mix-blend-mode: difference;
}

a.btn {
	display: flex;
	margin: 2% auto;
}

body > figure img {
	min-width: 100%;
}

/* Header */

header figure, footer figure {
	width: 10%;
	height: auto;
	aspect-ratio: 1 / 1;
}

header div {
	width: 87%;
}

nav a, footer a {
	text-decoration: none;	
}

nav li {
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	transition: all 0.3s, border 0.1s, color 0.1s;
}

nav li:hover {
	font-size: 1.1rem;
}

nav ol li {
	height: 0em;
	font-size: 0rem;
}

nav ol a:last-child li {
	border-radius: 0 0 0.5rem 0;
}

nav li:hover li {
	height: 2rem;
	font-size: 1rem;
}

nav a > li:hover {
	background-color: #fff;
	color: #f92;
	font-size: 1.1rem;
}

nav a > li:active {
	border: 5px solid #f92;
	font-size: 0.9rem;
	color: white;
}

nav ul > a:last-child {
	display: none;
	padding-top: 5%;
	color: white;
	text-align: right;
}

figcaption {
	width: 30%;
	height: 10%;
	color: #fff;
	background-color: #000b;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* About */

hr {
	margin: 5% 0% 1%;
}

.missionimg {
	display: block;
	margin: 3% 3% 0% 0%;
	float: left;
	width: 22%;
}

.squareimg {
	width: 400px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0 auto 2.5%;
	max-width: 100%;
}

.contact tr:nth-child(even) {
	border-bottom: 2px solid #f92;
}

.mobile {
	display: none;
}

.mobile tr {
	border-bottom: 2px solid #f92;
}

.mobile td {
	display: block;
	padding: 0.5%;
}

/* Footer */

footer figure {
	margin: 4% auto 0%;
}

footer table {
	width: 50%;
	height: 60%;
	background-color: transparent;
	table-layout: fixed;
	border-collapse: collapse;
	float: right;
	margin: 2%;
	border: none;
}

footer th {
	padding: 1% 0%;
	font-size: 0.8rem;
	font-weight: 500;
	text-align: left;
	border-bottom: 1px solid white;
}

footer td a {
	color: white;
	font-size: 0.7rem;
	text-align: left;
	display: block;
}

footer td a:hover {
	text-decoration: underline;
}

footer em {
	font-size: 0.8em;
	margin: 1% 0% 0%;
}

footer tr:last-child td:last-child a {
	text-align: right;
	padding: 0% 10% 0%;
}


/*--------------- animations ---------------*/

@keyframes fadeIn {
	to {
		opacity: 1;
	}
}

/*--------------- media queries ---------------*/

/*
@media (prefers-color-scheme: dark) {
	body {
		background-image: url('../assets/images/background/c-bgb.jpg'); 
	}
}
*/

/* mobile viewport */
@media only screen and (max-width: 1024px) {
	*, *::before, *::after {
		font-size: 5dvw;
	}
	
	h3, h4 {
		padding-bottom: 5%;
	}
	
	header, nav, main, footer, figure {
		width: 100%;
		margin: 0 0 0 0;
	}
	
	figure {
		height: 75dvw;
	}
	
	main {
		padding: 7.5%;
		min-height: 30dvh;
	}
	
	article {
		width: 95%;
		border: 3px dashed black;
		margin: 7.5% auto;
		padding: 5%;
	}
	
	table {
		width: 100%;
		margin: 7.5% auto;
	}

	footer {
		height: 35dvw;
	}
	
	nav {
		width: 0%;
		height: 100dvh;
		position: fixed;
		right: 0;
		transition: all 0.25s;
		z-index: 99;
		background-color: #000a;
		overflow: scroll;
	}
	
	figcaption {
		width: 80%;
	}
	
	hr {
		margin: 10% 0% 2%;
	}
	
	#navbtn {
		display: block;
	}
	
	.navopen {
		width: 100%;
	}
	
	a.btn {
		margin: 5% auto;
	}
	
	nav li, nav ol li, nav li:hover li {
		height: 22%;
		padding: 2%;
		justify-content: flex-start;
		font-size: 1rem;
	}
	
	nav ol a:last-child li {
		border-radius: 0;
	}
	
	nav li:hover, nav a > li:hover {
		font-size: 1rem;
	}
	
	nav a li {
		border-bottom: 1px solid white;
	}
	
	nav ul {
		flex-wrap: wrap;
		align-content: center;
		margin: 0 0 0 auto;
		width: 90%;
		padding: 7.5%;
	}
	
	nav ol {
		width: 100%;
		position: static;
		padding-inline-start: 10%;
	}
	
	nav ol li, nav ul > a > li {
		width: 100%;
		height: auto;
	}
	
	nav a li:active {
		border: none;
	}
	
	nav ul > a:last-child {
		display: block;
	}
	
	section {
		width: 80%;
		margin: auto;
		float: none;
	}

	.squareimg {
		margin-bottom: 6%;
	}
	
	.contact {
		display: none;
	}
	
	.mobile {
		display: table;
	}
	
	footer figure {
		width: 20%;
	}
	
	footer table, footer h1, footer h2 {
		display: none;
	}
}

/* phone viewport */
@media only screen and (max-width: 768px) {
	header {
		height: 50dvw;
		padding: 2.5%;
		flex-direction: column;
	}
	
	header div {
		width: 100%;
		text-align: center;
	}
		
	header figure {
		width: 25%;
	}
	
	nav ul {
		min-height: 190dvw;
	}
	
	body > figure img {
		max-width: none;
		height: 100%;
	}
	
	.missionimg {
		width: 50%;
	}
}

/* tablet viewport */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	*, *::before, *::after {
		font-size: 3.5dvw;
	}
	
	header {
		height: 20dvw;
		padding: 2.5%;
	}
	
	footer {
		height: 25dvw;
	}
	
	header figure {
		width: 18%;
	}
	
	footer figure {
		width: 15%;
	}
	
	#navbtn {
		width: 7dvw;
		right: 4%;
	}
	
	figure {
		height: 50dvw;
	}
	
	figcaption {
		width: 70%;
	}
	
	.missionimg {
		width: 40%;
	}
	
	nav ul {
		width: 50%;
		padding: 3%;
		min-height: 100dvw;
	}
	
	nav ul li, nav ul:hover li {
		font-size: 0.8rem;
	}
}
