.swop20-nav {
  position: relative;
  z-index: 20;
}

.swop20-nav a,
.swop20-nav button {
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  transition: color 0.1s;
}

/*
 * .-----------------------------------------------------.
 * |                    NAVIGATION BAR                   |
 * '-----------------------------------------------------'
 */

.swop20-navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 52px;
  z-index: 1;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
  transition: background-color 0.8s cubic-bezier(.17,.67,.47,1), opacity 0.8s cubic-bezier(.17,.67,.47,1);
}

.swop20-navbar-menu-opened {
  opacity: 0;
}

.swop20-navbar-inner {
  padding: 12px 20px 0 20px;
  overflow: hidden;
}

.swop20 .swop20-navbar a,
.swop20 .swop20-navbar button {
  display: block;
  color: #07081b;
}

.swop20 .swop20-navbar a:hover,
.swop20 .swop20-navbar button:hover {
  color: #ec912d;
}

.swop20-navbar a,
.swop20-navbar button,
.swop20-nav-current {
  font-size: 14px;
  line-height: 28px;
  text-transform: uppercase;
}

/* --- Logo / Current --- */

a.swop20-nav-logo {
  float: left;
  padding-top: 2px;
  margin-right: 16px;
}

a.swop20-nav-logo img {
  float: left;
  height: 24px;
  width: 52px;
}

.swop20-nav-current {
  float: left;
  display: none;
}

/* --- Links --- */

.swop20-nav-links {
  float: right;
}

.swop20-nav-links-inner {
  float: left;
}

.swop20-nav-links a,
.swop20-nav-links button {
  float: left;
  margin-left: 36px;
}

.swop20-nav-links a.swop20-nav-lang {
  margin-left: 12px;
}

.swop20 .swop20-navbar .swop20-nav-lang {
  display: none;
}

button.swop20-nav-expand {
  background: url(images/icon-expand.svg) center center no-repeat;
  background-size: 28px 16px;
  width: 28px;
  text-indent: -9999px;
  overflow: hidden;
}

button.swop20-nav-back {
  background: url(images/icon-back.svg) 0 center no-repeat;
  background-size: 21px 19px;
  width: 21px;
  text-indent: -9999px;
  overflow: hidden;
}

/* --- Share Link --- */

.swop20-nav .swop20-sharelink {
  float: left;
  height: 28px;
  width: 20px;
  overflow: hidden;
  margin-left: 36px;
}

.swop20-nav .swop20-sharelink a {
  height: 22px;
  width: 20px;
  margin-top: 3px;
  margin-left: 0;
  background: url(images/nav-share.svg) center center no-repeat;
  background-size: 20px 22px;
}

.swop20-nav .swop20-sharelink svg {
  display: none;
}

/* --- Responsive --- */

@media all and (min-width: 768px) {
  .swop20-nav-current,
  .swop20 .swop20-navbar .swop20-nav-lang {
    display: block;
  }
}

/*
 * .-----------------------------------------------------.
 * |                   NAVIGATION MENU                   |
 * '-----------------------------------------------------'
 */

.swop20-menu {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 2;
  pointer-events: none;
  max-width: 500px;
  color: #fff;
  font-size: 20px;
  line-height: 22px;
}

.swop20 .swop20-menu a,
.swop20 .swop20-menu a.active,
.swop20 .swop20-menu a:hover {
  color: inherit;
}

.swop20-menu-inner {
  width: 100%;
  height: 100%;
  padding: 24px;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(100%, 0);
  transition: transform 0.8s cubic-bezier(.17,.67,.47,1);
  background: #f8bc1c;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
}

.swop20-menu-opened {
  pointer-events: all;
}

.swop20-menu-opened .swop20-menu-inner {
  transform: translate(0, 0);
  opacity: 1;
}

button.swop20-menu-close {
  background: url(images/icon-close.svg) center center no-repeat;
  background-size: 24px 24px;
  width: 28px;
  text-indent: -9999px;
  overflow: hidden;
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 1;
}

.swop20-menu ul,
.swop20-menu ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.swop20 .swop20-menu-links a,
.swop20 .swop20-menu-links a.active {
  display: block;
  padding: 12px 0;
  color: #ffffff;
  position: relative;
}

.swop20 .swop20-menu-links a:hover,
.swop20 .swop20-menu-links a.active:hover {
  color: #ffffff;
}

.swop20 .swop20-menu-links a:hover:before,
.swop20 .swop20-menu-links a.active:before {
  content: '';
  width: 12px;
  height: 0;
  border-bottom: 2px solid #fff;
  position: absolute;
  left: -24px;
  top: 50%;
  margin-top: -1px;
}

/* Wrapper for language and download links. */
.swop20 .swop20-menu .swop20-menu-extra {
  background: #d3a11a;
  margin: 12px -24px 0;
  padding: 10px 24px;
  overflow: hidden;
}

.swop20-menu-pdf {
  padding: 10px 0;
}

.swop20-menu-pdf-links {
  padding-top: 8px;
  width: 100%;
  overflow: hidden;
}

.swop20-menu-pdf-links a {
  float: left;
  margin-right: 7px;
}

@media all and (min-width: 768px) {
  .swop20-menu {
    font-size: 24px;
    line-height: 28px;
  }

  .swop20-menu-inner {
    padding: 44px 90px;
  }

  button.swop20-menu-close {
    top: 60px;
    right: 60px;
  }

  .swop20 .swop20-menu-links a,
  .swop20 .swop20-menu-links a.active {
    padding: 12px 0;
  }

  .swop20 .swop20-menu-links a:hover:before,
  .swop20 .swop20-menu-links a.active:before {
    width: 50px;
    left: -90px;
  }

  .swop20 .swop20-menu .swop20-menu-extra {
    margin: 12px -90px 0;
    padding: 10px 90px;
  }

  .swop20 .swop20-menu .swop20-menu-lang {
    display: none;
  }
}

@media all and (min-width: 768px) and (min-height: 850px) {
  .swop20-menu {
    font-size: 28px;
    line-height: 34px;
  }

  .swop20-menu {
    max-width: 600px;
  }

  .swop20 .swop20-menu .swop20-menu-extra {
    margin: 44px -90px 0;
    padding: 44px 90px;
  }
}
