/*!
Theme Name: gdw
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: gdw
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

gdw is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */



iframe {
	width:100%;
}


/*--------------------------------------------------------------
# Containers
--------------------------------------------------------------*/

.site {
	margin: auto;
    overflow-x: hidden;
}


.container-xl {
	max-width: 1400px;
	margin: auto;
	padding: 0 30px;
    position: relative;
}
.header-wrap,
.container {
	max-width: 2000px;
	margin: auto;
	padding: 0 3vw;
    position: relative;
}



.container-lg {
	max-width: 1000px;
   margin: auto;
    position: relative;
}

.container-md {
  max-width: 800px;
  margin: 0;
  padding: 0;
}

.container-sm {
	max-width: 700px;
   margin: auto;
    position: relative;
}


.container-step {
    max-width:1300px;
    margin: auto;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

body, optgroup, textarea {
  color: #000;
font-family: "indivisible", sans-serif;
font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
    letter-spacing: .3px;
}
button, .buttonlink a {
  font-family: gill-sans-nova-condensed, sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #000;
}
a, a:visited {
	color: #000;
}
h1, h2, h3, h4, h5, h6 {
	clear: both;
    letter-spacing: -0.03em;
    line-height: 1.1;
}

h1 {
      font-size: 50px;
}
.home h1 {
    font-size: 35px;
    max-width: 500px;
}
h2 {
  font-size: 30px;
  margin-bottom: 25px;
}

.login h1,
.login,
.login h1 a {
  color: transparent !important;
}




h3 {
    font-size: 30px;
    margin-bottom: 1em;
}

h4 {
  font-size: 20px;
  font-weight: 400;
}
.single-post h4 {
        margin-top: 1.5em;
    margin-bottom: 0.5rem;
}


h5 {
	font-size: 19px;
	margin-bottom: 10px;
}

.large-text {
    font-size: 20px;
}
/*--------------------------------------------------------------
# Choose Colours
--------------------------------------------------------------*/
.bg-1 {
  background: #f1f1f1;
}

.bg-2 {
  background: #6b6e2d;
    color:#fff;
}
.bg-2 a {
    color:#fff;
}
.bg-3 {
	background: #ccc;
}
.post-type-archive-services .colourarchive  .highcontent,
.post-type-archive-services .colourarchive  .site-content,
.bg-4 {
	background: #17342c;
    color:#fff;
}
.post-type-archive-services .colourarchive .site-header a,
.post-type-archive-services .colourarchive .highcontent a,
.post-type-archive-services .colourarchive .site-content a,
.bg-4 a {
    color:#fff;
}

.post-type-archive-case-studies .colourarchive  .highcontent,
.post-type-archive-case-studies .colourarchive  .site-content,
.bg-5 {
	background: #17342c;
    color:#fff;
}
.post-type-archive-case-studies .colourarchive .site-header a,
.post-type-archive-case-studies .colourarchive .highcontent a,
.post-type-archive-case-studies .colourarchive .site-content a,
.bg-5 {
    color:#fff;
}

.archive .colourarchive,
.archive .colourarchive  .highcontent,
.archive .colourarchive  .site-content,
.bg-6 {
	background: #17342c;
    color:#fff;
}
.archive .colourarchive .site-header a,
.archive .colourarchive .highcontent a,
.archive .colourarchive .site-content a,
.bg-6 {
    color:#fff;
}


.site-footer {
 background: #252525;
 color: #fff;
 padding: 10vh 0 3vh;
    font-size:0.9em;
}
.site-footer a {
    color:#fff;
}
.main-navigation a {
font-size: 20px;
    font-weight: 300;
}
.main-navigation a:hover,
    .extra-menu-items a:hover {
    color:#000
}

.topbar a,
.header-page h1 {
	 color: #fff;
}

a:hover, a:focus, a:active {
	 color: #65abae;
}

.site-footer .fa:hover,
ul#footer-menu-1 a:hover, ul#footer-menu-2 a:hover,
.site-info a:hover,
.site-footer a:hover {
	 color:#65abae !important;
}

.main-navigation ul ul a:hover,
.main-navigation li:hover > a {
    color:#fff !important;
}

.site-footer input[type="submit"]:hover {
    background: #ddd;
    color: #000;
}

.c-hamburger span,
.c-hamburger span::before,
.c-hamburger span::after {
  background-color:#fff;
}

.main-navigation.toggled .c-hamburger span,
.main-navigation.toggled .c-hamburger span::before,
.main-navigation.toggled .c-hamburger span::after {
      background-color:#000 !important;
}

.main-navigation.toggled .c-hamburger--htx.is-active span {
  background-color: transparent !important;
}


/*Home scroll header*/
#site-navigation-sticky .c-hamburger span,
#site-navigation-sticky .c-hamburger span::before,
#site-navigation-sticky .c-hamburger span::after {
  background-color:#000;
}


.topbar {
    background: #e9edb5;
    color: #fff;
    font-size: 0.8em;
}

.topbar a:hover  {
    color: #ddd;
} 

.intro-2 {
    max-width:600px;
}
.wpgmza_map {
  border-radius: 5px;
}

/*--------------------------------------------------------------
# Padding
--------------------------------------------------------------*/

.pad-1-0 {
	padding: 1em 0;
}

.pad-2-0 {
	padding: 2em 0;
}

.pad-3-0 {
	padding: 3em 0;
}

.pad-4-0 {
	padding: 5em 0;
}

.pad-1-1 {
	padding: 1em 1em;
}

.pad-2-1 {
	padding: 2em 1em;
}

.pad-3-1 {
	padding: 3em 1em;
}

.pad-4-1 {
	padding: 4em 1em;
}

.pad-1-2 {
	padding: 1em 2em;
}

.pad-2-2 {
	padding: 2em 2em;
}

.pad-3-2 {
	padding: 3em 2em;
}

.pad-4-2 {
	padding: 4em 2em;
}

.pad-1-3 {
	padding: 1em 3em;
}

.pad-2-3 {
	padding: 2em 3em;
}

