/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi
Description: Divi child theme via FreshySites
Author: FreshySites
Author URI: https://freshysites.com/
Template:  Divi
Version: 1.2.0
*/
/* Add your own styles at the bottom */

/* -- COLORS -- */

.white, 
.white h1, .white h2, .white h3, .white h4, .white h5, .white h6, .white li, .white a,
h1.white, h2.white, h3.white, h4.white, h5.white, h6.white, li.white, a.white, p.white {
	color: #fff;
}

.black, 
.black h1, .black h2, .black h3, .black h4, .black h5, .black h6, .black li, .black a,
h1.black, h2.black, h3.black, h4.black, h5.black, h6.black, li.black, a.black, p.black {
	color: #000;
}

.primary, 
.primary h1, .primary h2, .primary  h3, .primary h4, .primary h5, .primary h6, .primary li, .primary a,
h1.primary, h2.primary, h3.primary, h4.primary, h5.primary, h6.primary, li.primary, a.primary, p.primary {
	color: #32a709;
}

.secondary, 
.secondary h1, .secondary h2, .secondary h3, .secondary h4, .secondary h5, .secondary h6, .secondary li, .secondary a,
h1.secondary, h2.secondary, h3.secondary, h4.secondary, h5.secondary, h6.secondary, li.secondary, a.secondary, p.secondary {
	color: #daf238;
}

.tertiary, 
.tertiary h1, .tertiary h2, .tertiary h3, .tertiary h4, .tertiary h5, .tertiary h6, .tertiary li, .tertiary a,
h1.tertiary, h2.tertiary, h3.tertiary, h4.tertiary, h5.tertiary, h6.tertiary, li.tertiary, a.tertiary, p.tertiary {
	color: #e4debe;
}

/* background colors */
.bg-white, a.bg-white {background-color: #fff;}
.bg-black, a.bg-black {background-color: #000;}
.bg-primary, a.bg-primary {background-color: #32a709;}
.bg-secondary, a.bg-secondary {background-color: #daf238;}
.bg-tertiary, a.bg-tertiary {background-color: #e4debe;}

/* -- END COLORS -- */


/* -- TYPOGRAPHY -- */
body h1, 
body h2 {
	text-transform: lowercase;
}

.text-lowercase, 
.text-lowercase h1, .text-lowercase h2, .text-lowercase h3, .text-lowercase h4, .text-lowercase h5, .text-lowercase h6, .text-lowercase li, .text-lowercase a {
	text-transform: lowercase !important;
}

.text-uppercase, 
.text-uppercase h1, .text-uppercase h2, .text-uppercase h3, .text-uppercase h4, .text-uppercase h5, .text-uppercase h6, .text-uppercase li, .text-uppercase a {
	text-transform: uppercase !important;
}

.text-capitalize, 
.text-capitalize h1, .text-capitalize h2, .text-capitalize h3, .text-capitalize h4, .text-capitalize h5, .text-capitalize h6, .text-capitalize li, .text-capitalize a {
	text-transform: capitalize !important;
}

.text-transform-none, 
.text-transform-none h1, .text-transform-none h2, .text-transform-none h3, .text-transform-none h4, .text-transform-none h5, .text-transform-none h6, .text-transform-none li, .text-transform-none a {
	text-transform: none !important;
}

.font-weight-bold, 
.font-weight-bold h1, .font-weight-bold h2, .font-weight-bold h3, .font-weight-bold h4, .font-weight-bold h5, .font-weight-bold h6, .font-weight-bold li, .font-weight-bold a {
	font-weight: 700;
}

.font-weight-normal, 
.font-weight-normal h1, .font-weight-normal h2, .font-weight-normal h3, .font-weight-normal h4, .font-weight-normal h5, .font-weight-normal h6, .font-weight-normal li, .font-weight-normal a {
	font-weight: 400;
}

.font-italic {font-style: italic;}

.text-underline-none, .text-underline-none a {text-decoration: none !important;}

.text-underline, .text-underline a {text-decoration: underline !important;}

.text-nowrap, .text-nowrap a {white-space: nowrap !important;}

.text-wrap-normal, .text-wrap-normal a {white-space: normal !important;}

/* -- END TYPOGRAPHY -- */


/* -- TEMPLATE -- */



/* -- END TEMPLATE -- */


/* -- HEADER -- */

/* make the fullwidth header have same side padding as some fullwidth block sections */
@media (min-width: 767px) {
	body.et_fullwidth_nav #main-header .container {
		width: 100%;
		max-width: 100%;
		padding-right: 6% !important;
		padding-left: 6% !important;
	}
	body.et_fullwidth_nav.et_header_style_left #main-header .container .logo_container {
		width: 88%;
		padding-left: 0;
	}
}

/* helps logo to not be pixelated when scaled down */
#logo {
	-webkit-transform: none !important;
	transform: none !important;
	-webkit-filter: drop-shadow(0 0 3px rgba(0,0,0,0.25));
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.25));
}

/* when mobile menu is open, change hamburger icon to x icon */
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}

/* makes sub sub menu icon be right arrow instead of down arrow */
#top-menu .menu-item-has-children .menu-item-has-children > a:first-child::after, 
#et-secondary-nav .menu-item-has-children .menu-item-has-children > a:first-child::after {
	content: '5';	
}

/* if parent link of child menu is a deadlink, then make it not clickable */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children > a[href="#0"] { 
	pointer-events: none;
}

/* - mobile menu toggling elements, injected via jQuery - */

/* make menu list item be relative, to be able to position toggle within this item */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children {
	position: relative;	
}
/* the new toggle element, which is added via jQuery */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle {
	position: absolute;
	background-color: rgba(0,0,0,0.03);
	z-index: 1;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	top: 4px;
	right: 4px;
	cursor: pointer;
	text-align: center;
}
/* the new toggle element when popped */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped {
	background-color: rgba(0,0,0,0.1);
}
/* toggle icon */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle::before {
	font-family: "ETmodules" !important;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 36px;
	font-size: 24px;
	text-transform: none;
	speak: none;
	content: '\33';
}
/* toggle icon when triggered */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped::before {
	content: '\32';
}
/* hide sub menus by default */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle ~ ul.sub-menu {
	display: none !important;
	padding-left: 0;
}
/* show sub menu when triggered via jQuery toggle, and add slight bg color */
#main-header #mobile_menu.et_mobile_menu .sub-menu-toggle.popped ~ ul.sub-menu {
	display: block !important;
	background-color: rgba(0,0,0,0.03);
}
/* remove sub menu list item left padding, since padding will be on anchors */
#main-header #mobile_menu.et_mobile_menu li li {
	padding-left: 0;
}

/* adjust mobile menu anchors side paddings */
#main-header #mobile_menu.et_mobile_menu li a {
	padding-left: 20px;
	padding-right: 20px;
}
/* indent sub menu */
#main-header #mobile_menu.et_mobile_menu li li a {
	padding-left: 40px;
	padding-right: 20px;
}
/* indent sub sub menus further */
#main-header #mobile_menu.et_mobile_menu li li li a {
	padding-left: 60px;
	padding-right: 20px;
}
/* if mobile menu anchor has toggle, make room for it to fit next to the link */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children .sub-menu-toggle + a {
	padding-right: 44px;
}

/* - end mobile menu toggling elements - */

/* undo Divi's default styling of mobile menu links that have children */
#main-header #mobile_menu.et_mobile_menu .menu-item-has-children > a {
	background-color: transparent;
	font-weight: inherit;
}

/* make the current page's mobile menu link be different */
#main-header #mobile_menu.et_mobile_menu li.current-menu-item > a {
	font-weight: bolder;
}

#main-header {
	-webkit-box-shadow: none; 
	-moz-box-shadow: none;
	box-shadow: none; 
	background-color: transparent;
}

.et_non_fixed_nav.et_transparent_nav #main-header {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+1,000000+100&0.33+0,0.16+33,0+100 */
	background: -moz-linear-gradient(top, rgba(0,0,0,0.33) 0%, rgba(0,0,0,0.32) 1%, rgba(0,0,0,0.16) 33%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.33) 0%,rgba(0,0,0,0.32) 1%,rgba(0,0,0,0.16) 33%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0.33) 0%,rgba(0,0,0,0.32) 1%,rgba(0,0,0,0.16) 33%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}

/* Adjusting Main Menu due to Superfly (hiding it, and preventing it from wrapping and making logo bigger) */
#et-top-navigation {
	visibility: hidden;
	padding-left: 0 !important
}

/* not sure why, but the right edge of the Superfly Menu has a cursor of pointer, so we take that off */
/* it also has a width set of 40px that ends up covering some slider arrows, so we make width 0 */
body .sfm-rollback {
	cursor: default;
	width: 0;
	text-transform: lowercase;
}

/* make menu button float always */
/* adjust z-index so that mfp lightbox would cover the menu button */
body .sfm-rollback.sfm-fixed {
	position: fixed;
	z-index: 1000000;
}


/* hide the Menu label that was below the hamburger */
body .sfm-navicon-button::after {
	display: none;
}

/* create new Menu label above the hamburger */
body .sfm-navicon-button::before {
	display: block;
	content: "menu";
	line-height: 16px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
	margin: 0;
	color: #ffffff;
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	text-shadow: 0 0 3px rgba(0,0,0,0.75);
}
/* hide Menu label when hamburger is an X */
body .sfm-open.x::before {
	opacity: 0;
}
/* tweak width and position of hamburger menu */
body .sfm-navicon {
	width: 100%;
	margin: 0;
	top: 28px; /* height of Menu label line height, plus height of first bar and its bottom gap, plus a little extra */
}

body .sfm-navicon,
body .sfm-navicon::before,
body .sfm-navicon::after {
	box-shadow: 0 0 3px rgba(0,0,0,1);
}

/* make superfly bg semi transparent */
body #sfm-sidebar .sfm-sidebar-bg {
	background-color: rgba(0,0,0,0.85) !important;
}
/* tweak angle of superfly menu, to match logo */
.sfm-pos-right body .sfm-theme-bottom .sfm-sidebar-bg {
	-webkit-transform: translate3d(-0px,0,0) skewX(-21deg);
	-moz-transform: translate3d(-0px,0,0) skewX(-21deg);
	-ms-transform: translate3d(-0px,0,0) skewX(-21deg);
	-o-transform: translate3d(-0px,0,0) skewX(-21deg);
	transform: translate3d(-0px,0,0) skewX(-21deg);
}
.sfm-pos-right body .sfm-sidebar-exposed.sfm-theme-bottom .sfm-sidebar-bg, 
.sfm-pos-right body .sfm-sidebar-always .sfm-theme-bottom .sfm-sidebar-bg {
	-webkit-transform: translate3d(-279px,0,0) skewX(-21deg);
	-moz-transform: translate3d(-279px,0,0) skewX(-21deg);
	-ms-transform: translate3d(-279px,0,0) skewX(-21deg);
	-o-transform: translate3d(-279px,0,0) skewX(-21deg);
	transform: translate3d(-279px,0,0) skewX(-21deg);
}

#sfm-sidebar .sfm-nav .sfm-menu li a {
	text-transform: lowercase;
}

