/*
	Theme Name: J&H Engineering Custom WordPress Theme
	Theme URI: http://www.guidomediaservices.com
	Description: Custom Genesis Child Theme Created For J&H Engineering
	Author: Guido Media
	Author URI: http://www.guidomediaservices.com
	Version: 1.0.0

	Template: genesis
	Template Version: 2.0.0
*/

:root {
	--primary: #1f3992;
	--secondary: #580b25;
	--grey: #555;
	--black: #111;
	--serif: 'Lora', serif;
	--sans-serif: 'Outfit', sans-serif;
	--font-tiny: 11px;
	--font-small: 13px;
	--font-normal: 15px;
	--font-medium: 20px;
	--font-large: 24px;
	--line-tiny: 21px;
	--line-small: 23px;
	--line-normal: 25px;
	--line-medium: 30px;
	--line-large: 34px;
	--heading-small: 22px;
	--heading-medium: 30px;
	--heading-large: 42px;
	--heading-line-small: 32px;
	--heading-line-medium: 40px;
	--heading-line-large: 52px;
}

/* HTML5 Reset ---------------------------------------------------------------------------------------------------- */

/* Baseline Reset (normalize.css 2.1.2)
	normalize.css v2.1.2 | MIT License | git.io/normalize
--------------------------------------------- */

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

/* Box Sizing --------------------------------------------- */
*,
input[type="search"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}

/* Float Clearing --------------------------------------------- */
.clearfix:before,
.entry-content:before,
.entry:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.widget:before,
.wrap:before {
	content: " ";
	display: table;
}
.clearfix:after,
.entry-content:after,
.entry:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.widget:after,
.wrap:after {
	clear: both;
	content: " ";
	display: table;
}
.clear {
	clear: both;
}

/* Typographical Elements --------------------------------------------- */
html {
	font-size: 18px;
	font-family: var(--sans-serif);
}
body {
}
a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.home .featured-content img,
.button,
.site-header {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition:    all 0.3s ease-in-out;
	-ms-transition:     all 0.3s ease-in-out;
	-o-transition:      all 0.3s ease-in-out;
	transition:         all 0.3s ease-in-out;
}
::-moz-selection {
	background-color: #000;
	color: #fff;
}
::selection {
	background-color: #000;
	color: #fff;
}
a {
	color:var(--primary);
}
a img {
}
a:hover {
}
p {
}
strong {
}
ol,
ul {
}
blockquote,
blockquote::before {
}
blockquote {
}
blockquote::before {
}
.entry-content code {
}
cite {
}

/* Headings --------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family:var(--serif);
}

/* Objects --------------------------------------------- */
img {
	height: auto;
	max-width: 100%;
}
.featured-content img,
.gallery img {
	width: auto; /* IE8 */
}

