/*
Theme Name: Henson Building Corp
Author: Sage Digital Marketing
Author URI: https://www.sageisland.com
Version: 2.0
*/
/*
@font-face {
	font-family: 'FontAwesome';
	src: url('fonts/FontAwesome/fontawesome-webfont.eot');
	src: url('fonts/FontAwesome/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), 
	url('fonts/FontAwesome/fontawesome-webfont.woff2') format('woff2'), 
	url('fonts/FontAwesome/fontawesome-webfont.woff') format('woff'), 
	url('fonts/FontAwesome/fontawesome-webfont.ttf') format('truetype'), 
	url('fonts/FontAwesome/fontawesome-webfont.svg#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style: normal;
}
*/

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/OpenSans/OpenSans-Bold.woff2') format('woff2'),
		url('fonts/OpenSans/OpenSans-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/OpenSans/OpenSans-Medium.woff2') format('woff2'),
		url('fonts/OpenSans/OpenSans-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/OpenSans/OpenSans-Regular.woff2') format('woff2'),
		url('fonts/OpenSans/OpenSans-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Open Sans';
	src: url('fonts/OpenSans/OpenSans-Light.woff2') format('woff2'),
		url('fonts/OpenSans/OpenSans-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cormorant';
	src: url('fonts/Cormorant/Cormorant-Bold.woff2') format('woff2'),
		url('fonts/Cormorant/Cormorant-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cormorant';
	src: url('fonts/Cormorant/Cormorant-Light.woff2') format('woff2'),
		url('fonts/Cormorant/Cormorant-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cormorant';
	src: url('fonts/Cormorant/Cormorant-Regular.woff2') format('woff2'),
		url('fonts/Cormorant/Cormorant-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cormorant';
	src: url('fonts/Cormorant/Cormorant-Medium.woff2') format('woff2'),
		url('fonts/Cormorant/Cormorant-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

::-moz-selection{background: #fcd700; color: #fff; text-shadow: none;}
::selection {background: #fcd700; color: #fff; text-shadow: none;}
input:-moz-placeholder { color:#a9a9a9; }
textarea:-moz-placeholder { color:#a9a9a9; }

img,
div,
iframe,
video {
	height:auto;
	max-width:100%;
}

#header:after,
#contentWrap:after,
#footer:after {
	content:'';
	clear:both;
	display:block;
	width:100%;
}

a,
#nav,
#overlayNav,
.overlayToggle,
.menuToggle,
.menuToggle > *,
body.et-db:not(.et-fb) #site #et-boc .et-l .et_pb_module button,
.social a svg * ,
.menuToggle .bars,
.menuToggle .bars:before,
.menuToggle .bars:after {
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
}

body h1,
body #et-boc .et-l h1 {
	font-size:50px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body h2,
body #et-boc .et-l h2 {
	font-size:42px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body h3,
body #et-boc .et-l h3 {
	font-size:34px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body h4,
body #et-boc .et-l h4 {
	font-size:28px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body h5,
body #et-boc .et-l h5 {
	font-size:22px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body h6,
body #et-boc .et-l h6 {
	font-size:16px;
	color:#4e4f51;
	font-style:italic;
	margin:0;
	padding-bottom:1em;
	line-height:1.4em;
	font-family:'Cormorant', Helvetica, arial;
}

body {
	background:#ffffff;
	padding:0;
	margin:0;
	font-size:18px;
	color:#545454;
	line-height:1.8em;
	font-family:'OpenSans', Helvetica, arial;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#site {
	position:relative;
	overflow:hidden;
}

#header {
	position:relative;
	z-index:100;
	background:#514c4b;
	padding:0 20px;
}

#contentWrap {
	position:relative;
	z-index:98;
	background:#FFF;
}

#footer {
	position:relative;
	z-index:99;
}

#headerInner {
	max-width:1400px;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:auto;
	padding:30px 0;
}

#hiRight {
	display:flex;
	flex-direction:column;
	align-items:flex-end
}

#hiRight a {
	text-decoration:none;
	font-weight:700;
	margin:0 0 10px;
	display:block;
	color:#FFF;
}

#hiRight .tel {
	margin:0 !important;
}

#headerLogo {
	max-width:75%;
	display:block;
}

