/**
 * Theme Name: Rock Creek
 * Theme URI:
 * Author: Torx Media
 * Author URI: https://torxmedia.com/
 * Description: Custom theme for Rock Creek Innovations
 * Version: 1.0.0
 * License: GNU General Public License
 * License URI: https://www.gnu.org/licenses/gpl.html
 * Tags:
 * Text Domain: rockcreek
 *
 * BlankSlate WordPress Theme © 2011-2015 TidyThemes
 * BlankSlate is distributed under the terms of the GNU GPL
 */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ########## FONTS ########## */

	/* --- Primary content font is: Open Sans --- */

	@font-face {
		font-family: 'Rockwell';
		src: url('/fonts/RockwellStd.eot');
		src: url('/fonts/RockwellStd.eot?#iefix') format('embedded-opentype'),
			url('/fonts/RockwellStd.woff') format('woff'),
			url('/fonts/RockwellStd.ttf') format('truetype'),
			url('/fonts/RockwellStd.svg#CenturyGothic') format('svg');
		font-weight: normal;
		font-style: normal;
	}

	@font-face {
		font-family: 'Rockwell';
		src: url('/fonts/RockwellStd Bold.eot');
		src: url('/fonts/RockwellStd Bold.eot?#iefix') format('embedded-opentype'),
			url('/fonts/RockwellStd Bold.woff') format('woff'),
			url('/fonts/RockwellStd Bold.ttf') format('truetype'),
			url('/fonts/RockwellStd Bold.svg#CenturyGothic') format('svg');
		font-weight: bold;
		font-style: normal;
	}

/* ########## GLOBAL ########## */

	html {
		/*background-image: url("/images/big_home_page_photo.jpg");*/
		background-repeat: no-repeat;
		background-position: center center;
		background-attachment: fixed;
		background-size: cover;
	}

	body {
		margin: 0;
		font-family: 'Open Sans', arial;
		font-size: 14px;
		font-weight: normal;
		color: rgb(91,98,103);
	}

	a {
		color: rgb(193,215,45);
		text-decoration: none;
	}

	input[type="button"],
	input[type="submit"] {
		-webkit-appearance: none !important;
		-webkit-opacity: 1 !important;
	}

	em {
		font-style: italic;
	}

	strong {
		font-weight: bold;
	}

	hr {
		margin: 25px auto;
		background: none;
		border-bottom: 3px solid rgb(193,215,45);
		max-width: 1300px !important;
	}

/* ########## WRAPPER ########## */

#wpadminbar {
	position: fixed !important;
}

/* ########## WRAPPER ########## */

	#wrapper {
		display: flex;
		flex-direction: column;
		min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	}

	#container {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}

	#container > .content {
		flex-grow: 1;
	}