/* Forms --------------------------------------------- */
input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: #999;
	font-size: 14px;
	padding-left: 12px;
	padding-right:12px;
	height:50px;
	line-height:50px;
	width: 100%;
}
input,
select {
	height:50px;
	line-height:50px;
}
textarea {
	line-height:20px;
	padding-top:20px;
}
input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}
::-moz-placeholder {
	color: #999;
}
::-webkit-input-placeholder {
	color: #999;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.entry-content .button {
	background-color: transparent;
	border: solid 2px var(--primary);
	color:var(--primary);
	cursor: pointer;
	font-size:15px;
	padding-left: 20px;
	padding-right: 20px;
	text-decoration: none;
	width: auto;
	height: 50px;
	line-height: 46px;
	padding-top: 0;
	padding-bottom: 0;
	display: inline-block;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.entry-content .button:hover {
	color: #fff;
	background-color: var(--primary);
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Gravity Forms ---------------------------------------------------------------------------------------------------- */
.gform_wrapper {
	max-width: 100%;
	width: 100%;
}
.gform_wrapper label,
.gform_wrapper legend {
	padding: 0;
	font-family:'Poppins', sans-serif;
	font-weight:bold;
	font-size:16px;
}
.gform_wrapper .field_sublabel_below span > label{
	display:none;
}
.gform_wrapper .gfield_checkbox li input,
.gform_wrapper .gfield_checkbox li input[type="checkbox"],
.gform_wrapper .gfield_radio li input[type="radio"] {
	margin-top: 0;
}
.gform_wrapper fieldset{
  border:none;
  padding:0;
}
.gform_wrapper ul {
	margin: 0;
	padding: 0;
}
body .gform_wrapper div.gfield,
body .gform_wrapper fieldset {
	margin: 0;
	list-style-type: none;
	margin-bottom: 15px !important;
	min-height: 50px;
}
div.gchoice{
	margin-bottom:7px;
}
div.gchoice > label {
	font-weight:normal;
}
.gform_wrapper .gform_footer input[type="submit"] {
	font-size: 14px;
}
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .show-label label {
	display: block;
	font-weight: normal;
}
div.gform_confirmation_message {
	text-align: center;
}
h3.gsection_title{
	color:#10b5bf;
}

/* Custom radio buttons */
ul.gfield_radio {
	display:flex;
	justify-content:space-between;
}
.gfield_radio div,
.gfield_checkbox div{
  	display: block;
  	position: relative;
  	padding-left: 0px;
  	margin-bottom: 12px;
  	cursor: pointer;
  	-webkit-user-select: none;
  	-moz-user-select: none;
  	-ms-user-select: none;
  	user-select: none;
}
.gfield_radio div label,
.gfield_checkbox div label{
	margin-left: 35px;
}
.gfield_radio div input,
.gfield_checkbox div input[type="checkbox"]{
  	position: absolute;
  	opacity: 0;
  	cursor: pointer;
}
.gfield_radio div label:before,
.gfield_checkbox div label:before {
  	position: absolute;
  	top: 0;
  	left: 0;
  	height: 25px;
  	width: 25px;
  	background-color: #eee;
 	border-radius: 20%;
	content:"";
	cursor:pointer;
}
.gfield_radio div label:hover:before,
.gfield_checkbox div label:hover:before{
  	background-color: #ccc;
}
.gfield_radio div input[type="radio"]:checked ~ label:before,
.gfield_checkbox div input[type="checkbox"]:checked ~ label:before {
  	background-color: #d37c5c;
}
.gfield_radio div label:after,
.gfield_checkbox div label:after {
  	content: "";
  	position: absolute;
  	display: none;
}
.gfield_radio div input[type="radio"]:checked ~ label:after,
.gfield_checkbox div input[type="checkbox"]:checked ~ label:after {
   	display: block;
}
.gfield_radio div label:after,
.gfield_checkbox div label:after {
 	left: 9px;
  	top: 5px;
  	width: 5px;
  	height: 10px;
  	border: solid white;
  	border-width: 0 3px 3px 0;
  	-webkit-transform: rotate(45deg);
  	-ms-transform: rotate(45deg);
  	transform: rotate(45deg);
}

/* Credit Card Fields */
.gform_card_icon_container {
 margin:8px 0 6px;
 height:32px
}
div.gform_card_icon {
 margin-right:4px;
 text-indent:-9000px;
 background-image:url(/wp-content/plugins/gravityforms/images/gf-creditcard-icons.png);
 background-repeat:no-repeat;
 width:36px;
 height:32px;
 float:left
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_visa {
 background-position:0 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_visa {
 background-position:0 -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_visa {
 background-position:0 -64px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_mastercard {
 background-position:-36px 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_mastercard {
 background-position:-36px -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_mastercard {
 background-position:-36px -64px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_amex {
 background-position:-72px 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_amex {
 background-position:-72px -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_amex {
 background-position:-72px -64px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_discover {
 background-position:-108px 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_discover {
 background-position:-108px -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_discover {
 background-position:-108px -64px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_maestro {
 background-position:-144px 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_maestro {
 background-position:-144px -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_maestro {
 background-position:-144px -64px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_jcb {
 background-position:-180px 0
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_jcb {
 background-position:-180px -32px
}
.gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_jcb {
 background-position:-180px -64px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_visa {
 background-position:0 -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_visa {
 background-position:0 -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_visa {
 background-position:0 -256px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_mastercard {
 background-position:-36px -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_mastercard {
 background-position:-36px -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_mastercard {
 background-position:-36px -256px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_amex {
 background-position:-72px -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_amex {
 background-position:-72px -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_amex {
 background-position:-72px -256px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_discover {
 background-position:-108px -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_discover {
 background-position:-108px -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_discover {
 background-position:-108px -256px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_maestro {
 background-position:-144px -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_maestro {
 background-position:-144px -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_maestro {
 background-position:-144px -256px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_jcb {
 background-position:-180px -192px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_jcb {
 background-position:-180px -224px
}
.gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_jcb {
 background-position:-180px -256px
}
.ginput_complex .ginput_cardinfo_left,.ginput_complex .ginput_cardinfo_right {
 min-height:43px;
 position:relative;
 float:left
}
.ginput_complex .ginput_cardinfo_left {
 width:50%;
 margin-right:1%
}
.ginput_complex .ginput_cardinfo_right {
 min-width:85px!important
}
.ginput_complex .ginput_cardinfo_right label {
 white-space:nowrap!important
}
.ginput_complex span.ginput_cardextras {
 display:block;
 overflow:hidden;
}
.ginput_container_creditcard input{
 margin-bottom:8px
}
.ginput_complex .ginput_cardinfo_right span.ginput_card_expiration_container {
 position:relative
}
.ginput_complex select.ginput_card_expiration.ginput_card_expiration_month,.ginput_complex select.ginput_card_expiration.ginput_card_expiration_year {
 width:47%!important;
 display:-moz-inline-stack;
 display:inline-block
}
.ginput_complex select.ginput_card_expiration.ginput_card_expiration_month {
 margin-right:4px
}
.ginput_complex .ginput_cardinfo_right input.ginput_card_security_code {
 max-width:50%!important;
 position:relative
}
.ginput_complex .ginput_cardinfo_right span.ginput_card_security_code_icon {
 width:32px;
 height:23px;
 background-image:url(../images/gf-creditcard-icons.png);
 background-repeat:no-repeat;
 background-position:0 -128px;
 position:relative;
 top:-2px;
 left:6px;
 display:-moz-inline-stack;
 display:inline-block
}
div.gfield_creditcard_warning_message {
 display:none!important
}
#gform_fields li.credit_card_setting.field_setting ul li {
 padding:2px 0 4px
}

/* Date Picker --------------------------------------------- */
#ui-datepicker-div {
	background: #FFF;
	border: 1px solid #b85e17;
	display:none;
	padding:20px;
	width:auto;
}
#ui-datepicker-div select {
	height: 25px;
	line-height: 25px;
}
.ui-icon {
	cursor: pointer;
}
.ui-datepicker-header a {
	cursor: pointer;
}
.ui-datepicker-prev {
	float: left;
	width: 10%;
}
.ui-state-disabled {
	display:none;
}
.ui-datepicker-next {
	float: right;
	width: 10%;
}
.ui-state-disabled {
	 display:none;
}
.ui-datepicker-title {
	margin-top: 20px;
}
.ui-datepicker-title select {
	float: left;
	width: 70%;
}
.ui-datepicker-month {
	margin: 0px 5% 6px;
}
.ui-datepicker-year {
	margin: 0px 15% 6px;
}
.ui-datepicker-today {
	border-radius: 4px;
}
.ui-datepicker-today a {
	color: #fff;
}
#ui-datepicker-div table {
	width: 100%;
}
#ui-datepicker-div td,
#ui-datepicker-div th  {
	text-align: center;
}
#ui-datepicker-div td a {
	display: block;
	padding: 5px;
}

/* Tables --------------------------------------------- */
table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 40px;
	margin-bottom: 4rem;
	width: 100%;
}
tbody {
	border-bottom: 1px solid #ddd;
}
th,
td {
	text-align: left;
}
th {
	font-weight: bold;
	text-transform: uppercase;
}
td {
	padding: 6px 0;
	padding: 0.6rem 0;
}

/* Site Containers --------------------------------------------- */
.site-container {
}
.wrap {
	margin: 0 auto;
	width: 96%;
	max-width: 1140px;
}
.site-inner {
	margin: 0 auto;
	width: 96%;
	max-width: 1140px;
	clear: both;
}
.home .site-inner {
	padding: 0;
	width: 100%;
	max-width: 100%;
}

/* Primary Sidebar --------------------------------------------- */
.sidebar-primary {
	float: right;
	width: 360px;
}
.sidebar-content .sidebar-primary,
.sidebar-sidebar-content .sidebar-primary {
	float: left;
}

/* WordPress --------------------------------------------- */
.avatar {
	border-radius: 50%;
	float: left;
}
.alignleft .avatar {
	margin-right: 24px;
	margin-right: 2.4rem;
}
.alignright .avatar {
	margin-left: 24px;
	margin-left: 2.4rem;
}
.search-form {
	overflow: hidden;
}
.search-form input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}
img.centered,
.aligncenter {
	display: block;
	margin: 0 auto 24px;
	margin: 0 auto 2.4rem;
}
a.alignnone img,
.alignnone img {
	margin-bottom: 12px;
	margin-bottom: 1.2rem;
}
.alignleft {
	float: left;
	text-align: left;
}
.alignright {
	float: right;
	text-align: right;
}
a.alignleft,
a.alignright {
    max-width: 100%;
}
a.alignleft img,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 24px 24px 0;
	margin: 0 2.4rem 2.4rem 0;
}
a.alignright img,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 24px 24px;
	margin: 0 0 2.4rem 2.4rem;
}
.entry-content .wp-caption-text {
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}
.widget_calendar table {
	width: 100%;
}
.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* Site Header ---------------------------------------------------------------------------------------------------- */
.site-header {
	height: 70px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}
.site-header.active{
	animation:fadeInDelay5 6s;
}
.site-header.quick{
	animation:fadeInDelay3 0.2s;
}
.site-header .wrap {
	width: 96%;
	max-width:1500px;
	height: 100%;
}
.site-header.scrolled  {
	background-color:#fff;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
}

/* Title Area --------------------------------------------- */
.title-area {
	float: left;
}
.site-title {
	margin: 0;
	padding: 0;
	margin-top:5px;
}
.site-title a {
	width: 400px;
	height: 60px;
	display: block;
	background-image:url(images/logo_header.webp);
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:bottom left;
	text-indent: -9999px;
}
.scrolled .site-title a {
	background-position:top left;
}

/* Page Title */
.page-title::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	content: "";
	background-color: rgba(0,0,0,0.25);
	z-index: 1;
}
.page-title {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	height: 40vh;
	min-height: 350px;
	position: relative;
}
.page-title .wrap{
	width: 96%;
	max-width:1500px;
	height:100%;
	position:relative;
}
.page-title .headline {
	position: absolute;
	bottom: 50px;
	left: 0;
	z-index: 9;
	width:100%;
	text-align:center;
}
.page-title h1 {
	color: #fff;
	display:inline-block;
	font-size:75px;
	line-height:85px;
	margin:0;
	padding:25px;
}
.page-title .subline{
	display:block;
	color: #fff;
	font-size: 20px;
	line-height: 30px;
	font-weight: bold;
	text-align:center;
}

/* Primary Navigation --------------------------------------------- */
.nav-primary {
	float: right;
	width:50%;
	max-width:1200px;
}
.nav-primary ul {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
.nav-primary ul li {
	display: inline-block;
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.nav-primary ul li a {
	display: block;
	text-decoration: none;
	color:#fff;
	line-height:70px;
	font-size:15px;
	cursor:pointer;
	position:relative;
}
.scrolled .nav-primary ul li a {
	color:var(--grey);
}
.scrolled .nav-primary ul li a:hover {
	color:var(--primary);
}
.nav-primary ul li a::after{
	height:6px;
	width:0;
	position:absolute;
	left:0;
	bottom:10px;
	content:"";
	background-color:var(--primary);
	-webkit-transition: width 0.5s ease-in-out;
    -moz-transition: width 0.5s ease-in-out;
    -o-transition: width 0.5s ease-in-out;
    transition: width 0.5s ease-in-out;
}
.nav-primary ul li a:hover::after {
	width:100%;
}
.nav-primary ul li:last-of-type a {
	background-color:transparent;
	border:solid 2px #fff;
	padding-left:20px;
	padding-right:20px;
	height:50px;
	line-height:46px;
	margin-top:10px;
}
.scrolled .nav-primary ul li:last-of-type a{
	border-color:var(--primary);
	color:var(--primary);
}
.nav-primary ul li:last-of-type a:hover{
	background-color:var(--secondary);
	border-color:var(--secondary);
	color:#fff;
}
.nav-primary ul li:last-of-type a:hover::after {
	width:0%;
}
.nav-primary .sub-menu {
	left: -9999px;
	opacity: 0;
	position: absolute;
	-webkit-transition: opacity 0.4s ease-in-out;
	-moz-transition:    opacity 0.4s ease-in-out;
	-ms-transition:     opacity 0.4s ease-in-out;
	-o-transition:      opacity 0.4s ease-in-out;
	transition:         opacity 0.4s ease-in-out;
	width: 280px;
	z-index: 99;
	padding: 0;
	margin: 0;
	height: auto;
}
.nav-primary .sub-menu li {
	width: 100%;
	padding: 0;
	margin: 0;
}
.nav-primary .sub-menu a {
	padding: 0;
	position: relative;
	width: 100%;
	display: block;

}
.nav-primary .sub-menu a:hover {
}
.nav-primary .sub-menu .sub-menu {
	margin: -50px 0 0 179px;
}
.nav-primary .menu-item:hover {
}
.nav-primary .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}
.show-menu,
.close-menu,
.nav-primary ul li.mobile {
	display: none;
}

/* Home Page --------------------------------------------- */
.site-inner{
	overflow:hidden;
}
#home-hero{
	width:100%;
	height:80vh;
	min-height:700px;
	position:relative;
	background-color:var(--primary);
}
#home-hero .bg::before{
	background-color:rgba(0,0,0,0.35);
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	content:"";
}
#home-hero .bg{
	width:100%;
	height:100%;
	left:0;
	top:0;
	position:absolute;
	background-image:url(images/bg-hero-1.webp);
	background-size:cover;
	background-position:center center;
}
#home-hero .bg.active{
	animation: fadeInBG 7s;
}
#home-hero .bg.quick{
	animation: fadeInBG2 2s;
}
#home-hero .wrap{
	position:absolute;
	bottom:25%;
	left:5%;
	width:90%;
	max-width:90%;
	z-index:2;
}
#home-hero .wrap section{
	color:#fff;
	font-size:28px;
	line-height:38px;
	text-align:center;
	width:100%;
	max-width:1050px;
	margin-left:auto;
	margin-right:auto;
}
#home-hero .logo{
	background-image:url(images/logo_white.webp);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:top center;
	width:850px;
	height:120px;
	text-indent:-9999px;
	position:relative;
	margin-bottom:50px;
	margin-left:auto;
	margin-right:auto;
	opacity:0;
}
#home-hero .logo.active{
	animation: fadeInLogo 6.5s;
}
#home-hero .logo.quick{
	opacity:0;
}
#home-hero h2{
	font-size:85px;
	line-height:95px;
	letter-spacing:-3px;
	margin:0;
	margin:0;
	font-family:var(--serif);
}
#home-hero h2 span{
	width:100%;
	color:#fff;
	display:inline;
	z-index:99;
	position:relative;
	margin-right:25px;
	z-index:2;
}
#home-hero h2 span.three{
	margin-right:0;
}
#home-hero h2 span.one.active{
	animation: fadeInDelay1 6s;
}
#home-hero h2 span.two.active{
	animation: fadeInDelay2 6s;
}
#home-hero h2 span.three.active{
	animation: fadeInDelay3 6s;
}
#home-hero h2 span.one.quick{
	animation: fadeInDelay6 3s;
}
#home-hero h2 span.two.quick{
	animation: fadeInDelay6 4s;
}
#home-hero h2 span.three.quick{
	animation: fadeInDelay6 5s;
}
#home-hero h2 span.two::after{
	width:0%;
	height:8px;
	background-color:var(--secondary);
	bottom:0px;
	left:2.5%;
	content:"";
	position:absolute;
	z-index:-1;
}
#home-hero h2 span.two.active::after{
	width:95%;
	-webkit-transition: width 6s ease-in-out, background-color 9s linear;
    -moz-transition: width 6s ease-in-out, background-color 9s linear;
    -o-transition: width 6s ease-in-out, background-color 9s linear;
    transition: width 6s ease-in-out, background-color 9s linear;
	background-color:var(--primary);
}
#home-hero h2 span.two.quick::after{
	width:95%;
	-webkit-transition: width 3.5s ease-in-out;
    -moz-transition: width 3.5s ease-in-out;
    -o-transition: width 3.5s ease-in-out;
    transition: width 3.5s ease-in-out;
	background-color:var(--primary);
}
#home-hero .textwidget p.active,
#home-hero .textwidget .buttons.active{
	animation: fadeInDelay4 6s;
}
#home-hero .textwidget p.quick,
#home-hero .textwidget .buttons.quick{
	animation: fadeInDelay3 2s;
}
#home-hero .textwidget p{
	max-width:850px;
	margin-left:auto;
	margin-right:auto;
}
#home-hero a.button{
	margin-right:20px;
	background-color:var(--primary);
	border-color:var(--primary);
	color:#fff;
}
#home-hero .button:hover{
	background-color:var(--secondary);
	border-color:var(--secondary);
	color:#fff;
}
#home-hero .button:first-of-type{
	border-color:#fff;
	color:#fff;
	background-color:transparent;
}
#home-hero .button:first-of-type:hover{
	background-color:var(--secondary);
	border-color:var(--secondary);
	color:#fff;
}
#home-hero a.button.active:first-of-type{
	animation: fadeInButtons 11s;
}
#home-hero a.button.active:last-of-type{
	animation: fadeInButtons2 10s;
}
#home-hero a.button.quick:first-of-type{
	animation: fadeInButtons 3s;
}
#home-hero a.button.quick:last-of-type{
	animation: fadeInButtons2 3s;
}

