
/*
 *	EU COOKIE LAW
 */
 
/*
.eu_cookie_law {
	position: fixed !important;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999999;
}
.eu_cookie_law #eu-cookie-law {
	color: #444444;
	background-color: rgba(255,255,255,.9);
}
.eu_cookie_law #eu-cookie-law > a {
	margin: .6ch;
	color: #008295;
	text-decoration: none;
}
#eu-cookie-law input {
	color: #008295;
	transition: background-color .2s, border-color .2s,	color .2s;
}
#eu-cookie-law input:focus,
#eu-cookie-law input:hover {
	background-color: #008295 !important;
	border-color: #008295 !important;
	color: #fff !important;
}
*/

/*
 *	Main Design Changes
 */

/* Seems no longer to be necessary
body.admin-bar .toggle-bar {
	top: 54px;
}
@media (max-width: 782px) {
	body.admin-bar .toggle-bar {
		top: 68px;
	}
}
*/

#ht-content {
	min-height: 100vh;
	min-height: calc(100vh - 150px);
}
.ht_full_width {
	width: 100%;
}
.ht_restricted_width {
	max-width: 1170px;
	margin: 0 auto;
}
#wpadminbar {
	overflow: hidden;
}

@media (max-width: 767px) {
	.mid_mobile_hide {
		display: none !important;
	}
}

/* Min Height Prefabs */
.block_height_40 {
	min-height: 40vh !important;
}
.block_height_60 {
	min-height: 60vh !important;
}
.block_height_80 {
	min-height: 80vh !important;
}
.block_height_100 {
	min-height: 100vh !important;
}
.max_height_40 {
    max-height: 40vh;
}
.max_height_60 {
    max-height: 60vh;
}
.max_height_80 {
    max-height: 80vh;
}
.max_height_100 {
    max-height: 100vh;
}
picture img.max_height_40,
picture img.max_height_60,
picture img.max_height_80,
picture img.max_height_100 {
	width: auto;
}

/* Main Menu */
@media (min-width: 1001px) {
	#ht-site-branding img {
		max-height: 86px;
		transition: max-height .3s;
	}
	.ht-sticky #ht-site-branding img {
		max-height: 60px;
	}
	.ht-main-navigation li.menu-item-has-children {
		padding-bottom: .5em;
	}
}

.ht-main-navigation a {
	position: relative;
	transition: color .3s;
	z-index: 0;
}
.ht-main-navigation li > a {
	color: #444444 !important;
	background-color: transparent !important;
}
.ht-main-navigation li:hover > a,
.ht-main-navigation a:hover,
.ht-main-navigation a:focus {
	background-color: transparent !important;
	color: #ffffff !important;
}
.ht-main-navigation a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 100%;
	background-color: #008295;
	transition: top .3s;
	z-index: -1;
}
.ht-main-navigation li:hover > a:before,
.ht-main-navigation a:hover:before,
.ht-main-navigation a:focus:before {
	top: 0;
}

.ht-main-navigation ul.sub-menu {
	background-color: #eeeeee;
}

.ht-main-navigation ul ul {
	position: absolute;
	margin-top: 0;
	border: none;
	padding: 0;
	-moz-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	left: 50%;
	box-shadow: 0 .2em .6em rgba(0,0,0,0.1), 0 .1em .4em rgba(0,0,0,0.05);
}
.ht-sticky .ht-main-navigation ul ul {
	margin-top: 0;
}
.ht-main-navigation ul ul li {
	margin: 0;
}
.ht-main-navigation ul li > ul {
	pointer-events: none;
    display: block;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	filter: alpha(opacity=00);
	transition: opacity .3s, max-height 1s;
}
.ht-main-navigation ul li.open ul,
.ht-main-navigation ul li:hover > ul {
	pointer-events: auto;
	max-height: 100vh;
	opacity: 1;
	filter: alpha(opacity=100);
}

.ht-main-navigation ul:not(.sub-menu) > .current_page_item > a,
.ht-main-navigation a:hover,
.ht-main-navigation a:focus,
body.single-project .ht-main-navigation .active_if_projects a {
	color: #ffffff !important;
	background: #008295 !important;
	text-shadow: 0 0 6px rgba(0,0,0,.2);
}

