* {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 10px;
  overflow-y: auto;
}

#hgroup,
article,
aside,
details,
figcaption,
figure,
footer,
header,
nav,
section {
  display: block;
}

video {
  width: 100%;
  height: auto;
}

img {
  max-width: 100%;
  height: auto;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  font-size: 2.1rem;
}

nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

nav li {
  position: relative;
}

nav li>ul {
  position: absolute;
  top: 100%;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  min-width: 100%;
  left: -1rem;
  opacity: 0;
  visibility: visible;
  overflow: visible;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1rem;
}

nav li:hover>ul {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

nav li li {
  margin-top: 1rem;
}

nav>ul>li+li {
  /* margin-left: 2rem; */
  margin-top: 0;
}

nav a {
  text-decoration: none;
}

a {
  color: inherit;
}

p+p {
  margin-top: 0.5em;
}

footer,
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

header {
  position: sticky;
  top: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#hamburger {
  width: 3rem;
  height: 3rem;
  /*position: absolute;
  */
  margin-top: 1.5rem;
  -webkit-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  right: 1.5rem;
  z-index: 99;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  transform: rotate(0);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
}

#hamburger span {
  display: block;
  position: absolute;
  height: 0.3rem;
  width: 100%;
  background: var(--secondary);
  border-radius: 0.5rem;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
      transform: rotate(0);
  -webkit-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

#hamburger span:nth-child(1) {
  top: 0;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

#hamburger span:nth-child(2) {
  top: 0.9rem;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

#hamburger span:nth-child(3) {
  top: 1.8rem;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
      transform-origin: left center;
}

#hamburger.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  top: -0.3rem;
  left: 0.2rem;
}

#hamburger.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

#hamburger.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
  top: 1.8rem;
  left: 0.2rem;
}

.nav_mobile {
  width: 100%;
  display: none;
  position: fixed;
  top: 0;
  z-index: 9;
  left: 0;
  height: 100vh;
}

.nav_mobile ul.inline-list {
  height: 100vh;
  padding-top: 15vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* justify-content: center; */
}

.nav_mobile ul ul {
  display: none;
  text-align: left;
  width: 100%;
}

.nav_mobile ul {
  width: 100%;
  background-color: var(--primary);
  float: none;
  position: static;
}

.nav_mobile ul li {
  position: relative;
  width: 100%;
  display: block;
  float: none;
}

.nav_mobile ul li.level_2 {
  padding-left: 1em;
}

/* .nav_mobile ul li:not(.level_2):not(:first-child) {
  margin-top: .5em;
} */

.nav_mobile ul li .ul_content {
  padding-left: 3rem;
  background-color: none !important;
  margin-bottom: 3rem;
}

.nav_mobile ul li a {
  display: block;
  font-weight: 400;
  text-decoration: none;
  padding: 0 10vw 0 10vw;
  background-color: var(--primary);
  color: var(--white);
  border-bottom: 0.1rem solid var(--white);
  float: none;
  /* line-height: 4.5rem; */
  line-height: 2;
  font-size: 2rem;
  width: 100%;
  border-bottom: 0.1rem solid var(--primary);
  text-align: left;
}

.nav_mobile ul li a:hover {
  background-color: var(--primary);
  color: var(--white0);
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.nav_mobile ul li a.active,
.nav_mobile ul li.sfHover a.active,
.nav_mobile ul li:hover a.active {
  color: var(--secondary);
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.nav_mobile ul ul {
  z-index: 3000;
  background-color: var(--primary);
  height: auto;
  width: 100%;
  transition: 0.2s linear;
  -moz-transition: 0.2s linear;
  -webkit-transition: 0.2s linear;
  -o-transition: 0.2s linear;
}

.nav_mobile ul li ul li {
  position: relative;
  text-align: left;
  display: block;
  width: 100%;
  float: none;
}

.nav_mobile ul li ul li a {
  padding-left: 4rem;
}

.nav_mobile ul ul li {
  float: none;
  position: relative;
}

.nav_mobile ul ul ul {
  position: relative;
  display: block;
}

.nav_mobile ul ul ul li a {
  padding-left: 6rem;
}

.nav_mobile ul li span {
  display: block;
  width: 5rem;
  height: 5rem;
  right: 0;
  cursor: s-resize;
  position: absolute;
}

.nav_mobile ul li span:after {
  display: block;
  width: 5rem;
  height: 4rem;
  position: absolute;
  right: 0;
  top: 5px;
  content: '';
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
  background-repeat: no-repeat;
  background-image: url("../../custom/images/icons/arrow_down.png");
  background-position: center center;
  background-size: 3rem 1rem;
  -webkit-transform: rotate3d(0, 0, 1, 0deg);
  transform: rotate3d(0, 0, 1, 0deg);
}

.nav_mobile .ul_content {
  padding: 0;
  margin: 0;
  float: none;
  display: block !important;
  position: static;
  opacity: 1;
  visibility: visible !important;
  height: auto !important;
}

.ul_to_toggle {
  display: none !important;
}

.nav_mobile .ul_content li a {
  margin: 0;
}

.nav_mobile .ul_content li {
  margin: 0;
}

.nav_mobile ul li span {
  border-left: 0.1rem solid var(--primary);
  background: var(--primary);
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.nav_mobile ul li span.open:after {
  -webkit-transform: rotate3d(0, 0, 1, 90deg);
  transform: rotate3d(0, 0, 1, 90deg);
}

@media only screen and (min-width: 1025px) {
  .only_mobile {
    display: none !important;
  }
}

@media only screen and (max-width: 1024px) {
  .only_desktop {
    display: none !important;
  }
}

.menu_main > ul {
  margin-left: auto;
}