#sfm-sidebar .sfm-menu-level-0.sfm-menu > li.sfm-active-class > a > span {
	position: relative;
}
#sfm-sidebar .sfm-menu-level-0.sfm-menu > li.sfm-active-class > a > span::before,
#sfm-sidebar .sfm-menu-level-0.sfm-menu > li.sfm-active-class > a > span::after {
	position: absolute;
	content: ':';
	color: #555759;
	font-weight: bold;
	top: -3px;
	font-size: 20px;
}
#sfm-sidebar .sfm-menu-level-0.sfm-menu > li.sfm-active-class > a > span::before {
	right: -10px;
}
#sfm-sidebar .sfm-menu-level-0.sfm-menu > li.sfm-active-class > a > span::after {
	right: -17px;
}

/* make each nav wrapper be wider to make room for long text */
#sfm-sidebar:not(.sfm-iconbar) .sfm-menu li > a span {
	max-width: calc(320px - 80px) !important;
}

/* tweak hamburger on mobile */
@media (max-width: 980px) {
	body .sfm-navicon-button {
		top: 20px !important;
	}
	body .sfm-navicon-button::before {
		font-size: 12px;
	}
}

/* Superfly navigation */
@media (max-width: 479px) {
	#sfm-sidebar.sfm-sidebar-exposed {
		width: 250px !important;
	}
	#sfm-sidebar:not(.sfm-iconbar) .sfm-menu li > a span {
		max-width: calc(250px - 80px) !important;
	}

}

/* -- END HEADER -- */


/* -- FOOTER -- */

#main-footer,
#footer-bottom {
	border-top: 5px solid white;
}

#main-footer {
	z-index: 9;
	position: relative;
}

/* FLOAT the FOOTER on ALL PAGES on DESKTOP ONLY */
@media (min-width: 640px) and (min-height: 480px) {
	body.desktop:not(.page-id-4338):not(.page-id-4408) #main-content ~ #main-footer {
		position: fixed;
		width: 100%;
		z-index: 2221;
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		opacity: 0.95;
	}
	/* push content padding down, the height of the footer, to make sure it doesnt cover content */
	body.desktop:not(.page-id-4338):not(.page-id-4408) #main-content {
		padding-bottom: 53px;
	}
}

body #footer-widgets {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-align-items: center;
	align-items: center;
	padding: 0 !important;
}

body.et_pb_footer_columns3 #footer-widgets .footer-widget,
body.et_pb_footer_columns2 #footer-widgets .footer-widget {
	margin-bottom: 0 !important;
}
/* right widget column float right */
body.et_pb_footer_columns2 .footer-widget:last-child .et_pb_widget,
body.et_pb_footer_columns3 .footer-widget:last-child .et_pb_widget {
	float: right;
}

@media (max-width: 767px) {
	body.et_pb_footer_columns2 #footer-widgets .textwidget,
	body.et_pb_footer_columns3 #footer-widgets .textwidget {
		font-size: 12px;
	}
}

@media (max-width: 479px) {
	body #footer-widgets {
		-webkit-flex-direction: column;
		flex-direction: column;
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
	body.et_pb_footer_columns2 #footer-widgets .footer-widget .et_pb_widget,
	body.et_pb_footer_columns3 #footer-widgets .footer-widget .et_pb_widget {
		float: none;
		text-align: center;
	}
	body.et_pb_footer_columns2 #footer-widgets .footer-widget + .footer-widget,
	body.et_pb_footer_columns3 #footer-widgets .footer-widget + .footer-widget {
		margin-top: 20px !important;
	}
}

/* bullets in footer menus */
body #footer-widgets .footer-widget .widget_nav_menu li {
	padding-left: 18px;
}
body #footer-widgets .footer-widget .widget_nav_menu li::before {
	left: 0px;
}
body #footer-widgets .footer-widget .widget_nav_menu li::after {
	left: 7px;
}
body #footer-widgets .footer-widget .widget_nav_menu li::before,
body #footer-widgets .footer-widget .widget_nav_menu li::after {
	position: absolute;
	content: ':';
	color: rgba(255,255,255,0.5);
	font-weight: bold;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	top: -3px;
	font-size: 20px;
}

/* jetpack icons in footer */
body #footer-widgets .jetpack_widget_social_icons ul {
	margin-bottom: 0;
}
body #footer-widgets .jetpack_widget_social_icons ul li {
	padding: 8px;
}

/* make the fullwidth header have same side padding as some fullwidth block sections */
@media (min-width: 767px) {
	#main-footer .container,
	#footer-bottom .container {
		width: 100%;
		max-width: 100%;
		padding-right: 6%;
		padding-left: 6%;
	}
}

/* logo widget in footer */
#main-footer #media_image-4,
#main-footer #media_image-5,
#main-footer #custom_html-7 {
	margin: 0 auto;
	display: table;
	float: none;
}
#main-footer #media_image-4 img,
#main-footer #media_image-5 img,
#main-footer #custom_html-7 img {
	max-width: 48px !important;
	width: 100% !important;
	display: block;
}
#main-footer #media_image-5 img,
#main-footer #custom_html-7 img {
	max-width: 100% !important;
	width: auto !important;
	max-height: 48px !important;
}

#main-footer .footer-widget .widget_text a[href*="maps"],
#main-footer .footer-widget .widget_text a[href^="tel"], 
#main-footer .footer-widget .widget_text a[href^="mailto:"],
#main-footer .footer-widget .widget_text a[href*="facebook.com"],
#main-footer .footer-widget .widget_text a[href*="linkedin.com"],
#main-footer .footer-widget .widget_text a[href*="instagram.com"] {
	white-space:nowrap;
	width: 32px;
	height: 32px;
	line-height: 32px;
	display: inline-block;
	margin-right: 6px;
	margin-top: 3px;
	margin-bottom: 3px;
}
#main-footer .footer-widget .widget_text a:last-child {
	margin-right: 0 !important;
}
#main-footer .footer-widget .widget_text a[href*="maps"]::before,
#main-footer .footer-widget .widget_text a[href^="tel"]::before, 
#main-footer .footer-widget .widget_text a[href^="mailto:"]::before,
#main-footer .footer-widget .widget_text a[href*="facebook.com"]::before,
#main-footer .footer-widget .widget_text a[href*="linkedin.com"]::before,
#main-footer .footer-widget .widget_text a[href*="instagram.com"]::before {
	font-family: 'FontAwesome';
	font-weight: normal;
	font-style: normal;
	font-size: 15px;
	width: 32px;
	height: 32px;
	display: inline-block;
	line-height: 32px;
	text-align: center;
	border-radius: 50%;
	color: #0075be;
	background-color: white;
	margin-right: 0;
}
#main-footer .footer-widget .widget_text a[href*="maps"]::before {
	content: '\f041';
}
#main-footer .footer-widget .widget_text a[href^="tel"]::before {
	content: '\f095';
}
#main-footer .footer-widget .widget_text a[href^="mailto:"]::before {
	content: '\f0e0';
}
#main-footer .footer-widget #custom_html-5.widget_text a + br,
#main-footer .footer-widget #custom_html-6.widget_text a + br {
	display: none;
}
#main-footer .footer-widget .widget_text a[href*="facebook.com"]::before {
	content: '\f09a';
}
#main-footer .footer-widget .widget_text a[href*="linkedin.com"]::before {
	content: '\f0e1';
}
#main-footer .footer-widget .widget_text a[href*="instagram.com"]::before {
	content: '\f16d';
}
/* custom tooltip */
/*
#main-footer .footer-widget .widget_text a:hover::after{
border: 1px solid #fc0;
padding: 3px 6px;
background: #fffea1;
content: attr(title);
position: absolute;
right: -40px;
top: -26px;
}
*/
a[fs-tooltip] {
	position:relative;
}

a[fs-tooltip]::after {
	content: attr(fs-tooltip);
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translate(-50%, -16px);
	transform: translate(-50%, -16px);
	background: rgba(0,0,0,0.7);
	text-align: center;
	color: #fff;
	padding: 8px;
	font-size: 10px;
	min-width: 80px;
	width: auto;
	max-width: 160px;
	border-radius: 5px;
	pointer-events: none;
	transition: all 0.4s ease;
	opacity: 0;
	white-space: normal;
	line-height: 1.5em;
}
#main-footer .footer-widget .widget_text a[href*="maps"][fs-tooltip]::after {
	min-width: 160px;
}
a[fs-tooltip]:hover::after,
a[fs-tooltip]:focus::after {
	-webkit-transform: translate(-50%, -40px);
	transform: translate(-50%, -40px);
	opacity: 1;
}
@media (min-width: 480px) and (max-width: 980px) {
	#main-footer .footer-widget .widget_text a[href*="maps"][fs-tooltip]::after {
		left: -8px;
		transform: translate(0, -16px);
		transform: translate(0, -16px);
	}
	#main-footer .footer-widget .widget_text a[href*="maps"][fs-tooltip]:hover::after,
	#main-footer .footer-widget .widget_text a[href*="maps"][fs-tooltip]:focus::after {
		-webkit-transform: translate(0, -40px);
		transform: translate(0, -40px);
	}
}

/*
@media (min-width: 768px) {
#main-footer #footer-widgets::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 64px;
height: 64px;
background-image: url(/wp-content/uploads/square-logo-emboss.png);
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
opacity: 1;
}
}
*/

#footer-info {
	float: none;
	text-align: center;
}

/* actually we are going to hide the bottom bar */
#footer-bottom {
	display: none;
}

#freshy_copyright span {
	display: inline-block;
	line-height: 1.5em;
}

/* vertical pipe divider */
#freshy_copyright span.copyright_via {
	width: 33.33333%;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	background: rgba(255,255,255,0.25);
	vertical-align: middle;
	margin: 10px auto 15px;
	display: block;
}

#freshy_copyright a.copyright_fs {
	display: block;
	vertical-align: middle;
	width: 45px;
	height: 20px;
	background-image: url("/wp-content/uploads/freshysites-logo-white.svg");
	background-repeat: no-repeat;
	background-size: 45px 20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin: 0 auto;
}

/* fix if using Impreza to remove underline */
#freshy_copyright a:hover {
	border: 0 !important;
}

@media (min-width: 600px) {
	/* vertical pipe divider */
	#freshy_copyright span.copyright_via {
		width: 1px;
		height: 20px;
		margin: 0 10px;
		display: inline-block;
	}
	#freshy_copyright a.copyright_fs {
		display: inline-block;
	}
}

@media (max-width: 980px) {
	#footer-bottom .et-social-icons li:first-child {
		margin-left: 0;
	}
}

/* -- END FOOTER -- */


/* -- RESPONSIVE -- */

/* do for mobile */
@media screen and (max-width: 767px) {
	/* hide on mobile */
	.hide-mobile {
		display: none;
	}
}

/* do for desktop */
@media screen and (min-width: 768px) {
	/* hide on desktop */
	.hide-desktop {
		display: none;
	}
}

/* -- END RESPONSIVE -- */


/* -- CHECKLIST -- */

.checklist ul {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.checklist ul li {
	position: relative;
	padding-left: 30px;
	margin: 0 0 6px !important;
}

.checklist-columns-2 ul li,
.checklist-columns-3 ul li,
.checklist-columns-4 ul li {
	margin-bottom: 30px !important;
}

@media (max-width: 638px) {
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		margin-bottom: 20px !important;
	}
	.checklist-columns-2 ul li:last-child,
	.checklist-columns-3 ul li:last-child,
	.checklist-columns-4 ul li:last-child {
		margin-bottom: 0 !important;
	}
}

