@charset "utf-8";
/* CSS Document */





body {
    font-family: museo-sans;
    font-weight: 300;
    line-height: 1.5;
}
/* Text */
h1 {
    font-size: 34px;
    font-weight: 700;
    color: #61a830;
    margin-bottom: 30px;
}
h2 {
    font-size: 34px;
    font-weight: 700;
    color: #61a830;
    margin-top: 0;
    margin-bottom: 50px;
}
h4 {
    font-size: 26px;
    font-weight: 700;
    color: #61a830;
}
h5 {
    font-size: 20px;
    font-weight: 700;
    color: #106231;
    margin-bottom: 18px;
}
h6 {
    font-size: 16px;
    font-weight: 500;
}
/* Colours */
.ph-green {
    color: #61a830;
}
.ph-drk-green {
    color: #106231;
}
.ph-brown {
    color: #9c552a;
}
/* Backgrounds */
.bg-ph-green {
    background-color: #61a830;
    color: #fff;
}
.bg-ph-drk-green {
    background-color: #106231;
    color: #fff;
}
.bg-ph-drk-green h4 {
    color: #fff;
}
.bg-ph-green a {
    color: #fff;
}
.bg-cover {
    background-position: 50%;
    background-size: cover;
}
/* Layout */
.centerv {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.box-outer {
    border: 1px solid #d0d0d0;
}
.box-pad-lg {
    padding: 25px;
}
.box-pad {
    padding: 40px;
}
.box-pad p:last-child {
    margin-bottom: 0;
}
.box-pad-md {
    padding: 30px 40px;
}
.box-pad-md p:last-child {
    margin-bottom: 0;
}
.padding-lr {
    padding-right: 40px;
    padding-left: 40px;
}
.margin-top-lg {
    margin-top: 45px;
}
.margin-bottom {
    margin-bottom: 20px;
}
.margin-bottom-lg {
    margin-bottom: 45px;
}
ul {
    padding-left: 22px;
}
ul li {
    margin-bottom: 12px;
}
hr {
    border-top: 1px solid #dadada;
    margin: 0;
}
.noscroll {
    overflow: hidden;
}
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; }
.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
/* Links & Buttons */
a {
    transition: all 0.3s ease 0s;
}
.btn {
    padding: 12px 45px;
}
.tel {
    font-size: 28px;
    font-weight: 700;
}
.siteby {
    margin-top: 60px;
    text-align: right;
}
/* Header */


.background-overlay {background-color: rgba(0, 0, 0, 0.5)!important;}

.contact-bar {
    font-size: 12px;
    padding: 10px 0;
    position: relative;
}
.contact-bar .social a {
    margin-left: 10px;
}
.contact-bar strong {
    font-weight: 500;
}
.contact-bar .logo {
    position: absolute;
    top: 0;
    left: -15px;
    z-index: 500;
    width: 120px
}
.more {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    display: inline-block;
    margin-top: 30px;
    padding-bottom: 20px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="13px"><path fill-rule="evenodd"  fill="rgb(97, 168, 48)" d="M15.008,13.000 L0.009,-0.003 L30.008,-0.003 L15.008,13.000 Z"/></svg>') no-repeat bottom center;
}
/* Nav */

#nav-outer {
    position: fixed;
    z-index: 100;
    width: 100%;
}
#nav-spacer {
    height:62px;
}
nav {
    height: 0;
    opacity: 0;
    transition: all 0.5s ease 0s;
    width:100%;
}
#primary-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
    display: none;
}
#primary-menu li {
    display: inline-block;
    margin: 0;
}
#primary-menu li a {
    display: block;
    padding: 20px 30px;
    color: #1b3220;
    transition: all 0.3s ease 0s;
}
#primary-menu li:last-child a {
    padding-right: 0;
}
#primary-menu li a:hover {
    color: rgba(97,168,48,1);
    text-decoration: none;
}
#primary-menu li.current_page_item {
    background: url(../img/current-page.png) no-repeat bottom 10px center;
}
.mobile-nav {
    font-size: 28px;
    padding: 0 15px;
}
.mobile-nav a {
    margin-left: 20px;
}
nav.active {
    display: block;
    position: fixed;
    top:106px;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 100;
    height: 100%;
    opacity: 1;
}
nav.active #primary-menu {
    margin-top: 50px;
}
nav.active #primary-menu, nav.active #primary-menu li {
    display: block;
    width: 100%;
    float: none;
    text-align: center;
}
nav.active #primary-menu li a {
    padding: 20px 0;
    border-bottom: 1px solid #61a830;
}
nav.active #primary-menu li.current_page_item {
    background: #61a830;
}
nav.active #primary-menu li.current_page_item a {
    color: #fff;
}
/* Header Slides */
.header-slides {
    margin-bottom: 45px;
}
.header-slides .slide {
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    color: #fff;
}
.header-slides h2, .header-slides h1 {
    font-size: 32px;
    color: #fff;
    margin: 0;
}
.header-slides p {
    font-size: 24px;
    margin: 0;
}
.header-slides .btn {
    font-size: 18px;
    margin-bottom: -25px;
}
.header-slides {
    height: 497px;
    overflow: hidden;
}
.header-slides .slide {
    position: relative;
    height: 497px;
}
.header-slides.inner-header {
    height: 418px;
    overflow: hidden;
}
.header-slides.inner-header .slide {
    height: 418px;
}
.header-text-outer {
    border: 1px solid #fff;
    padding: 20px 50px 0 50px;
}
.inner-header .header-text-outer {
    padding: 37px;
}



