.wf-loading {
    visibility: hidden
}

.wf-active,
.wf-inactive {
    visibility: visible
}

/***************
STICKY FOOTER 
***************/

.wrap {
	display: -webkit-box;      
	display: -moz-box;        
	display: -ms-flexbox;     
	display: -webkit-flex;   
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}
.content_wrap {
	flex: 1 0 auto;
}

/************************************************ Background ************************************************/
body {
	font-family: "freight-sans-pro",sans-serif;
	background:#fff;
	border-top:6px solid #000;
	-webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
	-moz-animation: fadein 1s; /* Firefox < 16 */
	-ms-animation: fadein 1s; /* Internet Explorer */
	-o-animation: fadein 1s; /* Opera < 12.1 */
	animation: fadein 1s;
}

@keyframes fadein {
    from { opacity: 0.5; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0.5; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0.5; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0.5; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0.5; }
    to   { opacity: 1; }
}

input[type='submit']
{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none; 
}

/************************************************ Format ************************************************/

body, select, input, textarea {
	font-size:62.5%;
	color:#666666;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

input, label, textarea {
	font-family: "neuzeit-grotesk",sans-serif;
}
.table {
    display: table;
    width: 100%;
    height: 100%;
}
.table_cell {
    display: table-cell;
    vertical-align: middle;
}

h1,h2,h3,h4,h5 {
	line-height:1.5em;	
}

h1 {
	font-size:30px;	
}

h2 {
	font-size:28px;
}

h3 {
	font-size:18px;
}

h4 {
	font-size:24px;
}

h5 {
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

h6 {
	font-size:10px;
}

p {
	font-family: "neuzeit-grotesk",sans-serif;
	font-size:18px;
	line-height:1.5em;
	color:#666666;
	padding:0 0 30px;
}

a {
	color:#000;
	text-decoration:none;
	-moz-transition: all 0.3s ease-out;  /* FF3.7+ */
	-o-transition: all 0.3s ease-out;  /* Opera 10.5 */
	-webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */
	transition: all 0.3s ease-out;
}

a:hover {
	color:#ffe545;
	text-decoration:underline;
}

img, object, embed, video {
	max-width: 100%;
}

img {
	height:auto;	
}

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;	
}

strong {
	font-weight:bold;	
}

a.btn {
	font-size:13px;
	text-transform:uppercase;
	color:#fff;
	padding:16px 25px;
	border-radius:3px;
	background:#000;
	display:inline-block;
	font-weight:bold;
	letter-spacing:0.1em;	
}

a.btn:hover {
	color:#000;
	text-decoration:none;
	background:#ffe545;	
}


/************************************************ Layout ************************************************/

.row {
	width:100%;
	float:left;
	padding:90px 5%;
	box-sizing: border-box;
	position:relative;
}

.row.grey{
	background:#f7f7f7;
}

.circletop::before {
    background-color: #f7f7f7;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 50px;
    left: 0;
    margin: -102px auto 0;
    position: absolute;
    right: 0;
    width: 50px;
}

.circlebottom::before {
    background-color: #f7f7f7;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 50px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    width: 50px;
	bottom:-10px;
}

.row.nopadd{
	padding:0 5%;
}

.row.no_padd_btm {
	padding: 5% 5% 0 5%;
}

.row.no_padd_top {
	padding: 0 5% 5% 5%;
}

.row_inner {
	max-width: 1140px;
	min-width: 960px;
	margin:0 auto;
}

#wrapper {
	width:100%;
	float:left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#container {
	max-width: 1140px;
	min-width: 960px;
	margin:0 auto;
}

header {
	width:100%;
	float:left;
	position:relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.header_inner {
	width:100%;
	float:left;
	padding:0 5%;
	box-sizing:border-box;
	background:#fff;
	border-bottom:1px solid #e3e3e3;
}

#logo {
	width:331px;
	text-align:center;
	background:url(../images/logobg.png) no-repeat top center;
	height:149px;
	position:absolute;
	margin:0 auto;
	top:0;
	left:0;
	right:0;
	z-index:1;
}

#logo a:hover {
	opacity:0.8;
}

#logo img {
	width:190px;
	padding:30px 0 0;
}

nav.left {
	float:left;
	width: 50%;
}

nav.right {
	float: right;
    width: 50%;
}
nav.right ul {
	text-align: right;
}

