/* select widget menu */
.select-nav {
  display: inline-block;
  position: relative
}

.select-nav a{
  display: block;
  background: #fff;
  color: #393838;
  font-size: 0.9rem;
  text-transform: uppercase;
  text-align: left;
  padding: 6px 12px;
}

.select-nav > a {
  position: relative;
  border-radius: 5px;
  border: 1px solid #a7a7a7;
  padding: 9px 36px 9px 12px;
  min-width: 19em;
  max-width: 100%;
}

.select-nav > a:after {
  color: #a7a7a7;
  position: absolute;
  right: 12px;
  top: calc(50% - 8px);
  content: "\25BC";
}

.select-nav > a:hover {
  background: #f0f0f0;
}

.select-nav .sub-menu {
  display: none;
  background: #fff;
  border: 1px solid #a7a7a7;
  position: absolute;
  top: 100%;
  right: 0;
  max-height: 212px;
  min-width: 100%;
  overflow-y: auto;
  z-index: 89;
}

.select-nav .sub-menu a:hover {
  background: #f75;
  color: #fff
}

/* sub-menu top detail (attached to parent element) */
.select-nav:before,
.select-nav:after {
  display: none;
  border-style: solid;
  border-width: 0 6px 6px;
  content: "";
  height: 0;
  position: absolute;
  right: 13px;
  bottom: calc(-1em - 1px);
  width: 0;
  z-index: 90;
}

.select-nav:before {
  border-color: transparent transparent #a7a7a7;
  bottom: -1em;
}

.select-nav:after {
  border-color: transparent transparent #fff;
}

.select-nav.expanded .sub-menu,
.select-nav.expanded:before,
.select-nav.expanded:after {
  display: block;
}

/* desktop */
@media (min-width:1025px) {

  /* prevent text-wrap in menu */
  .select-nav a{
    white-space: nowrap;
  }
}

/* mobile */
@media (max-width:1024px) {

  .select-nav {
    padding-top: 12px;
  }
}

