/*
    Basic 2 Template
    101 Design Pty Ltd
    http://www.101design.com.au
*/

/* ----- Dev Outlines ----- */
/*
div { outline: 1px dashed rgba(255, 0, 128, .4); }
h1, h2, h3, h4, h5, h6 { outline: 1px dotted rgba(255, 204, 51, .2); }
p { outline: 1px dotted rgba(51, 0, 153, .2); }
ol, ul { outline: 1px dotted rgba(0, 153, 102, .2); }
ol > li, ul > li { outline: 1px dotted rgba(51, 255, 204, .2); }
li li { outline: 1px dotted rgba(204, 255, 255, .2); }
a { outline: 1px dashed rgba(51, 102, 51, .4); }
span { outline: 1px dotted rgba(102, 51, 0, .4); }
table { outline: 1px dotted rgba(102, 102, 102, .2); }
th, tr, td { outline: 1px dotted rgba(204, 204, 204, .2); }
header, nav, section, footer { outline: 1px dashed rgba(255, 100, 0, .4); }
/**/

/* ----- Standard Elements ----- */

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    background-color: #fff;
    font: normal 16px/1.5 'sofiapro', Arial, Helvetica, sans-serif; color: #555;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border: 30px solid #fff;
}

p {
    margin: 0 0 1em 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 0.5em 0 0.5em 0;
    font-family: 'sofiapro', Arial, Helvetica, sans-serif;
    font-weight: 500;
    line-height: 1.5;
}

h1 {
    font-size: 2em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.2em;
}

h4, h5, h6 {
    font-size: 1em;
}

.inline-block {
    display: inline-block; *display: inline; *zoom: 1;
}

.pmargin {
    margin-bottom: 1em;
}

.left {
    text-align: left;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.strong {
    font-weight: bold;
}

.em {
    font-style: italic;
}

a:link, a:visited {
    text-decoration: none;
    color: #555;
}

a:hover, a:active {
    text-decoration: underline;
    color: #555;
}

a > img {
    border: none;
}

ul, ol {
    margin: 0 0 1em 0; padding: 0 0 0 1em;
}

ul {
    list-style: disc outside none;
}

ol {
    list-style: decimal outside none;
}

ol ol {
    list-style: lower-roman outside none;
}

li {
   margin-left: 1em;
}

ul li ul {
    margin-bottom: 0;
}

ul.left_col,
ul.right_col {
    display: block; float: left;
    width: 50%;
    margin-left: 0;
}

ol.nested-dec,
ol.nested-dec ol {
	list-style-type: none;
	counter-reset: item;
	margin: 0;
	padding: 0;
}

ol.nested-dec > li,
ol.nested-dec ol > li {
	display: table;
	counter-increment: item;
	margin-bottom: 0.6em;
}

ol.nested-dec > li:before,
ol.nested-dec ol > li:before {
	content: counters(item, ".") ". ";
	display: table-cell;
	padding-right: 0.6em;
}

ol.nested-dec li ol > li {
	margin: 0;
}

ol.nested-dec li ol > li:before {
	content: counters(item, ".") " ";
}

img.left {
    display: block; float: left;
}

img.right {
    display: block; float: right;
}

img.center {
    display: block;
    margin: 0 auto;
}

.success {
    color: #252;
}

.error {
    color: #522;
}

video {
    max-width: 100%;
    height: auto;
}

iframe,
embed,
object {
    max-width: 100%;
}

.load-hide {
    display: none;
}

.as-table {
    display: table; /* table-layout: fixed; IE9? */
}

.as-table > * {
    display: table-cell;
    vertical-align: top;
}

a.btn {
	display: block;
	max-width: 200px;
	margin: 0 auto;
	background: #000;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	padding: 15px 0;
	letter-spacing: 2px;
	line-height: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

a.btn i {
	margin: 0 0 0 5px;
	font-size: 14px;
}

a.btn:hover {
	opacity: 0.75;
	text-decoration: none;
}

/* ----- Sections ----- */

.page-width {
    width: 1200px;
}

#page_wrapper {
    z-index: 0;
    margin: 0 auto;
}

#masthead {
    position: absolute;
    top: 0;
    left: 0; right: 0;
    background: transparent;
    width: 100%;
    z-index: 99;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

#masthead > .inner {
    position: relative;
    margin: 0 auto;
	width: 100%;
}

#masthead .business-name {
    margin: 40px 0 10px 40px;
    float: left;
    width: 250px;
    font-size: 0;
    position: relative;
    z-index: 1;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

#masthead .business-name a {
	display: block;
    text-decoration: none;
}

#masthead .business-name a img {
	width: 100%;
	height: auto;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

#masthead .business-name a img.logo-blk {
	display: none;
}

nav.primary {
	float: right;
	margin: 60px 40px 0 0;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

nav.primary ul.slimmenu {
    display: table;
    width: 600px;
    margin: 0 auto;
}

nav.primary ul.slimmenu li {
    margin-left: 0;
    border: none;
}

nav.primary ul.slimmenu li a {
    font-family: 'sofiapro', Arial, Helvetica, sans-serif;
    font-weight: 600;
    text-transform: uppercase;
	font-size: 16px;
	line-height: 1;
	padding: 10px 15px;
    color: #fff;
	text-align: center;
	text-shadow: none;
	border: 1px solid transparent;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

nav.primary ul.slimmenu li.has_children > a {
	padding-right: 25px;
}

nav.primary ul.slimmenu li:hover > a,
nav.primary ul.slimmenu li > a:hover,
nav.primary ul.slimmenu li.current > a,
nav.primary ul.slimmenu li:hover .sub-collapser > i,
nav.primary ul.slimmenu li.current .sub-collapser > i {
	color: #fff;
	background: transparent;
}

nav.primary ul.slimmenu > li:hover > a,
nav.primary ul.slimmenu > li > a:hover,
nav.primary ul.slimmenu > li.current > a {
	border: 1px solid #fff;
}

nav.primary ul.slimmenu li ul {
    width: 275px;
    padding-left: 0;
}

nav.primary ul.slimmenu > li {
    display: table-cell;
    background: transparent;
}

nav.primary ul.slimmenu li li {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

nav.primary ul.slimmenu li ul li a {
    width: 100%;
    color: #fff;
    text-align: left;
    padding: 15px 15px;
}

nav.primary ul.slimmenu li ul li:hover > a,
nav.primary ul.slimmenu li ul li > a:hover,
nav.primary ul.slimmenu li ul li.current > a {
	color: #fff;
	background: rgba(0, 0, 0, 0.5);
}

ul.slimmenu li .sub-collapser {
	width: 30px;
	background: url(../img/interface/nav-down.png) no-repeat center;
	background-size: 12px auto;
}

ul.slimmenu li .sub-collapser > i {
    display: none;
}

ul.head-social {
	float: right;
	overflow: hidden;
	margin: 67px 55px 0 0;
	padding: 0;
	position: relative;
	z-index: 1;
	-webkit-transition: all 0.2;
	transition: all 0.2s;
}

ul.head-social li {
	display: inline-block;
	margin: 0 0 0 15px;
	padding: 0;
}

ul.head-social li:first-of-type {
	margin: 0;
}

ul.head-social li a {
	display: block;
	font-size: 22px;
	line-height: 22px;
	color: #fff;
	-webkit-transition: all 0.2;
	transition: all 0.2s;
}

ul.head-social li a:hover {
	color: #fc0c32;
	text-decoration: none;
}

.scrolled #masthead {
	position: fixed;
	top: 0;
	background: rgba(0, 0, 0, 0.4);
}

.scrolled #masthead .business-name {
	width: 140px;
	margin-top: 15px;
	margin-bottom: 15px;
}

.scrolled nav.primary {
    margin-top: 35px;
}

.scrolled ul.head-social {
    margin-top: 42px;
}

#banner {
	width:100%;
	height:100%;
	position:relative;
}