/* ########## HEADER ########## */

	div#all_headers {
		box-shadow: 0 0 8px rgb(0 0 0 / 0.4);
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
		width: 100%;
	}

	body.admin-bar div#all_headers {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

		div#mobile_header {
			display: none;
			width: 100%;
			height: 66px;
			text-align: center;
			background-color: rgb(193,215,45);
			overflow: hidden;
		}

			div#mobile_header_inner {
				margin-left: 20px;
				margin-right: 20px;
				text-align: left;
				font-family: "Rockwell";
			}

				img#hamburger {
					cursor: pointer;
					float: right;
					margin-top: 15px;
				}

				span#mobile_header_give_us_a_call {
					display: inline-block;
					color: rgba(0,0,0,0.3);
					font-size: 15px;
					margin-top: 16px;
					margin-bottom: 3px;
				}

				span#mobile_header_phone {
					color: rgb(255,255,255);
					font-size: 25px;
				}

		ul#mobile_menu {
			display: none;
			position: absolute;
			top: 66px;
			left: 0;
			width: 100%;
			background-color: rgb(91,98,103);
			list-style-type: none;
			text-align: right;
			padding-right: 0;
			padding-bottom: 0;
			box-shadow: 0 4px 3px rgba(0,0,0,0.35);
		}

			ul#mobile_menu li {
				display: block;
				margin: 0 0 0 0;
				padding: 0;
			}

				ul#mobile_menu li a {
					display: block;
					color: rgb(255,255,255);
					font-size: 18px;
					text-align: right;
					border-top: 1px solid rgba(255,255,255,0.1);
					margin: 0;
					padding: 12px 36px 13px 0;
				}

				ul#mobile_menu li:first-of-type a {
					border-top: 0;
				}

				ul#mobile_menu li a:hover {
					background-color: rgb(193,215,45);
				}

				ul#mobile_menu li:last-of-type a {
					padding-bottom: 14px;
				}

				ul#mobile_menu li ul.mobile_menu_sub_nav {
					margin-bottom: 8px;
				}

					ul#mobile_menu li ul.mobile_menu_sub_nav li {

					}

						ul#mobile_menu li ul.mobile_menu_sub_nav li a {
							border-top: 0;
							font-size: 14px;
							padding: 7px 36px 8px 0;
						}

		div#header {
			width: 100%;
			height: 130px;
			text-align: center;
			background-color: rgb(255,255,255);
		}

			div#header_inner {
				align-items: center;
				gap: 1em;
				justify-content: space-between;
				display: flex;
				max-width: 1300px;
				margin-left: auto;
				margin-right: auto;
				min-height: 100%;
				text-align: left;
			}

				div#header_inner #logo-link {
					padding-top: 24px;
					padding-bottom: 12px;
				}

				div#header_inner img#logo {
					width: auto;
					height: 92px;
				}

				div#header_inner ul#menu {
					float: right;
					list-style-type: none;
					margin-right: -18px;
				}

					div#header_inner ul#menu li {
						position: relative;
						display: inline-block;
						margin: 0;
					}

						div#header_inner ul#menu li a {
							cursor: default;
							display: inline-block;
							margin: 0;
							line-height: 53px;
							font-weight: bold;
							color: rgb(91,98,103);
							/*margin-left: 40px;*/
							padding-left: 18px;
							padding-right: 18px;
							letter-spacing: 0.12em;
							text-transform: uppercase;
						}
						div#header_inner ul#menu li a[href] {
							cursor: pointer;
						}

						div#header_inner ul#menu li a:hover,
						div#header_inner ul#menu li a.hover {
							background-color: rgb(193,215,45);
							color: rgb(255,255,255) !important;
						}

						div#header_inner > ul#menu > li > ul.submenu {
							display: none;
							position: absolute;
							z-index: 2000000000;
							top: 53px;
							/*left: -168px;*/
							width: 450px;
							background-color: rgb(193,215,45);
							padding-bottom: 14px;
							padding-top: 14px;
							border-radius: 5px;
						}

							div#header_inner > ul#menu > li > ul.submenu > li {
								background-color: transparent;
								cursor: pointer;
								display: block;
								clear: both;
								padding: 10px 25px;
								transition: background-color 0.2s;
							}

							div#header_inner > ul#menu > li > ul.submenu > li::after {
								clear: both;
								content: "";
								display: table;
							}

							div#header_inner > ul#menu > li > ul.submenu > li:hover {
								background-color: rgba(0,0,0,0.1);
							}

							/* div#header_inner > ul#menu > li > ul.submenu > li:first-child {
								padding-top: 25px;
							} */

							/* div#header_inner > ul#menu > li > ul.submenu > li:last-child {
								padding-bottom: 25px;
							} */

								div#header_inner > ul#menu > li > ul.submenu > li > div.submenuImage {
									float: left;
									width: 54px;
									height: 49px;
									border: 2px solid rgb(255,255,255);
									background-position: center center;
									background-repeat: no-repeat;
									background-size: cover;
								}

								div#header_inner > ul#menu > li > ul.submenu > li > p.submenuProjectName {
									position: relative;
									top: 2px;
									margin: 0 0 0 69px;
									font-size: 14px;
									font-weight: bold;
									color: rgb(255,255,255);
								}

								div#header_inner > ul#menu > li > ul.submenu > li > p.submenuItemName {
									position: relative;
									top: 16px;
									margin: 0 0 0 69px !important;
									font-size: 14px;
									font-weight: bold;
									color: rgb(255,255,255);
								}

								div#header_inner > ul#menu > li > ul.submenu > li > p.submenuShortDescription {
									font-size: 12px;
									color: #5b6267;
									margin: 7px 0 0 69px;
									line-height: 140%;
								}

		div#subheader {
			width: 100%;
			overflow: hidden;
			text-align: center;
			border-top: 3px solid rgb(193,215,45);
			background-color: rgb(91,98,103);
		}

			div#subheader_inner {
				display: flex;
				align-items: center;
				height: 37px;
				gap: 1em;
				justify-content: space-between;
				max-width: 1300px;
				margin-left: auto;
				margin-right: auto;
				padding-top: 6px;
				text-align: left;
			}

				div#subheader_inner div#subheader_phone_number {
					float: right;
					color: rgb(255,255,255);
					font-family: "Rockwell";
					font-size: 21px;
					font-weight: normal;
					line-height: 100%;
				}

					div#subheader_inner div#subheader_phone_number p{
						margin: 0;
					}

					div#subheader_inner div#subheader_phone_number span {
						font-size: 15px;
						color: rgba(255,255,255,0.7);
						margin-right: 8px;
					}

				div#subheader_inner h1 {
					color: rgb(255,255,255);
					font-family: "Rockwell";
					font-size: 21px;
					font-weight: normal;
					line-height: 100%;
					margin: 0;
				}

