/* global */
@font-face {
   font-family: 'OpenSans-Light';
   src: url('fonts/OpenSans-Light-webfont.eot');
   src: url('fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
   url('fonts/OpenSans-Light-webfont.woff') format('woff'),
   url('fonts/OpenSans-Light-webfont.ttf') format('truetype'),
   url('fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg');
   font-weight: normal;
   font-style: normal;

}

@font-face {
   font-family: 'OpenSans-LightItalic';
   src: url('fonts/OpenSans-LightItalic-webfont.eot');
   src: url('fonts/OpenSans-LightItalic-webfont.eot?#iefix') format('embedded-opentype'),
   url('fonts/OpenSans-LightItalic-webfont.woff') format('woff'),
   url('fonts/OpenSans-LightItalic-webfont.ttf') format('truetype'),
   url('fonts/OpenSans-LightItalic-webfont.svg#open_sanslight_italic') format('svg');
   font-weight: normal;
   font-style: normal;

}

@font-face {
   font-family: 'OpenSans-Regular';
   src: url('fonts/OpenSans-Regular-webfont.eot');
   src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
   url('fonts/OpenSans-Regular-webfont.woff') format('woff'),
   url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
   url('fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
   font-weight: normal;
   font-style: normal;
}
@font-face {
   font-family: 'OpenSans-Semibold';
   src: url('fonts/OpenSans-Semibold-webfont.eot');
   src: url('fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
   url('fonts/OpenSans-Semibold-webfont.woff') format('woff'),
   url('fonts/OpenSans-Semibold-webfont.ttf') format('truetype'),
   url('fonts/OpenSans-Semibold-webfont.svg#open_sanssemibold') format('svg');
   font-weight: normal;
   font-style: normal;

}
@font-face {
   font-family: 'OpenSans-Bold';
   src: url('fonts/OpenSans-Bold-webfont.eot');
   src: url('fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'),
   url('fonts/OpenSans-Bold-webfont.woff') format('woff'),
   url('fonts/OpenSans-Bold-webfont.ttf') format('truetype'),
   url('fonts/OpenSans-Bold-webfont.svg#open_sansbold') format('svg');
   font-weight: normal;
   font-style: normal;
}

@font-face {
   font-family: 'SourceSansPro-Bold';
   src: url('fonts/SourceSansPro-Bold.woff') format('woff'),
   url('fonts/SourceSansPro-Bold.ttf') format('truetype');
   font-weight: normal;
   font-style: normal;
}

html {
   height:100%;

}


body{
   font-weight:normal;
   font-size:18px;
   line-height:1;
   font-weight:normal;
   color:#3D3935;
   speak: none;
   font-style: normal;
   font-weight: normal;
   font-variant: normal;
   text-transform: none;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   width:100%;
   position:relative;
   overflow:auto;
   text-rendering:optimizeLegibility;
   background:#fff;
   -webkit-text-size-adjust: none;
   font-family: OpenSans-Regular, sans-serif, arial;
   min-height: 100%;
   min-height: 100vh;

}

body.menu-on,
body.overlay-on {
   position: absolute;
   overflow:hidden;
}
.article {
   position: relative;
   width:100%;
   padding-top: 100px;
}

/* IE10+ */
::-ms-clear {
   display: none;
}

/* Chrome */
::-webkit-search-decoration,
::-webkit-search-cancel-button,
::-webkit-search-results-button,
::-webkit-search-results-decoration {
   display: none;
}
[role="button"],
a,a:visited{
   color:inherit;
   text-decoration: none;
   transition: opacity 0.3s ease;
}
[role="button"]:hover,
a:hover {
   opacity: 0.65;
}
[role="button"] {
   cursor: pointer;
}

em {
   font-style: italic;
}
b, strong {
   font-family: OpenSans-Bold;
}
.hoverfade {
   transition: all 0.5s ease;
}

.clear{clear:both;height:0px;overflow:hidden;}

.clearaBove {
   clear:both;
}
.clearfix:before,
.clearfix:after {
   content: " ";
   display: table;
}
.br {
   display:block;
}
.clearfix:after {
   clear: both;
}

.clearfix {
   zoom: 1;
}
sup {
   font-size:0.6em;
   vertical-align: 0.6em;
}

sub {
   font-size: 0.7em;
   vertical-align: -0.2em;
   line-height: 0;
}


.wrapper {
   width: 1182px;
   margin:0 auto;
}
.wrapper-left {
   padding-left: calc(50% - 591px);
}
.wrapper-right {
   padding-right: calc(50% - 591px);
}

.landing {
   overflow: hidden;
}

/* overlay*/
.overlay {
   position: fixed;
   bottom:0;
   top:0;
   width:100%;
   overflow: hidden;
   z-index: 48;
   transition: all 0.5s ease;
   left:0;
   height: 100vh;
}
.overlay--hidden {
   z-index: -1;
   pointer-events: none;
   visibility: hidden;
   -webkit-transform: translateY(100%);
   -ms-transform: translateY(100%);
   -moz-transform: translateY(100%);
   transform: translateY(100%);

}
.overlay__shadow {
   background:rgba(0,0,0,0.75);
   position: fixed;
   left:0;
   top:0;
   bottom:0;
   z-index: -1;
   width:100%;
}
.overlay__close {
   color:#001e61;
   position: absolute;
   top: 30px;
   right: 35px;
   transition: all 0.5s ease;
   cursor: pointer;
   z-index: 1;
}

.overlay__iframe {
   width:100%;
   height:100vh;
   height:calc(100vh - 330px);
   overflow-y:auto;
   overflow-x:hidden;
}
.overlay__close:hover { color: #c4960c; }
.overlay__close i{
   font-size: 25px;
}
.overlay__content {
   position:relative;
   width:100%;
}
.overlay__inner {
   width: 100%;
   padding:100px 0;
   height:100%;
   height:calc(100% -100px);
   overflow-x:hidden;
   overflow-y:auto;
}
.overlay__width {
   width:1200px;
   margin:0 auto;
   background:#fff;
   padding:90px 120px;
   position: relative;

}
.overlay__content--old {
   display:none;
}

/* end overlay */


/* menu */
.nav {
   position: fixed;
   width:100%;
   background: #fff;
   height: 102px;
   z-index: 99;
   border-bottom: 1px solid #eee;
}
.menu {
   display: -webkit-flex;
   display: flex;
   padding:20px 0;
   position: relative;
}
.menu__indicator {
   display: block;
   content: "";
   position: absolute;
   bottom: 0px;
   width:100px;
   height: 5px;
   background: #bd472a;
   transition: all 0.5s ease;
}
.menu__indicator--hidden {
   opacity: 0;
}
.menu__logo {
   width: 255px;
}
.menu__logo img {
   width: 100%;
}
.menu__links {
   width: calc(100% - 255px);
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center;
   align-items: center;
   -webkit-justify-content: space-between;
   justify-content: space-between;
   padding-left: 80px;
}
.menu__link {
   margin-left: 50px;
   display: block;
}
.menu__link a {
   display: block;
}
.menu__link__label {
   font-family: SourceSansPro-Bold;
   text-transform: uppercase;
   color:#3D3935;
   font-size: 18px;
}
/* end menu */


/* hero */
.hero {
   background: url('../_img/hero.jpg') no-repeat;
   background-size: cover;
   height: 40vw;
   min-height: 600px;
   padding-right: calc(50% - 591px);
}
.hero__text {
   font-size: 45px;
   font-size: 2.34375vw;
   font-family: SourceSansPro-Bold;
   color:#fff;
   background: url('../_img/hero_arrow.png') no-repeat;
   background-size: 100% 100%;
   width:40%;
   padding:4% 3% 10%;
   line-height: 1.2;
   float: right;
   margin-top: 90px;
}
.scrolldown {
   margin:20px 0;
   text-align: center;
   font-size: 40px;

}
.scrolldown__icon {
   color:#898d8d;
   -webkit-animation-name: scrollfade; /* Safari 4.0 - 8.0 */
   -webkit-animation-duration: 1s; /* Safari 4.0 - 8.0 */
   animation-name: scrollfade;
   animation-duration: 2s;
   animation-iteration-count: infinite;
   display: inline-block;

}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes scrollfade {
   0% {opacity: 1; -webkit-transform: scale(1)}
   50% {opacity: 0.5; -webkit-transform: scale(1.2)}
   100% {opacity: 1; -webkit-transform: scale(1)}
}

/* Standard syntax */
@keyframes scrollfade {
   0% {opacity: 1; transform: scale(1);}
   50% {opacity: 0.5; transform: scale(1.1);}
   100% {opacity: 1; transform: scale(1);}
}
/* end hero */

/* big text */
.bigtext {
   font-size: 150px;
   font-size: 7.4vw;
   letter-spacing: -5px;
   font-family: SourceSansPro-Bold;
   display: block;
   line-height: 1;
   padding-bottom: 0.1em;
   margin-left: -0.08em;
}
.reallybigtext {
   font-size: 280px;
   font-size: 10vw;
   letter-spacing: -5px;
   font-family: SourceSansPro-Bold;
   display: block;
   line-height: 1;
   padding-bottom: 0.1em;
   margin-left: -0.08em;
}
/* end big text */

/* dual */
.dual {
   display: -webkit-flex;
   display: flex;
   margin-top: 60px;

}
.dual__text {
   font-size: 28px;
   line-height: 1.4;
   color:#3b3b3b;
}
.dual__text p {
   margin-bottom: 50px;
}
.dual__text p.intro {
   margin: 10px 0;
   font-family: OpenSans-Bold;
   font-size: 24px;
   color:#bd472a;
}
.dual__text p:last-child {
   margin-bottom: 0;
}
.dual__text .bigtext{
   color:#898d8d;
}
.dual__text .reallybigtext {
   color:#007cab;
}
.dual__image img {
   width: 100%;
}
.dual--ob2,
.dual--ob1 {
   -webkit-align-items: center;
   align-items:center;
}
.dual--ob1 .dual__image {
   width: 40%;
   padding-left: 5%;
}
.dual--ob1 .dual__text {
   width: 60%;
}


.dual--ob2 .dual__image {
   width: 45%;
   padding-right: 5%;
}
.dual--ob2 .dual__text {
   width: 55%;
}




.dual--ob3 .dual__image {
   width: 50%;
   padding-left: 5%;
}
.dual--ob3 .dual__text {
   width: 50%;
}
.dualsticky {
   display: -webkit-flex;
   display: flex;
}
.dualsticky__left {
   width: 55%;
   padding-right: 5%;
   padding-left: calc(50% - 591px);
}
.dualsticky__right {
   width: 45%;

}
.stickyside--sticky .stickyside__pos {
   position: fixed;
   top: 92px;
   right: 0;
}
.stickyside {
   width: 100%;
   position: relative;
}

.stickyside__pos {
   width: 100%;
}
.stickyside--sticky .stickyside__pos {
   width: 45%;
}
.stickyimage img {
   width: 100%;
}

/* end dual */
.heading h2 {
   font-size: 20px;
   font-family: OpenSans-Bold;
   text-transform: uppercase;
   display: inline-block;
   padding: 120px 0 30px;
   position: relative;

}
.heading h2::after {
   content: "";
   width: 47px;
   height: 5px;
   display: block;
   position: absolute;
   bottom: 0;
   background:#bd472a;

}
[data-route="how-we-do-it"] .heading h2 {
   padding-top: 60px;
}
.heading p {
   line-height: 1.4;
   margin-top: 30px;
   font-size: 25px;

}
.services {
   padding-right: 10%;
   background: #fff;
}
.service {
   margin-bottom: 50px;
}
.service:last-child {
   margin-bottom: 0;
}
.service__icon {
   width: 115px;
   display: block;
}
.service__icon img {
   width: 100%;
}
.service h3 {
   font-family: SourceSansPro-Bold;
   font-size: 40px;
   font-size: 2.08vw;
}
.service p {
   font-size: 18px;
}


/* quotes */
.quotes {
   width: 70%;
   margin: 0 auto;
   text-align: center;
   margin-top: 50px;
}

.quote {
   margin-bottom: 120px;
}

.quote__pic {
   height: 80px;
   text-align: center;
   display: block;
}
.quote__pic--small {
   height: 40px;
}
.quote__pic img {
   height: 100%;
}
.quote__name {
   display: block;
   text-align: center;
}
.quote__name h3 {
   font-family: OpenSans-Bold;
   font-size: 18px;
   line-height: 1.2;
   margin-bottom: 4px;
}
.quote__text {
   font-family: OpenSans-LightItalic;
   font-size: 36px;
   line-height: 1.4;
   margin:20px 0;
}
/* end quotes*/


/* our team */
.landing--about-us {

   position: relative;
   background:url('../_img/bio-background.png') #077CAB;
   background-repeat: repeat-y;
   background-size:100%;
   color:#fff;
   padding-bottom: 100px;

}
.landing--about-us::before {
   position: absolute;
   content:"";
   width: 100%;
   height: 100%;
   background:url('../_img/georgia-curtis.png') no-repeat;
   background-size: 30%;
   background-position: bottom right;
   background-attachment: fixed;

}
.landing--about-us .wrapper-left {
   position: relative;
   z-index: 1;
}
.landing--about-us .heading h2::after {
   background: #fff;
}
.team {
   margin-top: 50px;
   display: -webkit-flex;
   display: flex;
   align-items: baseline;
}
.team__text {
   width: 55%;
}

.team__text h3 {
   font-family: OpenSans-Bold;
   font-size: 36px;
   margin-bottom: 30px;
   line-height: 1.2;
}
.team__text h4 {
   margin: 50px 0 10px;
   font-family: OpenSans-Bold;
   font-size: 24px;
   color: #fff;
   line-height: 1.2;
}
.team__text h4:first-child {
   margin-top: 0;
}
.team__text p {
   font-family: OpenSans-Semibold;
   margin-bottom: 30px;
   line-height: 1.4;
}
.team__text p:last-child {
   margin-bottom: 0;
}
.team__text p a {
   color:#fff;
   text-decoration: underline;
}

/* end our team */


/* contact us*/
.orange {
   color:#e6740a;
}
.contact {
   display: -webkit-flex;
   display: flex;
   -webkit-justify-content: space-between;
   justify-content: space-between;
   font-size: 24px;
   margin-top: 50px;
   margin-bottom: 100px;
}
.contact__icon {
   width: 45px;
   height: 45px;
   border-radius: 50%;
   background: #007cab;
   display: inline-block;
   text-align: center;
   line-height: 43px;
   color:#fff;
}

.contact__label {
   margin-left: 5px;
}

.contact__social {
   width: 40%;
   text-align: right;
}
.contact__social .contact__icon {
   margin-right: 10px;
}
/* end contact us*/


/* footer */
.footer {
   padding:50px 0;
   border-top:1px solid #d8d8d8;
}
.footer__copy {
   font-size: 14px;
   text-align: center;
}
.backtop {
   font-size: 30px;
   padding: 20px;
   position: fixed;
   bottom: 0;
   right: 0;
   background:#bd472a;
   display: block;
   color: #fff;
   transition: all 0.5s ease;
   z-index: 10;
}
.backtop--hidden {
   opacity: 0;
   pointer-events: none;
}
/* end footer */


/* ease */
.ease  {
   transition: all 1s ease;
}
.ease--top {
   -webkit-transform: translateY(-50px);
   transform: translateY(-50px);
   opacity: 0;
   transition-delay: 0.5s;
}
.ease--right {
   -webkit-transform: translateX(50px);
   transform: translateX(50px);
   opacity: 0;
}
.ease--left {
   -webkit-transform: translateX(-50px);
   transform: translateX(-50px);
   opacity: 0;
}
/* end ease */


/* hamburger menu*/

.hamburger-menu {
   width:50px;
   height:50px;
   border-radius: 50%;

   vertical-align: middle;
   cursor: pointer;
   transition: all 0.5s ease;
   position: fixed;
   right:30px;
   top:30px;
   z-index: 52;

}

.hamburger-menu__bg {
   transition: all 0.5s ease;
}
.navTrigger {
   cursor: pointer;
   width: 30px;
   height: 30px;
   margin: auto;
   position: absolute;
   left: 0;
   right: 0;
   top: -5px;
   bottom: 0;
}
.navTrigger i {
   background-color: #bd472a;

   content: '';
   display: block;
   width: 100%;
   height: 4px;
}

.tabletmenu-on .navTrigger i{
   background-color: #fff;
}
.navTrigger i:nth-child(1) {
   -webkit-animation: outT 0.8s backwards;
   animation: outT 0.8s backwards;
   -webkit-animation-direction: reverse;
   animation-direction: reverse;
}
.navTrigger i:nth-child(2) {
   margin: 4px 0;
   -webkit-animation: outM 0.8s backwards;
   animation: outM 0.8s backwards;
   -webkit-animation-direction: reverse;
   animation-direction: reverse;
}
.navTrigger i:nth-child(3) {
   -webkit-animation: outBtm 0.8s backwards;
   animation: outBtm 0.8s backwards;
   -webkit-animation-direction: reverse;
   animation-direction: reverse;
}
.hamburger-menu--active .navTrigger i:nth-child(1) {
   -webkit-animation: inT 0.8s forwards;
   animation: inT 0.8s forwards;
}
.hamburger-menu--active .navTrigger i:nth-child(2) {
   -webkit-animation: inM 0.8s forwards;
   animation: inM 0.8s forwards;
}
.hamburger-menu--active .navTrigger i:nth-child(3) {
   -webkit-animation: inBtm 0.8s forwards;
   animation: inBtm 0.8s forwards;
}
@-webkit-keyframes inM {
   50% {
      -webkit-transform: rotate(0deg);
   }
   100% {
      -webkit-transform: rotate(45deg);
   }
}
@keyframes inM {
   50% {
      transform: rotate(0deg);
   }
   100% {
      transform: rotate(45deg);
   }
}
@-webkit-keyframes outM {
   50% {
      -webkit-transform: rotate(0deg);
   }
   100% {
      -webkit-transform: rotate(45deg);
   }
}
@keyframes outM {
   50% {
      transform: rotate(0deg);
   }
   100% {
      transform: rotate(45deg);
   }
}
@-webkit-keyframes inT {
   0% {
      -webkit-transform: translateY(0px) rotate(0deg);
   }
   50% {
      -webkit-transform: translateY(9px) rotate(0deg);
   }
   100% {
      -webkit-transform: translateY(9px) rotate(135deg);
   }
}
@keyframes inT {
   0% {
      transform: translateY(0px) rotate(0deg);
   }
   50% {
      transform: translateY(9px) rotate(0deg);
   }
   100% {
      transform: translateY(9px) rotate(135deg);
   }
}
@-webkit-keyframes outT {
   0% {
      -webkit-transform: translateY(0px) rotate(0deg);
   }
   50% {
      -webkit-transform: translateY(9px) rotate(0deg);
   }
   100% {
      -webkit-transform: translateY(9px) rotate(135deg);
   }
}
@keyframes outT {
   0% {
      transform: translateY(0px) rotate(0deg);
   }
   50% {
      transform: translateY(9px) rotate(0deg);
   }
   100% {
      transform: translateY(9px) rotate(135deg);
   }
}
@-webkit-keyframes inBtm {
   0% {
      -webkit-transform: translateY(0px) rotate(0deg);
   }
   50% {
      -webkit-transform: translateY(-7px) rotate(0deg);
   }
   100% {
      -webkit-transform: translateY(-7px) rotate(135deg);
   }
}
@keyframes inBtm {
   0% {
      transform: translateY(0px) rotate(0deg);
   }
   50% {
      transform: translateY(-7px) rotate(0deg);
   }
   100% {
      transform: translateY(-7px) rotate(135deg);
   }
}
@-webkit-keyframes outBtm {
   0% {
      -webkit-transform: translateY(0px) rotate(0deg);
   }
   50% {
      -webkit-transform: translateY(-7px) rotate(0deg);
   }
   100% {
      -webkit-transform: translateY(-7px) rotate(135deg);
   }
}
@keyframes outBtm {
   0% {
      transform: translateY(0px) rotate(0deg);
   }
   50% {
      transform: translateY(-7px) rotate(0deg);
   }
   100% {
      transform: translateY(-7px) rotate(135deg);
   }
}

/* end hamgburger*/


/* accordion */
.accordion__content {
   overflow: hidden;
   max-height: 3000px;
   transition: all 0.5s ease;
}
.accordion__content[aria-hidden="true"] {
   max-height: 0;
   opacity: 0;
}
.accordion__tab {
   padding-right: 30px;
   position: relative;
   display: inline-block;
}
.accordion__tab .fa {
   font-size: 0.8em;
   position: absolute;
   right: 10px;
   top: 0.3em;

}
.accordion__tab[aria-expanded="true"] .fa-plus::before {
   content: "\f068";
}
.accordion__tab h3 {
   font-size: 20px;
   font-family: OpenSans-Bold;
   text-transform: uppercase;
}
/* end accordion */
