.sm-menu{position:relative;z-index:999; text-align: left;}
.sm-menu ul{display:none;}
.sm-menu li,.sm-menu a{position:relative;}
.sm-menu li {font-size: 16px; font-weight: 400;}
.sm-menu a {
  display:block;
  padding: 5px 58px 5px 10px;
  color: #fff;
}
.sm-menu a:hover {color: #fff;}
.sm-menu a.disabled{cursor:not-allowed;}
.sm-menu a.disabled {color: #bbbbbb;}
.sm-menu a span.sub-arrow {
  position: absolute;
  top: 50%;
  margin-top: -14px;
  left: auto;
  right: 5px;
  width: 28px;
  height: 28px;
  overflow: hidden;
  font: bold 16px/26px monospace !important;
  text-align: center;
  text-shadow: none;
  border: 1px solid transparent;
}
.sm-menu a.highlighted span.sub-arrow:before {
  display: block;
  content: '-';
}

/* ## MENU-OPENER ## */
.menu-opener {
  width:35px;
  height:35px;
  border:1px solid transparent;
  z-index:99;
  cursor:pointer;
  position: fixed;
  display: none;
  right: 5px;
  top: 6px;
  background: #003993;
}

.menu-opener:after {
  content:'';
  background:url(../img/ico-menu.png) no-repeat;
  width:20px;
  height:20px;
  position:absolute;
  top:50%;
  left:50%;
  margin:-10px 0 0 -10px;
}

.menu-opener.close {border:1px solid #fff; top: 3px; right: 1px; background: #003993;}
.menu-opener.close:after {
  background-image:url(../img/ico-menu-close.png);
  -webkit-transform:rotate(315deg);
  -moz-transform:rotate(315deg);
  -o-transform:rotate(315deg);
  transform:rotate(315deg);
}

@media (max-width: 992px) {
  body.open-menu {overflow-y:hidden;}
  .menu-opener {display: block;}
  .top-menu {
    position: fixed;
    z-index: 98;
    background: #003993;
    top: 0;
    left: 0;
    width: 100%;
    height: 0%;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .35s, visibility .35s, height .35s;
    transition: opacity .35s, visibility .35s, height .35s;
    overflow: hidden;
  }
  .top-menu.open {
    opacity: 1;
    visibility: visible;
    height: 100%;
    overflow-y: auto;
  }

  .sm-menu {padding-top: 42px;}
  .sm-menu > li:first-child {border-top: 1px solid #2e61b3;}
  .sm-menu li {border-bottom: 1px solid #2e61b3; font-size: 18px;}
  .sm-menu li {padding-top: 5px; padding-bottom: 5px;}
  .sm-menu ul {background: #2e61b3;}
  .sm-menu ul li {border-color: #003993;}
  .sm-menu ul li a {padding-left: 20px;}

  .sm-menu ul li:last-child {border: none;}
}

@media (min-width: 991px) {
  /* Switch to desktop layout */

  #main-nav {text-align: center;}
  #main-menu {display: inline-block;}
  .sm-menu ul {position: absolute;width: 12em;}
  .sm-menu li {float: left;}
  .sm-menu ul li, .sm-menu.sm-vertical li {float: none;}
  .sm-menu a {white-space: nowrap; color: #000;}
  .sm-menu ul a, .sm-menu.sm-vertical a {white-space: normal;}
  .sm-menu .sm-nowrap > li > a, .sm-menu .sm-nowrap > li > :not(ul) a {white-space: nowrap;}

  /* ...end */
  .sm-menu a {
    padding: 10px 20px 5px 20px;
    color: #000;
    position: relative;
    z-index: 99999;
  }
  .sm-menu a:hover, .sm-menu a:focus {
    color: #da2629;
  }
  .sm-menu a.current {
    color: #da2629;
  }
  .sm-menu a.disabled {
    color: #bbbbbb;
  }
  .sm-menu a.has-submenu {
    padding-right: 24px;
  }
  .sm-menu a span.sub-arrow {
    top: 50%;
    margin-top: -2px;
    right: 12px;
    width: 6px;
    height: 6px;
    border-right: 1px solid #474749;
    border-top: 1px solid #474749;
    transform: rotate(135deg);
    border-radius: 0;
  }
  .sm-menu a.highlighted span.sub-arrow:before {
    display: none;
  }
  .sm-menu li {
    border-top: 0;
  }
  .sm-menu > li > ul:before,
  .sm-menu > li > ul:after {
    content: '';
    position: absolute;
    top: -18px;
    left: 30px;
    width: 0;
    height: 0;
    overflow: hidden;
    border-width: 9px;
    border-style: dashed dashed solid dashed;
    border-color: transparent transparent #e3e3e3 transparent;
  }
  .sm-menu > li > ul:after {
    top: -16px;
    left: 31px;
    border-width: 8px;
    border-color: transparent transparent white transparent;
  }
  .sm-menu ul {
    border: 1px solid #e3e3e3;
    padding: 5px 0;
    background: white;
    border-radius: 5px !important;
    box-shadow: 0 5px 9px rgba(0, 0, 0, 0.2);
  }
  .sm-menu ul a {
    border: 0 !important;
    padding: 3px 15px;
    color: #000;
  }
  .sm-menu ul a:hover, .sm-menu ul a:focus, .sm-menu ul a.highlighted {
    color: #ED1E24;
  }
  .sm-menu ul a.disabled {
    background: white;
    color: #cccccc;
  }
  .sm-menu ul a.has-submenu {
    padding-right: 20px;
  }
  .sm-menu ul a span.sub-arrow {
    right: 10px;
    margin-top: -2px;
    transform: rotate(45deg);
  }
  .sm-menu span.scroll-up,
  .sm-menu span.scroll-down {
    position: absolute;
    display: none;
    visibility: hidden;
    overflow: hidden;
    background: white;
    height: 20px;
  }
  .sm-menu span.scroll-up:hover span.scroll-up-arrow, .sm-menu span.scroll-up:hover span.scroll-down-arrow {
    border-color: transparent transparent #ED1E24 transparent;
  }
  .sm-menu span.scroll-down:hover span.scroll-down-arrow {
    border-color: #ED1E24 transparent transparent transparent;
  }
  .sm-menu span.scroll-up-arrow, .sm-menu span.scroll-down-arrow {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -6px;
    width: 0;
    height: 0;
    overflow: hidden;
    border-width: 6px;
    border-style: dashed dashed solid dashed;
    border-color: transparent transparent #555555 transparent;
  }
  .sm-menu span.scroll-down-arrow {
    top: 8px;
    border-style: solid dashed dashed dashed;
    border-color: #555555 transparent transparent transparent;
  }
  .sm-menu.sm-vertical {
    padding: 10px 0;
    border-radius: 5px;
  }
  .sm-menu.sm-vertical a {
    padding: 10px 20px;
  }
  .sm-menu.sm-vertical a:hover {
    background: white;
  }
  .sm-menu.sm-vertical a.disabled {
    background: #eeeeee;
  }
  .sm-menu.sm-vertical a span.sub-arrow {
    right: 8px;
    top: 50%;
    margin-top: -5px;
    border-width: 5px;
    border-style: dashed dashed dashed solid;
    border-color: transparent transparent transparent #555555;
  }
  .sm-menu.sm-vertical > li > ul:before,
  .sm-menu.sm-vertical > li > ul:after {
    display: none;
  }
  .sm-menu.sm-vertical ul a {
    padding: 10px 20px;
  }
  .sm-menu.sm-vertical ul a:hover .sm-menu.sm-vertical ul a.highlighted {
    background: #eeeeee;
  }
  .sm-menu.sm-vertical ul a.disabled {
    background: white;
  }
}