/* ########## HERO IMAGES ########## */

.hero-images {
	position: absolute;
	top: 170px; /** Match #all_headers height */
	left: 0;
	width: 100%;
	height: calc(100% - 170px);
	z-index: -1;
	background: no-repeat 50% 50%;
	background-size: cover;
}

body.admin-bar .hero-images {
	top: calc(170px + var(--wp-admin--admin-bar--height, 0px));
	height: calc(100% - 170px - var(--wp-admin--admin-bar--height, 0px));
}

.hero-images__image {
	position: absolute;
	top: 0;
	display: block;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 2s;
	opacity: 0;

	&.complete {
		opacity: 1;
		transition: none;
	}

	&.active {
		opacity: 1;
	}
}

/* ########## HOME ########## */

	div#mobile_hero {
		display: none;
	}

	div#home_click_or_scroll_container {
		position: relative;
		margin-top: calc(100vh - 94px - var(--wp-admin--admin-bar--height, 0px));
		width: 100%;
		height: 94px;
		text-align: center;
	}

		div#home_click_or_scroll_container div#border_bottom {
			position: absolute;
			z-index: 100;
			bottom: 0;
			width: 100%;
			height: 3px;
			background-color: rgb(193,215,45);
		}

		div#home_click_or_scroll_container div#down_arrow {
			cursor: pointer;
			width: 48px;
			height: 48px;
			background-color: rgb(91,98,103);
			border: 0;
			border-radius: 24px;
			margin-left: auto;
			margin-right: auto;
		}

		div#home_click_or_scroll_container p#click_or_scroll {
			cursor: pointer;
			position: relative;
			z-index: 200;
			display: inline-block;
			width: 372px;
			height: 38px;
			overflow: hidden;
			background-color: rgb(91,98,103);
			color: rgb(255,255,255);
			font-size: 11px;
			font-family: 'Open Sans', arial;
			font-weight: bold;
			letter-spacing: 0.2em;
			margin: 8px auto 0 auto;
			padding: 0;
			line-height: 38px;
			-webkit-clip-path: polygon(38px 2px, 42px 0, 330px 0, 334px 2px, 100% 100%, 0% 100%);
			clip-path: polygon(38px 2px, 42px 0, 330px 0, 334px 2px, 100% 100%, 0% 100%);
		}

/* ########## HOME Sections ########## */

.home-intro {
	background-color: rgb(91,98,103);
	font-size: 18px;
	max-width: 100% !important;
	padding-bottom: 50px;
	padding-top: 50px;
	width: 100% !important;

	&:first-child {
		margin-top: -36px; /** Counter div.content_inner div.main_content padding-top */
	}

	& > * {
		margin-left: auto;
		margin-right: auto;
		max-width: 1100px;
		width: calc(100% - 2 * 20px);

		&:last-child {
			margin-bottom: 0;
		}

		&:is(
			h1,
			h2
		) {
			font-weight: 700;
			line-height: 1.2;
			max-width: 990px;
		}
	}

	& :is(
		p,
		li
	) {
		font-size: inherit !important;
	}
}

.home-services {
	background: url(<path-to-image>) lightgray 50% / cover no-repeat;
	background: no-repeat 50% 50% white url('/images/home-services.jpg');
	background-size: cover;
	color: rgb(91,98,103);
	font-size: 18px;
	max-width: 100% !important;
	padding-bottom: 50px;
	padding-top: 50px;
	width: 100% !important;

	&:last-child {
		margin-bottom: -40px; /** Counter div.content_inner div.main_content padding-top */
	}

	& > * {
		margin-left: auto;
		margin-right: auto;
		max-width: 1100px;
		width: calc(100% - 2 * 20px);

		&:last-child {
			margin-bottom: 0;
		}

		&:is(
			h1,
			h2,
			h3,
			h4,
			h5,
			h6,
			p
		) {
			color: inherit !important;
		}

		&:is(
			h1,
			h2
		) {
			font-weight: 700;
			line-height: 1.2;
			max-width: 990px;
		}

		&:is(
			p
		) {
			font-size: inherit !important;
		}
	}
}

