@charset "UTF-8";
/* Fonts
-------------------------------------------------- */
@font-face {
  font-family: 'HK Gothic Reg';
  src: url("../fonts/hk-gothic/HKGothicRegular.otf") format("opentype"); }

@font-face {
  font-family: 'HK Gothic Bold';
  src: url("../fonts/hk-gothic/HKGothicBold.otf") format("opentype"); }

@font-face {
  font-family: 'HK Gothic Black';
  src: url("../fonts/hk-gothic/HKGothicBlack.otf") format("opentype"); }

/* Colors
-------------------------------------------------- */
/* Components
-------------------------------------------------- */
/* Mixins 
-------------------------------------------------- */
/* Font
-------------------------------------------------- */
/* Grid
-------------------------------------------------- */
/* Responsive
-------------------------------------------------- */
/* 1.1 BASE
-------------------------------------------------- */
/* Reset & Basics
-------------------------------------------------- */
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

*, *::before, *::after {
  margin: 0;
  padding: 0;
  border: none;
  list-style: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

article, aside, details,
figcaption, figure, footer,
header, hgroup, main,
nav, section, summary {
  display: block; }

abbr {
  border: 0; }

.cf::after {
  content: "";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both; }

/* Site
-------------------------------------------------- */
html, body {
  width: 100%;
  height: 100%;
  margin: 0; }

html {
  overflow-y: scroll;
  /* Highlight color for WebKit-bases touch devices. */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.5); }

body {
  background: #000;
  font-size: 16px;
  font-family: "HK Gothic Reg", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  color: #ffffff;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  letter-spacing: 0.8px;
  text-rendering: optimizeLegibility; }

/* Stuff
-------------------------------------------------- */
::-moz-selection {
  background: #ffffff;
  color: #000;
  text-shadow: none; }
::selection {
  background: #ffffff;
  color: #000;
  text-shadow: none; }

/*
  Simple Grid
  Project Page - http://thisisdallas.github.com/Simple-Grid/
  Author - Dallas Bass
  Site - http://dallasbass.com
*/
[class*='grid'],
[class*='col-'],
[class*='mobile-'],
.grid:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

[class*='col-'] {
  float: left;
  min-height: 1px;
  padding-right: 60px;
  /* column-space */ }

/*[class*='col-'] [class*='col-']:last-child {
  padding-right: 0; }*/

.grid {
  width: 100%;
  max-width: 1270px;
  min-width: 748px;
  /* when using padded grid on ipad in portrait mode, width should be viewport-width - padding = (768 - 20) = 748. actually, it should be even smaller to allow for padding of grid containing element */
  margin: 0 auto;
  overflow: hidden; }

.grid:after {
  content: "";
  display: table;
  clear: both; }

.grid-pad {
  padding-top: 30px;
  padding-left: 60px;
  /* grid-space to left */
  padding-right: 0;
  /* grid-space to right: (grid-space-left - column-space) e.g. 20px-20px=0 */ }

.grid-wide {
  padding-top: 30px;
  max-width: 100%;
  padding-left: 120px;
  padding-right: 60px; }

.push-right {
  float: right; }

/* Content Columns */
.col-1-1 {
  width: 100%; }

.col-4-5 {
  width: 80%; }

.col-7-10 {
  width: 70%; }

.col-2-3, .col-8-12 {
  width: 66.66%; }

.col-3-5, .col-6-10 {
  width: 60%; }

.col-1-2, .col-6-12, .col-5-10 {
  width: 50%; }

.col-2-5, .col-4-10 {
  width: 40%; }

.col-1-3, .col-4-12 {
  width: 33.33%; }

.col-3-10 {
  width: 30%; }

.col-1-4, .col-3-12 {
  width: 25%; }

.col-1-5 {
  width: 20%; }

.col-1-6, .col-2-12 {
  width: 16.667%; }

.col-1-7 {
  width: 14.28%; }

.col-1-8 {
  width: 12.5%; }

.col-1-9 {
  width: 11.1%; }

.col-1-10 {
  width: 10%; }

.col-1-11 {
  width: 9.09%; }

.col-1-12 {
  width: 8.33%; }

/* Layout Columns */
.col-11-12 {
  width: 91.66%; }

.col-10-12 {
  width: 83.333%; }

.col-9-12 {
  width: 75%; }

.col-5-12 {
  width: 41.66%; }

