.contain-to-grid .top-bar {
	max-width: 75rem;
	width: 100%;
}

/* Logo */

.naviconlogo {
	float: left;
	margin: 18px 50px 0 0;
}

.naviconlogo #logoicon {
	width: 30px;
	vertical-align: text-bottom;
}

.naviconlogo h1 {
	font-size: 1.7em;
	font-weight: 800;
	text-transform: uppercase;
	display: inline;
}

/* Nav */

.primary-nav {
	box-shadow: none;
}

.primary-nav .main-nav.top-bar ul li:not(.has-form) a:not(.button) {
	font-size: 1.125rem;
	font-weight: 500;
	font-family: lato,helvetica,candara,sans-serif;
	color: #000;
}

.primary-nav .main-nav.top-bar ul.loginreg {
	margin-top: 20px;
}

.primary-nav .main-nav.top-bar ul.loginreg li:not(.has-form) a:not(.button) {
	font-size: 0.8rem;
	text-transform: uppercase;
	font-weight: 700;
}

.primary-nav .main-nav.top-bar ul.loginreg li {
	line-height: 2.3em;
}

.primary-nav .main-nav.top-bar ul.loginreg li:not(.has-form) a:not(.button).greenlink {
	background-color: #59a75e;
	color: #fff;
	border-radius: 5px;
}

/* Rows and Cols */

.row {
	/*max-width: 75rem;*/
	width: 100%;
}
.full-width.header-feature h1 {
	max-width: 75rem;
}

.row.small-width {
	max-width: 50rem;
	width: 100%;
}

#moreinfo {
	margin-top: 40px;
}

#mission {
	margin-bottom: 30px;
}

#programs img {
	width: 100%;
	max-width: 225px;
	margin: 0 auto 30px auto;
	display: block;
}

#programs .columns {
	position: relative;
	min-height: 370px;
}

.whitebgcol {
	background-color: #fff;
	padding: 30px 30px 40px 30px;
	box-shadow: 2px 8px 24px rgba(0,0,0,.1);
	width: 49%;
	margin-right: 1%;
}

.whitebgcol:last-child {
	margin-right: 0;
}

/* Header */

#homeheader {
	margin: 90px auto;
	padding: 0 30px;
	max-width: 75rem;
	width: 100%;
	background-image: url("../images/homegraphic.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right;
	min-height: 475px;
}

#logoicon {
	display: inline-block;
	vertical-align: bottom;
	margin-right: 15px;
}

/* Type */

.homepage h1 {
	padding: 0;
	text-shadow: none;
	text-transform: uppercase;
	font-weight: 800;
	line-height: 1em;
}

.homepage .inner-body a {
	color: #5a8fdc;
}

.homepage .inner-body.home p {
	color: #777;
	font-size: 1.15rem;
	font-weight: 300;
	line-height: 1.3em;
}

#homeheader p {
	font-size: 1.5rem;
	line-height: 1.3;
	margin-bottom: 0;
	color: #777;
}

#howwhy h2, #mission h2, #prefooter h2, h2#modalTitle {
	font-size: 23px;
	font-weight: 800;
	margin: 40px 0 20px 0;
}

#prefooter h2, h2#modalTitle {
	color: #fff;
	margin: 0 0 15px 0;
}

#howwhy p {
	color: #777;
	font-size: 1.15rem;
	font-weight: 300;
	line-height: 1.6em;
}

#howwhy p:last-child {
	margin-bottom: 0;
}

#mission p {
	font-size: 1.55rem;
}

#prefooter p, #modalsignregform p {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 300;
	line-height: 1.3em;
}

#prefooter p.prefootertext {
	font-size: 1.3rem;
	font-weight: 300;
	line-height: 1.3;
	margin-bottom: 0;
}

/* Form */

input {
	border-radius: 2px !important;
}

.homepage-form {
	margin-top: 65px;
}

#homeheader .homepage-form p.st_label {
	font-size: 1rem;
	font-weight: 300;
	font-style: italic;
	margin-bottom: 15px;
	color: #818181;
}

.homepage-form form {
	position: relative;
}

.homepage-form input[type="text"],
.homepage-form input[type="tel"],
.homepage-form input[type="email"],
.homepage-form input[type="password"] {
	box-shadow: 2px 8px 24px rgba(0,0,0,.1);
	border: none;
	padding: 1.25rem .5rem;
}

input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder {
	font-size: 18px;
	font-weight: 300;
	color: #818181;
	text-overflow:ellipsis;
}

/* Sign up form */

#prefooter form {
	margin-top: 40px;
}

input.small-field {
	width: 48%;
	margin-right: 4%;
	float: left;
	padding: 0.65rem .5rem;
	border: none;
}

input.small-field.last {
	margin-right: 0;
}

/* Buttons */

#actionbuttons {
	margin-top: 100px;
}