/* create columns of list items with this class */
@media (min-width: 639px) {
	.checklist-columns-2 ul::after,
	.checklist-columns-3 ul::after,
	.checklist-columns-4 ul::after {
		content: '';
		clear: both;
		display: table;
	}
	.checklist-columns-2 ul li,
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 50%;
		padding-right: 30px;
	}
	.checklist-columns-2 ul li:nth-child(odd),
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd){
		clear: both;	
	}
	.checklist-columns-2-alt > ul,
	.checklist-columns-3-alt > ul,
	.checklist-columns-4-alt > ul {
		-moz-column-count: 2;
		-moz-column-gap: 8px;
		-webkit-column-count: 2;
		-webkit-column-gap: 8px;
		column-count: 2;
		column-gap: 20px;
	}
	.checklist-columns-2-alt ul li,
	.checklist-columns-3-alt ul li,
	.checklist-columns-4-alt ul li {
		break-inside: avoid-column;
	}
}
@media (min-width: 981px) {
	.checklist-columns-3 ul li,
	.checklist-columns-4 ul li {
		float: left;
		width: 33.333333%;
	}
	.checklist-columns-3 ul li:nth-child(odd),
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-3 ul li:nth-child(3n+1),
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: both;	
	}
	.checklist-columns-3-alt ul,
	.checklist-columns-4-alt ul {
		-moz-column-count: 3;
		-webkit-column-count: 3;
		column-count: 3;
	}
}
@media (min-width: 1199px) {
	.checklist-columns-4 ul li {
		float: left;
		width: 25%;
	}
	.checklist-columns-4 ul li:nth-child(odd) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(3n+1) {
		clear: none;	
	}
	.checklist-columns-4 ul li:nth-child(4n+1) {
		clear: both;	
	}
	.checklist-columns-4-alt ul {
		-moz-column-count: 4;
		-webkit-column-count: 4;
		column-count: 4;
	}
}

.checklist ul li::before {
	font-family: 'ETmodules';
	content: '\f058';
	width: 20px;
	margin: 0;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	color: #0075be;
	/* set font size helps make icon sharper */
	font-size: 22px;
	font-weight: normal;
}

/* if text is given the Divi Light Text color (White), then make the bullet icon white too */
.checklist.et_pb_bg_layout_dark  ul li::before {
	color: white;
}

.pluslist ul li::before {
	content: '\f055';
}
.eventlist ul li::before {
	content: '\f274';
}
.locationlist ul li::before {
	content: '\f041';
}
.externallist ul li::before {
	content: '\f14c';	
}
.pdflist ul li::before {
	content: '\f1c1';
	color: red;
}
.userlist ul li::before {
	content: '\f2c0';
}

/* -- END CHECKLIST -- */


/* -- DIVI HACKS -- */

/* make parallax image be centered at the start */
.et_parallax_bg {
	background-position: center center;	
}

/* Divi was turning off bottom padding on last paragraphs, when it should be only if it's the last child */
p:last-of-type {
	padding-bottom: 1em;
}
p:last-child {
	padding-bottom: 0;
}

/* if there are more than one paragraphin the Fullwidth Header module, they should have padding */
.et_pb_fullwidth_header p:not(:last-child) {
	padding-bottom: 1em;
}

/* -- END DIVI HACKS -- */


/* -- TESTIMONIALS PLUGIN -- */

/* flip quote so it's an opening quote icon for grid and slider versions */
.b3_archive_testimonials_grid article .b3_quote.grid_quote::before,
.et_pb_module.et_pb_testimonial_slider .et_pb_slides_testi::before {
	-moz-transform: scale(-1,-1);
	-o-transform: scale(-1,-1);
	-webkit-transform: scale(-1,-1);
	transform: scale(-1,-1);
}

/* -- END TESTIMONIALS PLUGIN -- */


/* -- GRAVITY FORMS -- */

/* remove gform top and bottom margins */
body .gform_wrapper {
	margin-top: 0;
	margin-bottom: 0;
}

/* remove top margin on form of first two inputs if side by side */
@media only screen and (min-width: 641px) {
	body .gform_wrapper .gform_body > ul.top_label > li.gfield.gf_left_half:first-child, 
	body .gform_wrapper .gform_body > ul.top_label > li.gfield.gf_left_half:first-child + li.gfield.gf_right_half {
		margin-top: 0;
	}
}

/* remove excess padding above submit button */
body .gform_wrapper .gform_footer {
	padding: 0;
	margin: 0;
}

/* remove excess margin top on errored input labels */
@media only screen and (min-width: 641px) {
	body .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, 
	body .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
		margin-top: 0;
	}
}
body .gform_wrapper li.hidden_label input {
	margin-top: 0;
}

/* main input lablels */
body .gform_wrapper .top_label .gfield_label {
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 600;
}

/* adjust weight of required asterisk, field error, and overall error */
body .gform_wrapper .top_label .gfield_label .gfield_required,
body .gform_wrapper .validation_message,
body .gform_wrapper div.validation_error {
	font-weight: 400;
}

/* partially due to Surbma's restyling of the form, 
there now apepars to be excess margin above fields at certain screen sizes,
when two or more inputs have errors side by side (hence the + in the CSS),
so let's remove that top gap */
@media only screen and (max-width: 761px), (max-device-width: 1023px) and (min-device-width: 768px) {
	.gform_wrapper form .gform_body ul.gform_fields li.gfield.gfield_error+li.gfield.gfield_error {
		margin-top: 0;
	}
}

/* we swap out form ajax spinner via PHP Function, and add spinning if its PNG */
img.gform_ajax_spinner[src$=".png"] {
	-webkit-animation: lime-spin 1.5s linear infinite;
	-moz-animation: lime-spin 1.5s linear infinite;
	animation: lime-spin 1.5s linear infinite;
	padding: 0;
	margin-left: 10px;
}
@-moz-keyframes lime-spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes lime-spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes lime-spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

/* fix for when Date Picker is used */
#ui-datepicker-div:empty {
	margin-top: 0;	
}

body .gform_wrapper textarea.textarea.small {
	height: 100px;
}

/* style gravity form that has this class, and should have Text Color of Light in the module settings */
body .dark-gform .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
body .dark-gform .gform_wrapper textarea.textarea, 
body .dark-gform div.form_saved_message div.form_saved_message_emailform form input[type=text] {
	background-color: rgba(2, 2, 2, 0.2);
	color: #fff;
	box-shadow: 0 2px 0 0 white;
	transition: all 0.2s ease;
}
body .dark-gform .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):hover, 
body .dark-gform .gform_wrapper textarea.textarea:hover, 
body .dark-gform div.form_saved_message div.form_saved_message_emailform form input[type=text]:hover {
	background-color: rgba(2, 2, 2, 0.333);
	box-shadow: 0 2px 0 0 #d9d9da;
}
body .dark-gform .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus, 
body .dark-gform .gform_wrapper textarea.textarea:focus, 
body .dark-gform div.form_saved_message div.form_saved_message_emailform form input[type=text]:focus {
	background-color: rgba(2, 2, 2, 0.333);
	box-shadow: 0 2px 0 0 #d9d9da;
}

body .dark-gform .gform_wrapper .gfield_required {
	color: #ff7d7d;
}

body .dark-gform .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), 
body .dark-gform .gform_wrapper li.gfield_error textarea {
	border: 0;
	box-shadow: 0 2px 0 0 #ff7d7d;
}
body .dark-gform .gform_wrapper .validation_message {
	color: #ff7d7d;
}

body .dark-gform .gform_wrapper div.validation_error {
	color: #ff7d7d;
	border-top: 2px solid #ff7d7d;
	border-bottom: 2px solid #ff7d7d;
}

body .dark-gform .gform_wrapper .gform_footer input.button, 
body .dark-gform .gform_wrapper .gform_page_footer input.button, 
body .dark-gform div.form_saved_message div.form_saved_message_emailform form input[type=submit] {
	background-color: rgba(2, 2, 2, 0);
	color: #ffffff;
	border-width: 2px;
	border-color: #ffffff;
}

body .dark-gform .gform_wrapper .gform_footer input.button:hover, 
body .dark-gform .gform_wrapper .gform_page_footer input.button:hover, 
body .dark-gform div.form_saved_message div.form_saved_message_emailform form input[type=submit]:hover {
	background-color: rgba(2, 2, 2, 0.333);
	color: #ffffff;
	border-color: #d9d9da;
}

/* reduce gap above each input (between the label and input) */
@media only screen and (min-width: 641px) {
	body .gform_wrapper .top_label div.ginput_container {
		margin-top: 0 !important;
	}
}

/* -- END GRAVITY FORMS -- */


/* -- HELPERS -- */

/* use the "fullwidth-section" class on a SECTION to make a "standard" SECTION truly be fullwidth 
(NOTE: the ROW module settings needs to be set to fullwidth, and the SECTION needs THIS class) */
.fullwidth-section.et_pb_section {
	padding: 0;
}
.fullwidth-section.et_pb_section > .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0;
}

/* use the "fullwidth-row" class on a SECTION to make a "full width" ROW truly be fullwidth 
(NOTE: the ROW module settings needs to be set to fullwidth, with no gutters, and the SECTION needs THIS class,
and unlike the class above, THIS class will auto-add padding to the columns) */
.fullwidth-row.et_pb_section {
	padding: 0;	
}
.fullwidth-row.et_pb_section .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* helps add padding to each column */
.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
	padding: 50px 10%;
}
@media (min-width: 767px) {
	.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding: 80px 6%;
	}
}
/* for some reason Divi removes bottom margin from modules if in column with no gutters, 
so we need to add margins back */
.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column .et_pb_module:not(:last-child) {
	margin-bottom: 30px;
}
@media (min-width: 981px) {
	.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column_2_3 .et_pb_module:not(:last-child) {
		margin-bottom: 4.242%;
	}
	.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column_1_3 .et_pb_module:not(:last-child) {
		margin-bottom: 9.27%;
	}	
}
/* reduce gap between toggles if in fullwidth row */
.fullwidth-row.et_pb_section .et_pb_row.et_pb_gutters1 > .et_pb_column .et_pb_module.et_pb_toggle:not(:last-child) {
	margin-bottom: 3px;
}

/* make flex items aligned vertically middle */
.vert-middle.et_pb_section .et_pb_row.et_pb_equal_columns  {
	-webkit-align-items: center;
	align-items: center;
}

/* -- END HELPERS -- */


/* -- BLURBS -- */

/* push down blurb content a little when has image, so the title aligns better with icon */
.et_pb_blurb.et_pb_text_align_left .et_pb_blurb_content .et_pb_main_blurb_image + .et_pb_blurb_container {
	padding-top: 6px;
}

/* -- CONTACT -- */
@media (min-width: 767px) {
	#contact-section.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

body.page-id-42 {
	background-color: #0075be;
}

/* -- TITLE BAR -- */

#titlebar {
	overflow: hidden;
}

#titlebar::before {
	content: '';
	display: block;
	background-color: rgba(0,117,190,0);
	opacity: 1;
	position: absolute;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	top: 0;
	bottom: 0;
	left: -25%;
	right: 0;
	-webkit-animation: titlebar 7s forwards;
	animation: titlebar 7s forwards;
	z-index: 2;
}
#titlebar::after {
	content: '';
	display: block;
	background-color: rgba(0,0,0,0.33);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

