@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;1,100;1,300;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

/* ~~~~~~~~~~ Default ~~~~~~~~~~ */

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	width: 100%;
}

body {
	color: rgba(0,0,0,0.95);
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	height: 100%;
	width: 100%;
}

a {
	color: #8CC63F;
	text-decoration: none;
}

a:hover {
	color: #333132;
}

a.nav-link {
	color: #FFFFFF;
}

a.nav-link:hover {
	color: #8CC63F;
}

button {
	background: 0;
	border: 0;
	margin: 0;
	padding: 0;
}

button {
	background-color: #8CC63F;
	border: 4px solid #FFFFFF;
	border-radius: 0.5em;
	box-shadow: 0 8px 6px -6px rgba(0,0,0,0.5);
	color: #FFFFFF;
	cursor: pointer;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	margin-top: 1.25em;
	padding: 0.5em;
	text-transform: uppercase;
	width: 100%;
}

button.fund {
	background-color: #00B1B0;
}

h1 {
	margin: 0;
	padding: 0;
}

h1 {
	font-size: 1.5em;
	line-height: 0.9em;
	text-transform: uppercase;
}

ul {
	margin: 0;
	padding: 0;
}

/* ~~~~~~~~~~ Layout ~~~~~~~~~~ */

#background {
	background-image: url(/assets/images/groTheFroBackground.jpg);
	background-position: right top;
	background-size: cover;
	height: 100%;
	position: relative;
	width: 100%;
}

#background-content {
	bottom: 0;
	padding: 2em;
	position: absolute;
}

#background-logo {
	width: 100%;
}

#background-logo img {
	width: 225px;
}

.background-hr {
	background-color: #8CC63F;
	height: 4px;
	margin: 1em 0;
	width: 78px;
}

#background-text {
	color: #FFFFFF;
	font-size: 1.75em;
	font-weight: 700;
	line-height: 0.9em;
	text-transform: uppercase;
}

.fro {
	margin: 0 auto;
	width: 150px;
}

.fro img {
	background-color: #FFFFFF;
    border: 1px solid rgba(0,0,0,0.25);    
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    margin-bottom: 1em;
	width: 100%;
}

.fro-tagline {
	font-size: 2em;
	font-weight: 300;
	line-height: 1.1em;
	margin: 0 auto 0.5em auto;
	max-width: 500px;
}

/* ~~~~~~~~~~ Sections ~~~~~~~~~~ */

.section:nth-child(1) {
	background-color: #8CC63F;
	color: #FFFFFF;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 0.9em;
	font-weight: 700;		
	text-transform: uppercase;
}

.section:nth-child(2) {
	background-color: #FFFFFF;
}

.section:nth-child(3) {
	background-color: #F1F2F2;
}

.section:nth-child(4) {
	background-color: #FFFFFF;
}

.section:nth-child(5) {
	background-color: rgba(0,0,0,0.95);
	color: #FFFFFF;
}

.section-inside {
	padding: 4em 2em;
	text-align: center;
}

.section-inside.proceeds {
	padding: 1em;
}

.section-inside i {
	font-size: 3em;
	padding-bottom: 0.25em;
}

.section-table {
	display: table;
	width: 100%;
}

.section-cell {
	display: block;
	vertical-align: middle;
}

.section-cell {
	width: 100%;
}

.section-hr {
	background-color: #8CC63F;
	display: inline-block;
	height: 4px;
	margin: 1.25em 0 1.5em 0;
	width: 78px;
}

.section-circle {
	background-color: #FFFFFF;
    border: 4px solid rgba(0,0,0,0.95);    
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    height: 54px;
    margin: 0 auto 1em auto;	
    width: 54px;
}

.section-circle-table {
	display: table;
	height: 100%;
	width: 100%;	
}

.section-circle-cell {
	display: table-cell;
	vertical-align: middle;
}

.section-circle-cell i {
	font-size: 2em;
	position: relative;
	top: 0.1em;
}

.or {
	background: url(/assets/images/groTheFroStarburst.png);
	background-size: cover;
	border-radius: 35px;
	color: #FFFFFF;
	display: table;
	font-size: 2em;
	font-weight: 700;
	height: 84px;
	margin: 2em auto;
	text-transform: uppercase;
	width: 84px;
}

.or span {
	display: table-cell;
	vertical-align: middle;
}

/* ~~~~~~~~~~ Sponsor Logos ~~~~~~~~~~ */

.brands {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.brands__item {
	display: block;
	flex: 0 0 50%;
	height: 150px;
	max-width: 100%;
	width: 100px;
}

.brands__item a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
}

.brands__item img {
	display: block;
	height: 100px;
	max-width: 100%;
	object-fit: contain;
	width: 125px;
}

.brands__item img[src$=".jpg"],
.brands__item img[src$=".png"] {
	mix-blend-mode: multiply;
}