.header-slides .slick-slide {
  margin: 0; 
  padding: 0;
}





/* Services */
.services .service, .news-articles .news-excerpt {
    height: 300px;
    background-color: #A7A7A7;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.home-services .service, .news-articles .news-excerpt {
    height: 222px;
}
.service .servicec-block-title, .news-articles .news-block-title {
    position: absolute;
    height: 60px;
    background: rgba(16,98,49,0.9);
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 10px 0 10px;
    font-weight: 700;
    color: #fff;
    transition: all 0.3s ease 0s;
}
.service .servicec-block-title p:first-child, .news-articles .news-block-title p:first-child {
    margin-bottom: 15px;
}
.service .servicec-block-title p:nth-child(2), .news-articles .news-block-title p:nth-child(2) {
    font-weight: 300;
}
.services .service:hover .servicec-block-title, .news-articles .news-excerpt:hover .news-block-title {
    height: 100%;
    text-decoration: none;
}
/* Team */
.team .team-member {
    height: 300px;
    background-color: #A7A7A7;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.team-block-title {
    position: absolute;
    height: 60px;
    background: rgba(16,98,49,0.9);
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 10px 0 10px;
    font-weight: 700;
    color: #fff;
    text-align: center;
}
/* Testimonials */
#testimonials {
    background: url(../img/quote-bg.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
    margin-top: 100px;
}
#testimonials .slide {
    height: 582px;
}
blockquote {
    border: 0;
    font-weight: 500;
    font-size: 25px
}
cite {
    font-size: 18px;
    font-style: normal;
}
/* Vacancies */
.vacancies-outer {
    padding: 50px 0 0 0;
}
.vacancies-outer h5 {
    margin-bottom: 15px;
}
/* Contact */
#map {
    background: #ddd;
    height: 619px;
}
.lg-social {
    font-size: 40px;
}
.lg-social a {
    margin-right: 40px;
}
.facebook {
    color: #3d5b9b;
}
.twitter {
    color: #1da0f1;
}
.linkedin {
    color: #007ab5;
}
.instergram {
    color: #a545b9;
}
/* Forms */
.gform_body label {
    display: none;
}
    #gform_fields_3 label,
    #sagepay_form label {
        display: block;
    }
.gform_body ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gform_body .gfield_checkbox label {
    display: inline-block
}
.gform_body input[type="text"], input[type="email"], textarea {
    width: 100%;
    padding: 10px 15px;
}
.gform_footer {
    position: relative
}
.gform_button {
    background-color: #61a830;
    border: 1px solid #61a830;
    color: #fff;
    font-size: 18px;
    padding: 15px 45px;
}
footer .gform_button {
    background-color: #3f830f;
}
#field_1_1 {
    width: 100%;
    display: inline-block;
    padding: 0;
    float: none;
}
#field_1_2 {
    width: 100%;
    display: inline-block;
    padding: 0;
    float: none;
}
#field_1_4 {
    width: 100%;
    display: inline-block;
    padding: 0;
    float: none;
}
/* Footer */
footer {
    margin-top: 35px;
    padding-top: 30px;
    padding-bottom: 15px;
}
footer h5 {
    color: #fff;
}
footer h5 span {
    font-weight: 300;
    font-size: 14px;
}
footer .news-excerpt {
    font-size: 14px;
}
footer .news-excerpt h6 {
    margin-bottom: 0;
}
footer ul.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

/*
*   CSS file with Bootstrap grid classes for screens bigger than 1600px. Just add this file after the Bootstrap CSS file and you will be able to juse col-xl, col-xl-push, hidden-xl, etc.
*
*   Author: Marc van Nieuwenhuijzen
*   Company: WebVakman
*   Site: WebVakman.nl
*
*/