.pad-3-3 {
	padding: 3em 3em;
}

.pad-4-3 {
	padding: 4em 3em;
}

.pad-1-4 {
	padding: 1em 4em;
}

.pad-2-4 {
	padding: 2em 4em;
}

.pad-3-4 {
	padding: 3em 4em;
}

.pad-4-4 {
	padding: 4em 4em;
}

.pad-4-5 {
	padding: 4em 5em;
}

.pad-5-6 {
	padding: 5em 6em;
}

.pad-6-7 {
	padding: 6em 7em;
}

.pad-0-1 {
	padding: 0 1em;
}

.pad-0-2 {
	padding: 0 2em;
}

.pad-0-3 {
	padding: 0 3em;
}

.pad-0-4 {
	padding: 0 4em;
}

.pad-3-0-2 {
    padding: 3em 0 2em;
}

.pad-4-0-3 {
    padding: 4em 0 3em;
}

.pad-5-0-4 {
    padding: 5em 0 4em;
}

.pad-6-0-5 {
    padding: 6em 0 5em;
}

.pad-7-0-6 {
    padding: 7em 0 6em;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
ul.menu {
    list-style: none;
}
.site-info {
  font-size: 13px;
  padding-top: 5em;
}
.site-info-2 {
font-size: 12px;
 padding-top: 7px;
 color: #919191;
}
.site-info-2 .row .col-md-6:nth-child(2),
.site-info .row .col-md-6:nth-child(2) {
    text-align: right;
}
.site-info-2 a {
 color: #919191;
}
.site-info-2 a:hover {
color: #65ABAE;
}


.footermenu {
  float: right;
    width:100%;
    max-width: 165px;
}

.footermenu .social {
    padding-top:2em;
}


.site-footer img {
	max-width: 200px;
   width: 100%;
   margin-bottom: 20px;
}

.site-footer .fa {
	 transition: 0.3s ease-in-out;
}

ul#footer-menu-1, ul#footer-menu-2 {
    margin: 0;
    padding: 0;
    list-style: none;
      line-height: 1.7;
}

.contact-block {
max-width: 165px;
  display: block;
  float: right;
  line-height: 1.7;
}
.site-footer ul.social .fa {
	font-size: 1.4em;
}

.footercontactcol p {
  font-size: 30px;
  margin-bottom: 0 !important;
}
.footercontactcol ul.social {
    margin-top:1em;
}
.bordertop {
    border-top:1px solid #f1f1f1;
}
/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.topbar {
  padding: 5px 0 7px;
}
.topbar .left-content {
  letter-spacing: 0;
  font-size: 1em;
  text-transform: none;
  padding-top: 0;
}
.topcontact {
    text-align: right;
}

.topcontact span {
    padding-right: 30px;
}

.topcontact i {
    margin-right: 10px;
}

.header-page, .header-wrap {
        min-height: 500px;
}

.archive .colourarchive .highcontent,
.highcontent {
  min-height: 240px;
 padding: 5vh 3vw;
}

.header-page {
    background-position: center;
    background-size: cover;
    position: relative;
    overflow:hidden;
}

.header-wrap {
  padding-top: 7em;
      padding-bottom: 2em;
  position: absolute;
  left: 0;
  right: 0;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}
.page-template-default .header-page {
margin-bottom: 2em;
}
.readmore {
font-weight: 500;
 margin-top: 10px;
    cursor: pointer;
    transition: 0.3s ease-in-out;
}
.readmore:hover {
 Color: #e9edb5;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.4s ease, opacity 0.4s ease;
  z-index: 10;
}

.header-sticky {
  position: fixed;
  top: -66px;
  left: 0;
  background: linear-gradient(41deg, rgba(101, 171, 174, 1) 10%, rgba(126, 202, 170, 1) 38%, rgba(230, 237, 178, 1) 100%);
  z-index: 99;
transition: 0.5s ease-in-out;
    width: 100%;
    height: 60px;
}


.header-sticky.active {
    top: 0;
}

.header-sticky .site-branding-show {
  display: block !important;
    padding-top: 10px;
    max-width: 60px;
}

.header-sticky .container {
  display: flex;
  flex-direction: row;
}

.site-branding-show {
    display:none;
}

 .home .site-branding img,
 .header-sticky .site-branding img {
  display: none;
}

.site-branding img {
  max-width: 450px;
  margin-top: 20px;
  width: 100%;
}

 .header-sticky  .c-hamburger {
    margin: 15px 35px 0 0;
     z-index: 100;
  }

.header-sticky img {
    max-width:40px;
}
.site-header .container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 99999;
    background-color: #fff;
    display: none; /* Added */
    padding: 10px 0 12px;
}

.main-navigation ul ul a {
	width: 200px;
   color: #070707 !important;
}


.main-navigation ul li:hover>ul, .main-navigation ul li.focus>ul {
    /* left: auto; */
    display: block; /* Added */
}

.main-navigation ul ul li a {
    padding: 4px 16px;
  font-size: 0.9em;
}
}
.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}


.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}



.menu-toggle .main-navigation ul {
	display:none;
}

button.c-hamburger:hover {
    background: transparent;
}

.c-hamburger {
  display:none;
  position: relative;
  overflow: hidden;
  margin: 0 0;
  padding: 0;
  width: 40px;
  height: 40px;
  font-size: 0;
  text-indent: -9999px;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
  float:right;
}

.c-hamburger:focus {
  outline: none;
}

.c-hamburger span {
  display: block;
  position: absolute;
    top: 14px;
    left: 0;
    right: 0;
    height: 2px;
}

.c-hamburger span::before,
.c-hamburger span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
}

.c-hamburger span::before {
    top: -10px;
}

.c-hamburger span::after {
     bottom: -10px
}

.c-hamburger--htx {
  background-color: transparent;
}

.c-hamburger--htx span {
  transition: background 0s 0.3s;
}

.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}

.c-hamburger--htx span::before {
  transition-property: top, transform;
}

