/********************* 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: #FF9E8D;
	--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: 120%;
}

header h1 {
	font-size: 80px;
	font-family: 'Lobster', sans-serif;
}

header, #indexHeader {
	position: relative;
	height: 160px;
	background-image: linear-gradient(var(--P_Teal) , var(--P_Seafoam));
}

header .container {
	margin-top: -60px;
}

#indexHeader::after {
	position: absolute;
	content: '';
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	z-index: -2;
	background-color: var(--P_Seafoam);
	transform-origin: top left;
	transform: skewY(2deg);
}

nav {
	height: 60px;
	position: relative;
	border-top: 6px solid #B4AB8C;
	background-color: var(--S_White);
}

nav ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

nav li {
	font-size: 1.5rem;
	padding: 5px 1.5em;
	list-style-type: none;
}

header * {
	color: var(--S_White);
	text-align: center;
}

footer {
	padding-bottom: 1.5em;
	background-image: url("../images/footerbg.png");
	background-color: #B4AB8C;
}


footer .grid {
	grid-gap: .5em;
}

/*******
footer .container .card:nth-child(2) {
	margin: 0 1em;
}
*******/

a {
	color: var(--S_Purple);
	text-decoration: none;
}

nav a {
	color: var(--P_Dk_Gold);
	font-weight: bold;
}

nav ul a:hover {
	border-bottom: 6px solid var(--P_Lt_Gold);
}

#menuIcon {
	display: none;
	position: absolute;
	top: 5px; right: 10px;
	z-index: 7;
	width: 40px;
	height: 40px;
	background: url('../images/nav.png') center;
}

#menuIcon:hover {
	border-radius: 4px 4px 0 0;
}

#intro {
	display: flex;
	padding: 65px 0 30px;
}

#logo {
	background: url('../images/KK_sm.png') no-repeat center;
	width: 94px;
	height: 40px;
}

h2 {
	color: var(--S_Purple);
}

.container {
	max-width: 1200px;
	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;
}

.spacer {
	position: relative;
	background-color: var(--S_White);
	height: 160px;
}

.spacer::after {
	position: absolute;
	top: 0; left: 0;
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--P_Teal);
	transform-origin: top left;
	transform: skewY(2deg);
}

.content {
	position: relative;
	padding: 5px;
	background-color: var(--S_White);
}

.content h2 {
	background-color: #B4AB8C;
}

.content a {
	color: var(--S_Green);
}

.warning {
	padding-top: 1em;
	color: #FF0000;
	font-family: Courier, Courier New;
}

.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%;
}

.footlinks {
	font-size: 80%;
}
/*********************************************************
Form Stuff
*********************************************************/
kbd {
	font-family: 'Oswald', Sans-Serif;
	text-decoration: underline;
}

label {
	font-size: 80%;
}

.contact-form {	
	grid-column: 1 / 3;
}

form .form-control {
	margin: 5px .5em 0 0;
}

form input[type='text'], form input[type='email'] {
	border: 0;
	background-color: var(--S_White);
	border-bottom: 1px solid var(--S_Purple);
	width: 100%;
	padding: 3px;
	font-size: 10px;
}

form input:focus {
	outline: none;
}

.btn {
	background-color: var(--S_Purple);
	border-radius: 5px;
	border: none;
	color: var(--S_White);
	display: inline-block;
	padding: 5px 15px;
	cursor: pointer;
	margin: 1em 0;
}

.btn-2 {
	background-color: var(--S_Purple);
	border-radius: 5px;
	color: var(--S_White);
	display: inline-block;
	padding: 2px;
	margin: 3px;
}

.btn:hover {
	transform: scale(0.97);
}

textarea {
	resize: none;
	width: 100%;
	height: 80px;
}

/*********************************************************
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;
}



/*********************************************************
Animations and Transitions
*********************************************************/
@keyframes slideInFromLeft {
		0% {
			transform: translateX(-100%);
		}
		
		100% {
			transfrom: translateX(0);
		}
}

@keyframes slideInFromRight {
		0% {
			transform: translateX(100%);
		}
		
		100% {
			transfrom: translateX(0);
		}
}

@keyframes slideInFromTop {
		0% {
			transform: translateY(-100%);
		}
		
		100% {
			transfrom: translateX(0);
		}
}

@keyframes slideInFromBottom {
		0% {
			transform: translateY(100%);
		}
		
		100% {
			transfrom: translateX(0);
		}
}

.headerIndex {
	animation: slideInFromTop 1s ease-in;
}

/*********************************************************
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;
	}
	
}
