nav > ul,
header div > ul {
  display: flex;
}

header li {
  list-style: none;
}

nav a {
  color: var(--black);
  display: inline-block;
  padding: 12px .7em;
  position: relative;
  text-decoration: none;
  transition: var(--transition);
}

nav li.active > a,
nav a:hover,
.nav-has-child:hover > a {
  color: var(--blue);
}

.nav-has-child {
  overflow: hidden;
  position: relative;
}

.nav-has-child ul {
  background-color: var(--white);
  border-radius: var(--border-radius);
  box-shadow: 3px 3px 6px rgba(0,0,0,.16);
  /*display: none;*/
  overflow: hidden;
  position: absolute;
  width: 240px;
  left: 10px;
  opacity: 0;
  margin-top: -10%;
  transition: var(--transition);
}

.nav-has-child ul > li {
  border-bottom: 1px solid var(--border-color);
}

.nav-has-child ul > li a {
  padding: 18px 14px;
  display: block;
}

.nav-has-child ul li:last-child {
  border-bottom: 0;
}

.nav-has-child > a {
  padding-right: 1em;
  margin-right: .7em;
  /*margin-bottom: 1em;*/
}

.nav-has-child > a:before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  position: absolute;
  right: 0;
  top: 18px;
  background-repeat: no-repeat;
  background-position: right center;
  transition: var(--transition);
  background-image: url('data:image/svg+xml;utf8,<svg height="7.186" viewBox="0 0 11.028 7.186" width="11.028" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="rgb(0,0,0)" stroke-linecap="round" stroke-width="2"><path d="m1.414 1.414 4.077 4.305"/><path d="m4.134 0-4.048 4.359" transform="translate(5.48 1.414)"/></g></svg>');
}

.nav-has-child:hover {
  overflow: visible;
}

.nav-has-child:hover ul {
  /*display: block;*/
  margin-top: 0;
  opacity: 1;
}


/*.nav-has-child.active a:before,*/
.nav-has-child:hover a:before {
  background-image: url('data:image/svg+xml;utf8,<svg height="7.186" viewBox="0 0 11.028 7.186" width="11.028" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="rgb(1,96,217)" stroke-linecap="round" stroke-width="2"><path d="m1.414 1.414 4.077 4.305"/><path d="m4.134 0-4.048 4.359" transform="translate(5.48 1.414)"/></g></svg>');
  transform: rotate(180deg);
}


.nav-has-child ul li a {
  border-left: 6px solid transparent;
}

.nav-has-child ul li.active a,
.nav-has-child ul li:hover a {
  border-left-color: var(--blue);
}

#navToggle {
    position: absolute;
    z-index: 0;
    top: -10em;
    left: -10em;
    display: none;
}

.btn-icn {
  display: inline-block;
  padding: 0;
  height: 26px;
  width: 26px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.btn-icn:hover {
  opacity: .8;
}

.btn-icn span {
  display: none;
}

.btn-icn.icn-envelope {
  width: 31px;
  margin-right: 1em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12" viewBox="0 0 16 12"><path d="M15.7,67.963a.188.188,0,0,1,.3.147V74.5A1.5,1.5,0,0,1,14.5,76H1.5A1.5,1.5,0,0,1,0,74.5V68.113a.187.187,0,0,1,.3-.147c.7.544,1.628,1.234,4.816,3.55C5.778,72,6.891,73.009,8,73c1.116.009,2.25-1.025,2.884-1.488C14.072,69.2,15,68.506,15.7,67.963ZM8,72c.725.013,1.769-.912,2.294-1.294,4.147-3.009,4.463-3.272,5.419-4.022A.748.748,0,0,0,16,66.094V65.5A1.5,1.5,0,0,0,14.5,64H1.5A1.5,1.5,0,0,0,0,65.5v.594a.752.752,0,0,0,.288.591c.956.747,1.272,1.013,5.419,4.022C6.231,71.088,7.275,72.013,8,72Z" transform="translate(0 -64)" fill="rgba(0,0,0,0.6)"/></svg>');
}

.zoom-less {
  zoom: .8;
}

/* HAMBURGER ON */

.hamburger {
  cursor: pointer;
  display: inline-block;
  /*padding: 10px 0;
  position: absolute;*/
  text-transform: none;
  transition: opacity, filter .15s linear;
  /*top: .75em;
  right: 4px;*/
  /*height: 34px;*/
  /*z-index: 999;*/
}

.hamburger:hover {
  opacity: .7;
}

.hamburger-box {
  /*display: inline-block;*/
  height: 24px;
  position: relative;
  width: 26px;
  /*margin-top: 5px;*/
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  border-radius: 4px;
  height: 3px;
  position: absolute;
  transition: transform .15s ease;
  width: 26px;
}

.hamburger-inner {
  display: block;
  transition-duration: .4s;
  transition-timing-function: cubic-bezier(.68, -.55, 0.265, 1.55);
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: 10px;
  transition: opacity .15s .4s ease;
}

.hamburger-inner::after {
  bottom: -10px;
  top: 20px;
  transition: transform .3s cubic-bezier(.68, -.55, .265, 1.55);
}

#navToggle:checked ~ div label .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.1s;
}

#navToggle:checked ~ div label .hamburger-inner::before {
  opacity: 0;
  transition-delay: 0s;
}

#navToggle:checked ~ div label .hamburger-inner::after {
  transform: translate3d(0, -20px, 0) rotate(-270deg);
  transition-delay: .1s;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  background-color: #efefef;
  background-color: rgba(0,0,0,.6);
}


/* HAMBURGER OFF */

@media only screen and (max-width: 967px) {

  .overlay {
    background-color: rgba(0,0,0,0);
    bottom: 0;
    height: 0;
    position: fixed;
    top: 70px;
    transition: var(--transition);
    width: 100%;
    z-index: 990;
  }

  body main {
    margin-top: 72px;
  }

  .nav-has-child ul,
  .nav-has-child > a:before {
    display: none;
  }

  nav > ul {
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: 0 0 6px rgba(100,100,100,.4);
    flex-direction: column;
    overflow: hidden;
    position: absolute;
    right: -10px;
    margin-top: -100%;
    width: 300px;
  }

  nav > ul li {
    border-bottom: 1px solid var(--border-color);
  }

  nav > ul li:last-child {
    border-bottom: 0;
  }  

  #navToggle:checked ~ div nav > ul {
    margin-top: 1em;
    transition: var(--transition);
  }

  #navToggle:checked ~ .overlay {
    opacity: 1;
    visibility: visible;
    z-index: 989;
  }

  nav > ul:before,
  nav > ul:after {
    content: '';
    width: 0px;
    height: 0px;
    border-style: solid;
    right: 30px;
    top: -18px;
    position: absolute;
    transform: rotate(-90deg);
  }

  nav > ul:before {
     border-width: 10px 0 10px 18px;
     border-color: transparent transparent transparent white;
     z-index: 2;
  }

  nav > ul:after {
     border-width: 10px 0 10px 18px;
     border-color: transparent transparent transparent rgba(112, 112, 112, .2);
     margin-right: 0;
     margin-top: -1px;
     z-index: 1;
  }



  nav a,
  .nav-has-child > a {
    border-left: 6px solid transparent;
    display: block;
    margin-right: 0;
    padding: 12px 1.2em;
  }

/*  .nav-has-child ul li.active,
  .nav-has-child ul li a {
    border-left: 6px solid var(--white);
  }*/

  li.active a {
    border-left-color: var(--blue);
  }
}
