/*
	Theme Name: JKE Parish Council
	Description: Parish Council WordPress Theme
	Version: 1
	Author: Dave Playford
	Tags: HTML5, CSS3
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* 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;
	box-sizing: border-box;
	vertical-align: baseline;
	-webkit-transition: all 0.5s ease-in-out;
	-moz-transition: all 0.5s ease-in-out; 
	-o-transition: all 0.5s ease-in-out; 
	-ms-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 {
list-style: none;
}
ul {
list-style-type: disc;
list-style-position: inside;
margin: 10px 0 20px 0;
padding: 0;	
}
ul li {
color: #454545; 
font-size: 1em; 
line-height: 1.7em; 
padding: 0;
margin-bottom: 5px;
margin-left: 2em;
text-indent: -1.2em;
}
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;
}
a {
color: inherit;
font-family: 'Montserrat', sans-serif;
text-decoration: none;
margin: 0;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}
a:focus {
outline:0;
}
a:hover{
color: #e94b2b;
}
p { 
color: #454545; 
font-size: 1em; 
font-family: 'Montserrat', sans-serif;
padding: 0;
line-height: 1.7em;
}
strong { 
font-weight: bold; 
}

/*================================*/
/*          Colours               */
/*                                */
/*                                */
/*                                */
/*                                */
/*================================*/

/*===== Main Styles =====*/
body {
background-color: #fff;
font-family: Montserrat, sans-serif;
margin: 0;
padding: 0;
line-height: 1;
}
#header {
position: relative;
background: url(images/power-blue.png) top -100px right -100px no-repeat #fff;
width: 100%;
border-top: 10px solid #21a0dd;
}
#header.red {
background: url(images/power-red.png) top -100px right -100px no-repeat #fff;
border-top: 10px solid #ed222a;
}
#logo {
display: block;
float: left;
margin: 0;
padding: 0;
}
.logo-blue {
display: inline-block;
width: 250px;
margin: 0;
padding: 10px 10px 0 0;
}
.logo-red {
display: inline-block;
width: 250px;
margin: 0;
padding: 10px 0 0;
}
#contact-details {
position: absolute;
right: 10px;
top: 50px;
}
#header-social {
margin: 0;
padding: 10px 0 0;
overflow: hidden;
}
#menu {
position: relative;
background: none repeat scroll 0 0 #21a0dd;
width: 100%;
height: 50px;
z-index: 999;
}
#menu.red {
    background: none repeat scroll 0 0 #ed222a;
}
#banner {
position: relative;
background: url(images/banner-01.jpg) center center no-repeat;
background-size: cover;
border-bottom: 10px solid #21a0dd;
margin: 0;
padding: 0;
width: 100%;
z-index: 50;
}

#banner-domestic {
position: relative;
background: url(images/banner-domestic.jpg) center center no-repeat;
background-size: cover;
border-bottom: 10px solid #21a0dd;
margin: 0;
padding: 0;
width: 100%;
height: 300px;
z-index: 50;
}

#banner-short {
position: relative;
background: url(images/banner-01.jpg) center center no-repeat;
background-size: cover;
border-bottom: 10px solid #21a0dd;
height: 150px;
margin: 0;
padding: 0;
width: 100%;
z-index: 50;
}

#banner-content {
position: absolute;
left: 10px;
top: 25%;
}

.sub-banner {
position: relative;
background: url(images/banner-ev.jpg) top left no-repeat #fff;
background-size: cover;
border-bottom: 10px solid #21a0dd;
width: 100%;
height: 400px;
}

.sub-banner.red {
border-bottom: 10px solid #ed222a;
}

.ev-content-wrapper {
position: relative;
width: 100%;
height: 100%;
padding: 0;
margin: 0 auto;
overflow: hidden;
}

.ev-banner-content {
position: absolute;
bottom: 60px;
left: 80px;
}
.container {
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.main-content {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.main-content.grey {
    background-color: #f9f9f9;
}
.main-content.blue {
    background: url(images/power-white.png) top -50px right -50px no-repeat #21a0dd;
}
.main-content.power {
    background: url(images/power-blue.png) top -100px right -100px no-repeat #f9f9f9;
}
.main-content.red {
    background: url(images/power-red.png) top -50px right -50px no-repeat #f9f9f9;
}
.main-content.fullred {
    background: url(images/power-white.png) top -50px right -50px no-repeat #ed222a;
}
.main-content.fire {
    background: url(images/fire-bg.png) bottom right no-repeat;
}
.main-content.map {
    margin: 0;
}

.main-content-video {
    position: relative;
    display: flex;
    border-bottom: 10px solid #21a0dd;
    width: 100%;
    height: 500px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.service-header {
    display: block;
    margin: 0;
    padding: 20px 0;
}
.sub-service-header {
    display: block;
    margin: 0;
    padding: 20px 0;
}
.service-image {
    display: block;
    margin: 0;
    padding: 0;
}
.service-image:hover {
    animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}
@keyframes shake {
    10%,
    90% {
        transform: translate3d(-1px, 0, 0);
    }
    20%,
    80% {
        transform: translate3d(2px, 0, 0);
    }
    30%,
    50%,
    70% {
        transform: translate3d(-4px, 0, 0);
    }
    40%,
    60% {
        transform: translate3d(4px, 0, 0);
    }
}
.service-text {
    display: block;
    height: 150px;
    margin: 0;
    padding: 0;
}
.service-small-text {
    display: block;
    height: 100px;
    margin: 0;
    padding: 0;
}
.testimonial-image {
    margin: 0;
    padding: 0 0 20px;
}
.testimonial-text {
    height: 200px;
    margin: 0;
    padding: 0;
}
.contact-row {
    width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.document-header {
display: inline-block;
width: 100%;
padding: 0 200px 0 0;
}

.download {
position: relative;
float: right;
margin: -50px 0 0 0;
text-align: left;
}

#email-response {
    display: inline-block;
    margin: 10px 0;
    padding: 0;
}
#footer {
    background: url(images/power-white.png) top -50px right -50px no-repeat #21a0dd;
    width: 100%;
    padding: 80px 0;
    margin: 0;
}
#footer.red {
    background: url(images/power-white.png) top -50px right -50px no-repeat #ed222a;
}
#baseline {
    background: none repeat scroll 0 0 #21a0dd;
    border-top: 3px solid #fff;
    width: 100%;
    padding: 20px 0;
    margin: 0;
}
#baseline.red {
    background: none repeat scroll 0 0 #ed222a;
}
#header-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 215px;
    padding: 20px 10px;
    margin: 0 auto;
}
#menu-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    padding: 0 10px;
    margin: 0 auto;
}
#banner-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 500px;
    padding: 20px 10px;
    margin: 0 auto;
}
.main-content-wrapper {
    width: 100%;
    max-width: 1200px;
    padding: 80px 10px;
    margin: 0 auto;
    overflow: hidden;
}
.columns-wrapper {
    padding: 0;
    margin: 0;
    overflow: hidden;
}
.video-container {
position: relative;
height: 500px;
width: 100%;
max-width: 100%;
overflow: hidden;
}

