.layout__region--vertical #button-toggle:after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.layout__region--vertical .block-menu .menu-heading a, .layout__region--vertical .block-menu > ul li a {
  display: inline;
  background-image: linear-gradient(180deg, transparent 90%, #B31B1B 0);
  background-size: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .4s ease; }
  .user-is-tabbing .layout__region--vertical .block-menu .menu-heading a:focus, .layout__region--vertical .block-menu .menu-heading .user-is-tabbing a:focus, .user-is-tabbing .layout__region--vertical .block-menu > ul li a:focus, .layout__region--vertical .block-menu > ul li .user-is-tabbing a:focus, .layout__region--vertical .block-menu .menu-heading a:hover, .layout__region--vertical .block-menu > ul li a:hover {
    background-size: 100% 100%;
    text-decoration: none; }

.user-is-tabbing :focus {
  outline: 1px dotted currentColor;
  outline-offset: 2px; }

.layout__region--vertical #button-toggle {
  display: none;
  border: none;
  position: relative;
  width: 100%;
  background: #fff;
  color: #B31B1B;
  border-top: 1px solid #7D868C;
  padding: 23px 70px 23px 0;
  text-align: left;
  font-size: calc(18px + (22 - 18) * ((100vw - 300px) / (1600 - 300)));
  font-weight: 600;
  font-family: "Work Sans", sans-serif; }
  .layout__region--vertical #button-toggle:after {
    content: "\e90e";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%) rotate(180deg);
    transition: all 0.3s ease; }
  .layout__region--vertical #button-toggle.collapsed:after {
    transform: translate(0, -50%) rotate(0);
    transition: all 0.3s ease; }

@media (min-width: 768px) {
  .layout__region--vertical .collapse {
    display: block !important; }
}

@media (max-width: 767.98px) {
  .layout__region--vertical {
    border-bottom: 1px solid #7D868C;
    margin: 0 -15px 35px; }
    .layout__region--vertical #button-toggle {
      display: block;
      padding-left: 15px; }
    .layout__region--vertical .collapse {
      display: none;
      background: #fff; }
      .layout__region--vertical .collapse.show {
        display: block; }
      .layout__region--vertical .collapse.in {
        display: block; } }

.layout__region--vertical .block-menu {
  padding: 15px 0;
  margin: 0;
  position: relative; }
  .layout__region--vertical .block-menu:before, .layout__region--vertical .block-menu:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 500%;
    height: 0;
    border-top: 1px solid #55565A; }
  .layout__region--vertical .block-menu:before {
    top: 0; }
  .layout__region--vertical .block-menu:after {
    bottom: 0; }
  .layout__region--vertical .block-menu .menu-heading {
    font-size: calc(18px + (22 - 18) * ((100vw - 300px) / (1600 - 300)));
    margin: 15px 0;
    padding: 0;
    font-family: "Work Sans", sans-serif;
    font-weight: 600; }
    .layout__region--vertical .block-menu .menu-heading:after {
      content: "";
      display: block;
      width: 60px;
      height: 0;
      border-top: 1px solid #7D868C;
      margin: 15px 0; }
    .layout__region--vertical .block-menu .menu-heading a {
      color: #000;
      text-decoration: none; }
      .layout__region--vertical .block-menu .menu-heading a:hover, .layout__region--vertical .block-menu .menu-heading .user-is-tabbing a:focus, .user-is-tabbing .layout__region--vertical .block-menu .menu-heading a:focus {
        color: #B31B1B; }
  .layout__region--vertical .block-menu > ul {
    list-style-type: none;
    margin-left: -60px; }
    .layout__region--vertical .block-menu > ul li {
      position: relative;
      margin: 15px 0;
      padding: 0 0 0 60px;
      font-family: "Work Sans", sans-serif;
      font-weight: 600;
      font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1600 - 300))); }
      .layout__region--vertical .block-menu > ul li a {
        color: #B31B1B;
        text-decoration: none; }
        .layout__region--vertical .block-menu > ul li a.is-active {
          display: block;
          padding: 15px 0 15px 25px;
          margin: 0 0 0 -25px;
          background: #F2F2F2; }
          .layout__region--vertical .block-menu > ul li a.is-active a {
            color: #000; }
    .layout__region--vertical .block-menu > ul > li {
      font-size: calc(18px + (22 - 18) * ((100vw - 300px) / (1600 - 300)));
      padding-left: 20px;
      margin: 0 0 15px; }
      .layout__region--vertical .block-menu > ul > li.menu-item--active-trail a {
        color: #000; }
        .layout__region--vertical .block-menu > ul > li.menu-item--active-trail a:hover, .layout__region--vertical .block-menu > ul > li.menu-item--active-trail .user-is-tabbing a:focus, .user-is-tabbing .layout__region--vertical .block-menu > ul > li.menu-item--active-trail a:focus {
          color: #B31B1B; }
      .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul {
        list-style-type: none;
        margin-left: -40px; }
        .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li {
          padding-left: 50px; }
          .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li a {
            color: #B31B1B; }
            .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li a.is-active {
              padding: 15px 0 15px 25px;
              color: #000; }
              .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li a.is-active:hover, .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li .user-is-tabbing a.is-active:focus, .user-is-tabbing .layout__region--vertical .block-menu > ul > li.menu-item--active-trail ul li a.is-active:focus {
                color: #B31B1B; }
    .layout__region--vertical .block-menu > ul > li > ul {
                  list-style-type: none;}
    .layout__region--vertical .block-menu > ul > li > ul > li {
                    padding: 0;}

@media (max-width: 767.98px) {
  .layout__region--vertical .block-menu {
    padding: 0 72px 0 15px; }
    .layout__region--vertical .block-menu:before, .layout__region--vertical .block-menu:after {
      display: none; } }

@media (min-width: 768px) and (max-width: 991.98px) {
  .layout__region--vertical .block-menu li {
    padding-right: 30px; } }
