.row {
	max-width: 100%;
	clear: both;
	padding: 0 1rem;
}

@media only screen and (min-width: 512px) {
	.row {
		max-width: 479px;
	}
}

@media only screen and (min-width: 768px) {
	.row {
		max-width: 735px;
	}
}

@media only screen and (min-width: 1024px) {
	.row {
		max-width: 991px;
	}
}

@media only screen and (min-width: 1200px) {
	.row {
		max-width: 1167px;
	}
}

@media only screen and (min-width: 1220px) {
	.row {
		max-width: 1199px;
	}
}

/****************************************************/
/************* TYPOGRAPHY ***************************/
/****************************************************/

h1 {
	font-size: calc(1.625rem + 2.5vw);
	line-height: 1.18;
}

h2 {
	margin: 2.25rem 0 0.75rem 0;
	color: #00A5DB;
	font-size: calc(1.425rem + 2.1vw);
}

h3 {
	margin: 1.75rem 0 0.75rem 0;
	color: #00A5DB;
	font-weight: 800;
	font-size: calc(1.365rem + 1.38vw);
}

h4 {
	margin: 2.25rem 0 0.5rem 0;
	color: #595959;
	font-weight: 800;
	font-size: calc(1.25rem + 0.95vw);
}

p {
	letter-spacing: 0px;
	line-height: 1.5;
	font-size: calc(1rem + 0.65vw);
}

.blue {
	font-weight: 800;
	color: #0084C9;
}

@media only screen and (min-width: 1200px) {
	h1 {
		font-size: 3.63rem;
	}
	
	h2 {
		font-size: 3rem;
	}
	
	h3 {
		font-size: 2.3rem;
	}
	
	h4 {
		font-size: 1.9rem;
	}
	
	p {
		font-size: 1.45rem;
	}
}



/****************************************************/
/************* PAGE CONTENT *************************/
/****************************************************/

.alt-section {
	padding: 1rem 0;
	margin: 0;
    clear: both;
    overflow: auto;
	background-color: #F8F8F8;
	background-size: cover;
}

.nav-row {
	padding: 1rem 0 1rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#nav-logo {
    width: 50%;
    float: left;
	flex: none;
}

#nav-CTA {
    width: 15%;
	float: left;
	flex: none;
	margin-right: 2.4rem;
}

#nav-CTA-a {
    padding: 0.6rem 1.2rem;
    color: white;
    background-color: #0084C9;
    border-radius: 100px;
}

@media only screen and (min-width: 512px) {
	#nav-logo {
		width: 260px;
	}
	
	.alt-section {
	padding: 4rem 0;
	}
}

@media only screen and (min-width: 1220px) {
	#nav-CTA {
		margin-right: 0;
	}
}

#stampede-welcome {
	margin: 0 auto 2rem auto;
	display: block;
}

@media only screen and (min-width: 768px) {
	#stampede-welcome {
		max-width: 800px;
	}
}

#CEO-headshot {
	margin: 2rem 0 0 0;
}

#CEO-headshot > img {
	max-width: 68.1%;
}

#CEO-headshot > h4, #CEO-headshot > h5  {
	flex: 0 0 100%;
	text-align: center;
}

#CEO-headshot > h4 {
	color: #0084C9;
	margin-top: 2rem;
}

.contact-buttons > .flex-half {
	margin-top: 0;
}

@media only screen and (min-width: 768px) {

	.contact-buttons > .flex-half:nth-child(1) {
		text-align: right;
	}

	.contact-buttons > .flex-half:nth-child(2) {
		text-align: left;
	}
}

.flex-feature,.story-block {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.flex-feature.welcome {
	margin-bottom: 2rem;
}

.flex-feature-copy {
	flex: 0 0 100%;
	order: 2;
	padding-right: 2rem;
}

.flex-feature-copy>h1 {
	margin-top: 1rem;
}

.flex-feature-image {
	flex: 0 0 100%;
	order: 1;
}

#waving-hand {
	max-width: 38.2%;
	display: block;
	margin: 0 2rem;
}