#banner > div {
    margin: 0 auto;
    height:100%;
    position:relative;
}

#banner .cycle-slide{
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}

#banner .cycle-slide.slide-1{
	background-image:url(../img/banner/banner-1.jpg);
}

#banner .cycle-slide.slide-2{
	background-image:url(../img/banner/banner-5.jpg);
}


#banner .cycle-slide.slide-3{
	background-image:url(../img/banner/banner-3.jpg);
}

#banner .cycle-slide.slide-4{
	background-image:url(../img/banner/banner-4.jpg);
}

#banner .cycle-slide.slide-5{
	background-image:url(../img/banner/banner-2.jpg);
}

#banner .cycle-slide .inner {
	max-width: 380px;
	height: 220px;
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	margin: auto;
	text-align: center;
	color: #fff;
}

#banner .cycle-slide h1{
	margin: 0 0 15px;
    font-family: 'sofiapro', Arial, Helvetica, sans-serif;
    font-weight: 300;
    letter-spacing: 2px;
	font-size: 60px;
	line-height: 1.2;
	text-transform: uppercase;
}

#banner .cycle-slide p {
	font-size: 18px;
	margin: 0;
}

#banner #prev,
#banner #next {
	position: absolute;
	z-index: 999;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	line-height: 60px;
	font-size: 20px;
	text-align: center;
	color: #555;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	background: #fff;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

#banner #prev {
	left: 0;
}

#banner #next {
	right: 0;
}

#banner #prev:hover,
#banner #next:hover {
	background: #000;
	color: #fff;
}

.cycle-pager {
    text-align: center;
    width: 100%;
    z-index: 500;
    position: absolute;
    bottom: 40px;
    overflow: hidden;
}

.cycle-pager span {
	margin: 0 5px;
    display: inline-block;
    color: #fff;
    cursor: pointer;
    font-size: 30px;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.cycle-pager span.cycle-pager-active {
	color: #555;
}

.cycle-pager > * {
	cursor: pointer;
}

#banner-sub {
	background-color: #000;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#banner-sub > .inner {
	position: relative;
	margin: 0 auto;
	height: 300px;
}

#banner-sub > .inner h1 {
	position: absolute;
	top: 160px;
	left: 0; right: 0;
	margin: auto;
	text-align: center;
	color: #fff;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 50px;
	font-weight: 300;
}

.page-profile #banner-sub {background-image: url(../img/banner/banner-sub-profile.jpg);}
.page-portfolio #banner-sub {background-image: url(../img/banner/banner-sub-portfolio.jpg);}
.page-portfolio-bespoke-kitchens #banner-sub {background-image: url(../img/banner/banner-sub-kitchens.jpg);}
.page-portfolio-shopfitting-and-joinery #banner-sub {background-image: url(../img/banner/banner-sub-shopfitting.jpg);}
.page-portfolio-commercial-projects #banner-sub {background-image: url(../img/banner/banner-sub-commercial.jpg);}
.page-awards #banner-sub {background-image: url(../img/banner/banner-sub-awards.jpg);}
.page-contact-us #banner-sub {background-image: url(../img/banner/banner-sub-contact.jpg);}
#banner-sub {background-image: url(../img/banner/banner-sub-default.jpg);}

#content_wrapper > .inner {
    display: table;
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0 auto;
    width: 100%;
}

main {
    display: table-cell; vertical-align: top; position: relative;
    width: 100%; min-height: 40em;
    padding: 0;
}

main img {
    max-width: 100%; height: auto !important;
}

.section > .inner {
	margin: 0 auto;
	padding: 80px 0;
}

.section > .inner {
	margin: 0 auto;
	padding: 80px 0;
}

.section > .inner > h1,
.home .section > .inner h1 {
	text-align: center;
	text-transform: uppercase;
	margin: 0 auto 60px;
	font-size: 36px;
	letter-spacing: 2px;
	line-height: 1;
	font-weight: 300;
}

.section > .inner > h1 + p {
	max-width: 900px;
	text-align: center;
	margin: 0 auto 60px;
}

.home-container {
	display: table;
	margin: auto;
	height: 100vh;
}

.home-container > div {
	display: table-cell;
    vertical-align: middle;
}

#content > *:last-child {
    margin-bottom: 0;
}

aside.sidebar {
    display: table-cell; vertical-align: top;
    width: 270px;
    padding: 10px;
    background: #fafafa;
}

aside.sidebar h1,
aside.main-sidebar h1 {
    font-size: 1.2em;
}

footer#colophon {
    position: relative;
    background: #000;
    color: #fff;
	font-weight: 600;
}

footer#colophon > .inner {
    margin: 0 auto;
    padding: 100px 0 80px;
}

footer#colophon > .inner .foot-upper {
	position: relative;
	overflow: hidden;
}

footer#colophon > .inner .foot-upper p {
	margin: 0;
}

footer#colophon > .inner .foot-upper a {
	color: #fff;
}

footer#colophon > .inner .foot-upper .foot-col {
	float: left;
	margin: 0;
}

footer#colophon > .inner .foot-upper .foot-col h3 {
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 0.8em;
	margin: 0 0 10px;
}

footer#colophon > .inner .foot-upper .foot-col ul {
	margin: 0;
	padding: 0;
}

footer#colophon > .inner .foot-upper .foot-col ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}

footer#colophon > .inner .foot-upper .foot-col:first-of-type {
	width: 25%;
	margin-right: 7%;
}

footer#colophon > .inner .foot-upper .foot-col:nth-of-type(2) {
	width: 24%;
	margin-right: 7%;
}

footer#colophon > .inner .foot-upper .foot-col:nth-of-type(3) {
	width: 18%;
	margin-right: 5%;
}

footer#colophon > .inner .foot-upper .foot-col:last-of-type {
	width: 14%;
}

footer#colophon > .inner .foot-upper .foot-col:last-of-type img {
	width: 100%;
	max-width: 170px;
	height: auto;
}

