/* BOX SIZING */

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

/* GENERAL */

img {
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

h1, h2, h3 {
	margin: 0;
}

body {
	background-color: #F5F5F5;
	display: grid;
	grid-template: repeat(6, [row] auto) / repeat(12, [col] 1fr);
	margin-top: 0;
	font-family: acumin-pro, sans-serif;
	color: #4B4B4B;
}

.unlink {
	text-decoration: none;
	color: #4B4B4B;
}

.noscroll {
	overflow: hidden;
}

/* NAV */

nav {
	grid-column: span 12;
	display: flex;
	flex-direction: row;
	align-items: center;
	z-index: 2;
}

.homelink {
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 800;
	padding: 20px;
	padding-top: 30px;
	padding-bottom: 0px;
	font-size: 28px;
	color: #4B4B4B;
	text-decoration: none;
	text-align: center;
	flex-grow: 4;

}

.nav-link {
	text-align: center;
	padding: 20px;
	padding-top: 30px;
	padding-bottom: 0px;
	font-size: 16px;
	color: #4B4B4B;
	text-decoration: none;
	flex-grow: 2;
}


.current::after {
	margin-top: -10px;
	display: block;
  	content: "";
  	height: 10px;
  	background-color: #9BCAF3;
  	width: 50%;
  	margin-left: auto;
  	margin-right: auto;
}

#menu-icon {
	display: none;
	font-size: 5vw;
	margin: 25px;
	margin-bottom: 0px;
	flex-grow: 2;
	align-self: center;
	justify-self: end;
	text-align: right;
}

.menu-icon-close {
	display: none;
	font-size: 6vw;
	margin: 25px;
	margin-bottom: 0px;
	flex-grow: 2;
	align-self: center;
	justify-self: end;
	text-align: right;
}

.mobile-menu-overlay {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 0px;
	padding-top: 100px;
	z-index: -1;
	transition: 0.3s;
}

.nav-link-mobile {
	visibility: hidden;
	text-align: center;
	padding-top: 50px;
	padding-bottom: 0px;
	font-size: 20px;
	color: #4B4B4B;
	text-decoration: none;
}

@media (max-width: 425px) {
	#menu-icon.active {
		display: block;
	}

	#close.active {
		display: block;
	}

	.nav-link {
		display: none;
	}

	.homelink {
		font-family: acumin-pro-condensed, sans-serif;
		font-weight: 800;
		padding: 0px;
		padding-left: 10px;
		margin: 25px;
		margin-bottom: 0px;
		align-self: center;
		text-align: left;
	}

	.mobile-menu-overlay.active {
		display: flex;
		flex-direction: column;
		height: 100vh;
		background-color: #DEEEFF;
	}

	.mobile-menu-overlay.active  .nav-link-mobile {
		visibility: visible;
		position: relative;
	}
}




/* MAIN HEADER */

header {
	grid-column: col 1 / span 12;
	display: grid;
	grid-template: repeat(1, [row] auto) / repeat(12, [col] 1fr);
}

.head-text-overlap {
	grid-column: col 1 / span 12;
	grid-row: 7;
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-weight: 800;
	font-size: 27vw;
	line-height: 21vw;
	text-align: center;
  	background: url("../images/courthouse.jpg") center;
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-clip: text;
  	-webkit-background-clip: text;
  	color: transparent;
}

.head-text-smaller {
	font-size: 24vw;
}

.head-text-overlap-tablet {
	display: none;
	grid-column: col 1 / span 12;
	grid-row: 7;
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-weight: 800;
	font-size: 36vw;
	line-height: 31vw;
	text-align: center;
  	background: url("../images/courthouse.jpg") center;
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-clip: text;
  	-webkit-background-clip: text;
  	color: transparent;
}

.spaced {
	letter-spacing: 0.09em;
	width: inherit;
	display: block;
	text-align: center;
}

@media (max-width: 956px) {
	.head-text-overlap {
		display: none;
	}

	.head-text-overlap-tablet {
		display: block;
	}
}

