/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
*, *:after, *:before {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  text-align: left;
  color: inherit;
  background-color: transparent;
  border: 0;
  cursor: pointer; }
  button:focus {
    outline: none; }

img {
  max-width: 100%; }

html {
  font-size: 20px;
  line-height: 1.6;
  font-family: Helvetica, Arial, sans-serif;
  color: #414141; }
  @media screen and (max-width: 520px) {
    html {
      font-size: 16px; } }

/* ------------------------------------
 * --headings
 * ------------------------------------*/
.heading-1 {
  font-weight: 700;
  font-size: 2.7rem;
  line-height: 1.2; }
  @media screen and (max-width: 1024px) {
    .heading-1 {
      font-size: 2rem; } }

.heading-3 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2; }
  @media screen and (max-width: 1024px) {
    .heading-3 {
      font-size: 1.57rem; } }

/* ------------------------------------
 * --links
 * ------------------------------------*/
.t-button {
  display: inline-block;
  padding: 10px 30px;
  color: inherit;
  font-weight: 700;
  border: 2px solid #fff;
  -webkit-border-radius: 6px;
          border-radius: 6px;
  text-decoration: none;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  .t-button:hover {
    color: #428A13;
    background-color: #fff; }

.t-button--block {
  text-align: center;
  display: block;
  width: 100%; }

.t-button--green {
  background-color: #428A13;
  border-color: #428A13;
  color: #fff;
  font-weight: normal;
  font-size: 1.2rem; }
  .t-button--green:hover {
    color: #fff;
    background-color: #69a041;
    border-color: #69a041; }

/* ------------------------------------
 * --content
 * ------------------------------------*/
p {
  color: #808080; }
  .textband--green p {
    color: #fff; }
  p strong {
    font-weight: 700; }

.p-dark {
  color: #414141; }

p + p {
  margin-top: 1em; }

/* ------------------------------------
 * --specifics
 * ------------------------------------*/
.pro-promo {
  width: 106px;
  display: inline-block;
  vertical-align: middle; }
  @media screen and (max-width: 520px) {
    .pro-promo {
      width: 80px; } }
  .pro-promo img {
    width: 100%; }

.go-pro-cta {
  margin-top: 1.75rem; }

.roadblock-static-cta {
  margin-top: 2em;
  margin-left: 20px;
  margin-right: 20px; }
  .roadblock-static-cta .t-button {
    font-size: 25px; }

/* ------------------------------------
 * --line control
 * ------------------------------------*/
@media screen and (max-width: 520px) {
  .line-control {
    display: block; } }

@media screen and (max-width: 1024px) {
  .line-control--intro-3 {
    display: block; } }

@media screen and (max-width: 700px) {
  .line-control--intro-2 {
    display: block; } }

.l-container {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px; }

.l-inner-container {
  width: 100%;
  max-width: 620px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) and (min-width: 420px) {
    .l-inner-container {
      padding-left: 40px;
      padding-right: 40px; } }

@media screen and (min-width: 1025px) {
  .l-split {
    width: 50%; } }

.header {
  text-align: center; }
  .header img {
    width: 100%;
    display: block; }

.header--mobileroadblock {
  padding-top: 10px; }

.mobile__headerlogo {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 160px;
  margin: auto; }

.footer {
  background-color: #E6E6E6; }

.footer__flex {
  text-align: center; }
  @media screen and (min-width: 781px) {
    .footer__flex {
      text-align: left;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }

.footer__top {
  padding-top: 40px;
  padding-bottom: 40px; }

.footer__logo {
  width: 200px; }

@media screen and (max-width: 780px) {
  .appcta {
    margin-top: 24px; } }

.appcta__label {
  font-weight: 700;
  color: #808080;
  font-size: 0.8rem; }

.appcta__applink {
  margin-left: 10px;
  width: 130px;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  .appcta__applink:hover {
    -webkit-transform: translateY(-2px);
        -ms-transform: translateY(-2px);
            transform: translateY(-2px); }
  .appcta__applink img {
    width: 100%;
    display: block; }

.appcta__label,
.appcta__applink {
  display: inline-block;
  vertical-align: middle; }
  @media screen and (max-width: 780px) {
    .appcta__label,
    .appcta__applink {
      display: block;
      margin: 14px auto 0 auto; } }

.footer__util {
  text-align: center;
  padding-bottom: 24px;
  border-top: 1px solid #ccc; }
  @media screen and (min-width: 521px) {
    .footer__util {
      text-align: left;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding-top: 45px;
      padding-bottom: 45px; } }

@media screen and (max-width: 520px) {
  .util__col {
    margin-top: 40px; } }

.util__colheader {
  margin-bottom: 1em;
  line-height: 1; }
  @media screen and (min-width: 521px) {
    .util__colheader {
      font-size: 0.8rem; } }

.util__menu li {
  margin-bottom: .2em; }

.util__link {
  font-size: 0.875em;
  color: #808080;
  text-decoration: none;
  display: block; }
  .util__link:hover {
    color: #5a5a5a; }
  @media screen and (min-width: 521px) {
    .util__link {
      font-size: 0.7rem; } }

.social__col {
  width: 280px; }
  @media screen and (max-width: 780px) {
    .social__col {
      width: 100%;
      padding-top: 24px;
      margin-top: 24px;
      border-top: 1px solid #ccc; } }

.social__menu li {
  display: inline-block;
  vertical-align: middle; }
  .social__menu li + li {
    margin-left: 34px; }

.social__link {
  display: block;
  width: 28px; }
  .social__link svg {
    width: 100%;
    display: block; }
  .social__link:hover path {
    fill: #5a5a5a; }

.footer__copyright {
  background-color: #ccc;
  color: #808080;
  padding-top: 24px;
  padding-bottom: 24px;
  font-size: 0.6rem; }

@media screen and (max-width: 520px) {
  .footer__copyright--allow-for-fixed-button {
    padding-bottom: 80px; } }

@media screen and (max-width: 780px) {
  .footer__legalmenu {
    margin-top: 0.5rem; } }

.footer__legalmenu li {
  display: inline-block;
  position: relative; }
  .footer__legalmenu li + li {
    border-left: 1px solid currentColor;
    margin-left: 6px;
    padding-left: 10px; }

.legal__link {
  text-decoration: none;
  color: inherit; }
  .legal__link:hover {
    color: #5a5a5a; }

.feature {
  padding-bottom: 100px;
  position: relative; }
  @media screen and (max-width: 520px) {
    .feature {
      padding-bottom: 65px; } }

.feature--roadblock {
  padding-bottom: 0; }

.feature__banner {
  margin-bottom: 80px;
  text-align: center;
  position: relative;
  background-position: center;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
  height: 750px; }
  @media screen and (max-width: 1024px) {
    .feature__banner {
      height: 400px; } }

.banner--roadblock {
  margin-bottom: 0; }

.banner__text {
  left: 0;
  right: 0;
  top: 130px;
  position: absolute;
  color: #fff; }
  @media screen and (max-width: 1024px) {
    .banner__text {
      top: 60px; } }

@media screen and (max-width: 520px) {
  .feature__device {
    max-width: 320px;
    margin: auto; } }

.feature__device--laptop {
  margin-bottom: -20px; }
  @media screen and (max-width: 520px) {
    .feature__device--laptop {
      max-width: 100%;
      width: 100%; } }

.device__offset {
  display: inline-block;
  margin-top: -100%; }
  @media screen and (max-width: 1024px) {
    .device__offset {
      margin-top: -320px; } }

@media screen and (min-width: 1025px) {
  .device__offset--large {
    margin-top: -50%; } }

.feature__main {
  position: relative; }

.feature__main--centered {
  text-align: center; }

.feature__heading {
  margin-bottom: 1rem; }
  @media screen and (max-width: 520px) {
    .feature__heading {
      margin-bottom: 0.7em; } }

.img--stretchright {
  max-width: 940px; }
  @media screen and (min-width: 1025px) {
    .img--stretchright {
      position: absolute;
      bottom: -80px;
      right: 0;
      width: 48%; } }
  @media screen and (max-width: 1024px) {
    .img--stretchright {
      width: 90%;
      max-width: 620px;
      margin-left: auto;
      margin-top: -320px; } }
  @media screen and (max-width: 520px) {
    .img--stretchright {
      margin-top: -260px; } }
  .img--stretchright img {
    width: 100%;
    display: block; }

@media screen and (min-width: 1025px) {
  .img--noads {
    position: absolute;
    bottom: -80px;
    left: 50%;
    right: 0;
    text-align: center; } }

@media screen and (max-width: 1024px) {
  .img--noads {
    width: 60%;
    padding-right: 100px;
    margin-left: auto;
    position: relative;
    top: 40px; } }

.img--noads img {
  width: 100%;
  max-width: 400px; }

.textband {
  padding-top: 100px;
  padding-bottom: 100px;
  text-align: center;
  position: relative; }
  @media screen and (max-width: 520px) {
    .textband {
      padding-top: 80px;
      padding-bottom: 80px; } }

.textband--green {
  color: #fff;
  background-color: #428A13; }

.inlineboxes {
  background-color: #E6E6E6;
  margin-top: 60px; }
  @media screen and (min-width: 781px) {
    .inlineboxes {
      margin-top: 120px; } }

.boxes__container {
  position: relative;
  top: -60px; }
  @media screen and (min-width: 781px) {
    .boxes__container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      top: -120px; } }

.box {
  margin-top: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 6px rgba(65, 65, 65, 0.4);
          box-shadow: 0 0 6px rgba(65, 65, 65, 0.4);
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s; }
  @media screen and (min-width: 781px) {
    .box {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 49%;
          -ms-flex: 0 0 49%;
              flex: 0 0 49%; } }

.box__image {
  position: relative; }
  .box__image img {
    display: block;
    width: 100%; }

.box__icon {
  position: absolute;
  width: 80px;
  height: 80px;
  bottom: -40px;
  left: 24px;
  background-color: #fff;
  padding: 6px;
  -webkit-border-radius: 50%;
          border-radius: 50%; }

.box__content {
  padding: 60px 24px 40px 24px; }

.box__title {
  margin-bottom: 1rem; }

.roadblock__promo {
  text-align: center;
  padding-top: 20px;
  padding-bottom: 40px; }

.roadblock__promotext {
  font-size: 1.2rem; }

.roadblock__devices {
  max-width: 260px; }

.roadblock__devices--smaller {
  max-width: 180px; }

.roadblock__ratings {
  font-size: .875rem;
  margin-bottom: 24px; }

.roadblock__cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  padding: 6px;
  z-index: 99; }
  @media screen and (min-width: 521px) {
    .roadblock__cta {
      display: none; } }
  @media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
    .roadblock__cta {
      padding-bottom: env(safe-area-inset-bottom); } }

.feature--roadblock {
  min-height: -webkit-calc(100vh - 100px);
  min-height: calc(100vh - 100px); }

@media screen and (max-width: 628px) {
  .maplist__wrapper {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 50px;
    height: 100px;
    overflow: hidden; } }

.maplist {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 50px; }
  @media screen and (max-width: 628px) {
    .maplist {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch;
      margin-bottom: 0;
      padding-bottom: 20px;
      padding-left: 20px;
      position: relative; }
      .maplist:after {
        content: "";
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 20px;
            -ms-flex: 0 0 20px;
                flex: 0 0 20px; } }

.maplist__map {
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 150px;
      -ms-flex: 0 1 150px;
          flex: 0 1 150px;
  margin: 4px; }
  .maplist__map img {
    width: 100%;
    display: block; }
  @media screen and (max-width: 628px) {
    .maplist__map {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 130px;
          -ms-flex: 0 0 130px;
              flex: 0 0 130px; } }

.maplist__button {
  display: block;
  width: 100%;
  text-align: center;
  position: relative;
  -webkit-transition: -webkit-box-shadow .4s .1s;
  transition: -webkit-box-shadow .4s .1s;
  -o-transition: box-shadow .4s .1s;
  transition: box-shadow .4s .1s;
  transition: box-shadow .4s .1s, -webkit-box-shadow .4s .1s; }
  .maplist__button:hover, .maplist__button--selected {
    -webkit-box-shadow: 0 0 5px rgba(65, 65, 65, 0.5);
            box-shadow: 0 0 5px rgba(65, 65, 65, 0.5); }
  .maplist__button--selected:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid #428A13; }

.maplist__maplabel {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 4px;
  color: #fff;
  font-size: 0.6rem;
  letter-spacing: 0.2px;
  background-color: rgba(0, 0, 0, 0.4); }
  .maplist__button--selected .maplist__maplabel {
    background-color: rgba(66, 138, 19, 0.85); }

.devicemask {
  position: relative; }

.devicemask__frame {
  position: relative;
  z-index: 2; }

.devicemask__screens {
  position: absolute;
  z-index: 1;
  top: 32px;
  left: 89px;
  right: 89px;
  bottom: 0;
  overflow: hidden; }
  @media screen and (max-width: 520px) {
    .devicemask__screens {
      top: 28px;
      left: 69px;
      right: 70px; } }

.devicemask__screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s; }

.devicemask__screen--active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  z-index: 2; }

.devicemask__screen--out {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.scrollindicator {
  position: fixed;
  bottom: 20px;
  left: 20px;
  opacity: 0;
  width: 70px;
  height: 70px;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  z-index: 10; }
  .scrollindicator img {
    display: block;
    width: 100%; }

.scrollindicator--visible {
  opacity: 1; }

@media screen and (min-width: 1025px) {
  .scrollindicator--animated {
    -webkit-animation: 1s infinite bounce-indicator;
            animation: 1s infinite bounce-indicator; } }

.scrollindicator--flipped {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }
  .scrollindicator--flipped:hover {
    bottom: 24px; }

.scrollindicator--mobile {
  position: absolute;
  bottom: -35px;
  left: 50%;
  margin-left: -35px; }

@-webkit-keyframes bounce-indicator {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes bounce-indicator {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/*# sourceMappingURL=main.css.map */