#titlebar .entry-title {
	font-weight: normal;
}

#titlebar.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
	padding-top: 0;
	padding-bottom: 20px;
}

@media (min-width: 767px) {
	#titlebar.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding-top: 0;
	}
	#titlebar.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column > .et_pb_module.et_pb_post_title {
		display: table;
		width: 66%;
		margin-left: auto;
		margin-right: auto;
	}
}

@keyframes titlebar {
	0% {
		background-color: rgba(0,117,190,0);
		right: 0;
		transform: skew(0deg);
		-webkit-transform: skew(0deg);
	}
	100% {
		background-color: rgba(0,117,190,0.75);
		right: 75%;
		transform: skew(-21deg);
		-webkit-transform: skew(-21deg);
	}
}

@keyframes wiper {
	0% {
		background-color: rgba(0,117,190,1);
		right: 33%;
		transform: skew(-15deg);
		-webkit-transform: skew(-15deg);
	}
	25% {
		background-color: rgba(112,116,118,1);
		right: 50%;
		transform: skew(10deg);
		-webkit-transform: skew(10deg);
	}
	50% {
		background-color: rgba(112,116,118,1);
		right: 50%;
		transform: skew(10deg);
		-webkit-transform: skew(10deg);
	}
	75% {
		background-color: rgba(0,117,190,1);
		right: 33%;
		transform: skew(-15deg);
		-webkit-transform: skew(-15deg);
	}
}

/* because the header is transparent, 
* Divi will eventually add top padding to the first section of the page (which is usually the Titlebar section)
* It calculates the top padding based on the height of the Divi headear
* But it doesn't calculate until after page load, which causes a jump to happen, so we force the top padding ourselves.
* Hopefully our padding and Divi's calculated padding are the same.
*/
#hero-slider .et_pb_slides > .et_pb_slide {
	padding-top: 0 !important;
}
#titlebar,
#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container .et_pb_slider_container_inner {
	padding-top: 79px !important;
}
@media (min-width: 981px) {
	#titlebar,
	#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container .et_pb_slider_container_inner {
		padding-top: 104px !important;
	}
}

/* if the titlebar only has a title and no meta below it, then ditch the bottom padding */
.et_pb_post_title > .et_pb_title_container:only-child > .entry-title:only-child {
	padding: 0;
	margin: 0;
}

/* -- HOME SLIDER -- */

#hero-slider .et_pb_slide_description {
	-webkit-animation: none;
	-moz-animation: none;
	-ms-animation: none;
	-o-animation: none;
	animation: none;
}

#hero-slider .et-pb-arrow-next, 
#hero-slider .et-pb-arrow-prev {
	font-size: 36px;
}
#hero-slider .et_pb_slider:hover .et-pb-arrow-prev {
	left: 0;
}
#hero-slider .et_pb_slider:hover .et-pb-arrow-next {
	right: 0;
}
#hero-slider .et-pb-arrow-next::before, 
#hero-slider .et-pb-arrow-prev::before {
	text-shadow: 0 0 5px rgba(0,0,0,0.25);
}

#hero-slider .et-pb-controllers {
	padding-left: 6%;
	padding-right: 6%;
}

/* adjust side padding to it stays same as header */
@media (max-width: 766px) {
	#hero-slider .et_pb_slides > .et_pb_slide,
	#hero-slider .et-pb-controllers {
		padding-left: 10%;
		padding-right: 10%;
	}
}

/* full viewport height minus height of footer */
#hero-slider .et_pb_slides > .et_pb_slide {
	min-height: calc(100vh - 53px);
}
@media (max-width: 767px) {
	#hero-slider .et_pb_slides > .et_pb_slide {
		min-height: calc(100vh - 53px);
	}
}
@media (max-width: 639px) {
	#hero-slider .et_pb_slides > .et_pb_slide {
		min-height: calc(100vh - 53px);
	}
	body.home {
		background-color: #0075be;
	}
}

/* add gradient overlay to each slide */
#hero-slider .et_pb_slides > .et_pb_slide::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	max-width: 980px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,0075be+100&0.75+0,0+100 */
	background: -moz-linear-gradient(left, rgba(0,0,0,0.75) 0%, rgba(0,117,190,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(0,0,0,0.75) 0%,rgba(0,117,190,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(0,0,0,0.75) 0%,rgba(0,117,190,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bf000000', endColorstr='#000075be',GradientType=1 ); /* IE6-9 */
}

/* don't limit width to Divi's 80% */
#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container {
	width: 100%;
	max-width: 100%;
}

/* set a max-width and also adjust vertical padding to match the custom fullwidth sections vertical padding */
#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container .et_pb_slide_description {
	padding: 50px 0;
	margin-left: 0;
	max-width: 600px;
	text-shadow: 0 0 15px rgba(0,0,0,.3);
}

#hero-slider .et_pb_slide_description .et_pb_slide_title {
	font-weight: 700 !important;
}

/* further reduce max width of actual content text of slider */
#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container .et_pb_slide_description .et_pb_slide_content {
	max-width: 460px;
}

