@media (min-width: 860px) {
  .mobileOnly {
    display: none; } }

@media (max-width: 859px) {
  .desktopOnly {
    display: none; } }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6,
p, a, img, b, u, i,
ol, ul, li, form, label,
table, tbody, tfoot, thead, tr, th, td,
header, nav, footer, section, article {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

body {
  line-height: 1; }

header, nav, footer, section, article {
  display: block; }

ol, ul {
  list-style: none; }

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

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html, body {
  min-width: 300px;
  height: 100%; }

body {
  color: #303032;
  font-family: "open sans", Arial, sans-serif;
  font-weight: 400;
  line-height: 20px;
  line-height: 1.25rem;
  font-size: 12px;
  font-size: 0.75rem;
  overflow-x: hidden;
  overflow-y: scroll;
  transition: margin 500ms ease-out; }
  @media (min-width: 640px) {
    body {
      font-size: 14px;
      font-size: 0.875rem; } }

address {
  margin-left: 40px; }

.content {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  max-width: 1384px; }
  @media (min-width: 640px) {
    .content {
      padding: 0 30px; } }
  .content.vert {
    padding: 10px; }
    @media (min-width: 640px) {
      .content.vert {
        padding: 20px 30px; } }
  .content.small {
    max-width: 680px; }
  .content.medium {
    max-width: 916px; }
  .content.lists ol, .content.lists ul {
    padding-left: 40px; }
  .content.lists ol {
    list-style: outside decimal none;
    margin: 14px 0; }
  .content.lists ul {
    list-style: outside disc none; }

.wrap {
  position: relative;
  min-height: 100%; }

main {
  position: relative;
  background: #ffffff; }

body > header {
  position: relative;
  width: 100%;
  height: 50px;
  top: 0;
  left: 0;
  z-index: 100;
  transition: left 500ms ease-out, background 500ms ease-out;
  margin-bottom: -50px;
  background: #303032;
  box-shadow: #303032 0 0 8px 1px; }
  body > header .button {
    height: 24px;
    line-height: 24px;
    padding: 0 10px; }

.openedMenu > header,
.fixedHeader > header,
.touchevents body > header {
  position: fixed;
  margin-bottom: 0; }

.openedMenu > header {
  transition: background .1ms ease-in-out;
  z-index: 1000; }

.showSlideMenu {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  left: 100vw;
  margin-left: -50px; }
  @media (min-width: 860px) {
    .showSlideMenu {
      display: none; } }
  .showSlideMenu a {
    height: 32px;
    overflow: hidden;
    color: #ffffff;
    font-family: Arial,sans-serif;
    font-weight: bold;
    display: inline-block; }
    .showSlideMenu a:before {
      content: '\2261';
      font-size: 32px;
      font-size: 2rem;
      line-height: 32px;
      display: block;
      text-align: center; }

.openedMenu .showSlideMenu a:before {
  content: '\00D7'; }

.headerLogo {
  float: left;
  width: 100%;
  margin: 9px 0 0;
  text-align: left; }
  @media (min-width: 860px) {
    .headerLogo {
      width: auto; } }
  .headerLogo a {
    display: inline-block;
    height: 32px;
    overflow: hidden; }
  .headerLogo svg {
    display: inline-block; }
    .headerLogo svg.tb-brandmark {
      margin-top: 6px;
      height: 32px; }
      @media (min-width: 860px) {
        .headerLogo svg.tb-brandmark {
          height: 48px;
          margin-top: 0; } }
    .headerLogo svg.tb-mark-only {
      width: 48px; }
    .headerLogo svg .tb-slogan {
      visibility: hidden;
      opacity: 0; }
  .headerLogo span {
    display: inline-block;
    height: 100%;
    background-repeat: no-repeat; }
  .headerLogo .logoMark {
    background-image: url("https://production-trackbill.netdna-ssl.com/images/logos/mark.6fa86c494e98d7f7.png");
    background-size: contain;
    width: 32px; }
    @media (min-width: 860px) {
      .headerLogo .logoMark {
        width: 48px; } }
  .headerLogo .logoName {
    background-image: url("https://production-trackbill.netdna-ssl.com/images/logos/name.723d44d5e3e68a7e.png");
    background-size: contain;
    width: 104px; }
    @media (min-width: 860px) {
      .headerLogo .logoName {
        width: 156px; } }
    .headerLogo .logoName.blackLogo {
      background-image: url("https://production-trackbill.netdna-ssl.com/images/logos/name_black.5a077b9cc7c7f4de.png"); }
  @media (min-width: 860px) {
    .headerLogo.markOnly .logoName {
      display: none; } }

.fixedHeader > header .headerLogo svg .tb-slogan {
  visibility: hidden;
  opacity: 0; }

.homePage > header .headerLogo a {
  overflow: visible; }

@media (min-width: 1020px) {
  .homePage > header .headerLogo svg .tb-slogan {
    visibility: visible;
    opacity: 1; } }

.homePage.fixedHeader > header .headerLogo a {
  overflow: hidden; }

.homePage.fixedHeader > header .headerLogo svg .tb-slogan {
  visibility: hidden;
  opacity: 0; }

.headerLinks {
  display: none; }
  @media (min-width: 860px) {
    .headerLinks {
      display: block;
      float: right; } }
  .headerLinks > a {
    float: right;
    margin: 13px 0 13px 10px; }

.mainNav {
  margin-left: 10px;
  display: inline-block; }

.mainNavItem {
  height: 50px;
  line-height: 50px;
  line-height: 3.125rem;
  width: auto;
  position: relative;
  display: inline-block; }
  .mainNavItem > a {
    display: inline-block;
    padding: 0 12px;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 11.9px;
    font-size: 0.74375rem; }
    @media (min-width: 1020px) {
      .mainNavItem > a {
        font-size: 13.6px;
        font-size: 0.85rem; } }
    .mainNavItem > a.loginLink {
      color: #ffffff; }
    .mainNavItem > a.button.callToAction {
      height: 34px;
      line-height: 36px;
      margin: 0 5px;
      display: inline-block;
      padding: 0 1em; }
  .mainNavItem.reactive:hover {
    background: #8e8e8e;
    background: rgba(0, 0, 0, 0.15); }
    .mainNavItem.reactive:hover .subNav {
      display: block; }

.subNav {
  display: none;
  position: absolute;
  min-width: 10em;
  max-height: 300px;
  top: 50px;
  left: 0;
  background: #ffffff;
  border: 1px solid #8e8e8e;
  border-top: none;
  border-radius: 8px; }
  .subNav:hover {
    display: block; }
  .subNav:before {
    content: '';
    position: absolute;
    left: 20%;
    top: -0.7em;
    margin-left: -0.75em;
    border-bottom: solid 0.75em #ffffff;
    border-left: solid 0.75em transparent;
    border-right: solid 0.75em transparent; }

.subNavItem {
  width: 100%;
  border-top: 1px solid #8e8e8e;
  line-height: 32px;
  line-height: 2rem; }
  .subNavItem a {
    display: block;
    padding: 5px 10px;
    line-height: 1.5em; }
    .subNavItem a:hover {
      background: rgba(0, 0, 0, 0.15); }
  .subNavItem:first-child {
    border-top: 0; }
    .subNavItem:first-child a:hover {
      border-radius: 4px 4px 0 0; }

.rightLinksWrapper {
  float: right; }
  .rightLinksWrapper .button {
    float: left;
    height: 30px;
    line-height: 30px;
    margin: 10px 0 0 10px; }
  .rightLinksWrapper .subNav {
    right: 0;
    left: auto; }
    .rightLinksWrapper .subNav:before {
      right: 20%;
      left: auto; }

.ng-cloak {
  display: none !important; }

.rightLinksWrapper,
[data-oc-lazy-load="lazyLoadParams"],
body > footer {
  visibility: hidden; }

.slideMenu {
  display: none; }

.hidden {
  display: none; }