.home-services-cards {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	max-width: 1300px;
	width: calc(100% - 2 * 30px);

	&:where(:not(:first-child)) {
		margin-top: 50px;
	}

	@media (max-width: 1359px) {
		max-width: 768px; /** 3 rows */
	}
}

.home-services-card {
	position: relative;
	width: 236px;
	padding-bottom: 4px;
}

.home-services-card__image {
	aspect-ratio: 1 / 1;
	background-color: rgb(0 0 0 / 0.1);
	border-radius: 10px;
	display: block;
	overflow: hidden;
	position: relative;
	width: 236px;

	&::after {
		content: '';
		background: no-repeat 0 0;
		background-image: linear-gradient(135deg, rgba(193,215,45, 0) 0%, rgba(193,215,45, 0) 50%, rgba(193,215,45, 1) 50%, rgba(193,215,45, 1) 100%);
		bottom: 0;
		position: absolute;
		width: 24px;
		height: 24px;
		right: 0;
		transform: translate(100%, 100%);
		transition: transform 0.2s;
	}
}

.home-services-card:hover .home-services-card__image::after {
	transform: translate(0, 0);
}

.home-services-card__image img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.4s ease-out;
}

.home-services-card:hover .home-services-card__image img {
	transform: scale(1.1);
}

.home-services-card__heading {
	color: rgb(91,98,103) !important;
	font-family: 'Open Sans', arial !important;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	margin-top: 0 !important;
	margin-left: auto;
	margin-right: auto;
	max-width: calc(100% - 2 * 1em);

	& > a {
		color: inherit;
		display: inline-block;
		cursor: pointer;

		/*
		border-bottom: 3px solid transparent;
		transition: border-bottom-color 0.2s;
		*/

		/*
		text-decoration: underline;
		text-decoration-color: transparent;
		text-decoration-thickness: 3px;
		text-underline-offset: 7px;
		transition: text-decoration-color 0.2s;
		*/

		/** Extend clickable area */
		&::before {
			content: '';
			height: 100%;
			left: 0;
			position: absolute;
			top: 0;
			width: 100%;
		}
	}
}

.home-services-card:hover .home-services-card__heading a {
	/* border-bottom-color: rgb(193,215,45); */
	/* text-decoration-color: rgb(193,215,45); */
}