.c-hamburger--htx span::after {
  transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.c-hamburger--htx.is-active {
  background-color: transparent;
}

.c-hamburger--htx.is-active span {
  background: none;
}

.c-hamburger--htx.is-active span::before {
  top: 0;
  transform: rotate(45deg);
    -ms-transform: rotate(45deg);
-webkit-transform:rotate(45deg);
}

.c-hamburger--htx.is-active span::after {
  bottom: 0;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
-webkit-transform:rotate(-45deg);
}

.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
  transition-delay: 0s, 0.3s;
}



/*--------------------------------------------------------------
# Flexslider
--------------------------------------------------------------*/
.slick-arrows li:only-child,
.slick-dots li:only-child {
        display: none;
}
.slick-dotted.slick-slider {
  margin-bottom: 0 !important;
}
.slick-dots li.slick-active button::before {
  opacity: 1 !important;
  color: #fff !important;
}
.slick-dots li button::before {
  font-size: 45px !important;
    color: #fff !important;
}

.slick-dots li {
margin: 0 !important;
}
.slick-boxlinks .slick-slide {
    margin:0 20px 0 0;
}


.text-slider .slick-prev::before, .text-slider .slick-next::before {
    color: #fff !important;
    font-size: 35px !important;
}
.slick-boxlinks .wrap {
    padding: 1.5em 0 0;
max-width: 300px;
}



.slick-slide {
  margin: 0;
}
.slider-text {
  position: relative;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.simple-slick-slider .slick-slide img {
  max-width: 500px;
    margin: auto;
    width: 100%;
}

.slider-text p {
    font-size:1.4em;
     max-width: 700px;
}
.hero {
	font-size: 2.7em;
	color: #fff;
    line-height: 1.4;
}

button.slider {
  display: block;
  margin: 25px 0 0;
}
.slider-image, .slider-text {
  height: 60vh;
  min-height: 600px;
}
.slider-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
	overflow:hidden;
    transition: background-position 0.2s;
}

.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
  opacity: 0 !important;
}

.slick-prev, .slick-next {
      z-index: 40;
    font-weight: 300;
    width: 0 !important;
    height: 0 !important;
}
.slick-prev::before, .slick-next::before {
    color: #000 !important;
    -webkit-font-smoothing: antialiased;
     font-family:'Font Awesome 6 Pro' !important;
opacity: 1 !important;
font-weight: 500;
font-size: 25px !important;
}

.slick-next::before {
  content: '\f054' !important;
}
.slick-prev::before  {
  content: '\f053' !important;
}
.slick-next {
  right: 30px !important;
}

.slick-prev {
  left: unset !important;
  right: 55px !important;
}

.accordion-2 button::after {
	content: "\f107";
        font-family:'Font Awesome 6 Pro' !important;
	top: 20px;
	right: 20px;
   position: absolute;
   font-size: 1.2em;
}
.accordion-2 button[aria-expanded="true"]::after {
    content: "\f00d";
        font-family:'Font Awesome 6 Pro' !important;
    top: 22px;
    font-size: 1.2em;
}


.cta {
    color:#fff;
}
.cta .container-sm {
    text-align: center;
}
.cta .buttonlink {
    margin-left:auto;
    margin-right:auto;
}


.slick-dots {
  bottom: 50px !important;
    display: block;
  width: 100%;
    margin: auto;
  list-style: none;
  text-align: left !important;
 padding: 0 3vw !important;
  left: 0;
  right: 0;
}


