:root {
    font-size: 16px;
  }

/*=============================================
=            TOP NAVIGATION            =
=============================================*/
#nav-offset {
    height: 95px;
}

#top-navigation {
    z-index: 5;
    box-shadow: 0px 0px 2px #aaaaaa;
    position: fixed;
    z-index: 1000;
    background-color: #FFFFFF;
    
}

    #top-navigation ul.nav-contain {
        float: left;
        list-style: none;
        position: static;
        margin-bottom: 0px;
        padding-right: 0px;
        overflow: hidden;
        
    }

#top-navigation ul.nav-contain > li {
float: left;
height: 100%;
}

#top-navigation ul.nav-contain > li:hover .top-submenu {
z-index: 100000;
opacity: 1;
pointer-events: auto;
}

#top-navigation ul.nav-contain > li:hover .top-submenu .top-submenu-contain {
top: 29px;
opacity: 1;
}

#top-navigation ul.nav-contain > li:hover > a {
color: #ED1C2F;
}

#top-navigation ul.nav-contain > li > a {
display: block;
padding: 10px 20px 10px 10px;
color: #17272F;
font-size: 1.1rem;
text-decoration: none !important;
}

#top-navigation ul.nav-contain > li > a .oi {
font-size: .6rem;
}

#top-navigation ul.nav-contain > li.current-page > a {
color: #ED1C2F;
}

#top-navigation ul.nav-contain > li:last-child a {
padding-right: 0px;
}

#top-navigation .top-submenu {
position: absolute;
z-index: -100;
top: 69.5%;
pointer-events: none;
opacity: 0;
padding: 0px;
transition: .35s ease-in-out;
}

#top-navigation .top-submenu .top-submenu-contain {
overflow: hidden;
position: relative;
top: 20px;
padding: 1.5rem;
opacity: 1;
transition: .35s ease-in-out;
background-color: #F4F7F8;
}

#top-navigation .top-submenu .inner-contain {
max-width: 1420px;
margin: 0px auto;
}

#top-navigation .top-submenu ul.menu {
list-style: none;
padding: 0px 0px 0px 0px;
margin: 0px auto;
}

#top-navigation .top-submenu ul.menu > li {
padding: 0px 0px 0px 0px;
}

#top-navigation .top-submenu ul.menu > li > a {
font-weight: bold;
font-size: 1rem;
color: #17272F;
}

#top-navigation .top-submenu ul.menu > li .sub-menu {
list-style: none;
padding: 0px;
}

#top-navigation .top-submenu ul.menu > li .sub-menu li {
    font-size: .9rem;
}

    #top-navigation .top-submenu ul.menu > li .sub-menu li a {
        color: #313C43;
    }

#top-navigation .top-submenu.top-submenu-large {
left: 0px !important;
width: 100%;
opacity: 0;
}

#top-navigation .top-submenu.top-submenu-large .top-submenu-contain {
padding-top: 80px;
padding-bottom: 50px;
}

#top-navigation .top-submenu.top-submenu-large .overview-column {
width: 20%;
margin-right: 4%;
}

#top-navigation .top-submenu.top-submenu-large .overview-column h4 {
font-size: 1.2rem;
}

#top-navigation .top-submenu.top-submenu-large .nav-column ul {
list-style: none;
padding: 0px;
}

#top-navigation .top-submenu.top-submenu-large .nav-column ul li a {
color: #313C43;
font-size: .9rem;
}

#top-navigation .top-submenu.top-submenu-large .nav-column ul li .title {
font-weight: bold;
font-size: 1rem;
color: #17272F;
}

#top-navigation .top-submenu.top-submenu-large .nav-column .icon-contain {
float: left;
width: 100%;
}

#top-navigation .top-submenu.top-submenu-large .nav-column .icon-contain svg {
display: block;
margin: 0px auto;
}

#top-navigation .top-submenu.top-submenu-large .nav-column .icon-contain svg * {
    stroke: #ED1C2F !important;
}

#top-navigation .top-submenu.top-submenu-large .nav-column .icon-contain.icon-51 svg, #top-navigation .top-submenu.top-submenu-large .nav-column .icon-contain.icon-101 svg {
/*width: 40px;*/
}

#top-navigation .support-nav {
float: right !important;
}

#top-navigation .support-nav li {
float: left;
}

#top-navigation .support-nav li .text-red {
font-weight: bold;
color: #ED1C2F;
}

#top-navigation .support-nav li .text-red:hover {
color: #17272F;
}

