/* 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: #FAFAFA;
	display: grid;
	grid-template: repeat(6, [row] auto) / repeat(12, [col] 1fr);
	margin-top: 0;
	font-family: 'Nunito Sans', sans-serif;
	font-weight: 300;
	letter-spacing: 0.04em;
	color: #4E6367;
}

.unlink {
	color: #4E6367;
}

.noscroll {
	overflow: hidden;
}


/* NAV */

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

.logo {
	width: 10vw;
}

.homelink {
	font-weight: 600;
	padding: 20px;
	padding-top: 30px;
	padding-bottom: 0px;
	font-size: 28px;
	color: #4E6367;
	text-decoration: none;
	text-align: left;
	flex-grow: 8;

}

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

#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;
	right: 0;
	width: 0vw;
	height: 100vh;
	padding-top: 100px;
	z-index: -1;
	transition: 0.3s;
}

.mobile-menu-underlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 0vw;
	height: 100vh;
	background-color: #4E6367;
	opacity: 0;
	padding-top: 100px;
	z-index: -2;
	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;
}

.current {
	font-weight: 600;
}

.current::before {
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900;
	font-size: 10px;
	content: "\f111";
	padding-right: 8px;
	color: #92DCE4;
}

@media (max-width: 1040px) {
	.logo {
		width: 13vw;
	}
}

@media (max-width: 768px) {
	#menu-icon {
		font-size: 3vw;
	}

	.menu-icon-close {
		font-size: 3vw;
	}

	#menu-icon.active {
		display: block;
	}

	#close.active {
		display: block;
	}

	.nav-link {
		display: none;
	}

	.homelink {
		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;
		width: 70vw;
		background-color: #FFFFFF;
	}

	.mobile-menu-underlay.active {
		display: flex;
		flex-direction: column;
		opacity: 0.1;
		width: 100vw;
	}

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

@media (max-width: 600px) {
	#menu-icon {
		font-size: 3.5vw;
	}

	.menu-icon-close {
		font-size: 3.5vw;
	}
}

@media (max-width: 500px) {
	#menu-icon {
		font-size: 4vw;
	}
	.menu-icon-close {
		font-size: 4vw;
	}
}

@media (max-width: 400px) {
	#menu-icon {
		font-size: 5vw;
	}
	.menu-icon-close {
		font-size: 5vw;
	}
}

@media (max-width: 300px) {
	#menu-icon {
		font-size: 6vw;
	}
	.menu-icon-close {
		font-size: 6vw;
	}
}



/* MAIN HEADER */

header {
	grid-column: col 2 / span 10;
}

.bold {
	font-weight: 600;
}

.large {
	font-size: 1.8vw;
}

.med {
	font-size: 1.5vw;
}

.reg {
	font-size: 1.3vw;
	line-height: 1.8em;
}

.smaller {
	font-size: 1.2vw;
	line-height: 2em;
}

.small {
	font-size: 1vw;
}

.headtext {
	margin: 25px;
	margin-bottom: 45px;
}

.center {
	text-align: center;
}


/* MAIN GRID */

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

.slim-spacer {
	height: 90px;
	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;
}

.full {
	grid-column: col 2 / span 10;
}

.mid {
	grid-column: col 3 / span 8;
}

.slim {
	grid-column: col 4 / span 6;
}



/* Footer */

footer {
	grid-column: col 1 / span 12;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.copyright {
	font-size: 10px;
	margin-top: 15px;
}

.social {
	font-size: 2vw;
	padding: 10px;
}




.text {
	margin: 15px;
}

.project-box {
	grid-column: col 2 / span 10;
	display: grid;
	grid-template: repeat(2, [row] auto) / repeat(6, [col] 1fr);
	background-color: white;
	border-radius: 15px;
	box-shadow: -1px 3px 10px rgba(78, 99, 103, 0.1);
	padding: 45px;
	margin-bottom: 45px;
}

.box-head {
	grid-column: col 1 / span 2;
	margin-left: 25px;
	margin-top: 25px;
}

.box-text {
	grid-column: col 1 / span 3;
	margin-left: 25px;
}

.box-img {
	grid-column: col 5 / span 2;
	grid-row: row 1 / span 2;
}

.bottomspace {
	margin-bottom: 45px;
}

.gallery {
	grid-column: span 4;
}









