/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* --------------- GLOBAL STYLES --------------- */
/* ----- root variables and font size ----- */
:root{
    --maroon: #8c1d40;
    --gold: #ffc627;
    --green: #78be20;
    --blue: #00a3e0;
    --orange: #ff7f32;

	--transparent-gold: rgba(255, 198, 39, 0.6);

    --error: #cc2f2f;
    --success: #78be20;
    --warning: var(--orange);
    --information: var(--blue);

    --grey: #747474;
    --light-gray: #bfbfbf;
	--med-gray: #484848;
	--dark-gray: #191919;
    --white: #fff;

    --small-shadow: 3px 3px 6px var(--med-gray);
    --spread-shadow: 6px 6px 10px var(--med-gray);
    --filter-shadow: drop-shadow(0 0 0.25rem var(--med-gray));

	--fonts: Arial, sans-serif;
    font-size: 16px;

	box-sizing: border-box;
}

/* ----- skip link styles ----- */
/* from: https://webaim.org/techniques/css/invisiblecontent/ */
#skip{
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
 
#skip:focus{
	display: block;
	position: static;
	width: 100vw;
	height: auto;
	padding: 1rem;
}

/* ----- header styles ----- */
header{
	display: flex;
	flex-direction: column;
}

/* ----- heading styles ----- */
h1, h2, h3{
	font-family: var(--fonts);
	font-weight: 900;
	text-align: center;
	line-height: 1.25;
	background-color: var(--gold);
	width: fit-content;
	padding: 0.25rem 0.75rem;
}

h1{
	font-size: 2rem;
	margin: 1rem auto;
}

h2{
	font-size: 1.75rem;
	margin: 1rem auto;
}

h3{
	font-size: 1.5rem;
	margin: 0.75rem auto;
}

#thesis h2{
	grid-column: 1/-1;
}

#accordion h3{
	width: auto;
}

/* ----- hidden heading styles ----- */
/* from: https://webaim.org/techniques/css/invisiblecontent/ */
.sr-only {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ----- mobile nav styles ----- */
nav{
	align-self: end;
	font-family: var(--fonts);
	margin-top: 1rem;
}

#menuToggle {
	display: block;
	position: relative;
	z-index: 1; 
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#menuToggle a {
	text-decoration: none;
	-webkit-transition: background-color 0.3s ease;
	-o-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
	background-color: var(--white);
	display: block;
	padding: 1.25rem;
	width: fit-content;
	font-weight: bold;
	text-align: center;
	margin: 1rem auto;
	border-radius: 2rem;
}

/* The hamburger button hidden inside an input element */
#menuToggle input {
	display: block;
	width: 3rem;
	height: 3rem;
	position: absolute;
	top: 10px;
	left: -8px;  
	padding: 0;
	cursor: pointer;  
	opacity: 0; /* hide this */
	z-index: 2; /* and place it over the hamburger */  
	-webkit-touch-callout: none;
}

#menuToggle label {
	position: relative;
	display: block;
	width: 3rem;
	height: 3rem;
    margin-right: 2rem;
}

#menuToggle label span {
	display: block;
	width: 3rem;
	height: 3rem;
	position: relative;
	z-index: 1;  
	-webkit-transform-origin: 4px 0px;  
	-ms-transform-origin: 4px 0px;  
	transform-origin: 4px 0px;
	-webkit-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

#menuIcon{
	font-family: "Anicons Regular", sans-serif;
	font-variation-settings: "TIME" 1;
	font-size: 3rem;
	color: var(--dark-green);
	transition: font-variation-settings 0.4s ease;
}

#menuToggle input:checked + label span {
	font-variation-settings: "TIME" 100;
}

/* Use absolute positioning to place the menu off-screen */
 #menu{
	position: absolute;
	width: 100vw;
	height: 100vh;
	margin-top: -6rem;
	padding: 6rem 0 3rem 0;
	background-color: var(--white);
	right: 100vw;
	-webkit-transition: right 0.3s ease;
	-o-transition: right 0.3s ease;
	transition: right 0.3s ease; 
}

/* Slide the menu in from left when the input is checked */
#menuToggle input:checked ~ ul {
	right: 0;
}

/* ----- link styles ----- */
a{
	color: var(--maroon);
	text-decoration: none;
}

#past_projects a{
	display: block;
}

/* ----- main styles ----- */
main{
	
}

/* ----- section styles ----- */
section{
	padding: 1rem;
	max-width: 1200px;
	margin: 0 auto;
}

#overview{
	/* background-color: var(--light-gray); */
}

.span-all{
	grid-column: 1/-1;
}

/* #thesis{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
} */

#thesis section{
	padding: 1rem 0;
}

/* ----- image styles ----- */
img{
    display: block;
    width: 100%;
}

/* ----- text styles ----- */
p, main ul{
	max-width: 75ch;
	margin: 0 auto;
	line-height: 1.5;
	font-family: var(--fonts);
	color: var(--dark-gray);
}

p{
	padding: 1rem 0;
}

header p{
	text-align: center;
	font-size: 1.2rem;
	font-weight: 600;
}

#overview p:last-of-type{
	text-align: center;
}

strong{
	font-weight: 900;
}

#past_projects ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
	max-width: 1200px;
	margin: 2rem auto;
}

#past_projects li{
	display: block;
}

#past_projects a{
	padding: 1rem;
	background-color: var(--maroon);
	border: 1px solid var(--maroon);
	box-shadow: var(--spread-shadow);
	border-radius: 1rem;
	text-decoration: none;
	font-size: 1.1rem;
	text-align: center;
	color: var(--white);
}

#past_projects span{
	display: block;
	text-align: center;
	/* color: var(--dark-gray); */
}

/* ----- accordion styles ----- */
#accordion{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

.ui-accordion .ui-accordion-header{
	padding: 0.75rem;
	margin: 0.25rem 0;
}

.ui-state-default{
	border: 1px solid var(--gold);
	background: var(--gold);
	color: var(--dark-gray);
}

.ui-state-default.ui-state-active{
	border: 1px solid var(--maroon);
	background: var(--maroon);
	color: var(--white);
}

#accordion ul{
	list-style-type: circle;
}

/* ----- footer styles ----- */
footer{
	text-align: center;
	background-color: var(--light-gray);
}

/* --------------- Hover Styles --------------- */
@media (hover: hover){
	#menuToggle a:hover{
		color: var(--white);
		background-color: var(--maroon);
	}

	a:hover{
		text-decoration: underline;
		text-decoration-color: var(--maroon);
	}

	#past_projects a:hover{
		box-shadow: var(--small-shadow);
	}

	.ui-state-default:hover{
		border: 1px solid var(--maroon);
		background: var(--maroon);
		color: var(--white);
	}
}

/* --------------- Medium Screen Styles --------------- */
@media screen and (min-width: 700px){

}

/* --------------- Large Screen Styles --------------- */
@media screen and (min-width: 1000px){
	nav{
		align-self: center;
	}

	#toggle, #menuToggle label, #menuToggle input, #menuIcon{
		display: none;
	}

	#menuToggle{
		position: static;
	}

	#menu{
		position: static;
		display: grid;
		grid-template-columns: 1fr 2fr 2fr 2fr 1.5fr 2fr;
		gap: 1rem;
		width: auto;
		height: auto;
		margin: 1rem auto;
		padding: 0;
	}

	#menuToggle a{
		margin: 0 auto;
	}
}