.ev-logo-wrapper {
position: absolute;
top: 20px;
left:0;
width: 600px;
}

.text-container {
padding: 0;
margin: 0;
}


#footer-wrapper {
    width: 100%;
    max-width: 1160px;
    padding: 0 10px;
    margin: 0 auto;
    overflow: hidden;
}
#baseline-wrapper {
    width: 100%;
    max-width: 1160px;
    padding: 0 10px;
    margin: 0 auto;
    overflow: hidden;
}
.left-column-50 {
    display: block;
    float: left;
    width: 50%;
    padding: 0 25px 0 0;
    margin: 0;
    overflow: hidden;
}
.right-column-50 {
    display: block;
    float: left;
    width: 50%;
    padding: 0 0 0 25px;
    margin: 0;
    overflow: hidden;
}
.left-column-40 {
    display: block;
    float: left;
    width: 40%;
    padding: 0 25px 0 0;
    margin: 0;
    overflow: hidden;
}
.right-column-60 {
    display: block;
    float: left;
    width: 60%;
    padding: 0 0 0 25px;
    margin: 0;
    overflow: hidden;
}
.one-column {
display: block;
float: left;
width: 98%;
background-color: #f9f9f9;
background: url(images/power-blue_350.png) top -20px right -20px no-repeat #f9f9f9;
border: 1px solid #ddd;
border-radius: 7px;
box-shadow: 1px 1px 3px #eee inset;
padding: 40px;
margin: 0 0 40px;
}
.three-column {
    display: block;
    float: left;
    width: 32%;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 7px;
    box-shadow: 1px 1px 3px #eee inset;
    padding: 20px;
    margin: 0 5px;
}
.three-column.blank {
    background-color: #fff;
    border: none;
    box-shadow: none;
}
.three-column.last {
    width: 32%;
}
.left-column-70 {
display: block;
float: left;
width: 70%;
padding: 0 50px 0 0;
margin: 0;
}
.right-column-30 {
display: block;
float: left;
width: 30%;
padding: 0;
margin: 0;
}
.four-column {
    display: block;
    float: left;
    width: 24%;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 7px;
    box-shadow: 1px 1px 3px #eee inset;
    padding: 20px;
    margin: 0 5px;
}
.footer-column-01 {
    display: block;
    float: left;
    width: 36%;
    padding: 0 40px 0 0;
    margin: 0;
    overflow: hidden;
}
.footer-column-02 {
    display: block;
    float: left;
    width: 30%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}
.footer-column-03 {
    display: block;
    float: right;
    width: 33%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}
section {
    padding: 40px 0 0;
    margin: 0;
    overflow: hidden;
}
section.large {
    padding: 80px 0 0;
    margin: 0;
    overflow: hidden;
}
section.short {
    padding: 10px 0 0;
    margin: 0;
    overflow: hidden;
}
section.small {
    padding: 20px 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;
}
section.side {
display: block;
float: left;
width: 100%;
background-color: #f9f9f9;
border: 1px solid #ddd;
border-radius: 7px;
box-shadow: 1px 1px 3px #eee inset;
padding: 20px;
margin: 0 0 40px;
}

video {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
height: 100%;
width: 177.77777778vh;
min-width: 100%;
min-height: 56.25vw;
}

.menu_title {
    display: none;
    position: relative;
    float: right;
    bottom: 0.6em;
    margin-right: 3em;
    color: #fff;
    font-size: 1.1em;
    font-weight: 400;
}
nav a {
    position: relative;
    color: #fff;
    display: block;
    font-size: 1em;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 50px;
    padding: 0 20px;
    text-decoration: none;
}
nav a.first {
    padding: 0 20px 0 0;
}
nav a.last {
    padding: 0 0 0 20px;
}
nav a:hover {
    color: #333;
}
nav ul,
nav ul li {
    height: 50px;
    list-style-type: none;
    padding: 0;
    margin: 0;
	text-indent: unset;
}
nav > ul {
    text-align: left;
}
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;
    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 10ms;
}
.sub-menu-parent:hover .sub-menu {
    visibility: visible;
    opacity: 1;
    z-index: 1;
    transform: translateY(0);
    transition-delay: 0s, 0s, 0.3s;
}
.sub-menu li {
    background: #21a0dd;
    width: 300px;
    height: 50px;
    line-height: 50px;
    border-bottom: 1px solid #ececec;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
    text-align: left;
	text-indent: unset;
	margin: 0;
}
.sub-menu li.red {
    background: #ed222a !important;
}
.sub-menu li a {
    line-height: 50px;
    font-size: 0.9em;
}
.center {
    text-align: center;
}
.left {
    text-align: left;
}
.right {
    text-align: right;
}
.light {
    font-weight: 300;
}
.normal {
    font-weight: 400;
}
.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 #000;
}
.lightshadow {
    text-shadow: 2px 2px 2px #fff;
}
.hidden {
    opacity: 0;
}
.hide {
    display: block;
}
.noover {
    overflow: visible;
}
.clear {
    clear: both;
}
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;
}
header.top {
    padding: 20px 0 0;
    margin: 0;
    overflow: hidden;
}
h1 {
    color: #333;
    font-size: 3.2em;
    letter-spacing: -1px;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1.3em;
}
.text-container h1 {
padding: 0 0 20px 0;
}
h2 {
    color: #333;
    font-size: 2.5em;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1.3em;
}
h2.white {
    color: #fff;
}
.text-container h2 {
padding: 20px 0;
}
h3 {
    color: #333;
    font-size: 1.5em;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1.3em;
}
h3.white {
    color: #fff;
}
h3.blue {
    color: #21a0dd;
}
h3.red {
    color: #ed222a;
}
.text-container h3 {
padding: 20px 0;
}
h4 {
    color: #333;
    font-size: 1.2em;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1.3em;
}
h4.blue {
    color: #21a0dd;
}
h4.red {
    color: #ed222a;
}
.text-container h4 {
padding: 20px 0;
}
h5 {
    color: #333;
    font-size: 1em;
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1.3em;
}
h5.blue {
    color: #21a0dd;
}
h5.red {
    color: #ed222a;
}
.text-container h5 {
padding: 20px 0;
}
p.main-text {
    color: #454545;
    font-size: 1em;
    padding: 0;
    line-height: 1.7em;
}
p.main-text.white {
    color: #fff;
}
p.main-text.blue {
    color: #fff;
}
p.main-text.tiny {
    font-size: 0.75em;
}
p.main-text.small {
    font-size: 0.875em;
}
p.main-text.large {
    font-size: 1.2em;
}
p.contact-text {
    color: #333;
    font-size: 2.8em;
    padding: 0;
    line-height: 1.2em;
}
p.contact-text.small {
    color: #21a0dd;
    font-size: 0.875em;
}
p.contact-text.red {
    color: #ed222a;
    font-size: 0.875em;
}
p.header-text {
    color: #fff;
    font-size: 3.5em;
    padding: 0;
    margin: 0;
    line-height: 1.1em;
    letter-spacing: -1px;
}
p.header-text.blue {
    color: #21a0dd;
}
p.header-text.red {
    color: #ed222a;
}
p.header-text.small {
    color: #333;
    font-size: 1.3em;
    line-height: 1.3em;
}
p.sub-banner-text {
    color: #fff;
    font-size: 3em;
    padding: 0;
    margin: 0;
    line-height: 1.3em;
    letter-spacing: -1px;
}
p.sub-banner-text.small {
    font-size: 2.5em;
}
p.sub-banner-text.blue {
    color: #21a0dd;
}
p.sub-banner-text.red {
    color: #ed222a;
}
p.sub-banner-text.dark {
color: #333333;
font-size: 2em;
}
p.nest-banner-text {
color: #ffffff; 
font-size: 3em; 
padding: 0;
margin: 0;
line-height: 1.3em;
letter-spacing: -1px;
}