/* Animations */
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay1 {
	0% { opacity: 0; }
	20% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay2 {
	0% { opacity: 0; }
	40% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay3 {
	0% { opacity: 0; }
	60% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay4 {
	0% { opacity: 0; }
	75% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay5 {
	0% { opacity: 0; }
	80% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInDelay6 {
	0% { opacity: 0; }
	10% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInBG {
	0% { opacity: 0; }
	70% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInBG2 {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInLogo {
	0% { opacity: 0; }
	50% { opacity: 1; }
	80% { opacity: 1; }
	100% { opacity: 0; }
}
@keyframes fadeInLogo2 {
	0% { opacity: 0; }
	40% { opacity: 1; }
	100% { opacity: 0; }
}
@keyframes fadeInButtons {
	0% { opacity: 0; }
	40% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes fadeInButtons2 {
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}

/* Home Content */
.home-content {
	padding-top:65px;
	padding-bottom:65px;
	font-size:22px;
}

/* Content 1 */
#content-1{
	padding-top:100px;
	padding-bottom:100px;
}
#content-1 .wrap::before,
#content-1 .wrap section::before,
#content-1 .wrap::after,
#content-1 .wrap section::after{
	content:"";
	background-color:var(--primary);
	position:absolute;
}
#content-1 .wrap::before,
#content-1 .wrap section::before{
	height:5px;
	width:30%;
}
#content-1 .wrap::before{
	top:0;
	left:0;
}
#content-1 .wrap section::before{
	bottom:0;
	right:0;
}
#content-1 .wrap::after,
#content-1 .wrap section::after{
	width:5px;
	height:30%;
}
#content-1 .wrap::after{
	top:0;
	left:0;
}
#content-1 .wrap section::after{
	bottom:0;
	right:0;
}
#content-1 .wrap{
	max-width:800px;
	width:100%;
	position:relative;
	padding-top:45px;
	padding-left:25px;
	text-align:center;
}
#content-1 .wrap section{
	padding-right:25px;
	padding-bottom:45px;
}