/*--------------------------------------------------------------
## Modal
--------------------------------------------------------------*/
.custom-close {
  background: none;
  border: none;
  font-size: 30px;
  color: black;
  cursor: pointer;
  position: absolute;
  right: 30px;
  top: 20px;
    z-index: 100;
}
.modal-body {
  padding: 4em 2em 3em;
}
.modal-content {
border-radius: 0;
}
.modal-header {
  padding: 60px 30px 0 !important;
  border-bottom: 0 !important;
  display: block;
  text-align: left;
  max-width: 80%;
}
.modal-header h5 {
  font-size: 21px;
  margin-bottom: 10px;
}
.modal-header p {
    margin-bottom:0;
}
.modal-header button.btn-close:hover {
opacity: 1;
 box-shadow: none;
}

 .modal-dialog {
    max-width: 900px;
}
.btn-close {
  filter: invert(1);
}
.btn-close {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.simple-slick-gallery .slick-slide {
  margin-right: 10px;
    height: 300px;
}

.simple-slick-gallery .slick-prev, .simple-slick-gallery .slick-next {
  top: -55px !important;
}

/*--------------------------------------------------------------
## Testimonials
--------------------------------------------------------------*/



.testimonial-slider {
	padding: 0;
}

.testimonial-title {
    font-size: 2em;
    padding: 0; 
}


li.testimonials {
    background: none;
	text-align: center;

}

li.testimonials p {
	margin: 2em auto;
}

.testimonial-name {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.8em;
    letter-spacing: 1px;
    margin-top: 10px;
}


li.testimonials strong {
    text-transform: uppercase;
    color: #818181;
    font-weight: normal;
    font-size: 1.2em;
}

.testimonials .flex-control-nav {
	position: absolute;
	bottom: 1em;
	z-index: 100;
}

.testimonials .flex-direction-nav a::before {
    color: #e9edb5;
}

.testimonials .flex-control-nav {
    display: none;
}

.testimonials ul.flex-direction-nav {
    display: block;
}

.testimonials .flex-active-slide {
    margin: auto;
    display: block;
}

.testimonial-wrapper {
    max-width: 80%;
}

.testimonials .flex-direction-nav .flex-prev {
    left: 0em !important;
}
.testimonials .flex-direction-nav .flex-next {
    right: 0em !important;
}



/*--------------------------------------------------------------
## Gallery
--------------------------------------------------------------*/

.gallery {
	margin-top: 4em;
}

.gallery-image {
	height: 250px;
	background-size:cover;
	background-position:center center;
	position:relative;
}

ul.gallery {
	margin: 0 auto;
	padding: 0;
	display: table;
	width: 100%;
	font-size: 0;
}

ul.gallery li {
	display: inline-block;
	width: 23%;
	list-style: none;
	margin: 1%;
	font-size: 14px;
	vertical-align: top;
}

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

.pagination {
	text-align: center;
	margin-top: 2em;
}

.pagination a, .pagination a:visited {
	color: #7C7C7C;
}





/*--------------------------------------------------------------
## Archives
--------------------------------------------------------------*/

ul.grid {
	width:100%;
	padding:0;
	margin:0;
   list-style: none;
	display:flex;
   flex-wrap: wrap;
   justify-content: flex-start;
}

ul.grid li {
    width: 32%;
    margin: 1% 1% 1%;
}

ul.grid li:first-child {
        margin: 1% 1% 1% 0;
}

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

ul.grid li:nth-child(3n+1) {
        margin: 1% 1% 1% 0;
}

ul.grid li p {
	margin:3px 0;
}

ul.grid li h4 {
	margin-top: 10px;
}

.archive .wrap {
	padding: 2em 1em 3em;
}
.wrap {
	padding: 1em 5px 0;
}

.wrap-project {
    	padding: 1em 5px 0;
    display: flex;
    justify-content: space-between;
}
ul.grid li .wrap {
	padding: 1em 0;
}

ul.grid li.box .wrap {
	padding: 1em 1em 2em;
}

ul.grid li.border-box .wrap {
	padding: 1em;
}


li.box {
	width:31.3%;
	margin: 1%;
	display:block;
	float:left;
	background:#fff;
}


li.box .wrap {
	padding:1.5em 1.5em 2em 1.5em;
}

li.border-box {
	margin: 1%;
	width:31.3%;
	display:block;
	float:left;
	background:#fff;
}

li.border-box .wrap {
	padding: 1em;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

 .custom-thumb-half {
   height: 320px !important;
}
.custom-thumb, .custom-thumb-half {
   height: 420px;
    background-size: cover;
    background-position: center;
    position: relative;
    transition:0.5s ease-in-out;
}
.project .thumb-wrapper img {
    transition:0.5s ease-in-out;
    width: 100%;
}
.custom-thumb:hover, 
.custom-thumb-half:hover {
    opacity: 1;
}

.thumb-wrapper {
  overflow: hidden; /* Hide overflow only for image */
    border-radius: 5px;
}

.service:hover .custom-thumb,
.service:hover .custom-thumb-half {
  transform: scale(1.05); /* Subtle zoom */
}
.project:hover .thumb-wrapper img {
  transform: scale(1.05); /* Subtle zoom */
}

.slick-gallery .project:hover {
	cursor: pointer;
}

.service:hover a {
	color: #65abae;
}

.service:hover button {
    color: #65abae;
}


a.moretag {
    display: block;
    margin-top: 10px;
}



/*--------------------------------------------------------------
## Custom Table
--------------------------------------------------------------*/

.row {
    align-items: center;
    width: 100%;
  margin: auto;
}
.flex {
display: flex;
  flex-direction: column;
  justify-content: space-between;
    height:100%;
}
.flex-row {
  display: flex;
  gap: 20px 30px;
  flex-wrap: wrap;
}
.flex-column {
  flex-direction: column !important;
  height: 100%;
  display: flex;
  justify-content: space-between;
}

.tab-header {
  position: absolute;
  width: 45%;
    padding: 0 20px;
}

.tab-header-space {
  margin-top: 110px;
  max-width: 500px;
}

.tab-header button.active {
    color:#65abae;
}

/*--------------------------------------------------------------
## Repeater
--------------------------------------------------------------*/

.repeater-text-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 400px;
}

.single .repeater-text-inner {
  max-width: 500px;
}


.row:nth-child(2n) .repeater-text-inner {
    float:right;
    width: 100%;
}
/*--------------------------------------------------------------
## Posts
--------------------------------------------------------------*/

.posted-on {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.85em;
}

/*--------------------------------------------------------------
## Search & Filter
--------------------------------------------------------------*/

.searchandfilter ul {
  margin: 0 0 5px;
    padding: 0;
    display: flex;
    gap:10px 30px;
    flex-wrap: wrap;
}

.searchandfilter li[data-sf-field-input-type="radio"] label {
    background: transparent;
    border-bottom: 2px solid transparent;
    padding: 10px 0;
    margin: 0 20px;
}

.searchandfilter li:first-child[data-sf-field-input-type="radio"] label {
    padding: 0 0 10px;
    margin: 0;
    transition: 0.3s ease-in-out;
}

.searchandfilter li[data-sf-field-input-type="radio"] label:hover {
    border-bottom: 2px solid #e9edb5;
    color: #e9edb5;
}

.searchandfilter ul input[type="radio"], .searchandfilter input[type="radio"] {
    display: none;
}

li.sf-option-active label {
    border-bottom: 2px solid #e9edb5 !important;
    color: #e9edb5 !important;
}

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
    overflow-x: hidden;
}



/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-size:20px;
    font-weight:500;
}
p:last-child {
    margin-bottom:0;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
	 ========================================================================== */


button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
# Typography General
--------------------------------------------------------------*/

p {
	margin-bottom: 1.5em;
}
p:last-child, p:only-child {
    margin-bottom:0;
}
dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
	/* Fallback for when there is no custom background color defined. */
}





hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul {
    list-style: none;
}

.fancyul ul li {
    margin-bottom:5px;
}

.fancyul ul li::before {
  content: "\f054";
  font-family: "FontAwesome";
  padding: 0 10px 0 0;
  color: #8ccfab;
  margin-left: -21px;
  transition: 0.5s ease-in-out;
}
ul, ol {
	margin: 0 0 1.5em 0;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

#scroll-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #333;
  color: white;
  padding: 1rem;
  text-align: center;
  transform: translateY(-100%);
  transition: transform 0.3s ease;
  z-index: 9999;
}

#scroll-header.visible {
  transform: translateY(0);
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