.head-text-overlap-mobile {
	display: none;
	grid-column: col 1 / span 12;
	grid-row: 7;
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-weight: 800;
	font-size: 43vw;
	line-height: 41vw;
	text-align: center;
  	background: url("../images/courthouse.jpg") center;
  	background-repeat: no-repeat;
  	background-size: cover;
  	background-clip: text;
  	-webkit-background-clip: text;
  	color: transparent;
}

.head-text-overlap-mobile .bigger {
	font-size: 58vw;
	margin-right: -50px;
}

@media (max-width: 425px) {
	.head-text-overlap {
		display: none;
	}

	.head-text-overlap-mobile {
		display: block;
	}

	.head-text-overlap-tablet {
		display: none;
	}
}



/* MAIN GRID */

.spacer {
	height: 120px;
	grid-column: col 1 / span 12;
}

.spacer-tall {
	height: 200px;
	grid-column: col 1 / span 12;
}

.column-spacer {
	grid-column: span 1;
	grid-row: span 5;
}

.row4 {
	grid-row: 4;
}

.row5 {
	grid-row: 5;
}

.row6 {
	grid-row: 6;
}

.row7 {
	grid-row: 7;
}

.row8 {
	grid-row: 8;
}

.row9 {
	grid-row: 9;
}

.row10 {
	grid-row: 10;
}

/* HOME PAGE INFO BOXES */

.box-behind {
	background-color: #DEEEFF;
	height: 120%;
	width: 100%;
	align-self: center;
}

.overlap-subhead {
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-size: 5vw;
	align-self: end;
	z-index: 2;
}

.overlap-subhead.inside {
	text-align: right;
	color: white;
}



/* LEFT-ALIGNED VARIANT */

.left-pic {
	grid-column: col 2 / span 5;
}

.right-text {
	grid-column: col 7 / span 5;
	margin: 60px 60px 40px 60px;
	font-size: 1.3em;
	letter-spacing: 0.03em;
	line-height: 1.8em;
}

.box-behind.right {
	grid-column: col 3 / span 9;
}

.overlap-subhead.left-1 {
	grid-column: col 5 / span 2;
}
.overlap-subhead.left-2 {
	grid-column: col 7 / span 3;
}



/* RIGHT-ALIGNED VARIANT */

.left-text {
	grid-column: col 2 / span 5;
	margin: 60px 60px 40px 60px;
	font-size: 1.3em;
	letter-spacing: 0.03em;
	line-height: 1.8em;
}

.right-pic {
	grid-column: col 7 / span 5;
}

.box-behind.left {
	grid-column: col 2 / span 9;
}

.overlap-subhead.right-1 {
	grid-column: col 4 / span 3;
	text-align: right;
}
.overlap-subhead.right-2 {
	grid-column: col 7 / span 2;
}




/* INDEX MEDIA QUERIES */

@media (max-width: 960px) {
	.left-text {
		margin-top: 20px;
	}
	
	.right-text {
		margin-top: 20px;
	}
}



/* SUBPAGES HEAD */

.subpage-head {
	margin-top: 100px;
}

.subpage-head-img {
	grid-column: col 3 / span 6;
	grid-row: 1;
}

.box-behind-subpage-head {
	grid-column: col 8 / span 3;
	grid-row: 1;
	background-color: #9BCAF3;
	height: 80%;
	width: 100%;
	align-self: center;
}

.subpage-head-title {
	grid-column: col 7 / span 4;
	grid-row: 1;
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 700;
	font-size: 10vw;
	line-height: 11vw;
	color: white;
	text-align: center;
	align-self: center;
	letter-spacing: 0.1em;
}
.subpage-head-title-smaller {
	grid-column: col 7 / span 4;
	grid-row: 1;
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 700;
	font-size: 9vw;
	line-height: 11vw;
	color: white;
	text-align: center;
	align-self: center;
	letter-spacing: 0.1em;
}



/* DOWNTOWN CONTENT */

.main-quote {
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-weight: 400;
	font-size: 1.5vw;
	grid-column: col 4 / span 6;
	grid-row: 4;
}

.quote-box-offset {
	grid-column: col 3 / span 8;
	margin-left: 40px;
	margin-right: 40px;
	grid-row: 4;
	height: 300%;
	background-color: #DEEEFF;
	align-self: center;
	margin-top: 50px;
}