.col-7-12 {
  width: 58.33%; }

/* Pushing blocks */
.push-7-10 {
  margin-left: 70%; }

.push-2-3, .push-8-12 {
  margin-left: 66.66%; }

.push-1-2, .push-6-12, .push-5-10 {
  margin-left: 50%; }

.push-2-5, .push-4-10 {
  margin-left: 40%; }

.push-1-3, .push-4-12 {
  margin-left: 33.33%; }

.push-1-4, .push-3-12 {
  margin-left: 25%; }

.push-1-5 {
  margin-left: 20%; }

.push-1-6, .push-2-12 {
  margin-left: 16.667%; }

.push-1-7 {
  margin-left: 14.28%; }

.push-1-8 {
  margin-left: 12.5%; }

.push-1-9 {
  margin-left: 11.1%; }

.push-1-10 {
  margin-left: 10%; }

.push-1-11 {
  margin-left: 9.09%; }

.push-1-12 {
  margin-left: 8.33%; }

@media handheld, only screen and (max-width: 750px) {
  .grid {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 60px;
    /* grid-space to left */
    padding-right: 30px;
    /* grid-space to right: (grid-space-left - column-space) e.g. 20px-10px=10px */ }
  [class*='col-'] {
    width: auto;
    float: none;
    margin: 30px 0;
    padding-left: 0;
    padding-right: 30px;
    /* column-space */ }
  [class*='col-'] [class*='col-'] {
    padding-right: 0; }
  /* Mobile Layout */
  [class*='mobile-col-'] {
    float: left;
    margin: 0 0 30px;
    padding-left: 0;
    padding-right: 30px;
    /* column-space */
    padding-bottom: 0; }
  .mobile-col-1-1 {
    width: 100%; }
  .mobile-col-2-3, .mobile-col-8-12 {
    width: 66.66%; }
  .mobile-col-1-2, .mobile-col-6-12 {
    width: 50%; }
  .mobile-col-1-3, .mobile-col-4-12 {
    width: 33.33%; }
  .mobile-col-1-4, .mobile-col-3-12 {
    width: 25%; }
  .mobile-col-1-5 {
    width: 20%; }
  .mobile-col-1-6, .mobile-col-2-12 {
    width: 16.667%; }
  .mobile-col-1-7 {
    width: 14.28%; }
  .mobile-col-1-8 {
    width: 12.5%; }
  .mobile-col-1-9 {
    width: 11.1%; }
  .mobile-col-1-10 {
    width: 10%; }
  .mobile-col-1-11 {
    width: 9.09%; }
  .mobile-col-1-12 {
    width: 8.33%; }
  /* Layout Columns */
  .mobile-col-11-12 {
    width: 91.66%; }
  .mobile-col-10-12 {
    width: 83.333%; }
  .mobile-col-9-12 {
    width: 75%; }
  .mobile-col-5-12 {
    width: 41.66%; }
  .mobile-col-7-12 {
    width: 58.33%; }
  .hide-on-mobile {
    display: none !important;
    width: 0;
    height: 0; } }

/* 1.3 TYPO
-------------------------------------------------- */
strong {
  font-size: 1em;
  font-family: "HK Gothic Bold", sans-serif; }

p {
  margin-bottom: 1em; }

.p-large {
  font-size: 1.7em;
  line-height: 1.4;
  font-family: "HK Gothic Reg", sans-serif; }

.p-small {
  font-size: .8333em; }

hr {
  height: 1px;
  margin-top: 1em;
  margin-bottom: 1em;
  background-color: #ffffff;
  border: 0; }

blockquote,
blockquote p {
  font-size: 1.125em;
  color: #9d9d9d;
  font-weight: 400; }

blockquote p {
  margin-bottom: 0; }

blockquote:before {
  font-size: 1.5em;
  line-height: 1;
  margin-right: .25em;
  float: left;
  content: '»'; }

/* 1.4 IMAGES
-------------------------------------------------- */
img {
  border-style: none;
  height: auto;
  max-width: 100%; }

/* 2.1 HEADINGS
-------------------------------------------------- */
h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0; }