/* ########## CONTENT ########## */

	div.content {
		width: 100%;
		background-color: rgba(140,145,158,0.92);
		margin: 0;
		padding-top: 170px; /** Match #all_headers height */
	}

	div.content.content_home {
		padding-top: 0;
	}

		div.content_inner {
			text-align: left;
		}

			div.content_inner div.main_content {
				padding: 36px 0 40px;
			}

				div.content_inner div.main_content > * {
					width: calc(100% - 2 * 20px);
					max-width: 1000px;
					margin-left: auto;
					margin-right: auto;
				}

				div.content_inner div.main_content h2 {
					font-family: "Rockwell";
					font-size: 32px;
					margin-bottom: 12px;
					color: rgb(255,255,255);
				}

				div.content_inner div.main_content h3 {
					font-family: "Rockwell";
					font-size: 20px;
					margin-top: 12px;
					color: rgb(255,255,255);
				}

				div.main_content p {
					font-size: 14px;
					color: rgb(255,255,255);
					line-height: 160%;
					margin-bottom: 20px;
				}

				div.main_content p.strong {
					font-size: 14px;
					font-weight: bold;
					color: rgb(255,255,255);
					line-height: 160%;
					margin-bottom: 30px;
					text-decoration: underline;
				}

				div.main_content ul {
					list-style-type: disc;
				}

				div.main_content ol {
					list-style-type: decimal;
				}

				div.main_content ul,
				div.main_content ol {
					margin-bottom: 18px;
					padding-left: 1.8em;
					line-height: 160%;
				}

					div.main_content ul li,
					div.main_content ol li {
						font-size: 14px;
						color: rgb(255,255,255);
						margin-bottom: 18px;
					}

				div.main_content ul li ul {
					margin-top: 18px;
				}

				div.main_content ul li:not(:last-child) ul {
					padding-bottom: 14px;
				}

					div.main_content ul li ul li {
						margin-bottom: 18px;
					}

					div.main_content ul li ul li:last-of-type {
						margin-bottom: -12px;
					}

				div.main_content a.button_link {
					display: inline-block;
					background-color: rgb(193,215,45);
					color: rgb(255,255,255);
					text-transform: uppercase;
					font-size: 14px;
					font-weight: bold;
					letter-spacing: 0.12em;
					padding: 10px 20px 10px 20px;
					border: 0;
					border-radius: 10px;
				}

			/* div.content_inner div.sidebar_content {
				width: 38%;
				padding: 36px 0 40px 38px;
				background: rgba(0,0,0,0.1);
				background: -webkit-linear-gradient(left, rgba(0,0,0,0.1) 0%, transparent 25%, transparent 100%);
				background: -o-linear-gradient(right, rgba(0,0,0,0.1) 0%, transparent 25%, transparent 100%);
				background: -moz-linear-gradient(right, rgba(0,0,0,0.1) 0%, transparent 25%, transparent 100%);
				background: linear-gradient(to right, rgba(0,0,0,0.1) 0%, transparent 25%, transparent 100%);
			}

				div.content_inner div.sidebar_content h2 {
					font-family: "Rockwell";
					font-size: 32px;
					margin: 0 0 12px 0;
					color: rgb(255,255,255);
				}

				div.content_inner div.sidebar_content p {
					font-size: 14px;
					margin: 0 0 20px 0;
					color: rgb(255,255,255);
					line-height: 160%;
				}

					div.sidebar_content p.blog_item a {
						color: rgb(255,255,255);
					}

					div.sidebar_content p.blog_item a:hover {
						color: rgb(193,215,45);
						text-decoration: underline;
					}

				div.content_inner div.sidebar_content a.button_link {
					display: inline-block;
					background-color: rgb(193,215,45);
					color: rgb(255,255,255);
					text-transform: uppercase;
					font-size: 14px;
					font-weight: bold;
					letter-spacing: 0.12em;
					padding: 10px 20px 10px 20px;
					margin: 0 0 0 0;
					border: 0;
					border-radius: 10px;
				}

				div.content_inner div.sidebar_content hr {
					margin: 25px 0 25px 0;
					background: none;
					border-bottom: 1px dotted rgb(255,255,255);
				}

					div.content_inner div.sidebar_content .mission .infuse-block{
						font-size: 1.5em;
						padding-bottom: 0 !important;
					}

						div.content_inner div.sidebar_content .mission .infuse-block p{
							font-size: .8em;
						}
						div.content_inner div.sidebar_content .mission ul{
							padding-left: 0;
						}
							div.content_inner div.sidebar_content .mission li{
								color: white;
								font-weight: bold;
								min-height: 2em;
							}
							div.content_inner div.sidebar_content .mission li::before{
								background-image: url('/images/logo_icon_only.png');
								background-repeat: no-repeat;
								background-size: contain;
								content: '';
								display: inline-block;
								height: 1em;
								width: 2em;
							} */

	/* ########## PHOTO GALLERIES ########## */

		div.main_content div.photo_gallery {
			clear: both;
		}

			div.main_content div.photo_gallery h3 {
				font-size: 20px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
			}

			div.photo_gallery div.photo_gallery_description {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
				line-height: 160%;
			}

			div.fancyboxContainer {
				display: inline-block;
				margin-top: 10px;
			}

			div.photo_gallery div.photo {
				cursor: pointer;
				display: inline-block;
				width: 150px;
				height: 150px;
				border: 2px solid rgb(255,255,255);
				border-radius: 5px;
				margin: 0 25px 25px 0;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
			}

			div.main_content div.photo_gallery p.no_photos {
				color: rgba(255,255,255,0.5);
				font-style: italic;
			}

	/* ########## VIDEO GALLERIES ########## */

		div.main_content div.video_gallery {
			margin: 0;
			clear: both;
		}

			div.main_content div.video_gallery h3 {
				font-size: 20px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
			}

			div.video_gallery div.video_gallery_description {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
				line-height: 160%;
			}

			div.fancyboxContainer {
				display: inline-block;
				margin-top: 10px;
			}

			div.video_gallery div.video {
				cursor: pointer;
				display: inline-block;
				width: 150px;
				height: 150px;
				border: 2px solid rgb(255,255,255);
				border-radius: 5px;
				margin: 0 25px 25px 0;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
			}

			div.video_gallery a.fancybox {
				display: none;
			}

			div.video_gallery div.hidden_video {
				display: none;
				width: 100vw !important;
				height: 100vh !important;
			}

				div.hidden_video iframe {
					width: 90vw;
					height: 60vh;
				}

			div.main_content div.video_gallery p.no_videos {
				color: rgba(255,255,255,0.5);
				font-style: italic;
			}

	/* ########## PROJECTS ########## */

		div.main_content div.project {
			margin: 0;
		}

			div.main_content div.project h3 {
				font-size: 20px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
			}

			div.project div.project_description {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
				line-height: 160%;
			}

			div.project div.project_scope {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 8px 0;
				line-height: 160%;
			}

	/* ########## JOBS ########## */

		div.main_content div.job {

		}

			div.main_content div.job h3 {
				font-size: 20px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
			}

			div.job div.job_description {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 25px 0;
				line-height: 160%;
			}

	/* ########## SERVICES ########## */

		div.main_content div.service {

		}

			div.main_content div.service div.service_image {
				float: right;
				margin: 0 0 25px 25px;
				width: 150px;
				height: 150px;
				background-color: rgb(91,98,103);
				border: 3px solid rgb(255,255,255);
				border-radius: 75px;
				background-position: center center;
				background-repeat: no-repeat;
			}

			div.main_content div.service h3 {
				font-size: 20px;
				color: rgb(255,255,255);
				margin: 0 175px 25px 0;
			}

			div.service div.service_description {
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 175px 25px 0;
				line-height: 160%;
			}

			div.service div.intro_text_photos {
				clear: both;
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 0 0;
				line-height: 160%;
			}

			div.service div.intro_text_videos {
				clear: both;
				font-size: 14px;
				color: rgb(255,255,255);
				margin: 0 0 0 0;
				line-height: 160%;
			}

	/* ########## BLOG ########## */

		.page-template-blog .newsletter-container{
			display: flex;
			flex-wrap: wrap;
		}

		.page-template-blog .newsletter{
			border-bottom: 1px dotted white;
			margin-bottom: 40px;
		}

		.page-template-blog .newsletter:nth-child(even){
			flex-basis: calc(50% - 15px);
			margin-left: 15px;
		}

		.page-template-blog .newsletter:nth-child(odd){
			flex-basis: calc(50% - 15px);
			margin-right: 15px;
		}

		/*.page-template-blog .newsletter-img{
			max-width: 100% !important;
			width: 100% !important;
		}*/

		.page-template-blog div.blog_image {
			display: block;
			position: relative;
			width: 100%;
			height: 300px;
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
		}

		.page-template-blog .newsletter-link{
			margin-top: 20px;
		}

		img.alignright {
			float: right;
			margin: 3px 0 25px 25px;
		}

		img.alignleft {
			float: left;
			margin: 3px 25px 25px 0;
		}

		p.postDate {
			margin: 0;
			color: rgb(255,255,255);
		}

		p.previousAndNext a {
			color: rgb(255,255,255);
		}

		p.previousAndNext a:hover {
			color: rgb(193,215,45);
			text-decoration: underline;
		}

		p.moreBlogPosts a{
			color: rgb(255,255,255);
		}

		p.moreBlogPosts a:hover {
			color: rgb(193,215,45);
			text-decoration: underline;
		}

		div.blog_container {

		}

			div.blog_container h3.blog_title {
				color: rgb(255,255,255);
				font-size: 20px;
				margin-bottom: 5px;
				text-decoration: none;
			}

			div.blog_container h3.blog_title a {
				color: rgb(255,255,255);
			}

			div.blog_container h3.blog_title a:hover {
				text-decoration: underline;
			}

			div.blog_container p.blog_date {
				font-size: 12px;
				color: rgba(255,255,255,0.6);
			}

			div.blog_container p.blog_excerpt {

			}

			div.blog_container p.blog_excerpt a {
				color: rgba(255,255,255,0.6);
				text-decoration: none;
			}

			div.blog_container p.blog_excerpt a:hover {
				color: rgb(255,255,255);
				text-decoration: underline;
			}

			div.blog_container p.blog_link a {
				display: inline-block;
				padding: 5px 15px 5px 15px;
				background-color: rgb(255,255,255);
				text-transform: uppercase;
				font-weight: bold;
				font-size: 12px;
				color: rgb(193,215,45);
				border-radius: 10px;
				cursor: pointer;
			}

			div.blog_container p.blog_link a:hover {
				background-color: rgb(193,215,45);
				color: rgb(255,255,255);
			}

		div#mc_embed_signup {

		}

			div#mc_embed_signup form#mc-embedded-subscribe-form {
				padding: 0;
			}

				div#mc_embed_signup form#mc-embedded-subscribe-form input[type=submit] {
					background-color: rgb(193,215,45);
					border-radius: 10px;
					padding: 10px 20px 10px 20px;
					letter-spacing: 0.12em;
					color: rgb(255,255,255);
					text-transform: uppercase;
					font-weight: bold;
					line-height: 13px;
				}

	/* ########## ABOUT US ########## */

	.team-container {
		display: flex;
		flex-wrap: wrap;
	}

	.team-member {
		flex-basis: calc(33.3% - 10px);
		margin: 0 5px 40px;
		position: relative;

	}

		.team-member img {
			display: block;
			margin: auto;
			min-height: 300px;
			max-width: 100% !important;
			object-fit: cover;
			width: 100%;
		}

		.team-member .overlay{
			background-color: rgba(0,0,0,0.1);
			height: 100%;
			opacity: 0;
			position: absolute;
			top: 0;
			transition: all .6s;
			width: 100%;
			text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
		}

		@media(hover:none){
			.team-member .overlay{
				opacity: 1;
			}
		}

		.team-member .overlay:hover{
			opacity: 1;
		}

			.team-member .overlay .overlay-text{
				bottom: 0;
				padding: 10px;
				position: absolute;
				width: calc(100% - 20px);
			}

				.team-member .position{
					margin-bottom: 0;
				}



