/*
 *  CSS for proportional responsiveness
 *
 *  1.) Set html font-size to 1px
 *  2.) Replace all px sizes in stylesheets to rem (relative to html font-size)
 *  3.) Set @media query max-width to [container size] (including padding)
 *  4.) Set responsive html font-size to vw (percentage of browser width): 1px / [container size] * 100%
 *
 */

/*
html {
  font-size: 1px;	 
}
 
@media (max-width: 1175px) {
	
	html {
	  font-size: 0.0851vw;
	}
}
*/

#responsive-menu-container {
	top: 82px !important;
	z-index: 610 !important;
}

html:not(.responsive-menu-open) #responsive-menu-container #responsive-menu-wrapper {
	opacity: 0;
}

button#responsive-menu-button {
	z-index: 700 !important;
}

body #responsive-menu-container #responsive-menu-search-box {
	padding: 0px 18px 15px;
}

body #responsive-menu-container .responsive-menu-search-box {
	border-radius: 30px;
	height: 37px;
	line-height: 37px;
	padding: 0 20px;
	border: none;
}

@media (min-width: 40em) and (max-width: 79.999em) {
	.mobile-only {
		display:none !important;
	}
	
	html, body, p, li {
		font-size: 14px;
	}
	
	h3 {
		font-size: 29px;
	}
	
	h4 {
		font-size: 20px;
	}
	
	p:not(:last-child) {
		margin-bottom: 15px;
	}
	
	.wpb_text_column h2 {
		font-size: 36px;
	}

	.missionBlock p {
		font-size: 16px;
	}
	
	.button {
		font-size: 12px;
		padding: 11px 25px 11px 17px;
	}
	
	.button::after {
		margin-top: -15px;
	}

	.container {
		padding: 0 40px;
	}
	
	.vc_row-has-fill > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner, .vc_col-has-fill > .vc_column-inner {
		padding-top: 34px;
	}
	
	.wpb_content_element, ul.wpb_thumbnails-fluid > li, .wpb_button {
		margin-bottom: 34px;
	}
	
	
	/* Header */
	
	body {
		padding-top: 95px;
	}
	
	header.header {
		height: 95px;
	}
	
	body.scrolled-down header.header {
		height: 75px;
	}
	
	#top-section .top-bar-right {
		right: 20px;
	}
	
	#menu-top-menu > li > a {
		font-size: 13px;
		padding: 10px 15px;
	}
	
	#menu-top-menu > li.tab > a {
		padding-top: 19px;
	}
	
	#header-section {
		/*
		top: 30px;
		position: relative;
		*/
	}
	
	#header-section::after {
		clear: both;
		content: " ";
		display: block;
	}
	
	#header-section .top-bar-left.float-left {
		/*min-width: 100%;*/
	}
	
	h1.site-logo a, div.site-logo a {
		margin: 0px auto;
		height: 60px;
	}
	
	body.scrolled-down h1.site-logo a, body.scrolled-down div.site-logo a {
		height: 50px;
		margin: -10px auto -20px;
	}

	form.search-form.open label {
		opacity: 0;
	}

	#top-section form.search-form.open {
		max-width: 30px;
	}
	
	#header-section .top-bar-right {
		/*
		min-width: 100%;
		*/
	}
	
	#menu-main-menu-1 {
		position: relative;
		top: 35px;
		margin: 0 -15px;
	}
	
	#menu-main-menu-1 > li {
		/*
		display: inline-block;
		*/
	}
	
	#menu-main-menu-1 > li:not(:last-child)::after {
		right: -6px;
	}
	
	#menu-main-menu-1 > li > a {
		font-size: 15px;
		padding: 10px 10px;
	}
	#menu-main-menu-1 ul.submenu {
		top: calc(100% + 1px);
	}
	
	body.scrolled-down #menu-main-menu-1 ul.submenu {
		top: calc(100% + 7px);
	}
	
	
	
	
	.blog .row-hero, body.search .row-hero {
		margin-bottom: 34px;
	}
	
	.blog article, .search-results article {
		margin: 30px 0;
	}
	
	.blog article + article, .search-results article + article {
		padding-top: 30px;
	}
	
	body.scrolled-down #menu-main-menu-1 > li > a {
		font-size: 14px;
		padding: 0px 10px;
	}
	
	.wpb_content_element:not(:last-child) {
		margin-bottom: 18px;
	}
	
	.vc_row.row-intro-header {
		height: 38vw;
		height: 24vw;
	}
	
	.vc_row.row-intro {
		padding: 0 40px;
	}
	
	.vc_row.row-intro > .container {
		margin-top: -40px;
		padding-top: 15px;
	}
	
	#a-life-changing-experience {
		min-height: 416px;
	}
	
	#a-life-changing-experience h1 {
		font-size: 45px;
	}
	
	/* Show Parallax BG Above */
	
	.vc_row.small-show-bg.vc_parallax {
		padding-top: 160px !important;
		padding-bottom: 0 !important;
	}
	
	.vc_row.small-show-bg.vc_parallax > .vc_parallax-inner {
		top: 0 !important;
		height: 240px !important;
	}
	
	.vc_row.small-show-bg.vc_parallax > .vc_column_container {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	/* Map Row */
	
	.row-map {
		height: 451px;
	}
	
	.row-map > .overlay .wpb_content_element {
		padding: 35px 38px 23px;
	}
	
	.ways-to-apply ol li {
		font-size: 22px;
	}
	
	#competitive-benefits {
		padding: 20px 20px !important;
	}
	
	.disclaimer {
		padding: 20px 20px 5px;
	}
	
	.single-post footer.article-footer {
		margin-bottom: 20px;
		margin-top: 40px;
	}
	
	#row-five-star-rated .wpb_text_column {
		padding: 40px !important;		
	}
	
	#row-awards {
		top: -140px;
		margin-bottom: -140px;
		padding-bottom: 30px;
	}
	
	#row-leed .wpfox_custom_container {
		margin-top: -112px;
	}
	
	#row-leed p {
		font-size: 14px;
	}
	
	.has-bgcolor-intro .vc_row.row-intro > .container {
		padding-bottom: 70px;
	}
	
}

