/* remove tap highlight */
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

/* hamburger button */
.hamburger {
  padding: 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  font-size: 0;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  z-index: 999;
  overflow: visible; }
  .hamburger:hover {
    opacity: 0.7; }

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: white;
    border-radius: 4px;
    position: absolute;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

.hamburger--elastic .hamburger-inner {
  top: 2px;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.15s 0.4s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 20px;
    transition: -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  -moz-transform: translate3d(0, 10px, 0) rotate(135deg);
  -o-transform: translate3d(0, 10px, 0) rotate(135deg);
  -ms-transform: translate3d(0, 10px, 0) rotate(135deg);
  -webkit-transform: translate3d(0, 10px, 0) rotate(135deg);
          transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.1s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    -moz-transform: translate3d(0, -20px, 0) rotate(-270deg);
    -o-transform: translate3d(0, -20px, 0) rotate(-270deg);
    -ms-transform: translate3d(0, -20px, 0) rotate(-270deg);
    -webkit-transform: translate3d(0, -20px, 0) rotate(-270deg);
            transform: translate3d(0, -20px, 0) rotate(-270deg);
    transition-delay: 0.1s; }

/* hamburger menu */
.nav {
  font-family: inherit;
  top: 0;
  left: 0;
  z-index: 999;
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgb(26, 188, 156);
}
.nav li {
  list-style-type: none;
  text-align: center;
  padding: 10px;
}
.nav li a {
  font-size: 150%;
  color: #fff;
  text-decoration: none;
  font-weight: 300;
  width: 100%;
}
.nav li:first-child {
  margin-top: 60px;
}

/* overview module view */
.overview {
  display: flex;
  flex-flow: column;
}

/* graph menu */
.graph-menu {
  width: 100%;
}
.menu-middle {
  width: 100%;
  text-align: center
}
.paginator-list .paginator-list-item:first-child i {
  margin: 0;
}
.paginator-list .paginator-list-item:last-child i {
  margin: 0;
}

/* overview graph, political parties & logos */
.graph {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-end;
  width: 100%;
}

.parties {
  position: relative;
  width: 8%;
  display: inline-block;
  margin-right: 5.14%;
  padding-bottom: 22px;
  -moz-transition: height 0.6s ease-in-out;
  -o-transition: height 0.6s ease-in-out;
  -ms-transition: height 0.6s ease-in-out;
  -webkit-transition: height 0.6s ease-in-out;
          transition: height 0.6s ease-in-out;
}
.parties p {
  margin: 0;
}

.v {
  background-color: #aa2f2f;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.s {
  background-color: #e82f3b;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.mp {
  background-color: #9fc85d;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.c {
  background-color: #209d5d;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.l {
  background-color: #6acae8;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.m {
  background-color: #197abb;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.kd {
  background-color: #01469a;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.sd {
  background-color: #e8c420;
  height: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.SD {
  background-color: #e8c420;
  height: 100%;
}

.logos {
  padding-top: 10px;
  padding-bottom: 10px;
}
.logos img {
  width: 8%;
  margin-right: 5.14%;
  vertical-align: middle;
}
.no-margin-right {
  margin-right: 0 !important;
}

.v-img {
  opacity: 0.4;
}
.s-img {
  opacity: 0.4;
}
.mp-img {
  opacity: 0.4;
}
.c-img {
  opacity: 0.4;
}
.l-img {
  opacity: 0.4;
}
.m-img {
  opacity: 0.4;
}
.kd-img {
  opacity: 0.4;
}
.SD-img {
  opacity: 0.4;
}

/* party menu & graph */
.party-name {
  display: inline-block;
  margin-left: 15px;
  margin-right: 15px;
}
.party-entry {
  margin-bottom: 10px;
}
.party-period {
  margin: 0;
  width: 150px;
}
.party-bar {
  display: inline-block;
  height: 26px;
  margin-right: 6px;
  border-radius: 20px;
  -moz-transition: width .6s, background-color .6s ease-in-out;
  -o-transition: width .6s, background-color .6s ease-in-out;
  -ms-transition: width .6s, background-color .6s ease-in-out;
  -webkit-transition: width .6s, background-color .6s ease-in-out;
          transition: width .6s, background-color .6s ease-in-out;
}
.party-value {
  margin: 0;
  display: inline-block;
  position: relative;
  height: 26px;
  line-height: 26px;
  top: -8px;
}
.party-title .text-medium {
  display: inline-block;
  margin-top: 20px;
  margin-bottom: 10px;
}

/* compare logos */
.compare-logo {
  display: inline-block;
  position: relative;
  top: 6px;
  height: 26px;
  width: 26px;
  margin-right: 6px;
}
.compare-m-img {
  height: inherit;
  top: 0;
}
