html, body {
    height: 100%;
  }
  
  body {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      height: 100vh; /* Avoid the IE 10-11 `min-height` bug. */
  }

  .content {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
  }

  .nav-primary-links {
      -ms-flex-negative: 0;
          flex-shrink: 0; /*prevents div from shrinking below content size*/
  }

  .footer-sitemap {
      -ms-flex-negative: 0;
          flex-shrink: 0; /*prevents div from shrinking below content size*/
  }

  /* TOP NAVIGATION CSS */

  .nav-toolbar {
      display: block;
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 1000;
      background-color: #ffffff;
      height: 40px;
      margin: 0;
      padding: 0 40px 0 60px;
      box-sizing: border-box;
      box-shadow: 3px -4px 11px 0px #005596;/*added*/
  }
  .topnav-brand {
    display: inline-block;
    margin: 0;
    padding: 0 5px; /* Accessibility: increases target size; */
  }
  .topnav-brand img {
      display: block;
      margin: 10px auto; /* Accessibility: increases target size; */
      width: 130px;
      height: 20px; /* margin + img height = 40px */
  }

  .nav-toolbar-links {
      margin: 0 10px 0 0;
      padding: 0;
      display: flex;
      flex-flow: row nowrap;
      justify-content: flex-end;
      align-items: stretch;
  }
  .tn-link {
      list-style-type: none;
      display: inline-block;
      text-align: center;
      width: auto;
      list-style: none;
      text-transform: uppercase;
      letter-spacing: .075em;
      font-weight: 800;
      font-size: 0.6875rem;/* 11px */
      box-sizing: border-box;
  }

  .tn-link i {
      font-size: 0.8125rem; /* 13px */
      cursor: pointer;
  }



  .tn-link >em  a,
  .tn-link > a {
      padding: 0 15px;/*added*/
      line-height: 40px;/*added*/
      text-decoration: none;
      display: inline-block;/*LOGIN Fix*/
    }

.tn-link,
.tn-link a {
    color:#595959;/*edited*/
}

.tn-login-username em a {
    margin-left: 10px;
}

.tn-login-username em a,
.tn-logout-btn a {
    padding: 0 5px;
}

.tn-logout-btn a{
    margin-right: 10px;
}


.topnav-search i {
    line-height: 40px; /*ZF1 fix*/
}

.location-btn {
    cursor: pointer;
    padding: 0 15px;
    line-height: 40px;
  }

  .location-select {
    position: relative;
  }

  .location-select ul {
      min-width: 100%;/*added*/
      position: absolute;
      background-color: #ffffff; /* editted */
      list-style: none;
      padding-left: 0;
      padding: 15px 0;
      box-shadow: inset 0 11px 11px -15px #005596, 0 4px 4px 1px rgba(0,0,0,0.05);
      margin: 0; /*ZF1 Fix*/
  }

  .location-btn + ul li a {
    display: block;
    padding: 5px 0;
    color: #9c9c9c;
  }

  .location-select .divider {
      height: 2px;
      margin: 11px 0;
      background-color: #d8d5d5;
  }

.tn-link,
.location-btn + ul li,
.location-btn + ul li a {
    transition: .2s;
  }


.tn-link:hover,
.location-btn + ul li:hover,
.location-btn + ul li a:hover,
.tn-login a:hover {
    text-decoration: none;
    color: #595959; /*added*/
    background-color: #e7edf5;/*edited*/
  }

  .tn-login:hover {
    background-color: #ffffff;
  }

  .tn-login a {
    padding: 0 5px;
  }

