/*CSS Reset */
body, header, nav, main, footer, img, h1, ul, section, aside, figure, figcaption, video {
	margin: 0;
	padding: 0;
	border: 0;
}

/* Style rule for images */
img, video {
	max-width: 100%;
	display: block;
}

/* Style rule for video */
video {
	margin: 0 auto 4%;

}

/* Style rule for box sizing applies to all elements*/

* {
	box-sizing: border-box;
}

/* Style rules for mobile viewport */



/* Hide tab-desk class */
#menu-links, .tab-desk-sticky {
	display: none;
	}

#menu-links {
	position: absolute;
	bottom: 100%;
	left: 0%;
	width: 100%;
}

body {
	background-color: #fcfcfc; 

}

/* Style rules for header content */


/* Style rules for navigation area */
nav {
	background-color: #82e093;
}

.nav-container {
	display: flex;
	align-items: center;
	font-family: "Roboto", sans-serif;
}

.nav-container ul {
	flex: 1;
	display: flex;
	justify-content: center;
}

.brand {
	flex: 0 0 auto;
	padding-left: 0.5em;
	font-weight: bold;
	font-size: 1em;
    font-family: 'Press Start 2P', cursive;
}

.brand a:visited, .brand a {
	text-decoration: none;
	color: #fcfcfc;
}

.mobile-nav {
	display:flex;
	justify-content: center;
	align-items: center;
}

.mobile-nav {
	position: sticky;
	bottom: 0;
	left: 100%;
	width: 100%;
}

.mobile-nav a {
	color: #fff;
	text-align: center;
	font-size: 2em;
	text-decoration: none;
	padding: 3%;
	display: block;
	background-color:#82e093;
}

.mobile-nav a.menu-icon {
	display: block;
	position: static;
	justify-content: center;
}

.menu-icon div {
	height: 50px;
	width: 50px;
	background-color: #82e093;
}

/* Style rules for main content */
main {
	padding: 2%;
	background-color: #fcfcfc;
	font-family: "Roboto", sans-serif;
}

main p {
	font-size: 1.25em;
}

main h1 {
	text-align: center;
}


.section-spacing {
		margin: 0 2%;
		padding: 1% 2%;
		background-color: #fcfcfc;
}

.section-spacing p {
	text-align: center;
	justify-content: center;
}

.section-spacing h3, .video h3, caption, aside {
		text-align: center;
		justify-content: center;
		font-weight: bold;
		color: #127C27;
		text-decoration: underline;
		font-size: 1.5em;
		padding: 1%;
		
}

#info {
	clear: left;
	background-color: #fcfcfc;
	padding: 1% 2%;

	margin: 0 2%;
}

#info ul {
	margin-left: 10%
}

.offering-logo {
	border-radius: 5px;
	width: 150px;
	height: auto;
	margin: 1em auto;
	display: block;
}

#contact h2, #contact a {
	text-align: center;
	font-size: 1em;
}

.email-link  {
	color: #82e093;
	text-decoration: none;
	font-weight: bold;
	flex: 0 0 auto;
	padding-left: 0.5em;
	font-weight: bold;
	font-size: 1em;
    font-family: 'Press Start 2P', cursive;
}



a.quoteCheckout {
	text-decoration: none;
	font-size: 1em;
	display: block;
	color: #127C27;
}

/* Style Rules for table */
table {
	border: 1px solid #127C27;
	border-collapse: collapse;
	margin: 0 auto;
	width: 100%;
}


th, td {
	border: 1px solid #127C27;
	padding: .75em 1em;  /*needed to shorten padding to account for date text versus testimonial content length  */
}

th {
	background-color: #127C27;
	color: #fff;
	font-size: 1.15em;
}

td.testiContent {
	font-style: italic;
}


tr:nth-child(odd) {
	background-color: #fcfcfc;
}

/* Style rules for form elements */
fieldset, input {
	margin-bottom: 2%;
}
legend {
	font-weight: bold;
	font-size: 1.25em;
}
label {
	display: block;
	padding-top: 3%;
}


/* style rules for footer content */
.desktop-footer {
	text-align: center;
	font-size: 0.9em;
	clear: left;
	background-color: #fcfcfc;
	display:none;
	border-style: inset hidden hidden hidden; 
	border-color: #82e093;
	border-width: 2px;
}
.mobile-footer {
	text-align: center;
	font-size: 0.9em;
	clear: left;
	background-color: #fcfcfc;
	border-style: inset hidden hidden hidden; 
	border-color: #82e093;
	border-width: 2px;
}

.mobile-footer a {
	text-align:left;
	font-size: 0.9em;
	clear: left;
	}

footer a {
	color: #4645a8;
	text-decoration: none;
}

section:target {
    border: 3px hidden #82e093;
    animation: highlightFade 1.5s ease;
}