/* Content 2 */
#content-2::before{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	content:"";
	background-color:rgba(0,0,0,0.5);
	z-index:1;
}
#content-2{
	padding-top:150px;
	padding-bottom:150px;
	background-image:url(images/bg-content-2.webp);
	background-size:cover;
	background-position:center center;
	position:relative;
}
#content-2 .wrap::before,
#content-2 .wrap::after{
	content:"";
	background-color:var(--primary);
	position:absolute;
	width:50%;
	left:25%;
	height:5px;
}
#content-2 .wrap::before{
	top:0;
}
#content-2 .wrap::after{
	bottom:0;
}
#content-2 .wrap{
	color:#fff;
	text-align:center;
	max-width:850px;
	position:relative;
	z-index:2;
	padding-top:50px;
	padding-bottom:50px;
}
#content-2 h3{
	font-size:var(--heading-large);
	line-height:var(--heading-line-large)
}

/* Featured Projects */
#featured-projects .wrap{
	max-width:90%;
	width:90%;
	overflow:hidden;
	text-align:center;
	font-size:18px;
	line-height:26px;
	color:#111;
}
#featured-projects .widgettitle{
	font-size:var(--heading-large);
	line-height:var(--heading-line-large);
	margin-bottom:0;
}
#featured-projects .wrap p{
	max-width:700px;
	position:relative;
	margin-left:auto;
	margin-right:auto;
}
.scroller-wrapper{
	display:flex;
	justify-content:space-between;
	padding:0;
	margin:0;
}
.scroller-wrapper article{
	display:inline-block;
	flex:0 0 33.33334%;
	margin-bottom:45px;
	position:relative;
}
.scroller-wrapper article .container{
	width:96%;
	background-size:cover;
	background-position:center center;
	background-color:#fff;
	height:400px;
	position:relative;
	margin-left:auto;
	margin-right:auto;
}
.scroller-wrapper article span{
	background-color:rgba(0,0,0,0.5);
	position:absolute;
	bottom:10px;
	width:50%;
	left:25%;
	padding:10px;
	-webkit-transition: all 0.6s ease-in-out;
	-moz-transition:    all 0.6s ease-in-out;
	-ms-transition:     all 0.6s ease-in-out;
	-o-transition:      all 0.6s ease-in-out;
	transition:         all 0.6s ease-in-out;
	text-align:center;
}
.scroller-wrapper article title{
	display:block;
	color:#fff;
	font-size:16px;
}
.scroller-wrapper article span::before,
.scroller-wrapper article title::before,
.scroller-wrapper article span::after,
.scroller-wrapper article title::after{
	content:"";
	background-color:var(--primary);
	position:absolute;
}
.scroller-wrapper article span::before,
.scroller-wrapper article title::before{
	height:5px;
	width:30%;
}
.scroller-wrapper article span::before{
	top:-2.5px;
	left:-2.5px;
}
.scroller-wrapper article title::before{
	bottom:-2.5px;
	right:-2.5px;
}
.scroller-wrapper article span::after,
.scroller-wrapper article title::after{
	width:5px;
	height:30%;
}
.scroller-wrapper article span::after{
	top:-2.5px;
	left:-2.5px;
}
.scroller-wrapper article title::after{
	bottom:-2.5px;
	right:-2.5px;
}