/* ########## FOOTER ########## */

div#footer {
	width: 100%;
	background-color: rgb(255,255,255);
	border-top: 3px solid rgb(193,215,45);
	line-height: 1.5;
}

div#footer_inner ul#footer_menu {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
}

div#footer_inner ul#footer_menu li {
	display: inline-block;
	margin: 0 27px 0 0;
}

div#footer_inner ul#footer_menu li a {
	font-size: 12px;
	color: rgb(91,98,103);
}

div#footer_inner p#copyright {
	font-size: 12px;
	color: rgb(91,98,103);
	margin: 30px 0 0 0;
}

div#footer_contact {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 74px;
	white-space: nowrap;
}

div#footer_testimonial {
	background-color: rgb(91,98,103);
	color: white;
	flex-basis: 100%;
	font-family: "Rockwell";
	padding: 5px 20px 18px 20px;
	text-align: center;
}

	.testimonial .copy {
		font-size: 20px;
		font-weight: bold;
		margin: 1em auto;
		max-width: 1000px;
		line-height: 28px;
	}

	.testimonial .copy::before {
		content: '“';
	}

	.testimonial .copy::after {
		content: '”';
	}

	.testimonial .attribution {
		font-size: 16px;
		font-weight: bold;
		margin-top: 25px;
	}

	.testimonial .attribution span {
		font-style: italic;
	}

