/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
box-sizing: border-box;
transition: all 0.5s ease-in-out;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
p + p { 
margin-top: 0.5em;
}
strong {
font-weight: bold;
}

/*================================*/
/*          Colours               */
/*                                */
/*    Black:   #1a1a1a            */
/*    Red:     #d81e04            */
/*                                */
/*================================*/

/*===== Main Styles =====*/
body {
background-color: #ffffff;
font-family: 'Montserrat', sans-serif;
margin: 0;
padding: 0;
line-height: 1;
}

/*===== Divs =====*/
#header {
position: relative;
border-top: 3px solid #d81e04;
width: 100%;
height: 150px;
}

#logo {
display: block;
float: left;
width: 350px;
margin: 0;
padding: 0;
}

#header-contact {
position: absolute;
top: 35px;
right: 35px;
}

#menu {
position: absolute;
right: 10px;
bottom: 20px;
height: 50px;
z-index: 999;
}

#banner {
position: relative;
background: url("../images/banner-01.jpg") center center no-repeat;
background-size: cover;
margin: 0;
padding: 0;
height: 400px;
width: 100%;
z-index: 50;
}

.banner-content {
position: absolute;
top: 40%;
left: 10px;
}

#banner-short {
position: relative;
background: url("../images/banner-01.jpg") center center no-repeat;
background-size: cover;
margin: 0;
padding: 0;
height: 200px;
width: 100%;
z-index: 50;
}

.main-content {
width: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}

.main-content.black {
background: #1a1a1a;
background: #1a1a1a url("../images/brick-bg.jpg") right center repeat-y;
border-top: 2px solid #ffffff;
}

.main-content.grey {
background: #f5f5f5;
border-top: 2px solid #d81e04;
}

.application {
background: #f5f5f5;
border-radius: 15px;
padding: 40px;
margin: 20px 0 0;
}

#footer {
background: #1a1a1a;
background: #1a1a1a url("../images/brick-bg.jpg") right center repeat-y;
border-top: 2px solid #d81e04;
width: 100%;
padding: 80px 0;
margin: 0;
}

#baseline {
width: 100%;
padding: 20px 0;
margin: 0;
}

/*===== Containers =====*/
#header-wrapper {
position: relative;
width: 100%;
max-width: 1600px;
height: 100%;
padding: 20px 10px;
margin: 0 auto;
}

#banner-wrapper {
position: relative;
width: 100%;
max-width: 1600px;
height: 100%;
padding: 0 10px;
margin: 0 auto;
}

.main-content-short-wrapper {
width: 100%;
max-width: 1600px;
padding: 40px 10px;
margin: 0 auto;
overflow: hidden;
}

.main-content-wrapper {
width: 100%;
max-width: 1600px;
padding: 80px 10px;
margin: 0 auto;
overflow: hidden;
}

.flex-wrapper {
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: stretch;
}

.flex-block-wrapper {
display: flex;
flex-wrap: wrap;
justify-content: left;
align-items: stretch;
gap: 20px;
}

#footer-wrapper {
width: 100%;
max-width: 1600px;
padding: 0 10px;
margin: 0 auto;
overflow: hidden;
}

#footer-logo {
display: block;
width: 300px;
margin: 0 auto;
padding: 0 0 20px;
}

#baseline-wrapper {
width: 100%;
max-width: 1600px;
padding: 0 10px;
margin: 0 auto;
overflow: hidden;
}

/*===== Columns =====*/
.tick-icon {
display: block;
float: left;
width: 64px;
margin: 0;
padding: 0;
}

.tick-text {
display: block;
float: left;
width: 80%;
padding: 7px 0 0 25px;
margin: 0;
}

.left-content {
order: 1;
width: 35%;
border-right: 2px solid #ffffff;
padding: 0 50px 0 0;
margin: 0;
}

.right-content {
order: 2;
width: 65%;
padding: 0 0 0 50px;
margin: 0;
}

.one-column {
display: block;
float: left;
width: 100%;
padding: 20px;
margin: 0; 
}

.two-column {
display: block;
float: left;
width: 50%;
padding: 20px;
margin: 0; 
}

.two-column-projcontent {
order: 1;
width: 50%;
background: #ffffff;
border-right: 3px solid #d81e04;
border-radius: 15px 0 0 15px;
padding: 80px 40px;
margin: 0;
}

.two-column-projcontent.grey {
background: #f5f5f5;
}