/* Content 3 */
#content-3 {
	background-color:#f9f9f9;
}
#content-3 .wrap{
	width:100%;
	max-width:100%;
}
#content-3 section{
	display:flex;
	justify-content:center;
}
#content-3 .image{
	flex:0 0 45%;
	margin-right:100px;
	background-image:url(images/bg-content-3.webp);
	background-size:cover;
	position:relative;
}
#content-3 .image::after{
	content:"";
	background-color:var(--primary);
	position:absolute;
	width:5px;
	height:50%;
	right:-50px;
	top:25%;
}
#content-3 .widget-wrap{
	padding-right:20%;
	padding-top:150px;
	padding-bottom:150px;
}

/* Content 4 */
#content-4 .wrap{
	width:100%;
	max-width:100%;
}
#content-4 section{
	display:flex;
	justify-content:center;
	flex-direction: row-reverse;
}
#content-4 .image{
	flex:0 0 45%;
	margin-left:100px;
	background-image:url(images/bg-content-4.webp);
	background-size:cover;
	position:relative;
}
#content-4 .image::after{
	content:"";
	background-color:var(--primary);
	position:absolute;
	width:5px;
	height:50%;
	left:-50px;
	top:25%;
}
#content-4 .widget-wrap{
	padding-left:20%;
	padding-top:150px;
	padding-bottom:150px;
}