.quote-box-offset-outline {
	grid-column: col 3 / span 8;
	grid-row: 4;
	height: 300%;
	border: 5px solid #4B4B4B;
	align-self: center;
	z-index: 1;
	margin-left: 20px;
	margin-right: 60px;
}



/* JMU CONTENT */

.jmu-head-title {
	grid-column: col 6 / span 4;
	grid-row: 1;
	font-family: acumin-pro-condensed, sans-serif;
	font-weight: 700;
	font-size: 10vw;
	line-height: 11vw;
	color: white;
	text-align: right;
	align-self: center;
	letter-spacing: 0.1em;
}
.jmu-head-title-smaller {
	font-size: 9vw;
}

.photo-card-large {
	display: grid;
	grid-template: repeat(2, [row] auto) / repeat(2, [col] 1fr);
	margin: 40px;
}

.photo-card-large.left {
	grid-column: col 1 / span 5;
}

.photo-card-large.right {
	grid-column: col 8 / span 5;
}

.photo-card-large:hover .photo-cap {
	opacity: 1;
}

.jmu-text-box {
	background-color: #DEEEFF;
	font-family: acumin-pro, sans-serif;
	font-size: 1.2em;
	align-self: center;
	justify-self: center;
}

.jmu-text-box.left {
	grid-column: col 2 / span 6;
	position: relative;
	padding: 60px 80px 80px 60px;
}

.jmu-text-box.right {
	grid-column: col 6 / span 6;
	position: relative;
	padding: 60px 60px 80px 80px;
}

.jmu-text-box.left::after {
	content: "";
	height: 100%;
	width: 100%;
	border: 5px solid #4B4B4B;
	z-index: 1;
	position: absolute;
	top: -20px;
	left: -20px;
}

.jmu-text-box.right::after {
	content: "";
	height: 100%;
	width: 100%;
	border: 5px solid #4B4B4B;
	z-index: 1;
	position: absolute;
	top: -20px;
	left: 20px;
}





/* LINKS CONTENT */

.link-thumbnail {
	grid-column: span 4;
	display: grid;
	grid-template: repeat(2, [row] auto) / repeat(12, [col] 1fr);
	margin-top: 40px;
	margin-bottom: 40px;
}

.thumb-title {
	font-size: 5vw;
	font-family: acumin-pro-semi-condensed, sans-serif;
	font-size: 5vw;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-align: center;
	color: white;
	z-index: 2;
	grid-row: row 2 / span 1;
	align-self: end;
	grid-column: col 2 / span 10;
}

.thumb-title.smaller {
	font-size: 2.3vw;
}

.thumb-title.smallest {
	font-size: 2.1vw;
}

.thumb-img {
	grid-column: col 2 / span 10;
	grid-row: row 1 / span 2;
	align-self: end;
}





/* PHOTOS CONTENT */


.scroll-container {
	grid-column: col 2 / span 10;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap;
	display: grid;
	grid-template: repeat(1, [row] 1fr) / repeat(6, [col] 1fr);
	grid-column-gap: 50px;
}

.photo-card {
	grid-column: span 4;
	display: grid;
	grid-template: repeat(2, [row] auto) / repeat(2, [col] 1fr);
	margin: 40px;
}

.photo-img {
	grid-column: col 1 / span 2;
	grid-row: row 1 / span 2;
	align-self: end;
}

.photo-cap {
	opacity: 0;
	grid-column: col 1 / span 2;
	grid-row: row 1 / span 2;
	align-self: end;
	color: white;
	text-align: center;
	transition: 0.3s;
}

.photo-card:hover .photo-cap {
	opacity: 1;
}

.photo-link {
	opacity: 0;
	grid-column: col 2 / span 1;
	grid-row: row 1 / span 1;
	align-self: start;
	justify-self: end;
	margin: 4px;
	transition: 0.3s;
}

.photo-card:hover .photo-link {
	opacity: 1;
}

.gradient-bg {
	grid-column: col 1 / span 2;
	grid-row: row 1 / span 2;
	background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.6));
	opacity: 0;
	transition: 0.3s;
}

.photo-card:hover .gradient-bg {
	opacity: 1;
}

.fas.fa-external-link-alt {
	color: white;
}


