/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/* 
########     ###    ########  ##    ## 
##     ##   ## ##   ##     ## ###   ## 
##     ##  ##   ##  ##     ## ####  ## 
########  ##     ## ########  ## ## ## 
##     ## ######### ##   ##   ##  #### 
##     ## ##     ## ##    ##  ##   ### 
########  ##     ## ##     ## ##    ##  
*/
@import url('https://fonts.googleapis.com/css2?family=Julius+Sans+One&display=swap');

header{
	width: 100%;
	padding: 20px 0;
}

body {
	font-size: 15px;
	font-family: "Julius Sans One", sans-serif;
	font-weight: 400;
	font-style: normal;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: bold;
	color: black;
  }

.content-wrap{
	width: 100vw;
	/* padding: 0 4rem 4rem; */
  }
  
h1{
	text-align: center;
	font-family: "Julius Sans One";
	font-size: 3.5em;
	padding: 40px;
	font-weight: bold;
}

header a{
	text-decoration: none;
	color: #000;
}

.topnav {
	overflow: hidden;
	display: flex;
	justify-content: center;
}


.topnav a {
	float: left;
	color: black;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 17px;	
}

.topnav a:hover {
color: rgb(218, 23, 218);
}

.topnav a.active{
	color: rgb(218, 23, 218);
}

main{
	/* padding: 20px; */
	width: 100vw
}

main a{
	text-decoration: none;
	color: black;
	text-align: center;
	font-size: 2em;
}

.homepage-top{
	background-image: url("barns_images/10.png");
	height: 575px;
	background-position-y: center;
	object-fit: cover;
	width: 100vw;
}

.homepage-top h1{
	color: white;
	max-width: 500px;
	justify-content: center;
	margin-top: 150px;
	margin-left: 100px;
}

.homepage-top p{
	color: white;
	max-width: 500px;
	justify-content: center;
	margin: 25px;
	margin-top: 5px;
	margin-left: 150px;
	line-height: 1.8;
}

#main-image{
	width: 100%;
	height: 500px;
	justify-content: center;
	text-align: center;
	padding: 20px;

}

#main-image img{
	max-width: 100%;
}

#barn-images{
	margin: 25px;
	/* width: 100%; */
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

#barn-images li{
	flex: 0 0 30%;
	margin: 1rem;
	transition: 0.5s;
	cursor: pointer;
	display: flex;
	justify-content: center;
}

#barn-images img:hover{
	opacity: 0.5;
	transition: 0.3s;
}

#barn-images img{
	max-width: 100%;
}

#barn-images h3{
	font-size: 1.25em;
}

.image-group li{
	transition: 0.3s
}

#homepage-images{
	margin: 25px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#homepage-images li{
	flex: 0 0 30%;
	margin: 1rem;
}
#homepage-images img{
	max-width: 100%;
}

footer {
	/* width: 100%; */
	align-items: center;
	justify-content: center;
	display: flex;
	flex-direction: column;
	background-color: #f7f7f7;
	padding: 5rem;
}

.all{
	display: flex;
}

.about {
	flex: 0 0 25%;
	text-align: center;
}

.about h1{
	font-size: 1.5em;
}

.projects{
	flex: 0 0 25%;
	text-align: center;
	list-style: none;
}

.projects h1{
	font-size: 1.5em;
}

.projects a{
	color: black;
}

.projects a:hover{
	padding-left: 8px;
}

.contact {
	flex: 0 0 25%;
	text-align: center;
}

.contact a{
	color: black;
}

.contact h1{
	font-size: 1.5em;
}

.social-media{
	flex: 0 0 25%;
	text-align: center
}

.social-media h1{
	font-size: 1.5em;
}

.social-media a{
	text-decoration: none;
	margin: 15px;
}

footer a{
	text-decoration: none;
}

footer a:hover{
	color: rgb(218, 23, 218);
}

ion-icon{
	color: black;
	transition: color 0.2s;
	text-decoration: none;	
	width: 30px !important;
	height: 30px !important;
	justify-content: center;
}

ion-icon:hover{
	color: rgb(218, 23, 218);
}

.full-img{
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0. 9);
	position: fixed;
	top: 0;
	left: 0;
}

/* The Modal (background) */
body.modal-active .modal {
	display: flex;
}

.modal {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.75); /* Black w/ opacity */
	transition: 0.5s;
	align-items: center;
	justify-content: center;
}

/* Modal Content/Box */
.modal-content {
	background-color: #fefefe;
	margin: 15% auto; /* 15% from the top and centered */
	padding: 20px;
	border: 1px solid #888;
}

.modal-content img {
	max-width: 70vw;
	max-height: 70vh;
}

/* The Close Button */
.close {
	color: #fff;
	position: absolute;
	top: 2rem;
	right: 2rem;
	font-size: 5rem;
	font-weight: bold;
}

.close:hover,
.close:focus {
	color: black;
	text-decoration: none;
	cursor: pointer;
}

@media (max-width: 1200px) {
	.homepage-top{
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.homepage-top h1{
		margin: 0;
	}
	.homepage-top p{
		margin: 0;
	}

	.all {
		flex-wrap: wrap
	}

	.all > div {
		flex: 1 1 50%;
	}
}

@media (max-width: 800px) {

	h1{
		font-size: 2em;
	}
	.homepage-top h1{
		padding: 40px 10px;
	}
	.homepage-top p{
		padding: 10px;
	}

	#barn-images li {
		flex: 0 0 100%
	}
	.all{
		flex-direction: column;
	}
	footer{
		padding: 10px;
	}
}