.alpha a, .text h1 a, header .cover-text h2 a,
.alpha a:link,
.text h1 a:link,
header .cover-text h2 a:link,
.alpha a:visited,
.text h1 a:visited,
header .cover-text h2 a:visited,
.alpha a:hover,
.text h1 a:hover,
header .cover-text h2 a:hover,
.alpha a:active,
.text h1 a:active,
header .cover-text h2 a:active, .beta a, .text h2 a,
.beta a:link,
.text h2 a:link,
.beta a:visited,
.text h2 a:visited,
.beta a:hover,
.text h2 a:hover,
.beta a:active,
.text h2 a:active, .gamma a, .text h3 a,
.gamma a:link,
.text h3 a:link,
.gamma a:visited,
.text h3 a:visited,
.gamma a:hover,
.text h3 a:hover,
.gamma a:active,
.text h3 a:active, h1 a,
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active, h2 a,
h2 a:link,
h2 a:visited,
h2 a:hover,
h2 a:active, h3 a,
h3 a:link,
h3 a:visited,
h3 a:hover,
h3 a:active, h4 a,
h4 a:link,
h4 a:visited,
h4 a:hover,
h4 a:active, h5 a,
h5 a:link,
h5 a:visited,
h5 a:hover,
h5 a:active {
  color: inherit !important;
  font-weight: inherit;
  background-color: transparent !important;
  padding: 0;
  border: 0;
  margin-bottom: 0; }

.alpha, .text h1, header .cover-text h2 {
  font-size: 2.5em;
  font-family: "HK Gothic Bold", sans-serif;
  color: #ffffff;
  margin-bottom: 1em;
  line-height: 1.3; }

.beta, .text h2 {
  font-size: 2em;
  font-family: "HK Gothic Reg", sans-serif;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: .5em;
  line-height: 1.3; }

.gamma, .text h3 {
  font-size: 1.5em;
  font-family: "HK Gothic Reg", sans-serif;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: .5em;
  line-height: 1.2;
  padding-bottom: .5em; }

.delta, .text h4, .checkboxes label.weekdayLabel {
  font-size: 1em;
  font-family: "HK Gothic Black", sans-serif;
  color: #ffffff;
  margin-bottom: 1em;
  line-height: 1.3; }