#top-navigation .support-nav li .text-red.cta, #top-navigation .support-nav li .search .searchform .text-red.searchsubmit, #top-navigation .search .searchform .support-nav li .text-red.searchsubmit, #top-navigation .support-nav li .calculator a.text-red#calculate, .calculator #top-navigation .support-nav li a.text-red#calculate {
padding: 10px !important;
}

#top-navigation .support-nav li .text-red.cta span, #top-navigation .support-nav li .search .searchform .text-red.searchsubmit span, #top-navigation .search .searchform .support-nav li .text-red.searchsubmit span, #top-navigation .support-nav li .calculator a.text-red#calculate span, .calculator #top-navigation .support-nav li a.text-red#calculate span {
    font-size: 1.1rem;
    line-height: 1rem;
    height: 80%;
    display: block;
}

#top-navigation .support-nav li .text-red.cta:hover, #top-navigation .support-nav li .search .searchform .text-red.searchsubmit:hover, #top-navigation .search .searchform .support-nav li .text-red.searchsubmit:hover, #top-navigation .support-nav li .calculator a.text-red#calculate:hover, .calculator #top-navigation .support-nav li a.text-red#calculate:hover {
    background-color: #17272F !important;
}

#top-navigation .searchtrigger {
z-index: 10000;
}

#top-navigation .search {
z-index: -1;
opacity: 0;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: #ED1C2F;
position: absolute;
transition: .25s ease-in-out;
}

#top-navigation .search .searchform {
float: right;
position: relative;
overflow: hidden;
top: 31px;
right: 0px;
padding: 0px 0px;
width: 30%;
}

#top-navigation .search .searchform .searchinput {
float: left;
width: 80%;
padding: 5px;
position: relative;
background-color: #ED1C2F;
border: 0px;
color: white;
border-bottom: 2px solid #ffffff;
}

#top-navigation .search .searchform .searchsubmit {
padding: 10px 20px;
margin-right: 20px;
border: 0px;
background-color: black;
float: right;
}

#top-navigation .search .searchform .cta, #top-navigation .search .searchform .searchsubmit, #top-navigation .search .searchform .calculator a#calculate, .calculator #top-navigation .search .searchform a#calculate {
float: right;
margin-right: 14px;
padding: 10px;
}

#top-navigation .search .searchform .cta:hover, #top-navigation .search .searchform .searchsubmit:hover, #top-navigation .search .searchform .calculator a#calculate:hover, .calculator #top-navigation .search .searchform a#calculate:hover {
background-color: #ED1C2F;
}

#top-navigation .search .searchform .cta:hover .oi, #top-navigation .search .searchform .searchsubmit:hover .oi, #top-navigation .search .searchform .calculator a#calculate:hover .oi, .calculator #top-navigation .search .searchform a#calculate:hover .oi {
    color: black !important;
}

#top-navigation .search.active {
z-index: 1;
opacity: 1;
}

