@charset "UTF-8";

/* CSS Document */


/*Green = #78b637*/


/*Black = #222*/

html,
body {
    height: 100%;
    padding: 0;
    margin: 0;
}

body {
    color: #222;
    width: 100%;
    height: 100%;
    font-family: "Jost", "Helvetica Neue", Helvetica, Arial, sans-serif;
    /*  background-color: #fff;*/
    /* background-color: #E4E4E4; */
    background-color: #fff;
    font-size: 16px;
}

* {
    box-sizing: border-box;
}

strong,
b {
    font-weight: normal;
}

p,
h1,
h2,
h3,
h4,
ul,
li {
    padding: 0;
    margin: 0;
    font-weight: normal;
}

img {
    vertical-align: bottom;
    height: auto !important;
    /* Fix for IE */
}

a img {
    border: 0px;
    /* Fix for IE */
}

.img-spacer {
    padding: 1em 0;
}

h1 {
    text-transform: uppercase;
    font-size: 1.4em;
}

h2 {
    text-transform: uppercase;
    font-weight: normal;
    font-size: 1.3em;
}

h3 {
    text-transform: uppercase;
    font-size: 1em;
    padding-bottom: 0.8em;
}

h4 {
    font-size: 1em;
    font-weight: bold;
}

p {
    font-size: 1.1em;
    padding-bottom: 0.8em;
}

.center {
    text-align: center;
}

.harmony-colour-1 {
    color: #9c8c7e
}

.harmony-colour-2 {
    color: #6a69a6
}

.harmony-colour-3 {
    color: #42b0c3
}

.harmony-colour-4 {
    color: #5fad47
}

.icon {
    width: 1em;
    position: relative;
    top: -0.1em;
}

a {
    color: #78b637;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a.project-link {
    color: #222;
}

a.project-link:hover {
    opacity: 0.6;
    transition: 0.3s;
}

.projects-large {
    width: 100%;
    height: auto;
    padding-bottom: 1em;
}

.back-link {
    font-size: 0.8em;
    color: #222;
    padding-top: 1em;
    display: block;
}

.back-link:hover {
    color: #78b637;
    text-decoration: none;
}

.harmony-img {
    padding: 1em 0;
    max-width: 19em;
}

.no-wrap {
    white-space: nowrap;
}


/*The Nav START-------------------------------------------- */

#nav-bar {
    width: 100%;
    padding: 1.2em;
    background-color: #fff;
    position: fixed;
    top: -100px;
    transition: 0.5s;
}

#nav-bar.scrolled {
    top: 0 !important;
}

#nav-bar div {
    display: inline-block;
}

#nav-bar .div-left {
    float: left;
    padding-left: 1.5em;
}

#nav-bar .div-right {
    float: right;
}

#nav-bar .logo {
    width: 12em;
}

#nav-bar ul li {
    list-style-type: none;
    display: inline-block;
    padding-right: 1.5em;
    padding-top: 1em;
    text-transform: uppercase;
    font-size: 0.9em;
}

#nav-bar li a {
    text-decoration: none;
    color: #222;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
}

#nav-bar li a:hover,
#nav-bar li a:active,
#nav-bar li a.active {
    border-bottom: 2px solid #78b637;
    text-decoration: none;
}


/*The Nav END-------------------------------------------- */


/* Links START */

.discrete-link {
    text-decoration: none;
    color: #222;
    max-width: 100%;
}

.discrete-link:hover {
    color: #78b637;
}


/* Links END */


/*Columns setup START-------------------------------------------- */

.column {
    float: left;
}

.first {
    width: 25%;
    padding-left: 10%;
}

.second {
    width: 45%;
    padding-right: 5%;
    padding-bottom: 2em;
    max-width: 900px;
}

.second-mid {
    width: 55%;
    padding-right: 5%;
}

.second-mid-extra {
    width: 15%;
    font-size: 0.8em;
    /* padding-right: 5%; */
}