#nav {
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	max-width:500px;
	z-index:110;
	padding:0;
	-webkit-transform: translateX(100%);
	-moz-transform: translateX(100%);
	-ms-transform: translateX(100%);
	-o-transform: translateX(100%);
	transform: translateX(100%);
	overflow:auto;
	text-align:left;
	width:100%;
}

#nav #navWrap {
	background:#514c4b;
	padding-bottom:200px;
}

#nav .menuToggle {
	float:right;
	clear:both;
	margin:30px 30px 60px;
}

#navInner {
	max-width:300px;
	margin:auto;
	width:100%;
}

body.admin-bar #nav {
	padding-top:32px;
}

#nav .menu-main-menu-container {
	padding-top:50px;
}

body.showNav #nav {
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}

#nav ul.menu {
	margin:0;
	list-style:none;
	padding:0;
}

#nav ul.menu > li {
	display:block;
	clear:both;
}

#nav ul.menu > li.menu-item-has-children:before {
	content:'\f067';
	font-family:'FontAwesome';
	float:right;
	background:#41b6e6;
	color:#FFF;
	padding:10px;
	cursor:pointer;
}

#nav ul.menu > li.menu-item-has-children.showChild:before {
	content:'\f068';
}

#nav ul.menu > li > a {
	text-decoration:none;
	font-weight:700;
	font-size:20px;
	color:#FFF;
	padding:15px 20px;
	display:inline-block;
}

#nav ul.menu > li > a:hover {
	color:#54b4ee;
}

#nav ul.menu > li > ul.sub-menu {
	position:relative;
	top:auto;
	left:auto;
}

#nav ul.menu > li:hover > ul.sub-menu {
	display:none;
}

#nav ul.menu > li.showChild > ul.sub-menu {
	display:block;
}

#nav ul.menu > li ul.sub-menu > li > a {
	white-space:normal;
}

#navContact {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	padding-top:40px;
	margin-top:40px;
	border-top:2px solid #FFF;
	color:#FFF;
	font-weight:700;
	font-size:18px;
/* 	max-width:230px; */
	line-height:1em;
}

#navContact a {
	text-decoration:none;
	color:#FFF;
}

#navContact a:hover {
	color:#54b4ee;
}

#navContact .social {
	margin-left:15px;
	padding-left:15px;
	border-left:2px solid #FFF;
}

.menuToggle {
	cursor:pointer;
	position:relative;
	width:40px;
	height:40px;
}

.menuToggle:after {
	position:absolute;
	cursor:pointer;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:100;
}

.menuToggle .mtOpen,
.menuToggle .mtClose {
	height:100%;
	position:absolute;
	width:100%;
	margin:auto;
}

.menuToggle .mtOpen > .bars {
	height:2px;
	top:0;
	bottom:0;
	background:#FFF;
	width:100%;
	position:absolute;
	margin:auto;
}

.menuToggle .mtOpen > .bars:before,
.menuToggle .mtOpen > .bars:after {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:-12px;
	height:2px;
	background:#FFF;
	width:100%;
}

.menuToggle .mtOpen .bars:after {
	top:auto;
	bottom:-12px;
}

.menuToggle:hover .bars,
.menuToggle:hover > div > .bars:before,
.menuToggle:hover > div >.bars:after {
	background:#54b4ee;
}

.menuToggle:hover .mtClose > .bars {
	background:none;
}


.menuToggle .mtOpen {
	transform:scale(.99,.99);
	opacity:1;
}

body.showNav .menuToggle .mtOpen {
	transform:scale(0,0);
	opacity:0;
}