p.nest-banner-text.dark {
color: #333333;	
}
p.error-text {
color: #21a0dd;
font-size: 12em;
font-weight: 700;
padding: 0;
line-height: 1em;
}
form#emailForm {
    padding: 0;
    margin: 0;
}
form.cmxform {
    width: 100%;
    color: #454545;
    font-size: 0.9em;
    padding: 10px 0 0;
}
form.cmxform legend {
    padding-left: 0;
}
form.cmxform label,
form.cmxform legend {
    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: 0 0;
}
form.cmxform fieldset fieldset,
form.cmxform fieldset p {
    padding: 10px 0 0;
    background: none repeat scroll 0 0 transparent;
}
form.cmxform label.error,
label.error {
    color: #fff;
    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-bold {
    background: none repeat scroll 0 0 transparent;
    font-weight: 700;
    border: 0 none;
    display: block;
    margin: 10px 0 20px 0;
    outline: 0 none;
    padding: 0;
}
.editor-label-buttons {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    display: inline-block;
    float: right;
    margin: 0 10px 0 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
}
.editor-label-apply-buttons {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    display: inline-block;
    float: left;
    margin: 20px 0 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
}
.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;
}
.editor-field-third {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    display: inline-block;
    width: 33%;
    margin: 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
}
.editor-field-full {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    display: inline-block;
    width: 100%;
    margin: 0;
    outline: 0 none;
    padding: 0;
    vertical-align: baseline;
}
input {
    border: 1px solid #ddd;
}
input.contact {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 7px;
    box-shadow: 1px 1px 3px #eee inset;
    color: #454545;
    font-family: Montserrat, sans-serif;
    font-size: 1em;
    font-weight: 300;
    height: 35px;
    line-height: 18px;
    margin-bottom: 10px;
    padding: 2px 10px;
    width: 90%;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
input.contact:focus {
    border: 2px solid #21a0dd;
}
input.contact.error {
    border: 1px solid red;
}
textarea.contact {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 7px;
    box-shadow: 1px 1px 3px #eee inset;
    color: #454545;
    font-family: Montserrat, sans-serif;
    font-size: 1em;
    font-weight: 300;
    height: 80px;
    line-height: 18px;
    margin-bottom: 10px;
    padding: 10px;
    width: 90%;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}
textarea.contact:focus {
    border: 2px solid #21a0dd;
}
textarea.contact.error {
    border: 1px solid red;
}
textarea.full {
    border: 1px solid #fff;
    border-radius: 5px;
    color: #454545;
    font-family: Montserrat, sans-serif;
    font-size: 1em;
    font-weight: 300;
    height: 200px;
    line-height: 18px;
    margin: 0 auto 25px;
    padding: 10px 5px;
    width: 97%;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
}
textarea.full:focus {
    border: 1px solid #3d2763;
}
textarea.full.error {
    border: 1px solid red;
}
span.requiredfield {
color: #21a0dd;
}
input.submit {
background: #fff;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #333;
cursor: pointer;
font-family: Montserrat, sans-serif;
font-size: 1em;
padding: 15px 25px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.5s ease-in-out;
}
input.submit:hover {
color: #fff;
background-color: #333;
}
input.submit.blue {
background: #21a0dd;
color: #fff;
font-weight: 700;
margin: 20px 0 0;
}
input.submit.blue:hover {
background-color: #333;
}
a.button {
background: #21a0dd;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #fff;
cursor: pointer;
font-family: Montserrat, sans-serif;
font-size: 1em;
font-weight: 600;
padding: 15px 25px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.5s ease-in-out;
}
a.button:hover {
background: #333;
}
a.button.primary {
background: #333;
margin: 0 10px 10px 0;
}
a.button.primary:hover {
background: #21a0dd;
}
a.button.red {
background: #ed222a;
}
a.button.red:hover {
background: #333;
}
a.button.white {
background-color: #fff;
color: #333;
}
a.button-small {
background: #21a0dd;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #fff;
cursor: pointer;
font-family: Montserrat, sans-serif;
font-size: 0.9em;
padding: 10px 20px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.5s ease-in-out;
}
a.button-small:hover {
background: #333;
}
a.button-full {
background: #21a0dd;
border: 0 none;
border-radius: 7px;
display: inline-block;
width: 100%;
color: #fff;
cursor: pointer;
font-family: Montserrat, sans-serif;
font-size: 1em;
padding: 15px 25px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition: all 0.5s ease-in-out;
}
a.button-full:hover {
background: #333;
}

a.link:active,
a.link:link,
a.link:visited {
color: inherit;
font-size: inherit;
text-decoration: none;
margin: 0;
transition: all 0.5s ease-in-out;
}
a.link.under:active,
a.link.under:link,
a.link.under:visited {
color: inherit;
font-size: inherit;
text-decoration: underline;
margin: 0;
transition: all 0.5s ease-in-out;
}
a.footer-link:active,
a.footer-link:link,
a.footer-link:visited {
color: #fff;
font-size: inherit;
font-family: "Open Sans", sans-serif;
text-decoration: none;
margin: 0;
transition: all 0.5s ease-in-out;
}
a.link:hover {
    color: #21a0dd;
    text-decoration: underline;
}
a.link.under:hover {
    color: #21a0dd;
}
a.footer-link:hover {
    text-decoration: underline;
}
a.blank:active,
a.blank:link,
a.blank:visited {
    text-decoration: none;
}
a.social:active,
a.social:link,
a.social:visited {
    display: block;
    text-decoration: none;
    width: 32px;
    height: 32px;
}
a.link.blue {
color: inherit;
}
a.link.blue:hover {
text-decoration: underline;
}
.tel,
.tel:visited {
    color: inherit;
    padding: 0;
    text-decoration: none;
    cursor: default;
}
.tel:focus,
.tel:hover {
    color: inherit;
}
ul.bullets {
    list-style-type: disc;
    list-style-position: inside;
    margin: 10px 0 20px 0;
    padding: 0;
    text-align: left;
}
ul.bullets li {
    color: #21a0dd;
    padding: 0;
    margin-bottom: 5px;
    margin-left: 2em;
    text-indent: -1em;
}
span.bullets {
    color: #454545;
    font-size: 1em;
    line-height: 1.7em;
}
.featureList,
.featureList ul {
    padding-left: 2em;
    margin: 0;
    list-style-type: none;
    font-size: 1em;
    line-height: 1.5em;
    color: #fff;
    text-align: left;
}
.lineF {
    padding-left: 4em;
    margin-top: 0;
}
.featureList li:before {
    position: absolute;
    margin-left: -1.3em;
}
.featureList li.gthan:before {
    content: "\003E";
    color: #fff;
}
.featureList li {
    margin: 0 0 15px 0;
	text-indent: none;
	text-indent: unset;
}
ul.social {
    list-style: none outside none;
    margin: 0;
    padding: 0;
}
ul.social li {
    display: block;
    float: right;
    cursor: pointer;
    height: 32px;
    line-height: 40px;
    width: 32px;
    text-align: center;
    padding: 0;
    margin: 0 5px 0;
	text-indent: unset;
}
ul.social.contact li {
    float: none;
}
ul.social li.facebook {
    background: url(images/facebook.png) no-repeat 0 0;
}
ul.social li.facebook:hover {
    background: url(images/facebook-red.png) no-repeat 0 0;
}
img {
    border: 0;
    height: auto;
    max-width: 100%;
}
img.logo {
    border: 0;
    height: auto;
    max-width: 100%;
    margin: 0 40px;
}
img.logo.first {
    margin: 0 40px 0 0;
}
img.logo.last {
    margin: 0 0 0 40px;
}
img.spin {
    border: 0;
    height: auto;
    max-width: 100%;
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
}
img.spin:hover {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
}

/*===== Slider =====*/
img.slider {
height: 80px;
margin: 0 40px;
}

.my-slider {
height: 80px;
margin: 0 auto;
width: 100%;
}

.my-slider ul {
height: 80px;
list-style-type: none; 
margin: 0;
overflow: hidden;
}

.my-slider li {
float: left;
margin: 0;
text-indent: unset;
}

/*===== 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; }

/*===== TrustPilot =====*/
.trustpilot-widget iframe {
right: -70px !important;
position: absolute;
}

div.trust-position {
position: absolute;
right: 0px;
width: 323px;
height: 52px;
margin: 20px 0 0;
}

.tp-widget-wrapper {
text-align: right !important;
}

/*===== MeanMenu =====*/
a.meanmenu-reveal{display:none}.mean-container .mean-bar{float:left;width:100%;position:relative;padding:0;min-height:42px;z-index:999999}.mean-container a.meanmenu-reveal{width:22px;height:22px;padding:13px 13px 11px;position:absolute;top:0;right:0;cursor:pointer;color:#fff;text-decoration:none;text-indent:-9999em;line-height:22px;font-size:1px;display:block;font-family:'Open Sans',sans-serif;font-weight:400}.mean-container a.meanmenu-reveal span{display:block;background:#fff;height:2px;margin-top:4px}.mean-container .mean-nav{float:left;width:100%;margin-top:24px}.mean-container .mean-nav ul{padding:0;margin:0;width:100%;list-style-type:none}.red .mean-bar nav ul li.main-menu{background-color:#ed222a}.red .mean-bar nav ul li.sub-menu-parent{background-color:#ed222a}.mean-container .mean-nav ul li{position:relative;background-color:#21a0dd;float:left;width:100%;text-indent: unset;margin: 0;}.mean-container .mean-nav ul li a{display:block;float:left;width:100%;padding:0 0 0 10px;margin:0;text-align:left;color:#fff;border-top:1px solid #f9f9f9;text-decoration:none;text-transform:uppercase}.mean-container .mean-nav ul li a.mean-expand:hover,.mean-container .mean-nav ul li a:hover{color:#333}.mean-container .mean-nav ul li li a{width:100%;padding:0 0 0 20px;text-shadow:none!important;visibility:visible}.mean-container .mean-nav ul li.mean-last a{height:48px;border-bottom:2px solid #333;margin-bottom:0}.mean-container .mean-nav ul li a.mean-expand{margin-top:1px;width:40px;height:40px;padding:0 20px 10px 12px;text-align:center;position:absolute;right:0;top:0;z-index:2;font-weight:700;background:rgba(255,255,255,.1);border:none!important;border-left:1px solid #cbcbcb!important}.mean-container .mean-push,.mean-nav .wrapper{width:100%;padding:0;margin:0}.mean-container .mean-push{float:left;clear:both}.mean-container .mean-bar,.mean-container .mean-bar *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.mean-remove{display:none!important}

/*===== Lightbox ======*/
.nivo-lightbox-content,.nivo-lightbox-overlay{height:100%;width:100%}.nivo-lightbox-overlay{position:fixed;top:0;left:0;z-index:999999;overflow:hidden;visibility:hidden;opacity:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.nivo-lightbox-overlay.nivo-lightbox-open{visibility:visible;opacity:1}.nivo-lightbox-wrap{position:absolute;top:10%;bottom:10%;left:10%;right:10%}.nivo-lightbox-title-wrap{position:absolute;bottom:0;left:0;width:100%;z-index:99999;text-align:center}.nivo-lightbox-nav{display:none}.nivo-lightbox-prev{position:absolute;top:50%;left:0}.nivo-lightbox-next{position:absolute;top:50%;right:0}.nivo-lightbox-close{position:absolute;top:2%;right:2%}.nivo-lightbox-image{text-align:center}.nivo-lightbox-image img{max-width:100%;max-height:100%;width:auto;height:auto;vertical-align:middle}.nivo-lightbox-content iframe,.nivo-lightbox-error{width:100%;height:100%}.nivo-lightbox-ajax{max-height:100%;overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.nivo-lightbox-error{display:table;text-align:center;color:#fff;text-shadow:0 1px 1px #000}.nivo-lightbox-error p{display:table-cell;vertical-align:middle}.nivo-lightbox-effect-fade,.nivo-lightbox-effect-fadeScale,.nivo-lightbox-effect-fall,.nivo-lightbox-effect-slideDown,.nivo-lightbox-effect-slideLeft,.nivo-lightbox-effect-slideRight,.nivo-lightbox-effect-slideUp{-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-ms-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap{-webkit-transition:all .3s;-moz-transition:all .3s;-ms-transition:all .3s;-o-transition:all .3s;transition:all .3s;-webkit-transform:scale(.7);-moz-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap,.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap,.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap,.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap{-webkit-transition:all .3s cubic-bezier(.25, .5, .5, .9);-moz-transition:all .3s cubic-bezier(.25, .5, .5, .9);-ms-transition:all .3s cubic-bezier(.25, .5, .5, .9);-o-transition:all .3s cubic-bezier(.25, .5, .5, .9);transition:all .3s cubic-bezier(.25, .5, .5, .9)}.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap{-webkit-transform:translateX(-10%);-moz-transform:translateX(-10%);-ms-transform:translateX(-10%);transform:translateX(-10%)}.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap{-webkit-transform:translateX(10%);-moz-transform:translateX(10%);-ms-transform:translateX(10%);transform:translateX(10%)}.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap,.nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap{-webkit-transform:translateY(-10%);-moz-transform:translateY(-10%);-ms-transform:translateY(-10%);transform:translateY(-10%)}.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap{-webkit-transform:translateY(10%);-moz-transform:translateY(10%);-ms-transform:translateY(10%);transform:translateY(10%)}.nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap,.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall{-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.nivo-lightbox-effect-fall .nivo-lightbox-wrap{-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-ms-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;-webkit-transform:translateZ(300px);-moz-transform:translateZ(300px);-ms-transform:translateZ(300px);transform:translateZ(300px)}.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}.nivo-lightbox-theme-default.nivo-lightbox-overlay{background:#666;background:rgba(0,0,0,.8)}.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading{background:url(images/loading.gif) 50% 50% no-repeat}.nivo-lightbox-theme-default .nivo-lightbox-nav{top:10%;width:8%;height:80%;text-indent:-9999px;background-repeat:no-repeat;background-position:50% 50%;opacity:.5}.nivo-lightbox-theme-default .nivo-lightbox-nav:hover{opacity:1;background-color:rgba(0,0,0,.5)}.nivo-lightbox-theme-default .nivo-lightbox-prev{background-image:url(images/prev.png);border-radius:0 3px 3px 0}.nivo-lightbox-theme-default .nivo-lightbox-next{background-image:url(images/next.png);border-radius:3px 0 0 3px}.nivo-lightbox-theme-default .nivo-lightbox-close{display:block;background-image:url(images/close.png);width:16px;height:16px;text-indent:-9999px;padding:5px;opacity:.5}.nivo-lightbox-theme-default .nivo-lightbox-close:hover{opacity:1}.nivo-lightbox-theme-default .nivo-lightbox-title-wrap{bottom:-7%}.nivo-lightbox-theme-default .nivo-lightbox-title{font:14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;background:#000;color:#fff;padding:7px 15px;border-radius:30px}.nivo-lightbox-theme-default .nivo-lightbox-image img{background:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.4);-moz-box-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 1px 1px rgba(0,0,0,.4)}.nivo-lightbox-theme-default .nivo-lightbox-ajax,.nivo-lightbox-theme-default .nivo-lightbox-inline{background:#fff;padding:40px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.4);-moz-box-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:0 1px 1px rgba(0,0,0,.4)}@media (-webkit-min-device-pixel-ratio:1.3),(-o-min-device-pixel-ratio:2.6/2),(min--moz-device-pixel-ratio:1.3),(min-device-pixel-ratio:1.3),(min-resolution:1.3dppx){.nivo-lightbox-theme-default .nivo-lightbox-content.nivo-lightbox-loading{background-image:url(images/loading@2x.gif);background-size:32px 32px}.nivo-lightbox-theme-default .nivo-lightbox-prev{background-image:url(images/prev@2x.png);background-size:48px 48px}.nivo-lightbox-theme-default .nivo-lightbox-next{background-image:url(images/next@2x.png);background-size:48px 48px}.nivo-lightbox-theme-default .nivo-lightbox-close{background-image:url(images/close@2x.png);background-size:16px 16px}}

/*===== Owl =====*/
.owl-theme .owl-controls {
    margin-top: 10px;
    text-align: center
}

.owl-theme .owl-controls .owl-buttons div {
    color: #FFF;
    display: inline-block;
    zoom: 1;
    margin: 5px;
    padding: 3px 10px;
    font-size: 12px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    background: #869791;
    filter: Alpha(Opacity=50);
    opacity: .5
}

.owl-theme .owl-controls.clickable .owl-buttons div:hover {
    filter: Alpha(Opacity=100);
    opacity: 1;
    text-decoration: none
}

.owl-theme .owl-controls .owl-page {
    display: inline-block;
    zoom: 1
}

.owl-theme .owl-controls .owl-page span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 5px 7px;
    filter: Alpha(Opacity=50);
    opacity: .5;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background: #fff
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
    filter: Alpha(Opacity=100);
    opacity: 1
}

.owl-theme .owl-controls .owl-page span.owl-numbers {
    height: auto;
    width: auto;
    color: #FFF;
    padding: 2px 10px;
    font-size: 12px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px
}

.owl-item.loading {
    min-height: 150px;
    background: url(AjaxLoader.gif) center center no-repeat
}

.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel,
.owl-carousel .owl-wrapper {
    display: none;
    position: relative
}

.owl-carousel {
    width: 100%;
    padding: 40px 0;
    -ms-touch-action: pan-y
}

.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%
}

.owl-carousel .owl-wrapper-outer.autoHeight {
    -webkit-transition: height .5s ease-in-out;
    -moz-transition: height .5s ease-in-out;
    -ms-transition: height .5s ease-in-out;
    -o-transition: height .5s ease-in-out;
    transition: height .5s ease-in-out
}

.owl-carousel .owl-item {
    float: left
}

.owl-controls .owl-buttons div,
.owl-controls .owl-page {
    cursor: pointer
}

.owl-controls {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent
}

.grabbing {
    cursor: url(grabbing.png) 8 8, move
}

.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-item {
padding: 0 5px;
}

.owl-column {
background-color: #f9f9f9;
border: 1px solid #ddd;
border-radius: 7px;
box-shadow: 1px 1px 3px #eee inset;
padding: 20px;
}

/*===== News Section =====*/
#banner-short {
position: relative;
background-position: center center; 
background-repeat: no-repeat;
background-size: cover;
border-bottom: 10px solid #21a0dd;
margin: 0;
padding: 0;
height: 300px;
width: 100%;
z-index: 50;
}

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

.flex-gallery-wrapper {
display: flex;
flex-flow: row wrap;
align-items: stretch;
gap: 20px;
}

.gallery-column {
width: calc(33.333% - 20px);
padding: 0;
margin: 0;
}

.project-gallery-wrapper {
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
border-radius: 15px;
display: block;
float: left;
width: 100%;
height: 350px;
padding: 0;
margin: 0;
}

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

.news-content {
order: 1;
width: 50%;
background: #ffffff;
border-radius: 15px 0 0 15px;
padding: 80px 40px;
margin: 0;
}

.news-content.grey {
background: #f0f1f2;
border-right: 5px solid #fcfcfc;
}

.news-image {
order: 2;
background-image: url("images/news-placeholder.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
border-radius: 0 15px 15px 0;
width: 50%;
padding: 0 0 0 5px;
margin: 0;
}

.news-image.grey {
border-left: 5px solid #fcfcfc;
}

/*===== Wordpress =====*/
span.date, span.author, span.post-date {
font-family: 'Montserrat', sans-serif;
font-size: 0.875em;
font-weight: 400;
font-style: italic;
line-height: 1.5em;
display: inline-block;
margin: 0 0 20px 0;
}

/*===== Page Navi Styles =====*/
.wp-pagenavi {
position: relative;
height: 50px;
padding: 10px 0 0;
}

.wp-pagenavi a, .wp-pagenavi span {
padding: 7px 10px !important; 
margin-right: 10px !important;
font-family: 'Montserrat', sans-serif;
font-size: 15px; 
color: #333333; 
text-decoration: none;
border: 1px solid #21a0dd; 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
border-radius: 5px;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
background: #21a0dd;
color: #ffffff;
border: 1px solid #21a0dd;
}

.wp-pagenavi span.current { 
font-weight: bold; 
}

/*===== WP Form =====*/
form.search {
margin: 0 0 30px 0;
}

/*===== Search Box =====*/
input.search-input {
border: 1px solid #959595;
color: #2b2b2b;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
height: 35px;
line-height: 18px;
padding: 2px 3px;
margin-bottom: 10px;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}

button.search-submit {
background-color: transparent;
display: inline-block;
border: none;
padding: 10px 0 0 10px;
position: relative;
cursor: pointer;
color: #6c7755; 
font-size: 1em; 
font-family: 'Montserrat', sans-serif;
font-weight: 400;
}

button.search-submit::after {
border-right: 2px solid #6c7755;
border-top: 2px solid #6c7755;
content: "";
display: inline-block;
height: 0.4em;
transform: rotate(45deg);
width: 0.4em;
margin-bottom: 1px;
margin-left: 3px;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}

button.search-submit:hover::after {
margin-left: 15px;	
}

/*===== WP Widgets =====*/
input.wpcf7-text {
border: 1px solid #ffffff;
border-radius: 5px;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
font-weight: 400;
height: 30px;
line-height: 18px;
margin: 0 auto 10px;
padding: 5px;
width: 95%;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}

input.wpcf7-text:focus {
border: 1px solid #3d2763;
}

input.wpcf7-text.error {
border: 1px solid #ffffff;
}

textarea.wpcf7-textarea {
border: 1px solid #ffffff;
border-radius: 5px;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
font-weight: 400;
height: 50px;
line-height: 18px;
margin: 0 auto 10px;
padding: 10px 5px;
width: 95%;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}

textarea.wpcf7-textarea:focus {
border: 1px solid #3d2763;
}

textarea.wpcf7-textarea.error {
border: 1px solid #ffffff;
}

select.wpcf7-select {
border: 1px solid #ffffff;
border-radius: 5px;
color: #454545;
font-family: 'Montserrat', sans-serif;
font-size: 1em;
height: 47px;
line-height: 18px;
margin: 0 auto 15px;
padding: 5px;
width: 97%;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out; 
-o-transition: all 0.5s ease-in-out; 
-ms-transition: all 0.5s ease-in-out;
}

.wpcf7-radio {
font-family: 'Montserrat', sans-serif;
font-size: 1em !important;
}

.wpcf7-list-item-label {
font-size: 1em !important;
}

input.wpcf7-submit {
background: #21a0dd;
border: 0 none;
border-radius: 7px;
display: inline-block;
color: #fff;
cursor: pointer;
font-family: 'Montserrat', sans-serif;
font-size: 0.9em;
font-weight: 600;
padding: 10px 20px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
-webkit-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
-ms-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}

input.wpcf7-submit:hover {
background: #333333;
}

div.wpcf7-response-output {
float: left;
width: 95%;
font-size: 0.9em;
font-weight: 300;
line-height: 1.3em;
margin: 1em 0 1em !important;
padding: 10px 1em !important;
}

span.wpcf7-not-valid-tip {
color: #a40019;
margin: 0 0 20px 0;	
}

/*===== Images =====*/
img.alignright {float:right; margin:0 0 1em 1em}
img.alignleft {float:left; margin:0 1em 1em 0}
img.aligncenter {display: block; margin-left: auto; margin-right: auto}
img.alignnone {float:left; margin:0 1em 1em 0}
a img.alignright {float:right; margin:0 0 1em 1em}
a img.alignleft {float:left; margin:0 1em 1em 0}
a img.aligncenter {display: block; margin-left: auto; margin-right: auto}
a img.alignnone {float:left; margin:0 1em 1em 0}


/*********************************************************************/
@media screen and (max-width: 480.99px) and (min-width: 320px) {
    #header-wrapper {
        height: auto;
        padding: 10px 0;
        overflow: hidden;
		text-align: center;
    }
    #logo {
        width: 100%;
        text-align: center;
    }
	.logo-blue {
width: 150px;
padding: 0 10px 0 0;
}
.logo-red {
width: 150px;
padding: 0;
}
    #contact-details {
        position: relative;
        right: unset;
        top: unset;
        width: 100%;
        text-align: center;
    }
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
	
#header-social {
margin: 0 auto;
}

