@charset "UTF-8";
/*
	HTML5 Reset :: style.css
    https://github.com/murtaugh/HTML5-Reset/blob/master/assets/css/reset.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:
	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com
-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

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

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box; }

*,
*:before,
*:after {
  box-sizing: inherit; }

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%; }

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:
#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll; }

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: separate;
  border-spacing: 0; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */ }

input[type="radio"] {
  vertical-align: text-bottom; }

input[type="checkbox"] {
  vertical-align: bottom; }

.ie7 input[type="checkbox"] {
  vertical-align: baseline; }

.ie6 input {
  vertical-align: text-bottom; }

select, input, textarea {
  font: 99% sans-serif; }

table {
  font-size: inherit;
  font: 100%; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

td, td img {
  vertical-align: top; }

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif; }

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer; }

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0; }

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible; }

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic; }

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

a {
  text-decoration: none; }

.kbpreview1234 {
  font-size: 18px;
  line-height: 32px;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  padding: 10px 30px 10px 20px;
  z-index: 1000000;
  width: auto;
  opacity: 0.25;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15); }
  @media (max-width: 980px) {
    .kbpreview1234 {
      font-size: 14px;
      line-height: 24px; } }
  .kbpreview1234:hover {
    background: rgba(0, 0, 0, 0.8);
    opacity: 1; }
    .kbpreview1234:hover > a {
      color: white; }
  .kbpreview1234 .kblinks1234 > a {
    display: block;
    text-decoration: none;
    color: #ccc; }
    .kbpreview1234 .kblinks1234 > a:hover {
      text-decoration: underline; }
    .kbpreview1234 .kblinks1234 > a.disabled {
      color: #666;
      cursor: inherit; }
      .kbpreview1234 .kblinks1234 > a.disabled:hover {
        text-decoration: none; }
  .kbpreview1234 .kblinks1234:not(.active) {
    display: none; }
  .kbpreview1234.closed {
    padding-left: 0;
    padding-right: 0;
    width: 10px; }
    .kbpreview1234.closed .kblinks1234 > a {
      width: 0;
      overflow: hidden; }
    .kbpreview1234.closed .kbnav1234 {
      width: 0;
      overflow: hidden; }
  .kbpreview1234 .kbfader1234 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 10px;
    cursor: pointer;
    background: rgba(0, 0, 0, 0.4); }
    .kbpreview1234 .kbfader1234:hover {
      background: rgba(0, 0, 0, 0.6); }
  .kbpreview1234 .kbnav1234 {
    padding-bottom: 10px; }
    .kbpreview1234 .kbnav1234 > div {
      display: inline-block;
      border: 1px #444 solid;
      background: #222;
      width: 40px;
      text-align: center;
      font-weight: bold;
      color: #ccc; }
      .kbpreview1234 .kbnav1234 > div:hover {
        color: #fff;
        background: #333;
        cursor: pointer; }
      .kbpreview1234 .kbnav1234 > div.active {
        background: #600; }
  .kbpreview1234 .check {
    color: #0a0;
    font-weight: bold; }
  .kbpreview1234 .kbsplit1234 {
    margin-top: 5px;
    padding-top: 3px;
    border-top: 2px rgba(255, 255, 255, 0.2) solid; }

.kbclickhighlight1234 {
  background-color: khaki;
  position: relative; }
  .kbclickhighlight1234::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.8);
    font-weight: bold;
    padding: 5px;
    color: black;
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
    border: 2px rgba(0, 0, 0, 0.8) solid;
    content: attr(title); }

