/********************* Basic Styles *********************/
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald&display=swap');

:root {
	/** Element Colors **/
	--P_Teal: #13697A;
	--P_Seafoam: #47A691;
	--P_Skin: #FFF;
	--P_Dk_Gold: #E9BD33;
	--P_Lt_Gold: #FFD55A;
	
	/** Text Colors **/
	--S_Teal: #104551;
	--S_Skin: #AB4B3E;
	
	/** Icon and Button Colors **/
	--S_Green: #79D959; /* Hover Color: #C9FFA0; */
	--S_Purple: #503B82;
	--S_White: #F2F4F5;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background-color: var(--P_Skin);
	font-family: 'Oswald', Sans-Serif;
	line-height: 1.6;
	font-size: 100%;
}

a {
	color: var(--S_Purple);
	text-decoration: none;
}

h2 {
	color: var(--S_Purple);
}

.container {
	max-width: 1000px;
	margin: 0 auto;
}

.card {
	border-top: 6px solid #B4AB8C;
	box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.8), 0 12px 20px 0 rgba(0, 0, 0, 0.19);
	background-color: var(--S_White);
	border-radius: 0 0 15px 15px;
	padding: 5px;
}

.content {
	position: relative;
	padding: 5px;
	background-color: var(--S_White);
}

.content h2 {
	background-color: #B4AB8C;
}

.content a {
	color: var(--S_Green);
}

.headline {
	font-size: 80%;
	border-bottom: 2px dotted black;
	font-style: italic;
	padding-top: .5em;
	text-align: center;
}

.current {
	background-color: var(--P_Lt_Gold);
}

.cap {
	font: 85% Courier;
	padding: 0 1.25em .5em 0;
}

.sm span {
	text-align: left;
	padding-top: 5px;
	font-size: 80%;
}

.btn-2 {
	background-color: var(--S_Purple);
	border-radius: 5px;
	color: var(--S_White);
	display: inline-block;
	padding: 2px;
	margin: 3px;
}

/*********************************************************
Microformat Styles
*********************************************************/
.vevent .summary, .org {
	display: inline-block;
	padding-top: 10px;
	color: var(--S_Teal);
	font-weight: bold;
}

.top {
	color: var(--S_Purple);
	display: block;
	font-size: 120%;
	font-weight: bold;
}

ol {list-style: none; }

.fab {
	padding: 5px .5em .5em 0;
	color: var(--S_Green);
	transition: transform 0.2s ease-in;
}

.fab:hover {
	transform: translateY(-10px);
}

ul { list-style: none; }

p.objective {
	padding-bottom: 10px;
}

/*********************************************************
Main Flex and Grid
*********************************************************/
.flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start; /* Default */
	height: 100%;
}

#intro .flex {
	justify-content: space-between;
}

.grid {
	display: grid;
}

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.grid-2 img, .grid-3 img {
	padding: 5px;
	width: 100%;
}

#intro .grid-2 {
	grid-template-columns: 30% 70%;
}

.grid-2-footer {
	grid-template-columns: 20% 75%;
}

.gap-sm {
	gap: .5em;
}

/*********************************************************
Media Queries Below
*********************************************************/
@media (max-width: 768px) {
	header h1 {
		font-size: 50px;
	}
	
	#menuIcon {
		padding: 5px 10px 0 0;
		width: 40px;
		height: 40px;
		z-index: 6;
		background-color: var(--S_White);
		display: inline-block;
	}
	
	nav {
		min-height: 40px;
	}
	
	nav ul, nav:active ul {
		display: none;
		position: absolute;
		border: 3px solid var(--P_Dk_Gold);
		border-radius: 12px 0 12px 12px;
		padding: 10px;
		background: var(--S_White);
		z-index: 10;
		right: 10px;
		top: 25px;
		width: 50%;
	}
	
	nav:hover ul {
		display: block;
	}
	
	.grid {
		display: block;
	}
	
	.card {
		display: block;
		border: none;
		border-radius: 15px;
		margin: .5em 5px;
	}
	
	footer .container .card:nth-child(2) {
		margin: .5em 5px;
	}
	
}

@media (max-width: 500px) {
	header h1 {
		font-size: 30px;
	}
	
}