ul.social {
width: 100px;
margin: 0 auto;
}
	
#banner-01 {
height: 350px;
}

#banner-02 {
height: 350px;
}

#banner-03 {
height: 350px;
}

.sub-banner-thermostat {
height: 350px;	
}

.sub-banner-camera {
height: 250px;
}

.sub-banner-smoke {
height: 250px;
}

.document-header {
display: block;
padding: 0 0 20px 0;
}

.download {
float: left;
margin: 0;
}

.nest-banner-content {
bottom: unset;
top: 20px;
right: unset;
}
    #banner-wrapper {
        height: 350px;
    }
    .main-content.fire {
        background-image: none;
    }
    .service-text {
        height: auto;
    }
    .service-small-text {
        height: auto;
    }
    .testimonial-text {
        height: auto;
    }
    .four-column {
        width: 98%;
        margin: 0 0 5px 0;
    }
    .three-column {
        width: 98%;
        margin: 0 0 10px;
    }
    .three-column.last {
        width: 98%;
        margin: 0;
    }
    .left-column-50 {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .right-column-50 {
        width: 100%;
        padding: 40px 0 0;
    }
    .left-column-40 {
        width: 100%;
        padding: 0;
    }
    .right-column-60 {
        width: 100%;
        padding: 40px 0 0;
        text-align: center;
    }
    .footer-column-01 {
        width: 100%;
        padding: 0;
    }
    .footer-column-02 {
        width: 100%;
        padding: 40px 0 0;
    }
    .footer-column-03 {
        width: 100%;
        padding: 80px 0 0;
        text-align: center;
    }
    .editor-field-third {
        width: 100%;
    }
    textarea.full {
        width: 91.5%;
    }
    .editor-label-buttons {
        float: none;
        margin: 20px 0 0;
    }
    h1 {
        font-size: 2em;
    }
	h3 {
	font-size: 1.2em;
	}
    p.contact-text {
        font-size: 1.8em;
    }
    p.header-text {
        font-size: 2em;
    }
    p.sub-banner-text {
        font-size: 2em;
    }
    p.sub-banner-text.small {
        font-size: 1.8em;
    }
	p.nest-banner-text {
font-size: 1.6em;
}
    img.logo {
        display: block;
        margin: 0 auto 40px;
        padding: 0;
    }
    img.logo.first {
        margin: 0 auto 40px;
        padding: 0;
    }
    img.logo.last {
        margin: 0 auto;
        padding: 0;
    }
	
.sub-banner {
background: url(images/banner-ev-mobile.jpg) top right -50px no-repeat #fff;
background-size: auto;
background-size: cover;
height: 275px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 280px;
}

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

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

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

.project-gallery-wrapper {
height: 250px;	
}

.gallery-column {
width: calc(100% - 10px);
}
	
}