.two-column-projimage {
background: url("../images/project-01.jpg") center center no-repeat;
background-size: cover;
border-radius: 0 15px 15px 0;
order: 2;
width: 50%;
}

.three-column {
display: block;
float: left;
width: 33.333%;
padding: 20px;
margin: 0;
}

.flex-column {
flex: 1;
}

.flex-block-column {
flex: 0 0 calc(33.333% - 14px);
background: #f5f5f5;
border-radius: 15px;
padding: 0;
margin: 0;
}

.left-column-60 {
display: block;
float: left;
width: 60%;
padding: 0 25px 0 0;
margin: 0;
}

.right-column-40 {
display: block;
float: left;
width: 40%;
padding: 0 0 0 25px;
margin: 0;
}

.inner-column {
background: #ffffff;
border-radius: 10px;
padding: 20px;
margin: 0;
}

#footer-column-01 {
display: block;
float: left;
width: 30%;
padding: 0 25px 0 0;
margin: 0;
}

#footer-column-02 {
display: block;
float: left;
width: 40%;
padding: 0 25px 0 0;
margin: 0;
}

#footer-column-03 {
display: block;
float: left;
width: 30%;
padding: 40px 0 0;
margin: 0;
}

/*===== Sections =====*/
section {
padding: 40px 0 0;
margin: 0;
overflow: hidden;
}

section.small {
padding: 10px 0 0;
margin: 0;
overflow: hidden;
}

section.short {
padding: 20px 0 0;
margin: 0;
overflow: hidden;
}

section.large {
padding: 80px 0 0;
margin: 0;
overflow: hidden;
}

section.lower {
padding: 0 0 40px 0;
margin: 0;
overflow: hidden;
}

section.sub {
padding: 0 0 20px 0;
margin: 0;
overflow: hidden;
}

/*===== Menus =====*/
.menu_title {
display: none;
position: relative;
float: right;
bottom: 0.6em;
margin-right: 3em;
color: #1a1a1a;
font-size: 1.1em;
font-weight: 600; 
}

nav a {
position: relative;
color: #1a1a1a; 
display: block; 
font-size: 1em;
font-weight: 600;
text-transform: uppercase;
line-height: 50px;
padding: 0 35px; 
text-decoration: none; 
}

nav a.active {
color: #d81e04;
}

nav a:hover {
color: #d81e04;
}

nav a.nocursor {
cursor: context-menu;
}

nav a:before {
content: "";
position: absolute;
width: 80%;
height: 1px;
bottom: 0;
left: 0;
right: 0;
margin: 0 auto;
background-color: #d81e04;
visibility: hidden;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transition: all 0.3s ease-in-out 0s;
transition: all 0.3s ease-in-out 0s;
}

nav a:hover:before {
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
}

nav ul,
nav ul li { 
height: 50px;
list-style-type: none; 
padding: 0; 
margin: 0; 
}

nav > ul { 
text-align: right; 
}

nav > ul > li { 
display: inline-block; 
}

nav > ul > li:first-child { 
border-left: none; 
}

.sub-menu-parent { 
position: relative;
background: url("../images/down.gif") no-repeat scroll right 15px center;
padding: 0 15px 0 0; 
}

.sub-menu {
visibility: hidden; /* hides sub-menu */
opacity: 0;
position: absolute;
top: 100%;
left: 0;
width: 100%;
transform: translateY(-2em);
z-index: -1;
transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}

.sub-menu-parent:hover .sub-menu {
visibility: visible; /* shows sub-menu */
opacity: 1;
z-index: 1;
transform: translateY(0%);
transition-delay: 0s, 0s, 0.3s; /* this removes the transition delay so the menu will be visible while the other styles transition */
}

.sub-menu li {
background: #ffffff;
width: 250px;
height: 50px;
line-height: 50px;
border-bottom: 1px solid #ececec;
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
text-align: left;
}

.sub-menu li a {
font-size: 0.9em;
line-height: 50px;	
}

ul.sub-menu li:last-child {
border-radius: 0 0 10px 10px;
border-bottom: none;
}

/*===== General =====*/
.center {
text-align: center;
}

.left {
text-align: left;
}

.right {
text-align: right;
}

.light {
font-weight: 300;
}

.normal {
font-weight: 400;
}

.medium {
font-weight: 500;
}

.semibold {
font-weight: 600;
}

.bold {
font-weight: 700;
}

.extrabold {
font-weight: 900;
}