footer#colophon > .inner .foot-lower {
	clear: both;
	color: #555;
	text-transform: uppercase;
	overflow: hidden;
	margin: 40px 0 0;
}

footer#colophon > .inner .foot-lower p {
	font-size: 12px;
   	letter-spacing: 2px;
	margin: 0;
}

footer#colophon > .inner .foot-lower p:first-of-type {
	float: left;
}

footer#colophon > .inner .foot-lower p:last-of-type {
	float: right;
}

footer#colophon > .inner .foot-lower p a {
	color: #555;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

footer#colophon > .inner .foot-lower p a:hover {
	color: #fff;
	text-decoration: none;
}

footer#colophon > .inner .foot-lower p:last-of-type a:last-of-type {
	margin: 0 0 0 40px;
}

#foot_scroll_top {
    position: absolute; bottom: 10px; right: 10px;
}

#foot_scroll_top > a {
    display: block;
    margin: 0; padding: 0.3em 0.5em;
    font-size: 1.9em; line-height: 1;
    text-align: center; font-weight: bold;
    border: 1px solid #09c;
}

#foot_scroll_top > a:hover {
    border-color: #069;
}

/* ----- Template Parts ----- */

.breadcrumbs > ul {
    margin: 0;
    padding: 0;
    list-style: none outside;
}

.breadcrumbs > ul li {
    display: inline-block; *display: inline; *zoom: 1;
    margin: 0; padding: 0;
    color: #ccc;
}

.breadcrumbs > ul .before {
    margin-right: 0.4em; *margin-left: 0.4em;
}

.breadcrumbs > ul .current {
    color: #666;
}

.breadcrumbs > ul li:first-of-type,
.breadcrumbs > ul li:last-of-type {
	display: none;
}

/* Tweet Vertical */

.twitterfeed ul.tweet_list li {
    font-size: 0.75em;
}

.twitterfeed ul.tweet_list li .tweet_text {
    display: block;
    margin-bottom: 0.25em;
}

.twitterfeed ul.tweet_list li > a {
    display: block;
    margin-bottom: 0.75em;
    font-size: 0.75em;
}

/* Google Maps */

.google-maps {
    position: relative; overflow: hidden;
    height: 0;
    padding-bottom: 75%;
}

.google-maps iframe {
    position: absolute; top: 0; left: 0;
    width: 100% !important; height: 100% !important;
}

/* ----- Common Content Area Styles  ----- */

.img_caption {
    font-style: italic;
    text-align: center;
}

.boxout {
    display: inline-block; *display: inline; *zoom: 1;
}

.boxout.right {
    float: right;
    margin: 0 0 0.5em 1em
}

.boxout.left {
    float: left;
    margin: 0 1em 0.5em
}

.colrow {
    margin: 0 -10px 1em -10px;
}

.colrow::before,
.colrow::after {
    content: " ";
    display: table;
}

.colrow::after {
    clear: both;
}

.col {
    float: left;
    padding: 0 10px;
    list-style: none outside;
}

.col.left {
    float: left;
}

.col.right {
    float: right;
}

.col.third {
    width: 33.33%;
}

.col.twothird {
    width: 66.66%;
}

.col.half {
    width: 50%;
}

.col.first {
    padding-left: 0;
}

.col.last {
    padding-right: 0;
}

.coltable {
    display: table;
    margin: 0 0 1em 0;
}

.coltable > .col {
    display: table-cell; float: none;
    margin: 0;
    text-align: left; vertical-align: top;
}

/* Newsletter Popup (Hidden) */

.popup-overlay {
    display: none;
    position: fixed; top: 0; left: 0; z-index: 9998;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.popup-body {
    display: none;
    position: absolute; top: 50%; left: 50%; overflow: hidden; z-index: 9999;
    width: 400px; height: 400px;
    margin: -200px 0 0 -200px;
    background: #eee;
    background-size: 100% auto;
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
}

.popup-body .op-close {
    position: absolute; top: 10px; right: 10px;
}

.popup-body .op-close a {
    display: block;
    width: 20px; height: 20px;
    background: transparent url('../img/interface/close.png') 0 0 no-repeat;
    background-size: 20px 20px;
}

.popup-body .op-close a:link,
.popup-body .op-close a:hover {
    text-decoration: none;
}

/** FORM TEMPLATE **/

/* Replace form.formtools with #nameof_form */

form.formtools {
	/* Set width */
}

form.formtools input[type="text"],
form.formtools input[type="password"],
form.formtools input[type="email"],
form.formtools input[type="number"],
form.formtools input[type="tel"],
form.formtools select,
form.formtools textarea,
form.formtools .captcha_block {
    box-sizing: border-box;
	/* Set width */
}

/* Infield Label Width */
form.formtools label.infield {
	/* Set width & top,left offsets */
	width:auto;
    font-size: 18px;
}

/* Infield * position */
form.formtools label.infield sup {
	top: 10px;
	right: 2px;
	left: auto;
}

form.formtools .captcha_block input {
	/* Captcha usually about 60px wide */
}

form.formtools input[type="submit"],
form.formtools input[type="submit"]:focus {
	/* Button style */
}

form.formtools input[type="submit"]:hover,
form.formtools input[type="submit"]:active {
	/* Button hover style */
}

form.formtools .required-label {
	/* Adjust margin, font size */
}

/** FORM TEMPLATE **/

/* ----- Specific Pages ----- */

.grey-bg {
	background: #f4f4f4;
}

.btn-dwn {
	margin: 0;
}

.btn-dwn a {
	z-index: 1;
	margin: auto;
	text-align: center;
	display: block;
	background: #fff;
	border: 1px solid #c1c1c1;
	color: #c1c1c1;
	font-size: 20px;
	line-height: 50px;
	width: 50px;
	height: 50px;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.btn-dwn a:hover {
	background: #c1c1c1;
	color: #fff;
}

/* Home */
.section#home-profile > .inner {
  /*padding: 80px 0 0;*/
	padding: 0;
}

.section#home-profile > .inner h1 {
	margin-left: auto; margin-right: auto;
	max-width: 650px;
}

.section#home-profile > .inner p {
	max-width: 900px;
	text-align: center;
	margin: 0 auto 60px;
}

.section#home-profile > .inner p:last-of-type {
	margin-bottom: 0;
}

.section#home-portfolio > .inner {
	width: 100%;
  /*padding: 80px 0;*/
	position: relative;

	padding: 0;
}

.section#home-portfolio > .inner p {
	margin: 0;
}

.section#home-portfolio > .inner p a {
	position: absolute;
	top: 55px;
	left: 0; right: 0;
}

.section#home-portfolio > .inner ul {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.section#home-portfolio > .inner ul li {
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
	float: left;
	width: 33.333%;
	text-align: center;
}

.section#home-portfolio > .inner ul li:first-of-type {
	border-right: 20px solid #fff;
}

.section#home-portfolio > .inner ul li:nth-of-type(2) {
	border-left: 10px solid #fff;
	border-right: 10px solid #fff;
}