/*search bar*/
  .topnav-search {
    padding: 0 15px;
    cursor: pointer;
  }
  .topnav-searchbar {
    list-style-type: none;
    display: inline-block;
    text-align: center;
    width: auto;
    list-style: none;
    text-transform: uppercase;
    letter-spacing: .075em;
    font-weight: 800;
    box-sizing: border-box;
  }
  .search-close {
    padding: 0 10px;
    cursor: pointer;
    display: inline-block;
    height: 30px;
    vertical-align: top;
    box-sizing: border-box;
  }
  .search-close i {
    color: #368ccb;/*edited*/
    font-size: 1rem; /* 16px */
    font-weight: 800;
    line-height: 30px;
    width: 20px;
  }
  .search-close:hover i {
    color: #005596;
  }
  .search-submit {
    cursor: pointer;
    width: 35px;
    height: 30px;
    color: #ffffff;
    border: 1px solid #368ccb;
    background-color: #368ccb;/*edited*/
    box-sizing: border-box;/*zf1 fix*/
    vertical-align: top;
    transition: .2s;
    border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
  }
  .search-submit:hover {
    background-color: #e7edf5;
    background-color: #307eb8;
  }
  .search-submit i {
    font-size: 0.8125rem; /* 13px */
    font-weight: 800;
    line-height: 28px;
    vertical-align: top;
  }

  .topnav-searchbar form {
    box-sizing: border-box;
    margin: 5px 0px;
  }
  .topnav-searchbar input {
    background-color: #f2f2f2;
    border: 1px solid #dddddd;
    border-right: none;
    font-size: 0.875rem; /* 14px */
    width: 300px;
    height: 30px;
    padding: 0 0 0 8px;
    line-height: 30px;
    cursor: pointer;
    margin-bottom: 0; /*zf1 fix*/
    vertical-align: top;
    font-weight: 400;
    letter-spacing: .14em;
    box-sizing: border-box;
    outline: none;
    border-radius: 5px 0 0 5px;
    -webkit-border-radius: 5px 0 0 5px;
    transition: .2s;
    -webkit-transition: .2s;
  }
  .topnav-searchbar input:focus {
    background-color: #ffffff;
    border: 1px solid #368ccb;
    border-right: none;
  }
  .nav-primary-links {
    display: block;
    background-color: #368ccb;/*edited*/
    height: 50px;
    margin: 40px 0 0 0;
    padding: 0 40px 0 40px;
    box-shadow: inset 0 17px 4px -15px rgba(0,0,0,0.2); /*added*/
  }

  .bottom-nav-links{
      list-style-type: none;
      margin:0; /*zf1  fix*/
    }

  .bn-link {
      display: inline-block;
      text-align: center;
      margin-left: 5px;
      height: 50px;
      text-transform: uppercase;
      font-weight: 800;
      letter-spacing: .08em;
  }

  .mobile-nav-toolbar a[href="/access/login"],
  .mobile-nav-toolbar .footerDivider,
  .bn-link a {
      color: #eeeeee;
  }

  .bn-link a {
      text-decoration: none;
      padding: 0 20px;/*added*/
      line-height: 50px;
      display: block;/*added*/
      transition: .2s;
  }