.italic {
font-style: italic;
}

.uppercase {
text-transform: uppercase;
}

.darkshadow {
text-shadow: 2px 2px 2px #000000;
}

.hidden {
opacity: 0;
}

.hide {
display: inline-block;
}

.noover {
overflow: visible !important;
}

.clear {
clear: both;
}

/*===== Spans =====*/


/*===== Headers =====*/
header.main {
padding: 0 0 40px 0;
margin: 0;
overflow: hidden;
}

header.sub {
padding: 0 0 20px 0;
margin: 0;
overflow: hidden;
}

header.mid {
padding: 20px 0;
margin: 0;
overflow: hidden;
}

h1 {
color: #000000;
font-size: 3em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h1.white {
color: #ffffff;
}

h1.red {
color: #d81e04;
}

h2 {
color: #000000;
font-size: 2.5em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h2.white {
color: #ffffff;
}

h2.red {
color: #d81e04;
}

h3 {
color: #000000;
font-size: 1.6em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h3.white {
color: #ffffff;
}

h3.red {
color: #d81e04;
}

h4 {
color: #000000;
font-size: 1.2em;
margin: 0;
padding: 0;
display: block;
line-height: 1.3em;
}

h4.white {
color: #ffffff;
}

h4.red {
color: #d81e04;
}

/*===== Paragraphs =====*/
p.main-text {       
color: #454545; 
font-size: 1em; 
padding: 0;
line-height: 1.7em;
}

p.main-text.white {       
color: #ffffff; 
}

p.main-text.small {       
font-size: 0.875em; 
}

p.main-text.large {       
font-size: 1.2em; 
}

p.banner {
font-size: 1.6em;
margin: 0;
padding: 0;
line-height: 1.2em;
}

p.banner.white {
color: #ffffff;
}

p.banner.red {
color: #d81e04;
}

p.banner-text {
color: #ffffff;
font-size: 3.5em;
margin: 0;
padding: 0;
line-height: 1.2em;
}

p.banner-text.small {
font-size: 1.8em;
}

p.choose-text { 
display: inline-block;
color: #ffffff; 
font-size: 1.3em; 
padding: 0;
margin: 0;
line-height: 1em;
vertical-align: top;
}

p.choose-text.black {
color: #1a1a1a;
}

p.error-text {       
color: #1a1a1a; 
font-size: 12em; 
font-weight: 700;
padding: 0;
line-height: 1em;
}

/*===== Form Fields =====*/
form#emailForm {
padding: 0;
margin: 0;
}

form.cmxform {
width: 100%;
color: #454545; 
font-size: 1.1em;
padding: 10px 0 0;
}

form.cmxform legend {
padding-left: 0;
}

form.cmxform legend, form.cmxform label {
color: #454545;
}

form.cmxform fieldset {
border: none;
background: none repeat scroll 0 0 transparent;
background-color: transparent;
margin: 0;
padding: 10px 0 0;
}

form.cmxform fieldset fieldset {
background: none;
}

form.cmxform fieldset p, form.cmxform fieldset fieldset {
padding: 0 0 20px;
background: none repeat scroll 0 0 transparent;
}

form.cmxform label.error, label.error {
color: red;
font-style: italic;
display: block !important;
margin: 0 0 10px 0;
}

div.error { 
display: none; 
}

form.cmxform .gray * { 
color: gray; 
}

#emailForm {
width: 100%;
}

#emailForm label.error {
width: auto;
display: none;
font-size: 0.85em;
margin: 0 0 20px 0;
}

.editor-label {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 10px 0;
outline: 0 none;
padding: 0;
}

.editor-label-buttons {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 20px 0 10px 0;
outline: 0 none;
padding: 0;
}

.editor-field {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 0;
outline: 0 none;
padding: 0;
}

.editor-field-padded {
background: none repeat scroll 0 0 transparent;
border: 0 none;
display: block;
margin: 0 0 20px 0;
outline: 0 none;
padding: 0;
}

input.contact {
border: 1px solid #d6d6d6;
border-radius: 7px;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 0.9em;
font-weight: 400;
height: 45px;
line-height: 18px;
margin: 0 auto 15px;
padding: 10px;
width: 95%;
outline: none;
transition: all 0.5s ease-in-out;
}

input.contact:focus {
border: 1px solid #d81e04;
}

input.contact.error {
border: 1px solid #d81e04;
}