nav ul li {
	display:inline-block;
	vertical-align:top;
}

nav ul li a {
	color:#3c3c3c;
	font-size:13px;
	letter-spacing:2px;
	font-weight:bold;
	text-transform:uppercase;
	float:left;
	padding:30px 0 27px;
	border-bottom:3px solid #fff;
}

nav ul li a:hover,
nav ul li a.active {
	border-bottom:3px solid #ffe545;
	text-decoration:none;
	color:#3c3c3c;
}

nav.left ul li a {
	margin: 0 30px 0 0;
}
nav.right ul li a {
    margin: 0 0 0 30px;
}

/************************************************ Homepage ************************************************/

.hp_slider {
	width:100%;
	float:left;
	box-sizing:border-box;
	padding:80px 5%;
	position:relative;
	height:800px;
	background-size:cover!important;
	text-align:center;
}

.slide_text {

}

.slide_text p.large {
    font-family: "freight-sans-pro",sans-serif;
	font-size:60px;
    line-height: 60px;
	color:#fff;
	letter-spacing: 0.1em;
	text-transform:uppercase;
	font-weight:bold;
}

.slide_text p.small {
	font-size:30px;
	color:#fff;
	letter-spacing: 0.1em;
	text-transform:uppercase;
	font-weight:bold;
	text-align: center;
	padding:0;
	position:relative;
}
.slide_text p.small span {
	display: inline-block;
	position: relative;  
}
.slide_text p.small span:before {
	content: "";
	position: absolute;
	height: 1px;
	background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
	top: 50%;
	width: 70%;
}

.slide_text p.small span:after {
	content: "";
	position: absolute;
	height: 1px;
	background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
	top: 50%;
	width: 70%;
}

.slide_text p.small span:before {
	right: 100%;
	margin-right: 15px;
}
.slide_text p.small span:after {
	left: 100%;
	margin-left: 15px;
}

.slide_text p.small:before {
	font-size:30px;
	color:#fff;
	letter-spacing:0.1em;
	text-transform:uppercase;
	font-weight:bold;
}

a.slidebtn {
	position:absolute;
	background:#000;
	border-top-left-radius:3px;
	border-top-right-radius:3px;
	bottom:0;
	padding:20px 25px;
	color:#fff;
	box-sizing:border-box;
	text-align:center;
	display:inline-block;
	margin-left:-100px;
	font-size:14px;
	font-family:Georgia, Constantia, "Lucida Bright", "DejaVu Serif", serif;
	font-style:italic;
}

a.slidebtn:hover {
	color:#000;
	text-decoration:none;
	background:#ffe545;	
}

a.slidebtn i {
	margin-right:5px;
	font-size:18px;
}

ul.three_areas {
	width:100%;
	padding:20px 0;
	float:left;
	text-align:center;
	display:table;
	table-layout:fixed;
}

ul.three_areas li {
	font-family: "neuzeit-grotesk",sans-serif;
	display:table-cell;
	vertical-align:top;
	font-size:14px;
	line-height:1.5em;
	color:#666666;
	padding:0 3% 0;
	width:29%;
	border-width: 1px 1px 1px 0; 
	border-style: solid; 
	-webkit-border-image: -webkit-gradient(linear, 0 0, 0 100%, from(black), to(rgba(0, 0, 0, 0))) 1 100%; 
	-webkit-border-image: -webkit-linear-gradient(rgba(0,0,0,0) 0%,rgba(227,227,227,1) 50%,rgba(0,0,0,0)) 1 100%; 
	-moz-border-image: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(227,227,227,1) 50%, rgba(0,0,0,0)) 1 100%;
	border-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(227,227,227,1) 50%,rgba(0,0,0,0)) 1 100%;
}

ul.three_areas.products {
	display:block;
	margin:0 0 -90px;
}

ul.three_areas.products li {
	display:inline-block;
	width:29%;
	margin:0 3% 90px 0;
	padding:0 3% 0 0;
	border-width: 1px 1px 1px 0; 
	border-style: solid; 
	-webkit-border-image: -webkit-gradient(linear, 0 0, 0 100%, from(black), to(rgba(0, 0, 0, 0))) 1 100%; 
	-webkit-border-image: -webkit-linear-gradient(rgba(0,0,0,0) 0%,rgba(227,227,227,1) 50%,rgba(0,0,0,0)) 1 100%; 
	-moz-border-image: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(227,227,227,1) 50%, rgba(0,0,0,0)) 1 100%;
	border-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(227,227,227,1) 50%,rgba(0,0,0,0)) 1 100%;
}