div#footer_bottom {
	padding-top: 40px;
	padding-bottom: 22px;
}

div.footer_bottom_columns {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

div.footer_bottom_columns + div.footer_bottom_columns {
	margin-top: 30px;
}

div.footer_bottom_column {}

div#footer_contact div#mailing_address {
	text-align: left;
	font-size: 12px;
	font-weight: normal;
	width: fit-content;
}

div#footer_contact p#mailing_address_header {
	margin: 0;
}

div#footer_contact p#mailing_address_address {
	font-size: 12px;
	font-weight: bold;
	margin-top: 4px;
	line-height: 125%;
}

div#footer_contact p#phone_number_header {
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 3px;
	margin-top: 0;
}

div#footer_contact p#phone_number {
	font-size: 24px;
	font-weight: bold;
	color: rgb(193,215,45);
	margin: 0;
	line-height: 1;
}

div#footer_contact p#email_address {
	font-size: 12px;
	font-weight: bold;
	margin-top: 6px;
}

div#footer_contact p#email_address a {
	color: rgb(91,98,103);
	text-decoration: none;
}

/* ########## Footer CTA ########## */

.footer_call-to-action {
	display: flex;
	flex-wrap: wrap;
	background: linear-gradient(180deg, #FFF 0%, #EFEFEF 100%);
}

.footer_call-to-action__image,
.footer_call-to-action__text {
	width: 50%;
	flex-shrink: 0;
}

.footer_call-to-action__image {
	position: relative;
}

.footer_call-to-action__image img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.footer_call-to-action__text {
	padding: 40px;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 28px; /* 155.556% */

	& > * {
		max-width: 508px;
		margin-left: auto;
		margin-right: auto;

		&:where(:not(:first-child)) {
			margin-top: 18px;
		}

		&:where(:not(:last-child)) {
			margin-bottom: 18px;
		}
	}
}

.footer_call-to-action__text h2 {
	color: #5B6267;
	font-family: Rockwell;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.footer_call-to-action__text .button_link {
	display: inline-block;
	background-color: rgb(193,215,45);
	color: rgb(255,255,255);
	text-transform: uppercase;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 0.12em;
	padding: 4px 20px;
	border: 0;
	border-radius: 10px;
}

/* ########## Footer Social ########## */

#footer_social {}

#footer_social h2 {
	color: #5B6267;
	font-family: Rockwell;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

/*
#footer_social #social_container.social_container--png {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 0;
	margin-left: -14px;
}

#footer_social #social_container.social_container--png a {
	background-color: #5B6267;
	border-radius: 10px;
	transition: background-color 0.2s;

	& img {
		display: block;
		margin: -2px;
	}

	&:hover {
		background-color: rgb(193,215,45);
	}
}
*/

#footer_social #social_container.social_container--svg {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	margin-left: -6px; /** Counter #social_container a padding-left */
	margin-bottom: -6px; /** Counter #social_container a padding-bottom */
}

#footer_social #social_container.social_container--svg a {
	/* height: calc(36px + 2 * 6px); */
	padding: 6px;
	display: block;

	& svg {
		display: block;
		object-fit: contain;
		height: 36px;

		& path {
			transition: fill 0.2s;
		}
	}

	&:hover {

		& svg {

			& path {
				fill: rgb(193,215,45);
			}
		}
	}
}

