@charset "UTF-8";
/* CSS Document */

/* General Styles */

html {
	scroll-behavior: smooth;
	font-size: 14px;
}

body {
	margin: 0;
	font-family: quasimoda, sans-serif;
	font-weight: 400;
	font-style: normal;
	max-width: 100%;
	background-color: white;
}

.body {
	width: 90%;
	margin-left: 5%;
	margin-top: 130px;
}

/* Header*/

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: white;
	z-index: 10;
}

.header a {
	padding-left: 1.25rem;
	text-decoration: none;
	font-weight: 300;
}

.title {
	display: flex;
	flex-direction: column;
}

.title h1 {
	font-weight: 700;
	font-style: normal;
	font-size: 2rem;
	margin-top: 10px;
	margin-bottom: 0;
}

.title h2 {
	font-size: 0.9rem;
	font-weight: 300;
	margin-top: 0;
	margin-bottom: 10px;
}

.title:hover {
	color: black;
	opacity: 0.7;
}

.menu {
	display: flex;
	align-content: center;
	align-items: center;
	font-size: 0.8rem;
	padding: 1rem 1rem;
}

#menuButton {
	z-index: 3000;
}

#magnifyingGlass svg {
	height: 20px;
	margin: -4px auto auto;
	color: black;
}

#magnifyingGlass svg, #magnifyingGlass {
	display: block;
}

#magnifyingGlass {
	cursor: pointer;
}

#searchBar {
	display: none;
	margin: auto;
}
	
#magnifyingGlass:hover {
	color: #cc5500;
}

#search {
	border: none;
	height: 16px;
	margin-left: 10px;
	width: 150px;
}

#search:focus, #searchPageBar:focus {
	outline: none;
}

[type="search"]::-webkit-search-cancel-button {
  	-webkit-appearance: none;
  	appearance: none;
}

#close {
	display: none;
}

#menu {
	width: 100vw;
	background-color: white;
	position: absolute;
	right: -180vw;
	top: 0;
	height: 100vh;
	box-shadow: 100px 0px 100px 100px #000;
	line-height: 1.6;
	z-index: 2000;
	transition: 0.4s;
}
	
#menu a {
	margin-left: 30px;
}

#menuB {
	margin-top: -10vh;
	display: flex;
	flex-direction: column;
	font-size: 1.1rem;
	color: black;
}

#login {
	margin-top: 16px;
	color: #8A8A8A;
}

#open {
	cursor: pointer;
}

#close {
	z-index: 4000;
	position: absolute;
	top: 15px;
	right: 20px;
	cursor: pointer;
}

/* Popup */

#popup {
	position: fixed;
	z-index: 3000;
	width: 100vw;
	height: 100vh;
	left: 0;
	top: 0;
	background-color: rgba(0,0,0,0.7);
}
	
#popupInfo {
	width: 90vw;
	height: 30vh;
	background-color: white;
	left: 50%;
	top: 50%;
	border-radius: 2px;
	position: fixed;
	z-index: 3001;
	margin: -17.5vh 0 0 -45vw;
	display: flex;
}

#popupInfo div {
	margin: 0 30px 0;
	display: flex;
	align-items: center;
}

#popupInfo svg {
	position: fixed;
	left: 85vw;
	top: 35vh;
	height: 15px;
}

#popupInfo svg:hover {
	color: #cc5500;
}

/* Home Page */

.heroImage {
	width: 100%;
	height: 50vh !important;
	position: relative;
	left: 0;
	bottom: 0;
	background-size: cover;
}

.heroImage img {
	height: 3.75rem;
	padding-left: 1.5625rem;
	width: auto;
}

.homeBody {
	margin-top: 4.5vh !important;
}

/* Projects */

#sortBar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5vh 0;
	margin: 1vh 0;
	border-top: 1px solid #696969;
	border-bottom: 1px solid #696969;
}

#sortBar button {
	padding: 10px;
	background-color: white;
	border: 1px solid #585858;
	display: flex;
	align-content: center;
	height: 35px;
}

#sortBar svg {
	width: 8px;
	height: 12px;
	margin-left: 8px;
}

#projectsSearch {
	height: 100%;
	margin: 0;
}

#rightSortBar {
	display: flex;
	width: 10vw;
	justify-content: flex-end;
}

#filterOptions {
	min-height: 50px;
	height: auto;
	width: 100%;
	background-color: white;
	justify-content: flex-end;
	display: none;
	flex-wrap: wrap;
	border-bottom: 1px solid black;
	padding-bottom: 1vh;
}

#filterOptions a {
	margin: 5px;
}

