* , *:before, *:after{
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-ms-box-sizing:border-box;
}

/* TYPOGRAPHY  */

@font-face {
	font-family: 'Varela Round';
	font-style: normal;
	font-weight: 400;
	src: url('webfontkit/varelaround-webfont.eot'); /* IE9 Compat Modes */
	src: local(''),
    	 url('webfontkit/varelaround-webfont.eot?#iefix') format('embedded-opentype'),
         url('webfontkit/varelaround-webfont.woff2') format('woff2'),
		 url('webfontkit/varelaround-webfont.ttf'),
         url('webfontkit/varelaround-webfont.woff') format('woff'),
         url('webfontkit/varelaround-webfont.svg#varela_roundregular') format('svg');
  }

body {
	margin: 0;
	padding: 0 0 0 0;
	color: #000;
	font-size: 10pt;
	font-weight: normal;
	font-family: 'Lucida Sans Unicode', Helvetica, Verdana, Arial, sans-serif;
	letter-spacing:1px;
	overflow-x: hidden;
	background-color: #eeeeee;
}

/* TEXT STYLES */

h1 {
	display: inline-block;
	font-size: 20pt;
	font-weight: bold;
	font-family: 'Lucida Sans Unicode', Helvetica, Verdana, Arial, sans-serif;
	text-align: left;
	color: #000;
	letter-spacing: 2px;
	margin-top: 0;
	margin-bottom: 10px;

	font-weight: bold;
  	text-align: left;
  	font-family: 'Varela Round';
  	font-size: 20pt;
  	line-height: 1em;
}

h2 {
	color: #000;
	font-size: 13pt;
	font-weight: normal;
	font-family: 'Lucida Sans Unicode', Helvetica, Verdana, Arial, sans-serif;
	text-align: left;
	letter-spacing:3px;
	margin-top: 0;
	margin-bottom: 10px;
}

h3 {
	display: block;
	color: #000;
	font-size: 11pt;
	font-weight: normal;
	font-family: 'Lucida Sans Unicode', Helvetica, Verdana, Arial, sans-serif;
	text-align: left;
	letter-spacing:3px;
	margin-top: 0;
	margin-bottom: 10px;
	line-height: 1.4em;
}

p{
	font-size: 10pt;
	font-weight: normal;
	font-family: Helvetica, Arial, sans-serif;
	line-height: 140%;
	text-align: justify;
	margin-block-start: 0%;
	margin-bottom:10px;
}

.textContainer{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 20px;
}

.textCol{
	width: 100%;
	padding:0%;
	line-height: 140%;
	float: left;
	text-align: justify;
}


/* ---- ID STYLES ---- */
#container {
	width: 100vw;
	margin: 0px;
	margin-left: auto;
	margin-right: auto;
	color: black;
}

#header {
	width: 900px;
	float: left;
	overflow: visible;
	background-color: #eeeeee;
}

#content {
	max-width: 1000px;
	padding: 10px 4% 0% 4%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}

#footer {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	padding: 10px 10px;
}

#footer ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	line-height: 240%;
}
/* ----  ---- */

/* ---- LINK STYLES ---- */
a{
	color: #000;
	text-decoration: underline;
	display: inline-block;
}

a:visited {
	color: #000;
	text-decoration: underline;
}

a:hover {
	color: #000;
	text-decoration: none;
}

a:has(img){
	width: 100%;
	object-fit: cover;
}


.titleLink{
	text-decoration: none;
}

/* ----  ---- */


/* ---- ELEMENT STYLES ---- */
section{
	margin-bottom: 20px;
	display: inline-block;
	width:100%;
}

img {
	width: 100%;
	height: auto;
	display: block;
	border-color: #999;
    -moz-border-radius: 9px;
    -webkit-border-radius: 9px;
	border-radius: 9px;
	margin-bottom: 10px;
	overflow: hidden;
}
/* ----  ---- */