.buttonlink a, button, input[type="button"], input[type="reset"], input[type="submit"] {
  border: 0px;
    border-bottom-width: 0px;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
  border-radius: 0px;
  line-height: 1;
  padding: 15px 0 5px;
  line-height: 1.3em;
  max-width: none;
  width: auto;
  text-align: center;
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
  border-bottom: 1px solid;
  background: transparent !important;
}

.buttonlink a:hover, 
button:hover, 
input[type="button"]:hover, 
input[type="reset"]:hover, 
input[type="submit"]:hover {
   color: #65abae !important; 
}
button.menu-toggle,
button.wide,
button.slick-prev,
button.slick-next {
    background:transparent !important;
    box-shadow: none !important;
}
button.btn-close {
       box-shadow: none !important;
}
.buttonlink a {
    margin-top:2em;
    display: inline-block;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #454545;
	border: 0px;
	border-radius: 0px;
	padding: 19px 5px 10px;
	background:transparent;
	width:100%;
	margin: 5px 0;
    font-size:.9em;
    border-bottom: 2px solid #000;
    font-weight: 300;
}

.site-footer input[type="text"],
.site-footer input[type="email"],
.site-footer input[type="url"],
.site-footer input[type="tel"],
.site-footer textarea {
    border-bottom: 2px solid #ddd;
    color: #fff !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}


select {
	color: #969696;
	border: 0px;
	border-radius: 0px;
	padding: 15px 15px 15px 10px;
	background: #ddd;
	width:100%;
}

textarea {
	width: 100%;
	margin-bottom: 8px;
    height: 100px;
}



/*--------------------------------------------------------------
# Accordion
--------------------------------------------------------------*/



.accordion ul {
    margin: 0;
    padding: 0;
}


.accordion ul li {
    list-style: none;
    border-bottom: 10px solid #fff;
}

.accordion-inner {
    border: 1px solid #ddd;
    padding: 1em;
}

.accordion-inner ul {
    margin: 0 0 0 1.5em;
}

.accordion-inner ul li {
    list-style: inherit;
    padding-bottom: 5px;
}

.accordion-2 {
position: relative;
    margin-top: 30px;
}


.accordion-2 ul {
    margin: 0;
    padding: 0;
}


.accordion-2 ul li {
    list-style: none;
}

.accordion-2 button::after {
	content: "\f107";
   font-family: FontAwesome;
	color: #fff;
	top: 0.6em;
	right: 20px;
   position: absolute;
   font-size: 1.8em;
}
.accordion-2 button[aria-expanded="true"]::after {
    content: "\f00d";
   font-family: FontAwesome;
    top: 18px;
    font-size: 1.4em;
}

.accordion-2 button:hover::after {
    color: #fff;
}


/*--------------------------------------------------------------
# Slick
--------------------------------------------------------------*/
.related .container-gallery {
    padding-right:0 !important;
}
.container-gallery {
    padding-right:60px !important;
}
.slick-gallery img {
  max-height: 300px;
}

.slick-gallery .slick-slide {
  margin: 0 25px 0 0;
}

.slick-boxlinks .slick-next,
.slick-gallery .slick-next {
  right: -40px !important;
}

.simple-slick-slider-testimonial .slick-next {
  right: 0px !important;
}
.slick-slide {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.slick-gallery-services img {
  max-height: 300px;
}

.slick-gallery-services .slick-slide {
  margin: 0 25px 0 0;
}

.slick-gallery-services .slick-next {
  left: -50px !important;
  top: 0 !important;
}

.slick-gallery-services .slick-prev {
  left: -70px !important;
  top: 0 !important;
}




.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
  opacity: .5 !important;
}




/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	text-decoration: none;
	transition: 0.3s ease-in-out;
}

a:visited {
	text-decoration: none;
}