.section#home-portfolio > .inner ul li:last-of-type {
	border-left: 20px solid #fff;
}

.section#home-portfolio > .inner ul img {
	width: 100%;
	height: auto;
}

.section#home-portfolio > .inner ul li h3 {
	position: absolute;
	top: 0; bottom: 0;
	left: 0; right: 0;
	margin: auto;
	width: 250px;
	height: 150px;
	text-transform: uppercase;
	font-weight: 300;
	color: #fff;
	font-size: 36px;
	letter-spacing: 2px;
	line-height: 1.1;
}

.section#home-portfolio > .inner ul li h3 a {
	display: block;
	max-width: 150px;
	margin: 30px auto 0;
	padding: 10px 0;
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#home-portfolio > .inner ul li h3 a i {
	font-size: 12px;
	margin: 0 0 0 5px;
}

.section#home-portfolio > .inner ul li h3 a:hover {
	text-decoration: none;
	background: #fff;
	color: #000;
}

.section#home-awards > .inner {
	max-width: 900px;
  /*padding: 0 0 80px;*/
	padding: 0;
}

.section#home-awards > .inner .container {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	-webkit-column-gap: 5%;
	-moz-column-gap: 5%;
	column-gap: 5%;
}

.home-awards-img {
	display: block;
	margin: 50px auto;
	width: 100%;
	max-width: 250px;
}

.section#home-contact {
	background: url(../img/interface/home-contact-bg-lrg.jpg) no-repeat center;
	background-size: cover;
}

.section#home-contact > .inner {
  /*padding: 100px 20px 50px;*/
	padding: 0;
}

.section#home-contact h1 {
	color: #000;
}

.section#home-contact #contact_form label.infield {
    color: #666;
}

.section#home-contact #contact_form input[type="text"],
.section#home-contact #contact_form input[type="password"],
.section#home-contact #contact_form input[type="email"],
.section#home-contact #contact_form input[type="number"],
.section#home-contact #contact_form input[type="tel"],
.section#home-contact #contact_form select,
.section#home-contact #contact_form textarea {
    border: 1px solid #999;
}

.section#home-contact #contact_form textarea {
    height: 140px;
}

.section#profile-content .inner {
	padding: 0 0 80px;
}

.section#home-awards > .inner a.btn {
	margin-top: 40px;
}

.section#profile-content > .inner .container {
	position: relative;
	overflow: hidden;
	display: table;
}

.section#profile-content > .inner .container .content-left {
	display: table-cell;
	width: 47.5%;
	padding: 0 2.5% 0 0;
	vertical-align: middle;
}

.section#profile-content > .inner .container .content-right {
	display: table-cell;
	width: 47.5%;
	padding: 0 0 0 2.5%;
	vertical-align: middle;
}

.section#profile-content > .inner .container .content-left img,
.section#profile-content > .inner .container .content-right img {
	width: 100%;
	height: auto;
}

ul.profile-list {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

ul.profile-list li {
	margin: 0 5% 0 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 30%
}

ul.profile-list li:last-of-type {
	margin-right: 0;
}

ul.profile-list li h3 {
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1;
	margin: 0 0 15px;
	font-weight: 600;
}

ul.profile-list li p {
	margin: 0;
}

ul.portfolio-list {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

ul.portfolio-list li {
	margin: 0 3% 0 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 31.333%;
}

ul.portfolio-list li:last-of-type {
	margin-right: 0;
}

ul.portfolio-list li a {
	display: block;
}

ul.portfolio-list li img {
	width: 100%;
	height: auto;
	margin: 0 0 40px;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

ul.portfolio-list li img:hover {
	opacity: 0.8;
}

ul.portfolio-list li h3 {
	text-transform: uppercase;
	font-weight: 300;
	font-size: 22px;
	margin: 0 0 10px;
	line-height: 1.2;
}

ul.portfolio-list li p {
	margin: 0;
}

ul.portfolio-list li p:first-of-type {
	min-height: 80px;
	margin-bottom: 15px;
}

ul.portfolio-list li p a {
	display: inline-block;
	background: #000;
	color: #fff;
	font-size: 0.9em;
	text-transform: uppercase;
	padding: 15px 15px;
	letter-spacing: 2px;
	line-height: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

ul.portfolio-list li p a i {
	margin: 0 0 0 5px;
	font-size: 14px;
}

ul.portfolio-list li p a:hover {
	opacity: 0.75;
	text-decoration: none;
}

.section#kitchen-intro > .inner,
.section#shopfitting-intro > .inner,
.section#commercial-intro > .inner {
	position: relative;
	padding-bottom: 0;
}

.section#kitchen-intro > .inner p.btn-dwn,
.section#shopfitting-intro > .inner p.btn-dwn,
.section#commercial-intro > .inner p.btn-dwn {
	position: absolute;
	left: 0; right: 0;
	bottom: -85px;
}

ul.step-list {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

ul.step-list li {
	margin: 0 5% 0 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 30%
}

ul.step-list li:nth-of-type(3n) {
	margin-right: 0;
}

ul.step-list li:nth-of-type(3n+1) {
	clear: left;
}

ul.step-list li:nth-of-type(4),
ul.step-list li:nth-of-type(5),
ul.step-list li:nth-of-type(6) {
	margin-top: 50px;
}

ul.step-list li h3 {
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1;
	margin: 0 0 15px;
	font-weight: 600;
}

ul.step-list li p {
	margin: 0;
}

.section#portfolio-showroom > .inner p.btn-showroom {
	margin: 0;
	text-align: center;
}

.section#portfolio-showroom > .inner p.btn-showroom a {
	display: inline-block;
	background: #000;
	color: #fff;
	text-transform: uppercase;
	padding: 15px 25px;
	letter-spacing: 2px;
	line-height: 1;
	font-size: 0.9em;
	margin: 0 10px;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#portfolio-showroom > .inner p.btn-showroom a i {
	margin: 0 0 0 5px;
	font-size: 14px;
}

.section#portfolio-showroom > .inner p.btn-showroom a:hover {
	opacity: 0.75;
	text-decoration: none;
}

.section#portfolio-gallery > .inner {
	padding: 80px 0 0;
	width: 100%;
	overflow: hidden;
}

.section#portfolio-gallery > .inner > div {
	margin: 0 2% 2% 0;
	padding: 0;
	list-style: none;
	float: left;
	width: 23.5%;
	position: relative;
	background: #000;
}

.section#portfolio-gallery > .inner > div:nth-of-type(4n) {
	margin-right: 0;
}

.section#portfolio-gallery > .inner > div a {
	display: block;
}

.section#portfolio-gallery > .inner > div a span {
	display: block;
}

.section#portfolio-gallery > .inner > div a span.first-image {
	opacity: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#portfolio-gallery > .inner > div a img {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#portfolio-gallery > .inner > div a span.gallery-title {
	position: absolute;
	left: 15px; right: 15px;
	bottom: 15px;
	display: block;
	text-transform: uppercase;
	color: #fff;
	font-size: 14px;
	line-height: 1.1;
}