ul.three_areas li:nth-child(3n) {
	border:none;
	padding:0 0 0 3%;
	margin:0;
}

ul.three_areas.products li:nth-child(3n), ul.three_areas.products li:last-child {
	border:none;
	padding:0;
	margin:0 0 90px 0;
}

ul.three_areas li img {
	margin:0 0 30px;
}

ul.three_areas li h4 {
	font-size:18px;
	text-transform:uppercase;
	font-weight:bold;
	margin:0 0 10px;
	color:#000;
	letter-spacing:0.1em;
}

ul.three_areas li a {
	color:#000;
	text-decoration:none;
	font-weight:bold;
}

ul.three_areas li a.link {
	color:#000;
	text-decoration:none;
	margin:20px 0 0;
	display:inline-block;
	font-weight:bold;
	padding:0 0 3px;
}

ul.three_areas li a:hover img {
	opacity:0.8;
	border-bottom:none;
}

ul.three_areas li a.link {
	border-bottom:1px solid transparent;
}

ul.three_areas li a.link:hover {
	border-color:#000;
}

ul.three_areas li:last-child {
	margin-right:0;
}

#hp_about {
    background: url(../images/hpabout.png) no-repeat right bottom;
    background-size: contain;
    padding-bottom: 200px;
}
.hp_about_text {
	width:50%;
	float:left;	
}

.hp_about_text h1 {
	font-family: "neuzeit-grotesk",sans-serif;
	font-size:24px;
	margin:0 0 20px;
	font-weight:normal;
}

.hp_about_text h2 {
	font-size:32px;
	color:#000;
	text-transform:uppercase;
	letter-spacing:0.1em;
	margin:0 0 20px;
	font-weight:bold;
}

.title_line {
	width:100%;
	float:left;
	padding:0 0 50px;	
}

.title_line h3 {
	color:#000;
	letter-spacing:0.1em;
	text-transform:uppercase;
	font-weight:bold;
	position:relative;
	z-index:1;
}

.title_line h3:after {
	width:80%;
	top:50%;
	right:0;
	content:'';
	z-index:0;
	background:#e3e3e3;
	height:1px;
	position:absolute;
}

ul.services_boxes {
	width:100%;
	float:left;
	padding:0;
}

.row.grey ul.services_boxes li {
	border-top:none;
	border-right:none;
	border-left:none;
}

ul.services_boxes li {
	display:inline-block;
	vertical-align:top;
	width:31.1%;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:0.1em;
	color:#000;
	font-weight:bold;
	box-sizing:border-box;
	border:1px solid #e3e3e3;
	border-bottom:2px solid #e3e3e3;
}

ul.services_boxes li:hover {
	opacity:0.8;
}

ul.services_boxes li:nth-child(2n) {
	margin:0 3%;
}

ul.services_boxes li .item_text {
	width:100%;
	box-sizing:border-box;
	float:left;
	padding:25px 30px;
	background:#fff;
}

ul.services_boxes li a .item_text {
	color:#000;
}

ul.services_boxes li a:hover .item_text {
	text-decoration:none;
}

ul.services_boxes li img {
	width: 100%;
}

/************************************************ Main Content ************************************************/

.page_top {
	width:100%;
	float:left;
	box-sizing:border-box;
	padding:80px 5% 0;
	position:relative;
	height:500px;
	background:url(../images/servicesbg.jpg) no-repeat top center #f7f7f7;
	background-size:cover!important;
	text-align:center;
}

.page_top.small {
	height: 300px;
}

.page_top.no_bg {
	background: #f7f7f7;
}

.page_top_text {
	text-align:center;	
	max-width: 65%;
	margin: 0 auto;
}

.page_top_text h1 {
	font-size:48px;
	color:#000;
	letter-spacing:0.1em;
	text-transform:uppercase;
	font-weight:bold;
	margin:0 0 20px;
}

.page_top_text p.small {
	font-size:13px;
	padding:0;
	text-transform:uppercase;
	letter-spacing:0.1em;
	font-weight:bold;
}