/* CONTAINER LAYOUTS */
.projectCard{
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: 20px;
}

.twoCol{
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
}

.thirdLeft{
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: 20px;
}

.thirdRight{
	display: grid;
	grid-template-columns: 1fr 2fr;
	column-gap: 20px;
}

.gridGallery{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 20px;
	row-gap: 20px;
	img {
		margin: 0;
	}
}
/* ---- ---- */

/* IMAGE CLASSES */
.tinySquare{
	width: 90px;
}

.tinySquare.left{
	float: left;
	margin-right: 20px;
}

.tinySquare.right{
	float: right;
	margin-left: 20px;
}
/* ---- ---- */


/* UTILITY CLASSES */
.mobileHide{
	display:block;
}

.desktopHide{
	display:none;
}

.clear {
	clear: both;
}

.bold{
	font-weight: bold;
}

.noJustify{
	text-align: left;
}
/* ---- ---- */

/* PAGE SPECIFIC CLASSES */
.synopsis{
	font-weight: bold;
	line-height: 140%;
	margin: 0px 0px 20px 0px;
	text-align: justify;
}

.recordContainer{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 20px;
}

.recordContainer * a{
	width: 100%;
}

.recordCard{
	width: 100%;
}
/* ---- ---- */


/* FOOTER NAVIGATION */

.navigation {
	/* background-color: #b8b6b4;   Added by MW - Testing */
	font-size: 10pt;
}

.navigation ul {
	margin: 0;
	padding: 7px 0 7px 0;
}

.navigation li {
	display: inline;
	border-right: 0px solid #555555;
	padding: 0 6px 0 6px;
	margin: 0 6px 0 0;
}

.whitenav li {
	display: inline;
	border-right: 0px solid #555555;
	padding: 0 6px 0 6px;
	margin: 0 6px 0 0;
}

.navigation li.last {
	border-right: 0px;
}

.navigation li a {
	text-align: center;
	color: #555555;
	font-weight: normal;
	font-size: 10pt;
	letter-spacing:1px;
	text-decoration: none;
	background-color: inherit;
}

.whitenav li a { /* Added by MW - Testing */
	text-align: center;
	color: #FFFFFF;
	font-weight: normal;
	font-size: 10pt;
	letter-spacing:1px;
	text-decoration: none;
	background-color: inherit;
}

.navigation li a.current {
	font-weight: bold;
	color: black;
}

.whitenav li a.current {
	font-weight: bold;
	/* text-decoration: underline; */
	color: #FFFFFF;
}

.navigation li a:hover, .navigation li.current a:hover {
	background-color: inherit;
	color: #555555;
}

.whitenav li a:hover, .navigation li.current a:hover {
	background-color: inherit;
	color: #555555;
}

.border ul {
	border-bottom: 0px solid #555555;
}

.header{
	width: 100%;
	height: 44px;
	position: fixed;
	top:0;
	left: 0;
	z-index: 3;
	display: flex;
	justify-content: center;
	background-color: #eeeeee;
}

.header .menu {
    clear: none;
    float: right;
    max-height: none;
	padding-left: 0;
	max-width: 900px;
	display: flex;
	justify-content: space-around;
}