/* 2.2 TEXT
-------------------------------------------------- */
.text a {
  padding-bottom: .125em;
  border-bottom: 2px solid #ffffff; }

.text figure a {
  border-bottom: 0; }
  .text figure a:hover {
    opacity: .8; }

.text p {
  margin-bottom: 1.5em; }

.text ul {
  margin-bottom: 2em;
  margin-left: 1em; }

.text ul li::before {
  font-family: 'Zapf Dingbats';
  content: '\25A0';
  font-size: 8px;
  display: inline-block;
  width: calc(1em + 8px);
  margin-left: calc(-1em - 8px); }

.text ol {
  margin-bottom: 2em;
  margin-left: 1em; }

.text ol li {
  list-style-type: decimal; }

.text figcaption {
  font-size: .8em;
  margin-bottom: 60px; }

.text figure img {
  max-width: 100%; }

.text-plain.faqs p {
  margin-bottom: 4em; }

.text--left {
  text-align: left; }

.text--right {
  text-align: right; }

.text--center {
  text-align: center; }

.text--justify {
  text-align: justify; }

.float--left {
  float: left; }

.float--right {
  float: right; }

.text--small {
  font-size: 0.9em; }
em {
  font-size: 1.25em;
    color: #f8b2da;
}

/* 2.3 LINKS
-------------------------------------------------- */
a {
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  outline: none;
  -webkit-transition: opacity .5s ease-out;
  -moz-transition: opacity .5s ease-out;
  -o-transition: opacity .5s ease-out;
  transition: opacity .5s ease-out; }
  a:hover {
    opacity: .6; }

a:link, a:visited, a:target, a:hover, a:active, a:focus,
a:enabled, a:disabled, a:checked {
  outline: none;
  color: #ffffff;
  text-decoration: none; }

.button,
a.button {
  font-family: inherit;
  display: inline-block; }
  .button.button--primary,
  a.button.button--primary {
    background-color: #ffffff;
    color: #000;
    line-height: 1.4;
    padding: .75em 1.25em;
    margin-bottom: 2em;
    border-bottom: none;
    -webkit-transition: background .5s ease-out;
    -moz-transition: background .5s ease-out;
    -o-transition: background .5s ease-out;
    transition: background .5s ease-out; }
    .button.button--primary:hover, .button.button--primary:focus,
    a.button.button--primary:hover,
    a.button.button--primary:focus {
      background-color: rgba(255, 255, 255, 0.6); }
  .button.button--secondary,
  a.button.button--secondary {
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
    padding: 0;
    padding-left: .75em;
    padding-right: .75em; }

  a.spotlight {
    display: block;
  }

/* 2.4 FORMS
-------------------------------------------------- */
label {
  font-size: .8em;
  color: #9d9d9d; }

.checkbox {
  margin: 0;
  border: 1px solid transparent; }
  .checkbox label {
    color: #ffffff; }
  .checkbox input[type="checkbox" i] {
    float: left;
    margin-top: 5px;
    margin-right: 10px; }

input[type=text], input[type=email], input[type=tel], input[type=date], input[type=number], input[type=file],
textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent !important;
  border: 0;
  border-bottom: 2px solid #9d9d9d;
  padding: .75em .75em .75em 0;
  width: 100%;
  color: #9d9d9d;
  font-size: 1em;
  font-weight: normal;
  font-family: "HK Gothic Reg", sans-serif;
  border-radius: 0;
  margin-bottom: 30px; }
  input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=date]:focus, input[type=number]:focus, input[type=file]:focus,
  textarea:focus, select:focus {
    outline: none;
    border-color: #ffffff;
    color: #ffffff;
    border-radius: 0; }
  input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=date]::-webkit-input-placeholder, input[type=number]::-webkit-input-placeholder, input[type=file]::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #9d9d9d;
    opacity: 1;
    /* Firefox */ }
  input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=date]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=file]:-ms-input-placeholder,
  textarea:-ms-input-placeholder, select:-ms-input-placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #9d9d9d;
    opacity: 1;
    /* Firefox */ }
  input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=date]::-ms-input-placeholder, input[type=number]::-ms-input-placeholder, input[type=file]::-ms-input-placeholder,
  textarea::-ms-input-placeholder, select::-ms-input-placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #9d9d9d;
    opacity: 1;
    /* Firefox */ }
  input[type=text]::placeholder, input[type=email]::placeholder, input[type=tel]::placeholder, input[type=date]::placeholder, input[type=number]::placeholder, input[type=file]::placeholder,
  textarea::placeholder, select::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #9d9d9d;
    opacity: 1;
    /* Firefox */ }
  input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=date]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=file]:-ms-input-placeholder,
  textarea:-ms-input-placeholder, select:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #9d9d9d; }
  input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, input[type=tel]::-ms-input-placeholder, input[type=date]::-ms-input-placeholder, input[type=number]::-ms-input-placeholder, input[type=file]::-ms-input-placeholder,
  textarea::-ms-input-placeholder, select::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #9d9d9d; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #4b4b4b inset !important;
  -webkit-text-fill-color: #ffffff !important; }

::-webkit-calendar-picker-indicator {
  -webkit-filter: invert(100%);
  filter: invert(100%); }

/* Registration form
-------------------------------------------------- */
.checkboxes .day-group {
  margin-bottom: 2em; }

.checkboxes label.weekdayLabel {
  display: block;
  margin-bottom: .25em; }

.text-fields .gamma, .text-fields .text h3, .text .text-fields h3 {
  margin-bottom: 2em; }

.text-fields small {
  font-size: .7em;
  font-style: italic;
  margin-top: 2em; }

.text-fields small, .text-fields strong {
  display: block;
  margin-bottom: 2em; }

.text-fields .button {
  min-width: 200px; }

/* 3.1 HEADER
-------------------------------------------------- */
header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 230px;
  -webkit-transition: height .5s ease-out;
  -moz-transition: height .5s ease-out;
  -o-transition: height .5s ease-out;
  transition: height .5s ease-out; }
  header .header-bar {
    position: relative;
    z-index: 99; }
  header .logo {
    margin-top: 0;
    margin-bottom: 4em; }
    header .logo img {
      height: 150px;
      -webkit-transition: height .5s ease-out;
      -moz-transition: height .5s ease-out;
      -o-transition: height .5s ease-out;
      transition: height .5s ease-out; }
  header .header-bar .grid {
    overflow: visible; }
  header .header-bar .col-1-2 {
    margin-top: 0; }
  header.cover-image {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
  body header.anmalan-cover-image {
    height: 0;
    padding-bottom: 54.6%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center; }
  header .cover-text {
    position: absolute;
    top: 230px;
    left: auto;
    right: auto;
    width: 33.333%;
    padding-top: 4em;
    padding-bottom: 2em; }
    header .cover-text p {
      overflow: hidden;
      display: -webkit-box;
      -webkit-line-clamp: 15;
      -webkit-box-orient: vertical; }

#sticky-header.scrolled {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(230px / 2 - 30px / 2);
  background-color: #232323; }
  #sticky-header.scrolled .grid-wide {
    padding-top: calc(30px / 2); }
  #sticky-header.scrolled .logo img {
    height: 70px; }
  #sticky-header.scrolled .toggle-btn {
    top: 30px; }