/* on desktop, increase height of vertical padding of slides, to match custom fullwidth sections */
@media (min-width: 767px) {
	#hero-slider .et_pb_slides > .et_pb_slide > .et_pb_container .et_pb_slide_description {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

/* -- UP ARROW -- */

/* the superfly menu is on the right, so we move the up arrow to the left */
body .et_pb_scroll_top.et-pb-icon {
	left: 0 !important;
	right: auto !important;
	-moz-border-radius: 0 5px 5px 0 !important;
	-webkit-border-radius: 0 5px 5px 0 !important;
	border-radius: 0 5px 5px 0 !important;
}
body .et_pb_scroll_top.et-hidden {
	opacity: 0;
	-webkit-animation: fadeOutLeft 1s 1 cubic-bezier(.77,0,.175,1);
	-moz-animation: fadeOutLeft 1s 1 cubic-bezier(.77,0,.175,1);
	-o-animation: fadeOutLeft 1s 1 cubic-bezier(.77,0,.175,1);
	animation: fadeOutLeft 1s 1 cubic-bezier(.77,0,.175,1);
}
body .et_pb_scroll_top.et-visible {
	-webkit-animation: fadeInLeft 1s 1 cubic-bezier(.77,0,.175,1);
	-moz-animation: fadeInLeft  1s 1 cubic-bezier(.77,0,.175,1);
	-o-animation: fadeInLeft  1s 1 cubic-bezier(.77,0,.175,1);
	animation: fadeInLeft  1s 1 cubic-bezier(.77,0,.175,1);
}

/* -- COLUMN GRADIENTS/FADING -- */

/* add a gradient from the left, to the first column */
.gradient-from-left > .et_pb_row::before,
.gradient-from-right > .et_pb_row::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	opacity: 0.9;
}
.gradient-from-left > .et_pb_row::before {
	left: 0;
	right: 0;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#555759+0,555759+100&1+33,0+100 */
	background: -moz-linear-gradient(left, rgba(85,87,89,1) 0%, rgba(85,87,89,1) 33%, rgba(85,87,89,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555759', endColorstr='#00555759',GradientType=1 ); /* IE6-9 */
}

.gradient-from-right > .et_pb_row::before {
	left: 0;
	right: 0;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#555759+0,555759+100&0+0,1+67 */
	background: -moz-linear-gradient(left, rgba(85,87,89,0) 0%, rgba(85,87,89,1) 67%, rgba(85,87,89,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(85,87,89,0) 0%,rgba(85,87,89,1) 67%,rgba(85,87,89,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(85,87,89,0) 0%,rgba(85,87,89,1) 67%,rgba(85,87,89,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00555759', endColorstr='#555759',GradientType=1 ); /* IE6-9 */
}

/* white wash version */
.gradient-from-left.gradient-white-wash > .et_pb_row::before {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e2e2e2+0,e2e2e2+100&1+33,0+100 */
	background: -moz-linear-gradient(left, rgba(226,226,226,1) 0%, rgba(226,226,226,1) 33%, rgba(226,226,226,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#00e2e2e2',GradientType=1 ); /* IE6-9 */
}
.gradient-from-right.gradient-white-wash > .et_pb_row::before {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e2e2e2+0,e2e2e2+100&0+0,1+67 */
	background: -moz-linear-gradient(left, rgba(226,226,226,0) 0%, rgba(226,226,226,1) 67%, rgba(226,226,226,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(226,226,226,0) 0%,rgba(226,226,226,1) 67%,rgba(226,226,226,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(226,226,226,0) 0%,rgba(226,226,226,1) 67%,rgba(226,226,226,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00e2e2e2', endColorstr='#e2e2e2',GradientType=1 ); /* IE6-9 */
}

@media (max-width: 980px) {
	/* on stacked, change left gradient to come from top */
	.gradient-from-left > .et_pb_row::before {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#555759+0,555759+100&1+33,0+100 */
		background: -moz-linear-gradient(top, rgba(85,87,89,1) 0%, rgba(85,87,89,1) 33%, rgba(85,87,89,0) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555759', endColorstr='#00555759',GradientType=0 ); /* IE6-9 */
	}
	/* on stacked, change right gradient to come from bottom */
	.gradient-from-right > .et_pb_row::before {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#555759+0,555759+100&0+0,1+67 */
		background: -moz-linear-gradient(top, rgba(85,87,89,0) 0%, rgba(85,87,89,1) 67%, rgba(85,87,89,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, rgba(85,87,89,0) 0%,rgba(85,87,89,1) 67%,rgba(85,87,89,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, rgba(85,87,89,0) 0%,rgba(85,87,89,1) 67%,rgba(85,87,89,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00555759', endColorstr='#555759',GradientType=0 ); /* IE6-9 */
	}
	/* WHITE WASHED VERSION on stacked, change left gradient to come from top */
	.gradient-from-left.gradient-white-wash > .et_pb_row::before {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#E2E2E2+0,E2E2E2+100&1+33,0.8+100 */
		background: -moz-linear-gradient(top, rgba(226,226,226,1) 0%, rgba(226,226,226,1) 33%, rgba(226,226,226,0.8) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E2E2E2', endColorstr='#CCE2E2E2',GradientType=0 ); /* IE6-9 */
	}
	/* WHITE WASHED VERSION on stacked, change right gradient to come from bottom */
	.gradient-from-right.gradient-white-wash > .et_pb_row::before {
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#E2E2E2+0,E2E2E2+100&0.8+0,1+67 */
		background: -moz-linear-gradient(top, rgba(226,226,226,0.8) 0%, rgba(226,226,226,1) 67%, rgba(226,226,226,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, rgba(226,226,226,0.8) 0%,rgba(226,226,226,1) 67%,rgba(226,226,226,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, rgba(226,226,226,0.8) 0%,rgba(226,226,226,1) 67%,rgba(226,226,226,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#CCE2E2E2', endColorstr='#E2E2E2',GradientType=0 ); /* IE6-9 */
	}
}

/* give more top and bottom padding to make more similar to mockup */
@media (min-width: 1425px) {
	.gradient-from-left.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column,
	.gradient-from-right.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

/* prevent the width of the text from going the width of its column */
.gradient-from-left > .et_pb_row > .et_pb_column:first-child > .et_pb_module.et_pb_text,
.gradient-from-right > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_text {
	max-width: 600px;
}
@media (min-width: 981px) {
	.gradient-from-left > .et_pb_row > .et_pb_column:first-child > .et_pb_module.et_pb_text,
	.gradient-from-right > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_text {
		max-width: 460px;
	}
	/* since we're limiting the width of the text module in the column, 
	* we also need to force the right column text module to the right side, 
	* otherwise it will be pushed to the left of that column */
	.gradient-from-right > .et_pb_row > .et_pb_column:last-child > .et_pb_module.et_pb_text {
		margin-left: auto;
	}
}
/* hey, lets also make the columns vertically aligned to middle, since we expect only one module per column */
.gradient-from-left > .et_pb_row > .et_pb_column, 
.gradient-from-right > .et_pb_row > .et_pb_column {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	direction: ltr;
	-webkit-flex-direction: column;
	flex-direction: column;
}

/* -- WHAT WE'RE UP TO section -- */

#what-were-up-to > .et_pb_row {
	-webkit-align-items: center;
	align-items: center;
}
/* make the first text module be inline so that the social icons can also be inline with it */
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child, 
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child > .et_pb_text_inner,
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child > .et_pb_text_inner > h2,
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child + .et_pb_module.et_pb_social_media_follow {
	display: inline;
}
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child {
	margin-right: 10px;
}
/* prevent social icons in this section from wrapping */
#what-were-up-to .et_pb_column.et_pb_column:first-child > .et_pb_module.et_pb_text:first-child + .et_pb_module.et_pb_social_media_follow {
	white-space: nowrap;
}

/* tweak the title of the Portfolio grid items, so it shows only on overlay */
#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item,
.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item {
	position: relative;
	overflow: hidden;
}
#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header,
.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
	position: absolute;
	margin: 0;
	line-height: 1em;
	text-transform: none;
	padding: 10px;
	top:50%;
	right: 0;
	bottom: 0;
	left: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	font-size: 1vw;
	z-index: 3;
	pointer-events: none;
	font-weight: 700;
	opacity: 0;
	-moz-transform: translateY(10px);
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	-webkit-transition: all .4s ease .4s;
	-moz-transition: all .4s ease .4s;
	transition: all .4s ease .4s;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+83,1+100 */
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 83%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 83%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 83%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	text-shadow: 0 0 15px white;
}
/* now only show it on hover */
#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item a:hover + .et_pb_module_header, 
.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item a:hover + .et_pb_module_header {
	opacity: 1;
	-moz-transform: translateY(0);
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* remove excess top padding from stacked columns */
@media (max-width: 980px) {
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column + .et_pb_column {
		padding-top: 0;
	}
}

@media (max-width: 767px) {
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header,
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
		font-size: 9px;
	}
}
@media (min-width: 1199px) {
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header,
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
		font-size: 15px;
	}
}

@media (min-width: 480px) {
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item,
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item {
		width: 33.333% !important;
		margin: 0;
		clear: none !important;
	}
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item:nth-child(3n+1),
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item:nth-child(3n+1) {
		clear: both !important;
	}
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item,
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item {
		border-left: 5px solid #0075be;
	}
}

@media (max-width: 479px) {
	#what-were-up-to.fullwidth-row.et_pb_section .et_pb_row .et_pb_column .et_pb_portfolio_grid .et_pb_grid_item,
	.custom-portfolio.et_pb_portfolio_grid .et_pb_grid_item {
		border-bottom: 5px solid #0075be;
	}
}

/* -- POSTS PAGE -- */

/* we injected a Titlebar into the Blog homepage, 
* and Divi tries to give the content area top padding based on the header, 
* but we don't want that much of padding top */
body.blog #titlebar + #et-main-area > #main-content > .container,
body.single.single-post #titlebar + #et-main-area > #main-content > .container,
body.blog #et-main-area > #titlebar + #main-content > .container,
body.single.single-post #et-main-area > #titlebar + #main-content > .container {
	padding-top: 60px !important;
}

/* give the Blog homepage slight bg color 
* so the titlebar border and footer border pops more */
body.blog #main-content,
body.single.single-post #main-content {
	background-color: #e2e2e2;
}

@media (min-width: 767px) {
	body.blog #main-content > .container, 
	body.single.single-post #main-content > .container {
		width: 100%;
		max-width: 100%;
		padding-right: 6% !important;
		padding-left: 6% !important;
	}
	/* tweak position of sidebar line */
	body.blog.et_right_sidebar #main-content > .container::before,
	body.single.single-post.et_right_sidebar #main-content > .container::before {
		right: 35%!important;
	}
}

@media (max-width: 980px) {
	/* create gap between post content and sidebar when stacked */
	body.blog #main-content > .container #left-area + #sidebar, 
	body.single.single-post > .container #left-area + #sidebar {
		margin-top: 60px;
	}
}

#left-area > article.et_pb_post:not(:last-of-type) {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 5px solid rgba(0, 0, 0, 0.05);
}

@media (max-width: 980px) {
	#left-area > article.et_pb_post {
		padding-bottom: 60px;
		margin-bottom: 60px;
		border-bottom: 5px solid rgba(0, 0, 0, 0.05);
	}
}

/* FORCE POSTS IN LOOP TO HAVE TITLE OVERLAYED ON FEATURED IMAGE */

/* create better gap between featured image and post content */
body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url {
	margin-bottom: 30px;
}
/* add overlay gradient since text is over image now */
body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url::before {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#707476+0,707476+100&0+0,1+83 */
	background: -moz-linear-gradient(top, rgba(112,116,118,0) 0%, rgba(112,116,118,1) 83%, rgba(112,116,118,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(112,116,118,0) 0%,rgba(112,116,118,1) 83%,rgba(112,116,118,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(112,116,118,0) 0%,rgba(112,116,118,1) 83%,rgba(112,116,118,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00707476', endColorstr='#707476',GradientType=0 ); /* IE6-9 */
	content: '';
	top: 50%;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	display: block;
	opacity: 0.95;
}
/* tweak image to be correct line height */
body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url img {
	display: block;
}
/* move up the title and force it on one line */
body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url + .entry-title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-top: -120px;
	z-index: 3;
	position: relative;
	padding: 20px 20px 0px;
	color: white;
	line-height: 1em;
	pointer-events: none;
}
@media (max-width: 767px) {
	body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url + .entry-title {
		margin-top: -112px;
	}
}
@media (max-width: 479px) {
	body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url + .entry-title {
		margin-top: -110px;
	}
}
/* tweak position of post meta, such as date */
body:not(.single) #left-area > article.et_pb_post.has-post-thumbnail > a.entry-featured-image-url + .entry-title + p.post-meta {
	padding: 10px 20px 20px 20px;
	margin-bottom: 30px;
	color: white;
	z-index: 3;
	position: relative;
	line-height: 1em;
	pointer-events: none;
	opacity: 0.75;
}

/* add label to post and project types */
body:not(.single) #left-area > article.et_pb_post.post.has-post-thumbnail > a.entry-featured-image-url::after,
body:not(.single) #left-area > article.et_pb_post.project.has-post-thumbnail > a.entry-featured-image-url::after,
body:not(.single) #left-area > article.et_pb_post.post:not(.has-post-thumbnail)::before,
body:not(.single) #left-area > article.et_pb_post.project:not(.has-post-thumbnail)::before {
	display: table;
	z-index: 5;
	line-height: 1em;
	font-size: 13px;
	padding: 8px;
	border-radius: 3px;
	color: white;
}
body:not(.single) #left-area > article.et_pb_post.post.has-post-thumbnail > a.entry-featured-image-url::after,
body:not(.single) #left-area > article.et_pb_post.project.has-post-thumbnail > a.entry-featured-image-url::after {
	position: absolute;
	background: rgba(0, 117, 190, 0.9);
	top: 20px;
	right: 20px;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
body:not(.single) #left-area > article.et_pb_post.post.has-post-thumbnail > a.entry-featured-image-url::after,
body:not(.single) #left-area > article.et_pb_post.post:not(.has-post-thumbnail)::before {
	content: 'News';
}
body:not(.single) #left-area > article.et_pb_post.project.has-post-thumbnail > a.entry-featured-image-url::after,
body:not(.single) #left-area > article.et_pb_post.project:not(.has-post-thumbnail)::before{
	content: 'Project';
}

/* add the label for those without featured images */
body:not(.single) #left-area > article.et_pb_post:not(.has-post-thumbnail) {
	position: relative;
}
body:not(.single) #left-area > article.et_pb_post.post:not(.has-post-thumbnail)::before,
body:not(.single) #left-area > article.et_pb_post.project:not(.has-post-thumbnail)::before {
	margin-right: 20px;
	background: rgba(0, 0, 0, 0.05);
	float: right;
}
body:not(.single) #left-area > article.et_pb_post.post:not(.has-post-thumbnail) > .entry-title,
body:not(.single) #left-area > article.et_pb_post.project:not(.has-post-thumbnail) .entry-title {
	padding-right: 100px;
}

@media (max-width: 767px) {
	body:not(.single) #left-area > article.et_pb_post.post.has-post-thumbnail > a.entry-featured-image-url::after,
	body:not(.single) #left-area > article.et_pb_post.project.has-post-thumbnail > a.entry-featured-image-url::after,
	body:not(.single) #left-area > article.et_pb_post.post:not(.has-post-thumbnail)::before,
	body:not(.single) #left-area > article.et_pb_post.project:not(.has-post-thumbnail)::before {
		font-size: 11px;
	}
}

/* -- SIDEBAR -- */

/* tweak color of sidebar line */
@media (min-width: 981px) {
	#main-content .container::before {
		width: 5px;
		background-color: rgba(0, 0, 0, 0.05);
	}
}

#sidebar .widgettitle {
	position: relative;
	display: table;
}
#sidebar .widgettitle::before,
#sidebar .widgettitle::after {
	position: absolute;
	content: ':';
	color: #555759;
	font-weight: bold;
	top: -2px;
	font-size: 1em;
}
#sidebar .widgettitle:before {
	right: -10px;
}
#sidebar .widgettitle::after {
	right: -17px;
}

#sidebar #media_image-3 {
	max-width: 166px;
}

/* sidebar links */
.et_pb_widget.widget_recent_entries ul,
ul.simple-contact {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.et_pb_widget.widget_recent_entries ul li,
ul.simple-contact li {
	position: relative;
	padding-left: 24px;
	margin: 0 0 6px !important;
}

.et_pb_widget.widget_recent_entries ul li::before,
ul.simple-contact li::before {
	font-family: 'ETmodules';
	width: 16px;
	margin: 0;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	color: #0075be;
	/* set font size helps make icon sharper */
	font-size: 16px;
	font-weight: normal;
}
.et_pb_widget.widget_recent_entries ul li::before {
	content: '\f105';
}
ul.simple-contact li.phone::before {
	content: '\f095';
}
ul.simple-contact li.email::before {
	content: '\f0e0';
}
ul.simple-contact li.contact::before {
	content: '\f040';
}

/* -- FIXES -- */

/* adjust the title and gap in Counter */
body .et_pb_number_counter.et_pb_with_title .percent {
	margin-bottom: 1em;
	height: auto;
}
body .et_pb_number_counter.et_pb_with_title .percent + .title {
	padding-bottom: 0;
}
/* make blurb gap less */
.et_pb_blurb_position_top .et_pb_main_blurb_image {
	margin-bottom: 1.5em;
}

/* -- PROJECTS (Parent Page) -- */

.top-links-section > .et_pb_row {
	max-width: 100%;
	width: 100%;
}
.top-links-section > .et_pb_row > .et_pb_column {
	padding-left: 10%;
	padding-right: 10%;
}
@media (min-width: 767px) {
	.top-links-section > .et_pb_row > .et_pb_column {
		padding-left: 6%;
		padding-right: 6%;
	}
}

.top-links-section .et_pb_text_inner {
	font-size: 0.75em;
	line-height: 1em;
}
.top-links-section .et_pb_text_inner > p, .top-links-section .et_pb_text_inner a {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.top-links-section .et_pb_text_inner > p > strong, .top-links-section .et_pb_text_inner a > strong {
	margin: 0 10px;
}
.top-links-section .et_pb_text_inner > p > a, .top-links-section .et_pb_text_inner a {
	color: white;
	padding: 10px 10px;
	vertical-align: middle;
	line-height: 1em;
	display: inline-block;
	white-space: nowrap;
	background-color: rgba(255,255,255,0);
	transition: all 0.6s ease;
	-ms-transform: skew(-20deg);
	-webkit-transform: skew(-20deg);
	-moz-transform: skew(-20deg);
	transform: skew(-20deg);
}
@media (max-width: 980px) {
	.top-links-section .et_pb_text_inner > p > a, .top-links-section .et_pb_text_inner a {
		padding: 10px 5px;
	}
}

.top-links-section .et_pb_text_inner > p > a:hover, .top-links-section .et_pb_text_inner a:hover, .top-links-section .et_pb_text_inner a.fs-filter-link-opened {
	background-color: rgba(255,255,255,1);
	color: #0075be;
}
.top-links-section .et_pb_text_inner > p > a > strong, .top-links-section .et_pb_text_inner a > strong  {
	font-weight: normal;
	-ms-transform: skew(20deg);
	-webkit-transform: skew(20deg);
	-moz-transform: skew(20deg);
	transform: skew(20deg);
	display: inline-block;
}
.top-links-section .et_pb_text_inner a.fs-filter-link-opened > strong {
	font-weight: bold;
}

/* -- PROJECT "Category" (SUBPAGES) -- */

#client-cloud {
}

#client-cloud > .et_pb_row {
	max-width: 100%;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
}
#client-cloud > .et_pb_row > .et_pb_column {
	padding-left: 3%;
	padding-right: 3%;
}
@media (min-width: 767px) {
	#client-cloud > .et_pb_row > .et_pb_column {
		padding-left: 3%;
		padding-right: 3%;
	}
}
#client-cloud > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_image {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 3%;
	right: 3%;
	max-width: 1700px;
	margin: 0 auto;
}