/*
*[title]:hover {
    position: relative;
    &::after {
         z-index:            200000000;
         position:           absolute;
         top:                50%;
         left:               50%;
         transform:          translate(-50%, -50%);
         background-color:   rgba(255, 255, 255, 0.8);
         font-weight:        bold;
         padding:            5px;
         color:            black;
         font-size:          14px;
         line-height:        18px;
         text-transform:     uppercase;
         border:             2px rgba(0, 0, 0, 0.4) solid;
         content:            attr(title);
         pointer-events:     none;
    }
} */
:root {
  --link-arrow:                   url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.007 16.371"><path d="M6.11,3.585l.712-.712a.767.767,0,0,1,1.087,0l6.235,6.232a.767.767,0,0,1,0,1.087L7.91,16.428a.767.767,0,0,1-1.087,0l-.712-.712a.771.771,0,0,1,.013-1.1l3.865-3.682H.77a.768.768,0,0,1-.77-.77V9.138a.768.768,0,0,1,.77-.77H9.988L6.123,4.686A.765.765,0,0,1,6.11,3.585Z" fill="currentColor"/></svg>');
  --link-arrow-hover:             url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 35"><path d="M35,17.5A17.5,17.5,0,1,1,17.5,0,17.5,17.5,0,0,1,35,17.5ZM16.726,23.289a1.1,1.1,0,0,0,1.549,1.549l6.562-6.563a1.094,1.094,0,0,0,0-1.549l-6.562-6.562a1.1,1.1,0,1,0-1.549,1.549l4.7,4.694H10.937a1.094,1.094,0,1,0,0,2.188H21.422l-4.7,4.695Z" fill-rule="evenodd" fill="currentColor" /></svg>');
  --link-hyperlinkable:           url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 16 16"><path d="M4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"></path></svg>');
  --link-hyperlinkable-hover:     url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-arrow-right-circle-fill" viewBox="0 0 16 16"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"></path></svg>');
  --dropdown-arrow:               url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13.503 23.616"><path d="M20.679,18,11.742,9.07a1.681,1.681,0,0,1,0-2.384,1.7,1.7,0,0,1,2.391,0L24.258,16.8a1.685,1.685,0,0,1,.049,2.327L14.14,29.32a1.688,1.688,0,0,1-2.391-2.384Z" transform="translate(-11.246 -6.196)" fill="rgba(230,66,25)"/></svg>'); }

html, body {
  scroll-behavior: smooth;
  scroll-padding-top: 360px;
  font-size: 0.85em; }
  @media (max-width: 980px) {
    html, body {
      scroll-padding-top: 145px; } }
  @media (max-width: 480px) {
    html, body {
      scroll-padding-top: 145px; } }

body {
  display: flex;
  flex-direction: column; }
  body.menu-open, body.modal-popup {
    overflow: hidden; }

main, header, footer, .banner, .kbcookie-outer, .welcome {
  font-family: "Josefin Sans";
  font-size: 22px;
  line-height: 30px;
  color: #000000; }
  @media (max-width: 980px) {
    main, header, footer, .banner, .kbcookie-outer, .welcome {
      font-size: 16px; } }
  @media (max-width: 480px) {
    main, header, footer, .banner, .kbcookie-outer, .welcome {
      font-size: 16px; } }
  @media (max-width: 980px) {
    main, header, footer, .banner, .kbcookie-outer, .welcome {
      line-height: 21px; } }
  @media (max-width: 480px) {
    main, header, footer, .banner, .kbcookie-outer, .welcome {
      line-height: 21px; } }

main {
  display: flex;
  flex-direction: column; }
  main section + section {
    margin-top: 50px; }
    @media (max-width: 980px) {
      main section + section {
        margin-top: 30px; } }
    @media (max-width: 480px) {
      main section + section {
        margin-top: 30px; } }
  main section + section.team-list, main section + section.events-list, main section + section#events-list, main section + section.alternating-list, main section.collapse-first + section {
    margin-top: 0; }
  main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
    content: '';
    display: block;
    width: 100%;
    max-width: 1506px;
    height: 4px;
    margin: 0 auto;
    background: #013459;
    max-width: 1506px;
    border-left: 80px #ffffff solid;
    border-right: 80px #ffffff solid;
    padding: 0 80px;
    margin-bottom: 50px; }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        height: 2px; } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        height: 2px; } }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        max-width: calc(100% - 60px); } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        max-width: calc(100% - 60px); } }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        border-left: none; } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        border-left: none; } }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        border-right: none; } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        border-right: none; } }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        padding: 0 60px; } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        padding: 0 60px; } }
    @media (max-width: 980px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        margin-bottom: 30px; } }
    @media (max-width: 480px) {
      main section:not(.collapse):not(.alternating-list):not(.collapse-first) + section:not(.collapse):not(.alternating-list)::before {
        margin-bottom: 30px; } }
  main section:last-child:not(.events-list):not(.media-list) {
    padding-bottom: 50px; }
    @media (max-width: 980px) {
      main section:last-child:not(.events-list):not(.media-list) {
        padding-bottom: 30px; } }
    @media (max-width: 480px) {
      main section:last-child:not(.events-list):not(.media-list) {
        padding-bottom: 30px; } }
    main section:last-child:not(.events-list):not(.media-list)::after {
      content: '';
      display: block;
      width: 100%;
      max-width: 1506px;
      max-width: 1346px;
      margin: 0 auto;
      height: 4px;
      background: #000000;
      padding: 0 50px;
      margin-top: 50px; }
      @media (max-width: 980px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          max-width: calc(100% - 60px); } }
      @media (max-width: 480px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          max-width: calc(100% - 60px); } }
      @media (max-width: 980px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          height: 2px; } }
      @media (max-width: 480px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          height: 2px; } }
      @media (max-width: 980px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          padding: 0 60px; } }
      @media (max-width: 480px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          padding: 0 60px; } }
      @media (max-width: 980px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        main section:last-child:not(.events-list):not(.media-list)::after {
          margin-top: 30px; } }
  main section:first-child {
    padding-top: 50px; }
    @media (max-width: 980px) {
      main section:first-child {
        padding-top: 30px; } }
    @media (max-width: 480px) {
      main section:first-child {
        padding-top: 30px; } }
  main section.collapse {
    padding: 50px 0; }
    @media (max-width: 980px) {
      main section.collapse {
        padding: 30px 0; } }
    @media (max-width: 480px) {
      main section.collapse {
        padding: 30px 0; } }
  main section.gray {
    background: #cfcee2; }
  main section.blue {
    background: #013459;
    color: #ffffff; }
  main section.purple {
    background: #EAD6E4; }
  main section.team-list:nth-child(even) {
    background: #e0edf3; }
  main section.events-list:nth-child(even) {
    background: #e0edf3; }
  main section.media-list:first-child {
    margin-top: 50px;
    background: #e6e6e6; }
    @media (max-width: 980px) {
      main section.media-list:first-child {
        margin-top: 30px; } }
    @media (max-width: 480px) {
      main section.media-list:first-child {
        margin-top: 30px; } }
  main section.collapse-separator {
    border-top: none !important;
    padding-top: 0 !important; }
    main section.collapse-separator + section.collapse-separator {
      margin-top: 0 !important; }
  main section.alternating-list {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    --bgcol:    $white;
    /*
        &.collapse-list > *  {
            @include    rv(padding, 0, $v-spacing-m 0);             
        }*/ }
    @media (max-width: 980px) {
      main section.alternating-list {
        flex-direction: column; } }
    @media (max-width: 480px) {
      main section.alternating-list {
        flex-direction: column; } }
    main section.alternating-list > * {
      width: 50%;
      display: flex;
      padding: 50px 0; }
      @media (max-width: 980px) {
        main section.alternating-list > * {
          width: 100%; } }
      @media (max-width: 480px) {
        main section.alternating-list > * {
          width: 100%; } }
      main section.alternating-list > *.spacer {
        display: block; }
        @media (max-width: 980px) {
          main section.alternating-list > *.spacer {
            display: none; } }
        @media (max-width: 480px) {
          main section.alternating-list > *.spacer {
            display: none; } }
      @media (max-width: 980px) {
        main section.alternating-list > * {
          padding: 30px 0; } }
      @media (max-width: 480px) {
        main section.alternating-list > * {
          padding: 30px 0; } }
      main section.alternating-list > * > * {
        width: 100%;
        max-width: 713px; }
        @media (max-width: 980px) {
          main section.alternating-list > * > * {
            max-width: 100%; } }
        @media (max-width: 480px) {
          main section.alternating-list > * > * {
            max-width: 100%; } }
    main section.alternating-list.list-item-1:not(:nth-child(2n+1)) > * {
      padding-top: 0; }
      @media (max-width: 980px) {
        main section.alternating-list.list-item-1:not(:nth-child(2n+1)) > * {
          padding-top: 30px; } }
      @media (max-width: 480px) {
        main section.alternating-list.list-item-1:not(:nth-child(2n+1)) > * {
          padding-top: 30px; } }
    main section.alternating-list.single-row > * {
      padding-bottom: 0; }
      @media (max-width: 980px) {
        main section.alternating-list.single-row > * {
          padding-bottom: 30px; } }
      @media (max-width: 480px) {
        main section.alternating-list.single-row > * {
          padding-bottom: 30px; } }
    main section.alternating-list > *:nth-child(1) {
      background-color: var(--bgcol); }
      @media (max-width: 980px) {
        main section.alternating-list > *:nth-child(1) {
          background-color: #ffffff; } }
      @media (max-width: 480px) {
        main section.alternating-list > *:nth-child(1) {
          background-color: #ffffff; } }
      main section.alternating-list > *:nth-child(1) > * {
        margin-left: auto;
        margin-right: 40px;
        padding-left: 80px;
        padding-right: 0; }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(1) > * {
            margin-right: 0; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(1) > * {
            margin-right: 0; } }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(1) > * {
            padding-left: 30px; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(1) > * {
            padding-left: 30px; } }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(1) > * {
            padding-right: 30px; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(1) > * {
            padding-right: 30px; } }
    main section.alternating-list > *:nth-child(2) {
      background-color: var(--bgcol); }
      @media (max-width: 980px) {
        main section.alternating-list > *:nth-child(2) {
          background-color: #e0edf3; } }
      @media (max-width: 480px) {
        main section.alternating-list > *:nth-child(2) {
          background-color: #e0edf3; } }
      main section.alternating-list > *:nth-child(2) > * {
        margin-right: auto;
        margin-left: 40px;
        padding-right: 80px;
        padding-left: 0; }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(2) > * {
            margin-left: 0; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(2) > * {
            margin-left: 0; } }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(2) > * {
            padding-right: 30px; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(2) > * {
            padding-right: 30px; } }
        @media (max-width: 980px) {
          main section.alternating-list > *:nth-child(2) > * {
            padding-left: 30px; } }
        @media (max-width: 480px) {
          main section.alternating-list > *:nth-child(2) > * {
            padding-left: 30px; } }
  main section.alternating-list:nth-child(odd) {
    --bgcol:    #e0edf3; }
  main section.alternating-list.b {
    --bgcol:    #e0edf3; }
  main section.alternating-list.b:nth-child(odd) {
    --bgcol:    $white; }
  main section.partners, main section.event {
    margin-top: 0; }
  main .section-title, main h1 {
    font: normal normal bold 3.125rem/3.625rem "Josefin Sans";
    letter-spacing: 1px;
    margin-bottom: 37.5px; }
    @media (max-width: 980px) {
      main .section-title, main h1 {
        font: normal normal bold 1.5625rem/1.8125rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      main .section-title, main h1 {
        font: normal normal bold 1.5625rem/1.8125rem "Josefin Sans"; } }
    @media (max-width: 980px) {
      main .section-title, main h1 {
        letter-spacing: 0.5px; } }
    @media (max-width: 480px) {
      main .section-title, main h1 {
        letter-spacing: 0.5px; } }
    @media (max-width: 980px) {
      main .section-title, main h1 {
        margin-bottom: 22.5px; } }
    @media (max-width: 480px) {
      main .section-title, main h1 {
        margin-bottom: 22.5px; } }
  main .section-title + .section-subtitle {
    margin-top: -37.5px;
    margin-bottom: 37.5px;
    padding-top: 1em; }
    @media (max-width: 980px) {
      main .section-title + .section-subtitle {
        margin-top: -22.5px; } }
    @media (max-width: 480px) {
      main .section-title + .section-subtitle {
        margin-top: -22.5px; } }
    @media (max-width: 980px) {
      main .section-title + .section-subtitle {
        margin-bottom: 22.5px; } }
    @media (max-width: 480px) {
      main .section-title + .section-subtitle {
        margin-bottom: 22.5px; } }
  main .section-subtitle.event-data {
    display: flex;
    flex-wrap: wrap; }
    main .section-subtitle.event-data > *:nth-child(odd) {
      font-weight: bold;
      width: 5em; }
    main .section-subtitle.event-data > *:nth-child(even) {
      width: calc(100% - 5em); }
  main .element-title, main h2 {
    font: normal normal bold 2.1875rem/2.5rem "Josefin Sans";
    margin-bottom: 16.66667px;
    margin-top: 8.33333px; }
    @media (max-width: 980px) {
      main .element-title, main h2 {
        font: normal normal bold 1.25rem/1.4375rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      main .element-title, main h2 {
        font: normal normal bold 1.25rem/1.4375rem "Josefin Sans"; } }
    @media (max-width: 980px) {
      main .element-title, main h2 {
        margin-bottom: 10px; } }
    @media (max-width: 480px) {
      main .element-title, main h2 {
        margin-bottom: 10px; } }
    @media (max-width: 980px) {
      main .element-title, main h2 {
        margin-top: 5px; } }
    @media (max-width: 480px) {
      main .element-title, main h2 {
        margin-top: 5px; } }
  main h3 {
    font-weight: bold;
    margin-bottom: 0.2em; }
  main p + p {
    margin-top: 1em;
    margin-bottom: 0; }
  main p + .section-title, main p + h1 {
    margin-top: 3em; }
  main p + h2 {
    margin-top: 2.5em; }
  main p + h3 {
    margin-top: 1.5em; }
  main p + h4, main h4 + p {
    margin-top: 1em;
    margin-bottom: 1em; }

.frame {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1506px;
  margin: 0 auto;
  padding: 0 80px; }
  @media (max-width: 980px) {
    .frame {
      padding: 0 30px; } }
  @media (max-width: 480px) {
    .frame {
      padding: 0 30px; } }
  .frame.collapse {
    padding: 0; }

.plain-text {
  font: normal normal normal 1.5625rem/1.875rem Source Sans Pro;
  color: #707070;
  text-align: left; }
  @media (max-width: 980px) {
    .plain-text {
      font: normal normal normal 1rem/1.1875rem Source Sans Pro; } }
  @media (max-width: 480px) {
    .plain-text {
      font: normal normal normal 1rem/1.1875rem Source Sans Pro; } }
  .plain-text .text-headline {
    font: normal normal normal 1.875rem/2.8125rem Source Sans Pro;
    font-weight: bold; }
    @media (max-width: 980px) {
      .plain-text .text-headline {
        font: normal normal normal 1.1875rem/1.8125rem Source Sans Pro; } }
    @media (max-width: 480px) {
      .plain-text .text-headline {
        font: normal normal normal 1.1875rem/1.8125rem Source Sans Pro; } }
  .plain-text p {
    margin-bottom: 0 !important; }
  .plain-text p + p, .plain-text .text-headline + p, .plain-text p + ul, .plain-text ul + p, .plain-text p + ol, .plain-text ol + p {
    margin-top: 1em !important; }
  .plain-text p + .text-headline, .plain-text ul + .text-headline, .plain-text ol + .text-headline {
    margin-top: 2em !important; }
  .plain-text .text-headline + .footer-icons {
    margin-top: 2em; }
    @media (max-width: 980px) {
      .plain-text .text-headline + .footer-icons {
        margin-top: 2em; } }
    @media (max-width: 480px) {
      .plain-text .text-headline + .footer-icons {
        margin-top: 2em; } }
  .plain-text ul li {
    position: relative;
    padding-left: 1em; }
    .plain-text ul li:before {
      content: '•';
      position: absolute;
      left: 0; }
  .plain-text ul li + li {
    margin-top: 15px; }
    @media (max-width: 980px) {
      .plain-text ul li + li {
        margin-top: 8px; } }
    @media (max-width: 480px) {
      .plain-text ul li + li {
        margin-top: 8px; } }
  .plain-text ol {
    counter-reset: list-counter;
    list-style: none; }
    .plain-text ol li {
      position: relative;
      padding-left: 1.5em;
      counter-increment: list-counter; }
      .plain-text ol li:before {
        content: counter(list-counter) ".";
        position: absolute;
        left: 0; }
    .plain-text ol li + li {
      margin-top: 15px; }
      @media (max-width: 980px) {
        .plain-text ol li + li {
          margin-top: 8px; } }
      @media (max-width: 480px) {
        .plain-text ol li + li {
          margin-top: 8px; } }

.hyperlinkable, .hyperlinkable p {
  /*
    a[href^="http:"], a.extern   {
        &:before    {
            content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.865 22.991"><path d="M25.865,1.078V6.825a1.078,1.078,0,0,1-1.84.762l-1.6-1.6L11.487,16.919a1.078,1.078,0,0,1-1.524,0L8.946,15.9a1.078,1.078,0,0,1,0-1.524L19.882,3.443l-1.6-1.6A1.079,1.079,0,0,1,19.041,0h5.747A1.078,1.078,0,0,1,25.865,1.078ZM18.278,12.16l-.718.718a1.078,1.078,0,0,0-.316.762v6.477H2.874V5.748H14.729a1.078,1.078,0,0,0,.762-.316l.719-.719a1.078,1.078,0,0,0-.762-1.84H2.155A2.155,2.155,0,0,0,0,5.029V20.836a2.155,2.155,0,0,0,2.155,2.155H17.962a2.155,2.155,0,0,0,2.155-2.155V12.922A1.078,1.078,0,0,0,18.278,12.16Z" fill="rgba(145,8,8,0.89)"/></svg>');
        }
    } */ }
  .hyperlinkable a, .hyperlinkable p a {
    color: #000000;
    font-style: italic;
    vertical-align: baseline; }
    .is-safari .hyperlinkable a, .is-safari .hyperlinkable p a {
      vertical-align: middle !important; }
    .hyperlinkable a:before, .hyperlinkable p a:before {
      width: 1em;
      display: inline-block;
      margin-right: 0.3em; }
      @media (max-width: 980px) {
        .hyperlinkable a:before, .hyperlinkable p a:before {
          width: 1em; } }
      @media (max-width: 480px) {
        .hyperlinkable a:before, .hyperlinkable p a:before {
          width: 1em; } }
      .hyperlinkable a:before svg, .hyperlinkable p a:before svg {
        color: #000000; }
    .hyperlinkable a:before, .hyperlinkable p a:before {
      fill: #707070;
      content: var(--link-hyperlinkable);
      transform: translateY(4px) scale(1.4); }
      @media (max-width: 980px) {
        .hyperlinkable a:before, .hyperlinkable p a:before {
          transform: translateY(3px) scale(1.4); } }
      @media (max-width: 480px) {
        .hyperlinkable a:before, .hyperlinkable p a:before {
          transform: translateY(3px) scale(1.4); } }
    .hyperlinkable a:hover:before, .hyperlinkable p a:hover:before {
      content: var(--link-hyperlinkable-hover);
      transform: translateY(2px) scale(1); }

.large-list {
  font: normal normal normal 1.5625rem/2.1875rem "Josefin Sans";
  margin-bottom: 80px;
  color: #707070;
  list-style: none;
  counter-reset: large-list-counter; }
  @media (max-width: 980px) {
    .large-list {
      font: normal normal normal 1rem/1.1875rem "Josefin Sans"; } }
  @media (max-width: 480px) {
    .large-list {
      font: normal normal normal 1rem/1.1875rem "Josefin Sans"; } }
  @media (max-width: 980px) {
    .large-list {
      margin-bottom: 60px; } }
  @media (max-width: 480px) {
    .large-list {
      margin-bottom: 60px; } }
  .large-list li {
    padding-left: 4em;
    counter-increment: large-list-counter;
    position: relative; }
    @media (max-width: 980px) {
      .large-list li {
        padding-left: 2em; } }
    @media (max-width: 480px) {
      .large-list li {
        padding-left: 2em; } }
    .large-list li:not(last-child) {
      margin-top: 40px; }
      @media (max-width: 980px) {
        .large-list li:not(last-child) {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        .large-list li:not(last-child) {
          margin-top: 30px; } }
    .large-list li:before {
      position: absolute;
      left: 0;
      content: counter(large-list-counter) ".";
      color: #000000;
      font: normal normal normal 2.8125rem/3.4375rem "Josefin Sans";
      letter-spacing: 0.9px; }
      @media (max-width: 980px) {
        .large-list li:before {
          font: normal normal normal 1.5625rem/1.875rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        .large-list li:before {
          font: normal normal normal 1.5625rem/1.875rem "Josefin Sans"; } }
      @media (max-width: 980px) {
        .large-list li:before {
          letter-spacing: 0.5px; } }
      @media (max-width: 480px) {
        .large-list li:before {
          letter-spacing: 0.5px; } }

.events-frame {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -15px; }
  .events-frame > *:nth-child(1), .events-frame > *:nth-child(2) {
    font: normal normal normal 1.375rem/1.875rem "Josefin Sans"; }
    @media (max-width: 980px) {
      .events-frame > *:nth-child(1), .events-frame > *:nth-child(2) {
        font: normal normal normal 1rem/1.25rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      .events-frame > *:nth-child(1), .events-frame > *:nth-child(2) {
        font: normal normal normal 1rem/1.25rem "Josefin Sans"; } }
  @media (max-width: 980px) {
    .events-frame {
      margin-bottom: -10px; } }
  @media (max-width: 480px) {
    .events-frame {
      margin-bottom: -10px; } }
  .events-frame > * {
    margin-bottom: 15px;
    width: calc(50% - 25px); }
    @media (max-width: 980px) {
      .events-frame > * {
        margin-bottom: 10px; } }
    @media (max-width: 480px) {
      .events-frame > * {
        margin-bottom: 10px; } }
    @media (max-width: 980px) {
      .events-frame > * {
        width: 100%; } }
    @media (max-width: 480px) {
      .events-frame > * {
        width: 100%; } }
    .events-frame > *:nth-child(3), .events-frame > *:nth-child(4) {
      font: normal normal bold 2.1875rem/2.5rem "Josefin Sans"; }
      @media (max-width: 980px) {
        .events-frame > *:nth-child(3), .events-frame > *:nth-child(4) {
          font: normal normal bold 1.25rem/1.4375rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        .events-frame > *:nth-child(3), .events-frame > *:nth-child(4) {
          font: normal normal bold 1.25rem/1.4375rem "Josefin Sans"; } }
    .events-frame > *:nth-child(2) {
      margin-top: 0; }
      @media (max-width: 980px) {
        .events-frame > *:nth-child(2) {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        .events-frame > *:nth-child(2) {
          margin-top: 30px; } }
    @media (max-width: 980px) {
      .events-frame > *:nth-child(2n+1) {
        order: 1; }
      .events-frame > *:nth-child(2n+0) {
        order: 2; } }

.ribbon-three {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 980px) {
    .ribbon-three {
      flex-wrap: wrap; } }
  @media (max-width: 480px) {
    .ribbon-three {
      flex-wrap: wrap; } }
  .ribbon-three > * {
    width: calc(33.33333% - 33.33333px); }
    @media (max-width: 980px) {
      .ribbon-three > * {
        width: 100%; } }
    @media (max-width: 480px) {
      .ribbon-three > * {
        width: 100%; } }
    .ribbon-three > *:not(:first-child) {
      margin-top: 0; }
      @media (max-width: 980px) {
        .ribbon-three > *:not(:first-child) {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        .ribbon-three > *:not(:first-child) {
          margin-top: 30px; } }
  @media (max-width: 980px) {
    .ribbon-three.bar-on-mobile > *:not(:last-child) {
      border-bottom: 2px #000000 solid;
      padding-bottom: 30px; } }
  .ribbon-three .title {
    font: normal normal bold 3.125rem/3.625rem "Josefin Sans";
    letter-spacing: 1px; }
    @media (max-width: 980px) {
      .ribbon-three .title {
        font: normal normal bold 2.5rem/2.8125rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      .ribbon-three .title {
        font: normal normal bold 2.5rem/2.8125rem "Josefin Sans"; } }
    @media (max-width: 980px) {
      .ribbon-three .title {
        letter-spacing: 0; } }
    @media (max-width: 480px) {
      .ribbon-three .title {
        letter-spacing: 0; } }

.ribbon-four {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 980px) {
    .ribbon-four {
      flex-wrap: wrap; } }
  @media (max-width: 480px) {
    .ribbon-four {
      flex-wrap: wrap; } }
  @media only screen and (min-width: 1400px) {
    .ribbon-four > * {
      width: calc(25% - 37.5px); } }
  @media only screen and (max-width: 1399px) {
    .ribbon-four > * {
      width: calc(50% - 5px); } }
  @media only screen and (min-width: 1400px) {
    .ribbon-four > *:not(:nth-child(1)):not(:nth-child(2)) {
      margin-top: 0; } }
  @media only screen and (max-width: 1399px) {
    .ribbon-four > *:not(:nth-child(1)):not(:nth-child(2)) {
      margin-top: 10px; } }
  @media (max-width: 980px) {
    .ribbon-four.bar-on-mobile > *:not(:last-child) {
      border-bottom: 2px #000000 solid;
      padding-bottom: 30px; } }
  .ribbon-four .title {
    font: normal normal bold 2.5rem/2.8125rem "Josefin Sans"; }
    @media (max-width: 980px) {
      .ribbon-four .title {
        font: normal normal bold 2rem/2.25rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      .ribbon-four .title {
        font: normal normal bold 1.125rem/1.3125rem "Josefin Sans"; } }

.ribbon-three .ribbon-item, .ribbon-four .ribbon-item {
  --bgcol:            #ccc;
  --txtcol:           #000;
  position: relative;
  color: var(--txtcol); }
  .ribbon-three .ribbon-item .spacer, .ribbon-four .ribbon-item .spacer {
    background-color: var(--bgcol);
    display: block;
    width: 100%; }
  .ribbon-three .ribbon-item .motive, .ribbon-four .ribbon-item .motive {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.25; }
  .ribbon-three .ribbon-item .title, .ribbon-four .ribbon-item .title {
    position: absolute;
    left: 0;
    right: 0;
    padding: 0 20px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    color: var(--txtcol);
    hyphens: auto; }
    @media (max-width: 980px) {
      .ribbon-three .ribbon-item .title, .ribbon-four .ribbon-item .title {
        padding: 0 15px; } }
    @media (max-width: 480px) {
      .ribbon-three .ribbon-item .title, .ribbon-four .ribbon-item .title {
        padding: 0 10px; } }

.ribbon-three a.ribbon-item .spacer, .ribbon-three a.ribbon-item .motive, .ribbon-four a.ribbon-item .spacer, .ribbon-four a.ribbon-item .motive {
  transition: transform 250ms ease-out; }

body.no-touch .ribbon-three a.ribbon-item:hover .spacer, body.no-touch .ribbon-three a.ribbon-item:hover .motive, body.no-touch .ribbon-four a.ribbon-item:hover .spacer, body.no-touch .ribbon-four a.ribbon-item:hover .motive {
  transform: scale(1.05); }

.col1 {
  width: 100%;
  max-width: 1074px;
  margin-left: auto;
  margin-right: auto; }
  .col1 > * + * {
    margin-top: 1em; }

.col2, .col2-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 980px) {
    .col2, .col2-list {
      flex-wrap: wrap; } }
  @media (max-width: 480px) {
    .col2, .col2-list {
      flex-wrap: wrap; } }
  .col2 > *, .col2-list > * {
    width: calc(50% - 25px); }
    @media (max-width: 980px) {
      .col2 > *, .col2-list > * {
        width: 100%; } }
    @media (max-width: 480px) {
      .col2 > *, .col2-list > * {
        width: 100%; } }
    .col2 > *:not(:first-child), .col2-list > *:not(:first-child) {
      margin-top: 0; }
      @media (max-width: 980px) {
        .col2 > *:not(:first-child), .col2-list > *:not(:first-child) {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        .col2 > *:not(:first-child), .col2-list > *:not(:first-child) {
          margin-top: 30px; } }
  @media (max-width: 980px) {
    .col2.bar-on-mobile > *:not(:last-child), .col2-list.bar-on-mobile > *:not(:last-child) {
      border-bottom: 2px #000000 solid;
      padding-bottom: 30px; } }

.col2-list ul li:not(:first-child) {
  margin-top: 1em; }
  @media (max-width: 980px) {
    .col2-list ul li:not(:first-child) {
      margin-top: 2em; } }
  @media (max-width: 480px) {
    .col2-list ul li:not(:first-child) {
      margin-top: 2em; } }

.col3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (max-width: 980px) {
    .col3 {
      flex-wrap: wrap; } }
  @media (max-width: 480px) {
    .col3 {
      flex-wrap: wrap; } }
  .col3 > * {
    width: calc(33.33333% - 33.33333px); }
    @media (max-width: 980px) {
      .col3 > * {
        width: 100%; } }
    @media (max-width: 480px) {
      .col3 > * {
        width: 100%; } }
    .col3 > *:not(:first-child) {
      margin-top: 0; }
      @media (max-width: 980px) {
        .col3 > *:not(:first-child) {
          margin-top: 30px; } }
      @media (max-width: 480px) {
        .col3 > *:not(:first-child) {
          margin-top: 30px; } }
  @media (max-width: 980px) {
    .col3.bar-on-mobile > *:not(:last-child) {
      border-bottom: 2px #000000 solid;
      padding-bottom: 30px; } }

.col2 > * > * + *, .col3 > * > * + * {
  margin-top: 20px; }

.col2 .element-text > h1:first-child, .col2 .element-text h2:first-child, .col2 .element-text h3:first-child, .col2 .element-text h4:first-child, .col3 .element-text > h1:first-child, .col3 .element-text h2:first-child, .col3 .element-text h3:first-child, .col3 .element-text h4:first-child {
  margin-top: 0; }

.vertical-dots {
  font-size: 1.4em; }

header {
  height: 140px;
  background: rgba(255, 255, 255, 0.9);
  color: #ffffff;
  position: fixed;
  width: 100%;
  z-index: 1000;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 8px; }
  @media (max-width: 980px) {
    header {
      height: 75px; } }
  @media (max-width: 480px) {
    header {
      height: 75px; } }
  header .frame {
    padding-top: 0;
    padding-bottom: 0; }
  header .logo {
    display: block;
    height: 60%; }
    header .logo img {
      height: 100%;
      width: auto;
      transition: transform 375ms ease-out; }
      header .logo img:hover {
        transform: scale(1.05); }
  @media (max-width: 980px) {
    header {
      box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; } }
  header .frame {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
  header .search-bar {
    margin-right: 128px; }
    @media (max-width: 980px) {
      header .search-bar {
        margin-right: 96px; } }
    @media (max-width: 480px) {
      header .search-bar {
        margin-right: 96px; } }
  header .burger {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    right: 80px;
    width: 56px;
    height: 21px;
    transition: fill 100ms ease-in, stroke 100ms ease-in; }
    @media (max-width: 980px) {
      header .burger {
        right: 10px; } }
    @media (max-width: 480px) {
      header .burger {
        right: 10px; } }
    header .burger .closed, header .burger .open {
      cursor: pointer; }
      header .burger .closed path, header .burger .open path {
        fill: #000000;
        stroke: #000000; }
    header .burger .closed {
      width: 46px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 1;
      transition: opacity 250ms ease-out, transform 250ms ease-out; }
      @media (max-width: 980px) {
        header .burger .closed {
          width: 36px; } }
      @media (max-width: 480px) {
        header .burger .closed {
          width: 36px; } }
    header .burger .open {
      width: 36px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 0;
      transition: opacity 250ms ease-out, transform 250ms ease-out; }
      @media (max-width: 980px) {
        header .burger .open {
          width: 26px; } }
      @media (max-width: 480px) {
        header .burger .open {
          width: 26px; } }
    header .burger.open > .closed {
      visibility: hidden;
      transform: translate(-50%, -50%) scaleX(-1); }
    header .burger:not(.open) > .open {
      transform: translate(-50%, -50%) scaleX(-1);
      visibility: hidden; }
    header .burger.open > .open {
      visibility: visible;
      opacity: 1;
      transform: translate(-50%, -50%) scaleX(1); }
    header .burger:not(.open) .closed {
      visibility: visible;
      opacity: 1; }

.main-menu {
  display: flex;
  position: fixed;
  justify-content: flex-end;
  top: 140px;
  z-index: 999;
  visibility: hidden;
  width: 100%;
  max-width: 1506px;
  padding: 0 80px;
  transform: translateX(-50%);
  left: 50%; }
  @media (max-width: 980px) {
    .main-menu {
      top: 75px; } }
  @media (max-width: 480px) {
    .main-menu {
      top: 75px; } }
  @media (max-width: 980px) {
    .main-menu {
      padding: 0 30px; } }
  @media (max-width: 480px) {
    .main-menu {
      padding: 0 30px; } }
  .main-menu .main-items, .main-menu .menu-item, .main-menu .menu-bottom-links {
    background-color: #ffffff; }
  .main-menu .menu-frame {
    display: flex;
    flex-direction: column;
    transition: max-height 250ms ease-out;
    background: #ffffff;
    box-shadow: 0px 3px 6px #00000029;
    overflow: scroll;
    overscroll-behavior: contain;
    width: 100%;
    max-height: 0; }
    @media (min-width: 981px) {
      .main-menu .menu-frame {
        max-width: 700px; } }
  .main-menu.open .menu-frame {
    visibility: visible;
    max-height: calc(100vh - 140px); }
    @media (max-width: 980px) {
      .main-menu.open .menu-frame {
        max-height: calc(100vh - 75px); } }
    @media (max-width: 480px) {
      .main-menu.open .menu-frame {
        max-height: calc(100vh - 75px); } }
  .main-menu .menu-item {
    font: normal normal bold 1.5625rem/1.875rem "Josefin Sans";
    letter-spacing: 0;
    text-align: left;
    color: #000000;
    opacity: 1;
    position: relative;
    transition: color 100ms ease-in;
    border-bottom: 2px #ffffff solid;
    font-weight: bold;
    cursor: pointer; }
    @media (max-width: 980px) {
      .main-menu .menu-item {
        font: normal normal bold 1.35rem/1.1875rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      .main-menu .menu-item {
        font: normal normal bold 1.35rem/1.1875rem "Josefin Sans"; } }
    .main-menu .menu-item .icon-lock {
      display: none; }
    .main-menu .menu-item:first-of-type {
      margin-top: 40px; }
      @media (max-width: 980px) {
        .main-menu .menu-item:first-of-type {
          margin-top: 20px; } }
      @media (max-width: 480px) {
        .main-menu .menu-item:first-of-type {
          margin-top: 20px; } }
    .main-menu .menu-item .menu-item-title {
      display: flex;
      padding: 5px 40px;
      font-weight: bold;
      color: #000000;
      justify-content: space-between; }
      @media (max-width: 980px) {
        .main-menu .menu-item .menu-item-title {
          padding: 5px 20px; } }
      @media (max-width: 480px) {
        .main-menu .menu-item .menu-item-title {
          padding: 5px 20px; } }
      .main-menu .menu-item .menu-item-title a.item {
        width: calc(100% - 3em);
        font-weight: bold;
        color: #000000; }
        .main-menu .menu-item .menu-item-title a.item:hover {
          text-decoration: underline; }
      .main-menu .menu-item .menu-item-title .svg-arrow-down {
        width: 1em;
        transition: transform 250ms ease-out; }
    .main-menu .menu-item .menu-subitems {
      --full-height:  1080px;
      font: normal normal normal 1.5625rem/1.875rem "Josefin Sans";
      background: #ffffff;
      top: 100%;
      display: flex;
      flex-direction: column;
      width: 100%;
      padding: 0 70px;
      transition: all 250ms ease-in;
      opacity: 0;
      max-height: 0;
      visibility: hidden;
      overflow: hidden;
      z-index: 5; }
      @media (max-width: 980px) {
        .main-menu .menu-item .menu-subitems {
          font: normal normal normal 1rem/1.1875rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        .main-menu .menu-item .menu-subitems {
          font: normal normal normal 1rem/1.1875rem "Josefin Sans"; } }
      @media (max-width: 980px) {
        .main-menu .menu-item .menu-subitems {
          padding: 0px 35px; } }
      @media (max-width: 480px) {
        .main-menu .menu-item .menu-subitems {
          padding: 0px 35px; } }
      .main-menu .menu-item .menu-subitems a {
        display: block;
        color: #000000; }
        .main-menu .menu-item .menu-subitems a:not(:last-child) {
          margin-bottom: 10px; }
        .main-menu .menu-item .menu-subitems a:last-child {
          margin-bottom: 5px; }
        .main-menu .menu-item .menu-subitems a:first-child {
          margin-top: 10px; }
        .main-menu .menu-item .menu-subitems a:hover {
          text-decoration: underline; }
    .main-menu .menu-item.expanded .menu-item-title svg {
      transform: rotate(90deg); }
    .main-menu .menu-item.expanded .menu-subitems {
      visibility: visible;
      opacity: 1;
      transition: all 250ms ease-out;
      max-height: none; }
  .main-menu .menu-bottom-links {
    padding: 40px; }
    @media (max-width: 980px) {
      .main-menu .menu-bottom-links {
        padding: 20px; } }
    @media (max-width: 480px) {
      .main-menu .menu-bottom-links {
        padding: 20px; } }
    .main-menu .menu-bottom-links a {
      font: normal normal bold 1.125rem/1.875rem "Josefin Sans";
      display: block;
      color: #000000;
      text-decoration: none; }
      @media (max-width: 980px) {
        .main-menu .menu-bottom-links a {
          font: normal normal bold 1rem/1.4875rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        .main-menu .menu-bottom-links a {
          font: normal normal bold 1rem/1.4875rem "Josefin Sans"; } }
      .main-menu .menu-bottom-links a:hover {
        text-decoration: underline; }

.side-menu {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1000;
  width: 72px;
  background: rgba(1, 52, 89, 0.9);
  box-shadow: 0px 3px 6px #00000029;
  border-top: 2px #fffa solid;
  border-bottom: 2px #fffa solid;
  border-left: 2px #fffa solid;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 11px 0; }
  @media (max-width: 980px) {
    .side-menu {
      display: none; } }
  .side-menu .side-menu-item {
    margin: 11px 0;
    position: relative;
    overflow: visible;
    width: 100%;
    display: flex;
    justify-content: center; }
    .side-menu .side-menu-item a {
      display: block; }
      .side-menu .side-menu-item a svg {
        color: #CBCBCB;
        width: 30px;
        height: auto;
        transition: color 250ms ease-in, transform 250ms ease-out; }
    .side-menu .side-menu-item .side-menu-item-hint {
      visibility: hidden;
      opacity: 0;
      position: absolute;
      top: 0;
      right: 100%;
      bottom: 0;
      white-space: nowrap;
      align-items: center;
      display: flex;
      font: normal normal normal 1.25rem/2.5rem "Josefin Sans";
      letter-spacing: 0px;
      color: #ffffff;
      padding: 0 15px 0 0;
      transition: opacity 250ms ease-in; }
      .side-menu .side-menu-item .side-menu-item-hint-text {
        margin: 5px 0;
        padding: 0 25px;
        background: #000000; }
    .side-menu .side-menu-item:hover .side-menu-item-hint {
      visibility: visible;
      opacity: 1; }
    .side-menu .side-menu-item:hover svg {
      transform: scale(1.2);
      color: #ffffff;
      /* color: $black; */ }

main, .banner, .welcome {
  margin-top: 140px; }
  @media (max-width: 980px) {
    main, .banner, .welcome {
      margin-top: 75px; } }
  @media (max-width: 480px) {
    main, .banner, .welcome {
      margin-top: 75px; } }

.header-slide {
  height: 140px; }
  @media (max-width: 980px) {
    .header-slide {
      height: 75px; } }
  @media (max-width: 480px) {
    .header-slide {
      height: 75px; } }

.banner + main, .welcome + main {
  margin-top: 0; }

@media (min-width: 981px) {
  .headline-break {
    display: none; } }

.search-bar {
  display: flex;
  align-items: center; }
  .search-bar svg {
    cursor: pointer;
    margin-left: 1em;
    height: 36px; }
    @media (max-width: 980px) {
      .search-bar svg {
        height: 30px; } }
    @media (max-width: 480px) {
      .search-bar svg {
        height: 30px; } }
  .search-bar input {
    font: normal normal normal 1.125rem/1.5625rem "Josefin Sans";
    padding: 0 10px;
    height: 36px; }
    @media (max-width: 980px) {
      .search-bar input {
        font: normal normal normal 1rem/1.375 "Josefin Sans"; } }
    @media (max-width: 480px) {
      .search-bar input {
        font: normal normal normal 1rem/1.375 "Josefin Sans"; } }
    @media (max-width: 980px) {
      .search-bar input {
        padding: 0 5px; } }
    @media (max-width: 480px) {
      .search-bar input {
        padding: 0 5px; } }
  @media (max-width: 980px) {
    header .search-bar {
      display: none; } }
  header .search-bar input {
    opacity: 0;
    visibility: hidden;
    transform: opacity 250ms ease-out;
    min-width: 290px; }
  header .search-bar.open input {
    opacity: 1;
    visibility: visible; }
  .main-menu .search-bar {
    margin-top: 20px;
    width: 100%;
    padding: 0 20px; }
    @media (min-width: 981px) {
      .main-menu .search-bar {
        display: none; } }
    .main-menu .search-bar input {
      flex: 1; }

.welcome {
  background: #013459;
  color: #ffffff;
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 2em 0; }
  .welcome .banner-link, .welcome .banner-element {
    height: 484px;
    display: block;
    width: 100%; }
    @media (max-width: 980px) {
      .welcome .banner-link, .welcome .banner-element {
        height: 144px; } }
    @media (max-width: 480px) {
      .welcome .banner-link, .welcome .banner-element {
        height: 144px; } }
  .welcome .frame {
    height: 100%;
    padding-top: 1em;
    padding-bottom: 1em;
    justify-content: center;
    position: relative;
    align-items: flex-start;
    z-index: 4; }
    .welcome .frame > * + *:not(.welcome-contact) {
      max-width: 70%;
      margin-top: 0.2em; }
      @media (max-width: 980px) {
        .welcome .frame > * + *:not(.welcome-contact) {
          max-width: 80%; } }
  .welcome .welcome-headline {
    font: normal normal bold 3.125rem/3.625rem "Josefin Sans"; }
  .welcome .welcome-subheadline {
    font: normal normal bold 2.0rem/2.3rem "Josefin Sans";
    margin: 0.2em 0 0 0; }
    @media (max-width: 980px) {
      .welcome .welcome-subheadline {
        margin: 0.5em 0 !important; } }
    @media (max-width: 480px) {
      .welcome .welcome-subheadline {
        margin: 0.5em 0 !important; } }
  .welcome .welcome-contact {
    margin: 1em 0;
    background: #ffffff;
    color: #013459;
    display: inline-block;
    vertical-align: center;
    justify-content: center;
    line-height: 1;
    padding: 0.6em 0.9em;
    border: 3px #ffffff solid;
    cursor: pointer;
    font-size: 0.8em; }
    .welcome .welcome-contact .welcome-hint {
      margin-top: 0.35em;
      font-size: 1.45em; }
    .welcome .welcome-contact:hover {
      background: #013459;
      color: #ffffff; }
  .welcome .welcome-text {
    border-left: 4px #ffffff solid;
    padding-left: 1em;
    font-size: 0.9em; }
    .welcome .welcome-text > div + div {
      margin-top: 0.75em; }
      @media (max-width: 980px) {
        .welcome .welcome-text > div + div {
          margin-top: 1em; } }
      @media (max-width: 480px) {
        .welcome .welcome-text > div + div {
          margin-top: 1em; } }
  .welcome .welcome-image {
    animation: welcomeAnimation 4s ease-out forwards;
    display: block;
    max-width: 60%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    margin: 0;
    opacity: 1; }

@keyframes welcomeAnimation {
  0% {
    opacity: 0;
    transform: scale(1.5) translateX(20%); }
  100% {
    opacity: 1;
    transform: scale(1) translateX(0);
    filter: grayscale(0); } }
    .welcome .welcome-image::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, #013459, rgba(1, 52, 89, 0)); }
      @media (max-width: 1100px) {
        .welcome .welcome-image::after {
          background: linear-gradient(90deg, #013459, rgba(1, 52, 89, 0.9), rgba(1, 52, 89, 0)); } }
    .welcome .welcome-image img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .welcome .welcome-blur {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #0000, #0000, #000a); }

.header-slide {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: #888;
  clip-path: polygon(0 0, 40% 0, 45% 100%, 0 100%);
  z-index: 2; }
  @media (max-width: 1100px) {
    .header-slide {
      clip-path: polygon(0 0, 60% 0, 65% 100%, 0 100%); } }
  @media (max-width: 980px) {
    .header-slide {
      display: none; } }

.banner {
  width: 100%;
  position: relative;
  height: 484px; }
  @media (max-width: 980px) {
    .banner {
      height: 144px; } }
  @media (max-width: 480px) {
    .banner {
      height: 144px; } }
  .banner .banner-link, .banner .banner-element {
    height: 484px;
    display: block;
    width: 100%; }
    @media (max-width: 980px) {
      .banner .banner-link, .banner .banner-element {
        height: 144px; } }
    @media (max-width: 480px) {
      .banner .banner-link, .banner .banner-element {
        height: 144px; } }
  .banner .banner-link {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5; }
  .banner .banner-element {
    object-fit: cover;
    z-index: 1; }
  .banner.is-slider {
    height: 595px; }
    @media (max-width: 980px) {
      .banner.is-slider {
        height: 280px; } }
    @media (max-width: 480px) {
      .banner.is-slider {
        height: 280px; } }
    .banner.is-slider .banner-element, .banner.is-slider .banner-link {
      height: 595px; }
      @media (max-width: 980px) {
        .banner.is-slider .banner-element, .banner.is-slider .banner-link {
          height: 280px; } }
      @media (max-width: 480px) {
        .banner.is-slider .banner-element, .banner.is-slider .banner-link {
          height: 280px; } }
    .banner.is-slider .slick-dots, .banner.is-slider .circle {
      z-index: 6 !important; }
  .banner .panel {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
    --bgcol:          white;
    --txtcol:           white;
    background-color: var(--bgcol); }
    .banner .panel .panel-frame {
      position: absolute;
      width: 100%;
      top: 45px;
      height: calc(100% - 115px);
      left: 50%;
      max-width: 1506px;
      transform: translateX(-50%);
      padding: 0 80px;
      color: var(--txtcol);
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      @media (max-width: 980px) {
        .banner .panel .panel-frame {
          top: 25px; } }
      @media (max-width: 480px) {
        .banner .panel .panel-frame {
          top: 25px; } }
      @media (max-width: 980px) {
        .banner .panel .panel-frame {
          height: calc(100% - 50px); } }
      @media (max-width: 480px) {
        .banner .panel .panel-frame {
          height: calc(100% - 50px); } }
      @media (max-width: 980px) {
        .banner .panel .panel-frame {
          padding: 0 30px; } }
      @media (max-width: 480px) {
        .banner .panel .panel-frame {
          padding: 0 30px; } }
      .banner .panel .panel-frame .panel-frame-title, .banner .panel .panel-frame .panel-frame-description, .banner .panel .panel-frame .panel-frame-subtitle {
        width: 100%;
        max-width: 50%; }
        @media (max-width: 980px) {
          .banner .panel .panel-frame .panel-frame-title, .banner .panel .panel-frame .panel-frame-description, .banner .panel .panel-frame .panel-frame-subtitle {
            max-width: calc(100% - 120px); } }
        @media (max-width: 480px) {
          .banner .panel .panel-frame .panel-frame-title, .banner .panel .panel-frame .panel-frame-description, .banner .panel .panel-frame .panel-frame-subtitle {
            max-width: calc(100% - 120px); } }
      .banner .panel .panel-frame .panel-frame-title {
        font: normal normal bold 7.5rem/8.625rem "Josefin Sans"; }
        @media (max-width: 980px) {
          .banner .panel .panel-frame .panel-frame-title {
            font: normal normal bold 3.125rem/3.625rem "Josefin Sans"; } }
        @media (max-width: 480px) {
          .banner .panel .panel-frame .panel-frame-title {
            font: normal normal bold 3.125rem/3.625rem "Josefin Sans"; } }
      .banner .panel .panel-frame .panel-frame-description {
        font: normal normal normal 2.5rem/3.4375rem "Josefin Sans"; }
        @media (max-width: 980px) {
          .banner .panel .panel-frame .panel-frame-description {
            font: normal normal normal 1rem/1.4375rem "Josefin Sans"; } }
        @media (max-width: 480px) {
          .banner .panel .panel-frame .panel-frame-description {
            font: normal normal normal 1rem/1.4375rem "Josefin Sans"; } }
      .banner .panel .panel-frame .panel-frame-subtitle {
        font: normal normal normal 6.25rem/6.25rem "Josefin Sans"; }
        @media (max-width: 980px) {
          .banner .panel .panel-frame .panel-frame-subtitle {
            font: normal normal normal 1.5625rem/1.875rem "Josefin Sans"; } }
        @media (max-width: 480px) {
          .banner .panel .panel-frame .panel-frame-subtitle {
            font: normal normal normal 1.5625rem/1.875rem "Josefin Sans"; } }
      .banner .panel .panel-frame .image-copyright {
        bottom: -40px; }
        @media (max-width: 980px) {
          .banner .panel .panel-frame .image-copyright {
            bottom: 5px; } }
        @media (max-width: 480px) {
          .banner .panel .panel-frame .image-copyright {
            bottom: 5px; } }
    .banner .panel .circle {
      --bgcol:    #FFEE00;
      --txtcol:   #000;
      z-index: 2;
      position: absolute;
      clip-path: circle(125px at center);
      width: 250px;
      height: 250px;
      top: 80px;
      right: 160px;
      transform: rotate(10deg) scale(1);
      transition: transform 250ms ease-out;
      background: var(--bgcol);
      padding: 20px;
      text-align: center;
      color: var(--txtcol);
      display: flex;
      align-items: center;
      justify-content: center;
      font: normal normal bold 1.5625rem/1.875rem "Josefin Sans"; }
      @media (max-width: 980px) {
        .banner .panel .circle {
          clip-path: circle(45px at center); } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          clip-path: circle(45px at center); } }
      @media (max-width: 980px) {
        .banner .panel .circle {
          width: 90px; } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          width: 90px; } }
      @media (max-width: 980px) {
        .banner .panel .circle {
          height: 90px; } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          height: 90px; } }
      @media (max-width: 980px) {
        .banner .panel .circle {
          top: 15px; } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          top: 15px; } }
      @media (max-width: 980px) {
        .banner .panel .circle {
          right: 15px; } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          right: 15px; } }
      @media (max-width: 980px) {
        .banner .panel .circle {
          font: normal normal bold 0.625rem/0.75rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        .banner .panel .circle {
          font: normal normal bold 0.625rem/0.75rem "Josefin Sans"; } }
      body.no-touch .banner .panel .circle:hover {
        transform: rotate(10deg) scale(1.05); }
      .banner .panel .circle.image {
        background: none !important; }
        .banner .panel .circle.image img {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          transform: translate(-50%, -50%);
          z-index: -10; }

footer {
  padding: 0 0 25px 0;
  margin-top: -25px; }
  @media (max-width: 980px) {
    footer {
      padding: 0 0 15px 0; } }
  @media (max-width: 480px) {
    footer {
      padding: 0 0 15px 0; } }
  @media (max-width: 980px) {
    footer {
      margin-top: -15px; } }
  @media (max-width: 480px) {
    footer {
      margin-top: -15px; } }
  footer .footer-frame {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (max-width: 980px) {
      footer .footer-frame {
        flex-wrap: wrap; } }
    @media (max-width: 480px) {
      footer .footer-frame {
        flex-wrap: wrap; } }
    footer .footer-frame > * {
      width: calc(50% - 25px); }
    @media (max-width: 980px) {
      footer .footer-frame.bar-on-mobile > *:not(:last-child) {
        border-bottom: 2px #000000 solid;
        padding-bottom: 30px; } }
    footer .footer-frame > *:nth-child(2n) {
      text-align: right; }
    footer .footer-frame > * a {
      font: normal normal bold 1.375rem/2.1875rem "Josefin Sans";
      display: block;
      color: #000000; }
      @media (max-width: 980px) {
        footer .footer-frame > * a {
          font: normal normal normal 1.125rem/1.333rem "Josefin Sans"; } }
      @media (max-width: 480px) {
        footer .footer-frame > * a {
          font: normal normal normal 1.125rem/1.333rem "Josefin Sans"; } }
      footer .footer-frame > * a:hover {
        text-decoration: underline; }

.video-frame {
  position: relative; }
  .video-frame::before {
    content: '';
    background: url("../images/play-video.png");
    background-position: center;
    background-size: 4em;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-repeat: no-repeat; }
  .video-frame .video-description {
    display: none; }
  .video-frame .video-placeholder {
    display: block;
    width: 100%; }
  .video-frame .video-agreement {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    font-size: 0.6em;
    line-height: 1.5;
    background: #000c;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 4em; }
    @media (max-width: 980px) {
      .video-frame .video-agreement {
        padding: 2em; } }
    @media (max-width: 480px) {
      .video-frame .video-agreement {
        padding: 2em; } }
    .video-frame .video-agreement .video-agreement-agb {
      text-decoration: underline;
      color: #ffffff; }
    .video-frame .video-agreement .video-agreement-text {
      color: #ffffff;
      text-align: justify;
      text-align-last: center; }
    .video-frame .video-agreement .video-agreement-button {
      display: inline-block;
      background: #ffffff;
      cursor: pointer;
      color: #000000;
      padding: 4px 12px;
      margin-top: 1.2em; }
      @media (max-width: 980px) {
        .video-frame .video-agreement .video-agreement-button {
          padding: 3px 10px; } }
      @media (max-width: 480px) {
        .video-frame .video-agreement .video-agreement-button {
          padding: 3px 10px; } }
      .video-frame .video-agreement .video-agreement-button:hover {
        background: #e6e6e6; }
  body.no-touch .video-frame .video-agreement {
    visibility: hidden;
    opacity: 0;
    transition: opacity 250ms ease-out; }
  body.no-touch .video-frame:hover .video-agreement {
    visibility: visible;
    opacity: 1; }

.video-overlay {
  font-family: "Josefin Sans";
  z-index: 20000;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000e;
  visibility: visible;
  opacity: 1;
  transition: opacity 250ms ease-out;
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow-x: hidden;
  overscroll-behavior: none; }
  .video-overlay:not(.open) {
    visibility: hidden;
    opacity: 0; }
  .video-overlay .video-overlay-container {
    display: flex;
    padding: 5%;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column; }
    @media (max-width: 1100px) {
      .video-overlay .video-overlay-container {
        padding: calc(5% + 40px) 5% 5% 5%; } }
    .video-overlay .video-overlay-container .video-overlay-iframe-container {
      position: relative; }
      .video-overlay .video-overlay-container .video-overlay-iframe-container .video-overlay-iframe-container-scaler {
        display: block;
        width: 100%; }
      .video-overlay .video-overlay-container .video-overlay-iframe-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        outline: none;
        border: none; }
    .video-overlay .video-overlay-container .video-overlay-description {
      color: white;
      margin-top: 1em;
      line-height: 1.5; }
      @media (max-width: 1100px) {
        .video-overlay .video-overlay-container .video-overlay-description {
          font-size: 0.8em; } }
    .video-overlay .video-overlay-container .video-overlay-iframe-container, .video-overlay .video-overlay-container .video-overlay-description {
      width: 70%;
      margin-left: auto;
      margin-right: auto; }
      @media (max-width: 1100px) {
        .video-overlay .video-overlay-container .video-overlay-iframe-container, .video-overlay .video-overlay-container .video-overlay-description {
          width: 90%; } }
      @media (max-width: 480px) {
        .video-overlay .video-overlay-container .video-overlay-iframe-container, .video-overlay .video-overlay-container .video-overlay-description {
          width: 100%; } }
  .video-overlay .video-overlay-close {
    position: absolute;
    top: 2.5%;
    right: 2.5%;
    font-size: 2em;
    color: white;
    cursor: pointer; }
    @media (max-width: 1100px) {
      .video-overlay .video-overlay-close {
        top: 2.8%;
        right: 5.9%; } }
    .video-overlay .video-overlay-close:hover {
      color: #707070; }

.media-ribbon {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  .media-ribbon .media-item {
    box-shadow: rgba(0, 0, 0, 0) 0px 5px 15px;
    transition: box-shadow 250ms ease-out;
    cursor: pointer;
    background: #ffffff;
    border: 1px #c9c9c9 solid;
    margin-bottom: 2em;
    width: calc(100%/3 - 50px/3*2);
    color: #000000;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: stretch; }
    .media-ribbon .media-item .more-link::before {
      color: #c9c9c9 !important; }
    @media (max-width: 980px) {
      .media-ribbon .media-item {
        width: 100%; } }
    @media (max-width: 480px) {
      .media-ribbon .media-item {
        width: 100%; } }
    .media-ribbon .media-item:nth-child(3n+1), .media-ribbon .media-item:nth-child(3n+2) {
      margin-right: 50px; }
      @media (max-width: 980px) {
        .media-ribbon .media-item:nth-child(3n+1), .media-ribbon .media-item:nth-child(3n+2) {
          margin-right: 0; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item:nth-child(3n+1), .media-ribbon .media-item:nth-child(3n+2) {
          margin-right: 0; } }
    .media-ribbon .media-item-category {
      background: #c9c9c9;
      padding: 5px 30px; }
      @media (max-width: 980px) {
        .media-ribbon .media-item-category {
          padding: 5px 15px; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item-category {
          padding: 5px 15px; } }
    .media-ribbon .media-item-bottom {
      padding: 25px 30px;
      flex-grow: 1;
      display: flex;
      flex-direction: column;
      align-items: stretch; }
      @media (max-width: 980px) {
        .media-ribbon .media-item-bottom {
          padding: 10px 15px; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item-bottom {
          padding: 10px 15px; } }
    .media-ribbon .media-item-link {
      justify-self: flex-end;
      margin-top: auto;
      padding-top: 25px;
      font-size: 18px; }
      @media (max-width: 980px) {
        .media-ribbon .media-item-link {
          padding-top: 15px; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item-link {
          padding-top: 15px; } }
      @media (max-width: 980px) {
        .media-ribbon .media-item-link {
          font-size: 12px; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item-link {
          font-size: 12px; } }
    .media-ribbon .media-item h1 {
      font-size: 2.1875rem;
      line-height: 1.25; }
      @media (max-width: 980px) {
        .media-ribbon .media-item h1 {
          font-size: 0.86207; } }
      @media (max-width: 480px) {
        .media-ribbon .media-item h1 {
          font-size: 0.86207; } }
    .media-ribbon .media-item h3 {
      font-size: 0.85em;
      line-height: 1.25; }
    .media-ribbon .media-item-text {
      font-size: 0.85em;
      line-height: 1.25; }
  .media-ribbon .media-item-head {
    display: block;
    width: 100%;
    position: relative; }
  .media-ribbon .media-item-head.image-large h1,
  .media-ribbon .media-item-head.image-small h1,
  .media-ribbon .media-item-head.video h1,
  .media-ribbon .media-item-head.text-banner h1 {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--text-banner-color); }
  .media-ribbon .media-item-head.image-large .media-item-spacer,
  .media-ribbon .media-item-head.image-small .media-item-spacer,
  .media-ribbon .media-item-head.video .media-item-spacer,
  .media-ribbon .media-item-head.text-banner .media-item-spacer {
    display: block;
    width: 100%;
    height: auto; }
  .media-ribbon .media-item-head.image-large .media-item-image,
  .media-ribbon .media-item-head.image-small .media-item-image,
  .media-ribbon .media-item-head.video .media-item-image,
  .media-ribbon .media-item-head.text-banner .media-item-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .media-ribbon .media-item-head.image-large .media-item-play,
  .media-ribbon .media-item-head.image-small .media-item-play,
  .media-ribbon .media-item-head.video .media-item-play,
  .media-ribbon .media-item-head.text-banner .media-item-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 5em;
    z-index: 10;
    transition: transform 250ms ease-out; }
  .media-ribbon .media-item-head.image-small .media-item-image {
    object-fit: contain;
    left: 30px;
    width: auto;
    top: 25px;
    height: calc(100% - 25px); }
    @media (max-width: 980px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        left: 15px; } }
    @media (max-width: 480px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        left: 15px; } }
    @media (max-width: 980px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        top: 15px; } }
    @media (max-width: 480px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        top: 15px; } }
    @media (max-width: 980px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        height: calc(100% - 15px); } }
    @media (max-width: 480px) {
      .media-ribbon .media-item-head.image-small .media-item-image {
        height: calc(100% - 15px); } }
  .media-ribbon .media-item:hover {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 5px 15px; }
    .media-ribbon .media-item:hover .more-link::before {
      color: #000000; }
    .media-ribbon .media-item:hover .media-item-play {
      transform: translate(-50%, -50%) scale(1.1); }

.media-link {
  display: inline-flex;
  align-items: center;
  color: black; }
  .media-link > div:first-child {
    margin-right: 0.6em;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 250ms ease-out, color 250ms ease-out, transform 250ms ease-out;
    transform: scale(1); }
    .media-link > div:first-child svg {
      display: inline-block;
      transition: transform 250ms ease-out;
      transform: translateY(-1px); }
  .media-link > div:last-child {
    display: flex;
    align-items: center; }
  .media-link.circled > div:first-child {
    width: 1.5em;
    height: 1.5em;
    background: #c9c9c9;
    border-radius: 1.5em;
    color: #ffffff; }
    @media (max-width: 980px) {
      .media-link.circled > div:first-child {
        width: 1.5em; } }
    @media (max-width: 480px) {
      .media-link.circled > div:first-child {
        width: 1.5em; } }
    @media (max-width: 980px) {
      .media-link.circled > div:first-child {
        height: 1.5em; } }
    @media (max-width: 480px) {
      .media-link.circled > div:first-child {
        height: 1.5em; } }
    .media-link.circled > div:first-child svg {
      width: 0.75em;
      height: 0.75em; }
      @media (max-width: 980px) {
        .media-link.circled > div:first-child svg {
          width: 0.75em; } }
      @media (max-width: 480px) {
        .media-link.circled > div:first-child svg {
          width: 0.75em; } }
      @media (max-width: 980px) {
        .media-link.circled > div:first-child svg {
          height: 0.75em; } }
      @media (max-width: 480px) {
        .media-link.circled > div:first-child svg {
          height: 0.75em; } }
      .media-link.circled > div:first-child svg.audio-link {
        width: 1em;
        height: 1em; }
        @media (max-width: 980px) {
          .media-link.circled > div:first-child svg.audio-link {
            width: 1em; } }
        @media (max-width: 480px) {
          .media-link.circled > div:first-child svg.audio-link {
            width: 1em; } }
        @media (max-width: 980px) {
          .media-link.circled > div:first-child svg.audio-link {
            height: 1em; } }
        @media (max-width: 480px) {
          .media-link.circled > div:first-child svg.audio-link {
            height: 1em; } }
  .media-link:not(.circled) > div:first-child {
    width: 2em;
    height: 2em; }
    @media (max-width: 980px) {
      .media-link:not(.circled) > div:first-child {
        width: 2em; } }
    @media (max-width: 480px) {
      .media-link:not(.circled) > div:first-child {
        width: 2em; } }
    @media (max-width: 980px) {
      .media-link:not(.circled) > div:first-child {
        height: 2em; } }
    @media (max-width: 480px) {
      .media-link:not(.circled) > div:first-child {
        height: 2em; } }
    .media-link:not(.circled) > div:first-child svg {
      width: 1.25em;
      height: 1.25em; }
      @media (max-width: 980px) {
        .media-link:not(.circled) > div:first-child svg {
          width: 1.25em; } }
      @media (max-width: 480px) {
        .media-link:not(.circled) > div:first-child svg {
          width: 1.25em; } }
      @media (max-width: 980px) {
        .media-link:not(.circled) > div:first-child svg {
          height: 1.25em; } }
      @media (max-width: 480px) {
        .media-link:not(.circled) > div:first-child svg {
          height: 1.25em; } }
  .media-link:hover.circled > div:first-child {
    background-color: #000000; }
  .media-link:hover:not(.circled) > div:first-child {
    color: #000000; }
  .media-link:hover > div:first-child {
    transform: scale(1.15); }
  .media-link.load-more {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }
    .media-link.load-more svg path {
      transform: rotate(90deg) translate(1px, -2px);
      transform-origin: 50% 50%; }
    .media-link.load-more > div:last-child {
      margin-top: 0.35em; }

.events-filter {
  position: relative; }
  .events-filter .vertical-dots {
    display: flex;
    align-items: center; }
    .events-filter .vertical-dots svg {
      width: 0.6em; }
  .events-filter .mediathek-search-wrapper {
    position: relative;
    width: 100%; }
    @media (min-width: 981px) {
      .events-filter .mediathek-search-wrapper {
        max-width: 200px; } }
    .events-filter .mediathek-search-wrapper .selectize-control {
      width: 100%; }
    .events-filter .mediathek-search-wrapper .vertical-dots {
      color: #000000;
      position: absolute;
      top: 50%;
      right: 0.75em;
      transform: translateY(-50%);
      z-index: 5;
      pointer-events: none; }
    .events-filter .mediathek-search-wrapper input {
      appearance: none; }
    .events-filter .mediathek-search-wrapper .selectize-input::after {
      display: none !important; }
  .events-filter .selectize-control.multi .selectize-input [data-value] {
    border: none;
    background: #0056a4; }
  .events-filter .selectize-control.plugin-remove_button .item .remove {
    border-left: 1px solid rgba(112, 112, 112, 0.25); }
  .events-filter .selectize-dropdown-content > div {
    padding: 8px 8px 4px 8px; }
    .events-filter .selectize-dropdown-content > div:last-child {
      padding-bottom: 8px; }
  .events-filter .selectize-control.single .selectize-input {
    border: 1px #c9c9c9 solid;
    padding: 8px 8px;
    display: inline-block;
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: none;
    border-radius: 0;
    background: none;
    cursor: text;
    background: #c9c9c9;
    background: #ffffff;
    border-color: #707070; }
    .events-filter .selectize-control.single .selectize-input ::placeholder {
      opacity: 1;
      color: black; }
    .events-filter .selectize-control.single .selectize-input input {
      color: #000000; }
  .events-filter .selectize-control.multi .selectize-input [data-value] {
    text-shadow: none;
    box-shadow: none; }
  .events-filter .selectize-dropdown.single {
    color: #000000;
    border-color: #707070;
    border-top: none; }
  .events-filter .selectize-input .item {
    color: #000000; }

.mediathek-title h1 {
  color: #000000;
  text-decoration: none; }
  .mediathek-title h1:hover {
    text-decoration: underline; }

.contact-blocks {
  display: flex;
  flex-wrap: wrap; }
  .contact-blocks > div {
    margin-bottom: 1em; }
  .contact-blocks > div:nth-child(2n-1) {
    width: 200px;
    margin-bottom: 0.5em; }
    @media (max-width: 980px) {
      .contact-blocks > div:nth-child(2n-1) {
        width: 100%; } }
    @media (max-width: 480px) {
      .contact-blocks > div:nth-child(2n-1) {
        width: 100%; } }
  .contact-blocks > div:nth-child(2n+0) {
    width: calc(100% - 200px); }
    @media (max-width: 980px) {
      .contact-blocks > div:nth-child(2n+0) {
        width: 100%; } }
    @media (max-width: 480px) {
      .contact-blocks > div:nth-child(2n+0) {
        width: 100%; } }
  .contact-blocks *.required {
    font-weight: bold; }
    .contact-blocks *.required::after {
      content: ' *';
      color: #4C495C;
      font-weight: bold;
      vertical-align: top; }
  .contact-blocks .comment {
    display: block;
    font-size: 0.75em; }

.contact-checkboxes {
  margin: 2em 0; }
  .contact-checkboxes > *:not(:last-child) {
    margin-bottom: 0.5em; }

.sa-checkbox, .sa-radio {
  text-align: left;
  flex-grow: 1;
  display: flex;
  align-items: flex-start; }
  .sa-checkbox label, .sa-radio label {
    margin-left: 1em; }
  .sa-checkbox a, .sa-radio a {
    text-decoration: none;
    color: #707070; }
    .sa-checkbox a:hover, .sa-radio a:hover {
      color: #575757; }
  .sa-checkbox input[type=checkbox], .sa-checkbox input[type=radio], .sa-radio input[type=checkbox], .sa-radio input[type=radio] {
    appearance: none; }
    .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
      content: '✓';
      display: inline-flex;
      width: 20px;
      height: 20px;
      border: 2px #ffffff solid;
      color: #ffffff;
      background-color: #ffffff;
      transition: color 250ms ease-out;
      font-weight: bold;
      justify-content: center;
      align-items: center;
      cursor: pointer;
      font-size: 16px;
      transform: none; }
      @media (max-width: 980px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          width: 16px; } }
      @media (max-width: 480px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          width: 16px; } }
      @media (max-width: 980px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          height: 16px; } }
      @media (max-width: 480px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          height: 16px; } }
      @media (max-width: 980px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          transform: translateY(3px); } }
      @media (max-width: 480px) {
        .sa-checkbox input[type=checkbox]::before, .sa-checkbox input[type=radio]::before, .sa-radio input[type=checkbox]::before, .sa-radio input[type=radio]::before {
          transform: translateY(3px); } }
    .sa-checkbox input[type=checkbox]:checked::before, .sa-checkbox input[type=radio]:checked::before, .sa-radio input[type=checkbox]:checked::before, .sa-radio input[type=radio]:checked::before {
      color: #000000; }
  .sa-checkbox input[type=radio]::before, .sa-radio input[type=radio]::before {
    border-radius: 50%; }

.sa-select {
  display: block;
  position: relative;
  width: 100%;
  max-width: 430px; }
  @media (max-width: 980px) {
    .sa-select {
      max-width: none; } }
  @media (max-width: 480px) {
    .sa-select {
      max-width: none; } }
  .sa-select select {
    width: 100%; }
  .sa-select::after {
    color: #707070;
    content: var(--link-arrow);
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    width: 14px;
    pointer-events: none; }
    @media (max-width: 980px) {
      .sa-select::after {
        right: 14px; } }
    @media (max-width: 480px) {
      .sa-select::after {
        right: 14px; } }
    @media (max-width: 980px) {
      .sa-select::after {
        width: 12px; } }
    @media (max-width: 480px) {
      .sa-select::after {
        width: 12px; } }
  .sa-select select {
    font: normal normal normal 1.125rem/1.875rem "Josefin Sans";
    height: 40px;
    color: #000000;
    text-align: left;
    position: relative;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: none;
    box-shadow: inset 1px 1px 3px #00000029;
    background: #ffffff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    @media (max-width: 980px) {
      .sa-select select {
        font: normal normal normal 0.9375rem/1.5625rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      .sa-select select {
        font: normal normal normal 0.9375rem/1.5625rem "Josefin Sans"; } }
    @media (max-width: 980px) {
      .sa-select select {
        height: 35px; } }
    @media (max-width: 480px) {
      .sa-select select {
        height: 35px; } }
    @media (max-width: 980px) {
      .sa-select select {
        padding: 0 10px; } }
    @media (max-width: 480px) {
      .sa-select select {
        padding: 0 10px; } }
    .sa-select select:invalid, .sa-select select option[disabled] {
      color: #707070 !important; }

.sa-input {
  display: block;
  position: relative;
  width: 100%;
  max-width: 430px;
  font: normal normal normal 1.125rem/1.875rem "Josefin Sans";
  height: 40px;
  color: #000000;
  text-align: left;
  position: relative;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: none;
  box-shadow: inset 1px 1px 3px #00000029;
  background: #ffffff; }
  @media (max-width: 980px) {
    .sa-input {
      max-width: none; } }
  @media (max-width: 480px) {
    .sa-input {
      max-width: none; } }
  @media (max-width: 980px) {
    .sa-input {
      font: normal normal normal 1rem/1.5625 "Josefin Sans"; } }
  @media (max-width: 480px) {
    .sa-input {
      font: normal normal normal 1rem/1.5625 "Josefin Sans"; } }
  @media (max-width: 980px) {
    .sa-input {
      height: 35px; } }
  @media (max-width: 480px) {
    .sa-input {
      height: 35px; } }
  @media (max-width: 980px) {
    .sa-input {
      padding: 0 10px; } }
  @media (max-width: 480px) {
    .sa-input {
      padding: 0 10px; } }

.sa-select select, .sa-input {
  font-size: 0.9em; }

textarea.sa-input {
  height: 8em;
  max-width: 610px; }
  @media (max-width: 980px) {
    textarea.sa-input {
      max-width: none; } }
  @media (max-width: 480px) {
    textarea.sa-input {
      max-width: none; } }

.sa-input.error {
  background: #f554; }

.form_errors {
  background: #f554;
  border-radius: 2px;
  padding: 1em;
  margin-bottom: 3em; }
  .form_errors .errors_title {
    font-weight: bold; }
  .form_errors ul li {
    display: flex;
    position: relative;
    width: calc(100% - 1.5em); }
    .form_errors ul li::before {
      content: '–';
      width: 1.5em; }

/*
<div class="form_errors" style="padding-bottom:20px;">
    <div class="errors_title">Bitte korrigieren Sie die folgenden Fehler:</div>
    <ul><li>Name darf nicht leer sein.</li><li>Vorname darf nicht leer sein.</li><li>Email darf nicht leer sein.</li><li>Bitte geben Sie die angezeigte Zeichenfolge ein</li></ul>
</div>
*/
figure.composition {
  position: relative;
  display: block;
  width: 100%; }
  figure.composition .composition-frame {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden; }
  figure.composition .motive {
    z-index: 10; }
  figure.composition .mirror {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 5;
    opacity: 0.5; }
  figure.composition.landscape .motive {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }
  figure.composition.landscape .mirror {
    display: none; }
  figure.composition.portrait .motive {
    position: absolute;
    height: 100%;
    left: 50%;
    transform: translateX(-50%); }
  figure.composition .spacer {
    display: block;
    width: 100%; }

figure.composition figcaption, .figcaption {
  position: relative;
  margin: 0;
  display: block;
  background: #ffffff;
  z-index: 15;
  text-align: right;
  font: normal normal normal 1rem/1.25rem "Josefin Sans";
  padding: 14px 0 0 0; }
  @media (max-width: 980px) {
    figure.composition figcaption, .figcaption {
      font: normal normal normal 0.75rem/1.25rem "Josefin Sans"; } }
  @media (max-width: 480px) {
    figure.composition figcaption, .figcaption {
      font: normal normal normal 0.75rem/1.25rem "Josefin Sans"; } }
  @media (max-width: 980px) {
    figure.composition figcaption, .figcaption {
      padding: 7px 0 0 0; } }
  @media (max-width: 480px) {
    figure.composition figcaption, .figcaption {
      padding: 7px 0 0 0; } }

.image-copyright {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font: normal normal normal 0.75rem/1.25rem "Josefin Sans";
  color: #000000;
  display: inline-block;
  text-align: right;
  z-index: 15;
  background: rgba(255, 255, 255, 0.5);
  padding: 0 10px; }
  @media (max-width: 980px) {
    .image-copyright {
      font: normal normal normal 0.64063rem/0.9375rem "Josefin Sans"; } }
  @media (max-width: 480px) {
    .image-copyright {
      font: normal normal normal 0.64063rem/0.9375rem "Josefin Sans"; } }
  @media (max-width: 980px) {
    .image-copyright {
      padding: 0 7px; } }
  @media (max-width: 480px) {
    .image-copyright {
      padding: 0 7px; } }

blockquote.big-quote {
  display: flex;
  flex-direction: row; }
  @media (max-width: 980px) {
    blockquote.big-quote {
      flex-direction: column; } }
  @media (max-width: 480px) {
    blockquote.big-quote {
      flex-direction: column; } }
  blockquote.big-quote .big-quote-start, blockquote.big-quote .big-quote-end {
    width: 45px;
    min-width: 45px;
    fill: #ffffff; }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-start, blockquote.big-quote .big-quote-end {
        width: 28px; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-start, blockquote.big-quote .big-quote-end {
        width: 28px; } }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-start, blockquote.big-quote .big-quote-end {
        min-width: 28px; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-start, blockquote.big-quote .big-quote-end {
        min-width: 28px; } }
  blockquote.big-quote .big-quote-start {
    align-self: flex-start;
    transform: rotate(180deg); }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-start {
        transform: none; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-start {
        transform: none; } }
  blockquote.big-quote .big-quote-end {
    align-self: flex-end;
    transform: rotate(180deg); }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-end {
        transform: none; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-end {
        transform: none; } }
  blockquote.big-quote .big-quote-body {
    padding: 30px 25px;
    text-align: left; }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-body {
        padding: 10px 0 5px 0; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-body {
        padding: 10px 0 5px 0; } }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-body {
        text-align: center; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-body {
        text-align: center; } }
  blockquote.big-quote .big-quote-text {
    font: normal normal normal 2.1875rem/2.8125rem "Josefin Sans";
    margin-bottom: 20px; }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-text {
        font: normal normal normal 1.25rem/1.75rem "Josefin Sans"; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-text {
        font: normal normal normal 1.25rem/1.75rem "Josefin Sans"; } }
    @media (max-width: 980px) {
      blockquote.big-quote .big-quote-text {
        margin-bottom: 10px; } }
    @media (max-width: 480px) {
      blockquote.big-quote .big-quote-text {
        margin-bottom: 10px; } }

.color-box {
  --bgcol: #FFF3B1;
  padding: 30px;
  background-color: var(--bgcol); }
  .color-box.yellow {
    --bgcol: #FFF3B1; }
  .color-box.purple {
    --bgcol: #FCE7F2; }
  .color-box.gray {
    --bgcol: #E6E6E6; }
  .color-box.blue {
    --bgcol: $kbblue; }

.person-image {
  max-width: 570px;
  width: 100%;
  display: block;
  margin-bottom: 1em; }
  @media (max-width: 980px) {
    .person-image {
      max-width: 100%; } }
  @media (max-width: 480px) {
    .person-image {
      max-width: 100%; } }

.person-data > p:first-of-type {
  margin-bottom: 1.5em; }

.back-link, .more-link, .forward-link {
  display: block;
  color: #000000;
  margin-bottom: 2em; }
  .back-link:before, .more-link:before, .forward-link:before {
    width: 1em;
    display: inline-block;
    margin-right: 0.6em;
    content: var(--link-arrow-hover);
    transform: rotate(180deg) translateY(2px);
    transition: transform 250ms ease-out; }
    @media (max-width: 980px) {
      .back-link:before, .more-link:before, .forward-link:before {
        width: 1em; } }
    @media (max-width: 480px) {
      .back-link:before, .more-link:before, .forward-link:before {
        width: 1em; } }
    .back-link:before svg, .more-link:before svg, .forward-link:before svg {
      color: #000000; }
  body.no-touch .back-link:hover:before, body.no-touch .more-link:hover:before, body.no-touch .forward-link:hover:before {
    transform: rotate(180deg) translateY(2px) scale(1.2); }

.forward-link {
  margin-top: 2em; }

.more-link, .forward-link {
  margin-bottom: 0; }
  .more-link:before, .forward-link:before {
    transform: translateY(0.2em); }
  body.no-touch .more-link:hover:before, body.no-touch .forward-link:hover:before {
    transform: translateY(0.2em) scale(1.2); }

.events-filter, .search-results {
  font: normal normal normal 1.25rem/2.1875rem "Josefin Sans";
  background: #c9c9c9;
  color: #ffffff;
  padding: 0 1em;
  font-style: normal; }
  @media (max-width: 980px) {
    .events-filter, .search-results {
      font: normal normal normal 1rem/1.625rem "Josefin Sans"; } }
  @media (max-width: 480px) {
    .events-filter, .search-results {
      font: normal normal normal 1rem/1.625rem "Josefin Sans"; } }
  @media (max-width: 980px) {
    .events-filter, .search-results {
      padding: 0; } }
  @media (max-width: 480px) {
    .events-filter, .search-results {
      padding: 0; } }

.events-filter .selectize-input input, .events-filter .selectize-dropdown, .events-filter .selectize-input .item {
  font: normal normal normal 1.25rem/1.2 "Josefin Sans" !important;
  font-style: normal !important; }
  @media (max-width: 980px) {
    .events-filter .selectize-input input, .events-filter .selectize-dropdown, .events-filter .selectize-input .item {
      font: normal normal normal 1rem/1.2 "Josefin Sans" !important; } }
  @media (max-width: 480px) {
    .events-filter .selectize-input input, .events-filter .selectize-dropdown, .events-filter .selectize-input .item {
      font: normal normal normal 1rem/1.2 "Josefin Sans" !important; } }

.events-filter {
  display: flex;
  flex-direction: row;
  padding: 0 3em 0 1em; }
  @media (max-width: 980px) {
    .events-filter {
      flex-direction: column; } }
  @media (max-width: 480px) {
    .events-filter {
      flex-direction: column; } }
  @media (max-width: 980px) {
    .events-filter {
      padding: 0 2.5em 0 0; } }
  @media (max-width: 480px) {
    .events-filter {
      padding: 0 2.5em 0 0; } }
  .events-filter-option, .events-filter .mediathek-search-wrapper {
    margin-right: 1.5em; }
    @media (max-width: 980px) {
      .events-filter-option, .events-filter .mediathek-search-wrapper {
        margin-right: 0; } }
    @media (max-width: 480px) {
      .events-filter-option, .events-filter .mediathek-search-wrapper {
        margin-right: 0; } }
  .events-filter-option {
    padding: 0;
    position: relative;
    display: inline-flex;
    vertical-align: center;
    align-items: center;
    cursor: pointer;
    padding: 0 1em;
    color: #000000;
    border: 1px #0000 solid;
    background: #c9c9c9; }
    @media (max-width: 980px) {
      .events-filter-option {
        padding: 0 1em; } }
    @media (max-width: 480px) {
      .events-filter-option {
        padding: 0 1em; } }
  .events-filter-name {
    margin-right: 0.6em; }
  .events-filter-name-val {
    display: none; }
  .events-filter.abbreviate .events-filter-name, .events-filter.abbreviate .events-filter-value {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 19em; }
    @media (max-width: 980px) {
      .events-filter.abbreviate .events-filter-name, .events-filter.abbreviate .events-filter-value {
        max-width: 100%; } }
    @media (max-width: 480px) {
      .events-filter.abbreviate .events-filter-name, .events-filter.abbreviate .events-filter-value {
        max-width: 100%; } }
  .events-filter-option-list {
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    position: absolute;
    top: 100%;
    left: -1px;
    min-width: calc(100% + 2px);
    cursor: default;
    background: #ffffff;
    border: 1px #707070 solid;
    padding: 1em;
    white-space: nowrap;
    z-index: 5; }
    .events-filter-option-list .events-filter-value {
      cursor: pointer; }
      .events-filter-option-list .events-filter-value:hover, .events-filter-option-list .events-filter-value.selected {
        text-decoration: underline; }
  .events-filter .svg-arrow-down {
    height: 1em;
    transform: rotate(90deg); }
  .events-filter .events-filter-clear {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    color: #000000;
    text-decoration: none; }
    @media (max-width: 980px) {
      .events-filter .events-filter-clear {
        top: 0.5em;
        transform: translateY(0); } }
    .events-filter .events-filter-clear:hover {
      text-decoration: underline; }

.search-results {
  color: #000000;
  display: flex;
  padding: 0.2em 1em 0.05em 1em;
  font-style: normal; }
  @media (max-width: 980px) {
    .search-results {
      padding: 0.3em 0.5em 0.2em 0.5em; } }
  @media (max-width: 480px) {
    .search-results {
      padding: 0.3em 0.5em 0.2em 0.5em; } }
  @media (max-width: 980px) {
    .search-results {
      flex-direction: column; } }
  .search-results .left {
    width: 60%;
    padding-bottom: 0; }
    @media (max-width: 980px) {
      .search-results .left {
        width: 100%; } }
    @media (max-width: 480px) {
      .search-results .left {
        width: 100%; } }
    @media (max-width: 980px) {
      .search-results .left {
        padding-bottom: 0.2em; } }
    @media (max-width: 480px) {
      .search-results .left {
        padding-bottom: 0.2em; } }
  .search-results .right {
    width: 40%;
    padding-top: 0;
    text-align: right; }
    @media (max-width: 980px) {
      .search-results .right {
        width: 100%; } }
    @media (max-width: 480px) {
      .search-results .right {
        width: 100%; } }
    @media (max-width: 980px) {
      .search-results .right {
        padding-top: 0.2em; } }
    @media (max-width: 480px) {
      .search-results .right {
        padding-top: 0.2em; } }
    @media (max-width: 980px) {
      .search-results .right {
        border-top: 2px #ddd solid; }
        .search-results .right span {
          display: none; } }
    .search-results .right a {
      color: #000000;
      text-decoration: none; }
      .search-results .right a:hover, .search-results .right a.current {
        font-weight: bold; }
      @media (max-width: 980px) {
        .search-results .right a {
          display: inline-block;
          background: #eee;
          padding: 0.05em 0.8em; }
          .search-results .right a:not(:last-child) {
            margin-right: 0.5em; }
          .search-results .right a:hover {
            background: #fff; }
          .search-results .right a.current {
            background: #e0edf3; } }

body.touch .events-filter-option.expanded {
  color: #000000;
  border-color: #707070;
  background: #ffffff; }
  body.touch .events-filter-option.expanded .events-filter-option-list {
    visibility: visible;
    opacity: 1;
    max-height: none; }

body.no-touch .events-filter-option:hover {
  color: #000000;
  border-color: #707070;
  background: #ffffff; }
  body.no-touch .events-filter-option:hover .events-filter-option-list {
    visibility: visible;
    opacity: 1;
    max-height: none; }

@media (max-width: 980px) {
  .events-filter-option-list {
    max-width: 80%; } }

/*
div.partners   {
    display:            flex;
    flex-wrap:          wrap;

    img {
        width:          180px;
        height:         auto;

        &:not(:last-child)  {
            @include    rv(margin-right, 1em);
        }

        margin-bottom:  0.5em;
    }
}
*/
h3 + div.partners {
  margin-top: 1em; }

.partners-frame {
  display: flex;
  flex-direction: row; }
  @media (max-width: 980px) {
    .partners-frame {
      flex-direction: column; } }
  @media (max-width: 480px) {
    .partners-frame {
      flex-direction: column; } }
  .partners-frame .partners-elements {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 0; }
    @media (max-width: 980px) {
      .partners-frame .partners-elements {
        margin-top: 1em; } }
    @media (max-width: 480px) {
      .partners-frame .partners-elements {
        margin-top: 1em; } }
    .partners-frame .partners-elements > * {
      width: 25%;
      margin-bottom: 0.25em;
      padding-right: .25em;
      display: block;
      position: relative; }
      @media (max-width: 980px) {
        .partners-frame .partners-elements > * {
          width: 25%; } }
      @media (max-width: 480px) {
        .partners-frame .partners-elements > * {
          width: 50%; } }
      @media (max-width: 980px) {
        .partners-frame .partners-elements > * {
          margin-bottom: 1em; } }
      @media (max-width: 480px) {
        .partners-frame .partners-elements > * {
          margin-bottom: 1em; } }
      .partners-frame .partners-elements > * .logo-scaler {
        display: block;
        width: 100%; }
      .partners-frame .partners-elements > * :not(.logo-scaler) {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding-right: 1.25em;
        object-fit: contain; }
      .partners-frame .partners-elements > * img {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8em;
        color: #333; }
  .partners-frame > div:first-child {
    width: 50%; }
    @media (max-width: 980px) {
      .partners-frame > div:first-child {
        width: 100%; } }
    @media (max-width: 480px) {
      .partners-frame > div:first-child {
        width: 100%; } }
    .partners-frame > div:first-child .partners-elements > *:nth-child(4n+3) {
      margin-right: 25%; }
      @media (max-width: 980px) {
        .partners-frame > div:first-child .partners-elements > *:nth-child(4n+3) {
          margin-right: 0; } }
      @media (max-width: 480px) {
        .partners-frame > div:first-child .partners-elements > *:nth-child(4n+3) {
          margin-right: 0; } }
  .partners-frame > div:last-child {
    width: 50%; }
    @media (max-width: 980px) {
      .partners-frame > div:last-child {
        width: 100%; } }
    @media (max-width: 480px) {
      .partners-frame > div:last-child {
        width: 100%; } }

.reference-ribbon {
  display: flex;
  width: 100%;
  background: #013459;
  color: #ffffff; }
  .reference-ribbon .reference-nav {
    width: 125px;
    background: #ffffff; }
    .reference-ribbon .reference-nav .reference-nav-item {
      display: block;
      position: relative;
      cursor: pointer;
      background-color: var(--bgcol);
      transition: background-color 250ms ease-out, font-size 250ms ease-out;
      font-size: 0.8em;
      overflow: hidden; }
      .reference-ribbon .reference-nav .reference-nav-item:not(:last-child) {
        margin-bottom: 2px; }
      .reference-ribbon .reference-nav .reference-nav-item:nth-child(odd) {
        --bgcol: #6e7888;
        --bgcolHover: #98a3b6; }
      .reference-ribbon .reference-nav .reference-nav-item:nth-child(even) {
        --bgcol: #565e6a;
        --bgcolHover: #8390a7; }
      .reference-ribbon .reference-nav .reference-nav-item.current {
        --bgcol: #02518b;
        --bgcolHover: #013459 ; }
      .reference-ribbon .reference-nav .reference-nav-item::after {
        content: '';
        position: absolute;
        right: -0.25em;
        top: 0;
        height: 100%;
        width: 0.25em;
        background: var(--bgcolHover);
        opacity: 0;
        transition: opacity 250ms ease-out, right 125ms ease-out; }
      .reference-ribbon .reference-nav .reference-nav-item:hover, .reference-ribbon .reference-nav .reference-nav-item.current {
        font-size: 0.9em;
        background-color: var(--bgcolHover); }
        .reference-ribbon .reference-nav .reference-nav-item:hover::after, .reference-ribbon .reference-nav .reference-nav-item.current::after {
          right: 0;
          opacity: 0.9;
          background: var(--bgcol); }
      .reference-ribbon .reference-nav .reference-nav-item svg {
        display: block;
        width: 100%; }
      .reference-ribbon .reference-nav .reference-nav-item div {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
  .reference-ribbon .reference-canvas {
    flex: 1;
    position: relative; }
    .reference-ribbon .reference-canvas .reference-canvas-spacer {
      display: block;
      width: 100%; }
    .reference-ribbon .reference-canvas .reference-canvas-item {
      padding: 2em;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      overflow: hidden;
      background: #0d0d0d; }
      .reference-ribbon .reference-canvas .reference-canvas-item:not(.current) {
        display: none; }

@keyframes labelFly {
  0% {
    left: -100%;
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }
      .reference-ribbon .reference-canvas .reference-canvas-item.current .rc-label {
        animation: labelFly 500ms ease-out forwards; }
      .reference-ribbon .reference-canvas .reference-canvas-item .rc-label {
        background: rgba(1, 52, 89, 0.95);
        z-index: 5;
        position: absolute;
        padding: 2em;
        width: 100%;
        left: 0; }
      .reference-ribbon .reference-canvas .reference-canvas-item:nth-child(2) .rc-label {
        top: 5%; }
      .reference-ribbon .reference-canvas .reference-canvas-item:nth-child(3) .rc-label {
        top: 187.5px;
        transform: translateY(-50%); }
      .reference-ribbon .reference-canvas .reference-canvas-item:nth-child(4) .rc-label {
        top: 312.5px;
        transform: translateY(-50%); }
      .reference-ribbon .reference-canvas .reference-canvas-item:nth-child(5) .rc-label {
        top: 437.5px;
        transform: translateY(-50%); }
      .reference-ribbon .reference-canvas .reference-canvas-item:nth-child(6) .rc-label {
        bottom: 5%; }
      .reference-ribbon .reference-canvas .reference-canvas-item .rc-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 4; }

.reference-ribbon-old {
  display: flex;
  flex-direction: column;
  width: 100%; }
  .reference-ribbon-old > div {
    position: relative;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    /*
        &:not(:last-child)::after {
            content: '';
            display: block;
            width: 20px;
            height: 5px;
            position: absolute;
            left: 50%;
            transform: translate(-50%, 100%);
            bottom: 0;
            background: $kbblue;
        } */ }
    .reference-ribbon-old > div:nth-child(odd) {
      padding-right: 10%; }
    .reference-ribbon-old > div:nth-child(even) {
      padding-left: 10%;
      text-align: right; }
    .reference-ribbon-old > div .image-placeholder {
      width: 100%;
      margin-bottom: 0.5em;
      height: 160px;
      overflow: hidden;
      position: relative; }
      .reference-ribbon-old > div .image-placeholder img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 500ms ease-out, filter 500ms ease-out;
        filter: grayscale(100%) sepia(50%); }
        .reference-ribbon-old > div .image-placeholder img:hover {
          transform: scale(1.05);
          filter: grayscale(0%) sepia(0%); }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-track {
  display: flex !important; }

.slick-slide {
  height: inherit !important; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: auto;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  z-index: 5;
  cursor: pointer;
  background: transparent;
  color: transparent;
  right: 0;
  padding: 0;
  border: none;
  outline: none; }
  @media (min-width: 981px) {
    .slick-prev,
    .slick-next {
      top: 50%; } }
  @media (max-width: 980px) {
    .slick-prev,
    .slick-next {
      bottom: 0; } }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 1; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 33px;
    line-height: 1;
    color: #ffffff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media (max-width: 980px) {
      .slick-prev:before,
      .slick-next:before {
        font-size: 33px; } }

.slick-prev {
  left: 0; }
  @media (max-width: 980px) {
    .slick-prev {
      left: 80px; } }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "❮"; }
    [dir="rtl"] .slick-prev:before {
      content: "❯"; }

.slick-next {
  right: 0; }
  @media (max-width: 980px) {
    .slick-next {
      right: 80px; } }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "❯"; }
    [dir="rtl"] .slick-next:before {
      content: "❮"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: 40px;
  transform: translateY(50%);
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  left: 0;
  width: 100%; }
  @media (max-width: 980px) {
    .slick-dots {
      bottom: 10px; } }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    @media (max-width: 980px) {
      .slick-dots li {
        margin: 0 0; } }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: " ";
        border: 2px black solid;
        background: #ffffff;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        font-family: "slick";
        font-size: 50px;
        line-height: 20px;
        text-align: center;
        color: #ffffff;
        opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
        @media (max-width: 980px) {
          .slick-dots li button:before {
            border-width: 1px; } }
        @media (max-width: 980px) {
          .slick-dots li button:before {
            width: 10px;
            height: 10px;
            font-size: 30px; } }
    .slick-dots li.slick-active button:before {
      background: #000000;
      opacity: 1; }

.kbcookie-outer {
  z-index: 10000;
  position: fixed;
  font-family: Helvetica,Arial,sans-serif;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  text-align: center;
  overflow-y: auto; }

.kbcookie-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 40px;
  min-width: 740px; }

@media only screen and (max-width: 800px) {
  .kbcookie-inner {
    min-width: 90%; } }

.kbcookie-inner.top {
  bottom: unset;
  top: 0; }

.kbcookie-inner.bottom {
  bottom: 0;
  top: unset; }

.kbcookie-yes {
  cursor: pointer;
  background: #013459;
  border: 2px #013459 solid;
  color: #ffffff;
  margin-top: 15px;
  padding: 5px 10px;
  font-weight: bold;
  display: inline-block;
  width: 240px; }

.kbcookie-yes:hover {
  background: #012540;
  border-color: #012540; }

.kbcookie-no {
  cursor: pointer;
  border: 2px #000000 solid;
  margin-top: 5px;
  padding: 5px 10px;
  display: inline-block;
  margin-right: 10px;
  width: 240px; }

@media only screen and (max-width: 800px) {
  .kbcookie-yes, .kbcookie-no {
    display: block;
    margin-left: 0;
    width: auto; }
  .kbcookie-no {
    margin-right: 0; } }

.kbcookie-no:hover {
  background: #000000;
  color: white; }

.kbcookie-title {
  font-size: 2rem;
  line-height: 1.2;
  color: #000000;
  font-weight: bold;
  margin-bottom: 20px;
  font-family: FagoNo,Arial; }

@media only screen and (max-width: 800px) {
  .kbcookie-title {
    font-size: 1.3rem;
    line-height: 1.1; } }

.kbcookie-exp {
  color: #000000;
  font-family: FagoNo,Arial;
  font-size: 100%;
  font-weight: normal;
  margin-bottom: 30px;
  line-height: 1.5; }

.kbcookie-exp a {
  color: #000000;
  text-decoration: underline; }

@media only screen and (max-width: 800px) {
  .kbcookie-exp {
    font-size: 90%;
    line-height: 1.3; } }

.kbcookie-data {
  cursor: pointer;
  margin-top: 10px;
  color: #000000; }

.kbcookie-data::after {
  content: " â†“"; }

.open .kbcookie-data::after {
  content: " â†‘" !important; }

.open .kbcookie-data {
  font-weight: bold;
  text-decoration: none !important; }

.kbcookie-data:hover {
  text-decoration: underline; }

.kbcookie-data-text {
  display: none; }

.open .kbcookie-data-text {
  border: 1px rgba(0, 0, 0, 0.1) solid;
  border-radius: 3px;
  margin-top: 10px;
  display: inherit;
  text-align: justify;
  padding: 15px;
  color: black;
  font-size: 80%; }