.page_top_text p.small i {
	font-size:18px;
	margin:25px 0 0;
}

.filters {
	width:100%;
	float:left;
	padding:0 5%;
	background:#1f1f1f;
	box-sizing:border-box;
	text-align:center;	
}

.filters ul li {
	display:inline-block;
	vertical-align:top;
}

.filters ul li a {
	color:#fff;
	font-size:13px;
	letter-spacing:0.1em;
	font-weight:bold;
	text-transform:uppercase;
	margin:0 40px 0 0;
	float:left;
	padding:27px 0 21px;
	-moz-transition: none;  /* FF3.7+ */
	-o-transition: none;  /* Opera 10.5 */
	-webkit-transition: none;  /* Saf3.2+, Chrome */
	transition:none;
}

.filters ul li:last-child a {
	margin:0;
}

.filters ul li a:hover,
.filters ul li a.active {
	border-top:3px solid #ffe545;
	text-decoration:none;
	padding:24px 0 21px;
}

.product_top {
	width:100%;
	float:left;
	padding:50px 5% 0;
	margin:0 0 -200px;
	box-sizing:border-box;
	text-align:center;
	background:url(../images/servicesbg.jpg) no-repeat bottom center #f6f6f6;
	background-size:cover!important;
}

.topline {
	border-top:1px solid #e3e3e3;	
}

.product_name {
	width:40%;
	float:left;
	padding:60px 0;	
}

.product_name h1 {
	color:#000;
	text-transform:uppercase;
	letter-spacing:0.1em;
	font-weight:bold;
}

.product_name h4 {
	color:#666666;
	font-size:13px;
	text-transform:uppercase;
	letter-spacing:0.1em;
	margin:0 0 20px;
	font-weight:bold;
}

.product_description {
	width:55%;
	float:right;
	padding:60px 0 40px;
}


/********************************About********************************/

#about_bg {
	background: url(../images/aboutpic.jpg) no-repeat right bottom;
    background-size: auto;
}
.about_left {
	width:50%;
	float:left;
	margin:100px 0;
}

.about_left h1 {
	font-size:42px;
	line-height: 40px;
	color:#000;
	text-transform:uppercase;
	letter-spacing:0.1em;
	margin:0 0 20px;
	font-weight:bold;
}

.about_left h2 {
	font-family: "neuzeit-grotesk",sans-serif;
	font-size:24px;
	margin:0 0 30px;
}

.about_right {
	width:40%;
	float:right;
	margin:100px 0 0;	
}

.about_right.long {
    width: 56%;
	margin:0;	
}

.about_right h2 {
	font-family: "neuzeit-grotesk",sans-serif;
    font-size: 24px;
    margin: 0 0 20px;
}
.about_right h3 {
	font-size:30px;
	font-weight:bold;
	text-transform:uppercase;
	color:#000;
	margin:0 0 25px;
}

.left_slider {
	width:38%;
	float:left;	
}

.left_slider p {
	width:70%;
	float:left;
	font-size:13px;
	font-weight:bold;
	letter-spacing:0.1em;
	padding:30px 0 0;
	color:#000;
	text-transform:uppercase;	
}

#productslider .item img{
	display: block;
	width: 100%;
	height: auto;
}

.owl-theme .owl-controls {
	width:auto;
	float:right;	
}

.yellow_surround {
	width:100%;
	float:left;
	position:relative;
}

.yellow_circle {
	border-radius:50%;
	width:146px;
	height:146px;
	background:#ffe545;
	float:left;
	position:relative;
	z-index:1;
}

.now_text {
	float:left;
	font-weight:bold;
	text-transform:uppercase;
	letter-spacing:0.1em;
	position:absolute;
	margin:44px 0 0 -5px;
	color:#000;
	z-index:2;
	font-size:13px;
}

.yell_text {
	font-size:30px;
	font-family:Georgia, Constantia, "Lucida Bright", "DejaVu Serif", serif	;
	margin:34px 0 0 -65px;
	float:left;
	position:relative;
	z-index:2;
}

.yell_text strong {
	color:#000;
	font-weight:normal;
}

ul.awards {
	width:100%;
	float:left;
	text-align:left;	
	font-size: 0;
}

ul.awards li {
	position:relative;
	z-index:1;
	margin:0 0 20px 0;
	box-sizing:border-box;
	padding:0;
	display: inline-block;
    width: 33.3333%;
}