a:hover, a:focus, a:active {
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

button.border {
    background: none;
}

button.wide {
    width: 100%;
    max-width: none;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}


/*--------------------------------------------------------------
# Tabs
--------------------------------------------------------------*/


.nav-tabs {
    border-bottom: 0;
    margin: 0 auto 4em;
}


.tab-content .fade {
    background: transparent;
}

.nav-tabs .nav-link {
    background: #151e29;
    border: 0;
    color: #fff;
    padding: 1em 4em;
    border-radius: 0;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.nav-link {
  font-size: 17px;
}

.nav-tabs .nav-link:hover {
    background-color: #8dc63f;
    color: #000;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    background-color: #8dc63f;
        color: #000;
    font-weight: 400;
}



.contact {
  display: flex;
gap: 10px 40px;
  flex-direction: row;
  margin-bottom: 23px;
  font-size: 1.1em;
    margin-top: 20px;
    flex-wrap:wrap;
}
.contact i {
     font-size: 1em;
    margin-right: 10px;
}

.contact-inline {
    display:inline;
}
/*--------------------------------------------------------------
# Flexible Content
--------------------------------------------------------------*/

ul.clean {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0;
}

ul.clean li {
	font-size: 16px;
}

ul.flex {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}

.sellpointsbar {
	padding: 1.5em 0;
}

.sellpointsbar i {
	width: 25px;
}

li.one {
	display: block;
	width: 100%;
}

li.two {
	display: inline-block;
	width: 50%;
}

li.three {
	display: inline-block;
	width: 33.33%;
}

li.four {
	display: inline-block;
	width: 25%;
}



.badge {
	position: absolute;
	top: 0;
	left: 0;
	background: #000;
	color: #fff;
	padding: 10px 10px;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
}
.sectionpadlarge {
	padding: 16vh 0;
}
.sectionpad {
	padding: 10vh 0;
}

.sectionpadsmall {
	padding: 5vh 0;
}




.text-slider h3 {
	margin-top: 0;
	margin-bottom: 0;
    font-size: calc(1em + 2.5vw);
}
.testimonial-content {
    padding:10px 0 0;
}
.logo {
  height: 58px;
  width: 120px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
	margin: 10px 2em 10px;
  padding: 0 1em;
  display: inline-block;
}

.logos h3 {
  margin-bottom: 1em;
}

ul.standard-flex {
	padding:0;
	margin:0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-content: center;
	gap: 20px;
}

.title-line, .title-text {
	max-width: 1300px;
	width: 100%;
	margin: auto;
}
.title-line {
	  border-top: 2px solid;
	  padding-bottom: 10px;
	}
.title-text {
  text-align: right;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.05;
  font-size: 0.8em;
}

.title-text {
	text-align: right;
}

.zeropaddingbottom {
	padding-bottom: 0px !important;
}

.zeropaddingtop {
	padding-top: 0px !important;
}

.home ul.products li.product {
	margin-bottom: 0;
}

.accordion-2 button.wide {
	position: relative;
	margin-bottom: 2px;
	background: transparent;
	border-bottom: 2px solid #e9edb5;
	color: #000;
	text-align: left;
    padding: 20px 45px 20px 20px;    
}

.accordion-2 button::after {
	color: #e9edb5 !important;
}

.accordion-inner {
	border: 0;
}

.news-column-pad {
	padding-right: 8em;
}

.single-post .custom-thumb {
	height: 200px;
}

.single-post li.one {
	margin-bottom: 20px;
}

.single-post li.one .wrap-simple {
	border-bottom: 1px solid #ddd;
	padding-bottom: 20px;
}

.single-post li.one:last-child .wrap-simple {
	border-bottom: 0;
}

.header-wrap h4 {
	color: #fff;
}

.header-wrap a {
    transition: 0.3s ease-in-out;
    display: inline-block;
}

.header-wrap a h4 {
        transition: 0.3s ease-in-out;

}

.header-wrap a:hover h4 {
    color: #e9edb5;
}

.menuover {
  position: absolute;
  z-index: 100;
  width: 100%;
}

.menuover .main-navigation li a {
    color:#fff; 
}


.home .homemenuover {
  position: absolute;
  z-index: 100;
  width: 100%;
}

.home .homemenuover .main-navigation li a {
    color:#fff; 
}

.archivehighcontentmenuoverlay {
    margin-top: 130px;
}

#myVideo {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton, #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
	color: #000 !important;
}
.pointer {
    cursor: pointer;
    transition: 0.3s ease-in-out;
}


.pointer:hover  {
    color: #e9edb5;
}

#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme {
    border-top: 0 !important;
    background-color: #000 !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:hover, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:hover {
    color: #fff !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice button.change-settings-button {
    width: auto !important;
}

ul#moove-gdpr-menu li:before {
    display: none;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a, #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button {
    text-transform: none !important;
}



.boxlayout .row:nth-child(even) {
flex-direction: row-reverse;
}
.boxlayout .row {
  align-items: center;
  padding-bottom: 10vh;
}
.boxlayout .row:last-child {
    padding-bottom: 0;
}
.background-image {
    position: relative;
    background-size:cover;
    background-position: center;
    align-self: stretch;
min-height: 350px;
    border-radius: 5px;
}


.wpcf7 form .wpcf7-response-output {
  margin: 2em 0 1em;
  padding: 0.6em 1em;
  border: 2px solid #ddd;
  text-align: center;
  background: #ddd;
  color: #000;
}

.wpcf7 form.invalid .wpcf7-response-output {
    border-color: #ddd;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #e9edb5;
  background: #e9edb5;
  color: #fff
}

.wpcf7-not-valid-tip {
  font-size: 0.8em;
}

.contactcol {
    padding-right:4em;
}

a.clickhere {
    display: block;
    margin-top: 10px;
    font-weight: 500;
}

.noresults {
    text-align: center;
    margin-bottom: 3em;
    margin-top: 3em;
}

.related h5,
.section-other h5 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 2em;
}

.archive .container-sm {
    margin-bottom: 3em;
}
.post-type-archive-services .container-sm,
.post-type-archive-case-studies .container-sm {
  margin: 0 0 2em;
  max-width: 700px;
    padding:0;
}
.post-type-archive-services .container-sm {
  margin: 0 0 10vh;
}


.team .wrap {
    padding: 30px 20px 20px;
    font-size: 0.9em;
}

.team h3 {
    text-align: center;
}
.team h4 {
    margin-bottom: 0;
}

.team .role {
  display: block;
  text-transform: uppercase;
  margin-bottom: 10px;
  margin-top: 10px;
}

.logo-slick-slider .slick-track {
    display:flex !important;
    align-items: center !important;
}


.logo-grid {
  text-align: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.logo-grid img {
  padding: 0px 19px;
  max-width: 175px;
  max-height: 45px;
  width: 100%;
  object-fit: contain;
}
.overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  top: 0;
  left: 0;
}

.home .overlay {
    background:rgba(0, 0, 0, 0.4);
}

.centertext {
    text-align: center;
}

.bigtext {
    font-size: 1.2em;
    font-weight: 300;
}
 .boxlinks a,
 .boxlinks .background-image,
.boxlinks .background-image  h3,
 .boxlinks .background-image h4 {
    color:#fff;
}


.boxlinks h3 {
  margin-bottom: 1.8em;
  text-align: center;
}

.boxlinks h4 {
    font-size: 1.6em;
    margin: 15px 0;
}

.boxlinks i {
  font-size: 4em;
  margin-right: 25px;
  opacity: .5;
}

.pad-box {
    padding: 6em 2em
}

.page-template-page-about .boxlinks {
    padding-bottom:0;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

.page-id-12 table.contact-details .fa {
	font-size: 20px;
	padding-bottom: 15px;
}

table.contact-details {
	 margin-top: 2em;
}


td.icon {
    width: 30px;
}

.social div {
 list-style: none;
 margin: 20px 20px 0 0;
 padding: 0;
}

.social i {
    font-size:25px;
}
.page-id-3 h4 {
	 margin-top: 2em;
}

.no-results {
    text-align: center;
}
p.title {
    margin-top:30px;
    font-weight: 400;
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}
.credit {
    float:right;
}
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}
.services-arrows {
    position: relative;
}

.services-arrows button {
    position: relative;
    top: 0;
  left: 0;
}