@media (min-width: 1001px) {
	.ht-main-navigation a {
		border-bottom: 2px solid #008295;
		font-family: "Work Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
		font-weight: 500;
	}
}
@media (max-width: 1000px) {
	body:not(.home) .ht-main-navigation .ht-menu {
		background: #ffffff !important;
	}
	body:not(.home) .ht-main-navigation ul {
		box-shadow: 0 6px 12px -6px rgba(0,0,0,.2);
	}
	body:not(.home) .ht-main-navigation a {
		padding: .8vh 0;
		background: #008295;
		text-shadow: 0 0 6px rgba(0,0,0,.2);
		box-shadow: 0 2px 4px -2px inset rgba(0,0,0,.1);
	}
	body:not(.home) .ht-main-navigation a:hover,
	body:not(.home) .ht-main-navigation a:focus {
		box-shadow: 0 2px 8px -1px inset rgba(0,0,0,.3), 0 0 999vw 0 inset rgba(0,0,0,.05);
	}
}

/* HOME */
body.home .hentry,
body.home #ht-colophon {
	margin: 0;
}
body.home .ht-container {
	width: 100%;
}
body.home section.elementor-section-height-full {
	height: auto;
	min-height: 100vh;
}
body.home.admin-bar section.elementor-section-height-full {
	height: auto;
	min-height: calc(100vh - 32px);
}

body.home .elementor-background-overlay {
	cursor: pointer;
}
body.home .elementor-background-overlay.faded {
	opacity: 0 !important;
	filter: alpha(opacity=00) !important;
}

body.home .ht-main-navigation,
body.home .ht-main-navigation .elementor-widget-container {
	margin: 0;
}
body.home .ht-main-navigation .elementor-widget-container > div > ul {
	padding: 1em 1em .5em;
	background: #ffffff;
	text-align: right;
}
body.home .ht-main-navigation .elementor-widget-container > div > ul > li {
	float: none;
	display: inline-block;
	margin: 0 .15em;
}

/*
body.home .ht-main-navigation .menu-item-has-children > a::after {
    content: '\f107';
    font-family: FontAwesome;
    right: 1em;
    height: 0;
    width: 0;
	padding-left: 0.3em;
}
*/

body.home .ht-main-navigation .elementor-widget-container > div > ul::before {
	content: "";
	display: block;
	float: left;
	margin-top: -.8em;
	height: 3.8em;
	width: 10em;
	background: url("/wp-content/uploads/2018/05/Logo_TextOnly.png") no-repeat center left;
	background-size: contain;
	transition: background-position, .3s margin .3s;
}

body.home .ht-main-navigation a {
	color: #008295;
	font-size: 1.2em;
	line-height: 2em;
	font-weight: 300 !important;
	text-align: center;
}

body.home .ht-main-navigation li.current_page_item {
	display: none !important;
}

.menu-item-has-children .ht-dropdown::after, .menu-item-has-children ul .ht-dropdown::after {
	line-height: 22px;
}

@media (max-width: 1000px) {
	body.home .ht-main-navigation .elementor-widget-container > div > ul {
		text-align: center;
	}
	body.home .ht-main-navigation .elementor-widget-container > div > ul::before {
		width: 100%;
		margin: 0 auto .5em !important;
	}
	body.home .ht-main-navigation a {
		border-bottom: 2px solid #008295;
	}
	body.home .ht-main-navigation .menu-item-has-children > a {
		padding-right: 45px;
	}
	body.home .ht-main-navigation .elementor-widget-container > div > ul::before {
		margin: 0 .5em .7em;
		background-position: center;
	}
}
@media (max-width: 520px) {
	body.home .ht-main-navigation ul li {
		width: 100%;
	}
	body.home .ht-main-navigation .menu-item-has-children > a::after {
		position: absolute;
	}
	body.home .ht-main-navigation .elementor-widget-container > div > ul {
		padding: .5em 0 0;
	}
	body.home .ht-main-navigation .elementor-widget-container > div > ul > li {
		margin: 0;
	}
}


/* Image Select */

img {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}

/* Titles */

body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
.ht-main-navigation a,
.cc-revoke, .cc-window {
	font-family: "Work Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-family: "Helvetica Neue" !important;
	font-family: "Work Sans" !important;
}
h1 {
	font-weight: 600;
}
h2,
h3 {
	font-weight: 500;
}
h4,
h5,
h6 {
	font-weight: 400;
}
h6 {
	color: #9a9a9a;
	margin: .5em 0 0;
}

/* Header */
header.ht-main-header {
	height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
}

@media (min-width: 1001px) {
	#ht-masthead {
		height: 120px;
	}
	.ht-sticky-header #ht-content {
		padding-top: 120px;
	}
}

body.elementor-page .entry-date {
	display: none;
}

/* Pagination */