.section#portfolio-gallery > .inner > div a:hover span.first-image {
	opacity: 0.5;
}

ul.awards-list {
	margin: 0;
	padding: 0;
}

ul.awards-list li {
	text-align: center;
	margin: 0;
	padding: 0 30px;
	text-transform: uppercase;
	line-height: 1.2;
	font-size: 14px;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

ul.awards-list li:hover {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: 0.7;
}

ul.awards-list li img {
	width: 100%;
	display: block;
	margin: 0 auto 20px;
}

.section#awards-filter > .inner p {
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.section.awards-gallery#portfolio-gallery > .inner {
	padding: 0;
}

/* Gallery */
.gallery-page.scrolled #masthead {
    background: rgba(255, 255, 255, 0.4);
}

.gallery-page #masthead .business-name a img.logo-wht {
	display: none;
}

.gallery-page #masthead .business-name a img.logo-blk {
	display: block;
}

.gallery-page ul.head-social li a {
	color: #000;
}

.gallery-page nav.primary ul.slimmenu li a {
	color: #000;
}

.gallery-page #content_wrapper {
	margin-top: 115px;
}

.section#gallery-intro > .inner {
	padding-bottom: 50px;
	width: 100%;
}

.section#gallery-intro > .inner > div {
	overflow: hidden;
}

.section#gallery-intro > .inner > div .breadcrumbs {
	float: left;
	width: 25%;
}

.section#gallery-intro > .inner > div .breadcrumbs ul {
	margin: 0;
	padding: 0;
}

.section#gallery-intro > .inner > div .breadcrumbs ul li {
	margin: 0;
	padding: 0;
}

.section#gallery-intro > .inner > div .breadcrumbs ul li a {
	display: inline-block;
	margin: 0 auto;
	background: #000;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	padding: 15px 20px 15px 15px;
	letter-spacing: 1px;
	line-height: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#gallery-intro > .inner > div .breadcrumbs ul li a:before {
	content: '\f053';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 14px;
	margin: 0 7px 0 0;
}

.section#gallery-intro > .inner > div .breadcrumbs ul li a:hover {
	opacity: 0.75;
	text-decoration: none;
}

.section#gallery-intro > .inner > div h1 {
	float: left;
	width: 55%;
	margin: 0;
	text-align: center;
}

.section#gallery-intro > .inner > div ul.prevnext {
	float: left;
	width: 20%;
	margin: 0;
	padding: 0;
	text-align: right;
}

.section#gallery-intro > .inner > div ul.prevnext li {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
}

.section#gallery-intro > .inner > div ul.prevnext li a {
	display: inline-block;
	margin: 0 0 0 3px;
	background: #000;
	color: #fff;
	padding: 16px 20px;
	font-size: 0;
	line-height: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

.section#gallery-intro > .inner > div ul.prevnext li a.prev:before {
	content: '\f053';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 14px;
}

.section#gallery-intro > .inner > div ul.prevnext li a.next:before {
	content: '\f054';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 14px;
}

.section#gallery-intro > .inner > div ul.prevnext li a:hover {
	text-decoration: none;
	opacity: 0.75;
}

.section#gallery-intro > .inner > div.gallery-description {
	padding: 60px 0 0;
	text-align: center;
}

#gallery-images > .inner {
	padding: 0;
}

#gallery-images > .inner div {
	overflow: hidden;
}

#gallery-images > .inner div a {
	display: block;
	float: left;
	width: 23.5%;
	margin: 0 2% 2% 0;
	background: #000;
}

#gallery-images > .inner div a:nth-of-type(4n) {
	margin-right: 0;
}

#gallery-images > .inner div a img {
	width: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

#gallery-images > .inner div a:hover img {
	opacity: 0.8;
}

/* Get in Touch */
.section#get-in-touch {
	background: url(../img/interface/get-in-touch-bg.jpg) no-repeat center;
	background-size: cover;
}

.section#get-in-touch > .inner {
	padding: 100px 0;
}

.section#get-in-touch h1 {
	color: #000;
}

.section#get-in-touch p {
	margin: 0 auto;
}

/* Contact */
.section#contact-details > .inner {
	padding-bottom: 40px;
}

.section#contact-details > .inner .container {
	overflow: hidden;
}

.contact-left {
	width: 25%;
	float: left;
}

.contact-left h3 {
	font-size: 0.8em;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1;
	margin: 20px 0 5px;
	font-weight: 600;
}

.contact-left h3:first-of-type {
	margin-top: 0;
}

.contact-left p {
	margin: 0;
}

.contact-right {
	width: 70%;
	float: right;
}

form.formtools {
	margin: 0;
}

#contact_form_row_1,
#contact_form_row_3 {
	width: 49.5%;
	float: left;
	clear: none;
	margin: 0 0.5% 5px 0;
}

#contact_form_row_2,
#contact_form_row_4 {
	width: 49.5%;
	float: right;
	clear: none;
	margin: 0 0 5px 0.5%;
}

#contact_form .input-wrap-email,
#contact_form .input-wrap-number,
#contact_form .input-wrap-password,
#contact_form .input-wrap-select,
#contact_form .input-wrap-text,
#contact_form .input-wrap-textarea,
#contact_form .input-wrap-tel {
	width: 100%;
}

#contact_form .input-wrap-button,
#contact_form .input-wrap-reset,
#contact_form .input-wrap-submit {
	width: 100%;
	margin-bottom: 0;
}

#contact_form input[type="text"],
#contact_form input[type="password"],
#contact_form input[type="email"],
#contact_form input[type="number"],
#contact_form input[type="tel"],
#contact_form select,
#contact_form textarea {
	width: 100%;
	height: 50px;
	border: 1px solid #f4f4f4;
	background: #f4f4f4;
	box-shadow: none;
	padding: 2px 9px;
	-webkit-appearance: none;
	border-radius: 0;
	font-family: 'sofiapro', Arial, Helvetica, sans-serif;
	-webkit-appearance: none;
	color: #555;
	font-size: 16px;
}

#contact_form input[type="text"]:focus,
#contact_form input[type="tel"]:focus,
#contact_form input[type="password"]:focus,
#contact_form input[type="email"]:focus,
#contact_form select:focus,
#contact_form textarea:focus {
	border: #555 1px solid !important;
	background: #f4f4f4;
	box-shadow: none;
}

form.formtools .input-wrap-textarea .chars_remain {
	display: none;
}

#contact_form textarea {
	padding: 15px 9px;
	width: 100%;
	height: 200px;
	-webkit-appearance: none;
}

#contact_form label.infield {
	top: 8px;
	left: 10px;
	right: 10px;
	color: #c6c6c6;
	font-family: 'sofiapro', Arial, Helvetica, sans-serif;
	font-size: 16px;
	padding: 0;
}

#contact_form_row_6 {
	width: 280px;
	float: left;
}