@keyframes highlightFade {
    0% {
        background-color: rgba(130, 224, 147, 0.4);
    }
    100% {
        background-color: transparent;
    }
}

figure {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 1% auto;
	border: 8px solid #82e093;
	background-color: #fff;
}

figure img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

figcaption {
	position: relative;
	padding: 0.75em;
	text-align: center;
	font-family: Verdana, Arial, sans-serif;
	font-size: 1.5em;
	font-weight: bold;
	margin-top: auto;
}

	/* Style for Hero */
	.hero {
		height: 200px;
		background-image: url(../images/banner.png);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
/* extra margin and padding for mobile on the rental page */

#quoteFormSection, #quoteResult {
		width: auto;
		margin-top: 0;
		margin-bottom: 2%;
		margin-right: 2%;
		margin-left: 2%;
		padding-bottom: 2%;
		font-size: .85em;
	}

.btn {
	display: inline-block;
	padding: 0.5em 1em;
	background-color: #127C27;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	text-align: center;
	justify-content: center;

}

.btn:hover {
	background-color: #0f5f1f;
}

.btn-container {
	text-align: center;
}

/* Media Query for Tablet Viewport */
@media screen and (min-width: 768px), print{
	/*Tablet Viewport: Show tab-desk class, hide mobile class */
	.tab-desk, .tab-desk-sticky {
		display: block;
	}
	.mobile, .mobile-nav, .mobile-footer {
		display: none;
	}
	
	/*Tablet Viewport: Style rules for nav area */
	nav li {
		border-top: none;
		display: inline-block;
		font-size: 1.5em;
		border-right: 1px solid #e5e9fc;
	}
	
	nav ul {
	list-style-type: none;
	text-align: center;
	}
	
	nav li:last-child {
	border-right: none;
	}
	
	nav li a {
		padding-bottom: 0.25em;
		padding-top: 0.25em;
		padding-left: 0.5em;
		padding-right: 0.5em;
		display: block;
		color: #fff;
		text-align: center;
		text-decoration: none;
		font-size: .85em;
	}

	
	/* Tablet Viewport: Style rule for form element */
	#form {
		width: 60%;
		margin-top: 0;
		margin-bottom: 0;
		margin-left: auto;
		margin-right: auto;
	}
	#form label {
		padding: 0%;
}
	
	/* Tablet Viewport: Style rules for footer area */
	.desktop-footer {
		display:block;
	}
	
	.tab-desk-sticky {
		position: sticky;
		top: 0;
		z-index: 1000;
	}
	/* Tablet Viewport: Style rule for form element */
	.form-grid {
		display: grid;
		grid-template-columns: auto auto;
		grid-gap: 10px;
	}
	
	.form-grid fieldset:last-of-type {
		grid-column: 1 / 3;
	}
	
	.btn {
		grid-column: 1 / 3;
	}
}

/* Media Query for Desktop Viewport */
@media screen and (min-width: 1280px), print {
	

	/* Desktop Viewport: Style rules for nav area */
	nav li a {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
	
	nav li a:hover {
		color: #82e093;
		background-color: #fcfcfc;
		transform: scale(1.3);
	}
	
	.tab-desk-sticky {
		position: sticky;
		top: 0;
		z-index: 1000;
	}
	
	/*Dekstop Viewport: Style rules for main content */
	#info ul{
		margin-left: 5%;
	}
	
	main h3{
		font-size: 1.5em;
	}
	#modded-minecraft-offering, #vanilla-minecraft-offering, #custom-minecraft-offering,  #quoteFormSection, #quoteResult {
		width: 29%;
		float: left;
		margin-top: 0;
		margin-bottom: 2%;
		margin-right: 2%;
		margin-left: 2%;
		padding-bottom: 2%;
	}
	
		/* Style rule for the grid class selector */
	.grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 30px;
		grid-column: 1 / span 2;
	}
	

	aside {
		grid-column: 1 / 3;
	}	
	
	/* Style rules for table */
	table {
		width: 70%;
	}
	
	/* Desktop Viewport: Style rule for form element */
	.form-grid {
		display: grid;
		grid-template-columns: auto auto;
		grid-gap: 20px;
	}
	
	.form-grid fieldset:last-of-type {
		grid-column: 1 / 3;
	}
	
	.btn {
		grid-column: 1 / 3;
	}
	/* Desktop Footer Style Rule */
	.desktop-footer {
		display:block;
	}

	textarea {
		width:100%;
		min-height: 200px;
	}
	
	/* Style for Hero */
	.hero {
		height: 400px;
		background-image: url(../images/banner.png);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
	
	p.tab-desk, a.tab-desk {
	display: none;
	}

}

/* Media Query for Print */
@media print {
	body{
		background-color: #fff;
		color: #000;
	}
	
}