@media (min-width: 40em) and (max-width: 54.999em) {
	
	body {
		padding-top: 85px;
	}
	header.header {
		height: 85px;
	}
	body.scrolled-down header.header {
		height: 72px;
	}
	h1.site-logo a, div.site-logo a,
	body.scrolled-down h1.site-logo a, body.scrolled-down div.site-logo a {
		height: 45px;
		width: 100px;
	}
	#menu-top-menu > li > a,
	body.scrolled-down #menu-top-menu > li > a {
		font-size: 11px;
		padding: 10px 10px;
	}
	#menu-top-menu > li.tab > a,
	body.scrolled-down #menu-top-menu > li.tab > a {
		padding-top: 22px;
		font-size: 10px;
	}
	#menu-main-menu-1,
	body.scrolled-down #menu-main-menu-1 {
		top: 30px;
	}
	#menu-main-menu-1 > li > a,
	body.scrolled-down #menu-main-menu-1 > li > a {
		font-size: 11px;
	}
	#menu-main-menu-1 > li:not(:last-child)::after,
	body.scrolled-down #menu-main-menu-1 > li:not(:last-child)::after {
		right: -4px;
		margin-top: -12px;
	}

	/*
	body {
		padding-top: 195px;
	}
	
	header.header {
		height: 195px;
	}
	
	body.scrolled-down header.header {
		height: 135px;
	}
	
	#top-section .top-bar-right {
		right: 20px;
	}
	
	#menu-top-menu > li > a {
		font-size: 13px;
		padding: 10px 15px;
	}
	
	#menu-top-menu > li.tab > a {
		padding-top: 19px;
	}
	
	#header-section {
		top: 30px;
		position: relative;
	}
	
	#header-section::after {
		clear: both;
		content: " ";
		display: block;
	}
	
	#header-section .top-bar-left.float-left {
		min-width: 100%;
	}
	
	h1.site-logo a, div.site-logo a {
		margin: 15px auto;
		height: 69px;
		background-position: center;
	}
	
	body.scrolled-down h1.site-logo a, body.scrolled-down div.site-logo a {
		height: 50px;
		margin: -10px auto -20px;
	}

	form.search-form.open label {
		opacity: 0;
	}

	#top-section form.search-form.open {
		max-width: 30px;
	}
	
	#header-section .top-bar-right {
		min-width: 100%;
	}
	
	#menu-main-menu-1 {
		top: auto;
		width: auto;
		display: block;
		text-align: center;
	}
	
	#menu-main-menu-1 > li {
		display: inline-block;
	}
	
	#menu-main-menu-1 > li:not(:last-child)::after {
		right: -6px;
	}
	
	#menu-main-menu-1 > li > a {
		font-size: 15px;
		padding: 10px 10px;
	}
	*/
}