@-webkit-keyframes jumpInfinite {
  0% {
    bottom: 60px; }
  50% {
    bottom: 40px; }
  100% {
    bottom: 60px; } }

@keyframes jumpInfinite {
  0% {
    bottom: 60px; }
  50% {
    bottom: 40px; }
  100% {
    bottom: 60px; } }

.arrow-down {
  position: absolute;
  bottom: 60px;
  right: 15px;
  width: 30px;
  height: 30px;
  -webkit-animation: jumpInfinite 1.5s infinite;
  animation: jumpInfinite 1.5s infinite; }
  .arrow-down a {
    display: block; }
  .arrow-down img {
    width: 100%;
    height: auto; }

/* 3.2 FOOTER
-------------------------------------------------- */
.footer {
  position: relative;
  height: 380px;
  background-color: #232323;
  color: #9d9d9d;
  font-size: 0.9em;
  padding-top: 30px;
  -webkit-transition: 0.3s padding ease-out;
  -o-transition: 0.3s padding ease-out;
  transition: 0.3s padding ease-out;
  -webkit-transform: translate3d(0, 0, 0); }
  .footer .social-icons {
    margin-bottom: 2em; }
    .footer .social-icons .social-icon {
      width: 20px;
      height: 20px;
      margin-right: 10px; }

section.sponsors {
  background-color: #ffffff;
  padding-bottom: 3em; }
  section.sponsors .delta, section.sponsors .text h4, .text section.sponsors h4, section.sponsors .checkboxes label.weekdayLabel, .checkboxes section.sponsors label.weekdayLabel {
    color: #000; }

  #masonry {
      columns: 3; /* Number of columns */
      column-gap: 10px; /* Gap between columns */
    }

    .sponsor-logo {
      break-inside: avoid; /* Prevent items from breaking inside columns */
      margin-bottom: 10px;
      padding: 10px;
      border-radius: 5px;
      text-align: center;
    }
/* 3.3 NAVIGATION
-------------------------------------------------- */
nav.menu ul li {
  margin-bottom: .25em; }
  nav.menu ul li a {
    padding-bottom: .125em;
    border-bottom: 2px solid #ffffff; }

nav.menu ul.main-menu {
  text-align: right;
  margin-bottom: 2em; }
  nav.menu ul.main-menu li a {
    font-size: 1.2em; }
    nav.menu ul.main-menu li a:hover {
      opacity: .8; }

nav.menu .social-icons {
  float: right; }
  nav.menu .social-icons .social-icon {
    margin-left: 10px; }

.menu--secondary {
  font-size: .8em; }

/* Visible Menu vs. Burger
-------------------------------------------------- */
header nav.menu {
  display: none; }

#toggle:checked ~ nav {
  display: block; }

.home header nav.menu {
  display: block; }

.home .toggle-btn {
  display: none; }

.home #sticky-header.scrolled nav.menu {
  display: none; }

.home #sticky-header.scrolled .toggle-btn {
  display: block; }

.home #sticky-header.scrolled #toggle:checked ~ nav {
  display: block; }

/* Tabs
-------------------------------------------------- */
nav.tab-nav ul li,
nav.pagination ul li {
  margin-right: .75em;
  margin-bottom: .75em;
  display: inline-block; }

nav.tab-nav a,
nav.pagination a {
  border: 1px solid #ffffff;
  padding-left: .75em;
  padding-right: .75em; }
.sticky-nav {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  z-index: 98;
  background-color: black;
}
.sticky-nav div {
  z-index: 111;
}
nav.pagination {
  padding-bottom: 6em; }

/* Burger Menu
-------------------------------------------------- */
.toggle-btn {
  display: block;
  position: fixed;
  z-index: 10;
  right: 120px;
  top: 60px;
  cursor: pointer; }
  .toggle-btn .bar {
    width: 40px;
    height: 4px;
    margin: 8px auto;
    background-color: #ffffff;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .toggle-btn .bar:nth-child(2) {
      width: 30px; }