.second-wide {
    width: 75%;
    padding-right: 5%;
    max-width: 1200px;
}

.second-third {
    width: 25%;
    margin-right: 5%;
    font-size: 0.8em;
    padding-top: 2em;
    padding-bottom: 1em;
    /* border-top: 1px #222 solid; */
    display: inline-block;
    max-width: 220px;
}


}

/* .third {
  width: 30%;
  font-size: 0.8em;
  padding-right: 5%;
} */
.third {
    width: 30%;
    padding-right: 10%;
}
.third img {
    max-width: 60%;
}
.third-1,
.third-2 {
    width: 50%;
    padding-right: 10%;
}
.free-width {
    padding-right: calc(30px + 4%);
    padding-bottom: 1em;
}
.row {
    background-color: #fff;
}

/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}

/*Columns setup END-------------------------------------------- */

/*START Masonry for Projects-------------------------------------------- */
.grid {
    max-width: 1000px;
}
.grid:after {
    content: '';
    display: block;
    clear: both;
}
.grid-sizer,
.grid-item {
    width: 30%;
    max-width: 400px;
}
.gutter-sizer {
    width: 3%;
}
.grid-item {
    padding-bottom: 2em;
    float: left;
}

/*.grid-item--width2 { width: 66.666% }*/
.grid-item img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}
.grid-item .project-name {
    text-transform: uppercase;
    text-align: right;
    font-size: 0.9em;
    padding-top: 0.5em;
}
.grid-item .quote {
    font-family: 'libre_baskerville', Georgia, "Times New Roman", Times, serif;
    font-size: 1.2em;
    line-height: 1.4em;
    color: #989898;
    padding-bottom: 0.3em;
}
.grid-item .quote-name {
    font-size: 0.8em;
}

/*END   Masonry for Projects-------------------------------------------- */

/* START styling for arrow button overlaying video -------------------------------------------- */
.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    text-transform: uppercase;
    font-family: 'montserratlight', "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.btn-circle {
    width: 100px;
    height: 100px;
    margin-top: 50px;
    padding: 20px 16px;
    border: 0;
    border-radius: 35px;
    font-size: 40px;
    color: #fff;
    background: 0 0;
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}
@media(min-width:767px) {
    .btn-circle {
        margin-top: 115px;
    }
}
.btn-circle:hover,
.btn-circle:focus {
    outline: 0;
    color: #fff;
    background: rgba(255, 255, 255, .1);
}
.btn-circle i.animated {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
}
.btn-circle:hover i.animated {
    -webkit-animation-name: pulse;
    -moz-animation-name: pulse;
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}
.btn i img {
    vertical-align: middle;
}

/* END styling for arrow button overlaying video -------------------------------------------- */

/* START z-index */
#myVideo,
.fixed-video-container {
    z-index: -2;
}
.hero-image {
    z-index: -1;
}
.row {
    z-index: 2;
}
#nav-bar {
    z-index: 3;
}

/* END z-index */
.hero-image {
    /* height: 100%; */
    
    height: 90%;
}
.padding-hero {
    padding-top: 2em;
}
.padding-heroless {
    padding-top: 5.5em;
}
.padding-footer {
    padding-bottom: 4em;
}

/* video player */
.video-container {
    height: 100%;
}
#myVideo {
    /* position: fixed;
  right: 0;
  top: 0; */
    
    min-width: 100%;
    min-height: 100vh;
    /* height needs to be 100vh instead of % to avoid jump on iOS devices.*/
}

/* Oct 2021: this is a fix for landing autoplay video not appearing in Mac Sarafi 15: */
.fixed-video-container {
    position: fixed;
    right: 0;
    top: 0;
    min-width: 100%;
    min-height: 100vh;
}

/*.white-background-body {background: #fff !important;}*/

/*.padding-no {padding: 0;}*/

/*.padding-no img {width: 100%;}*/

/*.force-width {width: 100% !important;}*/

