:root {
	--text-default: #000;
	--text-header: 	#FFF;
	--background-default: #1A2B1C;
	--background-wrapper: #FFF;
	--background-header: #153902;
	--background-footer:  #8E8E8E;
}

/* MOBILE FIRST STYLING */

h1, h2, h3, h4, body, blockquote, p, main, section, section, header, footer, img {
	margin: 0;
	padding: 0;
	font: inherit;
}

body {
	font-size: 100%;
	background-color: var(--background-default);
}

div.wrapper {
	width: 95%;
	height: fit-content;
	background: var(--background-wrapper);
	color: var(--text-default);
	margin: 0 auto;
	font-family: 'Gill Sans', 'Gill Sans MT', 'Myriad Pro', 'DejaVu Sans Condensed', Helvetica, Arial, "sans-serif";
	font-size: 1em;
	line-height: 1.25em;
	min-width: 320px;
	max-width: 619px;
}

h1 {
	font-size: 2em;
	line-height: 1em;
	padding: 1em 8px;
}

h2 {
	font-size: 1.625em;
	line-height: 1.15384615em;
	padding: 5px;
}

h3 {
	font-size: 1.375em;
	line-height: 1.13636364em;
	padding: 5px;
}

h4 {
	font-size: 1.125em;
	line-height: 1.11111111em;
	padding: 5px;
}

blockquote {
	font-size: 1.25em;
	font-style: italic;
	font-family: Baskerville, 'Palatino Linotype', Palatino, 'Century Schoolbook L', 'Times New Roman', serif;
	line-height: 1.25em;
	margin: 5px 20px;
}

p {
	font-size: 1em;
	line-height: 1.25em;
	padding: 5px;
}

ul {
	margin-left: .75em;
}

.responsive-nav {
	background-color: var(--background-header);
	text-align: right;
	position: sticky;
	top: 0;
}

.responsive-nav .hamburger {
	font-size: 1.5em;
	color: var(--text-header);
	background-color: transparent;
	cursor: pointer;
	border: none;
	
}

.responsive-nav .nav-items {
	display: none;
	list-style: none;
	padding: 0;
	margin: 0;
}

.responsive-nav li {
	padding: 0.5em;
}

.responsive-nav a {
	text-decoration: none;
	color: var(--text-header);
}

header {
	color: var(--text-header);
	background: url("../images/background-dew-on-grass.jpg") no-repeat;
	background-size: cover;
	background-position: center;
	background-color: var(--background-header);
}

section.gallery {
	text-align: center;
}

div.images {

	display: flex;
	flex-direction: column;

}

section.gallery img {
	width: 88%;
	height: auto;
	margin: 0.5em auto; 
}

section.gallery h2 {
	text-align: left;
	padding-bottom: 0;
}

footer {
	text-align: center;
	font-size: .75em;
	color: var(--background-footer);
}

/* ADD STYLING BELOW FOR MEDIUM & LARGE LAYOUTS */

@media screen and (min-width: 620px) {
	div.wrapper {

		min-width: 620px;
		max-width: 1023px;
		font-size: 1.12em;
		line-height: 1.4em;

	}
	h1 {

		font-size: 2.24em;
		line-height: 1.12em;
		padding: 1.12em 9px;

	}
	
	h2 {
		font-size: 1.82em;
		line-height: 1.29230769em;
		padding: 5.6px;
	}
	
	h3 {
		font-size: 1.54em;
		line-height: 1.27272728em;
		padding: 5.6px;
	}
	
	h4 {
		font-size: 1.26em;
		line-height: 1.24444444em;
		padding: 5.6px;
	}
	
	blockquote {
		font-size: 1.4em;
		font-style: italic;
		font-family: Baskerville, 'Palatino Linotype', Palatino, 'Century Schoolbook L', 'Times New Roman', serif;
		line-height: 1.4em;
		margin: 5.6px 22.4px;
	}
	
	p {
		font-size: 1.12em;
		line-height: 1.4em;
		padding: 5.6px;
	}
	
	div.head-container {

		display: flex;
		flex-direction: column;

	}

	div.head-container header{

		order: 1;

	}

	div.head-container nav{

		order: 2;

	}

	.responsive-nav .hamburger {

		display: none;
		
	}

	.responsive-nav .nav-items {

		display: flex;
		flex-direction: row;
		list-style: none;
		padding: 0;
		margin: 0;

	}

	div.body-container {

		display: flex;
		flex-direction: row;
		margin: 1.25em;
		gap: 1em;

	}

	div.section-container {

		display: flex;
		flex-direction: column;

	}

	section.tours {

		display: flex;
		flex-direction: column;

	}

	div.images {

		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 1fr);
		gap: 2em;

	}

	section.gallery picture source{

		width: 90%;
		max-width: 90%;
		min-width: 50%;
		height: auto;

	}

	section.testimonials {

		margin: 1.25em;

	}

	footer {

		margin: 1.25em;
		text-align: center;
		font-size: .937em;
		color: var(--background-footer);

	}

}

@media screen and (min-width: 1024px) {
	div.wrapper {

		min-width: 1024px;
		max-width: 1920px;
		font-size: 1.25em;
		line-height: 1.562em;

	}
	h1 {
		
		font-size: 2.5em;
		line-height: 1.25em;
		padding: 1.25em 10px;

	}
	
	h2 {

		font-size: 2.031em;
		line-height: 1.441em;
		padding: 6.25px;

	}
	
	h3 {

		font-size: 1.718em;
		line-height: 1.42em;
		padding: 6.25px;

	}
	
	h4 {

		font-size: 1.406em;
		line-height: 1.388em;
		padding: 6.25px;

	}
	
	blockquote {
		
		font-size: 1.562em;
		line-height: 1.562em;
		margin: 6.25px 25px;

	}
	
	p {
		
		font-size: 1.25em;
		line-height: 1.562em;
		padding: 6.25px;

	}

	div.head-container {

		display: flex;
		flex-direction: column;

	}

	div.head-container header{

		order: 1;

	}

	div.head-container nav{

		order: 2;

	}

	.responsive-nav .hamburger {

		display: none;
		
	}

	.responsive-nav .nav-items {

		display: flex;
		flex-direction: row;
		list-style: none;
		padding: 0;
		margin: 0;

	}

	div.body-container {

		display: flex;
		flex-direction: row;
		margin: 1.25em;
		gap: 1em;

	}

	div.section-container {

		display: flex;
		flex-direction: row;

	}

	section.tours {

		display: flex;
		flex-direction: column;

	}

	div.images {

		display: flex;
		flex-direction: row;
		gap: 2em;

	}

	section.gallery picture source{

		width: 90%;
		max-width: 90%;
		min-width: 50%;
		height: auto;

	}

	section.testimonials {

		margin: 1.25em;

	}

	div.quotes {

		display: flex;
		flex-direction: row;
	}

	footer {

		margin: 1.25em;
		text-align: center;
		font-size: .937em;
		color: var(--background-footer);

	}

}