.pagination .page-numbers.current {
	background-color: #008295 !important;
}
.pagination .page-numbers,
.pagination .page-numbers:hover,
.pagination .page-numbers:focus {
	background-color: #aaaaaa !important;
	opacity: .6;
	filter: alpha(opacity=60);
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover,
.pagination .page-numbers:focus {
	opacity: 1;
	filter: alpha(opacity=100);
}


/*
 *	COLORS
 */

/* Selection */
::selection {
	background: #008295;
}
::-moz-selection {
	background: #008295;
}

/* Dark Areas */
.dark {
	background: #008295;
}
.dark ::selection {
	color: #008295 !important;
}
.dark ::-moz-selection {
	color: #008295 !important;
}

/* General */

.ht-cta-buttons a.ht-cta-button2:focus,
#ht-back-top:focus {
	background-color: #008295;
}
.pagination .page-numbers.current,
body.single-project .ht-main-navigation .active_if_projects a {
	background-color: #008295 !important;
}
.ht-active .ht-service-icon {
	box-shadow:
		0px 0px 0px 2px #FFF,
		0px 0px 0px 4px #008295;
}
#project_carousel,
#project_featured,
body.single-project .ht-main-navigation .active_if_projects a {
	border-color: #008295;
}

/* Dark Banner */
.dark.banner .elementor-heading-title {
	text-shadow: 0 0 26px rgba(0,0,0,.5), 0 0 36px #008295;
}

@media screen and (max-width:1000px) {
	.toggle-bar,
	.ht-main-navigation .ht-menu {
		background: #008295;
	}
}

/* Blurry Background Overlay */
.blurry_bg_overlay .elementor-background-overlay {
	-webkit-filter: blur(.5em);
	filter: blur(.5em);
}

/*
 *	IMAGE SLIDERS
 */

/* Capped Versions */
.slick_capped_40 .elementor-slick-slider .slick-slide img {
    max-height: 40vh;
}
.slick_capped_60 .elementor-slick-slider .slick-slide img {
    max-height: 60vh;
}
.slick_capped_80 .elementor-slick-slider .slick-slide img {
    max-height: 80vh;
}
.slick_capped_100 .elementor-slick-slider .slick-slide img {
    max-height: 10vh;
}

/* Dots to Squares */
.elementor-slick-slider ul.slick-dots li {
	margin: 0 3px !important;
}
.elementor-slick-slider ul.slick-dots li button::before {
	font-size: 40px !important;
	line-height: 7px !important;
	content: "\25A0" !important;
	color: #aaaaaa !important;
	opacity: .6 !important;
	filter: alpha(opacity=60) !important;
}
.elementor-slick-slider ul.slick-dots li.slick-active button::before {
	color: #008295 !important;
	opacity: 1 !important;
	filter: alpha(opacity=100) !important;
}
.dark .elementor-slick-slider ul.slick-dots li.slick-active button::before {
	color: #ffffff !important;
}
.elementor-slick-slider ul.slick-dots li button:hover::before,
.elementor-slick-slider ul.slick-dots li button:focus::before {
	opacity: 1 !important;
	filter: alpha(opacity=100) !important;
}

/* No-Margin Variant */
.elementor-section-stretched .elementor-slick-slider ul.slick-dots {
	padding: 0 10px;
}

/* Top Squares Variant */
.slick-slider-top .elementor-slick-slider .slick-dotted.slick-slider {
	margin-top: 30px;
	margin-bottom: 0;
}
.slick-slider-top .elementor-slick-slider ul.slick-dots {
	top: -30px;
	bottom: auto;
}

/* Left/Right Squares Variant */
.slick-slider-left .elementor-slick-slider ul.slick-dots {
	text-align: left;
}
.slick-slider-right .elementor-slick-slider ul.slick-dots {
	text-align: right;
}

/* Links in Description */
.slick-slider-links figure {
	position: relative;
}
.slick-slider-links .elementor-image-carousel-caption {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	text-indent: -9999vw;
}
.slick-slider-links .elementor-image-carousel-caption a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
}
/* Image Float */
.image_float img {
	box-shadow: 0 .2em 1.5em rgba(0,0,0,.5);
}


/*
 *	SELECTION
 */

::selection {
	color: #ffffff;
	background: #008295;
	text-shadow: 0 0 4px rgba(0,0,0,.2);
}
::-moz-selection {
	color: #ffffff;
	background: #008295;
	text-shadow: 0 0 4px rgba(0,0,0,.2);
}

/*
 *	DARK COLOR
 */