/*.em-spacer  {padding: 0;}*/
.home-video-overlay {
    width: 90%;
    margin: auto;
    text-align: center;
    color: #fff;
    /* following are to posisition content vertically */
    
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.home-video-logo {
    width: 8em;
    padding-top: 2em;
}
.home-video-title {
    font-size: 3em;
    /* letter-spacing: 3px; */
    
    padding: 1em 0 0.5em 0;
    /* border-top: 1px solid #fff; */
}
.home-video-strapline {
    font-size: 1.8em;
}
@media only screen and (max-width: 700px) {
    .home-video-strapline .no-wrap {
        white-space: normal;
    }
}

/* START Parallax Script -------------------------------------------- */

/*.hero-image { position: relative; }*/

/*.hero-image img{ visibility: hidden; }*/
.parallax img {
    visibility: inherit;
}
.parallax {
    position: absolute;
    width: 100%;
    /* height: 100%; */
    
    height: 90%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.white_bg {
    background-color: #fff;
}

/* END   Parallax Script -------------------------------------------- */

/* Dropdown setup START - adapted from https://www.w3schools.com/howto/howto_css_dropdown.asp -------------------------------------------- */

/* The container <div> - needed to position the dropdown content */
.dropdown {
    position: relative;
    display: inline-block;
}
.dropdown-link {
    /* cursor: default; */
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
    display: none;
    position: absolute;
    left: -16px;
    padding-top: 2.2em;
    white-space: nowrap;
    z-index: 1;
}
.dropdown-padding {
    background-color: rgba(255, 255, 255, 0.85);
}
.dropdown-content a {
    margin: 12px 16px;
    display: block;
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
    display: block;
}

/* Dropdown setup END -------------------------------------------- */
.team-photos {
    padding-bottom: 1em;
}
.bike-image {
    text-align: right;
    position: relative;
}
.bike-image img {
    width: 20%;
    position: absolute;
    top: -150px;
    left: 110%;
}
@media only screen and (max-width: 900px) {
    .bike-image img {
        width: 20%;
        position: relative;
        top: 0;
        left: 0;
    }
}

/* for lazy loading: */
.lazy {
    display: inline-block;
    width: 100%;
    height: auto;
    /* ensures item takes up some space even before image loads: */
    /* min-height: 200px; */
    
    opacity: 0;
    transition: opacity .3s ease-in;
}

/*Responsive adjustents START-------------------------------------------- */
@media only screen and (max-width: 1400px) {
    .third {
        padding-right: 1em;
    }
}
@media only screen and (max-width: 1200px) {
    .home-video-overlay {
        font-size: 0.8em;
    }
    
    .first {
        width: 30%;
        padding-left: 10%;
    }
    
    .second {
        width: 50%;
    }
    
    .second-mid,
    .second-wide {
        width: 70%;
    }
    
    .third,
    .second-mid-extra {
        width: 50%;
        margin-left: 30%;
        padding-right: 0;
    }
    
    .second-third {
        width: 33%;
    }
    
    .grid-sizer,
    .grid-item {
        width: 47%;
    }
}
@media only screen and (max-width: 900px) {
    .home-video-overlay {
        font-size: 0.8em;
    }
    
    .first,
    .second,
    .third {
        width: 100%;
        /* font-size: 1em; */
        padding: 0 2em 2em 2em;
        margin: 0;
    }
    
    .second-mid-extra {
        width: 100%;
        /* font-size: 1em; */
        padding: 0 2.5em 2.5em 2.5em;
        margin: 0;
    }
    
    .mobile-hide {
        display: none;
    }
    
    p,
    .grid-item {
        /* font-size: 1.2em; */
    }
    
    #contact .second-mid-extra p {
        padding-top: 1em;
        /* font-size: 0.8em; */
    }
    
    #nav-bar ul {
        padding: 3em 0 1em 0;
    }
    
    #nav-bar ul li {
        display: block;
        text-align: right;
        padding-right: 0.5em;
        font-size: 1.2em;
    }
}
@media only screen and (max-width: 700px) {
    #nav-bar .div-left {
        padding-left: 0.8em;
    }
    
    #nav-bar .div-right {
        padding-right: 0.5em;
    }
    
    .second-third {
        width: 100%;
    }
    
    .third-1,
    .third-2 {
        width: 100%;
        font-size: 1em;
        padding: 0 2em 2em 2em;
        margin: 0;
    }
    
    .third-1 img {
        max-width: 50%;
    }
    
    .mobile-hide {
        display: none;
    }
}
@media only screen and (max-width: 600px) {
    .home-video-title {
        font-size: 2em !important;
    }
    
    .grid-sizer,
    .grid-item {
        width: 100%;
        max-width: 100%;
    }
    
    .gutter-sizer {
        width: 0%;
    }
}