ul.awards li .award_img {
    border-radius: 100%;
    width: 167px;
    height: 167px;
    display: table-cell;
    vertical-align: middle;
}

ul.awards li p {
    display: table-cell;
    vertical-align: middle;
    padding-left: 25px;
}
ul.awards li img {
	width:100%;
}


/********************************Contact********************************/

#contact_form {
	width:50%;
	float:left;
}

#contact_map {
	width: 50%;
	float: right;
	margin-top: 90px;
}

#form_area {
	width:100%;
	float:left;
	margin:30px 0 0;
}

.contact_inner h1 {
	font-weight:bold;
	text-transform:uppercase;
	color:#000;
	font-size:42px;
	margin:0 0 25px;
	letter-spacing:0.1em;
}

.contact_inner h2 {
	font-family: "neuzeit-grotesk",sans-serif;
	font-size:24px;
	color:#666666;
	margin:0 0 15px;
	font-weight:normal;
}

.contact_inner {
	width:100%;
	float:right;	
	margin:90px 0 0;
}

.form_item {
	width:100%;
	float:left;
	margin:0 0 30px;	
}

.form_item label,
.form_item_message label{
   display:block;
   font-size:14px;
   font-weight:bold;
   margin:0 0 10px;
   color:#000;
}

.form_item input {
    border:none;
	box-sizing: border-box;
    color: #666666;
    float: left;
    font-size: 14px;
    height: 45px;
    padding: 12px 0 10px 20px;
    width: 100%;
	border-bottom:2px solid #e3e3e3;
	border-radius:3px;
}

.form_item input:focus,
.form_item textarea:focus {
   box-shadow: 0 0 5px rgba(255, 299, 69, 0.8);
}

.form_item textarea {
	font-size: 14px;
	border:none;
	border-bottom:2px solid #e3e3e3;
	border-radius:3px;
	height:120px;
	width:100%;
	padding: 12px 0 10px 20px;
	box-sizing: border-box;
}

.form_item.warning label {
	color:#ec4141;	
}
.form_item.warning input, .form_item.warning textarea {
	box-shadow: 0 0 5px rgba(255, 190, 194, 0.8);
    background: #fff8f8;
}

.submit {
	color:#fff;
	width:100%;
	float:left;
	border:none;
	background:#000;
	text-transform:uppercase;
	font-weight:bold;
	padding:15px 0;
	font-size:13px;
	letter-spacing:0.1em;
	text-decoration:none;
	cursor:pointer;
	border-radius:3px;
}

.submit:hover {
	background:#ffe545;
	color:#000;	
}

#contact_details {
	width:40%;
	float:left;
	margin:90px 0 0;
}

/*
#contact_map {
	width:100%;
	float:left;
}
*/

#contact_map h3 a {
	font-size:16px;
	text-transform:uppercase;
	margin-left:20px;
}

#mapholder {
	width:100%;
	float:left;
	height:350px;
}

#mapholder img, #mapholder object, #mapholder embed, #mapholder video {
	max-width:none;
	width:auto;
}

#mapholder img {
	height:auto;	
}

#mapholder p {
	color:#000;	
	font-size:14px;
	padding:0;
}

#mapholder p strong {
	font-weight:bold;
}

.contact_add {
	width:100%;
	float:left;
	padding:30px 30px 10px 0;
	box-sizing:border-box;
	/* background:#fff; */
	border-bottom:1px solid #f7f7f7;	
}

.contact_add h4 {
	font-size:16px;
	text-transform:uppercase;
	color:#000;
	letter-spacing:0.1em;
	font-weight:bold;	
}

.contact_add .leftcol {
	width:30%;
	float:left;
	padding-right:5%;	
}

.contact_add .rightcol {
	width:65%;
	float:left;	
}

.contact_add p {
	font-size:14px;
	padding:0 0 20px;	
}

.contact_add a {
	font-size:14px;
	color:#000;
	font-weight:bold;	
}

/************************************************ Slideout Menu ************************************************/

.navbutton {
	font-size:20px;
	margin:0 5% 0 0;
	position: absolute;
	right:0;
    z-index: 1;
	display:none;
}

#nav-icon4 {
  width: 40px;
  height: 20px;
  position: relative;
  margin: 0 auto;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