/* main menu */
.upper-nav {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.upper-nav a {
  display: block;
  padding: 4px 5px 0;
  cursor: pointer;
  color: white
}

.upper-nav > ul a {
padding: 4px 20px 0 0;
}

.upper-nav ul,
.upper-nav div,
.upper-nav > ul > li {
  display: inline-block;
  padding-bottom: 6px;
}

.upper-nav ul,
.upper-nav div {
  margin: 0;
  border: 0;
  padding: 0;
}

.upper-nav .separator {
  padding-right: 4px;
}
.upper-nav .separator:before {
  content:"";
  padding-left: 5px;
  border-right: 1px solid white;
}

.upper-nav > ul {
  flex-grow: 1;
}

.upper-nav ul li {
  position: relative;
  text-transform: uppercase;
  font-size: 14.4px;
  border: 0;
}

/* desktop */

@media (min-width:1025px) {

  /* hide toggle for mobile menu */
  .upper-nav .mobile-menu-toggle {
      display: none;
  }

  /* parent menu mouse-over underline detail */
  .upper-nav > ul > li > a:after,
  .upper-nav > div > a:after {
    content: '';
    display: block;
    margin: auto;
    margin-top: 5px;
    height: 2px;
    width: 0px;
    background: transparent;
    transition: width 0.2s ease, background-color 0.2s ease;
  }

  .upper-nav ul > li:hover > a:after,
  .upper-nav > div:hover > a:after,
  .upper-nav ul > li:focus > a:after,
  .upper-nav > div:focus > a:after,
  .upper-nav ul > li.active > a:after {
    width: 100%;
    background: white;
  }

  /* parent menu buttons and divs */
  .upper-nav .main-search-toggle {
    /*margin-left: 27px;*/
  }
  .upper-nav .site-search-toggle {
    font-size: 18px;
  }
  .upper-nav .mobile-phone {
    /*float: right;*/
    white-space: nowrap;
  }
  .upper-nav .tlf {
    font-size: 1.32em;
    font-weight: bold;
    padding-right: 0;
  }
  .upper-nav .tlf img {
    max-height: 18px;
    position: relative;
    top: 1px;
    margin-right: 3px;
  }

  /* sub-menu */
  .upper-nav .sub-menu {
    display: none;
    background: #131313;
    position: absolute;
    left: -11px;
    right: auto;
    top: 100%;
    z-index: 99999;
  }
  .upper-nav .sub-menu .sub-menu {
    left: 100%;
    top: 0;
  }

  .upper-nav ul ul a {
    padding: 6px 12px;
    width: 258px;
  }

  /* sub-menu active item and hover  */
  .upper-nav ul ul a:hover,
  .upper-nav ul ul a:focus,
  .upper-nav ul ul li.active > a {
    background-color: #f75;
    color: #fff;
  }

  /* sub-menu top detail (attached to parent li)
  .upper-nav ul li.has-sub-menu:before,
  .upper-nav ul li.has-sub-menu:after {
    border-style: solid;
    border-width: 0 6px 6px;
    content: "";
    display: none;
    height: 0;
    position: absolute;
    left: calc(50% - 5px);
    bottom: -1px;
    width: 0;
    z-index: 100000;
  }*/

  .upper-nav ul li.has-sub-menu:before {
    border-color: transparent transparent #a7a7a7;
    bottom: 0;
  }
  
  .upper-nav ul li.has-sub-menu:after {
    border-color: transparent transparent #fff;
  }

  /* show sub-menu on mouse over */
  .upper-nav ul li:hover > .sub-menu,
  .upper-nav ul li.focus > .sub-menu,
  .upper-nav ul li.has-sub-menu:hover:before,
  .upper-nav ul li.has-sub-menu:focus:before,
  .upper-nav ul li.has-sub-menu:hover:after,
  .upper-nav ul li.has-sub-menu:focus:after {
      display: block;
  }

}

/* mobile */


@media screen and (max-width:1024px) {
    .hide-mobile {
      display: none !important;
    }
    .upper-nav {
      width: 100%;
      z-index: 500;
    }
    .upper-nav div a,
    .upper-nav button a {
      padding: 0;
    }
    .upper-nav ul {
      background: #242221;
    }
    .upper-nav > ul {
        display: none;
        position: absolute;
        right: 0;
        top: 39px;
        width: 100%;
        padding: 5px 0 15px;
        margin: 0;
        max-height: calc(100vh - 50px);
        overflow-y: auto;
        z-index: 500;
    }
    .upper-nav.showMenu > ul {
        display: block;
    }
    .upper-nav ul > li {
        display: block;
        float: none;
        background: #242221;
        color: #fff;
        font-size: 16px;
        padding: 0;
        padding: 10px 30px 5px 20px;
    }
    .upper-nav ul > li a {
        color: #fff;
        padding: 0;
        border-bottom: 2px solid #878582;
        display: block;
        text-align: left;
        padding-bottom: 15px;
        position: relative;
        outline: none;
    }
    .upper-nav .sub-menu li {
        font-size: .9em;
    }
    .upper-nav .sub-menu li a {
        border-bottom: 1px dotted #878582;
        padding-bottom: 10px;
    }
    .upper-nav .sub-menu li a:after {
        display: none;
    }
    .upper-nav .sub-menu li a:before {
        content: '- ';
    }
    .upper-nav li > a:after {
        content: '›';
        position: absolute;
        top: -11px;
        right: 0;
        height: auto;
        width: auto;
        margin: 0;
        font-size: 2em;
    }
    .upper-nav li.has-sub-menu > a:after {
        content: '+';
        display: block;
    }
    .upper-nav li.has-sub-menu.expanded > a:after {
        content: '\2012';
        display: block;
    }
    .upper-nav li .has-sub-menu {
        padding-right: 0;
    }
    .upper-nav .sub-menu {
        display: none;
    }
    .upper-nav li.expanded > .sub-menu {
        display: block;
    }
    /* parent buttons and divs */
    .upper-nav .mobile-menu-toggle,
    .upper-nav .mobile-phone,
    .upper-nav .main-search-toggle  {
        position: absolute;
        right: 0;
        top: -10px;
        background: #131313;
        width: 60px;
        height: 50px;
        margin: 0;
        text-align: center;
        box-sizing: border-box;
        line-height: 50px;
        color: #FFFFFF;
        border: 0;
        border-left: 1px dotted #636364;
        cursor: pointer;
    }
    .upper-nav i {
        font-size: 25px;
    }
    .upper-nav .mobile-phone {
        right: 60px;
        padding-top: 5px;
        background: none;
    }
    .upper-nav .main-search-toggle {
        right: 120px;
        padding-top: 3px;
        background: none;
    }
    .upper-nav .mobile-menu-toggle {
      padding-top: 7px;
      display: block;
      border-right: 1px dotted #636364;
    }
    .upper-nav.showMenu .mobile-menu-toggle {
      display: none;
    }
    .upper-nav .mobile-menu-toggle.close {
      display: none;
    }
    .upper-nav.showMenu .mobile-menu-toggle.close {
      display: block;
    }
    .upper-nav .mobile-menu-toggle i {
        font-size: 32px;
    }
}
@media screen and (max-width: 360px) {
    .upper-nav .mobile-menu-toggle,
    .upper-nav .mobile-phone,
    .upper-nav .main-search-toggle {
        width: 45px;
    }
    .upper-nav .mobile-phone {
        right: 45px;
    }
    .upper-nav .main-search-toggle {
        right: 90px;
    }
    .upper-nav .mobile-menu-toggle {
      padding-top: 6px;
    }
}