@media (min-width: 1200px) and (max-width: 1599px) {
.hidden-lg {
    display: none !important;
}
}
.visible-xl-block, .visible-xl-inline, .visible-xl-inline-block, .visible-xl {
    display: none !important;
}

@media (min-width: 1600px) {
.container {
    width: 1570px;
}
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {
    float: left;
}
.col-xl-12 {
    width: 100%;
}
.col-xl-11 {
    width: 91.66666667%;
}
.col-xl-10 {
    width: 83.33333333%;
}
.col-xl-9 {
    width: 75%;
}
.col-xl-8 {
    width: 66.66666667%;
}
.col-xl-7 {
    width: 58.33333333%;
}
.col-xl-6 {
    width: 50%;
}
.col-xl-5 {
    width: 41.66666667%;
}
.col-xl-4 {
    width: 33.33333333%;
}
.col-xl-3 {
    width: 25%;
}
.col-xl-2 {
    width: 16.66666667%;
}
.col-xl-1 {
    width: 8.33333333%;
}
.col-xl-pull-12 {
    right: 100%;
}
.col-xl-pull-11 {
    right: 91.66666667%;
}
.col-xl-pull-10 {
    right: 83.33333333%;
}
.col-xl-pull-9 {
    right: 75%;
}
.col-xl-pull-8 {
    right: 66.66666667%;
}
.col-xl-pull-7 {
    right: 58.33333333%;
}
.col-xl-pull-6 {
    right: 50%;
}
.col-xl-pull-5 {
    right: 41.66666667%;
}
.col-xl-pull-4 {
    right: 33.33333333%;
}
.col-xl-pull-3 {
    right: 25%;
}
.col-xl-pull-2 {
    right: 16.66666667%;
}
.col-xl-pull-1 {
    right: 8.33333333%;
}
.col-xl-pull-0 {
    right: auto;
}
.col-xl-push-12 {
    left: 100%;
}
.col-xl-push-11 {
    left: 91.66666667%;
}
.col-xl-push-10 {
    left: 83.33333333%;
}
.col-xl-push-9 {
    left: 75%;
}
.col-xl-push-8 {
    left: 66.66666667%;
}
.col-xl-push-7 {
    left: 58.33333333%;
}
.col-xl-push-6 {
    left: 50%;
}
.col-xl-push-5 {
    left: 41.66666667%;
}
.col-xl-push-4 {
    left: 33.33333333%;
}
.col-xl-push-3 {
    left: 25%;
}
.col-xl-push-2 {
    left: 16.66666667%;
}
.col-xl-push-1 {
    left: 8.33333333%;
}
.col-xl-push-0 {
    left: auto;
}
.col-xl-offset-12 {
    margin-left: 100%;
}
.col-xl-offset-11 {
    margin-left: 91.66666667%;
}
.col-xl-offset-10 {
    margin-left: 83.33333333%;
}
.col-xl-offset-9 {
    margin-left: 75%;
}
.col-xl-offset-8 {
    margin-left: 66.66666667%;
}
.col-xl-offset-7 {
    margin-left: 58.33333333%;
}
.col-xl-offset-6 {
    margin-left: 50%;
}
.col-xl-offset-5 {
    margin-left: 41.66666667%;
}
.col-xl-offset-4 {
    margin-left: 33.33333333%;
}
.col-xl-offset-3 {
    margin-left: 25%;
}
.col-xl-offset-2 {
    margin-left: 16.66666667%;
}
.col-xl-offset-1 {
    margin-left: 8.33333333%;
}
.col-xl-offset-0 {
    margin-left: 0;
}
.visible-xl {
    display: block !important;
}
table.visible-xl {
    display: table;
}
tr.visible-xl {
    display: table-row !important;
}
th.visible-xl, td.visible-xl {
    display: table-cell !important;
}
.visible-xl-block {
    display: block !important;
}
.visible-xl-inline {
    display: inline !important;
}
.visible-xl-inline-block {
    display: inline-block !important;
}
.hidden-xl {
    display: none !important;
}
}