/* shortcode that spits out word cloud of clients of Projects in a particular category; as  list items */
.fs-project-clients ul,
ul.fs-project-clients {
	list-style: none;
	margin: 0;
	padding: 1em 0;
	line-height: 1.3em;
	text-align: center;
	font-size: 1.5em;
}
.fs-project-clients ul li,
ul.fs-project-clients li {
	display: inline-block;
	color: white;
	margin: 0;
	padding: 0 4px;
	vertical-align: middle;
	line-height: 1.2em;
	border-radius: 3px;
	background-color: rgba(255,255,255,0);
	font-size: 1.25em;
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
}

.fs-project-clients ul li:nth-child(5n+3),
ul.fs-project-clients li:nth-child(5n+3) {
	opacity: 1;
}
.fs-project-clients ul li:first-child,
ul.fs-project-clients li:first-child {
	opacity: 1;
}
.fs-project-clients ul li:nth-child(2),
ul.fs-project-clients li:nth-child(2) {
	transform: translateY(-0.375em);
	font-weight: 200;
}
.fs-project-clients ul li:nth-child(3n),
ul.fs-project-clients li:nth-child(3n) {
	font-weight: 600;
}
.fs-project-clients ul li:nth-child(3),
ul.fs-project-clients li:nth-child(3) {
	font-size: 1.75em;
	font-weight: 800;
}
.fs-project-clients ul li:nth-child(3n+1),
ul.fs-project-clients li:nth-child(3n+1) {
	font-style: italic;
	color: #0075be;
}

.fs-project-clients ul li:nth-child(4n),
ul.fs-project-clients li:nth-child(4n) {
	font-weight: 300;
	font-size: 1.125em
}
.fs-project-clients ul li:nth-child(5),
ul.fs-project-clients li:nth-child(5) {
	font-size: 1.875em;
	font-weight: 500;
	font-style: italic;
	transform: translateY(-0.5em);
}
.fs-project-clients ul li:nth-child(6n),
ul.fs-project-clients li:nth-child(6n) {
	transform: translateY(0.5em);
	font-weight: 200;
}
.fs-project-clients ul li:nth-child(7n),
ul.fs-project-clients li:nth-child(7n) {
	font-size: 1.5em;
	transform: translateY(-0.25em);
	font-weight: 700;
}
.fs-project-clients ul li:nth-child(9n),
ul.fs-project-clients li:nth-child(9n) {
	transform: translateY(0.25em);
}
.fs-project-clients ul li:last-child,
ul.fs-project-clients li:last-child {
	font-size: 1.625em;
}

@media (min-width: 768px) and (max-width: 1599px) {
	.fs-project-clients ul,
	ul.fs-project-clients {
		font-size: 1.2vw;
	}
}

@media (max-width: 767px) {
	.fs-project-clients ul,
	ul.fs-project-clients {
		font-size: 0.75em;
	}
}
@media (max-width: 479px) {
	.fs-project-clients ul,
	ul.fs-project-clients {
		font-size: 0.625em;
	}
}

/* -- PORTFOLIO GALLERY (custom class) on "Category" SUBPAGES -- */

@media (min-width: 981px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item {
		width: calc(33.33333% - 5px);
		margin-right: calc(5px);
		margin-bottom: calc(5px);
		clear: none;
	}
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item:nth-child(3n+1) {
		clear: both;
	}
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item {
	position: relative;
	overflow: hidden;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
	position: absolute;
	margin: 0;
	line-height: 1em;
	text-transform: none;
	padding: 10px;
	top:50%;
	right: -1px;
	bottom: -1px;
	left: -1px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	font-size: 1vw;
	z-index: 3;
	pointer-events: none;
	font-weight: 700;
	opacity: 1;
	-webkit-transition: all .4s ease .4s;
	-moz-transition: all .4s ease .4s;
	transition: all .4s ease .4s;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+83,1+100 */
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 83%, rgba(255,255,255,0.8) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 83%,rgba(255,255,255,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 83%,rgba(255,255,255,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
	text-shadow: 0 0 15px white;
	text-transform: none;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item a:hover + .et_pb_module_header {
	-moz-transform: translateY(10px);
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	opacity: 0;
}

body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items::after {
	content: '';
	display: table;
	clear: both;
}

/* project prev next */
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination {
	margin-top: 20px;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination a {
	background: white;
	border-radius: 3px;
	padding: 10px 20px;
	box-shadow: 0 1px 8px rgba(0,0,0,0.2);
	transition: all 0.2s ease;
	margin-top: 3px;
	margin-bottom: 3px;
	display: block;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination a:hover {
	box-shadow: none;
	background: rgba(245,245,245,0.8);
}

body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination a {
	overflow: hidden;
	white-space: nowrap !important;
	text-indent: -9999px;
	position: relative;
	width: 200px;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignleft a::before,
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignright a::before {
	content: '';
	position: absolute;
	left: 50%;
	text-align: center;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	text-indent: 0;
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignleft a::before {
	content: '\00ab\00a0View Previous Set';
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignright a::before {
	content: 'View Next Set\00a0\00bb';
}
@media (max-width: 640px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignleft, 
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_portfolio_grid_items + .pagination .alignright {
		position: relative;
		float: none;
		display: table;
		text-align: center;
		margin: 0 auto;
	}
}

/* more for the project grids (custom class) on the "Category" SUBPAGES */
@media (max-width: 980px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item {
		width: calc(33.333333% - 5px);
		margin-right: calc(5px);
		margin-bottom: calc(5px);
	}
}
@media (max-width: 767px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item {
		width: calc(50% - 5px);
		margin-right: calc(5px);
		margin-bottom: calc(5px);
	}
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
		font-size: 9px;
	}
}
@media (max-width: 479px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item {
		width: 100%;
		margin: 0 0 5px 0;
	}
}
@media (min-width: 1199px) {
	body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item a + .et_pb_module_header {
		font-size: 15px;
	}
}

/* custom overlay options in those Grids */
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item .et_overlay {
	background-color: rgba(255,255,255,0.75);
	border-color: rgba(255,255,255,0.75);
}
body .et_pb_section .et_pb_row .et_pb_column .portfolio-gallery.et_pb_portfolio_grid .et_pb_grid_item .et_overlay::before {
	content: '';
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	background-image: url(/wp-content/uploads/square-logo-01.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0;
}

/* -- GALLERY -- */

/* custom overlay options in gallery modules */
body .et_pb_section .et_pb_row .et_pb_column .et_pb_gallery.et_pb_gallery_grid .et_pb_gallery_item .et_overlay {
	background-color: rgba(255,255,255,0.75);
	border-color: rgba(255,255,255,0.75);
}
body .et_pb_section .et_pb_row .et_pb_column .et_pb_gallery.et_pb_gallery_grid .et_pb_gallery_item .et_overlay::before {
	content: '';
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	background-image: url(/wp-content/uploads/square-logo-01.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin: 0;
}


/* -- SINGLE PROJECTS -- */

body.single.single-project #titlebar {
	background-image: none !important;
}

body.single.single-project #titlebar::before {
	-webkit-animation: projecttitlebar 7s forwards;
	animation: projecttitlebar 7s forwards;
}
body.single.single-project #titlebar::after {
	display: none;
}

@keyframes projecttitlebar {
	0% {
		background-color: rgba(0,117,190,0);
		right: 0;
		transform: skew(0deg);
		-webkit-transform: skew(0deg);
	}
	100% {
		background-color: rgba(0,117,190,1);
		right: 75%;
		transform: skew(-21deg);
		-webkit-transform: skew(-21deg);
	}
}

/* we inject custom fields into single Projects via PHP function, then move with jQuery
* so we want to hide it initially and then reveal it after we moved it */
#et-main-area > .fs-project-details-wrapper {
	display: none;
}
#titlebar .fs-project-details-wrapper {
	opacity: 1;
}
#titlebar .fs-project-details-wrapper div {
	line-height: 1.2em;
}
#titlebar .fs-project-details-wrapper div:not(:last-child) {
	margin-bottom: 0.75em;
}
#titlebar .fs-project-details-wrapper div span {
	padding-right: 16px;
	position: relative;
	font-size: 15px;
}
#titlebar .fs-project-details-wrapper div span::before {
	right: 1px;
}
#titlebar .fs-project-details-wrapper div span::after {
	right: 7px;
}
#titlebar .fs-project-details-wrapper div span::before,
#titlebar .fs-project-details-wrapper div span::after {
	position: absolute;
	content: ':';
	color: rgba(255,255,255,0.5);
	font-weight: 700;
	border: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	top: 1px;
	font-size: 15px;
}