#nav-icon4 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000;
  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;
}

/* Icon 4 */

#nav-icon4 span:nth-child(1) {
  top: 0px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#nav-icon4 span:nth-child(2) {
  top: 10px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#nav-icon4 span:nth-child(3) {
  top: 20px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

#nav-icon4.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0px;
  left: 8px;
}

#nav-icon4.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

#nav-icon4.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 28px;
  left: 8px;
}

.slideout-menu,
.menu {
	display:none;
	text-align:center;	
}

.slideout-menu,
.menu, .slideout-menu {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	width: 270px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	display: none;
	box-sizing:border-box;
	padding:0;
	background: #000;
}

.slideout-panel {
	position:relative;
	z-index: 2;
    background: #fff;
    /* FOR STICKY FOOTER */
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
	overflow: hidden;
}

.slideout-open .slideout-menu {
	display: block;
}

.slideout-menu { left: auto; }
.btn-hamburger { left: auto; right: 12px;}
.box { height: 1500px; }


.menu h2 {
	color:#fff;
	font-size:22px;	
	margin:0 0 15px;
}

.menu img:hover {
	opacity:0.7;
}

.menu p {
	font-size:22px;
	font-family:Georgia, Constantia, "Lucida Bright", "DejaVu Serif", serif;
	font-style:italic;
	margin:20px 0 10px;
}

.menu p.smallerback {
	display:none;	
}

#menu {
	background:#000;	
    padding: 0 25px 25px 25px;
}

#menu ul.sider {
    margin: 40px auto 20px;
    text-align: left;
	box-sizing:border-box;
    width: 100%;
	padding:0 0 20px;
}

#menu ul.sider li {
	width:100%;
	float:left;
}

#menu ul.sider li.moblink {
	display:none;
}

#menu ul.sider li a {
	color:#fff;
	text-transform:uppercase;
	letter-spacing:0.1em;
	font-size:14px;
	margin:0;
	padding: 20px 0;
	font-weight:bold;
	box-sizing:border-box;
	width:100%;
	display:block;
	border-bottom:1px solid #434343;
}

#menu ul.sider li a:hover,
#menu ul.sider li a.active,
#menu ul.sider li.ancestor a {
	color:#ffe545;
	text-decoration:none;
}

.sideaddress {
	width:100%;
	float:left;
	box-sizing:border-box;
	text-align:left;
}

.sideaddress h5 {
	text-transform:uppercase;
	font-size:16px;
	margin:0 0 15px;
	color:#fff;
	font-weight:bold;
}

.sideaddress a {
	color:#ffe545;
	text-decoration:none;
}


/************************************************ Footer ************************************************/