/*==================================================
=            Bootstrap 3 Media Queries             =
==================================================*/

    /*==========  Mobile First Method  ==========*/

    /* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
/* Text */
h5 {
    margin-bottom: 35px;
}
ul li {
    margin-bottom: 25px;
}
/* Header */
.contact-bar .logo {
    width: 117px
}
/* Nav */
nav {
    display: block;
    height: auto;
    opacity: 1;
    width:100%;
    background: #fff;
    -webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.11);
    -moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.11);
    box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.11);
}
#nav-spacer {
    height:102px;
}
#primary-menu {
    display: block;
}
/* Header Slides */
.header-slides {
    margin-bottom: 90px;
}
.header-slides h2, .header-slides h1 {
    font-size: 50px;
}
.header-slides {
    height: 568px;
}
.header-slides .slide {
    height: 568px;
}
/* Sliders */
.slick-dotted.slick-slider {
    margin-bottom: 90px;
}
/* Layout */
.margin-top-lg {
    margin-top: 90px;
}
.margin-bottom {
    margin-bottom: 20px;
}
.margin-bottom-lg {
    margin-bottom: 90px;
}
.box-pad-lg {
    padding: 50px;
}
/* Testimonials */
blockquote {
    font-size: 40px;
    padding: 0 40px;
}
cite {
    font-size: 32px;
}
/* Forms */
#gform_1 {
     margin-top:90px;
}
#field_1_1 {
    width: 33%;
    display: inline-block;
    padding-right: 0.33%;
    float: left;
}
#field_1_2 {
    width: 34%;
    display: inline-block;
    padding: 0 0.33%;
    float: left;
}
#field_1_4 {
    width: 33%;
    display: inline-block;
    padding-left: 0.33%;
    float: left;
}
#field_1_7 {
    width: 50%;
}
#gform_submit_button_1 {
    position: absolute;
    right: 0;
    top: -130px;
}
/* Footer */
footer {
    margin-top: 70px;
    padding-top: 60px;
    padding-bottom: 15px;
}
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
/* Header */
.contact-bar .logo {
    width: 165px
}
.contact-bar .logo.shrink {
    width: 150px
}
.contact-bar {
    font-size: 14px;
}
/* Nav */
#primary-menu li a {
    padding: 40px 50px;
}
#primary-menu li.current-menu-item {
    background: url(../img/current-page.png) no-repeat bottom 25px center;
}
#primary-menu li:last-child.current-menu-item {
    background: url(../img/current-page.png) no-repeat bottom 25px right 19px;
}
/* Vacancies */
.vacancies-outer {
    padding: 50px 0 0 10px;
}
}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {
/* Header */
.contact-bar .logo {
    width: 272px;
}
}

.secure-payment-container,
#post-314 .container {
    margin-top: 200px;
}









/* Services layout css */
.services-wrapper {
    padding: 30px 15px;
    max-width: 1200px;
    margin: 0 auto;
  }

  .services-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .col-md-6.col-lg-4 {
    width: 100%;
    max-width: calc(33.333% - 20px);
    flex: 1 1 calc(33.333% - 20px);
    display: flex;
    flex-direction: column;
  }

  @media (max-width: 991px) {
    .col-md-6.col-lg-4 {
      max-width: calc(50% - 15px);
      flex: 1 1 calc(50% - 15px);
    }
  }

  @media (max-width: 767px) {
    .col-md-6.col-lg-4 {
      max-width: 100%;
      flex: 1 1 100%;
    }
  }

  .panel {
    flex: 1 1 auto;
    border: none;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: 100%;
	background: #fff; /* Ensure background is not transparent */
    position: relative; /* Needed for z-index to work */
    z-index: 1; /* Default layer */
    transition: box-shadow 0.3s ease, z-index 0.3s ease;
	  text-align: left;
  }
	
	.panel.expanded {
  		z-index: 5; /* Lift above others */
  		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); /* More prominent shadow if desired */
	}

  .panel-heading {
    position: relative;
    padding: 0;
    border: none;
    cursor: pointer;
  }

  .panel-title a.accordion-toggle {
    display: block;
    position: relative;
    text-decoration: none;
    color: inherit;
  }

  .service-bg {
    width: 100%;
    height: 250px;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
  }

  .service-bg:hover {
    transform: scale(1.05);
  }

  .services-text {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-weight: bold;
    padding: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.2em;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .services-text i.fal.fa-plus {
    transition: transform 0.3s ease;
  }

  .services-text.active i.fal.fa-plus {
    transform: rotate(45deg);
  }

  .panel-collapse {
    width: 100%;
  }

  .panel-body {
    background: #FAFAFA;
    padding: 20px;
    color: #333;
    margin-top: auto;
  }

  .child-services-list {
    margin: 0 0 15px 0;
    padding-left: 20px;
  }

  .child-services-list li {
    margin-bottom: 8px;
  }

  #mobile-accordion {
    display: none;
  }