.header li {
    float: left;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header li a {
    padding: 15px 15px;
	text-decoration: none;
	font: normal 10pt "Helvetica", Helvetica, Arial, sans-serif;
}

.header .menu-icon {
    display: none;
}

.menu-btn{
	display: none;
}



/* ----- MOBILE SIZE STARTS HERE -----*/
@media screen and (max-width: 768px) {

	#content{
		margin-top: 40px;
	}

	/* TYPOGRAPHY MOBILE */

	h1{
		margin-top: 0;
		font-weight: normal;
		font-size: 21pt;
		letter-spacing: 3px;
		line-height: 100%;
		white-space:normal
	}

	h2{
		margin-top: 0;
		font-weight: normal;
		font-size: 15pt;
		letter-spacing: 3px;
		line-height: 100%;
	}

	h3{
		margin-top: 0;
		font-weight: normal;
		font-size: 12pt;
		letter-spacing: 3px;
		line-height: 1.2em;
	}

	p{
		font-size: 12pt;
	}

	.textContainer{
		display: grid;
		grid-template-columns: 1fr;
		column-gap: 20px;
	}

	/* CONTAINER LAYOUTS MOBILE*/
	.projectCard{
		grid-template-columns: 1fr;
		column-gap: 0px;
	}

	.twoCol{
		grid-template-columns: 1fr;
		column-gap: 20px;
	}

	.thirdLeft{
		grid-template-columns: 1fr;
		column-gap: 20px;
	}

	.thirdRight{
		grid-template-columns: 1fr;
		column-gap: 20px;
	}

	.gridGallery{
		display: grid;
		grid-template-columns: 1fr;
	}
	/* ---- ---- */

	/* PAGE SPECIFIC CLASSES MOBILE */
		.upcomingDates{
			margin-top: 0px;
			margin-bottom: 20px;
			line-height: 140%;
		}

		.recordContainer{
			grid-template-columns: 1fr;
		}
	/* ---- ---- */

	/* UTILITY CLASSES MOBILE */

	.mobileHide{
		display:none;
	}

	.desktopHide{
		display:unset;
	}

	.eventHide{
		display:none;
	}

	/* --- HEADER MENU --- */
	.logo{
		position: absolute;
		top: 12xx§px;
		display: flex;
		text-decoration: none;
		font-size: 20pt;
		align-items: left;
		padding: 0px 0px 0px 4%;
	}

	.header {
		position: fixed;
		display: block;
		background-color: #eeeeee;
		top:0;
		left:0;
		width: 100%;
		z-index: 3;
		height: 45px;
	}


	.header .menu {
		clear: both;
		display: block;
		max-height: 0;
		transition: max-height .2s ease-out;
		background-color: #eeeeee;
	}


	.header ul {
		margin: 0;
		margin-top: -1px;
		padding: 0;
		list-style: none;
		overflow: hidden;
		background-color: #eeeeee;
		justify-content: left;
	}

	.header li {
		list-style: none;
		display: block;
	}

	.header li a {
		display: block;
		font-size: 20px;
		padding: 10px 15px 10px 4%;
		text-decoration: none;
	}

/* CENTERED MENU TEST */
	.header .menu{
		width: 100%;
		display: flex;
		flex-direction: column;
	}

	.header li {
		display: flex;
	}

	.header li a {
		width: 100%;
		display: inherit;
		justify-content: left;
	}
/* ---- ---- */

	.menu>li{
		width: 100%;
	}

	.header li a:hover,
	.header .menu-btn:hover {
		background-color: #f4f4f4;
	}

	  /* menu icon */
	.header .menu-icon {
		cursor: pointer;
		display: inline-block;
		float: left;
		padding: 22px 4%;
		position: relative;
		user-select: none;
	}

	.header .menu-icon .navicon {
		background: #333;
		display: block;
		height: 2px;
		position: relative;
		transition: background .2s ease-out;
		width: 18px;
	}

	.header .menu-icon .navicon:before,
	.header .menu-icon .navicon:after {
		background: #333;
		content: '';
		display: block;
		height: 100%;
		position: absolute;
		transition: all .2s ease-out;
		width: 100%;
	}

	.header .menu-icon .navicon:before {
		top: 5px;
	}

	.header .menu-icon .navicon:after {
		top: -5px;
	}

	  /* menu btn */
	.header .menu-btn:checked ~ .menu {
		max-height: 100vh;
	}

	.header .menu-btn:checked ~ .menu-icon .navicon {
		background: transparent;
	}

	.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
	.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
		top: 0;
	}

	/* ---  --- */
}