#toggle:checked ~ nav {
  display: block;
  opacity: 1;
  position: fixed;
  top: calc(60px + 60px);
  right: 120px;
  background-color: rgba(0, 0, 0, 0.8);
  padding: 30px 60px; }
  #toggle:checked ~ nav ul.main-menu li {
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(1) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.1s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.1s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.1s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(2) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.2s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.2s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.2s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(3) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.3s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.3s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.3s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(4) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.4s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.4s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.4s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(5) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.5s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.5s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.5s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(6) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.6s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.6s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.6s; }
    #toggle:checked ~ nav ul.main-menu li:nth-child(7) {
      -webkit-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.7s;
      -o-transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.7s;
      transition: all 0.2s cubic-bezier(0.6, 0, 0.8, 1.5) 0.7s; }

#toggle:checked + label.toggle-btn .bar {
  background-color: #ffffff; }
  #toggle:checked + label.toggle-btn .bar:nth-child(2) {
    -webkit-transform: translateX(50px);
    -ms-transform: translateX(50px);
    transform: translateX(50px);
    opacity: 0; }
  #toggle:checked + label.toggle-btn .bar:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg); }
  #toggle:checked + label.toggle-btn .bar:nth-child(3) {
    -webkit-transform: translateY(-14px) rotate(-45deg);
    -ms-transform: translateY(-14px) rotate(-45deg);
    transform: translateY(-14px) rotate(-45deg); }

/* 3.4 CONTENT
-------------------------------------------------- */
/* Page Structure (Main)
-------------------------------------------------- */
main {
  position: relative;
  padding-top: 230px; }

body.cover-image-top main {
  margin-top: 100vh;
  padding-top: 4em; }

body.cover-image-top main.anmalan {
  margin-top: 0;
  padding-top: 54.6%; }

body.cover-image-right main {
  min-height: 100vh;
  padding-top: 0; }

/* Content Components
-------------------------------------------------- */
.social-icons .social-icon {
  width: 30px;
  height: 30px;
  text-align: center; }
  .social-icons .social-icon img {
    width: auto;
    max-height: 100%; }

