html, body {
	max-width: 100%;
	width: 100%;
	background-color: transparent !important;
	font-family: var(--font-family-avenir-regular) !important;
	color: var(--white) !important;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family-avenir-heavy);
}

a {
	text-decoration: none !important;
}

ul {
	list-style: disc;
}

input[type=text], textarea {
	border-radius: 15px;
	display: inline-block;
	width: 100%;
	padding: 10px;
}

input {
	padding: 10px
}

/* Navbar */
nav, .navbar-light, .nav-link, .navbar-brand {
	background-color: var(--midnight-blue);
	color: var(--white) !important;
}

/* Buttons */
.btn-large {
	background: linear-gradient(#0DCCD7, #0CC784); 
	color: var(--midnight-blue) !important;
	border-radius: 50px !important;
	height: 55px !important;
	font-family: var(--font-family-avenir-heavy) !important;
	letter-spacing: .5px !important;
}

.btn-round {
	border-radius: 50% !important;
	background-color: var(--bright-blue-tint-2) !important;
	height: 38px;
	width: 38px;
}

/* Typography Classes */
.text-outline-only {
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: var(--bright-blue-tint-2);
	color: transparent;
}

.text-outline-light-blue {
	-webkit-text-stroke-color: var(--bright-blue-tint-2);
}

.text-outline-medium-blue {
	-webkit-text-stroke-color: var(--medium-blue);
}

.text-midnight-blue {
	color: var(--midnight-blue);
}

.text-medium-blue {
	color: var(--medium-blue);
}

.text-bright-blue-tint2 {
	color: var(--bright-blue-tint-2);
}

.text-grey-tint2 {
	color: var(--grey-tint-2);
}

.text-heavy {
	font-family: var(--font-family-avenir-heavy);
}

/* Custom larger padding classes */
@media (min-width: 576px) {
	.pt-sm-6 {
		padding-top: 8rem !important;
	}
}

.pt-6 {
	padding-top: 8rem !important;
}

.pt-12 {
	padding-top: 16rem !important;
}

.pb-6 {
	padding-bottom: 8rem !important;
}

/* .img-ar provides util for images with consistent aspect ratio */
.img-ar {
	width: 100% !important;
}

.img-ar > img {
	display: block;
	width: 100%;
	height: auto;
}

/* Carousel Layout */
.carousel-item {
	min-height: 500px;
	max-height: 500px;
}

@media (max-width: 768px) {
	.carousel-item {
		min-height: 800px;
		max-height: 800px;
	}

	.carousel-img > img {
		max-height: 400px;
	}

}

@media (min-width: 768px) {
	.carousel-img > img {
		max-height: 500px;
	}
}


/* Classes for divs with SVG backgrounds. Height must be specified per-class to match the native height of the SVG being used*/ 
.svg-background::before, .svg-background::after {
	content: " ";
	background-repeat: no-repeat;
	width: 100%;
	position: absolute;
	z-index: -2;
	display: block;
}

@media (max-width: 768px) {
	.svg-background::before, .svg-background::after {
		background-size: cover !important;
	}
}

.svg-bg-1::before {
	background-image: url('../img/backgrounds/bg1.svg');
	min-height: 1000px;
	height: 1000px;
	background-size: 100% 1000px;
}

.svg-bg-1 + * > .container {
	padding-top: 120px !important;
}

.svg-bg-2::before {
	background-image: url('../img/backgrounds/bg2.svg');
	min-height: 1907px;
	height: 1907px;
	background-size: 100% 1907px;
}

.svg-bg-2 + * > .container {
	padding-top: 160px !important;
}

.svg-bg-3::before {
	background-image: url('../img/backgrounds/bg3.svg');
	min-height: 1238px;
	height: 1238px;
	background-size: 100% 1238px;
}

.svg-bg-3 + * > .container {
	padding-top: 120px !important;
}

.svg-bg-4::before {
	background-image: url('../img/backgrounds/bg4.svg');
	min-height: 792px;
	height: 792px;
	background-size: 100% 792px;
}

.svg-bg-4::after {
	background-image: url('../img/backgrounds/bg4b.svg');
	z-index: 1;
	min-height: 258px;
	height: 258px;
	background-size: 100% 258px;
}

.svg-bg-4 + div {
	padding-top: 258px;
}

.bg-midnight-blue {
	background-color: var(--midnight-blue);
	/* z-index: -1; */
}

/* Background decoration */
.section {
	position: relative;
}

.swirl {
	position: absolute;
	z-index: -1;
	overflow: hidden;
}

#swirl1 {
	right: 0;
	top: 0;
	width: 50%;
}

#swirl2 {
	left: 50px;
	top: 100px;
	width: 60%;
	opacity: 25%;
}

#swirl3 {
	left: 0;
	bottom: -200px;
	width: 25%;
}

#swirl4 {
	right: 0;
	top: 400px;
	width: 30%;
}

#swirl5 {
	left: 0;
	bottom: -800px;
	z-index: 2;
	width: 30%;
}

#swirl6 {
	right: 0;
	top: -200px;
	z-index: 2;
	width: 35%;
}

#swirl7 {
	left: 100px;
	bottom: 0;
	width: 25%;
	z-index: 0;
}

/* Misc */
.explainerList > li {
	padding-bottom: 0.5rem;
}

#manyfishImg {
	position: absolute;
	z-index: 12;
}

#turtleImg {
	position: absolute;
	z-index: 12;
	top: -8rem;  
}

@media (max-width: 992px) {
	#manyfishImg {
		top: 0;	
	}

	#turtleImg {
		left: 2rem;
	}
}

@media (min-width: 992px) {
	#turtleImg {
		left: 2rem;
		min-width: 120%;
	}

	#manyfishImg {
		min-width: 120%;
		top: 2rem; 
		right: 3rem;
	}
}

#footerRow {
	position: relative;
	z-index: 20 !important;
}

#whatIsEcopiaHeading {
	float: left;
}

#titleSubheading {
	font-size: 1.25rem;
}