#contact_form-captcha_wrap {
	width: 280px;
	float: right;
}

#contact_form .captcha_block input {
	text-align: left;
	width: 100px;
	right: 40px;
	top: 10px;
	height: 40px;
}

#contact_form .captcha_block .captcha-refresh {
	top: 20px;
	right: 10px;
}

#contact_form_row_7 {
	width: 200px;
	float: right;
	clear: none;
	padding: 0;
}

form.formtools .infield.label_captcha {
	display: none;
}

#contact_form-field-submit-label_label {
	display: none;
}

#contact_form input[type="submit"] {
	width: 100%;
	box-shadow: none;
	float: right;
	margin: 10px 0 0;
	line-height: 30px;
	font-family: 'sofiapro', Arial, Helvetica, sans-serif;
	-webkit-appearance: none;
	padding: 15px 0;
	line-height: 1;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #fff;
	border: none;
	background: #000;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

#contact_form input[type="submit"]:hover {
	text-decoration: none;
	opacity: 0.75;
}

form.formtools sup.required {
	color: #ff0028;
}

#contact_form_row_8 {
	display: none;
}

.contact-map {
	position: relative;
	clear: both;
	width: 100%;
	height: 500px;
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
}

.contact-map iframe {
	width: 100%;
	height: 500px;
}

/* ----- RESPONSIVE + RETINA ------------------------------------------------ */

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
    /* retina.js Image BG Swaps */
}

@media only screen and (max-width: 1279px) /* 1024  */ {

	.page-width {
		width: 920px;
	}

	#masthead .business-name {
		width: 200px;
	}

	nav.primary {
		margin: 60px 20px 0 0;
	}

	nav.primary ul.slimmenu {
		width: 550px;
	}

	nav.primary ul.slimmenu li a {
		padding: 10px;
	}

	.section#home-portfolio > .inner ul li h3 {
		font-size: 30px;
	}

	footer#colophon {
		font-size: 0.9em;
	}

	footer#colophon > .inner .foot-upper .foot-col:first-of-type {
		width: 30%;
		margin-right: 2%;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(2) {
		width: 28%;
		margin-right: 2%;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(3) {
		width: 21%;
		margin-right: 2%;
	}

	footer#colophon > .inner .foot-upper .foot-col:last-of-type {
		width: 15%;
	}

}

/* Responsive Menu from here... */
@media only screen and (max-width: 979px)  /*  966  */ {

	body {
		border: none;
	}

    .page-width {
        width: 100%;
    }

    .inner {
        margin: 0;
    }

	#masthead .business-name {
		width: 180px;
		margin: 15px 0 10px 20px;
	}

	ul.head-social {
		margin: 59px 90px 0 0;
	}

	nav.primary {
		width: 100%;
		margin: -78px 0 0;
		float: right;
	}

	.menu-collapser {
		background: transparent;
		text-shadow: none;
		padding: 0;
	}

	.collapse-button {
		right: 20px;
		background: transparent;
		box-shadow: none;
		text-shadow: none;
		border: none;
		padding: 5px 0;
		width: 45px;
	}

	.collapse-button:hover {
		background: transparent;
	}

	.collapse-button .icon-bar {
		box-shadow: none;
		background: #fff;
		border-radius: 3px;
		width: 100%;
		height: 3px;
		margin: 8px 0;
	}

	nav.primary ul.slimmenu {
		display: block;
		width: auto;
		text-align: center;
		margin: 20px 0 0;
		background: rgba(0, 0, 0, 0.6);
		color: #fff;
	}

	nav.primary ul.slimmenu li {
		width: 100%;
		float: none;
	}

	nav.primary ul.slimmenu li a,
	nav.primary ul.slimmenu li.has_children > a {
		padding: 15px 20px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	nav.primary ul.slimmenu > li:hover > a, nav.primary ul.slimmenu > li > a:hover, nav.primary ul.slimmenu > li.current > a {
		border-color: transparent;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	nav.primary ul.slimmenu > li {
		display: block;
		float: none;
	}

    nav.primary ul.slimmenu li ul,
    nav.primary ul.slimmenu li ul li a {
        width: auto;
    }

	nav.primary ul.slimmenu li ul li a {
		text-align: center;
	}

    nav.primary ul.slimmenu li a i {
        display: none;
    }

	ul.slimmenu.collapsed li .sub-collapser {
		height: 50px;
		width: 85px;
	}

	.scrolled #masthead {
		background: rgba(0, 0, 0, 0.6);
	}

	.scrolled ul.head-social {
		margin-top: 48px;
	}

	.scrolled nav.primary {
		margin-top: -73px;
	}

	#banner-sub > .inner h1 {
		font-size: 40px;
	}

	.cycle-pager {
		bottom: 20px;
	}

    main {
        display: block;
        float: none;
        width: 100%; min-height: auto;
    }

	.section > .inner {
		padding: 80px 20px;
	}

	.section > .inner > h1,
	.home .section > .inner h1 {
		font-size: 28px;
	}

	.section#home-profile > .inner {
		padding: 80px 20px 0;
	}

	.section#home-portfolio > .inner {
		padding: 80px 20px;
	}

	.section#home-portfolio > .inner ul li h3 {
		width: 190px;
		height: 120px;
		font-size: 24px;
	}

	.section#home-portfolio > .inner ul li h3 a {
		max-width: 145px;
		margin: 25px auto 0;
	}

	.section#home-awards > .inner {
		padding: 0 20px 80px;
	}

	.section#profile-content .inner {
		padding: 0 20px 80px;
	}

	ul.portfolio-list li {
		margin: 0 2% 0 0;
		width: 32%;
	}

	ul.portfolio-list li h3 {
		font-size: 20px;
	}

	.gallery-page .collapse-button .icon-bar {
		background: #000;
	}

	.gallery-page nav.primary ul.slimmenu li a {
		color: #fff;
	}

	.section#portfolio-gallery > .inner {
		padding: 80px 20px 10px;
	}

	.section#portfolio-gallery > .inner > div,
	#gallery-images > .inner div a {
		width: 32%;
	}

	.section#portfolio-gallery > .inner > div:nth-of-type(4n),
	#gallery-images > .inner div a:nth-of-type(4n) {
		margin-right: 2%;
	}

	.section#portfolio-gallery > .inner > div:nth-of-type(3n),
	#gallery-images > .inner div a:nth-of-type(3n) {
		margin-right: 0;
	}

	.section#gallery-intro > .inner {
		padding: 50px 20px;
	}

	.section#gallery-intro > .inner > div .breadcrumbs {
		width: 20%;
	}

	.section#gallery-intro > .inner > div .breadcrumbs ul li a {
		width: 145px;
		padding: 12px 5px 12px 7px;
		letter-spacing: 0;
		line-height: 1.2em;
	}

	.section#gallery-intro > .inner > div .breadcrumbs ul li a::before {
		margin: 0 5px 0 0;
		float: left;
		line-height: 2.4em;
	}

	.section#gallery-intro > .inner > div h1 {
		width: 60%;
		padding: 0 0 10px 5%;
		font-size: 28px;
		line-height: 1.2;
	}

	#gallery-images > .inner {
		padding: 0 20px 10px;
	}

	.slick-prev {
		left: -10px;
	}

	.slick-next {
		right: -10px;
	}

	.contact-left {
		width: 100%;
		float: none;
		margin: 0 0 40px;
	}

	.contact-right {
		width: 100%;
		float: none;
	}

	footer#colophon > .inner {
		padding: 100px 20px 80px;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(2) {
		width: 27%;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(3) {
		width: 23%;
	}

	footer#colophon > .inner .foot-upper .foot-col:last-of-type {
		width: 14%;
	}

    .table-overflow {
        width: 100%;
        overflow-y: auto;
        _overflow: auto;
        margin: 0 0 1em;
    }

    .table-overflow::-webkit-scrollbar {
        -webkit-appearance: none;
        width: 14px;
        height: 14px;
    }

    .table-overflow::-webkit-scrollbar-thumb {
        border-radius: 8px;
        border: 3px solid #fff;
        background-color: rgba(0, 0, 0, .3);
    }
}