.services-arrows .slick-next {
  right: unset !important;
    left: 25px !important;
}

.services-arrows .slick-prev {
  left: 0 !important;
  right: unset !important;
}
.files i {
  font-size: 60px;
  margin-bottom: 20px;
}
/*--------------------------------------------------------------
## Wordpress Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery-caption {
	display: block;
}


.site-footer .row {
 justify-content: flex-end;
  padding-bottom: 30px;
  align-items: flex-start;
}
/*--------------------------------------------------------------
## Responsiveness
--------------------------------------------------------------*/

@media (max-width:1250px) {
.tab-header-space {
  margin-top: 160px;
}}


@media (min-width:801px) {
    header.site-header .main-navigation a {
        color:#fff;
    }  
header.header-sticky .extra-menu-items,
header.site-header .extra-menu-items {
    display: none;
}
.header-sticky .container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.menu-toggle {
    display: none;
}
    .header-sticky .site-branding-show {
  display: block !important;
  padding-top: 10px;
  max-width: 60px;
  margin: 0 auto 0 0;
}
.main-navigation ul {
    display: flex;
    gap: 30px;
    margin-top:15px;
}
    .main-navigation ul li {
        position: relative;
    }
    ul.sub-menu {
        display:none !important;
    }
}

/*Width Menu Goes Responsive*/

@media (max-width:800px) {
    
        ul.sub-menu {
        display:block !important;
    }
    
    .main-navigation a {
font-size: 26px;
    font-weight: 300;
}
    .main-navigation ul ul li a {
  padding: 0;
  font-size: 26px;
}
  .c-hamburger {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 999;
    margin: 35px 35px 5px;
  }
.main-navigation ul {
  margin: 0;
  padding-left: 0;
  position: fixed;
    top: 0;
  right: -650px;
      width: 650px;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  flex-direction: column;
  transition: 0.3s ease-in-out;
  	background: #ceebb2;
  z-index: 998;
    padding-top: 50px;
    padding-bottom: 50px;
}


.main-navigation.toggled ul {
    right: 0;
}
    
.main-navigation {
    clear: none;
    display: block;
    float: none;
    margin: 0 auto;
    max-width: 60px;
    padding: 0;
    width: 100%;
    border-top: 0;
}
    
.navoverlay {
    display: block;
    width: 100%;
    background: rgba(0,0,0,0.6);
    height: 0;
    position: fixed;
    top: 0;
    left: 0;
    transition: 0.3s ease-in-out;
    opacity: 0;
    z-index: 3;
}    
    
.main-navigation.toggled .navoverlay {
    opacity: 1;
    height: 100vh;
    }    
 
  .main-navigation li {
    border-bottom: 0;
    float: left;
    padding: 0;
    position: relative;
    text-align: left;
    width: 100%;
    max-width: 70%;
    margin:0 auto;
  }


.extra-menu-items {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 70%;
    margin: auto auto 0;
    flex-direction: column;
    font-size: 18px !important;
    font-family: gill-sans-nova-condensed, sans-serif; 
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    max-width: 100% !important;
    padding-top: 40px;
}
.extra-menu-items a {
     font-size: 18px !important;
}

.menuaddress {
    margin-top: 40px !important;
}
  .main-navigation ul ul {
    display: flex !important;
    box-shadow: 0 0 0;
    height: auto;
    float: none;
    min-height: auto;
    position: relative !important;
    padding: 0;
    top: unset;
    left: unset;
    background: inherit;
    width: auto;
  }
.main-navigation ul ul li:hover {
    opacity: 1;
}
.main-navigation ul ul a {
    width: 100%;
}


.main-navigation ul ul li {
    border-bottom: 0;
    margin: 0;
      opacity: 0.4;
    transition: 0.5s ease-in-out;
}

.aws-container .aws-search-form {
	margin: auto;
}
.icons {
	position: absolute;
	right: 60px;
}

}


/*General Responsiveness*/


@media (max-width:992px) {
.footercontactcol {
  padding-left: 0px;
}
    .footercontactcol p {
  font-size: 20px;
    }
 .tab-header-space {
    margin-top: 0;
    max-width: none;
    }
  .tab-header {
    position: relative;
  width: 100%;
      padding: 0;
    }
.boxlinks i {
  font-size: 3em;
}
.flex {
  flex-direction: column;
}
.flex.social {
  flex-direction: row;
}
}


@media (max-width:800px) {
ul.gallery li {
	display: inline-block;
	width: 48%;
}
.gallery-image {
	height: 200px;
}
}

@media (max-width:767px) {
    .sectionpad {
  padding: 5vh 0;
}

   .boxlayout .repeater-text-inner {
     padding: 6vh 0;
    }

    .single .repeater-text-inner {
  max-width: none;
}
    .credit {
  float: none;
}
      .footercontactcol p {
    font-size: 27px;
  }
    .text-slider h3 {
        display: none;
    }
    .boxlayout .row:first-child .repeater-text-inner {
        padding-top: 0;
    }
    .home .boxlayout .row:first-child .repeater-text-inner {
        padding-top: 10vh;
    }
    .home .boxlayout .row:last-child .repeater-text-inner {
        padding-bottom: 0;
    }    
    
    .related .container-gallery {
    padding-right:60px !important;
}
    .intro .repeater-text-inner {
        padding:0;
    }
    .single .boxlayout .row:first-child .repeater-text-inner,
   .page-template-page-about .boxlayout .row:first-child .repeater-text-inner {
        padding-top:0;
    }
    .slick-gallery img {
  max-height: 300px;
}
    .archive .colourarchive .highcontent,
    .highcontent {
  min-height: 0;
    }
  .text-slider h3 {
  margin-bottom: 1em;
    }
    .intro .background-image {
        display:none;
    }
    .boxlayout .row {
  align-items: center;
  padding-bottom: 0;
}
    .repeater-text-inner {
  padding: 10vh 20px;
  min-height: 0;
    }
  .sidebar {
    margin-top: 3em;
    background: rgba(0,0,0,0.05);
    padding: 3em 2em;
  }
.contactcol {
    padding-right:0;
}
.footer-upper {
    text-align: center;
}
.footer-upper img {
    float: none;
    margin-top: 5px;
}
    .page-id-12 ul.social {
        margin-bottom: 50px;
    }
.news-column-pad {
    padding-right: 0;
    padding-bottom: 2em;;
}       
.site-footer img {
  margin: 0 0 50px;
}
.site-footer h5 {
    margin-top: 3em;
}
.mobilesidebar {
	display: block;
}
.desktopsidebar {
	display: none;
}

.mobilesidebar .widget {
  margin: 0 0 0.8em;
}

ul.standard-flex {
	display: block;
	font-size: 0;
}
ul.standard-flex li {
	font-size: 16px;
	width: 50%;
	display: inline-block;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	vertical-align: top;
}
ul.standard-flex li:nth-child(even) {
border-right: 0;
}
ul.standard-flex li:nth-child(odd) {
border-left: 0;
}
.topcontact {
  text-align: center;
}
.topbar {
  text-align: center;
}
.myexcerpt {
     display: none;
}
    .custom-thumb {
        height: 250px;
    }
    .section-other .custom-thumb,
    .archive .custom-thumb {
    height: 200px;
    }
.archive .wrap {
  padding: 1em 2px 3em;
    }
    .section-other .wrap {
        padding: 1em 2px 0;  
    }
.buttonlink a {
  margin-top: 1vh;
    }
}