@media screen and (max-width: 694.99px) and (min-width: 481px) {
.logo-blue {
width: 200px;
padding: 0 10px 0 0;
}
.logo-red {
width: 200px;
padding: 0;
}
    #header-wrapper {
        height: auto;
        padding: 10px 0;
		text-align: center;
        overflow: hidden;
    }
    #logo {
        width: 100%;
        text-align: center;
    }
    #contact-details {
        position: relative;
        right: unset;
        top: unset;
        width: 100%;
        text-align: center;
    }
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
    #banner-wrapper {
        height: 400px;
    }
    .main-content.fire {
        background-image: none;
    }
    .service-header {
        height: 80px;
    }
    .service-text {
        height: 200px;
    }
    .testimonial-text {
        height: auto;
    }
    .sub-service-header {
        height: 80px;
    }
    .four-column {
        width: 48%;
        margin: 0 5px 5px 0;
    }
    .three-column {
        width: 98%;
        margin: 0 0 10px;
    }
    .three-column.last {
        width: 98%;
        margin: 0;
    }
    .left-column-50 {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .right-column-50 {
        width: 100%;
        padding: 40px 0 0;
    }
    .left-column-40 {
        width: 100%;
        padding: 0;
    }
    .right-column-60 {
        width: 100%;
        padding: 40px 0 0;
        text-align: center;
    }
    .footer-column-01 {
        width: 50%;
    }
    .footer-column-02 {
        width: 50%;
        padding: 0;
    }
    .footer-column-03 {
        width: 100%;
        padding: 80px 0 0;
        text-align: center;
    }
    .editor-field-third {
        width: 100%;
    }
    textarea.full {
        width: 91.5%;
    }
    .editor-label-buttons {
        float: none;
        margin: 20px 0 0;
    }
    h1 {
        font-size: 2.5em;
    }
	h3 {
	font-size: 1.3em;
	}
    p.contact-text {
        font-size: 2em;
    }
    p.header-text {
        font-size: 2.5em;
    }
    p.sub-banner-text {
        font-size: 2.2em;
    }
    p.sub-banner-text.small {
        font-size: 2em;
    }
	p.nest-banner-text {
font-size: 1.6em;
}

#header-social {
margin: 0 auto;
}
    ul.social {
        width: 100px;
        margin: 0 auto;
    }
    img.logo {
        margin: 0 0 40px 0;
        padding: 0 20px;
    }
    img.logo.first {
        margin: 0 0 40px 0;
        padding: 0 20px 0 0;
    }
    img.logo.last {
        margin: 0 0 40px 0;
        padding: 0 0 0 20px;
    }

