/*!
Theme Name: jmcsolutions
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jmcsolutions
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

jmcsolutions is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
	/* Fallback for when there is no custom background color defined. */
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: purple;
}

a:hover, a:focus, a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	/*box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);*/
	/*float: left;*/
	/*position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;*/
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation ul li:hover > ul {
	position: relative;	
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		/*display: none;*/
	}
	.main-navigation ul {
		/*display: block;*/
	}
}

.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post,
.page {
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

/* Adjust Bootstrap */
@media (min-width: 1200px) {
	.container { width: 100%; max-width: 1230px; }
}

body { font-family: 'Source Sans Pro'; }
h1, h2, h3, h4, h5, h6 { font-family: "Oswald", sans-serif; color: #000; font-weight: 300; margin-top: 0; line-height: 1.5; }
h1 { font-size: 52px; text-transform: uppercase; letter-spacing: 3px; }
h2 { font-size: 32px; text-transform: uppercase; margin-bottom: 25px; }
h3 { font-size: 20px; margin-bottom: 20px; color: #858585; }
h4 { font-size: 18px; }
p { font-size: 16px; color: #797878; }
ul { margin-left: 0; padding-left: 0; }
ul li { font-size: 16px; }

.container-large { padding-left: 15px; padding-right: 15px; max-width: 1430px; width: 100%; margin-left: auto; margin-right: auto; }
.row-flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

a.button { font-family: 'Oswald'; font-weight: 300; font-size: 14px; display: inline-block; border: 0; border-radius: 0; background-color: #1e3748; color: #FFF; text-transform: uppercase; text-decoration: none; padding: 10px 20px; text-align: center; letter-spacing: 1px; -webkit-transition: all 0.2s; transition: all 0.2s; }
a.button-white { background-color: rgba(255,255,255,0.88); color: #284864; }
a.button-medium { font-size: 20px; padding: 14px 60px; }

/* Header */
.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

.site-header { position: fixed; top: 0; width: 100%; z-index: 300; background: #FFF; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.site-header .phone { float: right; margin-bottom: 0; font-size: 20px; font-family: 'Oswald'; font-weight: 300; margin-top: 32px; margin-right: 90px; }
.site-header .phone a { color: #000; }
.site-header .phone a:hover { text-decoration: none; }
.site-header .phone a::before { content: ""; display: inline-block; width: 20px; height: 20px; background: url(images/icon-phone-black.png) no-repeat; background-size: contain; vertical-align: top; margin-top: 6px; margin-right: 12px; }
.site-branding { float: left; margin-top: 40px; margin-bottom: 38px; max-width: 313px; }

.menu-toggle { position: absolute; height: 22px; width: 30px; background-color: transparent; border: 0; top: 36px; right: 40px; cursor: pointer; box-shadow: none; outline: 0; }
.menu-toggle span { width: 30px; height: 2px; background-color: #000; display: block; position: absolute; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; margin: 0; }

body.active-menu .menu-wrapper { position: absolute; top: 50%; left: 50%; -webkit-transform: translateY(-50%) translateX(-50%); transform: translateY(-50%) translateX(-50%); }

.main-navigation .menu-toggle span:nth-of-type(1) { top: 0; }
.main-navigation .menu-toggle span:nth-of-type(2) { top: 10px; }
.main-navigation .menu-toggle span:nth-of-type(3) { top: 10px; }
.main-navigation .menu-toggle span:nth-of-type(4) { top: 20px; }

.main-navigation.toggled .menu-toggle span { background-color: #FFF; }
.main-navigation.toggled .menu-toggle span:nth-of-type(1), 
.main-navigation.toggled .menu-toggle span:nth-of-type(4) { display: none; }
.main-navigation.toggled .menu-toggle span:nth-of-type(2) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.main-navigation.toggled .menu-toggle span:nth-of-type(3) {-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }

.menu-main-menu-container ul li a { color: #FFF; text-transform: uppercase; font-family: 'Oswald'; font-weight: 300; -webkit-transition: 0.2s; transition: 0.2s; }
.menu-main-menu-container ul li a:hover { opacity: 0.5; }
.menu-main-menu-container ul ul { border-left: 1px solid #FFF; padding-left: 35px; margin-bottom: 31px; margin-top: 15px; display: none !important; }
.menu-main-menu-container ul ul li a { font-size: 24px; width: 100%; text-align: left; font-weight: 200; letter-spacing: 1px; }
.menu-main-menu-container > ul > li.active > ul { display: block !important; }
.menu-main-menu-container > ul > li > a { font-size: 52px; letter-spacing: 4px; }
.menu-main-menu-container > ul > li { display: block; text-align: center; }

.site-header .social-wrapper { display: none; width: 100%; text-align: center; }
.site-header .social-wrapper a { display: inline-block; margin-left: 8px; margin-right: 8px; }
.site-header .container-large { max-width: 100%; padding-left: 30px; }
body.active-menu .site-header .social-wrapper { display: inline-block; margin-top: 100px; margin-bottom: 40px; }
.site-header .social-wrapper .facebook { width: 26px; height: 26px; display: inline-block; background: url(images/icon-facebook.jpg) no-repeat; }
.site-header .social-wrapper .facebook:hover { background-image: url(images/icon-facebook-hover.jpg); }
.site-header .social-wrapper .linkedin { width: 27px; height: 27px; display: inline-block; background: url(images/icon-linkedin.jpg) no-repeat; }
.site-header .social-wrapper .linkedin:hover { background-image: url(images/icon-linkedin-hover.jpg); }

body.active-menu { height: 100vh; overflow: hidden; }
body.active-menu .menu-main-menu-container { margin-top: 40px; text-align: center; }
body.active-menu .main-navigation { background: rgba(30, 55, 72, 0.97); position: fixed; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; }

@media (max-width: 1199px) {
	body.active-menu .site-header .social-wrapper { margin-top: 40px; }
	.menu-main-menu-container > ul > li > a { font-size: 32px; }
}
@media (max-width: 767px) {
	.site-header { height: 50px; }
	.site-header .container-large { padding-left: 15px; }
	.site-header .phone { margin-top: 9px; margin-right: 46px; }
	.site-header .phone a { font-size: 0; }
	.site-branding { margin-top: 15px; margin-bottom: 0; width: 57px; overflow: hidden; }
	.site-branding img { width: 313px; max-width: 313px; }
	.menu-toggle { top: 14px; right: 15px; }
	.menu-main-menu-container ul ul { position: relative; left: auto; padding-left: 20px; }
	.menu-main-menu-container ul ul li a { font-size: 20px; }
	.menu-main-menu-container > ul > li > a { font-size: 28px; }
	.menu-main-menu-container > ul > li.active > ul { width: 220px; }
}
@media (max-width: 480px) {
	body.active-menu .menu-wrapper { /*position: static; -webkit-transform: none; transform: none;*/ }
	.main-navigation.toggled ul { display: inline-block; }
}


/* Home */
.site-main { margin-top: 97px; }
@media (max-width: 767px) {
	.site-main { margin-top: 50px; }
}

.panel-group-info > div:nth-of-type(even) { background-color: #ebebeb; }
.panel-info { text-align: center; position: relative; padding-top: 80px; padding-bottom: 60px; }
.panel-info h3 { margin-bottom: 25px; }
body.home .panel-info::before { content: ""; display: block; width: 422px; height: 474px; position: absolute; left: 0; top: 0; background: url(images/pattern-left-02.png); background-repeat: no-repeat; pointer-events: none; background-position: 0 -93px; }
body.home .panel-info::after { content: ""; display: block; width: 269px; height: 440px; position: absolute; right: 0; top: 7px; background: url(images/pattern-right-02.png); background-repeat: no-repeat; z-index: 10; pointer-events: none; }

.banner-main { background-repeat: no-repeat; background-size: cover; background-position: center; position: relative; height: 630px; }
.banner-main .title-wrapper { position: absolute; z-index: 10; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); text-align: center; width: 100%; padding-left: 15px; padding-right: 15px; }
.banner-main .title-wrapper h1 { color: #FFF; margin-bottom: 0; text-shadow: 0 0 3px rgba(0,0,0,0.4); }
.banner-main .subtitle { font-size: 32px; color: #d6d6d6; margin-bottom: 0; font-weight: 200; font-family: 'Oswald'; letter-spacing: 2px; margin-top: 20px; text-shadow: 0 0 3px rgba(0,0,0,0.4); }
.banner-main > img { display: none; }
@media (max-width: 1199px) {
	.banner-main { height: 460px; }
}	
@media (max-width: 991px) {
	.banner-main .title-wrapper h1 { font-size: 38px; }
	.banner-main .subtitle { font-size: 26px; }
}
@media (max-width: 767px) {
	.banner-main .title-wrapper h1 { font-size: 28px; }
	.banner-main .subtitle { font-size: 20px; }
}
@media (max-width: 480px) {
	.banner-main { height: auto; min-height: 190px; padding-top: 30px; padding-bottom: 30px; }
	.page-template-page-capabilities-subpage .banner-main .title-wrapper { text-align: center; width: 100%; left: 0; top: 0; -webkit-transform: none; transform: none; position: static; }
	.banner-main .title-wrapper br { display: none; }
	.banner-main .title-wrapper h1 { font-size: 24px; }
	.banner-main .subtitle { font-size: 18px; text-shadow: 1px 1px 1px #000; }
}

.panel-hero { position: relative; }
.panel-hero img { width: 100%; }
.panel-hero .slide-info { position: absolute; z-index: 200; top: 0; left: 0; width: 100%; height: 100%; }
.panel-hero .slide-info .container-large { display: -webkit-box; display: -ms-flexbox; display: flex; height: 100%; }
.panel-hero .slide-info .wrapper { background: rgba(255, 255, 255, 0.9); }
.panel-hero .slide-info .wrapper .inner { position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); width: 485px; padding-left: 65px; padding-right: 65px; }
.panel-hero .slide-info .button-wrapper { margin-top: 70px; }
.panel-hero .slide-info .button-wrapper .button { max-width: 230px; width: 100%; }
.panel-hero .slide-info .button-wrapper .button:hover { background-color: #f2f2f2; color: #1e3748; }
@media (max-width: 1199px) {
	.panel-hero .slide-info .button-wrapper { margin-top: 35px; }
	.panel-hero .slide-info h1 { font-size: 40px; }
}
@media (max-width: 991px) {
	.panel-hero img { height: 400px; -o-object-fit: cover; object-fit: cover; }
	.panel-hero h3 { color: #333; }
	.panel-hero .slide-info h1 { line-height: 1.2; }
	.panel-hero .container-large { padding-left: 0; padding-right: 0; }
	.panel-hero .slide-info .wrapper { width: 100%; }
	.panel-hero .slide-info .wrapper .inner { width: 100%; padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 767px) {
	.panel-hero .slide-info .button-wrapper .button:active { background-color: #f2f2f2; color: #1e3748; }
}
@media (max-width: 360px) {
	.panel-hero img { height: 420px; }
}

.panel-home-video { position: relative; }
.panel-home-video video { vertical-align: top; width: 100%; position: absolute; top: 0; left: 0; }
.panel-home-video .video-wrapper { height: 0; padding-top: 39%; overflow: hidden; position: relative; }
.panel-home-video .text-wrapper { position: absolute; left: 0; width: 100%; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.panel-home-video .text-wrapper p { font-family: 'Oswald'; font-weight: 300; text-shadow: 0 0 3px rgba(0,0,0,0.35); font-size: 52px; color: #FFF; text-transform: uppercase; letter-spacing: 3px; margin-bottom: 0; }

.panel-home-clients { background-color: #ebebeb; padding-top: 75px; padding-bottom: 80px; }
.panel-home-clients .inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.panel-home-clients .item { opacity: 1 !important; visibility: visible !important; }

@media (max-width: 1300px) {
	body.home .panel-info::before,
	body.home .panel-info::after { display: none; }
}
@media (max-width: 1199px) {
	.panel-home-video .text-wrapper p { font-size: 32px; }
	.panel-home-clients .item { text-align: center; padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 991px) {
	.panel-home-clients { padding-bottom: 60px; }
	.panel-home-clients .item { margin-bottom: 20px; width: 33.33%; }
	.panel-home-clients .inner { -ms-flex-wrap: wrap; flex-wrap: wrap; }
}
@media (max-width: 700px) {
	.panel-home-video .text-wrapper p { font-size: 24px; }
}
@media (max-width: 600px) {
	.panel-home-clients .item { /*width: 50%;*/ }
	.panel-home-video .text-wrapper p { font-size: 18px; }
	.panel-home-video .text-wrapper p br { display: none; }
}
@media (max-width: 480px) {
	.panel-home-clients .item { text-align: center; padding-left: 8px; padding-right: 8px; }
}

.panel-bg { position: relative; overflow: hidden; }
.panel-bg::before { content: ""; display: block; position: absolute; left: 0; top: 0; background-repeat: no-repeat; }
.panel-bg::after { content: ""; display: block; position: absolute; right: 0; top: 0; background-repeat: no-repeat; }

.panel-capabilities-blocks { text-align: center; padding-top: 85px; padding-bottom: 80px; }
.panel-capabilities-blocks h3 { margin-bottom: 40px; }
.panel-capabilities-blocks h4 a { font-size: 20px; text-transform: uppercase; color: #000; text-decoration: none; }
.panel-capabilities-blocks .item-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: space-evenly; -ms-flex-pack: space-evenly; justify-content: space-evenly; }
.panel-capabilities-blocks .image-wrapper { display: block; height: 115px; }
/*.panel-capabilities-blocks .item-wrapper > div:nth-of-type(1) .image-wrapper { padding-top: 17px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(3) .image-wrapper { padding-top: 5px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(5) .image-wrapper { padding-top: 13px; }*/
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(1) img { max-width: 95px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(2) img { max-width: 92px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(3) img { max-width: 94px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(4) img { max-width: 88px; }
.panel-capabilities-blocks .item-wrapper > div:nth-of-type(5) img { max-width: 78px; }

.panel-capabilities-blocks a img.hover { display: none; }
.panel-capabilities-blocks a:hover img.init { display: none; }
.panel-capabilities-blocks a:hover img.hover { display: inline; }

@media (max-width: 991px) {
	.panel-capabilities-blocks h4 { padding-left: 15px; padding-right: 15px; }
}
@media (max-width: 767px) {
	.panel-capabilities-blocks h2 { font-size: 28px; }
	.panel-capabilities-blocks .item-wrapper { -webkit-box-pack: normal; -ms-flex-pack: normal; justify-content: normal; -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.panel-capabilities-blocks .item-wrapper .item { width: 33.33%; margin-bottom: 30px; }
}
@media (max-width: 480px) {
	.panel-capabilities-blocks .item-wrapper { -ms-flex-pack: distribute; justify-content: space-around; }
	.panel-capabilities-blocks .item-wrapper .item { width: 50%; }
}

.panel-home-construction { background-color: #ebebeb; }
.panel-home-construction .panel-bg { position: relative; padding-top: 100px; height: 448px; }
.panel-home-construction .panel-bg::before { background-image: url(images/pattern-left-01.png); height: 100%; width: 170px; background-position-y: -60px; }
.panel-home-construction .panel-bg::after { background-image: url(images/pattern-right-01.png); height: 100%; width: 169px; background-position-y: 78%; }
.panel-home-construction .col-1 { padding-right: 40px; }
.panel-home-construction .col-1,
.panel-home-construction .col-2 { width: 50%; }
.panel-home-construction .col-1 ul { position: relative; list-style-type: none; margin-bottom: 0; }
.panel-home-construction .col-1 ul::before { content: ""; position: absolute; top: 25px; left: 8px; height: 174px; width: 1px; background-color: #000; }
.panel-home-construction .col-1 li { color: #FFF; position: relative; margin-bottom: 38px; padding-left: 80px; }
.panel-home-construction .col-1 ul li:last-of-type { margin-bottom: 0; }
.panel-home-construction .col-1 li h2 { margin-bottom: 0; color: #FFF; }
.panel-home-construction .col-1 li::before { content: ""; display: block; position: absolute; left: 3px; top: 21px; width: 11px; height: 11px; border: 1px solid #000; background-color: #ebebeb; }
.panel-home-construction .col-1 li.active h2 { color: #000; }
.panel-home-construction .col-1 li.active::before { background-color: #000; }
.panel-home-construction .col-2 p:last-of-type { margin-bottom: 0; }
.panel-home-construction .col-2 .item { display: none; }
.panel-home-construction .col-2 .item.active { display: block; }
@media (max-width: 991px) {
	.panel-home-construction .panel-bg::before,
	.panel-home-construction .panel-bg::after { content: none; }
	.panel-home-construction .col-1 li { padding-left: 40px; }
	.panel-home-construction .panel-bg { padding-top: 60px; height: 511px; }
	.panel-home-construction .col-1 ul::before { height: 226px; }
}
@media (max-width: 767px) {
	.panel-home-construction .col-1 { padding-right: 0; margin-bottom: 30px; }
	.panel-home-construction .col-1, 
	.panel-home-construction .col-2 { width: 100%; }
	.panel-home-construction .col-1 ul::before { top: 18px; height: 104px; }
	.panel-home-construction .col-1 li h2 { font-size: 21px; }
	.panel-home-construction .col-1 li { padding-left: 32px; margin-bottom: 22px; }
	.panel-home-construction .col-1 li::before { top: 10px; }
	.panel-home-construction .panel-bg { height: auto; padding-bottom: 60px; }
}

.panel-home-projects { overflow: hidden; margin-top: 4px; }
.panel-home-projects .row-flex { margin-left: -2px; margin-right: -2px; }
.panel-home-projects .col { width: 25%; padding-left: 2px; padding-right: 2px; margin-bottom: 4px; }
.panel-home-projects .col a { display: block; width: 100%; height: 0; padding-top: 138%; background-size: cover; position: relative; }
.panel-home-projects .col a:hover::before { background-color: rgba(255,255,255,0); }
.panel-home-projects .col a:hover h4 { display: none; }
.panel-home-projects .col a:hover .job-type { display: none; }
.panel-home-projects .col a::before { content: ""; background-color: rgba(255,255,255,0.8); position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.panel-home-projects .col h4 { position: absolute; padding-left: 38px; top: 50px; margin-bottom: 0; padding-right: 30px; z-index: 10; color: #000; text-transform: uppercase; }
.panel-home-projects .job-type { position: absolute; left: 0; padding-left: 38px; padding-bottom: 35px; padding-right: 30px; bottom: 0; }
.panel-home-projects .job-type ul { margin-left: 0; padding-left: 0; margin-bottom: 0; list-style-type: none; }
.panel-home-projects .job-type ul li { display: inline-block; line-height: 0.8; padding-left: 15px; padding-right: 15px; font-size: 15px; text-transform: lowercase; color: #000; border-right: 1px solid #000; margin-top: 7px; }
.panel-home-projects .job-type ul li:first-of-type { padding-left: 0; }
.panel-home-projects .job-type ul li:last-of-type { padding-right: 0; border-right: 0; }
.panel-home-projects .cross { display: none; position: absolute; width: 45px; height: 45px; bottom: 30px; right: 30px; }
.panel-home-projects .cross span { display: block; width: 5px; height: 45px; border-radius: 4px; background: #FFF; position: absolute; margin-left: 20px; }
.panel-home-projects .cross span:last-of-type { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.panel-home-projects .col a:hover .cross { display: block; }

.page-home .panel-home-projects .col h4 { font-weight: 400; }

@media (max-width: 1600px) {
	.panel-home-projects .col h4 { padding-left: 30px; top: 30px; }
	.panel-home-projects .job-type { padding-left: 30px; }
}
@media (max-width: 1199px) {
	.panel-home-projects .job-type { width: 100%; }
	.panel-home-projects .job-type ul li { display: block; padding-right: 0; border-right: 0; padding-left: 0; }
}
@media (max-width: 991px) {
	.panel-home-projects .col { width: 33.33%; }
}
@media (max-width: 700px) {
	.panel-home-projects .col { width: 50%; }
}
@media (max-width: 360px) {
	.panel-home-projects .col h4 { padding-left: 20px; padding-right: 20px; }
	.panel-home-projects .job-type { padding-left: 20px; padding-right: 20px; }
}

.panel-cabinetry { padding-top: 95px; padding-bottom: 95px; overflow: hidden; }
.panel-cabinetry h2 { margin-top: 15px; }
.panel-cabinetry h3 { letter-spacing: 1px; margin-bottom: 30px; }
.panel-cabinetry .row-flex { margin-left: -30px; margin-right: -30px; }
.panel-cabinetry .col { width: 50%; padding-left: 30px; padding-right: 30px; }
.panel-cabinetry .col-photos img { width: 100%; }
.panel-cabinetry .col-photos .left,
.panel-cabinetry .col-photos .right { float: left; width: 50%; }
.panel-cabinetry .col-photos .left { padding-right: 7px; }
.panel-cabinetry .col-photos .left img { margin-bottom: 7px; }
.panel-cabinetry .col-text .button { max-width: 180px; width: 100%; margin-top: 12px; }
.panel-cabinetry .col-text .button:hover { background-color: #f2f2f2; color: #1e3748; }
@media (max-width: 1199px) {
	.panel-cabinetry br { display: none; }
}
@media (max-width: 767px) {
	.panel-cabinetry .col { width: 100%; }
}


/* About */
.panel-view-projects { height: 438px; text-align: center; position: relative; background-size: cover; background-position: center center; }
.panel-view-projects .button-wrapper { position: absolute; width: 100%; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.page-about .panel-group-info > div:first-of-type::before { content: ""; display: block; width: 299px; height: 365px; position: absolute; left: 0; top: 0; background: url(images/pattern-left-03.png); background-repeat: no-repeat; pointer-events: none; background-position: 0 -17px; }
.page-about .panel-group-info > div:first-of-type::after { content: ""; display: block; width: 151px; height: 111px; position: absolute; right: 0; top: 134px; background: url(images/pattern-right-03.png); background-repeat: no-repeat; z-index: 10; pointer-events: none; }
.page-about .panel-group-info > div:nth-of-type(2)::before { content: ""; display: block; width: 347px; height: 416px; position: absolute; left: 0; top: 60px; background: url(images/pattern-left-04.png); background-repeat: no-repeat; pointer-events: none; background-position: 0; }
.page-about .panel-group-info > div:nth-of-type(2)::after { content: ""; display: block; width: 260px; height: 393px; position: absolute; right: 0; top: -34px; background: url(images/pattern-right-04.png); background-repeat: no-repeat; z-index: 10; pointer-events: none; }
.panel-view-projects .button { -webkit-transition: all 0.2s; transition: all 0.2s; }
.panel-view-projects .button:hover { background-color: #284864; color: #FFF; }
@media (max-width: 991px) {
	.page-about .panel-group-info > div:first-of-type::before,
	.page-about .panel-group-info > div:first-of-type::after,
	.page-about .panel-group-info > div:nth-of-type(2)::before,
	.page-about .panel-group-info > div:nth-of-type(2)::after { content: none; }
}	
@media (max-width: 767px) {
	.panel-view-projects { height: 258px; }
	.page-about .panel-group-info br { display: none; }
}

/* Capabilities Subpage */
.panel-group-image ul { list-style-type: none; margin-bottom: 45px; }
.panel-group-image ul li { font-size: 16px; font-weight: 400; color: #797878; position: relative; padding-left: 35px; }
.panel-group-image ul li::before { content: ""; display: block; position: absolute; top: 10px; left: 0; height: 6px; width: 6px; background-color: #797878; }
.panel-group-image p:empty { margin: 0; }
.panel-group-image > div:nth-of-type(even) { background-color: #ebebeb; padding-top: 70px; padding-bottom: 70px; }
.panel-group-image .container-large { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; position: relative; z-index: 2; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.panel-group-image .container-large .col { width: 50%; }
.panel-group-image .container-large .col-text .inner p:last-of-type { margin-bottom: 0; }
.panel-group-image > div:nth-of-type(odd) .container-large { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
.panel-group-image .panel-item { padding-top: 100px; padding-bottom: 100px; position: relative; }
.panel-group-image .col-text .inner { padding-right: 100px; }
.panel-group-image > div:nth-of-type(2)::before { content: ""; position: absolute; left: 0; bottom: 0; display: block; width: 1042px; height: 207px; background: url(images/pattern-left-05.png); z-index: 1; }
.panel-group-image > div:nth-of-type(2)::after { content: ""; position: absolute; right: 0; bottom: 0; display: block; width: 195px; height: 400px; background: url(images/pattern-right-05.png); z-index: 1; }
.panel-group-image .panel-item .col-image .inner { padding-right: 60px; }
.panel-group-image .panel-item .col-text h2 { margin-top: 50px; }
.panel-group-image .panel-item .col-text h2:first-of-type { margin-top: 0; }

.page-template-page-capabilities-subpage .panel-home-projects { padding-top: 80px; }
.page-template-page-capabilities-subpage .panel-home-projects h2 { text-align: center; padding-left: 15px; padding-right: 15px; margin-bottom: 80px; }
.page-template-page-capabilities-subpage .panel-home-projects .row-flex { margin-left: 0; margin-right: 0; }
.page-template-page-capabilities-subpage .panel-home-projects .col { padding-left: 28px; padding-right: 28px; }
.page-template-page-capabilities-subpage .panel-home-projects .col a { padding-top: 133%; }
.page-template-page-capabilities-subpage .panel-home-projects .col a:hover .location { display: none; }
.page-template-page-capabilities-subpage .panel-home-projects .col h4 { top: 40px; }
.page-template-page-capabilities-subpage .panel-home-projects .container-large { padding-left: 19px; padding-right: 19px; }
.page-template-page-capabilities-subpage .panel-home-projects .location { position: absolute; bottom: 0; left: 0; font-size: 18px; text-transform: uppercase; color: #686868; font-family: 'Oswald'; font-weight: 300; padding-left: 38px; padding-bottom: 30px; }
@media (max-width: 1600px) {
	.panel-group-image > div:first-of-type .col-image { padding-left: 60px; }
	.panel-group-image > div:nth-of-type(even) .col-text { padding-left: 60px; }
	.panel-group-image .col-text .inner p br { display: none; }
	.page-template-page-capabilities-subpage .panel-home-projects .location { padding-left: 30px; }
	.page-template-page-capabilities-subpage .panel-group-image > div:nth-of-type(2)::before,
	.page-template-page-capabilities-subpage .panel-group-image > div:nth-of-type(2)::after { content: none; }
}
@media (max-width: 1300px) {
}
@media (max-width: 1199px) {
	.page-template-page-capabilities-subpage .panel-home-projects .container-large { padding-left: 5px; padding-right: 5px; }
	.page-template-page-capabilities-subpage .panel-home-projects .col { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 991px) {
	.panel-group-image > div:first-of-type .col-image { padding-left: 0; }
	.panel-group-image > div:nth-of-type(even) .col-text { padding-left: 0; }
	.page-template-page-capabilities-subpage .panel-home-projects .col { width: 50%; margin-bottom: 20px; }
	.panel-group-image .container-large .col { width: 100%; }
	.panel-group-image .col-text .inner { padding-right: 0; }
	.panel-group-image .panel-item { padding-top: 60px; padding-bottom: 60px; }
	.panel-group-image .panel-item .col-image .inner { padding-right: 0; margin-top: 30px; }
	.panel-group-image .container-large .col br { display: none; }
}
@media (max-width: 767px) {
	.page-template-page-capabilities-subpage .panel-home-projects h2 { font-size: 25px; margin-bottom: 40px; }
	.panel-group-image h2 { font-size: 25px; }
}
@media (max-width: 480px) {
	.page-template-page-capabilities-subpage .panel-home-projects .col { width: 100%; }
	.page-template-page-capabilities-subpage .panel-home-projects .location { padding-left: 20px; }
}

/* Projects List */
.projects-list { overflow: hidden; padding-bottom: 50px; }
.projects-list .load-more-wrapper { position: relative; height: 45px; margin-bottom: 40px; }
.projects-list .load-more { position: absolute; width: 45px; height: 45px; background: none; border: 0; padding: 0; top: 0; left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.projects-list .load-more span { display: block; width: 2px; height: 45px; border-radius: 4px; background: #000; position: absolute; margin-left: 20px; top: 0; }
.projects-list .load-more span:last-of-type { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.projects-list .row-flex { margin-left: -28px; margin-right: -28px; }
.projects-list .col { width: 50%; padding-left: 28px; padding-right: 28px; margin-bottom: 60px; }
.projects-list .col .bg-image { margin-bottom: 40px; height: 0; display: block; vertical-align: top; padding-top: 74%; position: relative; background-size: cover; background-position: center center; }
.projects-list .col .bg-image::before { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 100%; background-color: rgba(255,255,255,0.3); -webkit-transition: all 0.2s; transition: all 0.2s; }
.projects-list .col h4 { font-size: 20px; margin-bottom: 0; margin-right: 30px; float: left; text-transform: uppercase; letter-spacing: 1px; }
.projects-list .col .location { float: left; color: #939393; text-transform: uppercase; letter-spacing: 1px; font-size: 20px; font-family: 'Oswald'; font-weight: 300; }
.projects-list a { text-decoration: none; display: block; }
.projects-list a:hover .bg-image::before { background-color: rgba(255,255,255,0); }

.project-tagline { overflow: hidden; text-align: center; background-color: #ebebeb; padding-top: 100px; padding-bottom: 100px; position: relative; }
.project-tagline::before { content: ""; display: block; width: 203px; height: 329px; position: absolute; left: 0; top: 0; background: url(images/pattern-left-06.png); background-repeat: no-repeat; pointer-events: none; }
.project-tagline::after { content: ""; display: block; width: 339px; height: 301px; position: absolute; right: 0; bottom: 0; background: url(images/pattern-right-06.png); background-repeat: no-repeat; pointer-events: none; }
.project-tagline h2 { font-size: 48px; letter-spacing: 1px; margin-bottom: 0; }
.project-title-filter { padding-top: 90px; padding-bottom: 100px; }
.project-title-filter h2 { float: left; margin-bottom: 0; }
.filter-by { float: right; position: relative; margin-top: 5px; }
.filter-by p { display: inline-block; margin-bottom: 0; color: #000; text-transform: uppercase; font-size: 20px; font-family: 'Oswald'; letter-spacing: 1px; }
.filter-by .job-type { color: #797878; cursor: pointer; }
.filter-by .job-type::after { content: ""; display: inline-block; width: 0; height: 0; border-style: solid; border-width: 10px 6px 0 6px; border-color: #797878 transparent transparent transparent; vertical-align: top; margin-top: 11px; margin-left: 9px; }
.filter-by .filter-by-text { margin-right: 50px; }

.filter-by .dropdown { position: absolute; right: 0; border: 2px solid #000; padding: 20px 27px 16px 27px; z-index: 10; background-color: #FFF; margin-top: 16px; }
.filter-by .dropdown p { display: block; font-size: 16px; margin-bottom: 6px; }
.filter-by .dropdown a { text-transform: uppercase; font-family: 'Oswald'; color: #797878; text-decoration: none; }


@media (max-width: 1199px) {
	.project-tagline h2 { font-size: 38px; }
	.filter-by { width: 100%; }
}
@media (max-width: 991px) {
	.project-tagline h2 { font-size: 38px; }
	.project-tagline h2 br { display: none; }
	.projects-list .col h4 { float: none; }
	.projects-list .col .location { float: none; }
}
@media (max-width: 767px) {
	.project-title-filter { padding-top: 50px; padding-bottom: 50px; }
	.project-title-filter h2 { font-size: 24px; margin-bottom: 10px; }
	.filter-by .job-type::after { margin-top: 9px; }
	.filter-by p { font-size: 18px; }
	.project-tagline { padding: 60px 0; }
	.project-tagline h2 { font-size: 26px; }
	.project-tagline::before,
	.project-tagline::after { content: none; }
}
@media (max-width: 580px) {
	.projects-list .row-flex { margin-left: -15px; margin-right: -15px; }
	.projects-list .col { width: 100%; padding-left: 15px; padding-right: 15px; }
	.projects-list .col .bg-image { margin-bottom: 20px; }
}
@media (max-width: 480px) {
	.filter-by .inner { float: left; }
	.filter-by .job-type { width: 100%; }
	.filter-by .dropdown { right: auto; left: 0; }
}

/* Single Project */
.single-project-details { padding-bottom: 80px; padding-top: 90px; overflow: hidden; }
.single-project-details .title-tags { text-align: center; margin-bottom: 70px; }
.single-project-details .title-tags ul { list-style-type: none; }
.single-project-details .title-tags ul li { display: inline-block; font-weight: 300; color: #797878; font-family: 'Oswald'; font-size: 20px; text-transform: uppercase; padding-right: 20px; border-right: 2px solid #797878; margin-right: 20px; line-height: 1; }
.single-project-details .title-tags ul li:last-of-type { margin-right: 0; padding-right: 0; border-right: 0; }
.single-project-details .title-tags h2 { margin-bottom: 30px; }
.single-project-details .client-details .item { padding-bottom: 16px; border-bottom: 2px solid #000; margin-bottom: 16px; max-width: 575px; margin-left: auto; margin-right: auto; }
.single-project-details .client-details .item::after { content: ""; display: table; clear: both; }
.single-project-details .client-details .item h5 { float: left; font-family: 'Oswald'; text-transform: uppercase; font-size: 20px; margin-bottom: 0; }
.single-project-details .client-details .item p { float: right; font-family: 'Oswald'; text-transform: uppercase; font-size: 20px; font-weight: 300; margin-bottom: 0; }
.single-project-details .client-details > div:last-of-type { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.single-project-details .row-flex { margin-left: -25px; margin-right: -25px; }
.single-project-details .row-flex .col { width: 50%; padding-left: 25px; padding-right: 25px; }
.single-project-details .row-flex .col.client-details { width: 100%; }
@media (max-width: 991px) {
	.single-project-details .row-flex { margin-left: -15px; margin-right: -15px; }
	.single-project-details .row-flex .col { width: 100%; padding-left: 15px; padding-right: 15px; }
	.single-project-details .client-details { margin-bottom: 40px; }
}
@media (max-width: 767px) {
	.single-project-details { padding-top: 50px; padding-bottom: 50px; }
}
@media (max-width: 480px) {
	.single-project-details .title-tags ul li { display: block; margin-right: 0; padding-right: 0; border-right: 0; margin-bottom: 15px; }
}

.single-project-panels { overflow: hidden; }
.single-project-panels .item { margin-bottom: 50px; }
.single-project-panels .item img { vertical-align: top; height: 100%; -o-object-fit: cover; object-fit: cover; width: 100%; }
.single-project-panels .item .row-flex { margin-left: -25px; margin-right: -25px; }
.single-project-panels .item .row-flex .col { width: 50%; padding-left: 25px; padding-right: 25px; }
.single-project-panels .item .video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.single-project-panels .item .video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.single-project-panels .item.textimage .col-text h3 { font-size: 48px; color: #000; text-transform: uppercase; padding: 70px 30px 0 70px; margin-bottom: 0; }
.single-project-panels .item.textimage .col-text .inner { background-color: #ebebeb; height: 100%; position: relative; }
.single-project-panels .item.textimage .col-text .inner::before { content: ""; position: absolute; bottom: 25%; left: 70px; display: block; width: 130px; height: 2px; background-color: #000; }
@media (max-width: 1199px) {
	.single-project-panels .item.textimage .col-text h3 { font-size: 38px; }
}
@media (max-width: 991px) {
	.single-project-panels .item img { height: auto; -o-object-fit: initial; object-fit: initial; }
}
@media (max-width: 767px) {
	.single-project-panels .item .row-flex .col { width: 100%; }
	.single-project-panels .item .row-flex .col h3 { font-size: 34px; padding: 30px 20px; }
	.single-project-panels .item .row-flex .col h3 br { display: none; }
	.single-project-panels .item.textimage .col-text .inner::before { content: none; }
	.single-project-panels .item.image2 .row-flex > div:first-of-type { margin-bottom: 50px; }
}
@media (max-width: 480px) {
	.single-project-panels .item .row-flex .col h3 { font-size: 28px; }
}

.view-more-projects { background-color: #ebebeb; margin-top: 60px; padding-top: 80px; padding-bottom: 75px; overflow: hidden; }
.view-more-projects h2 { text-align: center; margin-bottom: 40px; }
.view-more-projects a { text-decoration: none; height: 0; display: block; vertical-align: top; padding-top: 74%; position: relative; background-size: cover; background-position: center center; }
.view-more-projects a::before { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 100%; background-color: rgba(255,255,255,0.6); -webkit-transition: all 0.2s; transition: all 0.2s; }
.view-more-projects a:hover::before { background-color: rgba(255,255,255,0); }
.view-more-projects h4 { position: absolute; top: 0; left: 0; font-family: 'Oswald'; font-size: 18px; text-transform: uppercase; padding-left: 30px; padding-top: 20px; }
.view-more-projects p.location { position: absolute; bottom: 0; left: 0; font-family: 'Oswald'; font-size: 18px; text-transform: uppercase; font-weight: 300; margin-bottom: 0; padding-left: 30px; padding-bottom: 20px; }
.view-more-projects .inner { position: relative; }
.view-more-projects .row-flex { margin-left: -25px; margin-right: -25px; }
.view-more-projects .col { width: 33.33%; padding-left: 25px; padding-right: 25px; margin-bottom: 20px; }
@media (max-width: 991px) {
	.view-more-projects .container { width: 100%; }
	.view-more-projects .row-flex { margin-left: -15px; margin-right: -15px; }
	.view-more-projects .col { padding-left: 15px; padding-right: 15px; }
}
@media (max-width: 767px) {
	.view-more-projects .col { width: 100%; }
}

/* Contact */
#map { height: 221px; width: 100%; }
.contact { padding-top: 90px; padding-bottom: 100px; overflow: hidden; }
.contact .col-info { float: left; width: 35%; padding-right: 90px; }
.contact .col-info img { max-width: 260px; width: 100%; }
.contact .col-info p { color: #6b6b6b; font-size: 20px; font-family: 'Oswald'; font-weight: 300; margin-bottom: 6px; letter-spacing: 1px; }
.contact .col-info p a { color: #6b6b6b; }
.contact .col-info p.address { margin-bottom: 30px; margin-top: 35px; }
.contact .col-info p span { display: inline-block; width: 30px; color: #000; }
.contact .col-map { padding-top: 10px; }
.contact .col-form { float: left; width: 65%; padding-top: 50px; }
#file { width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1; }
.contact .col-file label { width: 100%; color: #FFF; background-image: url(images/icon-attach.png); background-position: 25px 11px; background-repeat: no-repeat; background-size: 17px 18px; background-color: #a1a1a1; cursor: pointer; height: 43px; font-family: 'Oswald'; letter-spacing: 1px; font-size: 14px; font-weight: 300; text-transform: uppercase; margin-bottom: 0; padding: 10px 0 0 70px; -webkit-transition: 0.2s all; transition: 0.2s all; }
.contact .col-file label:hover { background-color: #000; }
.contact .row { margin-left: -25px; margin-right: -25px; }
.contact .row .col { padding-left: 25px; padding-right: 25px; width: 50%; float: left; margin-bottom: 45px; }
.contact .row .col input { border-radius: 0; height: 43px; border: 1px solid #000; width: 100%; font-size: 14px; color: #000; font-family: 'Oswald'; letter-spacing: 1px; padding-left: 25px; padding-right: 25px; }
.contact textarea { border: 1px solid #000; border-radius: 0; resize: none; height: 270px; vertical-align: top; padding: 15px 25px; font-size: 14px; font-family: 'Oswald'; letter-spacing: 1px; color: #000; }
.contact .wpcf7-submit { width: 100%; max-width: 280px; float: right; }
.contact .google-disclaimer { position: absolute; font-size: 12px; margin-top: -33px; }
.contact .col-form .col.msg { margin-bottom: 40px; }
.contact div.wpcf7-response-output { margin-left: 0; margin-right: 0; font-size: 16px; }
.contact .button-wrapper::after { content: ""; display: table; clear: both; } 
.contact div.wpcf7 .ajax-loader { float: right; margin-right: 5px; margin-top: 11px; }
.contact span.wpcf7-not-valid-tip { position: absolute; width: 140px; }

.contact .row .col input::-webkit-input-placeholder { color: #818181; text-transform: uppercase; }
.contact .row .col input::-moz-placeholder { color: #818181; text-transform: uppercase; }
.contact .row .col input:-ms-input-placeholder { color: #818181; text-transform: uppercase; }
.contact .row .col input:-moz-placeholder { color: #818181; text-transform: uppercase; }

.contact .wpcf7-textarea::-webkit-input-placeholder { color: #818181; text-transform: uppercase; font-size: 14px; font-family: 'Oswald'; letter-spacing: 1px; }
.contact .wpcf7-textarea::-moz-placeholder { color: #818181; text-transform: uppercase; font-size: 14px; font-family: 'Oswald'; letter-spacing: 1px; }
.contact .wpcf7-textarea:-ms-input-placeholder { color: #818181; text-transform: uppercase; font-size: 14px; font-family: 'Oswald'; letter-spacing: 1px; }
.contact .wpcf7-textarea:-moz-placeholder { color: #818181; text-transform: uppercase; font-size: 14px; font-family: 'Oswald'; letter-spacing: 1px; }

@media (max-width: 1199px) {
	.contact .google-disclaimer { max-width: 320px; margin-top: -37px; }
}
@media (max-width: 991px) {
	.contact .google-disclaimer { position: static; max-width: 100%; margin-top: 22px; }
	.contact .wpcf7 .wpcf7-submit { float: none; }
	.contact .col-info { padding-right: 0; width: 100%; }
	.contact .col-info p span { width: 20px; }
	.contact .col-info .inner { float: left; width: 35%; }
	.contact .col-map { float: left; width: 65%; }
	.contact .col-form { width: 100%; }
}
@media (max-width: 767px) {
	.contact { padding-top: 40px; }
	.contact .col-info { width: 100%; padding-right: 0; }
	.contact .col-info img { max-width: 390px; }
	.contact .col-form { width: 100%; }
}
@media (max-width: 700px) {
	.contact .col-info .inner { width: 100%; }
	.contact .col-map { width: 100%; }
}
@media (max-width: 480px) {
	.contact .row .col { width: 100%; margin-bottom: 30px; }
	.contact span.wpcf7-not-valid-tip { font-size: 12px; }
	.contact .wpcf7-submit { max-width: 100%; }
}

/* Footer */
.site-footer h4 { font-size: 16px; letter-spacing: 1px; }
.site-footer { background: #202020; padding-top: 50px; padding-bottom: 60px; }
.site-footer .site-info { display: -webkit-box; display: -ms-flexbox; display: flex; }
.site-footer .col-1 { width: 25%; }
.site-footer .col-1 a { color: #FFF; }
.site-footer .col-1 p { margin-bottom: 3px; }
.site-footer .col-1 p a { font-family: 'Oswald'; font-weight: 300; letter-spacing: 1px; }
.site-footer .col-1 .phone a { padding-left: 50px; background: url(images/icon-phone.png) no-repeat; background-size: 21px 21px; }
.site-footer .col-1 .email a { padding-left: 50px; background: url(images/icon-mail.png) no-repeat; background-size: 23px 14px; background-position: 0 60%; }
.site-footer .col-1 .social { margin-top: 54px; }
.site-footer .col-1 .social a { width: 26px; height: 26px; display: inline-block; margin-right: 23px; background-size: contain; background-repeat: no-repeat; vertical-align: top; }
.site-footer .col-1 .social a.facebook { background-image: url(images/icon-facebook.jpg); }
.site-footer .col-1 .social a.facebook:hover { background-image: url(images/icon-facebook-hover.jpg); }
.site-footer .col-1 .social a.linkedin { background-image: url(images/icon-linkedin.jpg); }
.site-footer .col-1 .social a.linkedin:hover { background-image: url(images/icon-linkedin-hover.jpg); }
.site-footer .col-2 { width: 25%; }
.site-footer .col-2 a { letter-spacing: 0.5px; }
.site-footer .col-2 h4 { color: #FFF; text-transform: uppercase; margin-bottom: 5px; }
.site-footer .col-2 ul { list-style-type: none; padding-left: 0; margin-left: 0; }
.site-footer .col-2 .left ul li { margin-bottom: 11px; }
.site-footer .col-2 ul li a { color: #FFF; }
.site-footer .col-2 .left { float: left; margin-right: 50px; }
.site-footer .col-2 .right { float: left; }
.site-footer .col-2 .right ul li { margin-bottom: 2px; line-height: 1; margin-bottom: 6px; }
.site-footer .col-2 .right ul li a { font-size: 13px; font-weight: 300; color: #c6c6c6; vertical-align: top; }
.site-footer .col-3 { width: 50%; }
.site-footer .col-3 h4 { color: #FFF; text-transform: uppercase; margin-bottom: 20px; }
.site-footer .col-3 p { color: #FFF; font-size: 12px; margin-bottom: 0; letter-spacing: 0.5px; }
.site-footer .col-3 .inner { float: right; }
.site-footer .col-3 img { margin-bottom: 20px; }
.site-footer .col-3 img:first-of-type { margin-right: 88px; }
.site-footer ul.menu a { text-transform: uppercase; color: #FFF; font-family: 'Oswald'; font-weight: 300; font-size: 16px; }
.grecaptcha-badge { display: none; }
.google-disclaimer { padding-left: 20px; font-size: 14px; clear: both; margin-bottom: 0; }
.google-disclaimer a { color: #797878; }
.wpcf7 .wpcf7-submit { background-color: #000; color: #FFF; border-radius: 0; border: 0; font-family: 'Oswald'; font-weight: 300; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; padding-top: 14px; padding-bottom: 15px; -webkit-transition: all 0.2s; transition: all 0.2s; }
.wpcf7 .wpcf7-submit:hover { color: #000; background-color: #f2f2f2; }

span.wpcf7-not-valid-tip { font-size: 15px; }
.footer-contact { padding-top: 60px; padding-bottom: 80px; }
.footer-contact .wpcf7-response-output { margin-left: 20px; margin-right: 0; font-size: 16px; }
.footer-contact .col-title { float: left; width: 290px; }
.footer-contact .col-title h2 { margin-top: 30px; }
.footer-contact .col-form { overflow: hidden; }
body .footer-contact textarea { height: 30px; padding-left: 0; padding-right: 0; margin-top: 80px; }
.footer-contact textarea.empty { /*background: url(images/message-text.png) left 0 bottom 12px no-repeat;*/ }
.footer-contact textarea,
.footer-contact .col-form .col input { border: 0; outline: 0; border-bottom: 2px solid #202020; resize: none; border-radius: 0; width: 100%; padding-left: 0; padding-right: 0; margin-top: 30px; font-size: 14px; color: #000; font-family: 'Oswald'; letter-spacing: 1px; }
.footer-contact textarea,
.footer-contact .col-form .col input {  }
.footer-contact .col-form .col span { width: 100%; }
.footer-contact .col-form .col { float: left; width: 33.33%; padding-left: 20px; }
.footer-contact .col-form .col.msg { width: 66.66%; }
.footer-contact .col-form .button-wrapper { float: left; width: 33.33%; padding-left: 20px; margin-top: 42px; margin-top: 73px; }
.footer-contact .col-form .button-wrapper input { width: 100%; }

.footer-contact input[type="text"]::-webkit-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="text"]::-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="text"]:-ms-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="text"]:-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="email"]::-webkit-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="email"]::-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="email"]:-ms-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="email"]:-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="tel"]::-webkit-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="tel"]::-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="tel"]:-ms-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact input[type="tel"]:-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact textarea::-webkit-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact textarea::-moz-placeholder { color: #000; text-transform: uppercase; }
.footer-contact textarea:-ms-input-placeholder { color: #000; text-transform: uppercase; }
.footer-contact textarea:-moz-placeholder { color: #000; text-transform: uppercase; }

@media (max-width: 1199px) {
	.site-footer .container { width: 1100px; }
	.footer-contact .col-title { width: 220px; }
	.site-footer .col-3 img:first-of-type { margin-right: 35px; }
	.site-footer .nsw-license { display: block; }
	.site-footer .line.two { display: none; }
}
@media (max-width: 1130px) {
	.site-footer { padding-bottom: 35px; }
	.site-footer .container { width: 930px; }
	.site-footer .col-1 { width: 32%; }
	.site-footer .col-1 .social { margin-top: 23px; }
	.site-footer .col-2 { width: 36%; }
	.site-footer .col-2 h4 { margin-bottom: 10px; }
	.site-footer .col-2 .left ul li { margin-bottom: 13px; }
	.site-footer .col-3 { width: 32%; }
	.site-footer .col-3 span.copy { display: block; }
	.site-footer .col-3 span.line.one { display: none; }
}
@media (max-width: 991px) {
	.site-footer .container { width: 100%; padding-left: 30px; padding-right: 30px; }
	.site-footer .col-1 { width: 31%; }
	.site-footer .col-3 { width: 30%; }
	.footer-contact .col-title { float: none; width: 100%; text-align: center; }
	.footer-contact .col-form { margin-left: -20px; }
}
@media (max-width: 850px) {
	.site-footer { padding-bottom: 80px; }
	.site-footer .site-info { display: block; }
	.site-footer .col-1, 
	.site-footer .col-2, 
	.site-footer .col-3	{ width: 100%; }
	.site-footer .col-3 .inner { float: none; }
	.site-footer .col-1 .social { margin-top: 20px; }
	.site-footer .col-2 { margin-top: 40px; margin-bottom: 25px; }
	.site-footer .col-2 .left { margin-right: 65px; }
}
@media (max-width: 600px) {
	body .footer-contact textarea { margin-top: 30px; }
	.footer-contact { padding-top: 40px; padding-bottom: 60px; }
	.footer-contact .col-form { margin-left: 0; }
	.footer-contact .col-form .col { padding-left: 0; width: 100%; }
	.footer-contact .col-form .col.msg { width: 100%; }
	.footer-contact .col-form .button-wrapper { padding-left: 0; margin-top: 25px; text-align: center; width: 100%; margin-bottom: 30px; }
	.footer-contact .col-form .button-wrapper input { max-width: 200px; }
	.footer-contact .wpcf7-response-output { margin-left: 0; }
}
@media (max-width: 480px) {
	.site-footer .col-3 p { float: left; width: 100%; }
	.site-footer .col-3 img { float: left; content: ""; display: table; clear: both; }
	.site-footer .col-3 img:first-of-type { max-width: 126px; }
	.site-footer .col-3 img:last-of-type { max-width: 208px; }
}
@media (max-width: 350px) {
	.site-footer .col-2 .left { margin-right: 55px; }
}