@media only screen and (max-width: 767px) /* 720 */ {

	#masthead .business-name {
		width: 175px;
		margin: 10px 0 10px 15px;
	}

	.collapse-button {
		right: 15px;
	}

	nav.primary ul.slimmenu li a,
	nav.primary ul.slimmenu li.has_children > a {
		padding: 12px 15px;
	}

	ul.slimmenu.collapsed li .sub-collapser {
		height: 40px;
		width: 75px;
	}

	ul.head-social {
		margin: 50px 80px 0 0;
	}

	ul.head-social li {
		margin: 0 0 0 10px;
	}

	.scrolled #masthead .business-name {
		width: 130px;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.scrolled ul.head-social {
		margin-top: 38px;
	}

	.scrolled nav.primary {
		margin-top: -67px;
	}

	.cycle-pager {
		bottom: 15px;
	}

	#banner .cycle-slide .inner {
		max-width: 280px;
		height: 220px;
	}

	#banner .cycle-slide h1 {
		letter-spacing: 1px;
		font-size: 50px;
	}

	#banner .cycle-slide p {
		font-size: 16px;
	}

	#banner #prev, #banner #next {
		width: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 18px;
	}

	#banner-sub > .inner {
		height: 220px;
	}

	#banner-sub > .inner h1 {
		top: 135px;
		font-size: 32px;
		letter-spacing: 1px;
	}

	.section > .inner {
		padding: 60px 15px;
	}

	.section#home-profile > .inner {
		padding: 60px 15px 0;
	}

	.section > .inner > h1,
	.home .section > .inner h1 {
		margin: 0 auto 30px;
		font-size: 26px;
		line-height: 1.2;
	}

	.section#home-profile > .inner p {
		margin: 0 auto 30px;
	}

	.section#home-portfolio > .inner {
		padding: 60px 15px;
	}

	.section#home-portfolio > .inner p a {
		top: 35px;
	}

	.section#home-portfolio > .inner ul li,
	.section#home-portfolio > .inner ul li:first-of-type,
	.section#home-portfolio > .inner ul li:nth-of-type(2),
	.section#home-portfolio > .inner ul li:last-of-type {
		float: none;
		width: 100%;
		max-width: 500px;
		border: none;
		margin: 0 auto 15px;
	}

	.section#home-portfolio > .inner ul li:last-of-type {
		margin: 0 auto;
	}

	.section#home-awards > .inner .container {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}

	.section#home-awards > .inner {
		padding: 0 15px 60px;
	}

	.section#home-contact > .inner {
		padding: 60px 15px 50px;
	}

	.section#portfolio-gallery > .inner {
	    padding: 60px 15px 10px;
	}

	.section#portfolio-gallery > .inner > div,
	#gallery-images > .inner div a {
		width: 49%;
	}

	.section#portfolio-gallery > .inner > div:nth-of-type(3n),
	#gallery-images > .inner div a:nth-of-type(3n) {
		margin-right: 2%;
	}

	.section#portfolio-gallery > .inner > div:nth-of-type(2n),
	#gallery-images > .inner div a:nth-of-type(2n) {
		margin-right: 0;
	}

	ul.step-list li {
		margin: 0 5% 30px 0;
		width: 47.5%;
	}

	ul.step-list li:nth-of-type(3n+1) {
		clear: none;
	}

	ul.step-list li:nth-of-type(3n) {
		margin-right: 5%;
	}

	ul.step-list li:nth-of-type(2n+1) {
		clear: left;
	}

	ul.step-list li:nth-of-type(2n) {
		margin-right: 0;
	}

	ul.step-list li:nth-of-type(4), ul.step-list li:nth-of-type(5), ul.step-list li:nth-of-type(6) {
		margin-top: 0;
	}

	ul.step-list li:nth-of-type(5n),
	ul.step-list li:nth-of-type(6n) {
		margin-bottom: 0;
	}

	ul.portfolio-list li {
		width: 100%;
		float: none;
		margin: 0 0 30px;
	}

	ul.portfolio-list li:last-of-type {
		margin-bottom: 0;
	}

	ul.portfolio-list li img {
    	margin: 0 0 20px;
	}

	ul.portfolio-list li p:first-of-type {
		min-height: 0;
	}

	.section#gallery-intro > .inner {
		padding: 30px 15px 30px;
	}

	.section#gallery-intro > .inner > div .breadcrumbs {
		width: 145px;
		position: absolute;
		top: 10px; left: 15px;
	}

	.section#gallery-intro > .inner > div .breadcrumbs ul li a {
		width: 145px;
		padding: 5px 5px 6px 7px;
		line-height: 1.1em;
	}

	.section#gallery-intro > .inner > div ul.prevnext {
		position: absolute;
		top: 10px; right: 15px;
		width: 145px;
		float: none;
	}

	.section#gallery-intro > .inner > div h1 {
		width: auto;
		margin: 50px 0 0;
		padding: 0 0 10px;
		font-size: 26px;
		line-height: 1.2;
		float: none;
	}

	.section#gallery-intro > .inner > div.gallery-description {
		padding: 20px 0 0;
	}

	#gallery-images > .inner {
		padding: 0 15px 10px;
	}

	.section#profile-content .inner {
		padding: 0 15px 60px;
	}

	.section#profile-content > .inner .container .content-left {
		width: 100%;
	}

	.section#profile-content > .inner .container .content-right {
		width: 100%;
	}

	.section#profile-content > .inner .container.img-right .content-left,
	.section#profile-content > .inner .container.img-left .content-right {
		display: table-header-group;
	}

	.section#profile-content > .inner .container.img-right .content-right,
	.section#profile-content > .inner .container.img-left .content-left {
		display: table-footer-group;
	}

	.section#profile-content > .inner .container .content-left img,
	.section#profile-content > .inner .container .content-right img {
		margin-top: 20px;
	}

	.section#portfolio-showroom > .inner p.btn-showroom a {
		padding: 15px 15px;
		letter-spacing: 0;
		font-size: 0.9em;
		margin: 0 5px;
	}

	ul.profile-list li {
		margin: 0 0 30px;
		padding: 0;
		list-style: none;
		float: none;
		width: 100%;
	}

	ul.profile-list li:last-of-type {
		margin-bottom: 0;
	}

	.section#get-in-touch > .inner {
		padding: 60px 0;
	}

	#contact_form_row_1,
	#contact_form_row_2,
	#contact_form_row_3,
	#contact_form_row_4 {
		width: 100%;
		float: none;
		clear: both;
		margin: 0 0 5px;
	}

	#contact_form_row_6 {
		width: 250px;
		float: right;
	}

	#contact_form_row_7 {
		width: 100%;
		float: none;
	}

	footer#colophon > .inner {
		padding: 60px 15px 40px;
	}

	footer#colophon > .inner .foot-upper .foot-col:first-of-type {
		display: none;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(2) {
		width: 100%;
		float: none;
		text-align: center;
	}

	footer#colophon > .inner .foot-upper .foot-col:nth-of-type(3) {
		display: none;
	}

	footer#colophon > .inner .foot-upper .foot-col:last-of-type {
		width: 100%;
		float: none;
	}

	footer#colophon > .inner .foot-upper .foot-col:last-of-type img {
		width: 100%;
		max-width: 80px;
		height: auto;
		margin: 20px auto 0;
		display: block;
	}

	footer#colophon > .inner .foot-lower {
		margin: 20px 0 0;
	}

	footer#colophon > .inner .foot-lower p:first-of-type,
	footer#colophon > .inner .foot-lower p:last-of-type {
		float: none;
		text-align: center;
	}

	footer#colophon > .inner .foot-lower p:first-of-type {
		margin-bottom: 5px;
	}

	footer#colophon > .inner .foot-lower p:last-of-type a:last-of-type {
		margin: 0 0 0 10px;
	}

}