button {
	border: 1px solid #59a75e;
	background-color: #fff;
	color: #59a75e;
	border-radius: 2px;
	padding: .65rem 3.75rem !important;
	font-size: .8125rem;
	font-weight: 700;
	box-shadow: 2px 8px 14px rgba(0, 0, 0, 0.05);
}
.ms-options-wrap button {
	padding: 5px 20px 5px 5px !important;
}

button.st-searchbutton {
	padding: 0 !important;
	min-width: 0;
	background-color: transparent;
	border-radius: 0;
	border: none;
	position: absolute;
	right: 15px;
	top: 15px;
	margin-bottom: 0;
	text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.75);
	box-shadow: none;
}

.button.green, button.green, input[type="submit"].green, input[type="reset"].green {
	background-color: #59a75e;
	color: #fff;
}

#actionbuttons button {
	margin-right: 20px;
}

#programs button {
	margin: 0 auto;
	display: block;
}

#prefooter button {
	width: 48%;
	margin-right: 0;
}

/* Sections */

#howwhy {
	background-image: url("../images/banner.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	padding: 200px 0 0 0;
}

#howwhy img {
	margin-top: -60px;
}
.homepage #prefooter {
	margin-top: 90px;
}
.no-margin-footer #prefooter {
	margin-top: 0;
}

#prefooter {
	margin-top: 20px;
	background-color: #302d33;
	padding: 80px 30px;
}

#prefooter img {
	margin-bottom: 50px;
}

/* Footer */

.site-footer {
	background-color: #302d33;
	padding-bottom: 10px;
}

.site-footer ul li {
	font-size: 0.75rem;
	font-weight: 300;
}

/* Modals */

.reveal-modal {
	padding: 0;
	background-color: #302d33;
}

#modalsignreg {
	background-image: url("../images/popupimage.png");
	background-position: center center;
	background-size: cover;
}

#modalsignregform {
	padding: 50px 80px 20px 30px;
}

.reveal-modal .close-reveal-modal {
	font-weight: 300;
}

.tabs.tabs-custom li {
	width: 25%;
	text-align: center;
}
.tabs li a:focus {
	outline: none;
}

.cover-fit {
	object-fit: cover;
	width: 200px;
	height: 200px;
}

/* Mobile */

@media screen and (min-width: 1200px) {

	.homepage h1 {
		font-size: 3.75rem;
	}
}

@media (min-width: 1000px) and (max-width: 1200px) {
	.primary-nav .main-nav.top-bar ul li:not(.has-form) a:not(.button) {
		font-size: 1em;
	}
}

@media screen and (min-width: 1024px) {
	#modalsignreg, #modalsignregform {
		min-height: 525px;
	}
	#programs button {
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media screen and (max-width: 1024px) {
	.naviconlogo {
		margin: 33px 0 0 0;
	}
	.primary-nav .main-nav.top-bar ul {
		display: none;
	}
	.main-nav.top-bar .mobile-menu.menu-active ul {
		display: inline-block;
		width: 100%;
		text-align: center;
		padding-top: 0;
		margin: 0;
		margin-top: 100px;
	}
	.main-nav.top-bar .mobile-menu.menu-active ul li a {
		font-size: 1.35rem !important;
		color: #fff !important;
	}
	.primary-nav .main-nav.top-bar ul.loginreg {
		margin-top: 0;
	}
	#howwhy {
		padding: 100px 0 0 0;
		background-size: cover;
	}
	#programs .columns {
		min-height: 0;
	}
	.signup {
		margin-top: 30px;
	}
}

@media screen and (max-width: 980px) {
	section {
		padding-left: 30px;
		padding-right: 30px;
	}
	.whitebgcol {
		width: 100%;
		margin-right: 0;
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 640px) {
	.naviconlogo {
		margin: 0;
	}
	.top-bar-section {
		padding-right: 0;
		padding-left: 10px;
	}
	.naviconlogo h1 {
		font-size: 1em;
	}
	.naviconlogo #logoicon {
		width: 20px;
		margin-right: 5px;
	}
	#homeheader {
		background-image: none;
		min-height: 0;
		margin: 30px 0 50px auto;
	}
	.homepage-form {
		margin-top: 30px;
	}
	#actionbuttons {
		margin-top: 50px;
	}
	#actionbuttons button {
		width: 100%;
	}
	#logoicon {
		width: 25px;
	}
	#prefooter {
		margin-top: 50px;
		padding: 50px 30px 10px 30px;
	}
	input.small-field, #prefooter button {
		width: 100%;
		margin-right: 0;
	}
}

@media screen and (max-width: 420px) {
	.naviconlogo {
		margin: 0;
	}
	.top-bar-section {
		padding-right: 0;
		padding-left: 10px;
	}
	.naviconlogo h1 {
		font-size: 1em;
	}
	.naviconlogo #logoicon {
		width: 20px;
		margin-right: 5px;
	}
}