/*=====  End of TOP NAVIGATION  ======*/
  /*=============================================
=            MOBILE NAV           =
=============================================*/
.mobile-trigger {
  position: relative;
  z-index: 1000; }
  .mobile-trigger .oi-hide {
    opacity: 0; }
  .mobile-trigger .oi-vis {
    position: absolute;
    top: 10px;
    left: 0px;
    text-align: center;
    height: 100%;
    width: 100%;
    transition: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
    .mobile-trigger .oi-vis.show-on-active {
      opacity: 0;
      transform: scale(0.5); }
    .mobile-trigger .oi-vis.hide-on-active {
      opacity: 1;
      transform: scale(1); }
  .mobile-trigger.active .show-on-active {
    opacity: 1;
    transform: scale(1); }
  .mobile-trigger.active .hide-on-active {
    opacity: 0;
    transform: scale(0.5); }

.mobile-nav {
  width: 35%;
  height: 3000px;
  z-index: 150;
  right: 0px;
  top: 0px;
  position: fixed;
  background-color: #FFFFFF;
  transition: .25s ease-in-out;
  transform: translateX(105%);
  box-shadow: 0px 0px 6px #D8DDDF; }
  .mobile-nav.active {
    transform: translateX(0); }
  .mobile-nav .text-red {
    color: #ED1C2F !important; }
  .mobile-nav .mob-bar {
    background-color: #ED1C2F;
    height: 77px;
    top: 0px;
    width: 100%;
    position: fixed;
    z-index: 2; }
  .mobile-nav .mob-level {
    overflow-y: auto;
    position: absolute;
    top: 80px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF; }
    .mobile-nav .mob-level .nav-contain ul {
      list-style: none;
      padding: 0px;
      margin-bottom: 0px; }
      .mobile-nav .mob-level .nav-contain ul li {
        padding: 0px; }
        .mobile-nav .mob-level .nav-contain ul li a {
          display: block;
          width: 100%;
          padding: 20px 20px;
          border-bottom: 1px solid #A5ACAE;
          color: #17272F;
          font-weight: bold; }
          .mobile-nav .mob-level .nav-contain ul li a .oi {
            float: right; }
      .mobile-nav .mob-level .nav-contain ul .dropdown,
      .mobile-nav .mob-level .nav-contain ul .sub-menu {
        display: none; }
        .mobile-nav .mob-level .nav-contain ul .dropdown ul.menu,
        .mobile-nav .mob-level .nav-contain ul .sub-menu ul.menu {
          padding: 0px;
          background-color: #F4F7F8; }
          .mobile-nav .mob-level .nav-contain ul .dropdown ul.menu li,
          .mobile-nav .mob-level .nav-contain ul .sub-menu ul.menu li {
            padding: 0px 0px; }
          .mobile-nav .mob-level .nav-contain ul .dropdown ul.menu a,
          .mobile-nav .mob-level .nav-contain ul .sub-menu ul.menu a {
            font-weight: normal; }
    .mobile-nav .mob-level .nav-contain .sub-menu {
      display: none;
      padding: 0px;
      background-color: #F4F7F8; }
      .mobile-nav .mob-level .nav-contain .sub-menu li {
        padding: 0px 0px; }
      .mobile-nav .mob-level .nav-contain .sub-menu a {
        font-weight: normal; }
    .mobile-nav .mob-level .got-sub {
      color: #528A9F;
      font-weight: bold; }
    .mobile-nav .mob-level.top-level {
      z-index: 1; }
    .mobile-nav .mob-level.sub-level {
      z-index: -1;
      background-color: #FFFFFF;
      height: 150%;
      overflow: hidden;
      position: absolute;
      top: 0px;
      opacity: 0;
      transition: .25s ease-in-out; }
      .mobile-nav .mob-level.sub-level .content {
        overflow-y: scroll;
        transition: .25s ease-in-out;
        transform: translateX(100%); }
      .mobile-nav .mob-level.sub-level.active {
        z-index: 2;
        opacity: 1; }
        .mobile-nav .mob-level.sub-level.active .content {
          opacity: 1;
          transform: translateX(0); }
      .mobile-nav .mob-level.sub-level .close-level {
        z-index: 20;
        padding: 28px 15px;
        font-weight: bold;
        cursor: pointer; }

/* ADMIN BAR HEIGHT EXCEPTION */
.admin-bar .mobile-nav {
  top: 31px; }

/*=====  End of MOBILE NAV  ======*/
/*=============================================
=            ELEMENTS            =
=============================================*/
.button, .cta, #top-navigation .search .searchform .searchsubmit, .calculator a#calculate, .page-template-template-contact .gform_button {
    font-size: 1rem;
    background-color: #ED1C2F;
    border-radius: 4px;
    color: #ffffff;
    font-weight: 100;
    padding: 10px 30px;
    transition: .15s ease-in-out;
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
}

    .button:hover, .cta:hover, #top-navigation .search .searchform .searchsubmit:hover, .calculator a#calculate:hover, .page-template-template-contact .gform_button:hover {
        background-color: #ffffff;
        color: #ED1C2F;
        text-decoration: none;
    }

    .button.on-white, .on-white.cta, #top-navigation .search .searchform .on-white.searchsubmit, .calculator a.on-white#calculate, .page-template-template-contact .on-white.gform_button {
        border: 2px solid #ED1C2F;
    }

.cta-text {
    display: inline-block;
    padding: 5px;
    font-weight: bold;
    color: #ED1C2F !important;
    font-size: 18px !important;
}

.copy {
    font-size: 1.2rem;
    line-height: 2rem;
}

    .copy.smaller {
        font-size: .9rem;
        line-height: 1.5rem;
    }

.text-smaller {
    font-size: .9rem;
}

.text-very-small {
    font-size: 1rem;
}

/*=====  End of ELEMENTS  ======*/
  /*=============================================
  =            MEDIA QUERIES            =
  =============================================*/
  /* Custom, iPhone Retina */
  @media only screen and (max-width: 1300px) {
    .hero .hero-contain {
      padding: 0px 0px;
    }
    .hero .hero-contain .banner-text-column {
      padding-top: 50px;
      height: 550px;
    }
    .hero .hero-contain .banner-title {
      font-size: 3.5rem;
      line-height: 4rem;
      font-weight: 600;
    }
    .hero .hero-contain .copy {
      font-size: 1.3rem;
      font-weight: 100 !important;
    }
  
    .block-alt-5050 .col-md-6 {
      overflow: hidden;
    }
    .block-alt-5050 .col-md-6 .column-contain {
      padding: 0% 0% 15% 0%;
    }
  
    :root {
      font-size: 16px;
    }
  }
  @media only screen and (max-width: 1027px) {
    #nav-offset {
      height: 70px;
    }
  
    .logo img {
      height: 60px;
    }
  
    .hero {
      overflow: visible;
    }
  
    .sales-submit a {
      float: none;
      margin: 30px auto;
      width: 100px;
      display: block;
    }
  }
  /* Medium Devices, Desktops */
  @media only screen and (max-width: 992px) {
    .slide {
      background-image: none !important;
    }
    .slide .banner-text-column {
      padding-top: 0px;
      padding-bottom: 10px;
      padding-bottom: 50px;
      height: 250px !important;
    }
    .slide .banner-title {
      font-size: 1.5rem !important;
      line-height: 2rem !important;
    }
    .slide .copy {
      font-size: 0.8rem !important;
      line-height: 1.2rem;
      width: 100%;
    }
  
    .ayr-carousel .banner-text-column .copy {
      display: none;
    }
    .ayr-carousel .banner-text-column .cta, .ayr-carousel .banner-text-column #top-navigation .search .searchform .searchsubmit, #top-navigation .search .searchform .ayr-carousel .banner-text-column .searchsubmit {
      margin-top: 20px;
    }
  
    .block-portal-grid .grid-block-contain {
      padding: 20% 5% 10% 5%;
      overflow: hidden;
      background-position: 20px 20px;
      background-repeat: no-repeat;
      background-size: 110%;
      transition: 0.5s ease-in-out;
    }
    .block-portal-grid .grid-block-contain .copy-panel {
      opacity: 1 !important;
      padding: 30px;
      transition: 0.5s ease-in-out;
      transform: translateY(0);
      background-color: #ffffff;
      transform: translateY(20%);
    }
    .block-portal-grid .grid-block-contain .copy-panel h3 {
      font-size: 1.5rem;
    }
    .block-portal-grid .grid-block-contain .copy-panel .copy {
      opacity: 1;
      transition: 0.5s ease-in-out;
    }
    .block-portal-grid .grid-block-contain .copy-panel a {
      font-size: 1.1rem;
      font-weight: 500;
      text-decoration: none !important;
      text-transform: uppercase;
    }
    .block-portal-grid .grid-block-contain .copy-panel a:hover {
      color: #E5B42F;
    }
    .block-portal-grid .grid-block-contain:hover {
      box-shadow: inset 0px 0px 120px #BBD5DE;
    }
  
    .acc-more img {
      max-width: 200px;
    }
  }
  /* Small Devices, Tablets */
  @media only screen and (max-width: 768px) {
    .mobile-nav {
      width: 100%;
    }
  
    .admin-bar .mobile-nav {
      top: 45px !important;
    }
  
    .quote-mark img {
      width: 40px;
    }
  }
  @media only screen and (max-width: 640px) {
    .gf_simple_horizontal .gform_footer {
      margin-top: 0px !important;
    }
    .gf_simple_horizontal input.large {
      border-top-right-radius: 5px;
      border-bottom-right-radius: 5px;
    }
    .gf_simple_horizontal label {
      display: none;
    }
    .gf_simple_horizontal .gform_button {
      border-top-left-radius: 5px !important;
      border-bottom-left-radius: 5px !important;
    }
  }
  /* Extra Small Devices, Phones */
  /* Custom, iPhone Retina */
  /* @end */
  /*=====  End of MEDIA QUERIES  ======*/
  /*=============================================
  =            SVG / NAV FIX FOR IE            =
  =============================================*/
  /*
   * Let's target IE to respect aspect ratios and sizes for img tags containing SVG files
   *
   * [1] IE9
   * [2] IE10+
   */
  /* 1 */
  .sales-map .ie9 img[src$=".svg"] {
    width: 100%;
  }
  
  /* 2 */
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .sales-map svg {
      width: 100%;
      height: 800px;
    }
  
    ul.nav-contain {
      float: left;
      list-style: none;
      position: static;
      margin-bottom: 0px;
      padding-right: 0px;
      overflow: hidden;
    }
    ul.nav-contain > li:hover .top-submenu {
      z-index: 100000;
      opacity: 1;
      pointer-events: auto;
      display: block;
    }
    ul.nav-contain > li:hover .top-submenu .top-submenu-contain {
      top: 38px;
      opacity: 1;
    }
    ul.nav-contain .top-submenu {
      display: none;
    }
  }
  /*=====  End of SVG FIX FOR IE  ======*/