footer {
	width:100%;
	background:url(../images/footerbg.jpg) repeat-x;
	background-size: contain;
	float:left;
	padding:90px 5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

footer .row_inner.bottom {
	margin-top: 30px;
	padding-top: 30px;
}

.footer_left {
	width:150px;
	float:left;
}

.footer_right {
	width:75%;
	float:left;
	margin-left:5%;
	font-size:14px;	
}

footer ul {
	width:100%;
	margin:0 0 28px;
}

footer ul li {
	font-size:13px;
	letter-spacing:0.1em;
	margin-right:35px;
	display:inline-block;
	vertical-align:top;
	font-weight:bold;
	text-transform:uppercase;	
}

footer ul li:last-child {
	margin-right:0;	
}

footer ul li a {
	color:#fff;
}

footer ul li a:hover {
	text-decoration:none;
	color:#ffe545;
}

footer a {
	color:#fff;	
}

footer a:hover {
	color:#ffe545;
	text-decoration:none;
}

footer p {
	font-size: 14px;
	float: left;
	margin-right: 25px;
    padding: 0 0 10px 0;
}

footer .social {
	margin-top: 5px;
	float: left;
}
footer .social a {
	margin-right: 15px;
}

/* BLOG */

.blog_post {
	max-width: 980px;
    margin: 0 auto;
    padding: 5% 0;
    border-bottom: 1px solid #ebebeb;
}
.blog_post:first-child {
	padding-top: 0;
}
.blog_post:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
.blog_post .title {
	text-align: center;
}
.blog_post .title h1 {
    font-size: 48px;
    color: #000;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0 0 25px 0;
}
.blog_post h2, .blog_post p {
	font-family: "neuzeit-grotesk",sans-serif;
}
.blog_post h2 {
	font-size: 30px;
	margin: 0 0 25px 0;
}
.blog_post h3, .blog_post h4 {
	font-weight: bold;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 25px 0;
}
.blog_post h3 {
	font-size: 24px;
}
.blog_post h4 {
	font-size: 20px;
}
.blog_post h4, .blog_post h5, .blog_post ul, .blog_post ol {
	margin-bottom: 15px;
}
.blog_post ul, .blog_post ol {
    margin-left: 18px;
    font-family: "neuzeit-grotesk",sans-serif;
    font-size: 18px;
}
.blog_post ul {
	list-style: initial;
}
.blog_post ol {
    list-style-type: decimal;
}
.blog_post ul li, .blog_post ol li {
	margin-bottom: 15px;
}
.blog_post img {
	display: block;
	margin: 0 0 40px 0;
}
.blog_post blockquote {
    border-left: 5px solid #ffe545;
    padding: 15px 0 0 30px;
    display: inline-block;
    margin: 0 0 30px 30px;
}
.blog_post blockquote p {
	color: #000;
	font-family: Georgia, serif;
	padding-bottom: 15px;
}

/************************************************ Smaller screens ************************************************/

@media only screen and (max-width: 1024px) {

	body {
		border:none;	
	}
	
	nav {
		display:none;	
	}
	
	.navbutton {
		display:block;	
		margin-top:30px;
	}
	
	header {
	    padding: 0 0 92px;
		background:#fff;
		border-top:5px solid #000;
	}
	
	.header_inner {
		border:none;	
	}
	
	.row {
		padding: 5%;
	}
	.row_inner {
		max-width: 1140px;
		min-width: 0;
		width:100%;
		margin:0 auto;
	}
	
	.circletop::before {
	    margin: -7% auto 0;
	}
	
	.slide_text p.large {
    	font-size: 48px;
    	line-height: 48px;
    }
	
	ul.services_boxes li {
		width:31%;	
	}
	
	.title_line h3::after {
		width:60%;	
	}
	
	ul.three_areas li:last-child {
	    margin-right: 0;
	    padding-left: 3%;
	}
	
	.page_top, .page_top.small {
	    padding: 15% 5% 10% 5%;
	    height: auto;
	}
	
	.page_top_text br {
	    display:none;
	}
	
	.product_top {
		margin:0 0 -50px;	
	}
	
	ul.three_areas.products li {
	    width: 28%;
	}
	
	ul.three_areas.products li:last-child {
	    margin-right: 0;
	    padding-left: 0;
	}
	
	#contact_form {
	    width: 45%;
	}
	
	#contact_details {
	    width: 50%;
	}
	
	footer {
		padding:90px 3%	
	}
	
	.footer_left {
	    width: 130px;
	}
	
	.footer_right {
	    float: left;
	    font-size: 14px;
	    margin-left: 5%;
	    width: 73%;
	}
	
	.hp_slider {
		height: auto;
	}
	
	#hp_about {
		background: none;
	    padding-bottom: 50px;
	}
	.hp_about_text {
		width: 100%;
	}
	
	.slide_text p.small span:after, .slide_text p.small span:before {
		display: none;
	}
	
	#about_bg {
		background: none;
	}
	.about_left {
		width: 100%;
	    margin: 5% 0;
	}
	
	.left_slider {
		display: none;
	}
	
	.about_right.long {
		width: 100%;
	}
	
	ul.awards li {
		width: 50%;
	}
		
}



/************************************************ Mobile ************************************************/

