/*
Theme Name: [Beacon Community by Porter One Design]
Theme URI: http://
Description: A custom WordPress theme built for Beacon Health Management Communities
Author: PorterOneDesign.com
Version: 1.1.0
*/

/*	==================================
	Version History:
	==================================

	v.1.0.0 - 2019-02-05
		- Launch theme, adjusted to support MultiSite Networks

	v.1.1.0 - 2019-02-13
		- Added support for singular testimonials.
		- Updated header.php to allow Google Analytics tracking code to be added via the Theme Customization page
*/

body, html {
	margin: 0;
	padding: 0;
	position: relative;
}

body.admin-bar .header {
	margin-top: 30px;
}

.fluidcontainer {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
	position: relative;
}

.clearfloat {
	clear: both !important;
}

h1, h2, h3 {
	font-family: "Felix Titling", serif;
	color: #6d6e71;
}

h4, h5 {
	font-family: BellMTProItalic, serif;
	font-style: italic;
	font-weight: normal;
	color: #3b6793;
}

h6, p {
	font-family: BellMTPro, serif;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
}

a {
	color: #003b71;
}

strong {
	color: #003b71;
	font-weight: 700;
}

.bkg-blue strong, .bkg-blue-gradient strong {
	color: white;
}

a:visited {
	color: #3b6793;
}

a:hover, a:focus {
	color: #10314f;
}

body {
	font-family: BellMTPro, serif;
	font-size: 13pt;
	line-height: 16pt;
}

.desktop, .tablet {
	display: none;
}

.show-upto-1440 {
	display: block;
}

.show-after-1440 {
	display: none;
}

.grecaptcha-badge {
	display: none !important;
}

.wpcf7-form-control-wrap {
	display: block;
}

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
	margin-bottom: 15px;
	margin-top: -8px;
	font-size: 11pt;
	font-style: italic;
	clear: left;
}

