html, body {
  margin: 0;
  font-family: 'Roboto', helvetica, arial, times new roman; }

h1 {
  font-size: 48px;
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 30px;
  line-height: 28px;
  color: #4d4d4d; }
  @media screen and (max-width: 767px) {
    h1 {
      font-size: 42px; } }

h2 {
  margin-top: 0;
  text-align: center;
  font-size: 28px;
  line-height: 28px;
  font-weight: 300;
  margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    h2 {
      font-size: 24px; } }

h3 {
  margin: 20px 0 10px; }

p {
  font-size: 16px;
  line-height: 28px;
  color: #4d4d4d;
  margin-top: 0;
  margin-bottom: 20px; }

a {
  text-decoration: none; }

.container {
  max-width: 860px;
  margin: 0 auto;
  display: block;
  padding: 60px 0; }
  @media screen and (max-width: 767px) {
    .container {
      padding: 40px 0; } }

.container--intro, .container--condensed {
  max-width: 700px; }

.container--light-grey {
  background-color: #F4F4F7; }

.container--mid-grey {
  background-color: #4d4d4d; }
  .container--mid-grey .container--mid-grey-heading, .container--mid-grey .container--mid-grey-content {
    color: white; }

.container, .container--intro, .container--grey {
  height: 100%; }

.row {
  max-width: 860px;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (max-width: 1025px) {
    .row {
      padding-left: 20px;
      padding-right: 20px; } }
  @media screen and (max-width: 767px) {
    .row {
      padding-left: 20px;
      padding-right: 20px; } }

.hero-container {
  height: 100vh;
  background-image: url("../images/hero-banner-lg.jpg");
  background-repeat: no-repeat, repeat;
  background-position: center top;
  position: relative;
  -moz-background-size: cover;
    -o-background-size: cover;
       background-size: cover;
  height: 100vh; }

.hero-container--overlay {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), color-stop(140%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0) 140%);
  background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0) 140%);
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0) 140%);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0) 140%);
  height: 100vh;
  width: 100%;
  position: absolute;
  top: 0; }

.hero-logo {
  width: 100px;
  padding-bottom: 30px; }

.hero-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%; }

.hero-title, .hero-intro {
  color: white; }

.hero-intro {
  font-size: 20px;
  margin-bottom: 40px; }

.hero-content-wrapper {
  max-width: 700px;
  padding-left: 0;
  padding-right: 0;
  z-index: 2;
  -webkit-transform: translate(0px, 0px);
     -moz-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
       -o-transform: translate(0px, 0px);
          transform: translate(0px, 0px); }
  @media screen and (max-width: 1025px) {
    .hero-content-wrapper {
      padding-left: 20px;
      padding-right: 20px; } }
  @media screen and (max-width: 767px) {
    .hero-content-wrapper {
      padding-left: 20px;
      padding-right: 20px; } }

.hero-intro-row {
  -webkit-animation: hero-slide-in 0.5s ease-in-out;
     -moz-animation: hero-slide-in 0.5s ease-in-out;
       -o-animation: hero-slide-in 0.5s ease-in-out;
          animation: hero-slide-in 0.5s ease-in-out;
  -webkit-animation-fill-mode: forwards;
     -moz-animation-fill-mode: forwards;
       -o-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0; }

@-webkit-keyframes hero-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -100px);
            transform: translate(0, -100px); }
  30% {
    opacity: 0; }
  60% {
    opacity: 0.4; }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@-moz-keyframes hero-slide-in {
  0% {
    opacity: 0;
    -moz-transform: translate(0, -100px);
         transform: translate(0, -100px); }
  30% {
    opacity: 0; }
  60% {
    opacity: 0.4; }
  100% {
    opacity: 1;
    -moz-transform: translate(0px, 0px);
         transform: translate(0px, 0px); } }

@-o-keyframes hero-slide-in {
  0% {
    opacity: 0;
    -o-transform: translate(0, -100px);
       transform: translate(0, -100px); }
  30% {
    opacity: 0; }
  60% {
    opacity: 0.4; }
  100% {
    opacity: 1;
    -o-transform: translate(0px, 0px);
       transform: translate(0px, 0px); } }

