@font-face {
  font-family: "Quicksand";
  src: url("../fonts/Quicksand/static/Quicksand-SemiBold.ttf") format("opentype");
  font-weight: normal;
}
@font-face {
  font-family: "Quicksand";
  src: url("../fonts/Quicksand/static/Quicksand-Bold.ttf") format("opentype");
  font-weight: bold;
}
@keyframes bounce {
  0% {
    margin: 0 0 0 0;
  }
  33.33% {
    margin: 0 0 0 -10px;
  }
  100% {
    margin: 0 0 0 0;
  }
}

html {
  scroll-behavior: smooth;
}
html:not([data-scroll="0"]) .backtotop {
  pointer-events: inherit;
  opacity: 1;
  bottom: 50px;
  transition: all 500ms ease-in-out;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  justify-content: center;
  font-size: 1.2em;
  font-family: "Quicksand";
  font-weight: normal;
  font-style: normal;
  padding: 0;
  margin: 0;
  color: rgb(68, 68, 68);
  background: rgb(244, 242, 242);
}

h1 {
  font-size: 2em;
  font-weight: normal;
  margin: 0 0 0.4em 0;
  color: rgb(68, 68, 68);
}

h2 {
  font-size: 1em;
  font-weight: normal;
  margin: 0 0 0.4em 0;
  color: rgb(68, 68, 68);
}

h3 {
  font-size: 2em;
  font-weight: normal;
  margin: 0 0 0.4em 0;
  color: rgb(68, 68, 68);
}

p {
  font-size: 1.2em;
}

ul {
  width: 100%;
  padding: 0 0 20px 20px;
}

li {
  padding: 0 0 5px 0;
}

img {
  width: 100%;
  max-width: 100%;
}

a {
  color: rgb(153, 153, 153);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

main {
  position: relative;
  width: 100%;
  min-height: 100vh;
  padding: 0 5vw;
}

.main-content {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  color: rgb(68, 68, 68);
}
.main-content li a::before {
  content: "";
  position: absolute;
  top: 0;
  right: -12px;
  width: 10px;
  height: 10px;
  background: url("../media/sprite.svg");
  background-size: 500px 1000px;
  background-position: 0px 0px;
}
.main-content li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #cccccc;
}

.content-inner {
  width: 90vw;
}

.breadcrumb {
  padding: 50px 0 0 0;
  color: rgb(68, 68, 68);
}
.breadcrumb a {
  color: rgb(204, 204, 204);
  text-decoration: none;
  transition: all 300ms;
}
.breadcrumb a:hover {
  color: rgb(170, 170, 170);
}

.banner img {
  border-radius: 3px;
}

.title {
  text-align: center;
  margin-bottom: 50px;
}

.section-outer {
  height: 100vh;
}

.section {
  width: 100%;
  padding: 20px 0;
}

.flex-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: calc(100% + 10vw);
  margin: 0 -5vw;
}

.section.inside {
  width: 100%;
  margin: 0;
}

.section.fullwidth {
  min-height: 100vh;
}
.section.fullwidth:nth-child(2n) {
  background: rgba(0, 0, 0, 0.02);
}

.section-inner {
  width: 100%;
  max-width: 70vw;
}

.section-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0;
}

.section-row.align-left {
  justify-content: left;
}

.inside .section-row {
  margin: 0;
}

.column-20 {
  width: 20%;
  padding: 10px;
}

.column-33 {
  width: 33.33%;
  padding: 10px;
}

.column-50 {
  width: 50%;
  padding: 10px;
}

.column-100 {
  width: 100%;
  padding: 10px;
}

.column-flex {
  width: auto;
  padding: 10px;
}

.li-menu {
  padding: 0 0 50px 0;
}
.li-menu li {
  display: flex;
  justify-content: center;
  padding: 0 !important;
}
.li-menu li::marker {
  content: none;
}
.li-menu * {
  font-size: 24px;
}
.li-menu a {
  color: rgb(244, 242, 242);
  display: inline-block;
  text-align: center;
  transition: all 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
  background: rgba(68, 68, 68, 0.5);
  padding: 0;
  margin: 0;
  border: 5px solid;
  overflow: visible;
}
.li-menu a p {
  background: #444;
  padding: 0 10px;
  transition: bottom 150ms cubic-bezier(0, 1, 1, 1), right 150ms cubic-bezier(0, 1, 1, 1);
  position: relative;
  bottom: 0;
  right: 0;
}
.li-menu a:hover p {
  bottom: 3px;
  right: 3px;
  background: #00BFA5;
  transition: bottom 300ms cubic-bezier(0.3, 2.5, 0.8, 1), right 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
}