/* Header Styles */

	.header {
		transition: 0.75s all;
		padding-top: 10px;
		padding-bottom: 10px;
		border-bottom: 4px solid #ffc52f;
	}

	.header .logo-container {
		width: 100%;
		margin-bottom: 7px;
	}

	.logo-container img {
		display: block;
		width: 100%;
	}

	.navigation ul, .navigation ul li {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.navigation ul {
		text-align: center;
		margin-top: 0px;
		margin-bottom: 0px;
	}

	.navigation ul li {
		display: inline-block;
	}

	.navigation ul li a {
		display: inline-block;
		padding: 7px 9px;
		border: 1px solid rgba(0,0,0,0);
		transition: 0.3s all;
		text-transform: uppercase;
		text-decoration: none;
		font-size: 12pt;
	}

	.section.header .navigation ul, .section.header .navigation ul li, .section.header .navigation ol, .section.header .navigation ol li, .section.header .navigation p {
		margin-top: 0px;
		margin-bottom: 0px;
	}

	.section.header .navigation ul li {
		margin-top: 2px;
		margin-bottom: 2px;
	}

	.navigation ul li a:visited {
		color: #003b71;
	}

	.navigation ul li a:hover, .navigation ul li a:focus {
		border: 1px solid #003b71;
	}

	.header .logo-container {
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}

/* END Header Styles */

/* Hero Styles */

	.hero {
		position: relative;
	}

	.hero-image {
		position: relative;
		width: 100%;
		overflow: hidden;
		z-index: 1;
	}

	.hero-placeholder {
		position: relative;
		display: block;
		padding-bottom: 46%;
	}

	.hero-image img {
		display: block;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.hero-content {
		position: absolute;
		bottom: 15px;
		left: 0;
		width: 100%;
	}

	.hero-text {
		max-width: 50%;
		position: relative;
		z-index: 10;
	}

	.hero-text * {
		margin-top: 0px;
		margin-bottom: 0px;
	}

	/*
	.section.hero .hero-text h4 {
		font-size: 14pt;
		line-height: 18pt;
	}

	.section.hero .hero-text h1 {
		font-size: 23pt;
		line-height: 26pt;
		font-weight: 500;
		color: #003b71;
	}
	*/

	.section.hero .hero-text h4 {
		font-size: calc( 18px + (36 - 18) * ((100vw - 320px) / (720 - 320)) );
		line-height: 1.25em;
	}

	.section.hero .hero-text h1 {
		font-size: calc( 28px + (70 - 28) * ((100vw - 320px) / (720 - 320)) );
		line-height: 1em;
		color: #003b71;
		font-weight: 500;
	}

	.section.hero .hero-text h1 {
		margin-top: 0px;
	}

	.section.hero .hero-text h4 {
		margin-bottom: 0px;
	}

/* END Hero Styles */

/* Section Styles */

	.section {
		position: relative;
	}

	.subsection-split {
		position: relative;
	}

	.content-padding {
		position: relative;
		padding: 20px 15px;
		z-index: 10;
	}

	.text-padding {
		padding-left: 15px;
		padding-right: 15px;
	}

	.no-top-padding {
		padding-top: 0px;
	}

	.no-bottom-padding {
		padding-bottom: 0px;
	}

	.padding h1:first-child, .padding h2:first-child, .padding h3:first-child, .padding h4:first-child, .padding h5:first-child, .padding h6:first-child, .padding p:first-child, .padding ul:first-child, .padding li:first-child {
		padding-top: 0px;
		margin-top: 0px;
	}

	.padding h1:last-child, .padding h2:last-child, .padding h3:last-child, .padding h4:last-child, .padding h5:last-child, .padding h6:last-child, .padding p:last-child, .padding ul:last-child, .padding li:last-child {
		padding-bottom: 0px;
		margin-bottom: 0px;
	}

	.bkg-blue {
		background-color: #003b71;
	}

	.bkg-blue-gradient {
		background: #003b71;
		background: linear-gradient(to top, #003b71, #2a5e8c);
	}

	.bkg-gradient {
		background: #fef8e7; /* fallback */
		background: radial-gradient(rgba(255,255,255,1) 10%, rgba(254,237,193,1));
	}

	.bkg-gray {
		background-color: #f2f3f3;
	}

	.bkg-shield-watermark {
		position: absolute;
		right: 0;
		bottom: 0;
		max-width: 100%;
		z-index: 1;
		pointer-events: none;
	}

	.bkg-shield-watermark img {
		width: 40%;
		float: right;
	}

	/* Text Styles */

		.section h1, .section h2, .section h3, .section h4, .section h5, .section h6 {
			margin-top: 17px;
			margin-bottom: 12px;
		}

		.section h1, .section h2, .section h3 {
			letter-spacing: 0.5pt;
		}

		.section h1 {
			font-size: 26pt;
			line-height: 30pt;
		}

		.section h2 {
			font-size: 23pt;
			line-height: 28pt;
		}

		.section h3 {
			font-size: 20pt;
			line-height: 26pt;
		}

		.section h4 {
			font-size: 18pt;
			line-height: 22pt;
		}

		.section h5 {
			font-size: 16pt;
			line-height: 20pt;
		}

		.section h1 + h4, .section h2 + h4, .section h3 + h4 {
			/* target h4's placed after h1s, h2s, or h3s */
			margin-top: -12px; /* match margin-bottom of h1s/h2s/h3s */
		}

		.section h4 ~ h1, .section h4 ~ h2, .section h4 ~ h3 {
			/* target h1s, h2s, and h3s placed immediately after h4s */
			margin-top: -12px; /* match margin-bottom of h4s */
		}

		.section h6 {
			font-size: 15pt;
			line-height: 20pt;
			color: #003b71;
			margin-top: 12px;
			margin-bottom: 12px;
		}

		.section p, .section ul, .section ul li, .section ol, .section ol li {
			color: #6d6e71;
			font-size: 13pt;
			line-height: 18pt;
			margin-top: 12px;
			margin-bottom: 12px;
		}

		.section p a.btn, .wpcf7-submit {
			display: inline-block;
			padding: 7px 15px;
			font-weight: 700;
			text-transform: uppercase;
			letter-spacing: 0.25pt;
			text-decoration: none;
			transition: 0.3s all;
		}

		.section.bkg-blue p a.btn, .section.bkg-blue-gradient p a.btn {
			border: 1px solid white;
			color: white;
			background-color: none;
		}

		.section.bkg-blue p a.btn:hover, .section.bkg-blue-gradient p a.btn:hover, .section.bkg-blue p a.btn:focus, .section.bkg-blue-gradient p a.btn:focus {
			border: 1px solid white;
			color: #003b71;
			background-color: white;
		}

		.section.bkg-blue p a.btn:active, .section.bkg-blue-gradient p a.btn:active {
			background-color: #ffc52f;
		}

		.section.bkg-gray p a.btn, .wpcf7-submit {
			border: 1px solid #3b6793;
		}

		.wpcf7-submit  {
			border: 1px solid #3b6793 !important;
			margin-top: 12px;
			color: #3b6793 !important;
			width: auto !important;
		}

		.wpcf7-submit:hover, .wpcf7-submit:focus {
			color: white !important;
			background-color: #3b6793;
			cursor: pointer;
		}

		.section.bkg-gray p a.btn:hover, .section.bkg-gray p a.btn:focus {
			color: white;
			background-color: #3b6793;
			cursor: pointer;
		}

		.section.bkg-gray p a.btn:active, .wpcf7-submit:active {
			background-color: #003b71;
			border: 1px solid #003b71;
		}

		/* Text Modifications */

			.text-center {
				text-align: center;
			}

			.text-center ul, .text-center ul li, .text-center ol li {
				list-style: none;
				padding-left: 0px;
				padding-right: 0px;
				margin-left: 0px;
				margin-right: 0px;
			}

			.text-caps {
				text-transform: uppercase;
			}

			.text-small {
				font-size: 60%;
			}

			.text-large {
				font-size: 130%;
			}

			.text-blue {
				color: #3b6793;
			}

			.text-italic {
				font-style: italic;
			}

			.bkg-blue.section-services .text-center ul, .bkg-blue.section-services .text-center ul li, .bkg-blue.section-services .text-center ol li, .bkg-blue-gradient.section-services .text-center ul, .bkg-blue-gradient.section-services .text-center ul li, .bkg-blue-gradient.section-services .text-center ol li {
				color: #fdedbc;
			}

			.bkg-blue h1, .bkg-blue h2, .bkg-blue h3, .bkg-blue-gradient h1, .bkg-blue-gradient h2, .bkg-blue-gradient h3 {
				color: white;
			}

			.bkg-blue h4, .bkg-blue h5, .bkg-blue-gradient h4, .bkg-blue-gradient h5 {
				color: #ffc52f;
			}

			.bkg-blue p, .bkg-blue ul, .bkg-blue ol, .bkg-blue ul li, .bkg-blue ol li, .bkg-blue-gradient p, .bkg-blue-gradient ul, .bkg-blue-gradient ol, .bkg-blue-gradient ul li, .bkg-blue-gradient ol li {
				color: #fdedbc;
			}

		/* END Text Modifications */

	/* END Text Styles */

	/* Form Styles */

		.subsection-form {
			width: 100%;
		}

		.subsection-form input, .subsection-form textarea {
			border: 1px solid #a7a9ac;
			padding: 9px 15px;
			width: calc(100% - 32px);
			margin-bottom: 12px;
			color: #6d6e71;
			transition: 0.3s all;
		}

		.subsection-form textarea:last-child {
			margin-bottom: 0px;
		}

		.subsection-form input:focus, .subsection-form textarea:focus {
			border: 1px solid #3b6793;
			box-shadow: 2px 2px 4px rgba(109, 110, 113, 0.7);
		}

		.subsection-form input::placeholder, .subsection-form textarea::placeholder {
			font-style: italic;
		}

		.subsection-form p:last-child {
			margin-top: 0px;
			margin-bottom: 0px;
		}

	/* END Form Styles */

	/* Image Styles */

		.img-frame {
			position: relative;
			overflow: hidden;
		}

		.img-full {
			width: 100%;
		}

		.img-full img {
			width: 100%;
			display: block;
		}

		.img-shadow {
			box-shadow: 4px 4px 8px rgba(109, 110, 113, 1);
		}

		.img-accent {
			border-bottom: 4px solid #ffc52f;
		}

		.img-size-3by1 {
			position: relative;
			padding-bottom: 33.3%;
			width: 100%;
			display: block;
		}

		.img-size-4by3 {
			position: relative;
			padding-bottom: 75%;
			width: 100%;
			display: block;
		}

		.img-frame img {
			width: 100%;
			display: block;
			position: absolute;
			left: 0;
			top: 0;
		}

	/* END Image Styles */

	/* Specific Section Styles */

		/* Services */

		.subsection-services:first-child {
			background-color: #154d7f;
		}

		.subsection-services:nth-child(3n+2) {

		}

		.subsection-services:nth-child(3n+3) {
			background-color: #05335d;
		}

		.section.section-services ul li {
			margin-bottom: 7px;
			margin-top: 7px;
		}

		.section.section-services ul li:last-child {
			margin-bottom: 0px;
		}

		/* Amenities */

		.section .subsection-amenities h5 {
			margin-bottom: 4px;
		}

		.section .subsection-amenities p {
			margin-top: 4px;
		}

		.section .subsection-amenities {
			margin-bottom: 20px;
		}

		.section .subsection-amenities:nth-last-child(2) {
			margin-bottom: 0px;
		}

		/* Our Mission */

		.section.section-mission p strong {
			color: #6d6e71;
		}

		.section.section-mission p strong span {
			color: #003b71;
			font-size: 120%;
		}

		/* Testimonials */

		.section-testimonials .subsection-testimonials p {
			font-style: italic;
			margin-bottom: 12px;
			margin-top: 12px;
		}

		.section-testimonials .subsection-testimonials:nth-last-child(2) p {
			margin-bottom: 0px;
		}

		.subsection-testimonials {
			margin-bottom: 20px;
		}

		.subsection-testimonials p {
			margin-top: 0px;
			margin-bottom: 0px;
		}

		.subsection-testimonials:nth-last-child(2) {
			margin-bottom: 0px;
		}

		/* Contact */

		.section-contact .subsection-form {
			margin-bottom: 20px;
		}

		.section-contact .subsection-info {
			margin-bottom: 20px;
		}

		.section-contact .subsection-map {
			width: 100%;
		}

		.section-contact .subsection-map .gmaps-container {
			width: 100%;
		}

		#gmaps-embed {
			height: 300px;
		}

		.subsection-beacon .logo-container {
			max-width: 235px;
		}

		.section .subsection-beacon .logo-container + p {
			font-size: 11pt;
			line-height: 15pt;
		}

		.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
			width: 100%;
			margin-left: 0px;
			margin-right: 0px;
		}

		/* Footer */

		.subsection-footer.navigation {
			margin-top: 20px;
		}

		.subsection-footer.navigation ul li {
			margin-top: 3px;
			margin-bottom: 3px;
		}

		.section-footer .padding {
			padding-top: 20px;
			padding-bottom: 15px;
		}

	/* END Specific Section Styles */

/* END Section Styles */

@media only screen and (min-width: 380px) {
	.fluidcontainer {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	/* Header Styles */
	/* END Header Styles */

	/* Hero Styles */

		/*
		.section.hero .hero-text h4 {
			font-size: 16pt;
			line-height: 21pt;
		}

		.section.hero .hero-text h1 {
			font-size: 27pt;
			line-height: 30pt;
		}
		*/

		.hero-content {
			bottom: 20px;
		}

	/* END Hero Styles */

	/* Section Styles */

		.content-padding {
			padding: 30px 25px;
		}

		.text-padding {
			padding-left: 25px;
			padding-right: 25px;
		}

		.no-top-padding {
			padding-top: 0px;
		}

		.no-bottom-padding {
			padding-bottom: 0px;
		}

		/* Text Styles */

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

		/* Specific Section Styles */

			/* Contact */
			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

		/* END Specific Section Styles */

	/* END Section Styles */
}

@media only screen and (min-width: 480px) {
	.fluidcontainer {
		width: 88%;
		margin-left: auto;
		margin-right: auto;
	}

	/* Header Styles */
	/* END Header Styles */

	/* Hero Styles */
	/* END Hero Styles */

	/* Section Styles */

		/* Text Styles */

			.section h1, .section h2, .section h3, .section h4, .section h5 {
				margin-top: 23px;
				margin-bottom: 18px;
			}

			.section h1 {
				font-size: 29pt;
				line-height: 33pt;
			}

			.section h2 {
				font-size: 26pt;
				line-height: 31pt;
			}

			.section h3 {
				font-size: 23pt;
				line-height: 29pt;
			}

			.section h4 {
				font-size: 21pt;
				line-height: 25pt;
			}

			.section h5 {
				font-size: 19pt;
				line-height: 23pt;
			}

			.section h1 + h4, .section h2 + h4, .section h3 + h4 {
				margin-top: -18px; /* match margin-bottom of h1s/h2s/h3s */
			}

			.section h4 ~ h1, .section h4 ~ h2, .section h4 ~ h3 {
				margin-top: -18px; /* match margin-bottom of h4s */
			}

			.section h6 {
				font-size: 16pt;
				line-height: 22pt;
				margin-top: 15px;
				margin-bottom: 15px;
			}

			.section p, .section ul, .section ul li, .section ol, .section ol li {
				font-size: 14pt;
				line-height: 20pt;
				margin-top: 15px;
				margin-bottom: 15px;
			}

			.section p a.btn, .wpcf7-submit {
				padding: 9px 19px;
			}

			/* Text Modifications */

				/* Modifying the services section to use one query smaller text styles */

				.section.section-services h4 {
					margin-top: 17px;
					margin-bottom: 12px;
				}

				.section.section-services p, .section.section-services ul, .section.section-services ul li, .section.section-services ol, .section.section-services ol li {
					font-size: 13pt;
					line-height: 18pt;
					margin-top: 12px;
					margin-bottom: 12px;
				}

				.section.section-services ul li {
					margin-bottom: 7px;
					margin-top: 7px;
				}

				.section.section-services ul li:last-child {
					margin-bottom: 0px;
				}

				.section.section-services p a.btn {
					padding: 7px 15px;
				}

 				.section.section-services .padding h4:first-child, .section.section-services .padding p:first-child, .section.section-services .padding ul:first-child, .section.section-services .padding li:first-child {
					padding-top: 0px;
					margin-top: 0px;
				}

 				.section.section-services .padding h4:last-child,  .section.section-services .padding p:last-child, .section.section-services .padding ul:last-child, .section.section-services .padding li:last-child {
					padding-bottom: 0px;
					margin-bottom: 0px;
				}

				/* modifying the testimonials section to use one query smaller styles for the actual testimonials */

				.section-testimonials.section .subsection-testimonials p, .section-testimonials.section .subsection-testimonials ul, .section-testimonials.section .subsection-testimonials ul li, .section-testimonials.section .subsection-testimonials ol, .section-testimonials.section .subsection-testimonials ol li {
					font-size: 13pt;
					line-height: 18pt;
					margin-top: 12px;
					margin-bottom: 12px;
				}

				/* modifying the header and footer to use one query smaller styles for the text content */

				.section-footer.section p, .section-footer.section p {
					font-size: 13pt;
					line-height: 18pt;
					margin-top: 12px;
					margin-bottom: 12px;
				}

			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

		/* Specific Section Styles */

			/* Contact */

			.subsection-info .logo-container {
				max-width: 400px;
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

		/* END Specific Section Styles */

	/* END Section Styles */
}

@media only screen and (min-width: 720px) {

	.tablet {
		display: block;
	}

	/* Header Styles */

		.header {
			padding-top: 15px;
			position: fixed;
			top: 0;
			z-index: 100;
			width: 100%;
			background: rgba(255,255,255,0);
			border-bottom: 4px solid rgba(255,255,255,0);
			/*
			background: rgba(255,255,255,0.9);
			background: radial-gradient(rgba(255,255,255,0.8) 20%, rgba(255,255,255,0.95));
			*/
		}

		.header.scrolled {
			background: rgba(255,255,255,0.9);
			/* background: radial-gradient(rgba(255,255,255,0.8) 20%, rgba(255,255,255,0.95)); */
			border-bottom: 4px solid #ffc52f;
			animation: headerScroll;
			animation-duration: 0.75s;
		}

		@keyframes headerScroll {
			from {
				background: rgba(255,255,255,0);
				border-bottom: 4px solid rgba(255,255,255,0);
			}
			to {
				background: rgba(255,255,255,0.9);
				/* background: radial-gradient(rgba(255,255,255,0.8) 20%, rgba(255,255,255,0.95)); */
				border-bottom: 4px solid #ffc52f;
			}
		}

		.header .logo-container {
			display: none;
		}

		.header-placeholder {
			height: 0px;
			width: 100%;
		}

	/* END Header Styles */

	/* Hero Styles */

		.hero-content {
			bottom: 20%;
		}

		.hero .tablet .logo-container {
			max-width: 45%;
			padding-bottom: 20px;
			margin-bottom: 20px;
			border-bottom: 1px solid #3b6793;
			position: relative;
			z-index: 10;
		}

		.hero .tablet .logo-container.logo-aspire img {
			width: auto;
			height: 100px;
		}

		.hero-placeholder {
			padding-bottom: 50%;
		}

		.hero-text {
			max-width: 45%;
		}

		.section.hero .hero-text h4 {
			font-size: calc( 26px + (32 - 26) * ((100vw - 720px) / (920 - 720)) );
			line-height: 1em;
		}

		.section.hero .hero-text h1 {
			font-size: calc( 45px + (60 - 45) * ((100vw - 720px) / (920 - 720)) );
			line-height: 1.25em;
		}

	/* END Hero Styles */

	/* Section Styles */

		/* Specific Section Styles */

			/* Amenities */

			.subsection-fifth {
				width: calc(50% - 25px);
				margin-right: 50px;
				float: left;
			}

			.subsection-fifth:nth-of-type(2n+1) {
				clear: left;
			}

			.subsection-fifth:nth-of-type(2n+2) {
				margin-right: 0px;
			}

			.subsection-fifth:nth-of-type(5) {
				margin-left: calc((50% + 25px) / 2)
			}

			/* Testimonials */

			.subsection-testimonials.testimonial-rows-1 {
				float: left;
				clear: left;
				width: 100%;
			}

			.subsection-testimonials.testimonial-rows-2 {
				float: left;
				width: calc(50% - 25px);
				margin-right: 50px;
				margin-bottom: 0px;
			}

			.subsection-testimonials:first-of-type {
				clear: left;
			}

			.subsection-testimonials:nth-of-type(2) {
				margin-right: 0px;
			}

			.section-testimonials.section .subsection-testimonials p {
				margin-bottom: 0px;
			}

			/* Contact */

			.subsection-beacon .logo-container {
				float: left;
				margin-right: 20px;
			}

			.section .subsection-beacon .logo-container + p {
				width: calc(100% - 255px);
				float: left;
				margin-top: 0px;
				margin-bottom: 0px;
				display: block;
			}

			.section-contact.section .subsection-split.subsection-wpgen .fluidcontainer .padding {
				max-width: 100vw;
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

			/*
			.section-contact .subsection-info {
				width: calc(100% - 275px);
				margin-right: 40px;
				float: left;
			}

			.section-contact .subsection-beacon {
				float: left;
				width: 235px;
			}

			.subsection-beacon .logo-container {
				margin-right: 0px;
				margin-top: 15px;
			}

			.section .subsection-beacon .logo-container + p {
				width: 100%;
				margin-top: 20px;
			}
			*/

		/* END Specific Section Styles */

		/* Text Styles */

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */
}


@media only screen and (min-width: 920px) {
	.desktop {
		display: block;
	}

	.desktop.tablet {
		display: block;
	}

	.mobile, .tablet {
		display: none;
	}

	/* Header Styles */
	/* END Header Styles */

	/* Hero Styles */

		.hero .tablet .logo-container.logo-aspire img {
			height: 130px;
		}

	/* END Hero Styles */

	/* Section Styles */

		.content-padding {
			padding: 40px 40px;
		}

		.text-padding {
			padding-left: 40px;
			padding-right: 40px;
		}

		.section {
			overflow: hidden;
		}

		.section .subsection-split {
			position: relative;
		}

		.section .subsection-split.subsection-wpgen .fluidcontainer .padding {
			max-width: calc(66.6% - 80px);
		}

		.section .subsection-split.subsection-image {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

		.section .subsection-split.subsection-image .fluidcontainer .img-full {
			margin-left: 66.6%;
			width: calc(33.3% + (100vw - 88%) / 2);
		}

		.section .subsection-split.subsection-image + .subsection-split.subsection-wpgen .fluidcontainer .padding {
			/* Text right side, image left side */
			margin-left: 33.3%;
		}

		.section .subsection-split.subsection-image:first-of-type .fluidcontainer .img-full {
			margin-left: 0px;
			position: absolute;
			right: 66.6%;
			height: 100vh;
			overflow: hidden;
		}

		.section .subsection-split.subsection-image:first-of-type .fluidcontainer .img-full img {
			position: absolute;
			right: 0;
			top: 0;
		}

		.section .subsection-content-split:first-of-type .fluidcontainer .padding {
			max-width: calc(66.6% - 80px);
		}

		.section .subsection-content-split:nth-of-type(2) {
			position: absolute;
			top: 0;
			background: none;
			width: 100%;
		}

		.section .subsection-content-split:nth-of-type(2) .fluidcontainer .padding {
			width: calc(33.3% - 80px);
			margin-left: 66.6%;
		}

		/* Specific Section Styles */

			/* Services */

			.section-services {
				overflow: hidden;
			}

			.services-fluidcontainer {
				width: 88%;
				margin-left: auto;
				margin-right: auto;
			}

			.subsection-services {
				position: relative;
			}

			.services-fluidcontainer .subsection-services {
				width: 33.3%;
				float: left;
			}

			.services-clinical::before {
				display: block;
				position: absolute;
				z-index: 5;
				height: 100%;
				width: 1920px;
				background-color: #154d7f;
				content: '';
				top: 0;
				left: -1920px;
			}

			.services-clinical::after {
				display: block;
				position: absolute;
				z-index: 5;
				height: 1920px;
				width: 1920px;
				background-color: #154d7f;
				content: '';
				bottom: -1920px;
				left: calc(100% - 1920px);
			}

			.services-support::before {
				display: block;
				position: absolute;
				z-index: 5;
				height: 100%;
				width: 1920px;
				background-color: #05335d;
				content: '';
				top: 0;
				right: -1920px;
			}

			.services-support::after {
				display: block;
				position: absolute;
				z-index: 5;
				height: 1920px;
				width: 1920px;
				background-color: #05335d;
				content: '';
				bottom: -1920px;
				right: calc(100% - 1920px);
			}

			.subsection-services .fluidcontainer {
				width: 100%;
			}

			.subsection-services .fluidcontainer .content-padding {
				padding: 30px 25px;
			}

			/* Amenities */

			.subsection-fifth:nth-of-type(2n+1), .subsection-fifth:nth-of-type(2n+2) {
				clear: none;
				float: left;
				margin-right: 0px;
			}

			.subsection-fifth:nth-of-type(5n+1), .subsection-fifth:nth-of-type(5n+2) {
				width: calc(33.3% - 20px);
				margin-right: 30px;
			}

			.subsection-fifth:nth-of-type(5n+3) {
				width: calc(33.3% - 20px);
				margin-right: 0px;
			}

			.subsection-fifth:nth-of-type(5n+4) {
				clear: left;
				width: calc(50% - 22px);
				margin-right: 44px;
			}

			.subsection-fifth:nth-of-type(5n+5) {
				width: calc(50% - 22px);
				margin-right: 0px;
				margin-left: 0px;
			}

			/* Custom Content Section */

			.section.section-featured .subsection-image .img-full img.default {
				width: 160%;
			}

			/* Life Enrichment */

			.section-enrichment .subsection-image .img-full img.default {
				width: 225%;
				margin-right: -61%;
			}

			/* Mission/Value */

			.section.section-mission .subsection-content-split:nth-of-type(2) .fluidcontainer .padding {
				background: radial-gradient(rgba(255,255,255,1) 10%, rgba(254,237,193,1) 70%);
			}

			.section.section-mission .subsection-content-split:nth-of-type(2) .fluidcontainer .padding::before {
				display: block;
				position: absolute;
				z-index: 5;
				height: 100%;
				width: 1920px;
				background-color: rgba(254,237,193,1);
				content: '';
				top: 0;
				right: -1920px;
			}

			.section.section-mission .subsection-content-split:nth-of-type(2) .fluidcontainer .padding::after {
				display: block;
				position: absolute;
				z-index: 5;
				height: 1920px;
				width: 1920px;
				background-color: rgba(254,237,193,1);
				content: '';
				bottom: -1920px;
				right: calc(100% - 1920px);
			}

			.section-mission .bkg-shield-watermark {
				right: 33.3%;
			}

			/* Careers */

			.section-career .subsection-image .img-full img.default {
				width: 130%;
				margin-right: -30%;
			}

			/* Contact */

			.section-contact .subsection-main {
				float: left;
				width: calc(100% - 320px);
				margin-right: 40px;
			}

			.section-contact .subsection-info {
				float: left;
			    width: 280px;
			}

			.section-contact .subsection-beacon {
				float: left;
				clear: left;
				margin-top: 20px;
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

		/* END Specific Section Styles */

		/* Text Styles */

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */

}

@media only screen and (min-width: 1024px) {

	/* Header Styles */

		.navigation ul {
			text-align: right;
		}

		.header .logo-container {
			display: block;
			opacity: 0;
			float: left;
			margin-left: 0px;
			margin-right: 0px;
			margin-bottom: 0px;
			max-width: 300px;
			animation: logoFadeOut;
			animation-duration: 0.75s;
			-webkit-backface-visibility: hidden;
		}

		.header .logo-container img {
			opacity: 0;
			animation: logoDelayFadeIn;
			animation-delay: 0.75s;
			animation-fill-mode: forwards;
		}

		.header .logo-container.logo-aspire img {
			height: 65px;
			width: auto;
		}

		.header.scrolled .logo-container {
			opacity: 1;
			animation: logoFadeIn;
			animation-duration: 0.75s;
			display: table;
			height: 65px;
		}

		.header.scrolled .logo-container a {
			display: table-cell;
			vertical-align: middle;
		}

		@keyframes logoFadeIn {
			from {
				opacity: 0;
			}
			to {
				opacity: 1;
			}
		}

		@keyframes logoFadeOut {
			from {
				opacity: 1;
			}
			to {
				opacity: 0;
			}
		}

		@keyframes logoDelayFadeIn {
			from {
				opacity: 0;
			}
			to {
				opacity: 1;
			}
		}

		.navigation {
			width: calc(100% - 300px);
			float: right;
			margin-top: 10px;
			margin-bottom: 8px;
		}

	/* END Header Styles */

	/* Hero Styles */
	/* END Hero Styles */

	/* Section Styles */

		/* Specific Section Styles */

			/* Contact */
			.section .subsection-beacon .logo-container + p {
				font-size: 13pt;
				line-height: 19pt;
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

			/* Footer */
			.section-footer .text-padding {
				padding-left: 0px;
				padding-right: 0px;
			}

			.section-footer .subsection-legal {
				width: 300px;
				float: left;
			}

			.section.section-footer .subsection-legal p {
				font-size: 12pt;
			}

			.subsection-footer.navigation {
				margin-top: 11px;
			}

			.subsection-footer-navigation .navigation ul li a {
			}

		/* END Specific Section Styles */

		/* Text Styles */

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */

			.wpcf7-form label {
				display: block;
			}
		
			.wpcf7-form label:nth-of-type(1) {
				float: left;
				width: calc(50% - 6px);
				margin-right: 12px;
			}
		
			.wpcf7-form label:nth-of-type(2) {
				float: left;
				width: calc(50% - 6px);
				margin-right: 0px;
			}
		
			.wpcf7-form label span {
				width: 100%;
				display: block;
				clear: left;
			}
		
			.subsection-form label:nth-of-type(1) input, .subsection-form label:nth-of-type(2) input {
				width: calc(100% - 32px);
			}
		
			.wpcf7-form label span span.wpcf7-not-valid-tip {
		
			}

			.section-contact .subsection-form {
				margin-bottom: 0px;
			}

		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */

}


@media only screen and (min-width: 1200px) {
	/* Header Styles */

		.navigation {
			margin-top: 8px;
			margin-bottom: 6px;
		}

		.navigation ul li a {
			padding: 9px 13px;
			font-size: 14pt;
		}

		.header.scrolled .logo-container {
			height: 69px;
		}

		.header .logo-container.logo-aspire img {
			height: 69px;
		}

	/* END Header Styles */

	/* Hero Styles */

		.hero-text {
			max-width: 50%;
		}

		.hero-placeholder {
			padding-bottom: 40%;
		}

		.hero-image img {
			bottom: -25%;
		}

		.hero .tablet .logo-container.logo-aspire img {
			height: 150px;
		}

	/* END Hero Styles */

	/* Section Styles */

		.content-padding {
			padding: 60px 60px;
		}

		.text-padding {
			padding-left: 60px;
			padding-right: 60px;
		}

		.section .subsection-split.subsection-wpgen .fluidcontainer .padding {
			max-width: calc(66.6% - 120px);
		}

		/* Specific Section Styles */

			/* Services */

			.section.section-services h4 {
				font-size: 22pt;
				line-height: 30pt;
			}

			.section.section-services p, .section.section-services ul, .section.section-services ul li, .section.section-services ol, .section.section-services ol li {
				font-size: 14pt;
				line-height: 20pt;
				margin-top: 15px;
				margin-bottom: 15px;
			}

			.section.section-services ul li {
				margin-top: 10px;
				margin-bottom: 10px;
			}

			.subsection-services .fluidcontainer .content-padding {
				padding: 40px 40px;
			}

			/* Amenities */

			.section .subsection-amenities {
				margin-bottom: 40px;
			}

			.subsection-fifth:nth-of-type(5n+1), .subsection-fifth:nth-of-type(5n+2) {
				width: calc(33.3% - 30px);
				margin-right: 45px;
			}

			.subsection-fifth:nth-of-type(5n+3) {
			    width: calc(33.3% - 30px);
			}

			.subsection-fifth:nth-of-type(5n+4), .subsection-fifth:nth-of-type(5n+5) {
				margin-bottom: 0px;
			}

			/* Mission/Values */

			.section .subsection-content-split:first-of-type .fluidcontainer .padding {
			    max-width: calc(66.6% - 120px);
			}

			.section .subsection-content-split:nth-of-type(2) .fluidcontainer .padding {
			    width: calc(33.3% - 120px);
			}

			.section.section-mission .subsection-wpgen:nth-child(2) p {
				margin-bottom: 40px;
			}

			.section.section-mission .bkg-shield-watermark img {
			    width: 60%;
			    float: right;
			}

			/* Testimonials */

			.subsection-testimonials.testimonial-rows-2 {
				width: calc(50% - 30px);
				margin-right: 60px;
			}

			.subsection-testimonials:nth-of-type(2) {
				margin-right: 0px;
			}

			.section-testimonials.section .subsection-testimonials p {
				font-size: 14pt;
				line-height: 20pt;
			}

			/* Contact */
			.section-contact.section .subsection-main p {
				font-size: 14pt;
				line-height: 20pt;
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 100%;
				margin-left: 0px;
				margin-right: 0px;
			}

			/* Footer */

			.subsection-footer.navigation {
				margin-top: 8px;
			}

		/* END Specific Section Styles */

		/* Text Styles */

			.section h1, .section h2, .section h3, .section h4, .section h5 {
				margin-top: 32px;
				margin-bottom: 28px;
			}

			.section h1 {
				font-size: 44pt;
				line-height: 49pt;
			}

			.section h2 {
				font-size: 38pt;
				line-height: 42pt;
			}

			.section h3 {
				font-size: 30pt;
				line-height: 34pt;
			}

			.section h4 {
				font-size: 26pt;
				line-height: 31pt;
			}

			.section h5 {
				font-size: 22pt;
				line-height: 27pt;
			}

			.section h1 + h4, .section h2 + h4, .section h3 + h4 {
				margin-top: -28px; /* match margin-bottom of h1s/h2s/h3s */
			}

			.section h4 ~ h1, .section h4 ~ h2, .section h4 ~ h3 {
				margin-top: -28px; /* match margin-bottom of h4s */
			}

			.section h6 {
				font-size: 18pt;
				line-height: 25pt;
				margin-top: 20px;
				margin-bottom: 20px;
			}

			.section p, .section ul, .section ul li, .section ol, .section ol li {
				font-size: 16pt;
				line-height: 23pt;
				margin-top: 20px;
				margin-bottom: 20px;
			}

			.section p a.btn, .wpcf7-submit {
				padding: 9px 19px;
			}

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */

			.section-contact .subsection-main {
				width: calc(100% - 420px);
				margin-right: 60px;
			}

			.section-contact .subsection-info {
				width: 360px;
			}

		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */
}

@media only screen and (min-width: 1440px) {

	.show-upto-1440 {
		display: none;
	}

	.show-after-1440 {
		display: block;
	}

	/* Header Styles */

		.header .logo-container {
			max-width: 360px;
		}

		.header.scrolled .logo-container {
			height: 81px;
		}

		.navigation ul li a {
		    padding: 13px 24px;
		    font-size: 15pt;
		}

		.navigation {
			width: calc(100% - 380px);
		}

		.header .logo-container.logo-aspire img {
			height: 81px;
		}

	/* END Header Styles */

	/* Hero Styles */

		.section.hero .hero-text h1 {
			font-size: calc( 45px + (56 - 45) * ((100vw - 720px) / (920 - 720)) );
		}

		.hero .tablet .logo-container.logo-aspire img {
			height: 200px;
		}

	/* END Hero Styles */

	/* Section Styles */

		.content-padding {
			padding: 80px 80px;
		}

		.text-padding {
			padding-left: 80px;
			padding-right: 80px;
		}

		.section .subsection-split.subsection-wpgen .fluidcontainer .padding {
			max-width: calc(66.6% - 160px);
		}

		.section .subsection-content-split:first-of-type .fluidcontainer .padding {
			max-width: calc(66.6% - 160px);
		}

		.section .subsection-content-split:nth-of-type(2) .fluidcontainer .padding {
			width: calc(33.3% - 160px);
		}

		/* Specific Section Styles */

			/* Services */
			.subsection-services .fluidcontainer .content-padding {
				padding: 60px 60px;
			}

			/* Amenities */

			.section.section-amenities .subsection-amenities h5 {
				font-size: 22pt;
    			line-height: 27pt;
			}

			.section.section-amenities .subsection-amenities p {
				font-size: 16pt;
				line-height: 23pt;
			}

			.subsection-fifth:nth-of-type(5n+1), .subsection-fifth:nth-of-type(5n+2), .subsection-fifth:nth-of-type(5n+3), .subsection-fifth:nth-of-type(5n+4), .subsection-fifth:nth-of-type(5n+5) {
				margin-right: 45px;
				margin-bottom: 0px;
				width: calc(19% - 36px);
				float: left;
				clear: none;
			}

			.subsection-fifth:nth-of-type(5n+5) {
				margin-right: 0px;
			}

			.subsection-fifth:nth-of-type(5n+3) {
				width: calc(24% - 36px);
			}

			/* Contact */

			.section-contact .subsection-form {
				width: calc(100% - 310px);
				margin-right: 30px;
				float: left;
			}

			.section-contact .subsection-info {
				float: left;
				width: 280px;
			}

			.section-contact .subsection-main {
				width: 100%;
				margin-right: 0px;
			}

			.section-contact.section .subsection-split.subsection-wpgen .fluidcontainer .padding {
				width: calc(66.6% - 160px);
			}

			.subsection-contact.subsection-map .gmaps-container .fluidcontainer {
				width: 88%;
				margin-left: auto;
				margin-right: auto;
				max-width: 1440px;
			}

			.subsection-contact.subsection-map {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}

			.section-contact .subsection-map .gmaps-container, .subsection-contact.subsection-map .gmaps-container .fluidcontainer, #gmaps-embed {
				height: 100%;
			}

			#gmaps-embed {
				position: absolute;
				left: 66.6%;
				top: 0;
				width: calc(((100vw - 1250px) / 2) + 33.3%);
			}

			/* Footer */

			.subsection-footer.navigation {
				margin-top: 2px;
			}


		/* END Specific Section Styles */

		/* Text Styles */

			.section h1, .section h2, .section h3, .section h4, .section h5 {
				margin-top: 42px;
				margin-bottom: 32px;
				letter-spacing: 1pt;
			}

			.section h5 {
				letter-spacing: normal;
			}

			.section h1 {
				font-size: 51pt;
				line-height: 60pt;
			}

			.section h2 {
				font-size: 44pt;
				line-height: 50pt;
			}

			.section h3 {
				font-size: 38pt;
				line-height: 44pt;
			}

			.section h4 {
				font-size: 30pt;
				line-height: 37pt;
			}

			.section h5 {
				font-size: 26pt;
				line-height: 31pt;
			}

			.section h1 + h4, .section h2 + h4, .section h3 + h4 {
				margin-top: -28px; /* match margin-bottom of h1s/h2s/h3s */
			}

			.section h4 ~ h1, .section h4 ~ h2, .section h4 ~ h3 {
				margin-top: -28px; /* match margin-bottom of h4s */
			}

			.section h6 {
				font-size: 20pt;
				line-height: 28pt;
				margin-top: 25px;
				margin-bottom: 25px;
			}

			.section p, .section ul, .section ul li, .section ol, .section ol li {
				font-size: 18pt;
				line-height: 26pt;
				margin-top: 25px;
				margin-bottom: 25px;
			}

			.section p a.btn {
				padding: 9px 19px;
			}

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */

}

@media only screen and (min-width: 1640px) {
	/* Header Styles */
	/* END Header Styles */

	/* Hero Styles */
	/* END Hero Styles */

	/* Section Styles */

		/* Specific Section Styles */

			/* Featured */

			.section.section-featured .subsection-image .img-full img.default {
				width: 130%;
			}

			/* Enrichment */

			.section-enrichment .subsection-image .img-full img.default {
				width: 152%;
				margin-right: -43%;
				margin-top: 0;
			}

			/* Careers */

			.section-career .subsection-image .img-full img.default {
			    width: 119%;
			    margin-right: -18%;
			}

			/* Contact */

			#gmaps-embed {
				width: calc(((100vw - 1440px) / 2) + 33.3%);
			}

		/* END Specific Section Styles */

		/* Text Styles */

			/* Text Modifications */
			/* END Text Modifications */

		/* END Text Styles */

		/* Form Styles */
		/* END Form Styles */

		/* Image Styles */
		/* END Image Styles */

	/* END Section Styles */
}

/* Header Styles */
/* END Header Styles */

/* Hero Styles */
/* END Hero Styles */

/* Section Styles */

	/* Specific Section Styles */
	/* END Specific Section Styles */

	/* Text Styles */

		/* Text Modifications */
		/* END Text Modifications */

	/* END Text Styles */

	/* Form Styles */
	/* END Form Styles */

	/* Image Styles */
	/* END Image Styles */

/* END Section Styles */