textarea.contact {
border: 1px solid #d6d6d6;
border-radius: 7px;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 0.9em;
font-weight: 400;
height: 150px;
line-height: 18px;
margin: 0 auto 25px;
padding: 10px;
width: 95%;
outline: none;
transition: all 0.5s ease-in-out;
}

textarea.contact:focus {
border: 1px solid #d81e04;
}

textarea.contact.error {
border: 1px solid #c52020;
}

input.submit {
background: #d81e04;
background: #d81e04 url("../images/white-arrow.png") no-repeat scroll right 20px center;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #ffffff;
cursor: pointer;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
font-weight: 600;
padding: 15px 60px 15px 20px;
margin: 0 10px 10px 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.2s ease-in-out;
}

input.submit:hover {
background: #d81e04 url("../images/white-arrow.png") no-repeat scroll right 15px center;
}

.spinner {
display: none;
width: 22px;
height: 22px;
margin-left: 10px;
border: 3px solid #ddd;
border-top: 3px solid #d81e04;
border-radius: 50%;
animation: spin 0.8s linear infinite;
vertical-align: middle;
}

@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

/*===== Buttons =====*/
a.button {
background: #d81e04;
background: #d81e04 url("../images/white-arrow.png") no-repeat scroll right 20px center;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #ffffff;
cursor: pointer;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
font-weight: 600;
padding: 15px 60px 15px 20px;
margin: 0 10px 10px 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.2s ease-in-out;
}

a.button.full {
width: 100%;
}

a.button.small {
font-size: 0.9em;
padding: 12px 50px 12px 10px;
}

a.button:hover {
background: #d81e04 url("../images/white-arrow.png") no-repeat scroll right 15px center;
}

.block-link {
background: #1a1a1a;
border: 0 none;
border-radius: 0 0 7px 7px;
display: inline-block;
color: #ffffff;
cursor: pointer;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
font-weight: 600;
padding: 20px 40px;
margin: 20px 0 0;
width: 100%;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.2s ease-in-out;
}

.flex-block-column:hover .block-link {
background-color: #d81e04;
}

/*===== Links =====*/
a.link:link, a.link:visited, a.link:active {
color: inherit;
font-size: inherit; 
text-decoration: none;
margin: 0;
transition: all 0.5s ease-in-out;
}

a.link.under:link, a.link.under:visited, a.link.under:active {
color: inherit;
font-size: inherit; 
text-decoration: underline;
margin: 0;
transition: all 0.5s ease-in-out;
}

a.link:hover {
color: #d81e04;
text-decoration: underline;
}

a.link.under:hover {
color: #d81e04;
}

a.social:link, a.social:visited, a.social:active {
display: inline-block;
height: 32px;
width: 32px;
text-decoration: none;
}

a.blank:link, a.blank:visited, a.blank:active {
text-decoration: none;
}

/*===== Telephone Numbers =====*/
.tel,.tel:visited { /*for small screens */ 
color: inherit; 
padding: 0; 
text-decoration: none; 
cursor: default;
} 

.tel:hover,.tel:focus { 
color: inherit; 
}

/*===== Lists =====*/
ul.contact {
list-style: none outside none;
margin: 0;
padding: 0;
}
	
ul.contact li {
display: block;
float: left;
border-right: 1px solid #1a1a1a;
color: #d81e04;
font-size: 1em; 
font-family: 'Montserrat', sans-serif;
font-weight: 600;
cursor: pointer;
height: 24px;
line-height: 24px;
text-align: center;
padding: 0 15px;
margin: 0;
}

ul.contact li.last {
border-right: none;	
padding: 0 0 0 15px;
}

ul.contact li.facebook {
background:url('../images/facebook.png') no-repeat 50% 0;
}

/*===== Standard Bullets =====*/
ul.bullets {
list-style-type: disc;
list-style-position: inside;
margin: 10px 0 20px 0;
padding: 0;
text-align: left;
}

ul.bullets li {
color: #d81e04; 
padding: 0;
margin-bottom: 5px;
margin-left: 2.0em;
text-indent: -1em;
}

span.bullets {
color: #454545; 
font-size: 1em; 
line-height: 1.7em;
}

/*===== Footer =====*/
.featureList, .featureList ul {
padding-left: 2em;
margin: 0;
list-style-type: none;
font-size: 1em;
font-family: 'Montserrat', sans-serif;
line-height: 1.5em;
color: #ffffff;
text-align: left;
}