/* Content ---------------------------------------------------------------------------------------------------- */
.content {
	width: 96%;
	max-width: 1000px;
	height: 100%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	z-index: 9;
	color: #222;
	padding-top: 10vh;
	padding-bottom: 10vh;
}
.content h2,
.content h3{
	font-size: var(--heading-medium);
  	line-height: var(--heading-line-medium);
	color:var(--primary);
}
.full-width-content .content {
	width: 100%;
}

/* Full Width */
body.full-width .site-inner,
body.full-width .content{
	max-width:100%;
	width:100%;
}
body.full-width .wp-block-media-text{
	padding-top:50px;
	padding-bottom:50px;
	font-size:22px;
}
body.full-width .wp-block-media-text.has-media-on-the-right{
	background-color:#f9f9f9;
}
body.full-width .wp-block-media-text .wp-block-media-text__content{
	padding-right:35%;
	padding-top:100px;
	padding-bottom:100px;
}
body.full-width .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
	padding-left:35%;
	padding-right:8%;
}
body.full-width .wp-block-media-text .wp-block-media-text__content h2{
	font-size:32px;
	line-height:42px;
}
body.full-width .wp-block-media-text figure {
	position:relative;
}
body.full-width .wp-block-media-text figure::before{
	content: "";
	background-color: var(--primary);
	position: absolute;
	width: 5px;
	height: 50%;
	right: -50px;
	top: 25%;
}
body.full-width .wp-block-media-text.has-media-on-the-right figure::before{
	right:auto;
	left:-50px;
}
body.full-width .entry-content > p{
	max-width:650px;
	margin-left:auto;
	margin-right:auto;
	font-size:22px;
}

/* Projects Page ---------------------------------------------------------------------------------------------------- */
article.project {
	padding-top:10px;
	padding-bottom:10px;
	height: auto;
	min-height:100px;
	display:flex;
	justify-content:left;
	border-bottom:dotted 1px #f1f1f1;
}
article.project .image {
	flex: 0 0 150px;
	height:100px;
	background-color:#f1f1f1;
	overflow: hidden;
	margin-right:25px;
	display:flex;
	justify-content:center;
	align-items:center;
}
article.project .image img {
	min-height:100%;
	width:auto;
	max-width:500%;
}
article.project h2{
	font-size:28px;
	line-height:38px;
	margin-top:50px;
	margin-bottom:0px;
}
article.project h3{
	font-size:20px;
	line-height:28px;
	color:var(--black);
	margin-top:15px;
	margin-bottom:0;
}
article.project .subline{
	font-weight:bold;
	color: #111;
	font-size: 18px;
}
article.project .subline p{
	margin-top:0;
}
article.project .wp-block-gallery figure{
	max-height:180px;
	height:auto;
}
article.project .wp-block-gallery figure img {
	cursor: pointer;
}

/* Team Page ---------------------------------------------------------------------------------------------------- */
body.team .content{
	max-width:850px;
}
article.team{
	margin-bottom:40px;
	display:flex;
	border-bottom:dotted 1px var(--primary);
	padding-bottom:40px;
}
article.team .image{
	width:250px;
	flex: 0 0 250px;
	height:250px;
	border-radius:50%;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	float:left;
	margin-right:45px;
	background-size:contain;
	background-position:center center;
	background-color:#fff;
}
article.team .image.no-image{
	background-image:url(images/placeholder.webp);
}
article.team h2{
	margin-top:0;
	margin-bottom:0;
}
article.team span.position{
	display:block;
	font-size:18px;
	line-height:28px;
	font-weight:bold;
}

/* Contact ---------------------------------------------------------------------------------------------------- */
body.contact .content{
	padding-top:0;
	padding-bottom:0;
	max-width:850px;
}

