/* Variables */
/* Main Nav */
.main-nav {
  display: none;
  background-color: white;
  position: absolute;
  top: 57px;
  left: 0;
  width: 100%;
  /* obscene height for mobile to blanket mobile screen */
  overflow: hidden;
  height: 600px; }
  .main-nav.visible {
    display: block; }
  .main-nav ul {
    overflow: hidden;
    list-style: none;
    margin: 0; }
  .main-nav ul.main-nav__links {
    border-bottom: 2px solid #e7e8e9; }
    .main-nav ul.main-nav__links li {
      float: left;
      width: 50%; }
      .main-nav ul.main-nav__links li a {
        display: block;
        text-align: center;
        font-size: 18px;
        color: #929397;
        text-decoration: none;
        width: 100%;
        height: 124px;
        padding-top: 20px;
        border-right: 2px solid #e7e8e9;
        font-family: "Avenir Next LT W02 Demi", Helvetica, Arial, sans-serif; }
        .main-nav ul.main-nav__links li a:before {
          -webkit-transition: color 150ms;
          -moz-transition: color 150ms;
          transition: color 150ms;
          font-family: "icomoon";
          color: #d0d2d3;
          font-size: 37px;
          display: block;
          text-align: center;
          width: 100%;
          margin-bottom: -5px; }
        .main-nav ul.main-nav__links li a:hover {
          color: #3cb44b; }
          .main-nav ul.main-nav__links li a:hover:before {
            color: #505957; }
      .main-nav ul.main-nav__links li.active a {
        color: #3cb44b; }
        .main-nav ul.main-nav__links li.active a:before {
          color: #505957; }
      .main-nav ul.main-nav__links li:nth-child(1) a {
        border-bottom: 2px solid #e7e8e9; }
      .main-nav ul.main-nav__links li:nth-child(1) a:before {
        content: "\e001"; }
      .main-nav ul.main-nav__links li:nth-child(2) a {
        border-right: none;
        border-bottom: 2px solid #e7e8e9; }
      .main-nav ul.main-nav__links li:nth-child(2) a:before {
        content: "\e00a"; }
      .main-nav ul.main-nav__links li:nth-child(3) a {
        border-right: 2px solid #e7e8e9; }
      .main-nav ul.main-nav__links li:nth-child(3) a:before {
        content: "\e014"; }
      .main-nav ul.main-nav__links li:nth-child(4) a {
        border-right: none; }
      .main-nav ul.main-nav__links li:nth-child(4) a:before {
        content: "\e017"; }
  .main-nav ul.main-nav__buttons {
    padding: 9px 19px 11px 19px; }
    .main-nav ul.main-nav__buttons li {
      text-align: center; }
      .main-nav ul.main-nav__buttons li:last-child {
        margin-left: 14px; }
  header.fixed .main-nav ul.main-nav__links li a {
    line-height: 30px;
    height: 30px; }
    header.fixed .main-nav ul.main-nav__links li a:before {
      display: none; }
  header.fixed .main-nav ul.main-nav__buttons {
    top: -25px; }
  @media screen and (min-width: 760px) {
    .main-nav {
      display: block;
      position: static;
      top: 0;
      left: 0;
      background: transparent;
      /* remove mobile height definition */
      height: auto; }
      .main-nav ul.main-nav__links {
        position: relative;
        left: -8px;
        width: 36%;
        margin: 0 auto;
        border-bottom: none; }
        .main-nav ul.main-nav__links li {
          width: 33.33333%;
          float: left; }
          .main-nav ul.main-nav__links li a {
            border-left: 1px solid #d0d2d3;
            border-right: none;
            border-bottom: none;
            width: 100%;
            height: 68px;
            font-size: 14px;
            padding-top: 0; }
            .main-nav ul.main-nav__links li a:before {
              font-size: 32px; }
          .main-nav ul.main-nav__links li:nth-child(1) a, .main-nav ul.main-nav__links li:nth-child(2) a {
            border-bottom: none; }
          .main-nav ul.main-nav__links li:nth-child(3) a {
            border-right: 1px solid #d0d2d3; }
      .main-nav ul.main-nav__buttons {
        position: absolute;
        right: 0;
        top: -5px; }
        .main-nav ul.main-nav__buttons li {
          float: left; } }
  @media screen and (min-width: 1060px) {
    .main-nav ul.main-nav__links {
      width: 45%; }
      .main-nav ul.main-nav__links li a {
        font-size: 16px; } }

/* (Mobile) Main Nav */
.mobile-main-nav {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 10px;
  /* only show mobile menu on homepage */ }
  .mobile-main-nav .menu-open {
    background: url("/images/mobile-menu-open.png") no-repeat 60px center;
    background-size: auto 38%;
    display: block;
    width: 100px;
    height: 38px;
    line-height: 40px;
    font-size: 12px;
    text-indent: 5px;
    text-transform: uppercase;
    color: #d0d2d3;
    overflow: hidden; }
  .mobile-main-nav > ul,
  .mobile-main-nav > a {
    float: left; }
  .mobile-main-nav ul {
    list-style: none;
    margin: 0;
    border-right: 1px solid #e7e8e9;
    height: 38px;
    overflow: hidden;
    display: none; }
    .mobile-main-nav ul > li {
      float: left; }
      .mobile-main-nav ul > li > a {
        font-size: 12px;
        display: block;
        padding: 0 15px;
        line-height: 40px;
        height: 38px;
        overflow: hidden;
        text-transform: uppercase; }
  @media screen and (min-width: 760px) {
    .mobile-main-nav {
      display: none; } }
  .mobile-main-nav body.home .mobile-main-nav ul {
    display: block; }
  .mobile-main-nav body.home .mobile-main-nav .menu-open {
    background-position: 10px center;
    width: 50px;
    text-indent: -9999px; }

/* Secondary Nav */
.secondary-nav {
  overflow: hidden;
  padding: 10px 0 0px 0; }
  .secondary-nav ul {
    list-style: none;
    margin: 0; }
    .secondary-nav ul li {
      float: left;
      margin: 0 21px 15px 0;
      padding: 0; }
      .secondary-nav ul li:last-child {
        margin-right: 0; }
      .secondary-nav ul li.active a, .secondary-nav ul li:hover a {
        color: #3cb44b;
        padding-bottom: 3px;
        border-bottom: 4px solid #3cb44b; }
      .secondary-nav ul li a {
        font-size: 12px;
        line-height: 1;
        color: #929397;
        text-transform: uppercase; }
  @media screen and (min-width: 760px) {
    .secondary-nav {
      border-top: 1px solid #d0d2d3; }
      .secondary-nav ul li {
        margin-right: 3%; }
        .secondary-nav ul li a {
          font-size: 14px; } }
  @media screen and (min-width: 1060px) {
    .secondary-nav ul li {
      margin-right: 8%; } }

/* Footer Nav */
.footer-nav-block {
  border-bottom: 1px solid white;
  padding-bottom: 7px; }
  .footer-nav-block h5 {
    color: #929397;
    margin-bottom: 10px;
    cursor: pointer; }
  .footer-nav-block ul {
    list-style: none;
    margin: 0;
    margin-bottom: 8px; }
    .footer-nav-block ul li a {
      color: #3cb44b;
      font-size: 14px;
      display: block;
      padding: 9px 0; }
      .footer-nav-block ul li a:hover {
        color: #3cb44b; }
  .footer-nav-block.active ul {
    display: block; }
  @media screen and (min-width: 760px) {
    .footer-nav-block {
      border-bottom: none;
      float: left;
      margin-right: 60px; }
      .footer-nav-block h5 {
        cursor: text;
        color: #3cb44b; }
      .footer-nav-block ul {
        display: block !important; }
        .footer-nav-block ul li a {
          display: inline;
          line-height: 26px;
          color: #929397;
          padding: 3px 0; } }

.colophon {
  width: 100%;
  padding-top: 10px;
  float: left;
  clear: both;
  color: #929397;
  font-size: 13px; }
  .colophon a {
    color: #929397; }
    .colophon a:hover {
      color: #3cb44b; }
  .colophon .icon {
    color: #3cb44b;
    font-size: 20px;
    margin-right: 0px;
    position: relative;
    top: 3px;
    display: none; }
  .colophon .colophon__links {
    display: block; }
  @media screen and (min-width: 1060px) {
    .colophon {
      padding-top: 30px; }
      .colophon .icon {
        display: inline; }
      .colophon .colophon__links {
        display: inline; } }

header.branding {
  width: 100%;
  height: 57px;
  background-color: white;
  border-bottom: 2px solid #e7e8e9;
  position: fixed;
  z-index: 15;
  top: 0;
  left: 0;
  line-height: 1.5; }
  header.branding.fixed {
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 0 4px;
    -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 0 4px;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0 4px;
    -webkit-transition: top 300ms;
    -moz-transition: top 300ms;
    transition: top 300ms;
    display: none;
    background: rgba(255, 255, 255, 0.9);
    position: fixed;
    height: 70px;
    top: -70px;
    left: 0;
    z-index: 10;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
    header.branding.fixed.visible {
      top: 0; }
  @media screen and (min-width: 760px) {
    header.branding {
      border-bottom: none;
      padding: 20px 0;
      height: 110px;
      position: static;
      overflow: hidden; }
      header.branding .menu-open {
        display: none; }
      header.branding.fixed {
        display: block; } }

.centered-wrapper {
  position: relative;
  min-width: 320px;
  max-width: 1070px;
  margin: 0 auto;
  padding: 0 20px; }
  .centered-wrapper .logo-container {
    position: absolute; }
    .centered-wrapper .logo-container h1.logo-header {
      margin: 6px 0 0 -12px; }
    .centered-wrapper .logo-container h1.gg-logo-header {
      margin: -6px 0 0 0; }

/* Buttons */
.btn {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-text-shadow: rgba(0, 0, 0, 0.3) 0 1px 0;
  -moz-text-shadow: rgba(0, 0, 0, 0.3) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.3) 0 1px 0;
  -webkit-box-shadow: #2b8d30 0 2px 0;
  -moz-box-shadow: #2b8d30 0 2px 0;
  box-shadow: #2b8d30 0 2px 0;
  -webkit-transition: background 150ms, color 150ms, box-shadow 150ms;
  -moz-transition: background 150ms, color 150ms, box-shadow 150ms;
  transition: background 150ms, color 150ms, box-shadow 150ms;
  background-color: #3cb44b;
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  color: white;
  text-align: center;
  padding: 16px 26px 13px 26px;
  margin: 10px 0;
  clear: both;
  white-space: nowrap; }
  .btn:hover {
    -webkit-box-shadow: #3cb44b 0 2px 0;
    -moz-box-shadow: #3cb44b 0 2px 0;
    box-shadow: #3cb44b 0 2px 0;
    background-color: #2b8d30;
    color: white;
    text-decoration: none; }
  .btn[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  @media screen and (min-width: 760px) {
    .btn {
      float: left; }
      .btn.mobile-only {
        display: none; } }

.btn.btn--reverse {
  -webkit-text-shadow: rgba(0, 0, 0, 0.1) 0 1px 0;
  -moz-text-shadow: rgba(0, 0, 0, 0.1) 0 1px 0;
  text-shadow: rgba(0, 0, 0, 0.1) 0 1px 0;
  background-color: white;
  color: #3cb44b; }
  .btn.btn--reverse:hover {
    background-color: #2b8d30;
    color: white;
    -webkit-box-shadow: #1f6924 0 2px 0;
    -moz-box-shadow: #1f6924 0 2px 0;
    box-shadow: #1f6924 0 2px 0; }
  .btn.btn--reverse.btn--download:before {
    border-right: 1px solid #cccccc; }

@media screen and (min-width: 760px) {
  .btn.btn--mini {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 13px;
    padding: 7px 9px 5px 9px; } }

@media screen and (min-width: 760px) {
  .btn.btn--small {
    font-size: 14px;
    padding: 14px 16px 10px 16px; } }

.btn.btn--smaller-on-mobile {
  font-size: 13px; }
  @media screen and (min-width: 760px) {
    .btn.btn--smaller-on-mobile {
      font-size: 18px; } }

@media screen and (min-width: 760px) {
  .btn.btn--large {
    padding: 20px 28px 20px 28px;
    font-size: 24px; } }

.btn.btn--grey {
  -webkit-text-shadow: none;
  -moz-text-shadow: none;
  text-shadow: none;
  -webkit-box-shadow: #929397 0 2px 0;
  -moz-box-shadow: #929397 0 2px 0;
  box-shadow: #929397 0 2px 0;
  background-color: #d0d2d3;
  color: #929397;
  vertical-align: center; }
  .btn.btn--grey:hover {
    -webkit-box-shadow: #d0d2d3 0 2px 0;
    -moz-box-shadow: #d0d2d3 0 2px 0;
    box-shadow: #d0d2d3 0 2px 0;
    background-color: #929397;
    color: #d0d2d3; }

.btn.btn--login {
  position: relative;
  padding-left: 42px; }
  .btn.btn--login:before {
    -webkit-transition: color 150ms;
    -moz-transition: color 150ms;
    transition: color 150ms;
    font-family: "icomoon";
    content: "\e017";
    color: #6d6e70;
    margin-right: 8px;
    font-size: 1.2em;
    position: absolute;
    top: 50%;
    margin-top: -0.5em;
    left: 15px; }
  .btn.btn--login:hover:before {
    color: #d0d2d3; }

.btn.btn--download {
  padding-left: 17px; }
  .btn.btn--download:before {
    position: relative;
    top: 2px;
    font-family: "icomoon";
    content: "\e01e";
    border-right: 1px solid white;
    padding-right: 15px;
    margin-right: 13px; }
  .btn.btn--download.btn--mini {
    padding-left: 9px; }
    .btn.btn--download.btn--mini:before {
      content: "\e020";
      border-right: none;
      padding-right: 0;
      margin-right: 3px;
      padding-left: 0;
      font-size: 11px; }

.mobile-only {
  display: block; }
  @media screen and (min-width: 760px) {
    .mobile-only {
      display: none; } }

footer.colophon {
  overflow: hidden;
  background-color: #f6f6f6;
  padding: 12px 0 40px; }
  footer.colophon a:hover {
    text-decoration: none; }
  footer.colophon h5 {
    font-family: "Avenir Next LT W02 Demi", Helvetica, Arial, sans-serif;
    font-size: 16px;
    height: 17px;
    padding: 0;
    margin: 20px 0 10px 0;
    text-transform: uppercase; }
  @media screen and (min-width: 760px) {
    footer.colophon {
      padding: 40px 0; }
      footer.colophon .colophon {
        border-top: 1px solid #e7e8e9;
        margin-top: 70px;
        padding-top: 20px;
        font-family: "Avenir Next LT W02 Demi", Helvetica, Arial, sans-serif; } }