#titlebar .fs-project-details-wrapper div span {
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 700;
}

/* remove excess gap at bottom of projects */
body.single.single-project.et_pb_pagebuilder_layout .et_pb_post {
	margin-bottom: 0;
}

/* pagination on projects */
body.single.single-project #main-content article .nav-single {
	margin-bottom: 0;
	margin-top: 0;
}
body.single.single-project #main-content article .nav-single a {
	background: white;
	border-radius: 3px;
	padding: 10px 20px;
	box-shadow: 0 1px 8px rgba(0,0,0,0.2);
	transition: all 0.2s ease;
	margin-top: 3px;
	margin-bottom: 3px;
}
body.single.single-project #main-content article .nav-single a:hover {
	box-shadow: none;
	background: rgba(255,255,255,0.8);
}
@media (max-width: 640px) {
	body.single.single-project #main-content article .et_pb_posts_nav .nav-next, 
	body.single.single-project #main-content article .et_pb_posts_nav .nav-previous {
		position: relative;
		float: none;
		display: table;
		text-align: center;
		margin: 0 auto;
	}
}

@media (min-width: 767px) {
	body.single.single-project #main-content article .nav-single {
		width: 100%;
		max-width: 100%;
		padding-left: 6%;
		padding-right: 6%;
	}
}

/* remove the blue gallery borders and make it white */
body.single.single-project #main-content article .et_pb_gallery .et_pb_grid_item.et_pb_gallery_item  .et_pb_gallery_image {
	border-color: white;
}

/* make gallery in Projects be 6 wide */
body.single.single-project #main-content article .et_pb_grid_item:nth-child(4n+1) {
	clear: none;
}
@media (min-width: 981px) {
	body.single.single-project #main-content article .et_pb_grid_item {
		width: 20%;
	}
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(5n+1) {
		clear: both;
	}
}
@media (min-width: 1199px) {
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(5n+1) {
		clear: none;
	}
	body.single.single-project #main-content article .et_pb_grid_item {
		width: 16.666666%;
	}
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(6n+1) {
		clear: both;
	}
}
@media (max-width: 980px) {
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(3n+1) {
		clear: none;
	}
	body.single.single-project #main-content article .et_pb_grid_item {
		width: 25%;
	}
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(4n+1) {
		clear: both;
	}
}
@media (max-width: 767px) {
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(4n+1),
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(2n+1) {
		clear: none;
	}
	body.single.single-project #main-content article .et_pb_grid_item {
		width: 33.33333%;
	}
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(3n+1) {
		clear: both;
	}
}
@media (max-width: 479px) {
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(4n+1),
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(3n+1) {
		clear: none;
	}
	body.single.single-project #main-content article .et_pb_grid_item {
		width: 50%;
	}
	body.single.single-project #main-content article .et_pb_grid_item:nth-child(2n+1) {
		clear: both;
	}
}

/* adjust height and positioning of Gallery Slider in Projects */

/* Slider in Projects */
body.single.single-project .et_pb_slider .et-pb-controllers {
	display: none;
}

/* Desktop */

/*
body.single.single-project .et_pb_slider.et_pb_gallery {
background-color: #677173;
background-image: url(/wp-content/uploads/drawings-bg.png);
background-attachment: fixed;
background-size: auto;
background-repeat: no-repeat;
background-position: center center;
}
*/

body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item,
body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image,
body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image img {
	min-height: 480px !important;
	max-height: 980px !important;
	/*
	margin-left: auto;
	margin-right: auto;
	*/
}
/* make the main slider of projects be almost full height, but just short enough that the gallery below shows itself (minus height of header and floating footer) */
@media (min-width: 981px) {
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image img {
		min-height: 360px !important;
		height: calc(85vh - 190px - 53px);
	}
}

body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image img  {
	object-fit: cover;
}

body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-prev::before,
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-next::before {
	text-shadow: 0 1px 5px rgba(0,0,0,0.5);
	transition: all 0.2s ease;

}
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-prev:hover::before,
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-next:hover::before {
	text-shadow: 0 1px 5px rgba(0,0,0,0.75);
	opacity: 0.75;
}
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-prev,
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-next {
	margin-top: -36px;
	font-size: 72px;
}
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-prev {
	left: 22px;
	opacity: 1;
}
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-next {
	right: 22px;
	opacity: 1;
}
body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-controllers a {
	box-shadow: 0 0 8px rgba(0,0,0,0.333);
}
/* Tablet */
@media only screen and (min-width: 768px) and (max-width: 980px) {
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image img {
		min-height: 480px !important;
		max-height: 720px !important;
		margin-left: auto;
		margin-right: auto;
	}
}
/* Phone */
@media only screen and (max-width: 767px) {
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image,
	body.single.single-project .et_pb_slider.et_pb_gallery .et_pb_gallery_items .et_pb_gallery_item .et_pb_gallery_image img {
		min-height: 320px !important;
		max-height: 480px !important;
		margin-left: auto;
		margin-right: auto;
	}
	body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-prev {
		left: 0;
		opacity: 1;
	}
	body.single.single-project .et_pb_slider.et_pb_gallery .et-pb-arrow-next {
		right: 0;
		opacity: 1;
	}
}

/* End: Project Divi Slider Height */

/* Project Details section (on single projects) */
#project-details .et_pb_blurb_position_left,
#project-details .et_pb_blurb_position_left .et_pb_image_wrap {
	text-align: center;
}
#project-details .et_pb_blurb_position_left .et-pb-icon {
	display: inline-block;
}

#project-details .et_pb_image {
	text-align: center;
}

#project-details .et_pb_image.et_pb_has_overlay a.et_pb_lightbox_image {
	overflow: visible;
}

#project-details .et_pb_image .et_pb_image_wrap {
	position: relative;
	max-width: 540px;
	margin: 0 auto;
	border: 5px solid white;
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
}
/* add rhombus shape behind main portfolio image
#project-details .et_pb_image .et_pb_image_wrap::before {
content: '';
position: absolute;
top: 20px;
right: -10px;
bottom: 20px;
left: -20px;
display: block;
background-color: #0075be;
-ms-transform: skew(-15deg) translateX(0px);
-webkit-transform: skew(-15deg) translateX(0px);
-moz-transform: skew(-15deg) translateX(0px);
transform: skew(-15deg) translateX(0px);
z-index: -1;
animation: featured-bg 15s infinite;
opacity: 1;
} 
*/
@keyframes featured-bg {
	0% {
		-ms-transform: skew(-15deg) translateX(0px);
		-webkit-transform: skew(-15deg) translateX(0px);
		-moz-transform: skew(-15deg) translateX(0px);
		transform: skew(-15deg) translateX(0px);
		opacity: 1;
	}
	50% {

		-ms-transform: skew(-10deg) translateX(10px);
		-webkit-transform: skew(-10deg) translateX(10px);
		-moz-transform: skew(-10deg) translateX(10px);
		transform: skew(-10deg) translateX(10px);
		opacity: 0.25;
	}
	100% {
		-ms-transform: skew(-15deg) translateX(0px);
		-webkit-transform: skew(-15deg) translateX(0px);
		-moz-transform: skew(-15deg) translateX(0px);
		transform: skew(-15deg) translateX(0px);
		opacity: 1;
	}
}

/* remove excess padding when stacked */
@media (max-width: 980px) {
	#project-details.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column + .et_pb_column {
		padding-top: 0;
	}
}

/* -- SERVICES -- */

.fullwidth-row.et_pb_section .services-blurb-row.et_pb_row > .et_pb_column {
	padding: 30px 0 !important;
}
#preconstruction.fullwidth-row.et_pb_section > .et_pb_row > .et_pb_column.et_pb_column_empty,
#construction.fullwidth-row.et_pb_section > .et_pb_row > .et_pb_column.et_pb_column_empty,
#sustainability.fullwidth-row.et_pb_section > .et_pb_row > .et_pb_column.et_pb_column_empty {
	padding: 0;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column {
	text-align: center;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	display: -webkit-flex;
	display: flex;
}	

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb {
	display: inline-block;
	padding: 15px;
	margin: 0 !important;
	flex-grow: 1;
	flex-basis: 0;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_main_blurb_image {
	display: table;
	margin: 0 auto;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb a {
	cursor: pointer;
	display: table;
	position: relative;
	transition: all 0.4s ease;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_main_blurb_image a:hover {
	transform: translateY(-10px);
}

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_module_header {
	padding-bottom: 0;
	margin-top: 0.5em;
	font-weight: 600;
	opacity: 0.25;
	font-size: 16px;
	transition: all 0.4s ease;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb:hover .et_pb_module_header {
	opacity: 1;
}

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_module_header > a {
	margin: 0 auto;
}

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb.active-tab .et_pb_module_header > a {
	opacity: 0 !important;
}

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_main_blurb_image a .et_pb_image_wrap::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 99%;
	height: 99%;
	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0);
	border-radius: 50%;
	z-index: 1;
	transition: all 0.4s ease;
	opacity: 0;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et_pb_main_blurb_image a:hover .et_pb_image_wrap::before {
	box-shadow: 0 0 0 5px rgba(0, 117, 190, 1);
	background-color: rgba(255,255,255,0.1);
	transform: scale(1.1);
	opacity: 1;
	width: 100%;
	height: 100%;
}

.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et-pb-icon-circle {
	padding: 0;
	width: 98px;
	height: 98px;
	line-height: 98px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb a:hover .et-pb-icon-circle {
	opacity: 0.7;
}
.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb.active-tab .et-pb-icon-circle {
	box-shadow: 0 0 0 5px #ffffff;
	color: #ffffff;
	background-color: #0075be;
}

@media only screen and (max-width: 980px) {
	.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et-pb-icon-circle {
		width: 80px;
		height: 80px;
		line-height: 80px;
	}
}
@media only screen and (max-width: 767px) {
	.et_pb_section > .services-blurb-row.et_pb_row > .et_pb_column .et_pb_blurb .et-pb-icon-circle {
		width: 72px;
		height: 72px;
		line-height: 72px;
	}
}

@media (max-width: 980px) {
	#preconstruction.fullwidth-row.et_pb_section.gradient-from-left:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before,
	#preconstruction.fullwidth-row.et_pb_section.gradient-from-right:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before,
	#construction.fullwidth-row.et_pb_section.gradient-from-left:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before,
	#construction.fullwidth-row.et_pb_section.gradient-from-right:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before,
	#sustainability.fullwidth-row.et_pb_section.gradient-from-left:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before,
	#sustainability.fullwidth-row.et_pb_section.gradient-from-right:not(.gradient-white-wash) > .et_pb_row:not(.services-blurb-row)::before {
		background: -moz-linear-gradient(top, rgba(85,87,89,1) 0%, rgba(85,87,89,1) 33%, rgba(85,87,89,0.5) 100%);
		background: -webkit-linear-gradient(top, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0.5) 100%);
		background: linear-gradient(to bottom, rgba(85,87,89,1) 0%,rgba(85,87,89,1) 33%,rgba(85,87,89,0.5) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555759', endColorstr='#00555759',GradientType=0 );
	}
	#preconstruction.fullwidth-row.et_pb_section.gradient-from-left.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before,
	#preconstruction.fullwidth-row.et_pb_section.gradient-from-right.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before,
	#construction.fullwidth-row.et_pb_section.gradient-from-left.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before,
	#construction.fullwidth-row.et_pb_section.gradient-from-right.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before,
	#sustainability.fullwidth-row.et_pb_section.gradient-from-left.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before,
	#sustainability.fullwidth-row.et_pb_section.gradient-from-right.gradient-white-wash > .et_pb_row:not(.services-blurb-row)::before {
		background: -moz-linear-gradient(top, rgba(226,226,226,1) 0%, rgba(226,226,226,1) 33%, rgba(226,226,226,0.5) 100%);
		background: -webkit-linear-gradient(top, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0.5) 100%);
		background: linear-gradient(to bottom, rgba(226,226,226,1) 0%,rgba(226,226,226,1) 33%,rgba(226,226,226,0.5) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#E2E2E2', endColorstr='#CCE2E2E2',GradientType=0 );
	}
	.fullwidth-row.et_pb_section.gradient-from-left > .services-blurb-row.et_pb_row::before,
	.fullwidth-row.et_pb_section.gradient-from-right > .services-blurb-row.et_pb_row::before {
		background: rgba(85,87,89,0.5);
	}
	.fullwidth-row.et_pb_section.gradient-white-wash > .services-blurb-row.et_pb_row::before {
		background: rgba(226,226,226,0.5);
	}
}

/* SERVICES TOGGLING */
#preconstruction-blurb-section,
#construction-blurb-section,
#sustainability-blurb-section,
#preconstruction-blurb-section .et_pb_row,
#construction-blurb-section .et_pb_row,
#sustainability-blurb-section .et_pb_row {
	display: none;
}

/* -- SERVICES Sub Pages -- */

@media (min-width: 640px) {
	#preconstruction-section.fullwidth-row > .et_pb_row,
	#construction-section.fullwidth-row > .et_pb_row {
		min-height: calc(100vh - 128px - 53px);
	}
}
@media (min-width: 768px) {
	#preconstruction-section.fullwidth-row > .et_pb_row,
	#construction-section.fullwidth-row > .et_pb_row {
		min-height: calc(100vh - 132px - 53px);
	}
}
@media (min-width: 981px) {
	#preconstruction-section.fullwidth-row > .et_pb_row,
	#construction-section.fullwidth-row > .et_pb_row {
		min-height: calc(100vh - 164px - 53px);
	}
}