/* Request A Proposal ---------------------------------------------------------------------------------------------------- */
body.proposal .page-title::before {
	background-color: transparent;
}
body.proposal .page-title{
	background-image:none!important;
}
body.proposal .site-inner::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	content: "";
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
}
body.proposal .site-container{
	background-image: url(/wp-content/themes/jh-engineering/images/banners/bg-hero-1.webp);
	background-size:cover;
	position:relative;
}
body.proposal .content{
	padding-top:0;
	max-width:700px;
}
body.proposal .gform_wrapper.gravity-theme .gfield_label{
	color:#fff;
}
body.proposal .gform_wrapper .gform_footer input[type="submit"]{
	border-color:#fff;
	color:#fff;
}
body.proposal .gform_wrapper .gform_footer input[type="submit"]:hover{
	background-color:var(--primary);
	color:#fff;
	border-color:var(--primary);
}

/* Footer CTA ---------------------------------------------------------------------------------------------------- */
#footer-cta::before{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	content:"";
	background-color:rgba(0,0,0,0.5);
}
#footer-cta{
	background-image:url(images/bg-cta.webp);
	background-size:cover;
	background-position:center center;
	color:#fff;
	padding-top:100px;
	padding-bottom:100px;
	position:relative;
}
#footer-cta .wrap{
	display:flex;
	justify-content:center;
	position:relative;
	font-size:18px;
}
#footer-cta section{
	width:46%;
	margin-left:2%;
	margin-right:2%;
}
#footer-cta section:first-of-type{
	padding-right:80px;
}
#footer-cta .widgettitle{
	font-size:32px;
	line-height:42px;
	font-weight:bold;
	display:block;
	max-width:350px;
}
#footer-cta section .widgettitle{
	margin-bottom:20px;
	font-family:var(--serif);
	font-size:var(--heading-large);
	line-height:var(--heading-line-large);
}
#footer-cta section form label, 
#footer-cta section form legend{
	display:none;
}
#footer-cta .gform_wrapper.gravity-theme .gform_footer input{
	width:100%;
	background-color:var(--primary);
	color:#fff;
}
#footer-cta .gform_wrapper.gravity-theme .gform_footer input:hover{
	background-color:var(--secondary);
	border-color:var(--secondary);
}

/* Site Footer ---------------------------------------------------------------------------------------------------- */
.site-footer {
	padding-top:40px;
	padding-bottom:40px;
	background-color:var(--black);
	color:#fff;
	font-size:12.5px;
	text-align:center;
	position:relative;
	z-index:9;
}
.footer-logo{
	display:block;
	position:relative;
	margin-left:auto;
	margin-right:auto;
	background-image:url(images/logo_badge_white.webp);
	width:250px;
	height:200px;
	background-size:contain;
	background-repeat:no-repeat;
	background-position: top center;
	text-indent:-9999px;
	margin-bottom:15px;
}
.site-footer a {
	color:#fff;
	text-decoration:none;
}
.site-footer a:hover {
	color:var(--primary);
}
.site-footer ul{
	padding:0;
	margin:0;
	display:flex;
	justify-content:center;
}
.site-footer ul li{
	margin-left:5px;
	margin-right:5px;
	display:inline-block;
}
ul#menu-social-media-navigation li a {
	display:block;
	width:35px;
	height:35px;
	background-image:url(images/sprite-social-media.webp);
	background-size:auto 100%;
	background-repeat:no-repeat;
	background-position:left center;
	text-indent:-9999px;
}
ul#menu-social-media-navigation li.instagram a {
	background-position:-35px center;
}
ul#menu-social-media-navigation li.facebook a {
	background-position:-70px center;
}

/* ------------------------------------------------------------------------------------------------------------------ */
/* Media Queries ---------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------ */

@media only screen and (max-width: 1520px) {
	#content-3 .widget-wrap{
		padding-right:10%;
	}
	#content-4 .widget-wrap{
		padding-left:10%;
	}
	ul.project-categories li a span{
		width:75%;
	}
	body.full-width .wp-block-media-text figure::before{
		right:-25px;
	}
	body.full-width .wp-block-media-text .wp-block-media-text__content{
		padding-right:10%;
	}
	body.full-width .wp-block-media-text.has-media-on-the-right figure::before{
		left:-25px;
	}
	body.full-width .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
		padding-left:10%;
	}
}

@media only screen and (max-width: 1320px) {
	#featured-projects .wrap{
		width:95%;
		max-width:95%;
	}
	.scroller-wrapper article span{
		width:80%;
		left:10%;
	}
	#content-3 .widget-wrap{
		padding-right:5%;
	}
	#content-4 .widget-wrap{
		padding-left:5%;
	}
	body.full-width .wp-block-media-text .wp-block-media-text__content{
		padding-right:5%;
	}
	body.full-width .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
		padding-left:5%;
	}
}

@media only screen and (max-width: 1220px) {
	.scroller-wrapper article span{
		width:90%;
		left:5%;
	}
}

