/*LAYOUT*/
* {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

p {
  font-family: 'Source Sans Pro', sans-serif;
  line-height: 20px;
  margin-bottom: 15px; }

img {
  border: 0;
  height: auto;
  max-width: 100%; }

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  a:hover {
    text-decoration: none; }

body {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 14px;
  line-height: 17px;
  margin: 75px 0 0 0; }

body, html {
  overflow-x: hidden; }

em {
  font-style: italic; }

strong {
  font-weight: 900; }

h1, h2, h3, h4, h5, h6 {
  line-height: normal; }

/*END OF LAYOUT*/
header {
  background: #bad040;
  padding: 14px 0 12px 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9; }
  header .logo {
    padding-top: 9px; }
  header .phone-number {
    color: #FFFFFF;
    float: right;
    font-size: 15px;
    margin-bottom: 10px; }
    header .phone-number label {
      font-size: 13px; }
  header nav.menu {
    display: inline-block;
    width: 100%; }
    header nav.menu ul {
      float: right;
      margin: 0 auto; }
      header nav.menu ul li {
        float: left;
        font-size: 15px;
        position: relative;
        width: auto; }
        header nav.menu ul li:last-child {
          border-right: 0px; }
        header nav.menu ul li a {
          color: #FFFFFF;
          float: left;
          padding: 0px 10px 0px 10px;
          text-decoration: none;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -ms-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s; }
          header nav.menu ul li a:after {
            background: #FFFFFF;
            bottom: -8px;
            content: "";
            height: 0px;
            left: 50%;
            position: absolute;
            -webkit-transition: all 0.3s;
            -moz-transition: all 0.3s;
            -ms-transition: all 0.3s;
            -o-transition: all 0.3s;
            transition: all 0.3s;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            width: 0px; }
          header nav.menu ul li a:hover {
            opacity: 1;
            position: relative; }
            header nav.menu ul li a:hover:after {
              height: 1px;
              width: 60px; }
        header nav.menu ul li.current-menu-item a:after {
          background: #FFFFFF;
          bottom: -8px;
          content: "";
          height: 1px;
          left: 50%;
          position: absolute;
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          -ms-transition: all 0.3s;
          -o-transition: all 0.3s;
          transition: all 0.3s;
          transform: translate(-50%, -50%);
          -webkit-transform: translate(-50%, -50%);
          -moz-transform: translate(-50%, -50%);
          -o-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          width: 60px; }

.title-bar {
  background: #f6f7f9;
  color: #bad040;
  font-size: 18px;
  padding: 14px 0; }

footer {
  background: #eb5b27;
  color: #FFFFFF;
  padding: 50px 0 20px 0; }
  footer h4 {
    font-size: 24px;
    font-weight: 300;
    line-height: 28px;
    margin-bottom: 5px; }
  footer .footer-small {
    font-size: 11px;
    margin-top: 20px; }
    footer .footer-small i.fa {
      font-size: 32px;
      margin-left: 10px; }
    footer .footer-small img {
      margin-left: 30px;
      max-height: 45px; }
  footer a:hover {
    color: #bad040; }

button.button {
  background: #bad040;
  border: 0;
  border-radius: 3px;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 15px;
  outline-width: 0;
  padding: 8px 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  button.button:hover {
    background: #717e26; }

.advert-wrapper {
  margin-top: 20px;
  padding-left: 0; }
  .advert-wrapper .advert {
    color: #FFFFFF;
    margin-bottom: 15px;
    margin-left: 0;
    min-height: 107px;
    padding: 15px;
    position: relative; }
    .advert-wrapper .advert h4 {
      font-size: 15px;
      font-weight: 900;
      line-height: 20px;
      margin-bottom: 5px; }
    .advert-wrapper .advert p {
      font-size: 13px;
      line-height: 16px;
      margin-bottom: 0; }
    .advert-wrapper .advert img {
      left: -30px;
      max-width: none;
      position: absolute;
      top: -26px;
      width: 108px; }
    .advert-wrapper .advert .content {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      -ms-transform: translateY(-50%); }
  .advert-wrapper .notice-box {
    border: 6px solid #bad040;
    margin-bottom: 20px;
    margin-top: 25px;
    padding: 25px 30px 25px 25px; }
    .advert-wrapper .notice-box h4 {
      color: #bad040;
      font-size: 22px;
      font-weight: 900;
      line-height: 28px; }
    .advert-wrapper .notice-box p {
      color: #bad040;
      font-size: 15px;
      margin-top: 10px; }
    .advert-wrapper .notice-box button {
      background: #bad040;
      border: 0;
      border-radius: 3px;
      color: #FFFFFF;
      margin-top: 5px;
      padding: 9px 25px;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      .advert-wrapper .notice-box button:hover {
        background: #717e26; }

.no-padding {
  padding: 0; }

/*END OF LAYOUT*/
/*HOME PAGE*/
.home-banner {
  position: relative; }
  .home-banner .overlay-box {
    color: #FFFFFF;
    max-width: 600px;
    position: absolute;
    top: 40%;
    transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -o-transform: translateY(-40%);
    -ms-transform: translateY(-40%); }
    .home-banner .overlay-box h1 {
      font-size: 45px;
      font-weight: 300; }
    .home-banner .overlay-box p {
      font-weight: 300;
      margin-top: 10px; }

.home-green-box {
  background: #bad040;
  color: #FFFFFF;
  font-size: 20px;
  padding: 60px 0;
  position: relative; }
  .home-green-box p {
    line-height: 27px;
    margin: 0 auto;
    max-width: 75%;
    text-align: center; }
  .home-green-box:before {
    background: #bad040;
    content: "";
    height: 150px;
    left: 0;
    position: absolute;
    top: -90px;
    transform: rotate(-4deg);
    -webkit-transform: rotate(-4deg);
    -moz-transform: rotate(-4deg);
    -o-transform: rotate(-4deg);
    -ms-transform: rotate(-4deg);
    width: 105%; }
  .home-green-box:after {
    background: #bad040;
    bottom: -90px;
    content: "";
    height: 150px;
    left: 0;
    position: absolute;
    transform: rotate(4deg);
    -webkit-transform: rotate(4deg);
    -moz-transform: rotate(4deg);
    -ms-transform: rotate(4deg);
    -o-transform: rotate(4deg);
    width: 105%;
    z-index: 1; }
  .home-green-box .container {
    position: relative;
    z-index: 2; }

.home-bottom-box {
  position: relative; }
  .home-bottom-box .overlay-box {
    font-size: 25px;
    max-width: 400px;
    position: absolute;
    top: 40%;
    transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    -moz-transform: translateY(-40%);
    -o-transform: translateY(-40%);
    -ms-transform: translateY(-40%); }
    .home-bottom-box .overlay-box p {
      line-height: 32px;
      margin-bottom: 20px; }

/*END OF HOME PAGE*/
/*CONTACT PAGE*/
.map {
  position: relative; }
  .map .overlay-box {
    background: #bad040;
    color: #FFFFFF;
    left: 80%;
    min-width: 300px;
    padding: 20px;
    position: absolute;
    top: 70%;
    transform: translate(-80%, -70%);
    -webkit-transform: translate(-80%, -70%);
    -moz-transform: translate(-80%, -70%);
    -o-transform: translate(-80%, -70%);
    -ms-transform: translate(-80%, -70%); }
    .map .overlay-box h4 {
      font-size: 18px;
      font-weight: 900;
      margin-bottom: 8px; }
    .map .overlay-box .phone-number {
      margin-right: 20px; }
    .map .overlay-box .email-address {
      display: block;
      margin-top: 12px; }

img.contact-image {
  display: block;
  margin: 0 auto 20px auto;
  padding-top: 45px; }

.contact-form {
  margin-top: 30px; }
  .contact-form h4 {
    color: #bad040;
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 22px;
    text-align: center; }
  .contact-form .nf-form-cont {
    margin: 20px auto 0 auto;
    max-width: 900px; }
    .contact-form .nf-form-cont nf-fields-wrap nf-field {
      float: left;
      margin: 0 1%;
      width: 98%; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field:nth-child(1) {
        width: 63%; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field:nth-child(2) {
        width: 33%; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field input[type="text"],
      .contact-form .nf-form-cont nf-fields-wrap nf-field input[type="email"],
      .contact-form .nf-form-cont nf-fields-wrap nf-field select {
        background: #f3f5f7;
        border: 0;
        color: #9fa0a1;
        height: 45px;
        outline-width: 0;
        padding-left: 15px; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field input[type="button"] {
        background: #bad040;
        border: 0;
        border-radius: 3px;
        color: #FFFFFF;
        cursor: pointer;
        display: block;
        font-size: 15px;
        margin: 0 auto;
        padding: 10px 20px;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -ms-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s; }
        .contact-form .nf-form-cont nf-fields-wrap nf-field input[type="button"]:hover {
          background: #717e26; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field textarea {
        background: #f3f5f7;
        border: 0;
        color: #9fa0a1;
        padding: 15px;
        width: 100%; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field .nf-field-container,
      .contact-form .nf-form-cont nf-fields-wrap nf-field #ninja_forms_required_items {
        margin-bottom: 15px; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field ::-webkit-input-placeholder {
        /* Chrome/Opera/Safari */
        color: #9fa0a1; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field ::-moz-placeholder {
        /* Firefox 19+ */
        color: #9fa0a1; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field :-ms-input-placeholder {
        /* IE 10+ */
        color: #9fa0a1; }
      .contact-form .nf-form-cont nf-fields-wrap nf-field :-moz-placeholder {
        /* Firefox 18- */
        color: #9fa0a1; }

.nf-form-fields-required,
.nf-after-field .nf-error-msg {
  display: none; }

.nf-error .ninja-forms-field {
  border: 2px solid #eb5b27 !important; }

.ninja-forms-req-symbol,
.nf-error-msg {
  text-align: center; }

/*END OF CONTACT PAGE*/
/*TESTIMONIAL PAGE*/
.testimonials .left {
  background: #FFFFFF;
  padding: 2%;
  position: relative;
  top: -160px; }
  .testimonials .left .testimonial-top-content {
    background: #FFFFFF;
    color: #bad040;
    font-size: 27px; }
    .testimonials .left .testimonial-top-content p {
      line-height: 32px; }
    .testimonials .left .testimonial-top-content + .description {
      margin-top: 35px; }
.testimonials .testimonial {
  background: #f6f7f9;
  margin-bottom: 10px;
  padding: 3% 100px 3% 3%; }
  .testimonials .testimonial h4 {
    cursor: pointer;
    font-size: 18px;
    font-weight: 900;
    line-height: 22px;
    margin-bottom: 5px;
    position: relative; }
    .testimonials .testimonial h4 i.fa {
      color: #bad040;
      cursor: pointer;
      font-size: 26px;
      position: absolute;
      right: -80px;
      top: 15px;
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -ms-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
  .testimonials .testimonial.active i.fa {
    color: #eb5b27;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    -ms-transform: rotate(180deg); }
.testimonials .description {
  padding-left: 25px; }
  .testimonials .description h4 {
    color: #bad040;
    font-size: 18px;
    line-height: 22px;
    margin: 12px 0 5px 0; }
  .testimonials .description p {
    margin-bottom: 30px; }

/*END OF TESTIMONIAL PAGE*/
/*SUSTAINABILITY*/
.sustainability .left {
  background: #FFFFFF;
  padding: 2%;
  position: relative;
  top: -160px; }
  .sustainability .left .sustainability-top-content {
    background: #FFFFFF; }
    .sustainability .left .sustainability-top-content h2 {
      color: #bad040;
      font-size: 22px;
      line-height: 28px;
      margin-bottom: 10px; }
  .sustainability .left .future-content {
    background: #f6f7f9;
    display: inline-block;
    margin-top: 20px;
    padding: 2% 2% 1% 0%;
    width: 100%; }
    .sustainability .left .future-content .content h4 {
      color: #bad040;
      font-size: 22px;
      line-height: 28px;
      margin-bottom: 10px; }
    .sustainability .left .future-content .content p {
      font-size: 13px;
      margin-bottom: 12px; }

/*END OF SUSTAINABILITY*/
/*CASE STUDIES*/
.buttons-wrapper {
  text-align: right; }
  .buttons-wrapper button.case-study-button {
    border: 0;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: pointer;
    font-size: 15px;
    margin-left: 10px;
    outline-width: 0;
    padding: 8px 20px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .buttons-wrapper button.case-study-button:hover {
      background: #717e26; }
  .buttons-wrapper .case-study-link:nth-child(odd) button {
    background: #bad040;
    outline-width: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .buttons-wrapper .case-study-link:nth-child(odd) button:hover {
      background: #717e26; }
  .buttons-wrapper .case-study-link:nth-child(even) button {
    background: #41c0ee;
    outline-width: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .buttons-wrapper .case-study-link:nth-child(even) button:hover {
      background: #0da7db; }

.case-study-wrapper {
  padding: 50px 0; }
  .case-study-wrapper:nth-child(odd) {
    background: #f1f5d8; }
    .case-study-wrapper:nth-child(odd) .outcome {
      border: 8px solid #bad040; }
    .case-study-wrapper:nth-child(odd) .overlay-text {
      background: #bad040; }
  .case-study-wrapper:nth-child(even) {
    background: #d9f2fb; }
    .case-study-wrapper:nth-child(even) .outcome {
      border: 8px solid #41c0ee; }
    .case-study-wrapper:nth-child(even) .overlay-text {
      background: #41c0ee; }
  .case-study-wrapper h4 {
    font-size: 17px;
    line-height: 24px;
    margin-bottom: 8px; }
  .case-study-wrapper .image {
    margin-bottom: 20px;
    position: relative; }
    .case-study-wrapper .image .overlay-text {
      bottom: 30px;
      color: #FFFFFF;
      font-size: 22px;
      left: 35px;
      line-height: 28px;
      max-width: 320px;
      padding: 12px;
      position: absolute; }
  .case-study-wrapper ul {
    list-style-type: disc;
    margin-left: 15px; }
    .case-study-wrapper ul li {
      margin-bottom: 10px; }
  .case-study-wrapper .outcome {
    background: #FFFFFF;
    margin-top: 25px;
    padding: 1% 2%; }

.page-template-case-studies .left {
  padding-top: 11px; }

/*END OF CASE STUDIES*/
/*ABOUT US*/
.about .left {
  background: #FFFFFF;
  padding: 2%;
  position: relative;
  top: -160px; }
  .about .left .about-top-content {
    background: #FFFFFF; }
    .about .left .about-top-content h2 {
      color: #bad040;
      font-size: 22px;
      line-height: 28px;
      margin-bottom: 10px; }
  .about .left .team-members {
    background: #f6f7f9;
    display: inline-block;
    padding: 4% 1% 3% 1%;
    width: 100%; }
    .about .left .team-members h4 {
      color: #bad040;
      font-size: 15px;
      margin-top: 8px;
      text-align: center; }
    .about .left .team-members .team-member {
      margin-bottom: 30px; }
      .about .left .team-members .team-member img {
        max-height: 126px; }
    .about .left .team-members a:nth-of-type(4n+5) .team-member {
      clear: left; }

.featherlight .featherlight-content {
  padding: 0; }
.featherlight .featherlight-close-icon {
  background: none;
  color: transparent;
  outline-width: 0; }
  .featherlight .featherlight-close-icon:after {
    color: #eb5b27;
    content: "\f05c";
    font-family: FontAwesome;
    font-size: 30px;
    position: absolute;
    right: 15px;
    top: 15px; }

.team-popup {
  background: #f6f7f9;
  display: none;
  padding-top: 25px; }
  .team-popup .top {
    display: inline-block;
    position: relative;
    width: 100%; }
    .team-popup .top .right {
      bottom: 5px;
      position: absolute;
      right: 0; }
      .team-popup .top .right h4 {
        font-size: 25px;
        line-height: 32px;
        margin-bottom: 2px; }
      .team-popup .top .right .qualifications {
        color: #bad040; }
      .team-popup .top .right button.button {
        font-size: 15px;
        font-weight: 900;
        left: -15px;
        margin-top: 12px;
        padding: 4px 20px 10px 20px;
        position: relative; }
        .team-popup .top .right button.button i.fa {
          font-size: 24px;
          left: -10px;
          margin-right: 0px;
          position: relative;
          top: 3px; }
  .team-popup ul {
    list-style-type: disc; }
    .team-popup ul li {
      margin-bottom: 10px;
      margin-left: 15px; }
  .team-popup .skills {
    padding: 25px; }
  .team-popup .professional {
    background: #FFFFFF;
    padding: 25px 25px 0 25px; }

/*END OF ABOUT US*/
/*RESPONSIVE*/
@media screen and (max-width: 990px) {
  .about .left,
  .testimonials .left,
  .sustainability .left {
    top: 0; }

  .title-bar {
    padding: 3%; }

  .advert-wrapper .advert img {
    max-width: 100%;
    position: static; } }
@media screen and (max-width: 768px) {
  .home-banner {
    height: 500px !important; }

  .home-banner .overlay-box h1 {
    font-size: 30px;
    line-height: 35px;
    padding: 3%;
    text-align: center; }

  .home-banner .overlay-box p {
    padding: 0 3%;
    text-align: center; }

  .home-green-box {
    font-size: 18px;
    padding: 10px 0; }

  .home-bottom-box {
    height: 500px !important;
    text-align: center; }

  .home-bottom-box .overlay-box {
    font-size: 20px;
    left: 50%;
    transform: translate(-50%, -60%);
    -webkit-transform: translate(-50%, -60%);
    -moz-transform: translate(-50%, -60%);
    -o-transform: translate(-50%, -60%);
    -ms-transform: translate(-50%, -60%);
    top: 60%;
    width: 80%; }

  .home-bottom-box .overlay-box p {
    line-height: 26px; }

  header .phone-number {
    clear: both; }

  footer {
    padding: 25px 0 10px 0; }

  footer .footer-small {
    margin-top: 5px;
    text-align: center; }

  footer .footer-small i.fa {
    display: block;
    margin: 5px 0;
    text-align: center; }

  footer .footer-small img {
    margin-left: 10px; }

  .advert-wrapper {
    padding: 3%; }

  .advert-wrapper .advert .content {
    position: static;
    transform: none; }

  .future-content {
    padding-top: 20px !important; }

  .future-content .image img {
    display: block;
    margin: 0 auto 10px auto; }

  .case-study-wrapper {
    padding: 20px 0; }

  .case-study-wrapper .outcome {
    margin: 3%; }

  .case-study-wrapper .image .overlay-text {
    font-size: 14px;
    position: static; }

  .buttons-wrapper {
    margin-top: 20px; }

  .buttons-wrapper button.case-study-button {
    display: block;
    margin: 0 auto 10px auto; }

  .map .overlay-box {
    margin-top: 25px;
    position: static;
    transform: none; }

  header nav.menu {
    display: none; }

  .nav-toggle {
    color: #FFFFFF;
    cursor: pointer;
    display: block !important;
    font-size: 30px;
    position: absolute;
    right: 15px;
    top: 15px; }

  header nav.menu ul {
    float: none; }

  header nav.menu ul li {
    display: block;
    float: none;
    width: 100%; }

  header nav.menu ul li a {
    display: block;
    float: left;
    font-size: 20px;
    padding: 10px 0;
    text-align: center;
    width: 100%; }

  header nav.menu ul li a:after {
    content: none; } }
/*END OF RESPONSIVE*/