.featureList li:before {
position: absolute;
margin-left: -1.3em;
}

.featureList li.gthan:before {
content: "\003E";
color: #d81e04;
}

.featureList li.gthan a:hover {
text-decoration: none;
}

.featureList li {
margin: 0 0 15px 0;
}	
	
/*===== Images =====*/
img {
border: 0;
height: auto;
max-width: 100%;
}

img.top {
display: inline-block;
position: relative;
top: 5px;
}

img.rounded {
border-radius: 15px;
}

img.mnu {
display: inline-block;
position: relative;
top: 5px;
padding: 0 10px 0 0;
}

/*===== Animations =====*/

/*=== Fade In  ===*/
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; }

/*=== Fade In Down ===*/
@keyframes fadeInDown {
  from { opacity: 0; transform: translate3d(0, -100%, 0); }
  to { opacity: 1; transform: none; } }
.fadeInDown { animation-name: fadeInDown; }

/*=== Fade In Up ===*/
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: none; } }
.fadeInUp { animation-name: fadeInUp; }

/*=== Fade In Left ===*/
@keyframes fadeInLeft {
  from { opacity: 0; transform: translate3d(-30px, 0, 0) }
  to { opacity: 1; transform: none; } }
.fadeInLeft { animation-name: fadeInLeft; }

/*=== Fade In Right ===*/
@keyframes fadeInRight {
  from { opacity: 0; transform: translate3d(100%, 0, 0); }
  to { opacity: 1; transform: none; } }
.fadeInRight { animation-name: fadeInRight; }

.animatein.in-view {  
animation: fadeIn;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateleft.in-view {  
animation: fadeInLeft;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateright.in-view {  
animation: fadeInRight;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animatedown.in-view {  
animation: fadeInDown;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

.animateup.in-view {  
animation: fadeInUp;
animation-duration: 1s;
animation-delay: 0s;
animation-fill-mode: both;
backface-visibility: hidden;
}

/*=== Optional Delays  ===*/
.one { animation-delay: 0.2s !important; }
.two { animation-delay: .6s !important; }
.three { animation-delay: 1s !important; }
.four { animation-delay: 1.4s !important; }
.five { animation-delay: 1.8s !important; }

/*===== Owl Carousel =====*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled,.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:#19384c;border:none;padding:0!important}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav,.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#fff;font-size:3em;margin:5px 20px;padding:4px 7px;background:#171516;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{color:#4dadeb;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#d6d6d6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

.multi-review-content {
position: relative;
background: #f5f5f5;
border-radius: 10px;
min-height: 250px;
padding: 20px;
margin: 0;
}

.review-icon {
position: absolute;
bottom: 10px;
right: 20px;
}

section.subsmall {
padding: 0 0 10px 0;
margin: 0;
overflow: hidden;
}

/*********************************************************************/
/*===== Media Queries for Mobile =====*/
@media screen and (max-width: 480.99px) 
			  and (min-width: 320px) {

#header {
height: 200px;
}

#logo {
float: none;
width: 250px;
margin: 0 auto;
}

#header-contact {
right: 0;
left: 0;
top: 110px;
}

ul.contact {
margin: 0 auto;
width: 320px;
}

ul.contact li {
padding: 0 10px;
}

ul.contact li.last {
padding: 0 0 0 10px;
}

#menu {
right: 0;
bottom: 0px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 325px;
}

.banner-content {
top: 35%;
}

.main-content.black {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

#footer-logo {
width: 275px;	
}

#footer {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

.main-content-wrapper {
padding: 40px 10px;
}

.flex-wrapper {
flex-flow: column nowrap;
}

.tick-icon {
width: 55px;
}

.tick-text {
text-align: left;
}

.left-content {
width: 100%;
border-right: none;
padding: 0;
text-align: center;
}

.right-content {
width: 100%;
padding: 40px 0 0;
text-align: center;
}

.two-column-projcontent {
width: 100%;
border-right: none;
border-bottom: 3px solid #d81e04;
border-radius: 15px 15px 0 0;
padding: 40px 25px;	
}

.two-column-projimage {
border-radius: 0 0 15px 15px;	
width: 100%;
height: 300px;
}

.left-column-60 {
width: 100%;
padding: 0;
}

.right-column-40 {
width: 100%;
padding: 40px 0 0;
}

.flex-block-column {
flex: 0 0 calc(100% - 20px);
}

#footer-column-01 {
width: 100%;
padding: 0;
}