@media only screen and (max-width: 600px) /* Sidebar Hide... */ {
    aside.sidebar { display: none; }
}

@media only screen and (max-width: 479px) /* 414 */ {
    .boxout,
    .boxout.left,
    .boxout.right {
        display: block; float: none;
        margin: 0 auto 0.5em auto;
    }

    .colrow {
        margin-left: 0; margin-right: 0;
    }

    .colrow .colrow {
        margin-left: 10px; margin-right: 10px;
    }

    .col.left,
    .col.right,
    .col.third,
    .col.twothird,
    .col.half {
        float: none; clear: both;
        width: 100%;
        padding: 0;
    }

    .coltable {
        display: block;
    }

    .coltable > .col {
        display: block;
    }

    /* Table Overflow */

    .table-overflow {
        overflow-x: scroll;
        overflow-y: visible;
    }

    .table-overflow table {
        width: 500px;
    }

	.table-swipe {
		display: block !important;
	}
}

@media only screen and (max-width: 413px) /* 375 */ {

	#masthead .business-name {
		margin: 10px 0 10px 5px;
	}

	#banner .cycle-slide .inner {
		max-width: 260px;
		height: 190px;
	}

	#banner .cycle-slide h1 {
		letter-spacing: 0;
		font-size: 45px;
		line-height: 1;
	}

	#banner #prev, #banner #next {
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 16px;
	}

	#banner-sub > .inner {
		height: 200px;
	}

	#banner-sub > .inner h1 {
		top: 130px;
		font-size: 28px;
		letter-spacing: 0;
	}

	.section > .inner > h1,
	.home .section > .inner h1 {
		font-size: 24px;
	}

	.section#gallery-intro > .inner > div h1 {
		font-size: 24px;
	}

	.section#home-portfolio > .inner ul li h3 {
		font-size: 32px;
		width: 250px;
		height: 150px;
	}

	ul.step-list li {
		width: 100%;
		float: none;
		margin: 0 0 30px !important;
	}

	ul.step-list li:last-of-type {
		margin-bottom: 0 !important;
	}

	.section#portfolio-showroom > .inner p.btn-showroom a {
		margin: 0 5px 10px;
		display: block;
	}

	.section#portfolio-showroom > .inner p.btn-showroom a:last-of-type {
		margin-bottom: 0;
	}

}

@media only screen and (max-width: 374px) /* 360 */ { }

@media only screen and (max-width: 359px) /* 320 */ {

	#masthead .business-name {
		width: 150px;
	}

	ul.head-social {
		margin: 45px 72px 0 0;
	}

	ul.head-social li {
		margin: 0 0 0 8px;
	}

	nav.primary {
		margin: -70px 0 0;
	}

	.scrolled #masthead .business-name {
		width: 120px;
	}

	.scrolled ul.head-social {
		margin-top: 35px;
	}

	.scrolled nav.primary {
		margin-top: -63px;
	}

	#banner .cycle-slide .inner {
		max-width: 220px;
		height: 180px;
	}

	#banner .cycle-slide h1 {
		font-size: 42px;
	}

	#banner .cycle-slide p {
		font-size: 15px;
	}

	#banner-sub > .inner {
		height: 180px;
	}

	#banner-sub > .inner h1 {
		top: 120px;
		font-size: 24px;
	}

	.section > .inner > h1,
	.home .section > .inner h1 {
		font-size: 22px;
	}

	.section#gallery-intro > .inner > div h1 {
		font-size: 22px;
	}

}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
       only screen and (   min--moz-device-pixel-ratio: 2),
       only screen and (     -o-min-device-pixel-ratio: 2/1),
       only screen and (        min-device-pixel-ratio: 2),
       only screen and (                min-resolution: 192dpi),
       only screen and (                min-resolution: 2dppx) {

    /* Retina 2x background images... */

    /* Embed Images Format:
            {{ theme:image file="file.jpg" x2="file@2x.jpg" }}
       Expands to:
            <img src="file.jpg" srcset="file@2x.jpg 2x" />
    */
}

/* ----- Internet Explorer -------------------------------------------------- */

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    /* Gradient fills */
    .gradient,
    .button,
    form.formtools input[type=button],
    form.formtools input[type=submit],
    form.formtools input[type=reset],
    form.formtools button,
    form.formtools input[type=button]:hover,
    form.formtools input[type=button]:focus,
    form.formtools input[type=button]:active,
    form.formtools input[type=submit]:hover,
    form.formtools input[type=submit]:focus,
    form.formtools input[type=submit]:active,
    form.formtools input[type=reset]:hover,
    form.formtools input[type=reset]:focus,
    form.formtools input[type=reset]:active,
    form.formtools button:hover,
    form.formtools button:focus,
    form.formtools button:active {
        filter: none;
    }

    /* WOW Animations */
    .slideInUp {
        visibility: hidden;
    }
}