.bn-link a:hover,
.mobile-nav-toolbar .location-btn:hover, .mobile-btn-location:hover i {
      color:#ffffff;/*added*/
      background-color:#005596; /*edited*/
 }

  @media screen and (max-width: 977px) {
      .nav-toolbar {
          display: none;
      }
      .nav-primary-links {
          display: none;
      }
      .mobile-nav-toolbar {
          display: block;
          height: 40px;
          margin: 0;
          background-color: #ffffff;/*edited*/
          box-shadow: 3px -4px 11px 0px #005596;/*added*/
      }

      .tn-link i:hover{
          color: #d8d5d5;
      }
      .bn-link {
          height: 40px;
          letter-spacing: .075em;
          font-weight: 800;
      }
      .bn-link a {
          font-size: 0.6875rem;/* 11px */
          line-height: 40px;
       }
      .bn-link i {
          font-size: 0.8125rem; /* 13px */
          color: #eeeeee;
          line-height: 40px; /* Fix for ZF1 */
      }

      .mobile-nav-toolbar .tn-login-username a,
      .mobile-nav-toolbar .tn-logout-btn a {
        color: #eeeeee;
      }

      .bn-link a:hover,
      .bn-link i:hover,
      .bn-link a:active,
      .mobile-nav-toolbar .tn-login-username:hover a,
      .mobile-nav-toolbar .tn-logout-btn:hover a,
      .mobile-bottom-nav-links li a:hover {
          border-bottom: 0px;
          color: #ffffff;/*editted*/
          text-decoration: none; /* Fix for ZF1 */
      }

      .mobile-nav-toolbar .footerDivider {
          display: inline-block;
      }

        .tn-logout-btn + .tn-link > a:hover,
        .mobile-nav-toolbar .tn-login-username:hover,
        .mobile-nav-toolbar .tn-logout-btn:hover {
            background-color:#005596; /*added*/
        }

     .top-tool {
          position: fixed;
          top: 0;
          width: 100%;
          font-weight: 800;
          letter-spacing: .08em;
          line-height: 1.5em;
          z-index: 2000;
      }
      .topnav-brand {
        margin-left: 10px; /* Spacing so logo doesn't brush up to the left edge */
      }
      .topnav-brand img {
          width: 130px;
      }
      .topnav-searchbar {
          width: 375px;
      }
      .topnav-searchbar input {
          height: 30px;
          box-sizing: border-box;
      }
      .search-submit {
          height: 30px;
          box-sizing: border-box;
          line-height: 20px;
      }
      .menu-btn {
        display: block;
        height: 40px;
        font-size: 0.875rem; /* 14px */
        font-weight: 800;
        line-height: 40px;
        text-align: center;
        padding: 0 15px;
        text-transform: uppercase;
        cursor: pointer;
      }

      .menu-btn,
      .mobile-top .topnav-search i {
          color:#595959;/*added*/
      }

      .menu-btn:hover,
      .mobile-top .topnav-search:hover{
          background-color:#e7edf5;/*added*/
      }

      .bottom-tool {
        width: 100%;
        letter-spacing: .075em;
        font-weight: 800;
        font-size: 0.6875rem;/* 11px */
        margin-top: 40px;
        background-color: #408EBF;/*added*/
        box-shadow: inset 0 16px 4px -16px rgba(0,0,0,0.5);
      }

      .location-btn {
        height: 40px;
        padding: 0 20px;
      }

      .location-select ul {
          right: 0;
          z-index: 1000;
          height:100vh;
          padding-bottom: 80px; /* Fix for 100vh height hiding the bottom 80px */
          width: 240px;
          overflow-y: scroll;
          line-height:40px;
          box-sizing: border-box; /* Fix for ZF1 */
      }
      .mobile-nav-primary-links {
        height: auto;
        max-width: 310px;
        display: list-item;
        list-style: none;
        background-color: #408EBF;
        position: absolute;
        right: 0px;
        top: 40px;/*edited*/
        z-index: 1000;
        text-transform: uppercase;
        font-size: 0.875rem; /* 14px */
        font-weight: 800;
        letter-spacing: .09em;
        line-height: 40px;
      }
      .mobile-nav-primary-links a {
          color: #eeeeee;/*edited*/
          display: block;/*Added*/
          padding: 0 20px;
          line-height: 60px;
        }
        .mobile-nav-primary-links li {
            list-style: none;
        }
        .mobile-bottom-nav-links {
            padding: 0;
            margin: 0;
            position: relative;
            box-shadow:inset 0 16px 4px -16px rgba(0,0,0,0.5), -4px 4px 9px -2px rgba(0,0,0,0.2);
        }
       .mobile-nav-primary-links a:hover {
          background-color:#005596;/*Added*/
       }


  }

  @media screen and (min-width: 978px) {
      .nav-toolbar {
          display: block;
      }
      .nav-primary-links {
          display: block;
      }
      .mobile-nav-toolbar {
          display: none;
      }
      .mobile-nav-primary-links {
          display: none;
      }
      .nav-toolbar-links {
          margin: 0px;
      }

  }

  @media screen and (max-width: 1115px) and (min-width: 978px){
      .bn-link a {
          padding: 0 12px;
      }
  }