#footer-column-02 {
width: 100%;
padding: 40px 0 0;
}

#footer-column-03 {
width: 100%;
padding: 60px 0 0;
}

h1 {
font-size: 1.8em;
}

h2 {
font-size: 1.8em;
}

h3 {
font-size: 1.4em;
}

p.banner {
font-size: 1.3em;
}

p.banner-text.small {
font-size: 1.2em;
}

p.choose-text {
font-size: 1.1em;
}

a.button {
font-size: 0.9em;
padding: 12px 50px 12px 15px;
}

p.error-text { 
font-size: 8em; 
}

input.contact {
width: 90%;
}

textarea.contact {
width: 90%;
}			  

}


/*********************************************************************/
/*===== Mobile Landscape =====*/
@media screen and (max-width: 600.99px) 
			  and (min-width: 481px) {
			  
#header {
height: 200px;
}

#logo {
float: none;
width: 250px;
margin: 0 auto;
}

#header-contact {
right: 0;
left: 0;
top: 110px;
}

ul.contact {
margin: 0 auto;
width: 345px;
}

#menu {
right: 0;
bottom: 0px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 325px;
}

.main-content.black {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

#footer-logo {
width: 275px;	
}

#footer {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

.main-content-wrapper {
padding: 40px 10px;
}

.flex-wrapper {
flex-flow: column nowrap;
}

.tick-text {
text-align: left;
}

.left-content {
width: 100%;
border-right: none;
padding: 0;
text-align: center;
}

.right-content {
width: 100%;
padding: 40px 0 0;
text-align: center;
}

.two-column-projcontent {
width: 100%;
border-right: none;
border-bottom: 3px solid #d81e04;
border-radius: 15px 15px 0 0;
padding: 40px 25px;	
}

.two-column-projimage {
border-radius: 0 0 15px 15px;	
width: 100%;
height: 300px;
}

.left-column-60 {
width: 100%;
padding: 0;
}

.right-column-40 {
width: 100%;
padding: 40px 0 0;
}

.flex-block-column {
flex: 0 0 calc(100% - 20px);
}

#footer-column-01 {
width: 100%;
padding: 0;
}

#footer-column-02 {
width: 100%;
padding: 40px 0 0;
}

#footer-column-03 {
width: 100%;
padding: 60px 0 0;
}

h1 {
font-size: 2em;
}

h2 {
font-size: 1.8em;
}

h3 {
font-size: 1.4em;
}

p.banner {
font-size: 1.3em;
}

p.banner-text.small {
font-size: 1.2em;
}

p.choose-text {
font-size: 1.2em;
}

a.button {
font-size: 0.9em;
padding: 12px 50px 12px 15px;
}			  
			  
}


/*********************************************************************/
/*===== Small Tablet Portrait ======*/
@media screen and (max-width: 768.99px) 
			  and (min-width: 601px) {
			  
#header {
height: 130px;
}

#logo {
width: 250px;
}

#header-contact {
right: 0;
}

#menu {
right: 0;
bottom: 10px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 350px;
}

.main-content.black {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

#footer-logo {
width: 275px;	
}

#footer {
background: #1a1a1a url("../images/brick-bg-fade.jpg") right center repeat-y;
}

.main-content-wrapper {
padding: 40px 10px;
}

.flex-wrapper {
flex-flow: column nowrap;
}

.tick-text {
text-align: left;
}

.left-content {
width: 100%;
border-right: none;
padding: 0;
text-align: center;
}

.right-content {
width: 100%;
padding: 40px 0 0;
text-align: center;
}

.two-column-projcontent {
width: 100%;
border-right: none;
border-bottom: 3px solid #d81e04;
border-radius: 15px 15px 0 0;
padding: 40px;	
}

.two-column-projimage {
border-radius: 0 0 15px 15px;	
width: 100%;
height: 300px;
}

.left-column-60 {
width: 100%;
padding: 0;
}

.right-column-40 {
width: 100%;
padding: 40px 0 0;
}

.flex-block-column {
flex: 0 0 calc(50% - 14px);
}

#footer-column-01 {
width: 40%;
}

#footer-column-02 {
width: 60%;
padding: 0;
}

#footer-column-03 {
width: 100%;
padding: 60px 0 0;
}

h1 {
font-size: 2.1em;
}

h2 {
font-size: 2em;
}

h3 {
font-size: 1.5em;
}

p.banner {
font-size: 1.3em;
}

