@charset "UTF-8";
* {
  box-sizing: border-box; }

html, body {
  font-size: 16px;
  font-weight: 400; }

html, button, input, select, textarea,
.pure-g [class*="pure-u"] {
  font-family: "Calibri", "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Calibri", "Prompt", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.0em;
  margin: 0;
  padding: 0; }

h1 {
  font-size: 2.8rem; }

h2 {
  font-size: 1.6rem; }

h3 {
  font-size: 1.4rem; }

h4 {
  font-size: 1.2em; }

p {
  font-size: 1.1rem;
  line-height: 1.4em; }

a:not([class*="pure-button"]) {
  text-decoration: none;
  color: #fff; }
  a:not([class*="pure-button"]):visited {
    color: #e6e6e6; }
  a:not([class*="pure-button"]):hover {
    color: #c1d62a; }

hr {
  border: none;
  height: 2px;
  background: #9bac21;
  margin: 8px 0; }

.links {
  list-style: none; }
  .links li {
    display: inline;
    margin: 0 14.54545px; }

.left {
  float: left; }

.right {
  float: right; }

.text-left {
  text-align: left; }

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

.column {
  height: 100%;
  width: 100%;
  padding: 0 48px;
  margin-top: 48px;
  text-align: left; }
  @media screen and (max-width: 400px) {
    .column {
      padding: 0 16px;
      margin-top: 16px; } }
  .column hr {
    margin-left: auto;
    margin-right: 0;
    margin-bottom: 24px;
    background: #c1d62a;
    width: 100%;
    width: -webkit-calc(100% - 160px);
    width: -moz-calc(100% - 160px);
    width: calc(100% - 160px); }

.inverse {
  background: #111;
  color: #fff;
  font-size: 0.95em;
  font-weight: 600; }
  .inverse p {
    color: #ddd; }
  .inverse .pure-button {
    background: #111;
    color: #fff !important; }
    .inverse .pure-button:hover {
      background: #fff;
      color: #111 !important; }

.fade {
  width: 90%; }
  .fade--content {
    padding: 0 64px;
    text-align: right; }
    .fade--content h1 {
      margin-top: 16px; }
  .fade--left {
    background: linear-gradient(to left, rgba(255, 255, 255, 0.8) 65%, rgba(255, 255, 255, 0)) !important; }
    .fade--left .fade--content {
      margin-left: auto; }
  .fade--right {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 65%, rgba(255, 255, 255, 0)) !important; }

.fullscreen-image {
  background-size: cover; }
  .fullscreen-image__container {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
    width: 100%;
    height: 100%;
    transition: opacity 1s linear; }
    .fullscreen-image__container--active {
      opacity: 1;
      transition: opacity 1s linear; }

.gauges {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #fff;
  color: #111; }
  @media screen and (max-width: 960px) {
    .gauges {
      position: static;
      margin-top: 16px; } }
  .gauges__gauge {
    text-align: center;
    height: 160px;
    margin: 0;
    padding: 32px 48px; }
    @media screen and (max-width: 960px) {
      .gauges__gauge {
        height: auto; } }
    .gauges__gauge p {
      font-size: 0.9rem;
      font-weight: bold;
      line-height: 1.3em;
      margin: 0; }
    .gauges__gauge h1 {
      font-size: 1.0rem;
      font-weight: bold;
      color: #9bac21;
      text-transform: uppercase;
      margin-bottom: 16px; }

.content blockquote {
  line-height: 1.5em;
  font-family: "Calibri", "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.2em;
  font-weight: bold;
  margin: 0;
  padding: 0; }
  .content blockquote:before {
    content: open-quote; }
  .content blockquote:after {
    content: close-quote; }
.content img {
  max-width: 100%;
  border-radius: 1px;
  margin: 8px 0; }
.content ul, .content ol {
  font-size: 1.0rem;
  margin: 0;
  padding: 0;
  padding-left: 16px;
  position: relative; }
.content ul {
  list-style: none; }
  .content ul li {
    line-height: 1.5em;
    margin-bottom: 5.33333px; }
    .content ul li:before {
      position: absolute;
      left: 0;
      content: "• ";
      color: #9bac21;
      font-size: 1.1rem; }
.content--fp {
  padding: 32px;
  background: #fff;
  color: #111; }
  @media screen and (max-width: 400px) {
    .content--fp {
      padding: 16px; } }
  .content--fp h1 {
    color: #2b2b2b;
    font-size: 2.0rem;
    text-transform: uppercase; }
.content--hero {
  width: 600px;
  height: 370px;
  margin: 0 auto;
  margin-top: -240px;
  font-size: 2.8em;
  text-align: center; }
  @media screen and (max-width: 960px) {
    .content--hero {
      width: 368px;
      margin-top: 0;
      height: auto; } }
  .content--hero img {
    width: 380px; }
  .content--hero h1 {
    font-family: "Calibri", "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.6rem;
    position: relative;
    top: -32px; }
  .content--hero h2 {
    font-size: 1.6rem;
    position: relative;
    top: -16px; }
  .content--hero div {
    border-radius: 45px 0 0 0;
    color: #fff;
    margin: 0;
    padding: 25px 0 0 0; }
  .content--hero p {
    border-radius: 25px 0 25px 0;
    color: #000;
    background: rgba(255, 255, 255, 0.8);
    padding: 16px 48px;
    margin: 0; }
.content--left {
  text-align: left; }
.content--right h1 {
  text-align: right; }
.content--right h3 {
  text-align: right; }
.content--fh {
  height: 100vh; }
.content--fw {
  width: 100%; }
.content--t, .content--b, .content--l, .content--r {
  position: absolute; }
.content--t {
  top: 0; }
.content--b {
  bottom: 0; }
.content--bp {
  bottom: 32px; }
.content--l {
  left: 0; }
.content--r {
  right: 0; }

.layout-page .content--fp {
  background: none; }
.layout-page .content .page {
  margin-top: 48px; }
  .layout-page .content .page ul, .layout-page .content .page ol {
    font-weight: bold;
    font-size: 0.9rem;
    margin-top: 16px;
    margin-bottom: 32px; }
    .layout-page .content .page ul li, .layout-page .content .page ol li {
      line-height: 1.2em; }
  .layout-page .content .page a {
    color: #000; }
    .layout-page .content .page a:visited {
      color: #444; }
    .layout-page .content .page a:hover {
      color: #c1d62a; }

section, footer {
  background-size: cover;
  box-shadow: 0 4px 2px rgba(0, 0, 0, 0.5); }

footer {
  background: #222;
  color: #fff;
  padding: 32px; }
  footer h1 {
    text-transform: uppercase;
    font-size: 1.3rem;
    margin-bottom: 32px; }
  footer p {
    font-size: 1.0rem; }
  footer .copyright {
    margin-top: 32px;
    font-size: 0.8rem;
    display: block;
    text-align: center; }

.site-footer--left, .site-footer--right {
  padding: 0 32px; }
.site-footer--left {
  text-align: right; }
.site-footer--right {
  text-align: left;
  border-left: 1px solid #222; }

input, textarea {
  border: none;
  border-radius: 1px;
  padding: 8px;
  background: #111;
  color: #fff;
  font-size: 0.9rem;
  display: block;
  margin-bottom: 8px; }
  input:active, input:focus, textarea:active, textarea:focus {
    background: #161616; }

button, .btn {
  background: #191919;
  color: #fff;
  border: none;
  font-size: 1.0rem;
  font-weight: bold;
  padding: 10.66667px 32px;
  border-radius: 3px; }
  button:hover, .btn:hover {
    background: #9bac21;
    color: #111; }

.call-to-action {
  background: #93a31f !important;
  color: #fff !important; }
  .call-to-action:hover {
    background: #aec125 !important;
    color: #fff !important; }
  @media screen and (max-width: 400px) {
    .call-to-action {
      display: block; } }

.contact {
  background: #111;
  padding: 16px;
  font-weight: bold; }
  .contact--ok {
    color: #9bac21; }
  .contact--err {
    color: #f53; }

#body {
  max-width: 100%; }

.header-logos {
  position: absolute;
  margin-left: -35px;
  margin-top: -68px; }
  .header-logos img {
    width: 200px; }
  @media screen and (max-width: 400px) {
    .header-logos {
      display: none; } }

.page {
  padding: 80px;
  padding-bottom: 48px;
  width: 75%;
  margin: auto;
  min-height: 70vh;
  background: rgba(255, 255, 255, 0.97); }
  .page p {
    font-size: 1.0rem; }
  @media screen and (max-width: 400px) {
    .page {
      padding: 16px;
      width: 100%; } }

@media screen and (max-width: 960px) {
  .fp-section {
    height: auto !important; } }

header {
  position: fixed;
  z-index: 9999;
  background: linear-gradient(rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.6) 75%, rgba(255, 255, 255, 0) 100%);
  padding: 16px;
  width: 100%; }
  header a {
    font-weight: bold;
    font-size: 1.2em; }

.logo {
  position: relative;
  top: -1px; }
  .logo img {
    width: 100px; }

.menu {
  position: absolute;
  top: 16px;
  right: 16px;
  text-align: right; }
  .menu a {
    color: #111 !important; }
    .menu a:hover {
      color: #c1d62a !important; }
  .menu svg path {
    fill: #111 !important; }
  .menu__desktop {
    position: relative;
    top: 8px; }
    @media screen and (max-width: 960px) {
      .menu__desktop {
        display: none; } }
    .menu__desktop li {
      display: inline;
      font-size: 0.8rem;
      padding: 8px; }
      .menu__desktop li:before {
        display: none; }
  .menu__icon {
    display: none;
    float: right;
    width: 36px;
    height: 36px;
    line-height: 0;
    padding-top: 10px;
    text-align: center; }
    .menu__icon > svg {
      width: 18px;
      height: 15px; }
      .menu__icon > svg path {
        fill: #fff; }
    @media screen and (max-width: 960px) {
      .menu__icon {
        display: block; } }
  .menu__mobile {
    clear: both;
    display: none;
    background: #fff;
    width: 100%;
    padding: 8px 16px;
    padding-left: 0;
    text-align: center;
    position: relative;
    top: 8px; }
    .menu__mobile li {
      font-size: 0.8rem;
      padding: 8px; }
      .menu__mobile li:before {
        display: none; }
  @media screen and (max-width: 960px) {
    .menu:hover .menu__mobile {
      display: block; } }

.project {
  padding: 16px 16px; }
  .project__text h1 {
    font-size: 1.0rem;
    font-weight: bold;
    color: #9bac21;
    margin-bottom: 8px; }
  .project__text h2 {
    font-family: "Calibri", "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.0rem;
    font-weight: bold;
    line-height: 1.6rem; }
  .project__text hr {
    width: 60px;
    height: 1px;
    background: #000; }
  .project__testimonial {
    color: #9bac21; }
    .project__testimonial blockquote {
      font-size: 0.9rem;
      font-weight: bold;
      width: 70%; }
    .project__testimonial span {
      font-size: 0.8rem; }
  .project:after {
    content: '';
    display: block;
    clear: both;
    padding-bottom: 32px;
    margin-bottom: 32px; }

.services {
  display: inline-block;
  cursor: pointer;
  width: 250px;
  height: 300px;
  color: #fff;
  background: #9bac21;
  border-radius: 25px 0 25px 0;
  padding: 32px 16px;
  text-align: center;
  margin: 16px;
  font-weight: bold; }
  .services:hover {
    background: #aec125; }
  .services h1 {
    font-size: 1.1rem;
    line-height: 1.6rem;
    color: #fff;
    margin-bottom: 16px; }
  .services hr {
    margin: auto;
    width: 60px;
    height: 1px;
    background: #fff; }
  .services p {
    font-size: 0.9rem;
    line-height: 1.4rem; }

.gallery__item {
  padding: 16px 16px; }

.profile-image {
  max-height: 260px; }

/*
   Animation example, for spinners
*/
.animate-spin {
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block; }

@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }
@font-face {
  font-family: 'icons';
  src: url("../font/icons.eot?88721494");
  src: url("../font/icons.eot?88721494#iefix") format("embedded-opentype"), url("../font/icons.woff2?88721494") format("woff2"), url("../font/icons.woff?88721494") format("woff"), url("../font/icons.ttf?88721494") format("truetype"), url("../font/icons.svg?88721494#icons") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'icons';
    src: url('../font/icons.svg?88721494#icons') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-ok:before {
  content: '\e800'; }

/* '' */
.icon-gplus:before {
  content: '\e801'; }

/* '' */
.icon-linkedin:before {
  content: '\e802'; }

/* '' */
.icon-twitter:before {
  content: '\e803'; }

/* '' */
.icon-facebook:before {
  content: '\e804'; }

/* '' */
.icon-heart:before {
  content: '\e805'; }

/* '' */
.icon-heart-empty:before {
  content: '\e806'; }

/* '' */
.icon-cancel:before {
  content: '\e807'; }

/* '' */
.icon-mail:before {
  content: '\e808'; }

/* '' */
.icon-help-circled:before {
  content: '\e809'; }

/* '' */
.icon-attention:before {
  content: '\e80a'; }

/* '' */
.icon-info-circled:before {
  content: '\f085'; }

/* '' */