.menuToggle .mtClose {
	transform:rotate(45deg) scale(0,0);
	opacity:0;
}

body.showNav .menuToggle .mtClose {
	opacity:1;
	transform:rotate(45deg) scale(.99,.99);
}

.menuToggle .mtClose .bars {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}

.menuToggle .mtClose .bars:before {
	content:'';
	width:2px;
	height:100%;
	margin:auto;
	left:0;
	right:0;
	display:block;
	position:absolute;
	background:#FFF;
}

.menuToggle .mtClose .bars:after {
	background:#FFF;
	content:'';
	position:absolute;
	height:2px;
	width:100%;
	margin:auto;
	top:0;
	bottom:0;
	display:block;	
}

.overlayToggle {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	background:#000;
	opacity:0;
	visibility:visible;
	pointer-events:none;
}

body.showNav .overlayToggle {
	opacity:.3;
	visibility:visible;
	pointer-events:auto;
}

#footerTop {
	background:#514c4b;
	width:100%;
	margin:auto;
	padding:0 20px;
	box-sizing:border-box;
}

#footerTop a {
	text-decoration:none;
	color:#FFF;
	font-weight:700;
}

#footerTop a:hover {
	color:#54b4ee;
}

#ftInner {
	max-width:1400px;
	margin:auto;
	width:100%;
	padding:50px 0;
	color:#FFF;
	display:flex;
	align-items:center;
	justify-content:space-between;
}

#ftiRight {
	max-width:300px;
	margin-left:40px;
}

#ftiLicense {
	margin-left: 10px;
}

#ftiLicense p {
	margin: 0px;
}

#footerBottom {
	padding:0 20px;
	background:#FFF;
	font-size:10px;
	color:#514c4b;
}

#footerBottom a {
	text-decoration:none;
	color:#514c4b;
}

#footerBottom a:hover {
	color:#54b4ee;
}

#fbInner {
	padding:15px 0;
	max-width:1400px;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:auto;
}

#footerLogo {
	display:block;
	max-width:700px;
	margin:auto;
}

.social {

}

.social a {
	display:inline-block;
	vertical-align:middle;
	width:22px;
	height:22px;
	position:relative;
	text-decoration:none;
	color:#54b4ee;
	margin:0 5px;
}

.social a span {
	font-size:0;
	width:0;
	height:0;
	position:absolute;
	overflow:hidden;
}

.social a svg {
	width:100%;
	height:100%;
}

.social a svg path {
	fill:#54b4ee;
}

.social a:hover svg path {
	fill:#FFF;
}

.social a.instagram:hover svg {
	stroke:#FFF;
}

body:not(.et-fb) .button:not(.cky-btn),
body:not(.et-fb) button:not(.cky-btn),
body:not(.et-fb) .button,
body:not(.et-fb) button,
body.et-db #site #et-boc .et-l .et_pb_button,
body.et-db:not(.et-fb) #et-boc .et-l .et_pb_module .et_pb_button,
body.et-db:not(.et-fb) #site #et-boc .et-l .frm_style_formidable-style.with_frm_style .frm_submit button {
	color:#FFF;
	font-size:28px;
	background:#54b4ee;
	padding:20px 40px;
	font-weight:700;
	border-radius:0;
	border:none;
	line-height:1.2em !important;
	font-family:'Cormorant', Helvetica, arial;
}

body:not(.et-fb) .button:not(.cky-btn):hover,
body:not(.et-fb) button:not(.cky-btn):hover,
body:not(.et-fb) .button:hover,
body:not(.et-fb) button:hover,
body.et-db #site #et-boc .et-l .et_pb_button:hover,
body.et-db:not(.et-fb) #et-boc .et-l .et_pb_module .et_pb_button:hover,
body.et-db:not(.et-fb) #et-boc .et-l .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
	padding:20px 40px;
	border:none;
	background:#514c4b;
	color:#FFF;
}

body.et-db #et-boc .et-l .et_pb_button:after {
	display:none;
	content:'';
}