@media only screen and (max-width: 768px) {

	.row {
	    padding: 50px 5%;
	}
	.row.nopadd {
	    padding: 0 5%;
	}
	.circletop::before {
	    margin: -65px auto 0;
	}
	
	header {
		padding:0;
		border:none;	
	}
	
	.header_inner {
		padding:0;	
	}
	
	.navbutton {
	    margin: 30px 5% 0 0;
	}
	
	#logo {
		width: auto;
	    max-width: 120px;
	    height: auto;
	    float: left;
	    position: relative;
	    padding: 0 20px;
	    margin-left: 5%;  
	}
	
	#logo img {
	    padding: 15px 0 10px 0;
	    width: 100%;
	}
	
	.hp_slider {
	    padding: 10% 5% 20% 5%;
	    width: 100%;
	}
	
	.slide_text br {
	   display:none;
	}
	
	.slide_text p.large {
	    font-size: 36px;
	    line-height: 36px;
	}
	.slide_text p.small { 
		font-size: 24px;
		line-height: 24px;	
	}
	
	.slide_text p.small span::before,
	.slide_text p.small span::after {
		display:none;	
	}
	
	ul.three_areas li {
	    border: medium none;
	    display: block;
	    padding: 0 0 60px;
	    width: 100%;
	}
	
	.hp_about_text {
	    float: left;
	    width: 100%;
	}
	
	.title_line h3::after {
		background:none;	
	}
	
	ul.services_boxes li {
	    margin: 0 0 30px;
	    width: 46%;
	}
	
	ul.services_boxes li:last-child {
	    margin: 0;
	}
	
	.left_slider {
	    float: left;
	    width: 100%;
	}
	
	.filters ul {
		padding:10px 0;
	}
	
	.filters ul li a,
	.filters ul li:last-child a {
	    margin: 0;
		padding: 15px;
		display: block;
	}

	.filters ul li a:hover, .filters ul li a.active {
		padding: 15px;
		border-top: none;
		color: #ffe545;
	}
	
	ul.three_areas.products li,  
	ul.three_areas.products li:nth-child(3n) {
	    margin: 0 3% 50px 0;
		 width: 42%;
	    padding: 0 3% 0 0;
		border:none;
	}
	
	ul.three_areas li h4 {
	    font-size: 15px;
	}
	
	.product_top {
		margin:0 0 -20px;	
	}
	
	.product_name {
	    float: left;
	    padding: 60px 0 20px;
	    width: 100%;
	}
	
	.product_description {
	    float: right;
	    padding: 0 0 40px;
	    width: 100%;
	}
	
	#contact_form {
	    margin: 0;
	    width: 100%;
	}
	
	#contact_details {
	    margin: 50px 0 0;
	    width: 100%;
	}
	
	#mapholder {
	    height: 250px;
	}
	
	.contact_add {
	    padding: 10px 0;
	}
	
	.contact_add h4 {
	    font-size: 14px;
	}
	
	#contact_map {
		width: 100%;
		margin-top: 0;
	}
	
	footer {
	    padding: 20px 5%;
		height:auto;
	}
	
	footer ul li {
	    font-size: 13px;
	    margin: 15px 0 0;
	    width: 49%;
	}
	
	.footer_right {
	    float: left;
	    font-size: 11px;
	    margin-left: 0;
	    width: 100%;
	}
	
	.footer_left {
	    margin: 15px 0 10px;
	    width: 130px;
	}

}

@media screen and (max-width: 667px) {
	
	.row {
	    padding: 5% 10%;
	}
	.row.no_padd_btm {
		padding: 5% 10% 0 10%;
	}
	.row.no_padd_top {
		padding: 0 10% 5% 10%;
	}
	
	#logo {
		margin-left: 10%;
	}
	.navbutton {
		margin-right: 10%;
	}
	
	ul.services_boxes li, ul.services_boxes li:nth-child(2n) {
		width: 100%;
		margin: 0 0 30px 0;
	}
	
	.page_top_text {
	    max-width: 80%;
	}
	.page_top_text h1 {
	    font-size: 36px;
		line-height: 40px;
	}
	.about_left h1, #contact_form h1 {
		font-size: 30px;
		line-height: 32px;
	}
	.about_left h2, .about_right h2, #contact_form h2 {
	    font-size: 20px;
		line-height: 26px;
	}
	p {
    	font-size: 15px;
    }
    
    .yell_text {
	    margin: 0;
    }
    .yellow_circle {
	    display: none;
    }
    .now_text {
	    float: none;
	    position: static;
	    margin: 25px 0 10px 0;
    }
    
    ul.awards li {
	    width: 100%;
    }
    
    footer {
	    padding: 20px 10%;
    }
	
}

@media screen and (max-width: 568px) {
	
	ul.three_areas.products li, ul.three_areas.products li:nth-child(3n) {
		width: 100%;
	    margin: 0 0 25px 0;
	}
	
}

/* ========================================== */
/* ! Provide higher res assets for iPhone 4   */
/* ========================================== */

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 


}