@media (max-width:630px) {
.main-navigation ul {
    width: 100%;
    right: -100%;
}
}

@media (max-width:600px) {
   .slick-gallery   h4 {
    font-size: 16px;
    max-width: 160px;
  }
    .background-image {
  min-height: 250px;
    }
    h3 {
  font-size: 24px;
    }
    h4 {
  font-size: 17px;
    }
    .bigtext {
  font-size: 1.1em;
}
.repeater-text {
    width: 100%;
		min-height: auto;
		padding: 3em 0 2em;
}
.repeater-image {
    width: 100%;
    min-height: 300px;
}
ul.flex {
	display: block;
}  
  .imageleftcol, .imagerightcol {
  width: 100% !important;
}  
.pad-box {
  padding: 3em 0em 2em;
}
.boxlinks h3 {
  margin-bottom: 1em;
    }
.slider-image, .slider-text {
  height: 75vh;
  min-height: 500px;
}
    .slider-text {
        padding-bottom: 4em;
    }
}


@media (max-width:575px) {
.site-footer {
  text-align: center;
}
	.social {
		justify-content: center;
	}
	 .contact-block {
    max-width: none;
  }
    p.title {
  margin-top: 0;
    }
    .custom-thumb-half {
  height: 120px !important;
}
    h1 {
  font-size: 37px;
}
    
    b, strong {
  font-size: 17px;
    }
    .contact-block {
  float: none;
    }
    .large-text {
  font-size: 17px;
}
    
     .main-navigation li {
    max-width: 85%;
    }
      .main-navigation ul ul li a {
    padding: 0;
    font-size: 20px;
  }
	    #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton, #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton, #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v2 .moove-gdpr-button-holder a.mgbutton, #moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v2 .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
        width: auto;
    }
	
    .slider-text {
  padding-bottom: 3em;
    }
    .slider-text h2 {
  font-size: calc(3.3em + 3vw);
    }

    
    .archive .header-page h1, .archive .highcontent h1 {
  margin-top: 0;
}
    .header-page h1, .highcontent h1 {
  margin-top: 1.5em;
}
    .boxlinks .container-step {
  max-width: 300px;
    }
    .slick-gallery img {
  max-height: 160px;
}

.site-footer .row {
justify-content: flex-start;
}
body, button, input, select, optgroup, textarea {
  font-size: 15px;
    }
.footermenu {
float: left;
width: 100%;
max-width: none;
}
.site-footer-2 .footercontactcol {
padding-bottom: 35px;
}
.site-footer-2 .row:nth-child(2){
flex-direction: column-reverse;
}
.site-footer-2 .flex {
justify-content: flex-start;
margin-top: 1em;
margin-bottom: 2em;
    flex-direction: row !important;
}
    .social {
            flex-direction: row !important;
    }
 .repeater-text-inner {
padding: 6vh 0;
}
        .home .boxlayout .row:first-child .repeater-text-inner {
        padding-top: 6vh;
    }
    .team .wrap {
  padding: 30px 0 50px;
    }
    .container {
         padding: 0 20px;
    }
    .header-wrap {
 padding: 15px 20px 30px;
    }
 .header-page {
    margin-bottom: 0;
  }
    .post-type-archive-services .container-sm {
  margin: 0 0 6vh;
}
    .container-other {
        padding-top:6vh;
    }
    .sectionpad {
  padding: 6vh 0;
    }
    .sectionpadlarge {
  padding: 10vh 0;
}
    #myVideo {
        left: 0;
        top: 80%;
}
    .site-branding img {
  max-width: 360px;
    }
      .c-hamburger {
    margin: 35px 20px 5px;
  }
}
   
@media (max-width:520px) {
  .footercontactcol p {
    font-size: 20px;
  }
    .site-footer .footercontactcol a {
  color: #fff;
  display: block;
  margin-bottom: 20px;
}
}
@media (max-width:480px) {
    .wrap span {
        display:none;
    }
 .footercontactcol p {
    font-size: 18px;
  }
}

@media (max-width:400px) {
.pad-1-4 {
	padding: 1em 2em;
}
.pad-2-4 {
	padding: 2em 2em;
}
.pad-3-4 {
	padding: 3em 2em;
}
.pad-4-4 {
	padding: 4em 2em;
}
    .custom-thumb {
  height: 100px;
}}



@media (max-width: 350px) {
.container-xl, .container, .container-md {
    padding: 0 20px;
    }
.main-navigation ul { 
    width: 100vw;
    right: -100vw;
}}

@media (max-width: 300px) {
td.icon {
    display: none;
}}