@media only screen and (max-width: 1023px) {
	.show-menu,
	.nav-primary ul li.mobile{
		display: block;
	}
	.show-menu, .close-menu{
		position: absolute;
		top:17px;
		right: 30px;
		width: 35px;
		height: 35px;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		text-indent: -99999px;
		cursor: pointer;
	}
	.show-menu{
		background-image: url(images/icon-mobile-menu.webp);
	}
	.close-menu{
		background-image: url(images/icon-close.webp);
	}
	.scrolled .show-menu{
		background-image: url(images/icon-mobile-menu-dark.webp);
	}
	.scrolled .close-menu{
		background-image: url(images/icon-close-dark.webp);
	}
	.nav-primary {
		position: fixed;
		height: 100%;
		width: 80%;
		left: -100%;
		top:0;
		background-color:var(--primary);
		border-right: solid 1px #fff;
		overflow-y:scroll;
	}
	.nav-primary ul {
		display: block;
	}
	.nav-primary ul li.home a {
		width: 100%;
		height: 85px;
		display: block;
		background-image: url(images/logo_white.webp);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center left;
		text-indent: -9999px;
		margin-top:10px;
		margin-bottom:20px;
	}
	.nav-primary ul li {
		width: 100%;
		display: block;
		height:auto;
		min-height:11vh;
		border-bottom: 1px #fff dotted;
	}
	.nav-primary ul li a,
	.scrolled .nav-primary ul li a{
		height:11vh;
		line-height:11vh;
		color: #fff;
		font-size:24px;
		display:block;
		padding-left:20px;
	}
	.nav-primary ul li:last-of-type a,
	.scrolled .nav-primary ul li:last-of-type a {
		background-color: transparent;
		border: none;
		padding-left: 20px;
		padding-right: 0px;
		height:11vh;
		line-height:11vh;
		margin-top: 0px;
		color:#fff;
	}
	.nav-primary ul li a:hover,
	.scrolled .nav-primary ul li a:hover, 
	.nav-primary ul li:last-of-type a:hover,
	.scrolled .nav-primary ul li:last-of-type a:hover{
		color:#222;
		background-color:#fff;
	}
	.nav-primary ul li a::after{
		display:none;
	}
	#home-hero h2{
		font-size:9vw;
		line-height:9.2vw;
	}
	.scroller-wrapper article{
		flex: 0 0 50%;
	}
}

@media only screen and (max-width: 800px) {
	#home-hero .button{
		width:48%;
		padding:0;
		margin-left:1%;
		margin-right:1%;
		text-align:center;
		margin-bottom:12px;
	}
	#home-hero .wrap section{
		font-size:22px;
		line-height:30px;
	}
	#content-1 .wrap{
		width:90%;
	}
	#content-3, #content-4{
		padding-top:0;
	}
	#content-3 section, #content-4 section{
		display:block;
	}
	#content-3 .image, #content-4 .image{
		width:100%;
		margin-right:0;
		margin-left:0;
		height:450px;
	}
	#content-3 .widget-wrap, #content-4 .widget-wrap{
		width:100%;
		padding-right:25px;
		padding-left:25px;
		padding-top:25px;
		padding-bottom:25px;
	}
	.content{
		padding-top:50px;
		padding-bottom:50px;
	}
	body.full-width .wp-block-media-text{
		display: flex;
		flex-wrap:wrap;
		padding-top:20px;
		padding-bottom:20px;
	}
	body.full-width .wp-block-media-text.has-media-on-the-right{
		flex-direction: column-reverse;
		padding-top:0;
	}
	body.full-width .wp-block-media-text > figure,
	body.full-width .wp-block-media-text.is-image-fill > .wp-block-media-text__media{
		flex: 0 0 100%;
		width:100%;
		height:450px;
		min-height:450px;
	}
	body.full-width .wp-block-media-text .wp-block-media-text__content,
	body.full-width .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
		padding-left:2%;
		padding-right:2%;
		padding-top:25px;
		padding-bottom:25px;
		flex: 0 0 100%;
	}
	body.full-width .entry-content > p{
		max-width:96%;
	}
	.page-title h1{
		display:block;
		text-align:center;
		font-size:8vw;
		line-height:8.5vw;
	}
	#footer-cta .wrap{
		display:block;
	}
	#footer-cta section{
		width:96%;
	}
	#footer-cta section:first-of-type{
		padding-right:0;
	}
	#footer-cta .widgettitle{
		text-align:center;
		max-width:100%;
	}
}

@media only screen and (max-width: 680px) {
	.site-title{
		margin-top:11px;
	}
	.site-title a{
		width:300px;
		height:47px;
	}
	#home-hero a.button{
		width:100%;
	}
	.scroller-wrapper article{
		flex: 0 0 100%;
	}
	#featured-projects{
		padding-top:50px;
		padding-bottom:50px;
	}
	.home-content,
	body.full-width .entry-content > p,
	body.full-width .wp-block-media-text{
		font-size:18px;
		line-height:26px;
	}
	#content-2 {
		padding-top:50px;
		padding-bottom:50px;
	}
	body:not(.proposal) .page-title{
		height:250px;
		min-height:250px;
	}
	.page-title .headline{
		width:100%;
	}
	body.full-width .wp-block-media-text > figure,
	body.full-width .wp-block-media-text.is-image-fill > .wp-block-media-text__media{
		height:350px;
		min-height:350px;
	}
	.gform_wrapper.gravity-theme input[type="submit"]{
		width:100%;
	}
	#footer-cta .gform_wrapper .gform_footer input[type="submit"]{
		margin-left:auto;
		margin-right:auto;
	}
}

@media only screen and (max-width: 480px) {
	.site-title{
		margin-top:16px;
	}
	.site-title a{
		width:250px;
		height:39px;
	}
	.show-menu, .close-menu{
		right:20px;
	}
	body.full-width .wp-block-media-text > figure,
	body.full-width .wp-block-media-text.is-image-fill > .wp-block-media-text__media{
		height:250px;
		min-height:250px;
	}
	body.projects .content h2{
		text-align:center;
	}
	article.project{
		display:block;
		text-align:center;
	}
	article.project .image{
		height:225px;
		margin-right:0;
	}
	article.project .image.no-image{
		height:1px;
	}
	article.project .image img{
		margin:0;
	}
}