.teaser-container {
  position: relative;
  overflow: visible;
  transition: all 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
}
.teaser-container::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.teaser-container a {
  cursor: pointer;
  position: relative;
  bottom: 0;
  right: 0;
  background: #fff;
  border: 0px solid rgb(68, 68, 68);
  transition: all 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
}
.teaser-container:hover a {
  transform: scale(0.96);
}
.teaser-container:hover .teaser-title-container {
  opacity: 1;
}
.teaser-container a.active {
  border: 5px solid rgb(68, 68, 68);
}
.teaser-container label {
  cursor: pointer;
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}

.teaser-image {
  max-width: 100%;
  height: auto;
  overflow: hidden;
  z-index: 0;
}

.teaser-link {
  display: flex;
  position: relative;
  overflow: hidden;
}
.teaser-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(200, 200, 200, 0);
  transition: all 300ms;
  z-index: 1;
}
.teaser-link:hover::before {
  background: rgba(200, 200, 200, 0);
}

.teaser-title-container {
  display: flex;
  align-content: center;
  width: 100%;
  height: auto;
  display: flex;
  align-items: start;
  justify-content: left;
  padding: 20px 25px;
  z-index: 2;
  background: rgba(68, 68, 68, 0.5);
  position: absolute;
  bottom: 0;
  opacity: 0;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  transition: all 2000ms cubic-bezier(0.3, 2.5, 0.8, 1);
}

.teaser-title {
  color: rgb(244, 242, 242);
  font-size: 0.8em;
  text-align: left;
  transition: all 300ms;
}

input[type=radio] {
  display: none;
}
input[type=radio] + p {
  display: none;
}
input[type=radio]:checked + p {
  display: block;
}

.infobox {
  font-size: 0.8em;
  display: flex;
  align-items: center;
  min-height: 60vh;
  padding: 5vw;
  color: rgb(122, 121, 121);
}
.infobox a {
  display: inline-block;
  color: rgb(68, 68, 68);
  margin: 20px 0 0 0;
}
.infobox video {
  width: calc(100% + 10vw);
  margin: -5vw;
}
.infobox img {
  border-radius: 5px;
}

.navigation {
  position: absolute;
  bottom: 50px;
  left: auto;
  color: rgb(170, 170, 170);
}
.navigation a {
  display: block;
  position: relative;
  left: 0;
  color: rgb(68, 68, 68);
  font-size: 18px;
  background: rgb(255, 255, 255);
  padding: 15px 30px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.1);
  transition: all 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
}
.navigation a:hover {
  left: -10px;
}
.navigation a:hover::after {
  width: 10px;
}
.navigation a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 100%;
  width: 0;
  transition: all 300ms cubic-bezier(0.3, 2.5, 0.8, 1);
}

.backtotop {
  text-align: right;
  width: 100%;
  padding: 0 50px 0 50px;
  margin: 0 -5vw;
  position: fixed;
  bottom: 30px;
  opacity: 0;
  pointer-events: none;
  transition: all 100ms ease-in-out;
}
.backtotop a {
  display: inline-block;
  padding: 0 10px;
  color: rgb(68, 68, 68);
  transition: all 150ms ease-in-out;
}
.backtotop a:hover {
  opacity: 0.6;
  transition: all 0ms ease-in-out;
}

@media only screen and (max-width: 1600px) {
  .column-20 {
    width: 25%;
    padding: 10px;
  }
}
@media only screen and (max-width: 1200px) {
  .column-33 {
    width: 50%;
  }
  .column-20 {
    width: 33.332%;
    padding: 10px;
  }
}
@media only screen and (max-width: 900px) {
  .column-20 {
    width: 50%;
    padding: 10px;
  }
}
@media only screen and (max-width: 600px) {
  .column-50 {
    width: 100%;
    padding: 10px;
  }
  .column-20 {
    width: 100%;
    padding: 10px;
  }
}/*# sourceMappingURL=main.css.map */