body.et-db #et-boc .et-l .et_pb_module input[type="radio"],
body.et-db #et-boc .et-l .et_pb_module input[type="checkbox"] {
	min-height:auto;
	height:20px;
	width:20px;
	margin-right:5px;
}

body.et-db #et-boc .et-l .et_pb_module .frm_radio label,
body.et-db #et-boc .et-l .et_pb_module .frm_checkbox label {
	display:flex;
	align-items:center;
	margin-right:20px;
	color:#FFF;
	font-size:16px;
}

body.et-db #et-boc .et-l .et_pb_module .frm_style_formidable-style.with_frm_style .form-field {
	margin-bottom:30px;
}

body.et-db #et-boc .et-l .et_pb_module .frm_style_formidable-style.with_frm_style fieldset {
	width:100%;
}

body.et-db #site #et-boc .et-l .et_pb_module input, 
body.et-db #site #et-boc .et-l .et_pb_module select, 
body.et-db #site #et-boc .et-l .et_pb_module textarea {
	width:100%;
	min-height:45px;
	border:1px solid #CCC;
	border-radius:4px;
	padding:10px;
}

body.et-db #site #et-boc .et-l .et_pb_module .with_frm_style .frm_required {
	color: #B94A48;
	font-weight: bold;
}

body.et-db #et-boc .et-l .et_pb_testimonial_description {
	font-style:italic;
	color:#545454;
	font-weight:700;
}

body.et-db #et-boc .et-l .et_pb_testimonial_description .et_pb_testimonial_content {
	font-family:'Cormorant', Helvetica, arial;
	font-size:32px;
}

body.et-db #et-boc .et-l .et_pb_testimonial_author {
	text-align:center;
	font-weight:300;
	font-style:normal;
	margin-top:0;
	font-size:26px;
}

body.et-db #et-boc .et-l .et_pb_with_background .et_pb_row, 
body.et-db #et-boc .et-l .single.et_full_width_page .et_pb_row, 
body.et-db #et-boc .et-l .single.et_full_width_portfolio_page .et_pb_row {
	width:100%;
}

#footerContact {
	display:flex;
	align-items:center;
	line-height:1em;
	flex-wrap:wrap
}

#footerContact .social {
	padding-left:20px;
	margin-left:20px;
	border-left:2px solid #FFF;
}

#footerContact > * {
	margin:10px 0
}

@media screen and (max-width: 1440px) {
	body.et-db #et-boc .et-l .et_pb_section .et_pb_row {
		padding-left:20px;
		padding-right:20px;
	}
}

@media screen and (max-width: 1300px) {
	#header {
		text-align:left;
	}
}

@media screen and (max-width: 980px) {
	#ftInner,
	#fbInner {
		display:block;
		text-align:center;
		line-height:2em
	}
	
	#ftiRight {
		margin:auto;
	} 
}

@media screen and (max-width: 768px) {
	body {
		font-size:14px;	
	}
	
	body h1, 
	body #et-boc .et-l h1 {
		font-size:40px;
	}
	
	body h2, 
	body #et-boc .et-l h2 {
		font-size:30px;
	}
	
	body h3, 
	body #et-boc .et-l h3 {
		font-size:28px;
	}
	
	body h4, 
	body #et-boc .et-l h4 {
		font-size:22px;
	}
	
	body h5, 
	body #et-boc .et-l h5 {
		font-size:18px;
	}
	
	body h6, 
	body #et-boc .et-l h6 {
		font-size:14px;
	}
	
	#headerInner {
		flex-wrap:wrap;
		justify-content:center;
	}
	
	#headerLogo {
		max-width:100%;
	}
	
	#hiRight {
		flex-direction:row;
		margin-top:20px;
		align-items:center;
	}
	
	#hiRight .menuToggle {
		margin-left:30px;
	}
	
	#hiRight a {
		margin-bottom:0;
	}
}