p.banner-text.small {
font-size: 1.3em;
}

p.choose-text {
font-size: 1.2em;
}

a.button {
font-size: 0.9em;
padding: 12px 50px 12px 15px;
}

}


/*********************************************************************/
/*===== Small Tablet Portrait ======*/
@media screen and (max-width: 850.99px) 
			  and (min-width: 769px) {

#header {
height: 130px;
}

#logo {
width: 275px;
}

#header-contact {
right: 0;
}

#menu {
right: 0;
bottom: 10px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 350px;
}

.main-content-wrapper {
padding: 60px 10px;
}

.flex-wrapper {
flex-flow: column nowrap;
}

.tick-text {
text-align: left;
}

.left-content {
width: 100%;
border-right: none;
padding: 0;
text-align: center;
}

.right-content {
width: 100%;
padding: 40px 0 0;
text-align: center;
}

.two-column-projcontent {
width: 100%;
border-right: none;
border-bottom: 3px solid #d81e04;
border-radius: 15px 15px 0 0;
padding: 40px;	
}

.two-column-projimage {
border-radius: 0 0 15px 15px;	
width: 100%;
height: 300px;
}

.left-column-60 {
width: 100%;
padding: 0;
}

.right-column-40 {
width: 100%;
padding: 40px 0 0;
}

.flex-block-column {
flex: 0 0 calc(50% - 14px);
}

#footer-column-01 {
width: 40%;
}

#footer-column-02 {
width: 60%;
padding: 0;
}

#footer-column-03 {
width: 100%;
padding: 60px 0 0;
}

h1 {
font-size: 2.3em;
}

h2 {
font-size: 2em;
}

h3 {
font-size: 1.5em;
}

p.banner {
font-size: 1.3em;
}

p.banner-text.small {
font-size: 1.4em;
}

p.choose-text {
font-size: 1.2em;
}

a.button {
font-size: 0.95em;
}			  

}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1024.99px) 
			  and (min-width: 851px) {

#header {
height: 140px;
}

#logo {
width: 300px;
}

#header-contact {
right: 0;
}

#menu {
right: 0;
bottom: 10px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 375px;
}

.main-content-wrapper {
padding: 60px 10px;
}

.flex-block-column {
flex: 0 0 calc(50% - 14px);
}

#footer-column-01 {
width: 40%;
}

#footer-column-02 {
width: 60%;
padding: 0;
}

#footer-column-03 {
width: 100%;
padding: 60px 0 0;
}

h1 {
font-size: 2.5em;
}

h2 {
font-size: 2.1em;
}

h3 {
font-size: 1.5em;
}

p.banner {
font-size: 1.5em;
}

p.banner-text.small {
font-size: 1.6em;
}

p.choose-text {
font-size: 1.2em;
}			  
			  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1100.99px) 
			  and (min-width: 1025px) {
			  
#header {
height: 140px;
}

#logo {
width: 300px;
}

#header-contact {
right: 0;
}

#menu {
right: 0;
bottom: 10px;
width: 100%;
}

.menu_title {
display: block !important;
}

#banner {
height: 375px;
}

.main-content-wrapper {
padding: 60px 10px;
}

h1 {
font-size: 2.5em;
}

h2 {
font-size: 2.1em;
}

h3 {
font-size: 1.5em;
}

p.banner {
font-size: 1.5em;
}

p.banner-text.small {
font-size: 1.6em;
}

p.choose-text {
font-size: 1.2em;
}
		  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1200.99px) 
			  and (min-width: 1101px) {
			  
#header {
height: 140px;
}

#logo {
width: 300px;
}

#header-contact {
right: 0;
}

#menu {
right: 0;
bottom: 10px;
width: 100%;
}

.menu_title {
display: block !important;
}

h1 {
font-size: 2.6em;
}

h2 {
font-size: 2.2em;
}
			  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1400.99px) 
			  and (min-width: 1201px) {

#header {
height: 140px;
}

#logo {
width: 300px;
}

#header-contact {
right: 25px;
}

nav a {
padding: 0 25px;
}

h1 {
font-size: 2.8em;
}

h2 {
font-size: 2.3em;
}			  
			  
}


/*********************************************************************/
/*===== Tablet Portrait =====*/
@media screen and (max-width: 1600px) 
			  and (min-width: 1401px) {
			  
#header-contact {
right: 30px;
}

nav a {
padding: 0 30px;
}
			  
}