@media (max-width: 800px) {
	
	.desktop-only {
		display:none !important;
	}
	
	html, body, p, li {
		font-size: 13px;
	}
	
	h3 {
		font-size: 24px;
	}
	
	h4 {
		font-size: 18px;
	}
	
	p:not(:last-child) {
		margin-bottom: 10px;
	}
	
	.wpb_text_column h2 {
		font-size: 26px;
	}

	.missionBlock p {
		font-size: 14px;
	}
	
	.button {
		font-size: 11px;
		padding: 10px 24px 10px 16px;
	}
	
	.button::after {
		margin-top: -15px;
	}
	
	.container {
		padding: 0 20px;
	}
	
	.blog .row-hero, body.search .row-hero {
		margin-bottom: 14px;
	}
	
	.blog article, .search-results article {
		margin: 20px 0;
	}
	
	.blog article + article, .search-results article + article {
		padding-top: 20px;
	}
	
	.blog article .article-footer {
		display: none;
	}
	
	.pagination a, .pagination button {
		background-color: #3e6c89;
		border-radius: 0;
		color: #fff;
	}
	
	/*
	.vc_column_container > .vc_column-inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	*/
	
	.row .columns {
		max-width: 100%;
	}
	
	.vc_row-has-fill > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner, .vc_col-has-fill > .vc_column-inner {
		padding-top: 14px;
	}
	
	.wpb_content_element, ul.wpb_thumbnails-fluid > li, .wpb_button {
		margin-bottom: 14px;
	}
	
	.fox-row > * {
		min-width: 50%;
	}
	
	body {
		padding-top: 82px;
	}
	
	.top-bar {
		padding: 17px 24px;
	}
	
	header.header .container {
		padding: 0;
	}
	
	h1.site-logo, div.site-logo {
		margin: 0;
	}
	
	h1.site-logo a, div.site-logo a {
		height: 48px;
		width: 105px;
		margin: 0;
	}
	
	#responsive-menu-container {
		background: transparent !important;
		transition: transform 1s !important;
	}
	
	#responsive-menu-container #responsive-menu-wrapper {
		padding: 15px 0 0;
	}
	
	#responsive-menu-container li.responsive-menu-item a {
		padding: 0 !important;
		font-family: 'Roboto';
	}
	
	#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow {
		padding: 0 15px;
	}
	
	#responsive-menu-container li.responsive-menu-item a {
		border: none !important;
	}
	
	#responsive-menu-container ul#responsive-menu::after {
		content: " ";
		clear: both;
		display: block;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item {
		padding: 0 20px;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item > a {
		text-transform: uppercase;
		letter-spacing: 0.01em;
		font-size: 18px !important;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item:not(:first-child) > a {
		border-top: 1px solid rgba(255,255,255,.5) !important;
	}
	
	#responsive-menu-container li.responsive-menu-item ul {
		padding: 0px 0px 15px;
	}
	
	#responsive-menu-container li.responsive-menu-item li a {
		color: #fff !important;
		font-weight: 400;
		letter-spacing: 0.01em;
		line-height: 34px !important;
	}
	
	#responsive-menu-container #responsive-menu li.text-white > .responsive-menu-item-link {
		color: #fff !important;
	}
	
	#responsive-menu-container #responsive-menu li.text-red > .responsive-menu-item-link {
		color: #f00 !important;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item.tab {
		width: 50%;
		float: left;
		padding: 0;
		text-align: center;
		margin-top: 15px;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item.tab > a {
		background-color: #3e6c89;
		color: #fff;
		font-size: 15px !important;
		letter-spacing: 0.025em;
		border: none !important;
	}
	
	#responsive-menu-container ul#responsive-menu > li.responsive-menu-item.tab.gold > a {
		background-color: #b99761;
	}
	
	#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a {
		min-height: 0;
		height: auto !important;
		line-height: 1.4 !important;
		padding: 0.5em 0 !important;
	}
	
	.wpb_content_element:not(:last-child) {
		margin-bottom: 8px;
	}
	
	.vc_row.row-intro-header {
		height: 48vw;
		height: 30vw;
	}
	
	.vc_row.row-intro > .container {
		margin-top: -20px;
		padding-top: 5px;
	}
	
	.vc_row.row-intro {
		padding: 0 20px;
	}
	
	#a-life-changing-experience {
		min-height: 316px;
	}
	
	#a-life-changing-experience h1 {
		font-size: 30px;
	}
	
	/* Filled Cols with Image BG */
	
	.filled-cols.filled-cols-image-col-8 {
		
	}
	
	.filled-cols.filled-cols-image-col-8 > .vc_column_container {
		order: 2;
	}
	
	.filled-cols.filled-cols-image-col-8 > .vc_column_container.vc_col-sm-8 {
		order: 1;
		min-height: 200px;
	}
		
	.filled-cols.filled-cols-image-col-8 > .vc_column_container:not(.vc_col-sm-8) {
		margin: -40px 20px 0;
		z-index: 10;
		position: relative;
	}
	
	/* Show Parallax BG Above */
	
	.vc_row.small-show-bg.vc_parallax {
		padding-top: 200px !important;
		padding-bottom: 0 !important;
	}
	
	.vc_row.small-show-bg.vc_parallax > .vc_parallax-inner {
		top: 0 !important;
		height: 240px !important;
	}
	
	.vc_row.small-show-bg.vc_parallax > .vc_column_container {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	/* Map Row */
	
	.row-map {
		height: 351px;
		height: auto;
	}
	
	.row-map > .overlay {
		position: relative;
	}
	
	.row-map > .overlay .wpb_content_element {
		padding: 25px 28px 13px;
		margin: 50px auto;
	}
	
	.row-map > .overlay .wpb_content_element h3 {
		background-size: 30px auto;
		padding-left: 45px;
	}
	
	.row-map > .overlay .wpb_content_element p.address span {
		font-size: 17px;
	}
	
	.row-map > .overlay .wpb_content_element p.address span {
		font-size: 15px
	}
	
	.row-map .acf-map {
		position: absolute !important;
		top: 0;
		left: 0;
	}
	
	#competitive-benefits {
		padding: 20px 20px !important;
	}
	
	.ways-to-apply ol li {
		font-size: 20px;
	}
	
	.disclaimer {
		padding: 20px 20px 5px;
	}
	
	.single-post footer.article-footer {
		margin-bottom: 10px;
		margin-top: 20px;
	}
	
	#row-five-star-rated .wpb_text_column {
		padding: 20px !important;		
	}
	
	#row-awards {
		top: -100px;
		margin-bottom: -100px;
		padding-bottom: 70px;
	}
	
	#row-leed .wpfox_custom_container {
		margin-top: -92px;
	}
	
	#row-leed .wpb_single_image {
		text-align: center;
		margin: 0;
	}
	
	#row-leed .wpb_single_image .vc_figure {
		margin: 0 auto;
	}
	
	#row-leed p {
		font-size: 14px;
	}
	
	.has-bgcolor-intro .vc_row.row-intro > .container {
		padding-bottom: 40px;
	}

	/* Luminate Footer */

	.page-template-footer_luminate .responsive-menu-button {
		display: none !important;
	}

	.page-template-footer_luminate #menu-footer-tabs li {
		max-width: 160px;
	}
	
	
	/* Footer */
	
	footer#colophon #footer-left,
	footer#colophon #footer-right {
		min-width: 100%;
		max-width: 100%;
		order: 2;
	}
	
	footer#colophon #footer-right {
		order: 1;
	}
}

@media (max-width: 480px) {
	.fox-row > * {
		min-width: 100%;
	}
}

@media (max-width: 767px) {
	.pp_pic_holder.pp_default {
	}
	a.pp_expand, a.pp_contract, .pp_hoverContainer, .pp_gallery, .pp_top, .pp_bottom {
		display: block !important;
	}
	div.pp_default .pp_content_container .pp_left {
		padding-left: 13px !important;
	}
	div.pp_default .pp_content_container .pp_right {
		padding-right: 13px !important;
	}
	.pp_content {
		width: 100% !important;
	}
	.pp_fade {
		width: calc(100% - 8px) !important;
	}
	.pp_details {
		margin: -33px 3px !important;
		width: auto !important;
		background: none;
	}
	a.pp_close {
		right: 0 !important;
		top: 0 !important;
	}
	#pp_full_res {
		height: 66vw;
	}
	#pp_full_res iframe {
		width: 100%;
		height: 66vw;
	}
	.page-template-header_luminate .menu {
		margin-top: 14px;
	}
}