.sub-banner {
background: url(images/banner-ev-mobile.jpg) top right -50px no-repeat #fff;
background-size: auto;
background-size: cover;
height: 275px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 350px;
}

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

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

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

.project-gallery-wrapper {
height: 250px;	
}

.gallery-column {
width: calc(50% - 10px);
}
	
}

@media screen and (max-width: 768.99px) and (min-width: 695px) {
.logo-blue {
width: 160px;
display: block;
padding: 0;
}
.logo-red {
width: 160px;
display: block;
padding: 0;
margin: 0 0 0 50px;
}
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
    .four-column {
        width: 48%;
        margin: 0 5px 5px 0;
    }
    .three-column {
        width: 48%;
        margin: 0 5px 10px;
    }
    .three-column.last {
        width: 98%;
        margin: 0 5px;
    }
    .left-column-50 {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .right-column-50 {
        width: 100%;
        padding: 40px 0 0;
    }
    .left-column-40 {
        width: 100%;
        padding: 0;
    }
    .right-column-60 {
        width: 100%;
        padding: 40px 0 0;
        text-align: center;
    }
    .editor-field-third {
        width: 32%;
    }
    textarea.full {
        width: 94.5%;
    }
    h1 {
        font-size: 3em;
    }
    p.header-text {
        font-size: 3.2em;
    }
    img.logo {
        margin: 0 0 20px 0;
        padding: 0 20px;
    }
    img.logo.first {
        margin: 0 0 20px 0;
        padding: 0 20px 0 0;
    }
    img.logo.last {
        margin: 0 0 20px 0;
        padding: 0 0 0 20px;
    }
	
.sub-banner {
background: url(images/banner-ev.jpg) top right -50px no-repeat #fff;
background-size: auto;
background-size: cover;
height: 300px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 375px;
}

p.sub-banner-text.dark {
font-size: 1.7em;
}

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

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

.project-gallery-wrapper {
height: 250px;	
}

.gallery-column {
width: calc(50% - 10px);
}

}

@media screen and (max-width: 919.99px) and (min-width: 769px) {
.logo-blue {
width: 200px;
}
.logo-red {
width: 200px;
}
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
    .service-header {
        height: 80px;
    }
    .service-text {
        height: 200px;
    }
    .testimonial-text {
        height: 300px;
    }
    .sub-service-header {
        height: 80px;
    }
    .service-small-text {
        height: 125px;
    }
    .four-column {
        padding: 20px 10px;
        margin: 0 2.5px;
    }
    .editor-field-third {
        width: 32%;
    }
    textarea.full {
        width: 94.5%;
    }
    img.logo {
        margin: 0 20px;
    }
    img.logo.first {
        margin: 0 20px 0 0;
    }
    img.logo.last {
        margin: 0 0 0 20px;
    }
	
.sub-banner {
background: url(images/banner-ev.jpg) top right -50px no-repeat #fff;
background-size: auto;
background-size: cover;
height: 300px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 450px;
}

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

.project-gallery-wrapper {
height: 300px;	
}
	
}

@media screen and (max-width: 978.99px) and (min-width: 920px) {
    .service-text {
        height: 150px;
    }
    .testimonial-text {
        height: 270px;
    }
    .sub-service-header {
        height: 80px;
    }
    .service-header {
        height: 80px;
    }
    .service-text {
        height: 175px;
    }
    .four-column {
        padding: 20px 10px;
        margin: 0 2.5px;
    }
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
	input.contact {
width: 92%;
}

p.nest-banner-text {
font-size: 2em;
}

img.logo {
margin: 0 20px 40px;
}

img.logo.first {
margin: 0 20px 40px 0;
}

img.logo.last {
margin: 0 0 40px 20px;
}

.sub-banner {
height: 300px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 450px;
}

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

.project-gallery-wrapper {
height: 300px;	
}

}


@media screen and (max-width: 1036.99px) and (min-width: 979px) {
    .testimonial-text {
        height: 250px;
    }
    .sub-service-header {
        height: 80px;
    }
    .service-header {
        height: 80px;
    }
    .service-text {
        height: 175px;
    }
    .four-column {
        margin: 0 2.5px;
    }
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
img.logo {
margin: 0 20px 40px;
}

img.logo.first {
margin: 0 20px 40px 0;
}

img.logo.last {
margin: 0 0 40px 20px;
}

.sub-banner {
height: 300px;
}

.ev-banner-content {
bottom: 30px;
left: 20px;
}

.ev-logo-wrapper {
width: 450px;
}

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

.project-gallery-wrapper {
height: 300px;	
}

}

@media screen and (max-width: 1155.99px) and (min-width: 1037px) {
    .sub-service-header {
        height: 80px;
    }
    .service-header {
        height: 80px;
    }
    .menu_title {
        display: block !important;
    }
    .sub-menu-parent {
        background-image: none;
    }
img.logo {
margin: 0 20px 40px;
}

img.logo.first {
margin: 0 20px 40px 0;
}

img.logo.last {
margin: 0 0 40px 20px;
}

.sub-banner {
height: 350px;
}

.ev-logo-wrapper {
width: 500px;
}

.sub-banner {
height: 325px;
}

.ev-banner-content {
left: 20px;
}

.ev-logo-wrapper {
width: 450px;
}

}

@media screen and (max-width: 1212.99px) and (min-width: 1156px) {
    nav > ul {
        text-align: center;
    }
    nav a {
        padding: 0 15px;
    }
    nav a.first {
        padding: 0 15px 0 0;
    }
    nav a.last {
        padding: 0 0 0 15px;
    }
img.logo {
margin: 0 20px 40px;
}

img.logo.first {
margin: 0 20px 40px 0;
}

img.logo.last {
margin: 0 0 40px 20px;
}

.sub-banner {
height: 350px;
}

.ev-logo-wrapper {
width: 500px;
}

}