.story-collection {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.story-block {
	padding: 2rem;
	flex: 0 0 100%;
	justify-content: center;
}

.story-block-image {
	flex: 0 1 61.8%;
	margin: 0 auto;
	order: 1;
}

.story-block-copy {
	flex: 0 0 100%;
	order: 2;
	text-align: center;
}

@media only screen and (min-width: 768px) {
	.flex-feature-copy {
		flex: 1 0;
		padding-right: 2rem;
		order: 1;
	}

	.flex-feature-image {
		flex: .618 0;
		order: 2;
	}
	
	.flex-feature-image.waving-hand {
		flex: .382 0;
		display: flex;
		justify-content: flex-end;
		order: 0;
	}
	
	.story-block {
		padding: 3rem;
		flex: 1 1 0;
	}
	
	.story-block-image {
		order: 1;
	}

	.story-block-copy {
		order: 2;
	}
}

.center-image {
	margin: 0 auto;
	display: block;
}


.lead-form-section {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 2rem;
}

.lead-form {
	flex: 0 0 100%;
}

.lead-form-image {
	flex: 0 0 100%;
}

.first-mobile {
	order: 1;
}

.second-mobile {
	order: 2;
}

.align-top {
	align-items: flex-start;
}

.align-center {
	align-items: center;
}

.justify-center {
	justify-content: center;
}

@media only screen and (min-width: 768px) {
	.lead-form {
		flex: 1 1 0;
		padding-right: 4rem;
	}

	.lead-form-image {
		flex: .618 .618 0;
	}
	
	.first-mobile {
		order: 2;
	}

	.second-mobile {
		order: 1;
	}
}

.reg-form {
	width: 100%;
}

.form-flex {
	display: flex;
	flex-wrap: wrap;
}

.form-flexer {
	flex: 0 0 100%;
}

.reorder-for-large-screen {
	order: 2;
}

.form-agreement {
	margin-bottom: 1rem !important;
	font-size: calc(0.6rem + 0.45vw);
}

.form-city {
	flex: 0 0 100%;
}

.form-state {
	flex: 1 1 0;
	margin-right: 1rem;
}

.form-zip {
	flex: 1 1 0;
}

.step-circle {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #aaa;
  border: none;
  border-radius: 50%;
  display: inline-block;
  opacity: 1;
}

/* Mark the active step: */
.step-circle.active {
  background-color: #0084C9;
}

/* Mark the steps that are finished and valid: */
.step-circle.finish {
  background-color: #0095DB;
}

input.invalid {
  background-color: #ffdddd;
}

button {
	color: white;
	width: 45%;
	padding: 1rem;
	margin-top: 1rem;
	background-color: #0084C9;
	border-radius: 100px !important;
}

button:hover {
	background-color: #0095DB;
}

button#nextBtn {
	float: right;
}

button#prevBtn {
	background-color: #aaa;
	float: left;
}

button#prevBtn:hover {
	background-color: #999;
}

#frmSubmit {
	margin: 1.25rem auto 1rem auto;
	background-color: #5dd350;
	width: 80%;
	display: block;
}

#frmSubmit:hover {
	background-color: #50C143;
}

#frmSubmit>i {
	font-size: 1.5rem;
}

@media only screen and (min-width: 768px) {
	.form-flexer {
		flex: 1 1 0;
	}
	
	.form-flexer:first-child {
		margin-right: 1rem;
	}
	
	.reorder-for-large-screen {
		order: 1;
	}
	
	.form-agreement {
		font-size: 1rem;
	}
}

@media only screen and (min-width: 1200px) {
	.form-city {
		flex: 2 2 0;
		margin-right: 1rem;
	}
}

.quote-block {
	padding: 2rem;
}

.quote-name {
	color: #0095DB;
	font-weight: 800;
	font-size: calc(0.85rem + 0.45vw);
	margin-bottom: 0.25rem;
}

.quote-title {
	color: #595959;
	font-size: calc(0.65rem + 0.35vw);
}

@media only screen and (min-width: 768px) {
	.quote-block {
		padding: 2rem 6rem 2rem 6rem;
	}
}


.footer-top {
	clear: both;
}