/*Responsive adjustents END-------------------------------------------- */

/* START Hamburger Responsive Nav --------------------------------------------------------------------- */

/*!
    * Hamburgers
    * @description Tasty CSS-animated hamburgers
    * @author Jonathan Suh @jonsuh
    * @site https://jonsuh.com/hamburgers
    * @link https://github.com/jonsuh/hamburgers
    */

/* .hamburger {    display: inline-block;  cursor: pointer;  transition-property: opacity, filter;  transition-duration: 0.15s;  transition-timing-function: linear;  font: inherit;  color: inherit;  text-transform: none;  background-color: transparent;  border: 0;  margin: 0;  overflow: visible; } */
.hamburger {
    position: absolute;
    top: 1.7em;
    right: 1.5em;
    /*fixing the posistion to compliment logo position*/
    
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}
.hamburger:hover {
    opacity: 0.7;
}

/* .hamburger-box {  width: 30px;  height: 24px;  display: inline-block;  position: relative; top:0.625em; right: 1em} */
.hamburger-box {
    width: 30px;
    height: 24px;
    display: inline-block;
    position: relative;
}
.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 30px;
    height: 2px;
    background-color: #000;
    border-radius: 2px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}
.hamburger-inner::before {
    top: -10px;
}
.hamburger-inner::after {
    bottom: -10px;
}
.hamburger--spin .hamburger-inner {
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(.55, .055, .675, .19)
}
.hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in
}
.hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(.55, .055, .675, .19);
    transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(.55, .055, .675, .19);
    transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(.55, .055, .675, .19), -webkit-transform 0.3s cubic-bezier(.55, .055, .675, .19)
}
.hamburger--spin.is-active .hamburger-inner {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    transition-delay: 0.14s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}
.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out
}
.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(.215, .61, .355, 1);
    transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(.215, .61, .355, 1);
    transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(.215, .61, .355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(.215, .61, .355, 1)
}

/* bolt ons to create a top right overlaying nav - uncomment to activate
    .nav-hide{display:none}
    .nav-menu{z-index:100;display:inline-block;position:absolute;top:0;right:0;background:#3F3F55}
    #nav{font-size:20px;text-transform:uppercase;padding-top:65px;height:210px;width:200px}
    .hamburger-float{position:absolute;background-color:rgba(78,90,82,.9);top:0;right:0}
  */
.hamburger {
    transform: scale(0.75, 0.75);
}
.hamburger--spin.is-active {
    /* apply whatever here for active state */
}
.hamburger {
    display: none;
}
@media only screen and (min-width: 901px) {
    nav {
        display: block !important;
        overflow: initial !important;
        /* added to stop flicker when mouse is clicked */
    }
}
@media only screen and (max-width: 900px) {
    .hamburger {
        display: inline-block;
    }
    
    nav {
        display: none;
    }
}

/* END   Hamburger Responsive Nav --------------------------------------------------------------------- */
.nav-scroll-fix {
    position: relative;
    height: 100%;
}
.nav-scroll-fix div {
    position: absolute;
    bottom: 0;
    height: 86px;
}