.dark {
	background: #008295;
}
.dark * {
	color: #ffffff !important;
	text-shadow: 0 0 5px rgba(0,0,0,.15);
}
.dark a,
.dark a:hover,
.dark a:focus {
	color: #ffffff;
}
.dark a {
	border-bottom: dotted 1px #ffffff;
}
.dark a:hover,
.dark a:focus {
	border-bottom: none;
}
.dark hr {
	background-color: #ffffff;
}

.dark ::selection {
	color: #008295 !important;
	background: #ffffff;
	text-shadow: none;
}
.dark ::-moz-selection {
	color: #008295 !important;
	background: #ffffff;
	text-shadow: none;
}


/*
 * PROJECT PAGES
 */

.single-project .ht-post-info {
	float: none;
}
.single-project .ht-post-info,
h1.entry-title {
	display: inline-block;
	vertical-align: middle;
}
.single-project h1.entry-title {
	margin-bottom: 3em;
}
.single-project .slick-slider-top {
	margin-top: -3em;
}


/* BLOG PAGE */

body.post-template-default #ht-content .ht-container,
body.blog #ht-content .ht-container {
	display: flex;
	flex-direction: column-reverse;
}
body.post-template-default #primary,
body.blog #primary,
body.post-template-default #secondary,
body.blog #secondary {
	width: 100%;
	float: none;
}
body.post-template-default #secondary,
body.blog #secondary {
	margin-top: .6em;
	text-align: right;
}
body.post-template-default #secondary aside,
body.blog #secondary aside {
	display: inline-block;
	margin-bottom: .6em !important;
}

body.post-template-default figure.entry-figure,
body.blog figure.entry-figure {
	margin: 0 !important;
}
body.post-template-default figure.entry-figure picture,
body.blog figure.entry-figure picture {
	display: flex;
	max-height: 60vh;
	overflow: hidden;
	flex-direction: column;
	justify-content: center;
}
body.post-template-default figure.entry-figure picture img,
body.blog figure.entry-figure picture img {
	align-self: center;
	min-width: 100%;
	transition: min-width .3s;
}
body.blog figure.entry-figure a:hover picture img,
body.blog figure.entry-figure a:focus picture img {
	min-width: 108%;
}
body.post-template-default header.entry-header,
body.blog header.entry-header {
	display: inline-block;
	top: -2em;
	margin: -2em 0;
	padding: .5em .5em 0;
	width: auto;
}
@media (max-width: 1000px) {
	body.post-template-default header.entry-header,
	body.blog header.entry-header {
		display: block;
		top: 0;
		margin: 0 0 1em;
	}
}

body.post-template-default .ht-post-info,
body.blog .ht-post-info {
	border-bottom: 1px solid #cccccc;
	margin-bottom: .5em;
}
body.post-template-default .ht-post-info .entry-date,
body.blog .ht-post-info .entry-date {
	margin-bottom: .5em;
}
@media (max-width: 480px) {
	body.post-template-default .ht-post-info,
	body.blog .ht-post-info {
		margin-bottom: .5em;
	}
	body.post-template-default .ht-post-info .entry-date,
	body.blog .ht-post-info .entry-date {
		margin: 0;
		text-align: left;
	}
	body.post-template-default .ht-post-info .entry-date span,
	body.blog .ht-post-info .entry-date span {
		display: inline-block;
	}
	body.post-template-default .ht-post-info .entry-date span.ht-day,
	body.blog .ht-post-info .entry-date span.ht-day {
		font-size: 2em;
	}
}


/* Widget Management */
#secondary aside.widget > * {
	display: inline-block;
}
#secondary aside.widget .widget-title {
	font-size: 1em;
	margin: 0;
}
#secondary aside.widget .widget-title::after {
	display: none !important;
}
#secondary aside.widget .jetpack-social-widget-item {
	padding: 0;
}
#secondary aside.widget .jetpack-social-widget-item svg {
	height: 1.8em;
	width: 1.8em;
	vertical-align: middle;
	fill: #008295;
	transition: fill .2s;
}
#secondary aside.widget .jetpack-social-widget-item a:hover svg,
#secondary aside.widget .jetpack-social-widget-item a:focus svg {
	fill: #888888;
}


/* Lightbox Fix */
#lg-download {
	display: none !important;
	pointer-events: none;
}
.lg-actions .lg-prev::after,
.lg-actions .lg-next::before {
    font-family: "FontAwesome";
}
.lg-actions .lg-prev::after {
    content: "\f104" !important;
}
.lg-actions .lg-next::before {
    content: "\f105" !important;
}