@keyframes hero-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, -100px);
       -moz-transform: translate(0, -100px);
         -o-transform: translate(0, -100px);
            transform: translate(0, -100px); }
  30% {
    opacity: 0; }
  60% {
    opacity: 0.4; }
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
       -moz-transform: translate(0px, 0px);
         -o-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

.hero-btn-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-animation: btns-slide-in 0.5s ease-in-out;
     -moz-animation: btns-slide-in 0.5s ease-in-out;
       -o-animation: btns-slide-in 0.5s ease-in-out;
          animation: btns-slide-in 0.5s ease-in-out;
  -webkit-animation-fill-mode: forwards;
     -moz-animation-fill-mode: forwards;
       -o-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  -webkit-animation-delay: 0.2s;
     -moz-animation-delay: 0.2s;
       -o-animation-delay: 0.2s;
          animation-delay: 0.2s; }

@-webkit-keyframes btns-slide-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-moz-keyframes btns-slide-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes btns-slide-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes btns-slide-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .hero-btn-row .button-primary:first-child {
    margin-right: 15px;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
       -moz-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    margin-bottom: 0; }
  .hero-btn-row .button--ghost-white {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
       -moz-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }

footer {
  height: 100%;
  background-color: #335466; }

.footer-container {
  max-width: 860px;
  margin: 0 auto;
  display: block;
  padding: 30px 0; }

.footer-copyright {
  text-align: center;
  margin-bottom: 0;
  color: white;
  font-size: 14px; }

.features-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 40px 0; }
  @media screen and (max-width: 767px) {
    .features-wrapper {
      display: block; } }

.features-item {
  min-height: 100%;
  width: 200px;
  margin-bottom: 0;
  margin-right: 20px; }
  .features-item .icon-base {
    display: block;
    margin: 0 auto; }
  .features-item:last-child {
    margin-right: 0; }
  @media screen and (max-width: 767px) {
    .features-item {
      width: 100%;
      margin-right: 0;
      margin-bottom: 30px; } }

.features-heading {
  text-align: left; }
  @media screen and (max-width: 767px) {
    .features-heading {
      text-align: center; } }

.features-description {
  margin-bottom: 0; }

.feature-icon {
  width: 72px;
  height: 72px;
  -webkit-border-radius: 100%;
     -moz-border-radius: 100%;
          border-radius: 100%;
  background: #00B5E9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto; }

.button-primary {
  width: 200px;
  height: 48px;
  background-color: #00B5E9;
  text-align: center;
  line-height: 48px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  font-weight: 700;
  color: white;
  font-size: 18px;
  border: 2px solid #00B5E9;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .button-primary:hover {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background-color: #335466;
    border: 2px solid #335466;
    cursor: pointer; }

.button-primary--green {
  background-color: #4caf50;
  border: 2px solid #4caf50; }
  .button-primary--green:hover {
    cursor: pointer;
    background-color: #357a38;
    border: 2px solid #357a38; }

.button--ghost-white {
  background-color: rgba(0, 0, 0, 0);
  color: white;
  border: 2px solid white;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .button--ghost-white:hover {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.5);
    color: black; }
  .button--ghost-white:focus {
    background-color: rgba(0, 0, 0, 0);
    color: white;
    border: 2px solid white;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

.button--center {
  display: block;
  margin: 0 auto; }

@media screen and (max-width: 576px) {
  .button--mobile {
    width: 50%; } }

.split-img-container {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
     -moz-box-orient: horizontal;
     -moz-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 40px; }
  .split-img-container .split-img:first-child {
    margin-right: 15px;
    margin-bottom: 0; }
  @media screen and (max-width: 767px) {
    .split-img-container .split-img {
      width: 100%; }
      .split-img-container .split-img:first-child {
        margin-right: 15px;
        margin-bottom: 15px; } }
  @media screen and (max-width: 576px) {
    .split-img-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
         -moz-box-orient: vertical;
         -moz-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-top: 20px; } }

.img-responsive {
  width: 100%; }