/* SITE MAP CSS */

/*
 Footer
 -------------------------------------------------- */

.footer-sitemap, .footer-btm, .ftr-social, .ftr-legal{
    background-color: #25325b;
    /*background-color: #333333;*/
}
.footer-sitemap{
    box-shadow: -3px 2px 6px 0px rgba(0, 0, 0, 0.55);
    padding: 55px 60px 40px 60px;
}
.ftr-legal p, .ftr-link-header {
    list-style: none;
    font-size: 1rem; /* 16px */
}

.ftr-sections {
    vertical-align: top;
    display: -moz-inline-stack;
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
    border-bottom: solid 1px #7f8e99;
    zoom: 1;
    *display: inline;
    font-weight: 600;
}
.ftr-sections a {
    color: #d6d6d6;
}
.ftr-sections a:hover, .ftr-legal a:hover{
    color: #ffffff;
    transition: .2s;
    text-decoration: none;
}
.ftr-sections:last-of-type {
    border-bottom: 0px;
}
.ftr-sections ul {
    padding-left: 0px;
    list-style: none;
}
.ftr-link-header {
    color: #86949e;
    font-weight: bolder;
    letter-spacing: normal;
    margin-bottom: 15px;
    font-weight: 800;
    color: #979ea2;
    letter-spacing: .09em;
}
.ftr-link {
    margin-bottom: 8px;
    padding-bottom: 6px;
    max-width: 250px;
    text-align: left;
    font-weight: 800;
    font-size: 0.875rem; /* 14px */
    letter-spacing: .05em;
}
.ftr-social {
    padding-bottom: 5px;
    color: #616e77;
}
.footerSocialIcon {
    display: inline;
    padding: 5px;
    zoom: 1;
    *display: inline;
}
.footerSocialIcon i {
    color: #ffffff;
    padding: 4px;
    font-size: 1.125rem; /* 18px */
}
.footerSocialIcon:first-of-type {
    padding-left: 0px;
}
.footerSocialIcon img {
    width: 16px;
}
.footerSocialIcon img:hover, .footerSocialIcon a img:hover, .footerSocialIcon i:hover{
    width: 20px;
    font-size: 1.250rem; /* 20px */
}
.footerhr {
    margin: 3px 0 7px;
    display: none;
    border-color: rgba(127, 142, 153, 0.47);
}
.ftr-legal {
    padding-bottom: 15px;
    font-size: 0.8125rem; /* 13px */
}
.ftr-legal li, .ftr-legal a {
    color: #d6d6d6;
    font-weight: 800;
    font-size: 0.6875rem;/* 11px */
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ftr-legal ul {
    padding-left: 0px;
    margin-top: 1px;
    list-style: none;
}
.ftr-legal li {
    padding-bottom: 5px;
}
.footerDivider {
    display: none;
}

@media (min-width: 768px) {
    .ftr-main{
        padding: 0 0 0 35px;
    }
    .ftr-sections {
        width: 33.33%;
        border-bottom: none;
    }
    .ftr-sections ul {
        padding: 0 10px 15px 0;
    }
    .ftr-legal ul {
        padding-left: 0px;
        margin-top: 16px;
        text-align: center;
    }
    .ftr-social {
        text-align: center;
    }
    .footerSocialIcon:first-of-type {
        padding-left: 5px;
    }
    .footerhr {
        display: block;
    }
    .ftr-legal ul li, .footerDivider{
        display: -moz-inline-stack;
        display: inline-block;
        zoom: 1;
        *display: inline;
    }

}

@media screen and (min-width: 1200px) {
    .ftr-sections {
        width: 16.66%;

    }
    .ftr-sections ul {
        padding-right: 18px;
    }
    .ftr-sections:last-of-type ul{
        padding-right: 0px;
    }
    .ftr-main {
        text-align: left;
    }
}