#filterOptions a:hover {
	color: #cc5500;
}

.pagination {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	font-size: 30px;
}

.pagination a {
	margin-left: 10px;
}

.next, .prev {
	text-decoration: none;
}

.projects, .results {
	display: grid;
	grid-template-columns: 1fr;
	grid-column-gap: 1rem;
}

.projects a {
	text-decoration: none;
}

/* Search Page */

#searchPageBar {
	border: none;
	border-bottom: 1px solid black;
	height: 4vh;
	font-size: 1.25rem;
}

/* General Styles */

a {
	color: black;
}

a:hover {
	color: #cc5500;
	transition: 0.2s;
}

h2 {
	font-weight: 300;
}

h4 {
	font-size: 1.25rem;
}

blockquote {
	width: 85%;
	padding-left: 0;
	margin-block-start: 40px;
	margin-block-end: 40px;
	margin-inline-start: 7.5%;
	margin-inline-end: 0;
}

figure {
	margin-inline-start: 0;
	margin-inline-end: 0;
}

em {
	font-style: italic;
	font-weight: 300;
}

strong {
	font-weight: 600;
}

img {
	width: 80%;
	margin-left: 10%;
}

iframe {
	width: 100%;
	border: none;
}

form {
	width: 100%;
	display: flex;
}

#gallery {
	width: 100%;
	height: auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.galleryItem {
	width: 100%;
	height: 30vh;
	background-size: cover;
	background-position: center;
}

/* Footer */

.footer {
	width: 100%;
	margin-top: 1rem;
	font-size: .9rem;
	background-color: #2A292B;
	color: white;
}

.footer h4 {
	margin-bottom: -.4375rem;
}

.footer a {
	color: white;
}

.footer a:hover {
	color: #cc5500;
	transition: 0.2s;
}

.footerContent {
	display: flex;
	flex-direction: column;
	width: 90%;
	margin-left: 5%;
}

.footerLogos {
	display: flex;
	width: 100%;
}

.footerLogos img {
	margin-top: 10px;
}

.footerContact {
	font-family: quasimoda, sans-serif;
}

/* Desktop */

@media all and (min-width: 801px) {
	/* General Styles */
	
	html {
		font-size: 16px;
	}
	
	h2 {
		font-weight: 600;
	}
	
	iframe {
		width: 80%;
		margin-left: 10%;
		height: 60vh;
		border: none;
	}
	
	.body {
		width: 70%;
		margin-left: 15%;
		margin-top: 8vh;
	}
	
	/* Header */
	
	.header {
		display: flex;
		height: 8vh;
		align-items: center;
		align-content: center;
		justify-content: space-between;
	}
	
	.title {
		padding-left: 1.875rem;
		flex-direction: row;
		align-content: center;
		padding-left: 1rem;
		align-items: center;
	}
	
	.title h1 {
		font-size: 2rem;
		margin: 0;
	}
	
	.title h2 {
		font-size: 1.5rem;
		padding-left: 1.25rem;
		margin: 0;
	}
	
	.menu {
		font-size: 1rem;
		background-color: white;
		padding: 1rem 0rem;
	}
	
	#menuButton {
		margin-right: 30px;
	}
	
	#searchBar {
		transition: 0.3s;
	}
	
	#close {
		position: static;
	}
	
	#menu {
		width: 21vw;
	}
	
	/* Popup */
	
	#popupInfo {
		width: 30vw;
		height: 20vh;
		margin: -10vh 0 0 -15vw;
	}
	
	#popupInfo svg {
		left: 62.6vw;
		top: 42vh;
	}
	
	/* Home Page */
	
	.heroImage {
		height: 60vh !important;
	}
	
	/* Projects */
	
	#filterOptions a {
		margin: 15px;
	}
	
	.projects, .results {
		grid-template-columns: 1fr 1fr;
	}

	.projects div {
		height: auto;
	}
	
	/* Search Page */
	
	.searchPage a {
		text-decoration: none;
	}
	
	#searchPageBar {
		width: 30vw;
		font-size: 1.5rem;
		height: 5vh;
	}
	
	/* Footer */
	
	.footerContent {
		width: 70%;
		margin-left: 15%;
		align-items: center;
		justify-content: space-between;
		padding: 2rem 0;
		flex-direction: row;
	}
	
	.footerLogos {
		width: 25vw;
	}
	
	.footerLogos img {
		margin: 0 10px;
	}
}

.slick-prev {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	height: 100%;
	width: 50vw;
	font-size: 0;
	border: none;
	background: none;
}

.slick-next {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 50vw;
	z-index: 9;
	font-size: 0;
	border: none;
	background: none;
}