@media (min-width: 700px) {
	
	.brands__item {
		flex: 0 0 35%;
		height: 200px;
	}
	
	.brands__item img {
		height: 150px;
		width: 200px;
	}
	
}

@media (min-width: 1100px) {
	.brands__item {
		flex: 0 0 25%;
	}
}

/* ~~~~~~~~~~ Navigation ~~~~~~~~~~ */

#nav-menu-icon {
	cursor: pointer;
	width: 24px;
	height: 18px;
	left: 1em;
	position: fixed;
	top: 1em;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	z-index: 200;
}

#nav-menu-icon span {
	background: #FFFFFF;
	display: block;
	height: 4px;
	left: 0;
	opacity: 1;
	position: absolute;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
	width: 100%;
}

#nav-menu-icon span:nth-child(1) {
	top: 0px;
}

#nav-menu-icon span:nth-child(2),#nav-menu-icon span:nth-child(3) {
	top: 8px;
}

#nav-menu-icon span:nth-child(4) {
	top: 16px;
}

#nav-menu-icon.open span:nth-child(1) {
	left: 50%;
	top: 12px;
	width: 0%;
}

#nav-menu-icon.open span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

#nav-menu-icon.open span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#nav-menu-icon.open span:nth-child(4) {
	left: 50%;
	top: 12px;
	width: 0%;
}

#nav-menu {
	background-color: rgba(0,0,0,0.95);
	color: #FFFFFF;
	height: 100%;
	left: -300px;
	position: fixed;
	width: 300px;
	z-index: 100;
}

#div-menu-inside {
	padding: 1em;
}

#nav-menu-links {
	font-size: 1.5em;
	font-weight: 700;
	position: relative;
	top: 1.5em;
}

#nav-menu-links div {
	padding: 0.5em 0;
	text-transform: uppercase;
}

#nav-menu-links div + div {
	border-top: 1px solid rgba(255,255,255,0.1);
}

#nav {
	color: #FFFFFF;
	height: 50px;
	position: fixed;
	z-index: 50;
	width: 100%;
}

.nav-bg {
	background-color: rgba(0,0,0,0.95);
}

#nav-inside {
	padding: 1em 2em;
}

#nav-links {
	display: inline-block;
	float: right;
	font-weight: 700;
	text-transform: uppercase;
}

#nav-links span {
	padding-left: 1.5em;
}

/* ~~~~~~~~~~ Footer ~~~~~~~~~~ */

#footer-logo {
	margin: 0 auto;
	padding: 2em 0;
	width: 200px;
}

#footer-logo img {
	width: 100%;
}

#footer-copyright {
	color: rgba(255,255,255,0.5);
	font-size: 0.75em;
}

/* ~~~~~~~~~~ Media Queries - Tablet ~~~~~~~~~~ */

@media only screen and (min-width: 414px) {
	
	/* ~~~~~~~~~~ Default ~~~~~~~~~~ */
	
	button {
		width: 300px;
	}
	
	/* ~~~~~~~~~~ Navigation ~~~~~~~~~~ */
	
	#nav-menu {
		width: 300px;
	}
	
	#nav-menu-links {
		font-size: 1em;
		top: 1.5em;
	}
	
	#nav {
		height: 75px;
	}
	
}

/* ~~~~~~~~~~ Media Queries - Tablet Portrait ~~~~~~~~~~ */

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {
	  
	/* ~~~~~~~~~~ Default ~~~~~~~~~~ */
	
	body {
		font-size: 20px;
	}

}

/* ~~~~~~~~~~ Media Queries - Desktop ~~~~~~~~~~ */

@media only screen and (min-width: 1024px) {
	
	/* ~~~~~~~~~~ Default ~~~~~~~~~~ */
	
	body {
		font-size: 24px;
	}
	
	button {
		font-size: 1em;
		padding: 0.5em;
	}
	
	/* ~~~~~~~~~~ Layout ~~~~~~~~~~ */
	
	#background {
		background-attachment: fixed;
	}
	
	#background-logo img {
		width: 350px;
	}
	
	.background-hr {
		height: 8px;
		width: 125px;
	}
	
	.fro {
		width: 200px;
	}
	
	/* ~~~~~~~~~~ Sections ~~~~~~~~~~ */
	
	.section-inside {
		padding: 2.75em 2em;
	}
	
	.section-cell {
		display: table-cell;
	}
	
	.section-cell:nth-child(1), .section-cell:nth-child(3) {
		width: 40%;
	}
	
	.section-cell:nth-child(2) {
		width: 20%;
	}
	
	.sponsor-logo {
		width: 150px;
	}
	
	.section-circle {
	    height: 76px;
	    width: 76px;
	}
	
	.or {
		font-size: 1.25em;
	}
	
	.or span {
		top: 0.6em;
	}

}