/* ########## Footer Badges ########## */

#footer_badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px 30px;

	&:where(:not(:last-child)) {
		margin-bottom: 18px;
	}
}

#footer_badges img[src="/images/logo_vch.png"] {
	margin-top: -4px;
}

#footer_badges #bbb_iframe {
	border: 0;
	height: 42px;
	overflow: hidden;
	width: calc(200px - 5px);
}

/* ########## GRAVITY FORMS ########## */

	*:focus {
		outline: 0;
	}

	label.gfield_label {
		font-size: 14px;
		color: rgb(255,255,255);
		line-height: 100%;
	}

	span.gfield_required {
		color: rgb(255,255,255) !important;
	}

	div.ginput_container {
		margin-bottom: 14px;
		width: 100%;
	}

		div.ginput_container input.medium {
			border: 0;
			font-size: 14px;
			font-weight: bold;
			width: 100% !important;
			color: rgb(91,98,103);
			padding: 5px;
			margin-top: 3px;
		}

		div.ginput_container textarea.textarea {
			border: 0;
			font-size: 14px;
			font-weight: bold;
			width: 100% !important;
			color: rgb(91,98,103);
			padding: 5px;
			margin-top: 3px;
		}

		div.gform_footer {
			margin-top: 0em !important;
		}

		input.gform_button, input.gform_button_select_files  {
			cursor: pointer;
			background-color: rgb(193,215,45);
			color: rgb(255,255,255);
			text-transform: uppercase;
			font-size: 14px;
			font-weight: bold;
			letter-spacing: 0.12em;
			padding: 10px 20px 10px 20px;
			margin: 0 0 0 0;
			border: 0;
			border-radius: 10px;
		}

		input.gform_button_select_files{
			font-size: 12px;
			padding: 8px 12px;
		}

		div.charleft {
			display: none;
		}

	div.validation_error {
		font-size: 14px !important;
		font-weight: bold !important;
		color: rgb(255,255,128) !important;
		border-top: 0 !important;
		border-bottom: 0 !important;
		line-height: 150% !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 0 20px 0 !important;
	}

	.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	    background: none !important;
	    background-color: rgba(0,0,0,0.25) !important;
	    margin-bottom: .375em !important;
	    padding: 20px 10px 5px 10px !important;
	    border-top: none !important;
	    border-bottom: none !important;
	    border: 1px solid rgb(255,255,255) !important;
	    width: 100% !important;
	}

	.gform_wrapper .gfield_error .gfield_label {
		color: rgb(255,255,255) !important;
	}

	.gform_wrapper .gfield_error input,
	.gform_wrapper .gfield_error textarea {
		border: none !important;
	}

	.validation_message {
		display: none;
	}

	div#gform_confirmation_message_1 {
		color: rgb(255,255,255) !important;
	}

	div.gform_confirmation_message {
		color: rgb(255,255,255) !important;
	}
	.gform_drop_instructions{
		color: white;
	}

/* ########## INFUSE CONTENT BLOCKS ########## */

	div.infuse-block {
		padding: 0 0 20px 0 !important;
	}

	div.infuse-container {
		padding: 0 !important;
	}