table {
  width: 100%;
  margin-bottom: 2em; }
  table tbody {
    vertical-align: top; }
    table tbody tr:first-child th {
      padding-top: 0; }
    table tbody th {
      font-family: "HK Gothic Black", sans-serif;
      text-align: left;
      padding-bottom: .25em;
      padding-top: 1.25em;
      border-bottom: 1px solid #ffffff; }
    table tbody td {
      line-height: 1.42857; }
  table.week tr {
    display: block;
    width: 100%; }
    table.week tr td.day {
      width: 50%;
      font-family: "HK Gothic Black", sans-serif; }
    table.week tr td.times {
      width: 50%; }

/* 3.5 SECTIONS
-------------------------------------------------- */
main section {
  padding-top: 2em;
  padding-bottom: 3em; }
  main section:last-child {
    padding-bottom: 6em;
    margin-bottom: 0; }

section.grey {
  background-color: #4b4b4b;
  padding-bottom: 3em; }

/* Text & Image
-------------------------------------------------- */
body.cover-image-right section.text-image .grid {
  min-width: 1px; }

body.cover-image-right section.text-image p {
  @xtend .p-large; }

body.cover-image-right section.text-image.column-left, body.cover-image-right section.text-image.column-right {
  height: 100vh; }
  body.cover-image-right section.text-image.column-left .text,
  body.cover-image-right section.text-image.column-left .text:last-child, body.cover-image-right section.text-image.column-right .text,
  body.cover-image-right section.text-image.column-right .text:last-child {
    padding-right: 60px; }

body.cover-image-right section.text-image.column-left {
  padding-top: 230px; }

body.cover-image-right section.text-image.column-right {
  margin: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

/* Team
-------------------------------------------------- */
section.team .headline {
  margin-left: calc(33.333% - 20px); }

section.team .team-member {
  margin-bottom: 60px; }
  section.team .team-member .image {
    /*max-height: 450px;
    overflow: hidden;*/ }
    section.team .team-member .image img {
      width: 80%;
      height: auto; }

/* Schema
-------------------------------------------------- */
section.schema .courses {
  margin-top: 4em; }
  section.schema .courses .course {
    border-bottom: 1px solid #ffffff;
    padding-bottom: 1em;
    margin-bottom: 1em; }
  section.schema .courses .gamma, section.schema .courses .text h3, .text section.schema .courses h3 {
    margin-bottom: 0; }
  section.schema .courses [class*='col-'] [class*='col-']:last-child {
    padding-right: 60px; }

/* Gallery
-------------------------------------------------- */
section.gallery .gallery-image {
  overflow: hidden;
  height: 300px;
  padding-right: 0;
  cursor: pointer;
  background-position: center;
  background-size: cover;
}
section.gallery .gallery-image a {
  display: block;
  width:100%;
  height: 100%;
}
  section.gallery .gallery-image img {
    border: 1px solid #ffffff;
    min-width: 100%;
    min-height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
}

/* Intro text
-------------------------------------------------- */
section.intro p.p-large {
  display: inline; }

section.intro p.p-large small {
  font-size: .5em;
  font-family: "HK Gothic Reg", sans-serif; }

/* News
-------------------------------------------------- */
section.news {
  padding-bottom: 5em; }
  section.news .news-tile {
    margin-bottom: 2em; }
    section.news .news-tile .tile-text p {
      min-height: 230px;
      margin-bottom: 2em; }
  section.news .nav-arrow {
    text-align: right;
    font-size: 20em;
    line-height: 1; }
    section.news .nav-arrow a {
      opacity: .6; }
      section.news .nav-arrow a:hover {
        opacity: 1; }

.date {
  font-size: .8em;
  color: #9d9d9d;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 1em; }

/* Pictures
-------------------------------------------------- */
section.pictures {
  padding: 0;
  height: 600px;
  margin-bottom: 4em;
  overflow: hidden; }
  section.pictures [class*='col-'] {
    padding: 0;
    overflow: hidden; }
  section.pictures .image-wrapper {
    position: relative;
    height: 600px; }
  section.pictures img {
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain; }

/* HOMEPAGE
-------------------------------------------------- */
.homen section.intro .alpha, .homen section.intro .text h1, .text .homen section.intro h1, .homen section.intro header .cover-text h2, header .cover-text .homen section.intro h2 {
  display: inline;
  font-size: 1.7em;
  line-height: 1.4;
  font-family: "HK Gothic Bold", sans-serif; }

.homen section.pictures {
  margin-bottom: 0; }

/* KONTAKT
-------------------------------------------------- */
.kontakt .delta, .kontakt .text h4, .text .kontakt h4, .kontakt .checkboxes label.weekdayLabel, .checkboxes .kontakt label.weekdayLabel {
  margin-top: 3em; }


.newsball {
  width: 25%;
  border: 3px solid white;
  padding: 10px;
}
.hidden {
  opacity: 0;
}
.mnewsball:after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background: #FFF;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.mnewsball div {

  float: left;
  width: 100%;
  padding-top: 50%;
  line-height: 1em;
  margin-top: -0.5em;
  text-align: center;
  color: black;
}

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

html,
body {
  font-family: 'Montserrat', sans-serif;
  height: 100%;
}

.welcome {
  padding: 3rem 0 1rem;
  font-size: 700;
}

.container {
  max-width: 80vw;
  margin: 0 auto;
}

.details {
  padding: 1rem 1rem;
  background-color: rgba(241, 99, 52, 0.062);
  border-radius: .2rem;
  margin-bottom: .5rem;
  color: #F16334;
  border: 1px solid rgba(241, 99, 52, 0.082);
  line-height: 2;
}


.details a {
  color: #F16334;
  text-decoration: none;
}

/*  the styles applied above this line are optional and
*   are not directly related to *  the masonry lesson */

/* mason layout with pure css */
.masonry-bricks-container {
  padding: .4em 0;
  column-count: 4;
  column-gap: .5rem;
  margin-bottom: 3rem;
}

.masonry-bricks-container img,
.masonry-bricks-container div {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  border-radius: 4px;
  break-inside: avoid;
  margin-bottom: .4rem;
}

@media only screen and (max-width: 1100px) {
  .masonry-bricks-container {
    column-count: 3;
  }
}

@media only screen and (max-width: 750px) {
  .masonry-bricks-container {
    column-count: 2;
  }

  .container {
    max-width: 100%;
    padding: 0 .5rem;
  }
}