#preconstruction-section.fullwidth-row.gradient-from-right > .et_pb_row > .et_pb_column_empty,
#construction-section.fullwidth-row.gradient-from-right > .et_pb_row > .et_pb_column_empty {
	padding: 0;
}

#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_text,
#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_text,
#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb > .et_pb_blurb_content,
#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb > .et_pb_blurb_content {
	max-width: 100%;
	margin-left: 0;
}

#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.et_pb_blurb_position_left .et-pb-icon-circle,
#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.et_pb_blurb_position_left .et-pb-icon-circle {
	font-size: 32px;
	width: 2em;
	height: 2em;
	line-height: 2em;
	display: inline-block;
	padding: 0;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.checklist ul li,
#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.checklist ul li {
	line-height: 1.8em;
} 
#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.checklist ul li::before,
#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.checklist ul li::before {
	opacity: 0.66;
} 

@media (max-width: 767px) {
	#preconstruction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.et_pb_blurb_position_left .et-pb-icon-circle,
	#construction-section.fullwidth-row > .et_pb_row > .et_pb_column > .et_pb_module.et_pb_blurb.et_pb_blurb_position_left .et-pb-icon-circle {
		font-size: 22px;
	}
}

/* -- TEAM -- */

#team > .et_pb_row.team-blurb-row > .et_pb_column {
	display: webkit-flex;
	display: flex;
	text-align: center;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_text {
	display: inline-block;
	padding: 15px;
	margin: 0 !important;
	flex-grow: 1;
	flex-basis: 0;
	align-self: center;
	padding-left: 6%;
}
#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_blurb {
	display: inline-block;
	padding: 15px;
	margin: 0 !important;
	flex-grow: 1;
	flex-basis: 0;
}
#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_blurb.active-tab .et_pb_main_blurb_image .et_pb_image_wrap {
	box-shadow: 0 0 0 5px rgba(255,255,255,0.5);
}

@media (max-width: 767px) {
	#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_text {
		padding-left: 15px;
		text-align: center;
	}
	#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_text,
	#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_blurb {
		flex-basis: 50%;
	}
}
@media (max-width: 479px) {
	#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_text,
	#team > .et_pb_row.team-blurb-row > .et_pb_column .et_pb_blurb {
		flex-basis: 100%;
	}
}

#team-bio-section,
#team-bio-section .et_pb_row {
	display: none;
}

#team .et_pb_blurb {
	cursor: pointer;
}
#team .et_pb_blurb .et_pb_main_blurb_image {
	max-width: 132px;
	position: relative;
	margin-bottom: 0.5em;
}
#team .et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 99%;
	height: 99%;
	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0);
	border-radius: 50%;
	z-index: 1;
	transition: all 0.4s ease;
	opacity: 0;
}
#team .et_pb_blurb:hover .et_pb_main_blurb_image .et_pb_image_wrap::before {
	box-shadow: 0 0 0 5px rgba(0, 117, 190, 1);
	background-color: rgba(255,255,255,0.1);
	transform: scale(1.05);
	opacity: 1;
	width: 100%;
	height: 100%;
}
#team .et_pb_blurb .et_pb_main_blurb_image {
	transition: all 0.4s ease;
}
#team .et_pb_blurb:hover .et_pb_main_blurb_image {
	transform: translateY(-10px);
}
#team .et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap img {
	z-index: 2;
	position: relative;
}
#team .et_pb_blurb .et_pb_module_header {
	padding-bottom: 0;
	transition: all 0.4s ease;
	display: table;
	margin: 0 auto 0.25em;
}
#team .et_pb_blurb:hover .et_pb_module_header {
	box-shadow: 0 1px 0 0 white;
}
#team .et_pb_blurb .et_pb_blurb_container {
	transition: all 0.4s ease;
	line-height: 1.4em;
}
#team .et_pb_blurb:hover .et_pb_blurb_container {
	opacity: 0.5;
}

#team-bio-section .et_pb_member_position {
	font-style: italic;
}

/* we use the website field for the phone number instead, so we change the icon */
#team-bio-section .et_pb_member_social_links .et_pb_font_icon.db_pb_team_member_website_icon::before {
	content: '\e090';
}
.et_pb_member_social_links li:last-child {
	margin-right: 0;
}

#team-bio-section .et_pb_team_member_description {
	padding: 0 100px;
}

#team-bio-section .et_pb_member_social_links {
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin: 0;
}

#team-bio-section .et_pb_member_social_links a {
	color: white !important;
	background-color: #0075be;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	line-height: 32px;
}

@media (max-width: 767px) {
	#team-bio-section .et_pb_team_member_description {
		padding: 0 50px 0 0;
	}
}

#team-bio-section .et_pb_member_social_links li {
	margin: 10px auto;
	display: block;
}

/* -- LIGHTBOXES -- */

body .mfp-iframe-holder .mfp-close, 
body .mfp-image-holder .mfp-close,
body .mfp-image-holder .mfp-close:active {
	font-weight: 400;
	top: -4px;
	opacity: 1;
}

/*-- INSTAGRAM -- */

#sb_instagram .sb_instagram_header a {
	float: none;
	display: table;
	margin: 0 auto;
}

#sb_instagram .sbi_header_text {
	float: none;
}

#sb_instagram .sb_instagram_header h3.sbi_no_bio {
	padding-top: 12px !important;
}

#sb_instagram #sbi_load .sbi_load_btn, 
#sb_instagram .sbi_follow_btn a {
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-family: 'Montserrat',Helvetica,Arial,Lucida,sans-serif;
}

#instagram-section.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column .et_pb_module:not(:last-child) {
	margin-bottom: 20px;
}

#instagram-section .et_pb_module h2 {
	padding-bottom: 0;
}

@media (min-width: 767px) {
	#instagram-section.fullwidth-row.et_pb_section .et_pb_row > .et_pb_column {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}


@media (max-width: 480px) {
	body #sb_instagram.sbi_col_10 #sbi_images .sbi_item, 
	body #sb_instagram.sbi_col_7 #sbi_images .sbi_item, 
	body #sb_instagram.sbi_col_8 #sbi_images .sbi_item, 
	body #sb_instagram.sbi_col_9 #sbi_images .sbi_item {
		width: 50%;
	}
	body #sb_instagram .sbi_photo {
		height: auto !important;
		background: none !important;
	}
	body #sb_instagram .sbi_photo img {
		display: block !important;
	}
}

/* -- END INSTAGRAM -- */

/* --------------- New Home, Featured Projects, Project Category pages - 06/14/24 --------------- */
/* ---------- Footer ---------- */
/* ----- Menu ----- */
.fs-footer-menu .et_pb_widget {
	margin-bottom: 0 !important;
}

/* ---------- Align Middle ---------- */
/* ----- More than one column ----- */
.align-middle .et_pb_row.et_pb_equal_columns {
	-webkit-align-items: center;
	align-items: center;	
}
/* ----- One Column ----- */
.align-middle-column {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* ---------- Divi Filter Grid - Featured ---------- */
/* ----- Image ----- */
.fs-filter-grid .dp-dfg-skin-default.dp-dfg-skin-zoomimage .dp-dfg-image img {
	-webkit-transition: all .6s;
	-o-transition: all .6s;
	transition: all .6s;
}
/* ----- Title ----- */
.fs-filter-grid .dp-dfg-skin-zoomimage .dp-dfg-header {
	grid-row: none;
	display: block;
}
/* ----- Overlay ---- */
.fs-filter-grid .dp-dfg-item .dp-dfg-overlay span.dfg_et_overlay {
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.75);
	border-color: rgba(255, 255, 255, 0.75);
	transition: all .6s;
}
.fs-filter-grid .dp-dfg-item:hover .dp-dfg-overlay span.dfg_et_overlay {
	opacity: 1;
}
.fs-filter-grid .dp-dfg-item .dp-dfg-overlay span.dfg_et_overlay:before {
	display: block;
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	width: 64px;
	height: 64px;
	background-image: url(/wp-content/uploads/square-logo-01.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin: auto;
}

/* ---------- Our Projects ---------- */
.fs-filter-link-element-2, .fs-filter-link-element-3, .fs-filter-link-element-4, .fs-filter-link-element-5, .fs-filter-link-element {
	display: none;
}

/* ---------- Our Projects Interior Section Header ---------- */
@media (min-width: 981px) {
	#titlebar .fs-photo-credit {
		position: absolute;
		right: 30px;
		bottom: 10px;
	}
}
@media (max-width: 980px) {
	#titlebar .fs-photo-credit {
		position: absolute;
		right: 20px;
		bottom: 0;
	}
}

/* ---------- Custom Mobile Column Order ---------- */
@media all and (max-width: 980px) {
	/* ----- wrap row in a flex box ----- */
	.custom-row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		/* Safari 6.1+ */
		flex-wrap: wrap;
	}
	/* ----- custom classes that will designate the order of columns in the flex box row ----- */
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
	}
	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	}
	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	}
	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	/* ----- add margin to last column ----- */
	.custom-row .et_pb_column:last-child {
		margin-bottom: 30px;
	}
}