@charset "UTF-8";
/**
 *
 * HfG 
 *
 */
/*=============================================
 =            Third party resources            =
 =============================================*/
/*!
 * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

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

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-xl,
.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,
.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,
.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,
.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,
.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  order: -1;
}

.order-last {
  order: 13;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-11 {
  order: 11;
}

.order-12 {
  order: 12;
}

.offset-1 {
  margin-left: 8.3333333333%;
}

.offset-2 {
  margin-left: 16.6666666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.3333333333%;
}

.offset-5 {
  margin-left: 41.6666666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.3333333333%;
}

.offset-8 {
  margin-left: 66.6666666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.3333333333%;
}

.offset-11 {
  margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-sm-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 13;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-6 {
    order: 6;
  }
  .order-sm-7 {
    order: 7;
  }
  .order-sm-8 {
    order: 8;
  }
  .order-sm-9 {
    order: 9;
  }
  .order-sm-10 {
    order: 10;
  }
  .order-sm-11 {
    order: 11;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.3333333333%;
  }
  .offset-sm-2 {
    margin-left: 16.6666666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.3333333333%;
  }
  .offset-sm-5 {
    margin-left: 41.6666666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.3333333333%;
  }
  .offset-sm-8 {
    margin-left: 66.6666666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.3333333333%;
  }
  .offset-sm-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-md-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-md-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-md-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-md-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-md-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 13;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-6 {
    order: 6;
  }
  .order-md-7 {
    order: 7;
  }
  .order-md-8 {
    order: 8;
  }
  .order-md-9 {
    order: 9;
  }
  .order-md-10 {
    order: 10;
  }
  .order-md-11 {
    order: 11;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.3333333333%;
  }
  .offset-md-2 {
    margin-left: 16.6666666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.3333333333%;
  }
  .offset-md-5 {
    margin-left: 41.6666666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.3333333333%;
  }
  .offset-md-8 {
    margin-left: 66.6666666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.3333333333%;
  }
  .offset-md-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-lg-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 13;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-6 {
    order: 6;
  }
  .order-lg-7 {
    order: 7;
  }
  .order-lg-8 {
    order: 8;
  }
  .order-lg-9 {
    order: 9;
  }
  .order-lg-10 {
    order: 10;
  }
  .order-lg-11 {
    order: 11;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.3333333333%;
  }
  .offset-lg-2 {
    margin-left: 16.6666666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.3333333333%;
  }
  .offset-lg-5 {
    margin-left: 41.6666666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.3333333333%;
  }
  .offset-lg-8 {
    margin-left: 66.6666666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.3333333333%;
  }
  .offset-lg-11 {
    margin-left: 91.6666666667%;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .col-xl-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 13;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-6 {
    order: 6;
  }
  .order-xl-7 {
    order: 7;
  }
  .order-xl-8 {
    order: 8;
  }
  .order-xl-9 {
    order: 9;
  }
  .order-xl-10 {
    order: 10;
  }
  .order-xl-11 {
    order: 11;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.3333333333%;
  }
  .offset-xl-2 {
    margin-left: 16.6666666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.3333333333%;
  }
  .offset-xl-5 {
    margin-left: 41.6666666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.3333333333%;
  }
  .offset-xl-8 {
    margin-left: 66.6666666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.3333333333%;
  }
  .offset-xl-11 {
    margin-left: 91.6666666667%;
  }
}
.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.bg-primary {
  background-color: #007bff !important;
}

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: #0062cc !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important;
}

.bg-success {
  background-color: #28a745 !important;
}

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important;
}

.bg-info {
  background-color: #17a2b8 !important;
}

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important;
}

.bg-warning {
  background-color: #ffc107 !important;
}

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important;
}

.bg-danger {
  background-color: #dc3545 !important;
}

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important;
}

.bg-white {
  background-color: #fff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #dee2e6 !important;
}

.border-top {
  border-top: 1px solid #dee2e6 !important;
}

.border-right {
  border-right: 1px solid #dee2e6 !important;
}

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important;
}

.border-left {
  border-left: 1px solid #dee2e6 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #007bff !important;
}

.border-secondary {
  border-color: #6c757d !important;
}

.border-success {
  border-color: #28a745 !important;
}

.border-info {
  border-color: #17a2b8 !important;
}

.border-warning {
  border-color: #ffc107 !important;
}

.border-danger {
  border-color: #dc3545 !important;
}

.border-light {
  border-color: #f8f9fa !important;
}

.border-dark {
  border-color: #343a40 !important;
}

.border-white {
  border-color: #fff !important;
}

.rounded {
  border-radius: 0.25rem !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
}
@media print {
  .d-print-none {
    display: none !important;
  }
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
}
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
.embed-responsive::before {
  display: block;
  content: "";
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.8571428571%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important;
  }
  .float-sm-right {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
}
@media (min-width: 768px) {
  .float-md-left {
    float: left !important;
  }
  .float-md-right {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
}
@media (min-width: 992px) {
  .float-lg-left {
    float: left !important;
  }
  .float-lg-right {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important;
  }
  .float-xl-right {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
}
.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0,
.my-0 {
  margin-top: 0 !important;
}

.mr-0,
.mx-0 {
  margin-right: 0 !important;
}

.mb-0,
.my-0 {
  margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.5rem !important;
}

.mt-1,
.my-1 {
  margin-top: 0.5rem !important;
}

.mr-1,
.mx-1 {
  margin-right: 0.5rem !important;
}

.mb-1,
.my-1 {
  margin-bottom: 0.5rem !important;
}

.ml-1,
.mx-1 {
  margin-left: 0.5rem !important;
}

.m-2 {
  margin: 1rem !important;
}

.mt-2,
.my-2 {
  margin-top: 1rem !important;
}

.mr-2,
.mx-2 {
  margin-right: 1rem !important;
}

.mb-2,
.my-2 {
  margin-bottom: 1rem !important;
}

.ml-2,
.mx-2 {
  margin-left: 1rem !important;
}

.m-3 {
  margin: 2rem !important;
}

.mt-3,
.my-3 {
  margin-top: 2rem !important;
}

.mr-3,
.mx-3 {
  margin-right: 2rem !important;
}

.mb-3,
.my-3 {
  margin-bottom: 2rem !important;
}

.ml-3,
.mx-3 {
  margin-left: 2rem !important;
}

.m-4 {
  margin: 3rem !important;
}

.mt-4,
.my-4 {
  margin-top: 3rem !important;
}

.mr-4,
.mx-4 {
  margin-right: 3rem !important;
}

.mb-4,
.my-4 {
  margin-bottom: 3rem !important;
}

.ml-4,
.mx-4 {
  margin-left: 3rem !important;
}

.m-5 {
  margin: 6rem !important;
}

.mt-5,
.my-5 {
  margin-top: 6rem !important;
}

.mr-5,
.mx-5 {
  margin-right: 6rem !important;
}

.mb-5,
.my-5 {
  margin-bottom: 6rem !important;
}

.ml-5,
.mx-5 {
  margin-left: 6rem !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0,
.py-0 {
  padding-top: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

.pb-0,
.py-0 {
  padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.5rem !important;
}

.pt-1,
.py-1 {
  padding-top: 0.5rem !important;
}

.pr-1,
.px-1 {
  padding-right: 0.5rem !important;
}

.pb-1,
.py-1 {
  padding-bottom: 0.5rem !important;
}

.pl-1,
.px-1 {
  padding-left: 0.5rem !important;
}

.p-2 {
  padding: 1rem !important;
}

.pt-2,
.py-2 {
  padding-top: 1rem !important;
}

.pr-2,
.px-2 {
  padding-right: 1rem !important;
}

.pb-2,
.py-2 {
  padding-bottom: 1rem !important;
}

.pl-2,
.px-2 {
  padding-left: 1rem !important;
}

.p-3 {
  padding: 2rem !important;
}

.pt-3,
.py-3 {
  padding-top: 2rem !important;
}

.pr-3,
.px-3 {
  padding-right: 2rem !important;
}

.pb-3,
.py-3 {
  padding-bottom: 2rem !important;
}

.pl-3,
.px-3 {
  padding-left: 2rem !important;
}

.p-4 {
  padding: 3rem !important;
}

.pt-4,
.py-4 {
  padding-top: 3rem !important;
}

.pr-4,
.px-4 {
  padding-right: 3rem !important;
}

.pb-4,
.py-4 {
  padding-bottom: 3rem !important;
}

.pl-4,
.px-4 {
  padding-left: 3rem !important;
}

.p-5 {
  padding: 6rem !important;
}

.pt-5,
.py-5 {
  padding-top: 6rem !important;
}

.pr-5,
.px-5 {
  padding-right: 6rem !important;
}

.pb-5,
.py-5 {
  padding-bottom: 6rem !important;
}

.pl-5,
.px-5 {
  padding-left: 6rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto,
.my-auto {
  margin-top: auto !important;
}

.mr-auto,
.mx-auto {
  margin-right: auto !important;
}

.mb-auto,
.my-auto {
  margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
  margin-left: auto !important;
}

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.5rem !important;
  }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.5rem !important;
  }
  .m-sm-2 {
    margin: 1rem !important;
  }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 1rem !important;
  }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 1rem !important;
  }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 1rem !important;
  }
  .m-sm-3 {
    margin: 2rem !important;
  }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 2rem !important;
  }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 2rem !important;
  }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 2rem !important;
  }
  .m-sm-4 {
    margin: 3rem !important;
  }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 3rem !important;
  }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 3rem !important;
  }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 3rem !important;
  }
  .m-sm-5 {
    margin: 6rem !important;
  }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 6rem !important;
  }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 6rem !important;
  }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 6rem !important;
  }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 6rem !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.5rem !important;
  }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.5rem !important;
  }
  .p-sm-2 {
    padding: 1rem !important;
  }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 1rem !important;
  }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 1rem !important;
  }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 1rem !important;
  }
  .p-sm-3 {
    padding: 2rem !important;
  }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 2rem !important;
  }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 2rem !important;
  }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 2rem !important;
  }
  .p-sm-4 {
    padding: 3rem !important;
  }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 3rem !important;
  }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 3rem !important;
  }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 3rem !important;
  }
  .p-sm-5 {
    padding: 6rem !important;
  }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 6rem !important;
  }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 6rem !important;
  }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 6rem !important;
  }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 6rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.5rem !important;
  }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.5rem !important;
  }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.5rem !important;
  }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.5rem !important;
  }
  .m-md-2 {
    margin: 1rem !important;
  }
  .mt-md-2,
  .my-md-2 {
    margin-top: 1rem !important;
  }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 1rem !important;
  }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 1rem !important;
  }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 1rem !important;
  }
  .m-md-3 {
    margin: 2rem !important;
  }
  .mt-md-3,
  .my-md-3 {
    margin-top: 2rem !important;
  }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 2rem !important;
  }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 2rem !important;
  }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 2rem !important;
  }
  .m-md-4 {
    margin: 3rem !important;
  }
  .mt-md-4,
  .my-md-4 {
    margin-top: 3rem !important;
  }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 3rem !important;
  }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 3rem !important;
  }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 3rem !important;
  }
  .m-md-5 {
    margin: 6rem !important;
  }
  .mt-md-5,
  .my-md-5 {
    margin-top: 6rem !important;
  }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 6rem !important;
  }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 6rem !important;
  }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 6rem !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.5rem !important;
  }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.5rem !important;
  }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.5rem !important;
  }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.5rem !important;
  }
  .p-md-2 {
    padding: 1rem !important;
  }
  .pt-md-2,
  .py-md-2 {
    padding-top: 1rem !important;
  }
  .pr-md-2,
  .px-md-2 {
    padding-right: 1rem !important;
  }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 1rem !important;
  }
  .pl-md-2,
  .px-md-2 {
    padding-left: 1rem !important;
  }
  .p-md-3 {
    padding: 2rem !important;
  }
  .pt-md-3,
  .py-md-3 {
    padding-top: 2rem !important;
  }
  .pr-md-3,
  .px-md-3 {
    padding-right: 2rem !important;
  }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 2rem !important;
  }
  .pl-md-3,
  .px-md-3 {
    padding-left: 2rem !important;
  }
  .p-md-4 {
    padding: 3rem !important;
  }
  .pt-md-4,
  .py-md-4 {
    padding-top: 3rem !important;
  }
  .pr-md-4,
  .px-md-4 {
    padding-right: 3rem !important;
  }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 3rem !important;
  }
  .pl-md-4,
  .px-md-4 {
    padding-left: 3rem !important;
  }
  .p-md-5 {
    padding: 6rem !important;
  }
  .pt-md-5,
  .py-md-5 {
    padding-top: 6rem !important;
  }
  .pr-md-5,
  .px-md-5 {
    padding-right: 6rem !important;
  }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 6rem !important;
  }
  .pl-md-5,
  .px-md-5 {
    padding-left: 6rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.5rem !important;
  }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.5rem !important;
  }
  .m-lg-2 {
    margin: 1rem !important;
  }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 1rem !important;
  }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 1rem !important;
  }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 1rem !important;
  }
  .m-lg-3 {
    margin: 2rem !important;
  }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 2rem !important;
  }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 2rem !important;
  }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 2rem !important;
  }
  .m-lg-4 {
    margin: 3rem !important;
  }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 3rem !important;
  }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 3rem !important;
  }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 3rem !important;
  }
  .m-lg-5 {
    margin: 6rem !important;
  }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 6rem !important;
  }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 6rem !important;
  }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 6rem !important;
  }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 6rem !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.5rem !important;
  }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.5rem !important;
  }
  .p-lg-2 {
    padding: 1rem !important;
  }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 1rem !important;
  }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 1rem !important;
  }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 1rem !important;
  }
  .p-lg-3 {
    padding: 2rem !important;
  }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 2rem !important;
  }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 2rem !important;
  }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 2rem !important;
  }
  .p-lg-4 {
    padding: 3rem !important;
  }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 3rem !important;
  }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 3rem !important;
  }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 3rem !important;
  }
  .p-lg-5 {
    padding: 6rem !important;
  }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 6rem !important;
  }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 6rem !important;
  }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 6rem !important;
  }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 6rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.5rem !important;
  }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.5rem !important;
  }
  .m-xl-2 {
    margin: 1rem !important;
  }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 1rem !important;
  }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 1rem !important;
  }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 1rem !important;
  }
  .m-xl-3 {
    margin: 2rem !important;
  }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 2rem !important;
  }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 2rem !important;
  }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 2rem !important;
  }
  .m-xl-4 {
    margin: 3rem !important;
  }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 3rem !important;
  }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 3rem !important;
  }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 3rem !important;
  }
  .m-xl-5 {
    margin: 6rem !important;
  }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 6rem !important;
  }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 6rem !important;
  }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 6rem !important;
  }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 6rem !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.5rem !important;
  }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.5rem !important;
  }
  .p-xl-2 {
    padding: 1rem !important;
  }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 1rem !important;
  }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 1rem !important;
  }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 1rem !important;
  }
  .p-xl-3 {
    padding: 2rem !important;
  }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 2rem !important;
  }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 2rem !important;
  }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 2rem !important;
  }
  .p-xl-4 {
    padding: 3rem !important;
  }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 3rem !important;
  }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 3rem !important;
  }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 3rem !important;
  }
  .p-xl-5 {
    padding: 6rem !important;
  }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 6rem !important;
  }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 6rem !important;
  }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 6rem !important;
  }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 6rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important;
  }
}
.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

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

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

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

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-italic {
  font-style: italic !important;
}

.text-white {
  color: #fff !important;
}

.text-primary {
  color: #007bff !important;
}

a.text-primary:hover, a.text-primary:focus {
  color: #0062cc !important;
}

.text-secondary {
  color: #6c757d !important;
}

a.text-secondary:hover, a.text-secondary:focus {
  color: #545b62 !important;
}

.text-success {
  color: #28a745 !important;
}

a.text-success:hover, a.text-success:focus {
  color: #1e7e34 !important;
}

.text-info {
  color: #17a2b8 !important;
}

a.text-info:hover, a.text-info:focus {
  color: #117a8b !important;
}

.text-warning {
  color: #ffc107 !important;
}

a.text-warning:hover, a.text-warning:focus {
  color: #d39e00 !important;
}

.text-danger {
  color: #dc3545 !important;
}

a.text-danger:hover, a.text-danger:focus {
  color: #bd2130 !important;
}

.text-light {
  color: #f8f9fa !important;
}

a.text-light:hover, a.text-light:focus {
  color: #dae0e5 !important;
}

.text-dark {
  color: #343a40 !important;
}

a.text-dark:hover, a.text-dark:focus {
  color: #1d2124 !important;
}

.text-body {
  color: #212529 !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*=============================================
 =             Site assets                     =
 =============================================*/
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 700;
  src: url("../fonts/AtlasGrotesk-Black-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Black-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 600;
  src: url("../fonts/AtlasGrotesk-Bold-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Bold-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 500;
  src: url("../fonts/AtlasGrotesk-Medium-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Medium-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 400;
  src: url("../fonts/AtlasGrotesk-Regular-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Regular-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 300;
  src: url("../fonts/AtlasGrotesk-Light-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Light-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 200;
  src: url("../fonts/AtlasGrotesk-Thin-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Thin-Web.woff") format("woff");
  font-display: swap;
}
i[class^=i-] {
  width: 24px;
  height: 24px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 12px;
}
i[class^=i-].i-large {
  width: 48px;
  height: 48px;
  padding: 24px;
}
i[class^=i-].i-medium {
  width: 32px;
  height: 32px;
  padding: 16px;
}
i[class^=i-].i-space {
  margin-right: 3px;
}
i[class^=i-].i-m-right {
  margin-right: 15px;
}
i[class^=i-].white {
  filter: invert(1);
}
i[class^=i-].i-logo {
  width: 200px;
  height: auto;
  padding-left: initial 200px;
  margin-bottom: 50px;
  background-image: url(../assets/svg/logo.svg);
}
i[class^=i-].i-logo-white {
  width: 200px;
  height: auto;
  padding-left: 100px;
  padding-right: 100px;
  padding-top: 37.5px;
  padding-bottom: 37.5px;
  margin-bottom: 50px;
  background-image: url(../svg/logo-white.svg);
}
i[class^=i-].i-arrow {
  background-image: url(../svg/arrow.svg);
}
i[class^=i-].i-arrow-white {
  background-image: url(../svg/arrow-white.svg);
}
i[class^=i-].i-caret {
  background-image: url(../svg/caret.svg);
}
i[class^=i-].i-chevron {
  background-image: url(../svg/chevron.svg);
}
i[class^=i-].i-close {
  background-image: url(../svg/close.svg);
}
i[class^=i-].i-close-white {
  background-image: url(../svg/close-white.svg);
}
i[class^=i-].i-document {
  background-image: url(../svg/document.svg);
}
i[class^=i-].i-download {
  background-image: url(../svg/download.svg);
}
i[class^=i-].i-edit {
  background-image: url(../svg/edit.svg);
}
i[class^=i-].i-facebook {
  background-image: url(../svg/facebook.svg);
}
i[class^=i-].i-facebook-white {
  background-image: url(../svg/facebook-white.svg);
}
i[class^=i-].i-human {
  background-image: url(../svg/human.svg);
}
i[class^=i-].i-instagram {
  background-image: url(../svg/instagram.svg);
}
i[class^=i-].i-instagram-white {
  background-image: url(../svg/instagram-white.svg);
}
i[class^=i-].i-mail {
  background-image: url(../svg/mail.svg);
}
i[class^=i-].i-phone {
  background-image: url(../svg/phone.svg);
}
i[class^=i-].i-search {
  background-image: url(../svg/search.svg);
}
i[class^=i-].i-twitter {
  background-image: url(../svg/twitter.svg);
}
i[class^=i-].i-twitter-white {
  background-image: url(../svg/twitter-white.svg);
}
i[class^=i-].i-youtube {
  background-image: url(../svg/youtube.svg);
}
i[class^=i-].i-youtube-white {
  background-image: url(../svg/youtube-white.svg);
}

.icon {
  padding: 0 !important;
  transition: all 0.2s ease-out;
}
.icon.plus-minus-toggle {
  cursor: pointer;
  position: relative;
  display: block;
  height: 18px;
  width: 18px;
  margin: 0;
}
.icon.plus-minus-toggle::before, .icon.plus-minus-toggle::after {
  background: #000;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 8px;
  width: 18px;
}
.icon.plus-minus-toggle::before {
  transition: all 0.3s ease;
}
.icon.plus-minus-toggle::after {
  transform-origin: center;
  transform: rotate(90deg);
  transition: all 0.2s ease 0.1s;
}
.icon.plus-minus-toggle.collapsed::after, .ccm__tabgroup--open .icon.plus-minus-toggle::after {
  transform: rotate(0);
}
.icon.plus-minus-toggle.collapsed::before, .ccm__tabgroup--open .icon.plus-minus-toggle::before {
  transform: rotate(-180deg);
  opacity: 0.2;
}

@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 700;
  src: url("../fonts/AtlasGrotesk-Black-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Black-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 600;
  src: url("../fonts/AtlasGrotesk-Bold-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Bold-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 500;
  src: url("../fonts/AtlasGrotesk-Medium-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Medium-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 400;
  src: url("../fonts/AtlasGrotesk-Regular-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Regular-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 300;
  src: url("../fonts/AtlasGrotesk-Light-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Light-Web.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "AtlasGrotesk";
  font-weight: 200;
  src: url("../fonts/AtlasGrotesk-Thin-Web.woff2") format("woff2"), url("../fonts/AtlasGrotesk-Thin-Web.woff") format("woff");
  font-display: swap;
}
html, body {
  line-height: 1.5;
  font-family: "AtlasGrotesk", sans-serif;
  font-feature-settings: "liga", "kern";
  color: #111;
}

@media (max-width: 767px) {
  html, body {
    font-size: 13px;
  }
}
@media (min-width: 768px) and (max-width: 1600px) {
  html, body {
    font-size: 14px;
  }
}
@media (min-width: 1600px) {
  html, body {
    font-size: 15px;
  }
}
a {
  color: #46474a;
  transition: color ease-in-out 0.1s;
}
a:hover {
  color: #000;
  text-decoration: none;
}

h1 a,
h2 a,
h3 a,
h4 a {
  color: inherit;
}

h1 {
  font: 700 3.2rem/1.2 "AtlasGrotesk", sans-serif;
  margin: 0 0 1.15rem;
}
@media (max-width: 991px) {
  h1 {
    font-size: 2.2rem;
  }
}

h2 {
  font: 600 2.25rem/1.2 "AtlasGrotesk", sans-serif;
  margin: -0.2rem 0 1.25rem;
}
@media (max-width: 991px) {
  h2 {
    font-size: 1.8rem;
  }
}

h2.newSection {
  font: 700 3.2rem/1.2 "AtlasGrotesk", sans-serif;
  margin: 0 0 1.15rem;
}
@media (max-width: 991px) {
  h2.newSection {
    font-size: 2.2rem;
  }
}

h3 {
  font: 600 1.5rem/1.6 "AtlasGrotesk", sans-serif;
  margin: 0 0 1.6rem;
}
@media (max-width: 991px) {
  h3 {
    font-size: 1.25rem;
  }
}

h4 {
  font: 500 1.125rem/1.4 "AtlasGrotesk", sans-serif;
  margin: 0;
}

p, figcaption {
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
  margin-bottom: 1.6rem;
}

b, strong {
  font-weight: 600;
}

i, em {
  font-style: normal;
}

article p + h2 {
  margin-top: 2.5rem;
}
article p + h3 {
  margin-top: 1.2rem;
}
article p + h4 {
  margin-top: 1rem;
}
article p a, article .textlist a, article h4 a {
  border-bottom: 2px solid #9ea5b4;
  transition: border-bottom-color ease 0.2s;
}
article p a:hover, article .textlist a:hover, article h4 a:hover {
  border-bottom-color: #eaeaea;
}

#beschreibung h2 {
  margin-bottom: 1rem;
}
#beschreibung h3 {
  margin-bottom: 0.5rem;
}

@media (max-width: 575px) {
  section h2 br {
    display: none;
  }
}
.textlist {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
  display: table;
  border-collapse: separate;
}
.textlist li {
  padding: 0;
  display: table-row;
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
}
.textlist li::before {
  display: table-cell;
  padding-right: 0.5rem;
}

ul.textlist li::before {
  content: "–";
}

ol.textlist li {
  counter-increment: ol-counter;
}
ol.textlist li .ol > li::before {
  content: counter(child-counter, lower-latin) ".";
}
ol.textlist li .ol li {
  counter-increment: child-counter;
  content: "–";
}

ol.textlist > li::before {
  content: counter(ol-counter) ".";
}

p + ul.textlist, p + ol.textlist {
  margin-top: 0.75rem;
}

.teaser {
  font: 500 1.4rem/1.5 "AtlasGrotesk", sans-serif;
}
@media (max-width: 991px) {
  .teaser {
    font-size: 1.4rem;
  }
}

time, em {
  color: #959595;
}

.studiengang_iot .studiengang_color {
  color: #463CA0 !important;
}
.studiengang_iot h1, .studiengang_iot h2, .studiengang_iot .page-context, .studiengang_iot .faq ol li .head::before, .studiengang_iot .colored {
  color: #463CA0;
}
.studiengang_iot.card h4 {
  color: #463CA0;
}
.studiengang_iot h1 a, .studiengang_iot h2 a {
  color: inherit;
}
.studiengang_iot .button.filled, .studiengang_iot .button-page-context, .studiengang_iot .speech {
  background-color: #463CA0;
}

.studiengang_ig .studiengang_color {
  color: #7DC300 !important;
}
.studiengang_ig h1, .studiengang_ig h2, .studiengang_ig .page-context, .studiengang_ig .faq ol li .head::before, .studiengang_ig .colored {
  color: #7DC300;
}
.studiengang_ig.card h4 {
  color: #7DC300;
}
.studiengang_ig h1 a, .studiengang_ig h2 a {
  color: inherit;
}
.studiengang_ig .button.filled, .studiengang_ig .button-page-context, .studiengang_ig .speech {
  background-color: #7DC300;
}

.studiengang_kg .studiengang_color {
  color: #FF6400 !important;
}
.studiengang_kg h1, .studiengang_kg h2, .studiengang_kg .page-context, .studiengang_kg .faq ol li .head::before, .studiengang_kg .colored {
  color: #FF6400;
}
.studiengang_kg.card h4 {
  color: #FF6400;
}
.studiengang_kg h1 a, .studiengang_kg h2 a {
  color: inherit;
}
.studiengang_kg .button.filled, .studiengang_kg .button-page-context, .studiengang_kg .speech {
  background-color: #FF6400;
}

.studiengang_pg .studiengang_color {
  color: #009BF5 !important;
}
.studiengang_pg h1, .studiengang_pg h2, .studiengang_pg .page-context, .studiengang_pg .faq ol li .head::before, .studiengang_pg .colored {
  color: #009BF5;
}
.studiengang_pg.card h4 {
  color: #009BF5;
}
.studiengang_pg h1 a, .studiengang_pg h2 a {
  color: inherit;
}
.studiengang_pg .button.filled, .studiengang_pg .button-page-context, .studiengang_pg .speech {
  background-color: #009BF5;
}

.studiengang_sg .studiengang_color {
  color: #B40097 !important;
}
.studiengang_sg h1, .studiengang_sg h2, .studiengang_sg .page-context, .studiengang_sg .faq ol li .head::before, .studiengang_sg .colored {
  color: #B40097;
}
.studiengang_sg.card h4 {
  color: #B40097;
}
.studiengang_sg h1 a, .studiengang_sg h2 a {
  color: inherit;
}
.studiengang_sg .button.filled, .studiengang_sg .button-page-context, .studiengang_sg .speech {
  background-color: #B40097;
}

@media print {
  @page {
    size: auto;
    margin: 20mm 8mm;
    font-family: "AtlasGrotesk", sans-serif;
  }
  html {
    margin: 0;
  }
  body {
    color: #000;
    font-size: 15px !important;
  }
  footer, .nav-select, .searchmodal, .headerbar, button, .button, .btn_link, .hero, .gallery, .bewerben-section, .programmes, img.relative-top {
    display: none;
  }
  #headernavigation[data-min=true] #Subline {
    opacity: 1 !important;
  }
  #header {
    box-shadow: none !important;
    background: transparent;
  }
  #headernavigation {
    box-shadow: none !important;
  }
  .brand.header, #header, #headernavigation, #headernavigation .col-md-2 {
    position: static !important;
  }
  #headernavigation > .row {
    display: block;
  }
  .flickity-viewport {
    display: flex;
    width: 100%;
    height: auto !important;
  }
  .flickity-slider {
    left: auto !important;
    transform: none !important;
    width: 100%;
    display: block;
  }
  .carousel-cell {
    position: static !important;
    float: left;
    width: calc(33% - 30px);
    margin-right: 30px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
  }
  .flickity-counter, .gallery-caption {
    display: none;
  }
  .page-body p a[href]:after {
    content: " (" attr(href) ")";
    font-size: 0.8rem;
  }
  .page-body {
    padding-top: 2rem !important;
  }
  figure, p > img {
    max-width: 60% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  .spacer {
    margin-bottom: 15mm !important;
  }
  .spacer-small {
    margin-bottom: 6mm !important;
  }
  h2 {
    page-break-after: avoid;
  }
  .articles {
    page-break-inside: auto;
  }
  .articles article {
    page-break-inside: avoid;
  }
}
/**
 *
 * Utilities
 *
 */
.mr-auto {
  margin-right: auto !important;
}

.h-100 {
  height: 100%;
}

.no-scroll {
  overflow: hidden;
}

.centered {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.centered .overflow-hidden {
  overflow: hidden;
}
@media (min-width: 425px) {
  .centered {
    flex-direction: row;
    justify-content: flex-start;
  }
  .centered img + .content {
    margin-left: 15px;
  }
}

.inline-centered {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}

.inline-end {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
}

.space-between {
  width: 100%;
  justify-content: space-between;
}

.hidden {
  display: none;
}

@media (min-width: 1600px) {
  .extend-left {
    width: calc(100% + (100vw - 1140px) / 2 + 15px);
    margin-left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .extend-left {
    width: calc(100% + 235px);
    margin-left: -235px;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .extend-left {
    width: calc(100% + 70px);
    margin-left: -70px;
  }
}
@media (max-width: 767px) {
  .extend-left {
    width: 100%;
  }
}

@media (min-width: 1600px) {
  .extend-right {
    width: calc(100% + (100vw - 1140px) / 2 + 15px);
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .extend-right {
    width: calc(100% + 235px);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .extend-right {
    width: calc(100% + 70px);
  }
}
@media (max-width: 767px) {
  .extend-right {
    width: 100%;
  }
}

.extend-both {
  width: 100vw;
}
@media (min-width: 1600px) {
  .extend-both {
    margin-left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .extend-both {
    margin-left: -235px;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .extend-both {
    margin-left: -70px;
  }
}
@media (max-width: 767px) {
  .extend-both {
    margin-left: -15px;
  }
}

.hfgaddress {
  unicode-bidi: bidi-override;
  direction: rtl;
  white-space: nowrap;
  font-feature-settings: normal;
}

.first-layer {
  z-index: 9998;
}

.second-layer {
  z-index: 9990;
}

.third-layer {
  z-index: 999;
}

.fourth-layer {
  z-index: 9;
}

/* Spacer utility */
.no-padding {
  padding: 0 !important;
}

.full-width {
  width: 100%;
}

/* Only visible for screenreaders */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

/*=============================================
=            Layout and modules               =
=============================================*/
/**
 *
 * Layout and page elements
 *
 */
/*html {
   scroll-behavior: smooth;

   &.scroll-immediate {
     scroll-behavior: auto;
     overflow: hidden;
   }
 }*/
/* Container Sizing */
@media (min-width: 1200px) and (max-width: 1599px) {
  .container {
    max-width: calc(100vw - 440px);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .container {
    max-width: calc(100vw - 110px);
  }
}
@media (max-width: 767px) {
  .container {
    max-width: none;
  }
}

/* Modules spacing */
@media (min-width: 1200px) {
  :root {
    --spacer-big: 3.5rem;
    --spacer-small: 1.5rem;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  :root {
    --spacer-big: 2.5rem;
    --spacer-small: 1rem;
  }
}
@media (max-width: 767px) {
  :root {
    --spacer-big: 2rem;
    --spacer-small: 0.75rem;
  }
}
.col-auto.mr-auto {
  max-width: 100%;
}

.page-body {
  z-index: 999;
  margin-top: 9rem;
  min-height: 66vh;
}
@media (min-width: 1200px) {
  .page-body {
    margin-top: 7.5rem;
  }
}
.home .page-body {
  margin-top: 10.5rem;
}
.page-body .module {
  padding-top: var(--spacer-small);
}
.page-body .module.spacer {
  padding-top: var(--spacer-big);
}
.page-body .intro + section {
  margin-top: var(--spacer-small);
}
.page-body section {
  margin-top: var(--spacer-big);
  padding-bottom: var(--spacer-small);
}
@media (max-width: 991px) {
  .page-body section {
    margin-top: var(--spacer-small);
  }
}
.page-body section + section {
  margin-top: var(--spacer-big);
}
@media (max-width: 991px) {
  .page-body section + section {
    margin-top: var(--spacer-small);
  }
}
.page-body section > .module:first-of-type {
  padding-top: 0;
}

#swup {
  overflow-x: hidden;
}

.swup-transition-main {
  opacity: 1;
  transition: opacity 0.3s, transform 0.4s;
}

html.is-animating .swup-transition-main {
  opacity: 0;
  transform: translate3d(0, -60px, 0);
}
html.is-animating.is-leaving .swup-transition-main {
  opacity: 0;
  transform: translate3d(0, 60px, 0);
}
html.is-animating.swup-theme-reverse .swup-transition-main {
  opacity: 0;
  transform: translate3d(0, 60px, 0);
}
html.is-animating.swup-theme-reverse.is-leaving .swup-transition-main {
  opacity: 0;
  transform: translate3d(0, -60px, 0);
}

.article-header h1 {
  margin-bottom: var(--spacer-big);
}
@media (max-width: 991px) {
  .article-header h1 {
    margin-bottom: var(--spacer-small);
  }
  .article-header h1 br {
    display: none;
  }
}
@media (min-width: 992px) {
  .article-header.has-image + .intro {
    padding-top: var(--spacer-small);
  }
}
.article-header .article-img {
  margin-bottom: 1.5rem;
}
.article-header div.article-img {
  height: 33vw;
  overflow: hidden;
  position: relative;
  z-index: 20;
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}
@media (max-width: 575px) {
  .article-header div.article-img {
    height: 60vw;
  }
}
.article-header div.article-img img {
  width: 100%;
  height: auto;
}
@media (min-width: 0) {
  .article-header div.article-img img {
    margin-top: -8.25vw;
  }
}
@media (max-width: -1) {
  .article-header div.article-img img {
    margin-top: -15vw;
  }
}

/* Instagram Feed */
#instagram-feed {
  margin-top: 9rem;
}
#instagram-feed h2 {
  position: absolute;
  z-index: 999;
  padding-top: 3rem;
  left: 3vw;
}
@media (max-width: 1199px) and (min-width: 768px) {
  #instagram-feed h2 {
    left: 70px;
  }
}
@media (max-width: 767px) {
  #instagram-feed h2 {
    left: 15px;
  }
}
#instagram-feed .gallery {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 12rem;
  padding-bottom: 4.5rem;
  background-color: rgba(234, 234, 234, 0.3);
}
#instagram-feed .carousel-cell {
  margin-right: 2.5vw;
}
#instagram-feed .carousel-cell img {
  width: 100%;
  height: 100%;
}
#instagram-feed .carousel-cell:nth-child(4n+1) {
  width: 24vw;
  height: 24vw;
}
#instagram-feed .carousel-cell:nth-child(4n+2) {
  width: 22.222vw;
  height: 22.222vw;
  margin-top: 9.375vw;
}
#instagram-feed .carousel-cell:nth-child(4n+3) {
  width: 13.333vw;
  height: 13.333vw;
  margin-top: 3.333vw;
}
#instagram-feed .carousel-cell:nth-child(4n+4) {
  width: 17.778vw;
  height: 17.778vw;
  margin-top: 8.75vw;
}

/* Misc */
hr {
  height: 1px;
  border: 0;
  margin: var(--spacer-small) 0;
  background-color: rgba(182, 182, 182, 0.1882352941);
}

#application {
  margin-top: 0;
}
#application input,
#application select,
#application textarea,
#application .selectr-container {
  padding-top: 2px;
  margin: 0 0 1rem;
}
#application .step > .row {
  margin-bottom: 2rem;
}
#application h3 {
  margin-bottom: var(--spacer-small);
}

.committee {
  margin-top: 1.5rem;
  margin-bottom: var(--spacer-small);
}

.termine .row.module time,
.events .row.module time {
  color: #111;
}

#header .navigation {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 18px;
  padding-bottom: 18px;
  font: 500 0.875rem/1.2 "AtlasGrotesk", sans-serif;
  z-index: 9998;
}
@media (max-width: 767px) {
  #header .navigation {
    font-size: 1rem;
    position: fixed;
    top: 0;
    transform: translate3d(0, 0, 0);
  }
}
@media (min-width: 1200px) {
  #header .navigation {
    padding-left: 3vw;
    padding-right: 3vw;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  #header .navigation {
    padding-left: 70px;
    padding-right: 70px;
  }
}
#header .navigation::before {
  position: fixed;
  content: "";
  display: block;
  top: 0;
  right: 0;
  left: 0;
  width: 100vw;
  height: 0;
  background: #fff;
  z-index: 999;
  transition: height ease 0.3s 0.1s, box-shadow ease 0.2s;
}
@media (min-width: 768px) {
  #header .navigation.pinned {
    position: fixed;
    z-index: 9888;
    top: 0;
  }
}
@supports (-webkit-overflow-scrolling: touch) {
  #header .navigation.pinned {
    animation: repaint 1s;
    animation-iteration-count: infinite;
  }
}
@keyframes repaint {
  0% {
    width: 99.999%;
  }
  100% {
    width: 100%;
  }
}
#header .navigation.pinned #main-nav {
  animation: swipeDown ease-out 0.3s;
  animation-fill-mode: forwards;
}
@keyframes swipeDown {
  from {
    transform: translateY(-50px);
  }
  to {
    transform: translateY(0);
  }
}
#header .navigation.pinned::before {
  height: 4rem;
  position: fixed;
  box-shadow: 0 4px 8px rgba(50, 50, 50, 0.04);
}
#header .navigation.pinned .brand #subline {
  opacity: 0;
}
#header .navigation.search-active::before {
  height: 100vh;
}
#header .navigation #main-nav {
  font: 400 0.875rem/1.2 "AtlasGrotesk", sans-serif;
  position: relative;
  z-index: 9998;
}
@media (max-width: 767px) {
  #header .navigation #main-nav {
    font-size: 1rem;
  }
}
@media (max-width: 991px) {
  #header .navigation #main-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: none;
    overflow: hidden;
    display: block;
    background-color: #fff;
    transition: bottom cubic-bezier(0.86, 0, 0.07, 1) 0.4s, box-shadow cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s 0.1s;
    z-index: 999;
  }
}
#header .navigation #main-nav .nav-select {
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 9998;
  transition: opacity ease 0.1s, margin-top ease-in-out 0.2s, max-height ease 0.3;
}
@media (min-width: 992px) {
  #header .navigation #main-nav .nav-select {
    display: flex;
    flex-direction: row;
    align-items: baseline;
  }
}
@media (max-width: 991px) {
  #header .navigation #main-nav .nav-select {
    margin: 9rem 0 30px;
  }
}
@media (min-width: 992px) and (max-width: 1599px) {
  #header .navigation #main-nav .nav-select {
    margin-left: 33.33333%;
    padding-left: 10px;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  #header .navigation #main-nav .nav-select {
    margin-left: 55px;
    margin-right: 55px;
  }
}
#header .navigation #main-nav .nav-select li {
  display: inline-block;
}
#header .navigation #main-nav .nav-select li a {
  display: inline-block;
  white-space: nowrap;
  padding-bottom: 5px;
  color: #111;
}
@media (min-width: 992px) {
  #header .navigation #main-nav .nav-select li a::before {
    display: block;
    content: attr(title);
    font-weight: 500;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    padding-right: 21px;
    box-sizing: border-box;
  }
}
@media (min-width: 992px) {
  #header .navigation #main-nav .nav-select li .i-caret {
    display: none;
  }
}
#header .navigation #main-nav .nav-select li.active a {
  font-weight: 500;
}
#header .navigation #main-nav .nav-select li.active ul a {
  font-weight: 400;
}
@media (min-width: 992px) {
  #header .navigation #main-nav .nav-select li {
    position: relative;
    margin-right: 3rem;
    overflow: hidden;
  }
  #header .navigation #main-nav .nav-select li nav {
    position: absolute;
    left: 100vw;
    top: 100%;
    padding-top: 2rem;
    visibility: hidden;
  }
  #header .navigation #main-nav .nav-select li nav ul {
    position: relative;
    background-color: #111;
    border-radius: 2px;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    padding: 10px 0;
    transform: translateY(30px);
    display: block;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
  }
  #header .navigation #main-nav .nav-select li nav ul::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0;
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translateY(-50%);
    background-color: #111;
  }
  #header .navigation #main-nav .nav-select li nav li {
    margin-right: 0;
    padding: 0;
    display: block;
  }
  #header .navigation #main-nav .nav-select li nav a {
    color: #fff;
    padding: 5px 15px;
    width: 100%;
  }
  #header .navigation #main-nav .nav-select li nav a:hover {
    color: #ccc;
  }
  #header .navigation #main-nav .nav-select li:hover, #header .navigation #main-nav .nav-select li:focus-within {
    overflow: visible;
  }
  #header .navigation #main-nav .nav-select li:hover nav, #header .navigation #main-nav .nav-select li:focus-within nav {
    left: -15px;
    visibility: visible;
  }
  #header .navigation #main-nav .nav-select li:hover nav ul, #header .navigation #main-nav .nav-select li:focus-within nav ul {
    opacity: 1;
    transform: translateY(0);
  }
  #header .navigation #main-nav .nav-select li .i-caret {
    display: none;
  }
}
@media (max-width: 991px) {
  #header .navigation #main-nav .nav-select > li {
    font-size: 1rem;
    margin: 0;
    padding: 12px 0;
    width: 100%;
    border-bottom: 1px solid #eee;
  }
  #header .navigation #main-nav .nav-select > li > a {
    width: calc(100% - 36px);
    line-height: 32px;
    padding-bottom: 0;
  }
  #header .navigation #main-nav .nav-select > li nav {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all ease 0.3s;
  }
  #header .navigation #main-nav .nav-select > li nav ul {
    margin: 10px 0;
    padding: 0 0 0 20px;
  }
  #header .navigation #main-nav .nav-select > li nav ul li {
    width: 100%;
    margin: 4px 0;
    padding: 2px 0;
  }
  #header .navigation #main-nav .nav-select > li nav ul .active {
    font-weight: 500;
  }
  #header .navigation #main-nav .nav-select > li.expanded nav {
    max-height: 300px;
    opacity: 1;
  }
  #header .navigation #main-nav .nav-select > li.expanded .i-caret {
    transform: rotate(-180deg);
  }
  #header .navigation #main-nav .nav-select > li.expanded nav {
    display: block;
  }
  #header .navigation #main-nav .nav-select > li a::after {
    display: none;
  }
  #header .navigation #main-nav .nav-select > li .i-caret {
    vertical-align: middle;
    float: right;
    cursor: pointer;
    margin-right: -5px;
    transition: transform cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.3s;
  }
}
#header .navigation #nav-icons {
  position: fixed;
  z-index: 9998;
  top: 15px;
  display: flex;
  flex-flow: row;
  align-items: center;
  transition: top ease 0.3s;
}
@media (min-width: 1200px) {
  #header .navigation #nav-icons {
    right: 3vw;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  #header .navigation #nav-icons {
    right: 65px;
  }
}
@media (max-width: 767px) {
  #header .navigation #nav-icons {
    right: 15px;
  }
}
#header .navigation #nav-icons button {
  padding: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: 0 0 0 5px;
}
#header .navigation.nav-active .brand, #header .navigation.search-active .brand {
  overflow: visible;
}
#header .navigation.nav-active .brand #subline, #header .navigation.search-active .brand #subline {
  opacity: 1;
}
#header .navigation.nav-active #main-nav {
  bottom: -100vh;
  overflow: scroll;
  box-shadow: 0 7px 10px hsla(0, 0%, 0%, 0.05);
}
#header .navigation.nav-active #nav-icons .menu-button .navicon {
  background: transparent;
}
#header .navigation.nav-active #nav-icons .menu-button .navicon:before,
#header .navigation.nav-active #nav-icons .menu-button .navicon:after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.895, 0.03, 0.685, 0.22), transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s 0.2s;
}
#header .navigation.nav-active #nav-icons .menu-button .navicon:before {
  transform: rotate(45deg);
}
#header .navigation.nav-active #nav-icons .menu-button .navicon:after {
  transform: rotate(-45deg);
}

/*=====  Menu Icon  ======*/
.menu-button {
  position: relative;
}
@media (min-width: 992px) {
  .menu-button {
    display: none !important;
  }
}
.menu-button .navicon {
  background: #333;
  display: block;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: background 0.05s linear 0.2s;
  width: 18px;
}
.menu-button .navicon:before,
.menu-button .navicon:after {
  background: #333;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: top 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s, transform cubic-bezier(0.895, 0.03, 0.685, 0.22) 0.2s;
  width: 100%;
}
.menu-button .navicon:before {
  top: 6px;
}
.menu-button .navicon:after {
  top: -6px;
}

#skip-to-content {
  width: 1px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: block;
}

#toggle-search #search-close {
  display: none;
}

.brand {
  position: fixed;
  z-index: 9998;
  color: #111;
  overflow: hidden;
  display: inline-block;
  max-height: 5rem;
}
.pinned .brand {
  max-height: 1.5rem;
  transition: max-height linear 0.4s 0.1s;
}
.brand .h {
  visibility: hidden;
}
.brand #subline {
  transition: opacity cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
}

.footer {
  margin-top: 7.5rem;
  color: white;
  font: 400 1rem/2 "AtlasGrotesk", sans-serif;
  background-color: #111;
}
.studiengang_iot .footer {
  background-color: #463CA0;
}
.studiengang_iot .footer form input {
  border-bottom-color: #fff;
}
.studiengang_iot .footer form input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_iot .footer form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_iot .footer form .button {
  background-color: #403691;
}
.studiengang_iot .footer small a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
.studiengang_ig .footer {
  background-color: #7DC300;
}
.studiengang_ig .footer form input {
  border-bottom-color: #fff;
}
.studiengang_ig .footer form input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_ig .footer form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_ig .footer form .button {
  background-color: #70af00;
}
.studiengang_ig .footer small a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
.studiengang_kg .footer {
  background-color: #FF6400;
}
.studiengang_kg .footer form input {
  border-bottom-color: #fff;
}
.studiengang_kg .footer form input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_kg .footer form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_kg .footer form .button {
  background-color: #eb5c00;
}
.studiengang_kg .footer small a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
.studiengang_pg .footer {
  background-color: #009BF5;
}
.studiengang_pg .footer form input {
  border-bottom-color: #fff;
}
.studiengang_pg .footer form input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_pg .footer form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_pg .footer form .button {
  background-color: #008ee1;
}
.studiengang_pg .footer small a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
.studiengang_sg .footer {
  background-color: #B40097;
}
.studiengang_sg .footer form input {
  border-bottom-color: #fff;
}
.studiengang_sg .footer form input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_sg .footer form input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.studiengang_sg .footer form .button {
  background-color: #a00086;
}
.studiengang_sg .footer small a {
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 768px) {
  .footer .container {
    padding-top: 3rem;
  }
}
@media (max-width: 767px) {
  .footer .container {
    padding-top: 0.75rem;
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .footer .footer-row {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
}
@media (max-width: 767px) {
  .footer .footer-row {
    padding-top: 1.5rem;
    padding-bottom: 0;
  }
}
.footer .footer-row p {
  color: rgba(255, 255, 255, 0.5);
}
.footer h5 {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 400;
  opacity: 0.5;
}
.footer small {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
}
.footer small a {
  margin-right: 10px;
  padding-bottom: 4px;
  color: rgba(255, 255, 255, 0.5);
  border-bottom: 2px solid #46474a;
}
.footer .button {
  margin-top: 0;
  min-width: unset;
}
@media (max-width: 767px) {
  .footer .icons {
    margin-bottom: 1.5rem;
  }
}
.footer .icons a {
  opacity: 0.8;
  margin-right: 1rem;
  transition: opacity ease-in-out 0.2s;
}
.footer .icons a:hover {
  opacity: 1;
}
@media (min-width: 576px) {
  .footer .icons + div {
    text-align: right;
  }
  .footer .icons + div a:last-child {
    margin-right: 0;
  }
}
.footer a {
  color: #fff;
}
.footer a:hover {
  color: rgb(200, 200, 200);
}
.footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .footer ul {
    margin-bottom: 2rem;
  }
}

@media (max-width: 767px) {
  #newsletter {
    margin-bottom: 0.75rem;
  }
  #newsletter legend {
    margin-bottom: 0;
  }
  #newsletter input:not(:-moz-placeholder-shown) {
    border-bottom-color: #fff;
  }
  #newsletter input:not(:placeholder-shown) {
    border-bottom-color: #fff;
  }
  #newsletter .button {
    margin-top: 1rem;
  }
}
.info-section .subtitle {
  font: 400 0.875rem/1.5 "AtlasGrotesk", sans-serif;
  color: rgba(0, 0, 0, 0.4);
  display: inline-block;
  margin-bottom: 0.5rem;
}
.info-section .portrait {
  width: 100%;
  margin: 0 0 20px;
}
.info-section .icon {
  margin-right: 10px;
}

.accordion h2 {
  padding-top: 0.5rem;
}
.accordion .accordion-content.active {
  padding: 20px 0 0;
}
.accordion .head {
  cursor: pointer;
  line-height: 1.5;
}
.accordion .head button {
  margin-left: 20px;
}

.accordion-content, .accordion-row {
  max-height: 0;
  overflow: hidden;
  transition: all 0.2s ease;
  padding: 0;
  margin-bottom: 0;
  margin-top: 0;
  opacity: 0;
}
.accordion-content.active, .accordion-row.active {
  opacity: 1;
  max-height: 4000px;
}

.accordion > ol, .accordion > ul {
  list-style: none;
  width: 100%;
  padding: 0;
  margin: 0;
}
.accordion > ol > li, .accordion > ul > li {
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.accordion > ol > li .head div, .accordion > ol > li .head:before, .accordion > ul > li .head div, .accordion > ul > li .head:before {
  color: #000000;
  font: 500 24px/1.33 "AtlasGrotesk", sans-serif;
}
.accordion > ol {
  counter-reset: list-counter;
}
.accordion > ol > li {
  counter-increment: list-counter;
  position: relative;
}
@media (min-width: 768px) {
  .accordion > ol > li {
    padding-left: 3rem;
  }
}
@media (max-width: 767px) {
  .accordion > ol > li {
    padding-left: 30px;
  }
}
.accordion > ol > li .head::before {
  content: counter(list-counter) " ";
  position: absolute;
  left: 0;
  top: 20px;
  display: inline-block;
  color: rgba(70, 71, 74, 0.6);
}

.persons ul {
  list-style: none;
  width: 100%;
  padding: 0;
  margin: 0;
}
.persons ul li {
  width: 100%;
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #E1E1E1;
}
.persons ul li:first-child {
  margin-top: 0;
}
.persons ul li:last-child {
  border-bottom: 0;
}
.persons .content {
  margin-top: 20px;
}

.bewerben-section .parent {
  position: absolute;
  z-index: -1;
  left: 0;
  margin: 0;
  padding: 0;
}
@media (min-width: 768px) {
  .bewerben-section .parent {
    position: relative;
    width: 72rem;
    margin: 0 auto;
    max-width: 80vw;
    left: inherit;
    padding: inherit;
  }
  .bewerben-section .parent .child {
    width: auto;
  }
  .bewerben-section .parent .child img {
    width: 100%;
  }
}
@media screen and (min-width: 1440px) {
  .bewerben-section .parent .child {
    margin-right: calc((72rem - 100vw) / 2);
  }
}
.bewerben-section .title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .bewerben-section .title {
    padding-top: 84px;
  }
}
@media (max-width: 991px) {
  .bewerben-section .title {
    padding-top: 2rem;
  }
}
.bewerben-section .title .parent-title {
  position: relative;
  z-index: 10;
}
@media (min-width: 992px) {
  .bewerben-section .title .parent-title {
    width: 30rem;
    max-width: 80vw;
  }
}
@media (min-width: 992px) {
  .bewerben-section .title .parent-title .bewerben {
    margin-bottom: 88px;
  }
}
@media screen and (min-width: 1440px) {
  .bewerben-section .title .parent-title .child {
    margin-right: calc((72rem - 100vw) / 2);
  }
}

aside .articles {
  margin-top: 10vw;
}
.articles article {
  margin-bottom: var(--spacer-small);
}
.articles article a {
  border-bottom: none;
  padding-bottom: 0;
}
@media (min-width: 576px) {
  .articles article a + header {
    margin-top: 1.5rem;
  }
}
.articles article header + p a {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.articles article h4 a, .articles article p a, .articles article h4 a:hover, .articles article p a:hover {
  color: inherit;
}
@media (min-width: 576px) {
  .articles article header {
    margin-bottom: 1rem;
  }
}
@media (max-width: 575px) {
  .articles article p {
    margin-bottom: 0;
  }
  .articles article .row + p {
    display: none;
  }
}
.articles .button {
  margin-top: 0;
}

.nav_breadcrumb ol {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.nav_breadcrumb {
  margin-bottom: 0;
}
.nav_breadcrumb .nav_item {
  float: left;
  font: 400 1rem/1.6 "AtlasGrotesk", sans-serif;
}
.nav_breadcrumb .nav_item a {
  color: #000;
  opacity: 0.6;
  transition: opacity ease 0.2s;
}
.nav_breadcrumb .nav_item a:hover {
  opacity: 0.8;
}
.nav_breadcrumb .nav_item::after {
  content: "/";
  display: inline-block;
  opacity: 0.3;
  padding: 0 5px 0 3px;
}
.nav_breadcrumb .nav_item:last-child::after {
  content: "";
  display: none;
}
.nav_breadcrumb:after {
  content: "";
  display: table;
  clear: both;
}

.breadcrumbs + section {
  margin-top: 2rem;
}

.calendar .col-auto + .col-12 {
  margin-top: 1.5rem;
}
.calendar .cal-entry {
  padding-bottom: var(--spacer-small);
}
@media (min-width: 992px) {
  .calendar .cal-entry header.fh {
    min-height: 6rem;
  }
}
.calendar .cal-entry:last-of-type {
  padding-bottom: 0;
}
.calendar .cal-entry p a {
  color: inherit;
  border-bottom: none;
}
.calendar .carousel {
  margin-left: -15px;
  margin-right: -15px;
}
.calendar .carousel .flickity-viewport {
  width: 100%;
  overflow: visible;
}
.calendar .carousel .cal-entry {
  display: block;
  flex: unset;
  width: 33.3333%;
  padding-left: 15px;
  padding-right: 15px;
}
.calendar.list {
  margin-top: 0;
  border-bottom: 1px solid rgba(182, 182, 182, 0.1882352941);
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .calendar.list {
    padding-bottom: var(--spacer-small);
    padding-top: var(--spacer-big);
  }
}
.calendar.list:last-of-type {
  border-bottom: 0;
}
.calendar.past {
  padding-top: 0;
}
.calendar .button {
  margin-top: 0;
}

.calendar + nav {
  margin-top: 8vh;
}

#past-events {
  opacity: 0.5;
  margin-top: -8rem;
}

.cal-meta p {
  margin-bottom: 2rem;
}

.askus .title, .persons .title {
  margin: -0.2rem 0 0;
}
.askus .portrait-img, .persons .portrait-img {
  width: 100%;
  align-self: center;
  margin-bottom: 0;
}
.askus p, .persons p {
  margin-bottom: 0.8rem;
}

.askus + .askus {
  margin-top: 3rem;
}

.contact-section {
  margin-top: auto;
}
.contact-section > p {
  margin: 0;
}
.contact-section + p {
  margin-top: 1.5rem;
}
.contact-section i {
  margin-right: 8px;
}
.contact-section a {
  color: #000;
  border-bottom: none;
}

.contact .col-md-8 + .info-section {
  margin-top: 3rem;
}

@media screen {
  .gallery {
    margin-top: var(--spacer-big);
    margin-bottom: var(--spacer-big);
    position: relative;
  }
  .gallery .gallery-caption {
    margin: 3rem 0;
    font: 400 0.85rem/1 "AtlasGrotesk", sans-serif;
    color: #46474a;
    opacity: 0.6;
    position: absolute;
    transition: margin-top ease 0.3s;
  }
  .gallery .carousel-cell {
    height: 65vh;
    margin-left: 15px;
    margin-right: 15px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 991px) {
  .gallery .carousel-cell {
    height: auto;
  }
}
@media screen {
  .gallery .carousel-cell img {
    width: auto;
    height: 100%;
    max-width: 90vw;
  }
}
@media screen and (max-width: 1024px) {
  .gallery .carousel-cell img {
    height: auto;
    max-height: 100%;
    max-width: calc(100vw - 30px);
  }
}
@media screen {
  .topics .flickity-viewport,
  .gallery .flickity-viewport,
  .portfolio .flickity-viewport {
    overflow: visible;
  }
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    z-index: 100;
  }
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    width: 100vw;
  }
}
@media screen and (min-width: 1600px) {
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    margin-left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    margin-left: -235px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    margin-left: -70px;
  }
}
@media screen and (max-width: 767px) {
  .topics .controls,
  .gallery .controls,
  .portfolio .controls {
    margin-left: -15px;
  }
}
@media screen {
  .topics .controls .control,
  .gallery .controls .control,
  .portfolio .controls .control {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    cursor: ew-resize;
  }
}
@media screen and (max-width: 768px) {
  .topics .controls .control,
  .gallery .controls .control,
  .portfolio .controls .control {
    display: none;
  }
}
@media screen {
  .topics .controls .control.left,
  .gallery .controls .control.left,
  .portfolio .controls .control.left {
    left: 0;
    cursor: url(../icons/arrow-left.png) 16 13, url(../icons/arrow-left.cur), auto;
  }
  .topics .controls .control.right,
  .gallery .controls .control.right,
  .portfolio .controls .control.right {
    right: 0;
    cursor: url(../icons/arrow-right.png) 16 13, url(../icons/arrow-right.cur), auto;
  }
  .topics .controls.dragging,
  .gallery .controls.dragging,
  .portfolio .controls.dragging {
    cursor: grabbing;
  }
  .topics .controls.dragging .control,
  .gallery .controls.dragging .control,
  .portfolio .controls.dragging .control {
    visibility: hidden;
  }
  .topics .gallery-title p,
  .gallery .gallery-title p,
  .portfolio .gallery-title p {
    font-size: 1rem;
    transition: opacity cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  }
}
@media screen and (min-width: 1024px) {
  .topics .gallery-title + .col-8 .controls,
  .gallery .gallery-title + .col-8 .controls,
  .portfolio .gallery-title + .col-8 .controls {
    margin-left: -48%;
  }
}
@media screen {
  .topics:not([data-selected="0"]) .gallery-title p,
  .gallery:not([data-selected="0"]) .gallery-title p,
  .portfolio:not([data-selected="0"]) .gallery-title p {
    opacity: 0;
  }
  .gallery .carousel,
  .hero .carousel {
    opacity: 0;
    transition: opacity ease 0.3s;
  }
  .gallery .carousel.flickity-enabled,
  .hero .carousel.flickity-enabled {
    opacity: 1;
  }
  .hero {
    margin-bottom: 10.5rem;
    min-height: 360px;
    position: relative;
  }
}
@media screen and (min-width: 1200px) {
  .hero {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .hero {
    margin-bottom: 7.5rem;
  }
}
@media screen {
  .hero .carousel {
    height: 32vw;
    min-height: 360px;
  }
}
@media screen and (min-width: 1600px) {
  .hero .carousel {
    width: calc(100% + (100vw - 1140px) / 2 + 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .hero .carousel {
    width: calc(100% + 235px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .hero .carousel {
    width: calc(100% + 70px);
  }
}
@media screen and (max-width: 767px) {
  .hero .carousel {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .hero .carousel {
    min-height: 220px;
  }
}
@media screen {
  .hero .carousel .carousel-cell {
    width: 100%;
    height: 100%;
  }
  .hero .carousel .carousel-cell .cell-inner {
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    position: relative;
  }
  .hero .carousel .carousel-cell img {
    width: 100%;
    height: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .hero .carousel .carousel-cell img {
    width: auto;
    min-width: 100%;
    min-height: 100%;
  }
}
@media screen {
  .hero .info {
    width: 32vw;
    min-width: 350px;
    height: 32vw;
    min-height: 360px;
    box-shadow: 0 35px 30px -40px rgba(74, 74, 74, 0.15);
    position: absolute;
    overflow: hidden;
    top: 2.5vw;
    transition: top cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  }
}
@media screen and (min-width: 1600px) {
  .hero .info {
    left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .hero .info {
    left: -235px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .hero .info {
    left: -70px;
  }
}
@media screen and (max-width: 767px) {
  .hero .info {
    position: static;
    width: 100%;
    height: auto;
    min-height: unset;
    min-width: 0;
    transition: top cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, height ease 0.3s;
  }
  .hero .info .flickity-viewport {
    transition: height ease 0.3s;
    min-height: 200px;
  }
}
@media screen and (min-width: 768px) {
  .hero .info .flickity-viewport {
    height: 100% !important;
  }
}
@media screen {
  .is-animating .hero .info {
    top: -5%;
  }
  .is-leaving .hero .info {
    top: 10%;
  }
  .hero .info .carousel-cell {
    width: 100%;
    height: 100%;
    padding: 3vw;
  }
  .hero .info .carousel-cell h2 {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .info .carousel-cell h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 1600px) {
  .hero .info .carousel-cell p {
    font: 400 1.4rem/1.5 "AtlasGrotesk", sans-serif, sans-serif;
  }
}
@media screen and (max-width: 767px) {
  .hero .info .carousel-cell {
    padding: 30px 15px;
    height: auto;
    min-height: 100%;
  }
}
@media screen {
  .hero .info .carousel-cell.white, .hero .info .carousel-cell.white .button span {
    color: #fff;
  }
  .hero .info .carousel-cell .button {
    background-color: rgba(0, 0, 0, 0.05);
  }
  .hero .info .carousel-cell .button-container {
    margin: 0;
  }
  .hero .info .carousel-cell.white .button {
    background-color: rgba(255, 255, 255, 0.05);
  }
  .hero .info .carousel-cell > * {
    opacity: 0;
    transition: opacity ease 0.2s;
  }
  .hero .info .carousel-cell.is-selected > * {
    opacity: 1;
    transition: opacity ease 0.5s 0.1s;
  }
  .hero .info .flickity-page-dots {
    bottom: 40px;
    text-align: left;
    left: 70px;
    width: auto;
  }
}
@media screen and (min-width: 1200px) {
  .hero .info .flickity-page-dots {
    left: 3vw;
    bottom: 3vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .hero .info .flickity-page-dots {
    left: 50vw;
    transform: translateX(-50%);
    width: 150px;
    text-align: center;
    bottom: -10%;
  }
}
@media screen and (max-width: 767px) {
  .hero .info .flickity-page-dots {
    left: 50%;
    bottom: -10%;
    z-index: 999;
    transform: translate(-50%, -50%);
  }
}
@media screen {
  .hero .info .flickity-page-dots .dot {
    width: 14px;
    height: 14px;
    position: relative;
    margin: 0 5px;
  }
  .hero .info .flickity-page-dots .dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #111;
    transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  }
  .hero .info .flickity-page-dots .dot.is-selected::before {
    width: 14px;
    height: 14px;
  }
}
@media screen and (min-width: 992px) {
  .hero .info .flickity-page-dots.white .dot::before {
    border-color: #fff;
  }
}
.icons dl {
  font-size: 1.125rem;
  line-height: 1.6;
}
.icons dl dt {
  font-weight: 500;
  margin-bottom: 1rem;
}
.icons img {
  width: 50%;
  display: block;
  margin: 1rem auto;
}
@media (min-width: 992px) {
  .icons > div:nth-child(n+5) {
    margin-top: 2rem;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .icons > div:nth-child(n+4) {
    margin-top: 2rem;
  }
}
@media (max-width: 767px) {
  .icons > div:nth-child(n+3) {
    margin-top: 2rem;
  }
}

.list {
  list-style: none;
  margin-top: -20px;
  margin-bottom: 0;
  padding: 0;
  overflow-wrap: normal !important;
}
.list li {
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #eaeaea;
  font: 1.25rem/1.3 "AtlasGrotesk", sans-serif;
}
.list li a {
  color: #000;
  display: block;
  display: flex;
  align-items: center;
  z-index: 10;
}
.list li a + a {
  margin-right: 42px;
}
.list li em {
  font-size: 1.125rem;
  line-height: 1.5;
  margin-top: 0.5rem;
}
.list.linklist a {
  justify-content: space-between;
}
.list.linklist a i {
  transition: transform ease-out 0.2s;
  margin-left: 10px;
}
.list.linklist a:hover .i-arrow {
  transform: translateX(4px);
}
.list.linklist a:hover .i-download {
  transform: translateY(3px);
}
.list.linklist a[target=_blank] .i-arrow {
  transform: rotate(-45deg);
}
.list.linklist a[target=_blank]:hover .i-arrow {
  transform: translate(2px, -1px) rotate(-45deg);
}
.list.downloadlist a *:first-child {
  margin-right: 10px;
}

.downloadlist small {
  color: #959595;
  margin-left: auto;
  display: inline-block;
}

.list .button {
  width: 272px;
  height: 64px;
  text-decoration: none;
}
.list .button span {
  font: 400 1.125rem "AtlasGrotesk", sans-serif;
}
.list .button.filled span {
  color: #ffffff;
}
.list .button.outline {
  border: 1px solid black;
  background-color: #fff;
}
.list .button.outline span {
  color: black;
}

@media (min-width: 768px) {
  .switch-visible, .notification-visible, .flash-visible {
    margin-top: 60px;
  }
  .switch-visible .headerbar, .notification-visible .headerbar, .flash-visible .headerbar {
    top: 0;
  }
  .switch-visible #header .navigation #nav-icons, .notification-visible #header .navigation #nav-icons, .flash-visible #header .navigation #nav-icons {
    top: 75px;
  }
}
@media (max-width: 767px) {
  .switch-visible .headerbar, .notification-visible .headerbar, .flash-visible .headerbar {
    bottom: 0;
  }
}
.switch-visible .headerbar, .notification-visible .headerbar, .flash-visible .headerbar {
  visibility: visible;
}
@media (min-width: 768px) {
  .switch-visible.notification-visible #notification {
    top: 60px;
  }
}
@media (max-width: 767px) {
  .switch-visible.notification-visible #notification {
    bottom: 60px;
  }
}

.headerbar {
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: fixed;
  display: flex;
  transition: all ease 0.3s;
  z-index: 9990;
  visibility: hidden;
}
@media (min-width: 768px) {
  .headerbar {
    top: -60px;
  }
}
@media (max-width: 767px) {
  .headerbar {
    bottom: -60px;
  }
}
.headerbar .row {
  position: absolute;
  top: 0;
  align-items: center;
  justify-content: flex-end;
  left: 0;
  right: 0;
  padding: inherit;
  pointer-events: none;
}
.headerbar p {
  margin-bottom: 0;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  max-width: 95%;
}
@media (max-width: 1200px) {
  .headerbar p {
    font-size: 1rem;
  }
}
.headerbar a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 2px solid #46474a;
}
.headerbar a:hover {
  color: rgb(255, 255, 255);
}
.headerbar .container {
  display: flex;
  justify-content: space-between;
  align-self: center;
}
.headerbar button {
  margin-left: 4px;
  pointer-events: all;
}
@media (max-width: 991px) {
  .headerbar button {
    float: right;
    padding-right: 0;
  }
}
@media (min-width: 992px) {
  .headerbar button {
    position: absolute;
    top: 50%;
    right: 3vw;
    transform: translateY(-50%);
  }
}
.headerbar button i {
  padding: 0;
  display: block;
  width: 14px;
  height: 14px;
}

#language-switch {
  background-color: #1d1d1d;
}

#notification, #flash-notice {
  background-color: #7dc300;
}

#flash-error {
  background-color: #D80000;
}

#notification p, #flash-notice p, #flash-error p {
  color: rgba(255, 255, 255, 0.85);
}
#notification a, #flash-notice a, #flash-error a {
  color: rgba(255, 255, 255, 0.85);
  border-bottom-color: rgba(255, 255, 255, 0.6);
}

@media (min-width: 768px) {
  body {
    transition: all ease 0.3s;
  }
}
.numbers .col-md-4 + .col-12 {
  margin-top: var(--spacer-small);
}

.numbers dl {
  margin-bottom: 6rem;
}
@media (max-width: 767px) {
  .numbers dl {
    margin-bottom: var(--spacer-small);
  }
}

.numbers dt {
  font: 600 5rem/1 "AtlasGrotesk", sans-serif;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .numbers dt {
    font-size: 3rem;
  }
}

.numbers dd {
  font: 500 1.5rem/1.25 "AtlasGrotesk", sans-serif;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
  overflow-wrap: break-word;
}
@media (max-width: 767px) {
  .numbers dd {
    font-size: 1.25rem;
  }
}
.numbers dd i {
  margin-left: 10px;
  display: inline-block;
  vertical-align: sub;
}

.programmes .row > .col-6 {
  margin-bottom: var(--spacer-small);
}
.programmes .row > .col-6:nth-last-child(-n+3) {
  margin-bottom: 0;
}

.card {
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal;
  /* Adds a hyphen where the word breaks */
  -webkit-hyphens: auto;
  hyphens: auto;
}
.card > a {
  display: block;
  overflow: hidden;
}
.card:hover img {
  transform: scale(1);
}
.card img {
  max-width: 100%;
  width: 100%;
  transform: scale(1.1);
  transition: transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .card img {
    transition: none;
  }
}
.card .description {
  padding-top: 20px;
  max-width: 100%;
  display: block;
}
.card .description h4 {
  font: 500 1.125rem "AtlasGrotesk", sans-serif;
}

.page-body blockquote {
  font: 500 1.125rem/1.6 "AtlasGrotesk", sans-serif;
  margin: 0 0 4rem;
}
.page-body blockquote footer {
  margin: 2rem 0 0;
  line-height: 1.5;
}
.page-body blockquote footer cite {
  font-weight: 400;
  font-style: normal;
}
@media (min-width: 768px) {
  .page-body blockquote.col-md-6 {
    padding-right: 30px;
  }
}
.page-body blockquote.quote-big {
  font: 500 2rem/1.5 "AtlasGrotesk", sans-serif;
  margin-bottom: 6rem;
}
.page-body blockquote.quote-big footer {
  margin-top: 4rem;
  line-height: 1.5;
}
.page-body blockquote.quote-big footer, .page-body blockquote.quote-big footer em {
  font-size: 1.125rem;
}
.page-body blockquote.quote-big footer em {
  color: rgba(70, 71, 74, 0.6);
}

table {
  width: 100%;
}
@media (max-width: 767px) {
  .list-section table {
    margin-bottom: var(--spacer-big);
  }
}
@media (min-width: 768px) {
  .list-section table {
    margin-top: -0.8rem;
  }
}
.list-section table tbody {
  border-top: 0;
}
table th, table td {
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
  vertical-align: top;
  border-bottom: 1px solid #eaeaea;
  padding: 20px 15px;
}
table th:first-child, table td:first-child {
  padding-left: 0;
}
table th:last-child, table td:last-child {
  padding-right: 0;
}
table th {
  font-weight: 500;
}
table th span {
  cursor: pointer;
}
table tbody {
  border-top: 1px solid #eaeaea;
}
table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #eaeaea;
}
table .sorted span::after {
  content: "▾";
  display: inline-block;
  padding-left: 10px;
}
table tr.active .accordion-content {
  opacity: 1;
  max-height: 2000px;
  margin-top: 30px;
}
table.clickable tbody td {
  cursor: pointer;
}
table.clickable tbody td .accordion-content {
  cursor: default;
}
table .contact-section {
  margin: 0 0 0.5rem;
}

.mediaembed {
  padding-bottom: 56.25%;
  position: relative;
}
.mediaembed iframe {
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  bottom: 0;
  width: calc(100% - 30px);
  height: 100%;
}

img:not([src]) {
  visibility: hidden;
}

img[data-src],
img[data-srcset] {
  display: block;
  min-height: 1px;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

figure figcaption {
  padding: 1.5rem 0 0;
  margin-bottom: 1.5rem;
  color: #959595;
}

/*=====  Search Modal  ======*/
#searchmodal {
  position: fixed;
  z-index: 9990;
  top: 4rem;
  left: 0;
  right: 0;
  bottom: 100%;
  overflow: hidden;
  opacity: 0;
  transition: opacity cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s 0.2s;
}
#searchmodal .searchmodule {
  height: 100%;
}
@media (min-width: 1200px) {
  #searchmodal .searchmodule {
    padding-top: 4.5rem;
  }
}
@media (max-width: 991px) {
  #searchmodal .searchmodule {
    padding-top: 3rem;
  }
}

@media (max-width: 991px) {
  #search-results {
    background-color: #fff;
  }
}
.search-active #searchmodal {
  opacity: 1;
  bottom: 0;
  overflow: scroll;
}
@media (max-width: 1200px) {
  .search-active #searchmodal {
    top: 8rem;
  }
}
@media (min-width: 992px) {
  .search-active #searchmodal {
    padding-bottom: 12rem;
  }
}
@media (max-width: 767px) {
  .search-active #searchmodal {
    bottom: calc(-100vh + 4rem);
  }
}
.search-active #toggle-search #search-open {
  display: none;
}
.search-active #toggle-search #search-close {
  display: inline-block;
}
.search-active .result {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #eaeaea;
}
.search-active .result:last-child, .search-active .result.more {
  border-bottom: none;
}
.search-active .result .search-term {
  display: inline-block;
  color: #000;
  background-color: #eaeaea;
  margin-left: -2px;
  margin-right: -2px;
  padding-left: 2px;
  padding-right: 2px;
}
.search-active .result h3 {
  margin: 0;
}
.search-active .result h3 + p, .search-active .result h3 + .contact-section {
  margin-top: 0.5rem;
}
.search-active .result h3 + p:last-of-type, .search-active .result h3 + .contact-section:last-of-type {
  margin-bottom: 0;
}
.search-active .result small {
  font-size: 1rem;
  font-weight: 400;
}
.search-active .result.person .contact-section {
  margin-top: 0.5rem;
}
.search-active .result.person .contact-section i {
  align-self: baseline;
}
.search-active .result.person p {
  margin-top: 0;
  margin-bottom: 0;
}

.searchinput {
  margin-bottom: 4.5rem;
}
@media (min-width: 992px) {
  .searchinput .i-search.i-large {
    transform: translateX(-10px);
  }
}
@media (max-width: 991px) {
  .searchinput .i-search.i-large {
    display: none;
  }
}
.searchinput #searchquery {
  font: 700 3rem/1.2 "AtlasGrotesk", sans-serif;
  color: #fff;
  background: none;
  outline: none;
  margin: 0;
  padding: 0 0 8px;
  height: 64px;
  border-bottom-color: #fff;
}
.searchinput #searchquery:focus, .searchinput #searchquery:active {
  outline: none;
}
.searchinput #searchquery::-moz-placeholder {
  opacity: 0.4;
}
.searchinput #searchquery::placeholder {
  opacity: 0.4;
}
@media (max-width: 991px) {
  .searchinput #searchquery {
    font: 400 1.25rem/1.2 "AtlasGrotesk", sans-serif;
    height: 24px;
    background: url(../assets/svg/search.svg) no-repeat center right;
  }
}
.searchinput .button {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .searchinput .button {
    margin: 0 0 0 15px;
    width: auto;
  }
}

@media (min-width: 992px) {
  #search-results {
    padding-bottom: 10vh;
  }
}
#search-results .result-section {
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #eaeaea;
}
#search-results .result-section:last-of-type {
  border-bottom: 0;
}
#search-results .result-section h2 em {
  display: inline-block;
  min-width: 40px;
}
#search-results .result-section .module {
  margin-top: 0;
  margin-bottom: 0;
}
#search-results .result-section .result {
  margin-bottom: 2.25rem;
}
#search-results .result-section .result h3 {
  margin: 0;
}
#search-results .result-section .result h3 + p {
  margin-top: 0.5rem;
}

/**
 *
 * UI elements like inputs and buttons
 *
 */
.v-select {
  position: relative;
  font-family: inherit;
  width: 100%;
  border-bottom: 2px solid #eaeaea;
  transition: border-bottom-color ease-out 0.2s;
}
.v-select:hover {
  border-bottom-color: #111;
}

.v-select,
.v-select * {
  box-sizing: border-box;
}

/* KeyFrames */
@keyframes vSelectSpinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Dropdown Default Transition */
.vs__fade-enter-active,
.vs__fade-leave-active {
  transition: opacity 0.15s cubic-bezier(1, 0.5, 0.8, 1);
}

.vs__fade-enter,
.vs__fade-leave-to {
  opacity: 0;
}

/** Component States */
/*
 * Disabled
 *
 * When the component is disabled, all interaction
 * should be prevented. Here we modify the bg color,
 * and change the cursor displayed on the interactive
 * components.
 */
.vs--disabled .vs__dropdown-toggle,
.vs--disabled .vs__clear,
.vs--disabled .vs__search,
.vs--disabled .vs__selected,
.vs--disabled .vs__open-indicator {
  cursor: not-allowed;
  background-color: rgb(248, 248, 248);
}

/*
 *  RTL - Right to Left Support
 *
 *  Because we're using a flexbox layout, the `dir="rtl"`
 *  HTML attribute does most of the work for us by
 *  rearranging the child elements visually.
 */
.v-select[dir=rtl] .vs__actions {
  padding: 0 3px 0 6px;
}
.v-select[dir=rtl] .vs__clear {
  margin-left: 6px;
  margin-right: 0;
}
.v-select[dir=rtl] .vs__deselect {
  margin-left: 0;
  margin-right: 2px;
}
.v-select[dir=rtl] .vs__dropdown-menu {
  text-align: right;
}

/**
    Dropdown Toggle

    The dropdown toggle is the primary wrapper of the component. It
    has two direct descendants: .vs__selected-options, and .vs__actions.

    .vs__selected-options holds the .vs__selected's as well as the
    main search input.

    .vs__actions holds the clear button and dropdown toggle.
 */
.vs__dropdown-toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  background: none;
  white-space: normal;
}

.vs__selected-options {
  display: flex;
  flex-basis: 100%;
  flex-grow: 1;
  flex-wrap: wrap;
  position: relative;
}

.vs__actions {
  display: flex;
  align-items: center;
}

/* Dropdown Toggle States */
.vs--searchable .vs__dropdown-toggle {
  cursor: text;
}

.vs--unsearchable .vs__dropdown-toggle {
  cursor: pointer;
}

.vs__open-indicator {
  display: block;
  width: 20px;
  height: 20px;
  cursor: pointer;
  background: url(../assets/svg/caret.svg) no-repeat center center;
  background-size: 28px 28px;
  transition: transform 150ms cubic-bezier(1, -0.115, 0.975, 0.855);
  transition-timing-function: cubic-bezier(1, -0.115, 0.975, 0.855);
}

.vs--open .vs__open-indicator {
  transform: rotate(180deg) scale(1);
}

.vs--loading .vs__open-indicator {
  opacity: 0;
}

/* Clear Button */
.vs__clear {
  width: 20px;
  height: 20px;
  display: block;
  background: url(../assets/svg/close.svg) no-repeat center center;
  background-size: 20px 20px;
  cursor: pointer;
}

/* Dropdown Menu */
.vs__dropdown-menu {
  display: block;
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  z-index: 1000;
  padding: 5px 0;
  margin: 0;
  width: 100%;
  max-height: 350px;
  min-width: 160px;
  overflow-y: auto;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  text-align: left;
  list-style: none;
  background: #fff;
}

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

/* List Items */
.vs__dropdown-option {
  line-height: 1.42857143; /* Normalize line height */
  display: block;
  padding: 3px 15px;
  clear: both;
  color: #111; /* Overrides most CSS frameworks */
  white-space: nowrap;
}
.vs__dropdown-option:hover {
  cursor: pointer;
}

.vs__dropdown-option--highlight {
  background: #009BF5;
  color: #fff;
}

.vs__dropdown-option--disabled {
  background: inherit;
  color: rgba(60, 60, 60, 0.5);
}
.vs__dropdown-option--disabled:hover {
  cursor: inherit;
}

/* Selected Tags */
.vs__selected {
  display: flex;
  align-items: center;
  background-color: #f0f0f0;
  border: 1px solid rgba(60, 60, 60, 0.26);
  border-radius: 4px;
  color: #333;
  line-height: 1.4;
  padding: 2px 0 5px;
}

.vs__deselect {
  display: inline-flex;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin-left: 4px;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  fill: rgba(60, 60, 60, 0.5);
  text-shadow: 0 1px 0 #fff;
}

/* States */
.vs--single .vs__selected {
  background-color: transparent;
  border-color: transparent;
}
.vs--single.vs--open .vs__selected {
  position: absolute;
  opacity: 0.4;
}
.vs--single.vs--searching .vs__selected {
  display: none;
}

/* Search Input */
/**
 * Super weird bug... If this declaration is grouped
 * below, the cancel button will still appear in chrome.
 * If it's up here on it's own, it'll hide it.
 */
.vs__search::-webkit-search-cancel-button {
  display: none;
}

.vs__search::-webkit-search-decoration,
.vs__search::-webkit-search-results-button,
.vs__search::-webkit-search-results-decoration,
.vs__search::-ms-clear {
  display: none;
}

.vs__search,
.vs__search:focus {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  line-height: 1.4;
  font-size: 1em;
  border: none;
  outline: none;
  background: none;
  box-shadow: none;
  width: 0;
  margin: 0 0 2px !important;
  max-width: 100%;
  flex-grow: 1;
}

/**
    States
 */
.vs--unsearchable .vs__search {
  opacity: 1;
}
.vs--unsearchable .vs__search:hover {
  cursor: pointer;
}

.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search {
  opacity: 0.2;
}

/* Loading Spinner */
.vs__spinner {
  align-self: center;
  opacity: 0;
  font-size: 5px;
  text-indent: -9999em;
  overflow: hidden;
  border-top: 0.9em solid rgba(100, 100, 100, 0.1);
  border-right: 0.9em solid rgba(100, 100, 100, 0.1);
  border-bottom: 0.9em solid rgba(100, 100, 100, 0.1);
  border-left: 0.9em solid rgba(60, 60, 60, 0.45);
  transform: translateZ(0);
  animation: vSelectSpinner 1.1s infinite linear;
  transition: opacity 0.1s;
}

.vs__spinner,
.vs__spinner:after {
  border-radius: 50%;
  width: 5em;
  height: 5em;
}

/* Loading Spinner States */
.vs--loading .vs__spinner {
  opacity: 1;
}

/* Simple link with arrow */
.btn_link {
  display: inline-block;
  padding: 10px;
  margin: 30px 0 30px -10px;
  font: 500 1.125rem "AtlasGrotesk", sans-serif;
  letter-spacing: -0.3px;
  color: #46474a;
}
.btn_link:after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  position: relative;
  top: 8px;
  left: 20px;
  background: url(../assets/svg/link.svg) center center;
  transition: transform ease-out 0.2s;
}
.btn_link:hover::after {
  transform: translate(4px);
}

/* Buttons */
button,
.button {
  border: none;
  background: none;
  padding: 7px;
  cursor: pointer;
  transition: filter ease-in-out 0.1s;
}
button:focus, button:active,
.button:focus,
.button:active {
  outline: 0;
  filter: brightness(0.9);
}
button .i-arrow,
button .i-arrow-white,
.button .i-arrow,
.button .i-arrow-white {
  transition: transform ease-out 0.2s;
}
button .i-arrow.external,
button .i-arrow-white.external,
.button .i-arrow.external,
.button .i-arrow-white.external {
  transform: rotate(-45deg);
}
button:hover,
.button:hover {
  filter: brightness(1.05);
}
button:hover .i-arrow,
button:hover .i-arrow-white,
.button:hover .i-arrow,
.button:hover .i-arrow-white {
  transform: translateX(4px);
}
button:hover .i-arrow.external,
button:hover .i-arrow-white.external,
.button:hover .i-arrow.external,
.button:hover .i-arrow-white.external {
  transform: translate(2px, -1px) rotate(-45deg);
}

.button-container {
  margin: 0;
  float: left;
  clear: left;
}

.row + .button-container {
  margin-top: 0;
}

.button {
  height: 64px;
  text-decoration: none;
  padding-left: 16px;
  padding-right: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  z-index: 10;
}
@media (min-width: 768px) {
  .button {
    min-width: 272px;
  }
  .button i {
    display: inherit;
  }
}
.button span {
  font: 500 1.125rem "AtlasGrotesk", sans-serif;
  margin-right: 15px;
}
.button.inline {
  min-width: 0;
}
.button.large {
  height: 96px;
  margin-top: 48px;
}
.button.large span {
  align-self: center;
}
.button.outline {
  border: 2px solid #eaeaea;
  background: white;
  padding-left: 14px;
  padding-right: 14px;
}
.button.outline span {
  color: #46474a;
}
.button.filled {
  background-color: #1d1d1d;
}
.button.filled span {
  color: #fff;
}
.button.action {
  background: #fff;
}
.button.action-invert {
  background: #222;
}
.button.white {
  border-color: #fff;
}
.button.white span {
  color: #fff;
}

/* Pagination */
.pagination {
  list-style: none;
  display: flex;
}
.pagination li {
  margin-right: 15px;
}
.pagination .button {
  width: 64px;
  min-width: unset;
}
.pagination .button.prev i {
  transform: rotate(180deg);
}
.pagination .button.prev i:hover {
  transform: rotate(180deg) translateX(4px);
}
.pagination .button span,
.pagination .button i {
  margin: 0 auto;
  display: inline-block;
}

/* Input Form */
@media (min-width: 768px) {
  form {
    width: 100%;
  }
}
form > * {
  margin-bottom: 15px;
}
form legend {
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 400;
  opacity: 0.4;
}
form input,
form textarea,
form select {
  margin-top: 12px;
}
form input[type=text],
form input[type=email],
form input[type=search],
form textarea,
form select,
form .selectr-selected {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  border-bottom: 2px solid #eaeaea;
  background: transparent;
  outline: none;
  padding: 5px 0;
  transition: border-bottom ease-out 0.2s;
}
form input[type=text][type=submit],
form input[type=email][type=submit],
form input[type=search][type=submit],
form textarea[type=submit],
form select[type=submit],
form .selectr-selected[type=submit] {
  outline: none;
}
form input[type=text]:focus, form input[type=text]:hover,
form input[type=email]:focus,
form input[type=email]:hover,
form input[type=search]:focus,
form input[type=search]:hover,
form textarea:focus,
form textarea:hover,
form select:focus,
form select:hover,
form .selectr-selected:focus,
form .selectr-selected:hover {
  border-bottom-color: #111;
}
form input[type=text].invert,
form input[type=email].invert,
form input[type=search].invert,
form textarea.invert,
form select.invert,
form .selectr-selected.invert {
  color: #fff;
  border-bottom-color: #46474a;
}
form input[type=text].invert:focus, form input[type=text].invert:hover,
form input[type=email].invert:focus,
form input[type=email].invert:hover,
form input[type=search].invert:focus,
form input[type=search].invert:hover,
form textarea.invert:focus,
form textarea.invert:hover,
form select.invert:focus,
form select.invert:hover,
form .selectr-selected.invert:focus,
form .selectr-selected.invert:hover {
  border-bottom-color: #fff;
}
form input:invalid:not(:-moz-placeholder-shown):not(:focus) {
  border-bottom-color: #d80000;
}
form input:invalid:not(:placeholder-shown):not(:focus) {
  border-bottom-color: #d80000;
}
form input[type=radio] {
  display: none;
}
form input[type=radio] + label {
  cursor: pointer;
}
form input[type=radio] + label span {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #111;
  cursor: pointer;
  margin-right: 0.5rem;
  position: relative;
  vertical-align: text-bottom;
}
form input[type=radio]:checked + label span::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -4px 0 0 -4px;
  background-color: #111;
  border-radius: 50%;
}
form textarea {
  border: 2px solid #eaeaea;
  padding: 5px 5px;
  transition: border ease-out 0.2s;
}
form textarea:hover, form textarea:focus {
  border: 2px solid #000;
}
form .button {
  width: 100%;
  background-color: #222;
  color: #fff;
  padding: 10px 20px;
}
form .button span {
  font: 400 1rem/1 "AtlasGrotesk", sans-serif;
}
form .button:focus {
  background-color: #46474a;
}
form select,
form .selectr-selected {
  background: transparent url(../assets/svg/caret.svg) 101% center no-repeat;
  border-radius: 0;
}
form select:focus,
form .selectr-selected:focus {
  outline: 0;
}
form select.invert,
form .selectr-selected.invert {
  background-image: url(../assets/svg/caret-white.svg);
}

.contact * > input,
.contact * > textarea {
  border-bottom: 2px solid #eaeaea;
  color: #000;
}
.contact * > input:hover, .contact * > input:focus,
.contact * > textarea:hover,
.contact * > textarea:focus {
  border-bottom: 2px solid #46474a;
}

a.anchor {
  display: none;
}

#toc {
  position: fixed;
  z-index: 999;
  left: 0;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  transition: opacity 0.3s 0.3s;
}
.scroll-immediate #toc, .is-leaving #toc, .is-animating #toc {
  transition: opacity 0.2s;
  opacity: 0;
}
#toc.hidden {
  opacity: 0;
  display: block;
}
@media screen and (max-width: 991px) {
  #toc {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  #toc ol {
    list-style: none;
    margin: 0 0 0 -6px;
    padding: 15px 3vw;
    transition: background-color 0.4s;
    position: relative;
  }
  #toc ol::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 15px;
    background: rgba(255, 255, 255, 0);
    transition: all 0.4s;
    z-index: -1;
  }
  #toc ol li.active a::before {
    width: 12px;
    height: 12px;
    margin-top: 4px;
    margin-left: 0;
  }
  #toc ol li.active span {
    transform: translateX(0);
  }
  #toc ol a {
    color: #000;
    display: block;
    white-space: nowrap;
    font-size: 0.875rem;
  }
  #toc ol a::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #111;
    background-color: rgba(0, 0, 0, 0);
    transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
    margin: 8px calc(1.5vw - 4px) 0 4px;
    vertical-align: middle;
  }
  #toc ol a span {
    display: inline-block;
    opacity: 0;
    overflow: hidden;
    transform: translateX(-10px);
    transition: all 0.4s;
    padding-left: 1.5vw;
  }
  #toc ol:hover::before {
    right: 0;
    background-color: white;
  }
  #toc ol:hover a span {
    opacity: 1;
    transform: translateX(0);
  }
}
@media screen and (min-width: 1200px) {
  #toc ol {
    padding: 15px 1.5vw;
  }
  #toc ol li.active a span {
    opacity: 1;
  }
}

/* Link zum Bearbeiten für Admins */
#cp-edit {
  margin: 0 0 0 4px;
  width: 24px;
  height: 24px;
  line-height: 1.8;
}

/* Language Switcher */
#lang-toggle {
  margin: 0 0 0 0.5rem;
  color: #111;
  font-weight: 400;
}
@media (max-width: 991px) {
  #lang-toggle {
    display: none;
  }
}

/* Cookie Consent */
#cconsent-modal {
  width: 100vw;
  height: 100vh;
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 9998;
  align-items: center;
  justify-content: center;
}
#cconsent-modal.ccm--visible {
  display: flex;
}
@media (max-width: 600px) {
  #cconsent-modal {
    height: 100%;
  }
}
#cconsent-modal .ccm__content {
  max-width: 700px;
  min-height: 500px;
  max-height: 700px;
  overflow-y: auto;
  background-color: #fff;
  padding: 30px;
}
@media (max-width: 600px) {
  #cconsent-modal .ccm__content {
    max-width: 100vw;
    height: 100%;
    max-height: initial;
  }
}
#cconsent-modal .ccm__content p {
  font-size: 10px;
}
@media (min-width: 376px) {
  #cconsent-modal .ccm__content p {
    font-size: 12px;
  }
}
@media (min-width: 600px) {
  #cconsent-modal .ccm__content p {
    font-size: 1rem;
  }
}
#cconsent-modal .ccm__content p a {
  padding-bottom: 1px;
  border-bottom: 2px solid #eaeaea;
  transition: border-bottom-color ease 0.2s;
}
#cconsent-modal .ccm__content p a:hover {
  border-bottom-color: #46474a;
}
#cconsent-modal .ccm__content > .ccm__content__heading {
  position: relative;
}
#cconsent-modal .ccm__content > .ccm__content__heading h2 {
  margin-bottom: 1rem;
}
#cconsent-modal .ccm__content > .ccm__content__body > p {
  margin: 30px 0 0;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup {
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup[data-category=necessary] .ccm__switch__slider:hover {
  cursor: not-allowed;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-head__icon-wedge {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup .ccm__tab-content {
  display: none;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {
  display: flex;
}
@media (max-width: 600px) {
  #cconsent-modal .ccm__content > .ccm__content__body .ccm__tabgroup.ccm__tabgroup--open .ccm__tab-content {
    flex-direction: column;
  }
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {
  padding: 15px 30px 15px 60px;
  margin: 0;
  position: relative;
  font-weight: 500;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head a {
  cursor: pointer;
  display: block;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch-component {
  display: flex;
  align-items: center;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch-group {
  width: 40px;
  height: 20px;
  margin: -10px 0 0;
  position: absolute;
  left: 0;
  top: 50%;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 40px;
  height: 20px;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input {
  display: none;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input:checked + .ccm__switch__slider {
  border-color: #28a745;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input:checked + .ccm__switch__slider::before {
  transform: translateX(18px);
  background-color: #28a745;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input:disabled + .ccm__switch__slider {
  border-color: #eaeaea;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input:disabled + .ccm__switch__slider::before {
  background-color: #eaeaea;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch input:disabled:checked + .ccm__switch__slider::before {
  background-color: #c7c7c7;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch .ccm__switch__slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 2px solid #111;
  border-radius: 10px;
  transition: 0.4s;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head .ccm__switch .ccm__switch__slider::before {
  position: absolute;
  content: "";
  height: 12px;
  width: 12px;
  left: 4px;
  bottom: 2px;
  background-color: #111;
  border-radius: 50%;
  transition: 0.4s;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-content {
  padding: 0 30px 25px 60px;
  margin: 0;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__list,
#cconsent-modal .ccm__content > .ccm__content__body .ccm__list li {
  font-size: 1rem;
}
#cconsent-modal .ccm__content > .ccm__content__body .ccm__list__title {
  font-weight: 500;
}
#cconsent-modal .ccm__content > .ccm__footer {
  margin: 45px 0 0;
}
@media (min-width: 576px) {
  #cconsent-modal .ccm__content > .ccm__footer {
    display: flex;
    justify-content: flex-start;
  }
  #cconsent-modal .ccm__content > .ccm__footer button + button {
    margin-left: 15px;
  }
}
#cconsent-modal .ccm__content > .ccm__footer button {
  margin: 10px 0 0;
}
@media (max-width: 575px) {
  #cconsent-modal .ccm__content > .ccm__footer button {
    width: 100%;
  }
}
#cconsent-modal .ccm__content > .ccm__footer button span {
  margin: 0;
}

@media (min-width: 768px) {
  #library-search {
    transform: translateY(-50%);
    margin-bottom: -4rem;
  }
}
#library-search form {
  background-color: #111;
  width: auto;
}
#library-search form > div {
  display: flex;
  align-items: center;
}
#library-search form legend {
  color: #fff;
  padding-top: 2.5rem;
  margin-bottom: 0;
  opacity: 1;
  font-size: 0.7rem;
}
#library-search input::-moz-placeholder {
  color: #fff;
  opacity: 1;
}
#library-search input::placeholder {
  color: #fff;
  opacity: 1;
}

#newsletter .notification {
  width: 100%;
  display: block;
  overflow: hidden;
  max-height: 0;
  margin-left: 15px;
  margin-right: 15px;
  transition: all ease 0.3s;
}
#newsletter .notification.visible {
  max-height: 100px;
}
#newsletter .notification.success {
  background-color: #7dc300;
}
#newsletter .notification.error {
  background-color: #fff;
  color: #111;
}
#newsletter .notification .message {
  display: inline-block;
  padding: 15px;
}
#newsletter label {
  opacity: 0.5;
}

.error-page {
  background: url(../svg/grid.svg) repeat;
  background-size: 1.6vw 1.6vw;
}
.error-page #header_logo g, .error-page nav button i {
  visibility: hidden;
}
.error-page .brand.header, .error-page nav button {
  border: 2px solid #eaeaea;
  background: linear-gradient(to top left, rgba(234, 234, 234, 0) 0%, rgba(234, 234, 234, 0) calc(50% - 1.8px), #eaeaea 50%, rgba(234, 234, 234, 0) calc(50% + 1.8px), rgba(234, 234, 234, 0) 100%), linear-gradient(to top right, rgba(234, 234, 234, 0) 0%, rgba(234, 234, 234, 0) calc(50% - 1.8px), #eaeaea 50%, rgba(234, 234, 234, 0) calc(50% + 1.8px), rgba(234, 234, 234, 0) 100%);
}
.error-page .brand.header {
  transition: height ease-in-out 0.1s;
  height: 63px;
}
.error-page #headernavigation[data-min=true] .brand.header {
  height: 15px;
}
.error-page h1 {
  font-size: 10rem;
}
.error-page .teaser {
  color: #46474a;
}
.error-page .searchmodule {
  padding-top: var(--spacer-small);
  margin-bottom: var(--spacer-small);
}

/*=============================================
=            Custom                           =
=============================================*/
/**
 *
 * HfG 
 *
 */
/*=============================================
=            Third party resources            =
=============================================*/
/*=============================================
=             Site assets                     =
=============================================*/
i[class^=i-].i-small {
  width: 13px;
  height: 13px;
  padding: 13px;
}
i[class^=i-].i-caret-white {
  background-image: url(../svg/caret-white.svg);
}

.studiengang_iot .studiengang_color {
  color: #463CA0 !important;
}

.studiengang_ig .studiengang_color {
  color: #7DC300 !important;
}

.studiengang_kg .studiengang_color {
  color: #FF6400 !important;
}

.studiengang_pg .studiengang_color {
  color: #009BF5 !important;
}

.studiengang_sg .studiengang_color {
  color: #B40097 !important;
}

.studiengangBG_iot {
  background-color: #463CA0 !important;
}

.studiengangBG_ig {
  background-color: #7DC300 !important;
}

.studiengangBG_kg {
  background-color: #FF6400 !important;
}

.studiengangBG_pg {
  background-color: #009BF5 !important;
}

.studiengangBG_sg {
  background-color: #B40097 !important;
}

.studiengangBG_red {
  background-color: #D80000 !important;
}

#counter h2,
#date h2 {
  font-size: 3.5rem;
  margin: -0.2rem 0 0.5rem;
}
#counter h2 br,
#date h2 br {
  display: block;
}
#counter h3,
#date h3 {
  color: #959595;
  font-size: 1rem;
}
@media (min-width: 768px) {
  #counter h2,
  #date h2 {
    font-size: 6rem;
  }
  #counter h3,
  #date h3 {
    color: #959595;
    font-size: 1.6rem;
  }
}
@media (min-width: 992px) {
  #counter h2,
  #date h2 {
    font-size: 8rem;
  }
}
@media (min-width: 1200px) {
  #counter h2,
  #date h2 {
    font-size: 8rem;
  }
}
@media (min-width: 1600px) {
  #counter h2,
  #date h2 {
    font-size: 11rem;
  }
}

/*=============================================
=            Layout and modules               =
=============================================*/
.home .page-body {
  margin-top: 9rem;
}

.article-header div.article-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 0) {
  .article-header div.article-img img {
    margin-top: 0;
  }
}
@media (max-width: -1) {
  .article-header div.article-img img {
    margin-top: 0;
  }
}

.teaser #header .navigation::before {
  background: #1D1D1B;
}

@media (max-width: 767px) {
  #header .navigation {
    top: 0;
  }
}
#header .navigation::before {
  background: #1D1D1B;
}
@media (max-width: 767px) {
  #header .navigation::before {
    top: 0;
  }
}
@media (max-width: 767px) {
  #header .navigation.pinned {
    top: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #header .navigation #main-nav .nav-select {
    margin-left: 20%;
    padding-left: 10px;
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  #header .navigation #main-nav .nav-select {
    margin-left: 18%;
    padding-left: 10px;
  }
}
#header .navigation #main-nav .nav-select li a {
  color: #fff;
}
@media (max-width: 991px) {
  #header .navigation #main-nav {
    background-color: #1D1D1B;
  }
}

.notification-visible #header .navigation {
  top: 60px;
}
@media (max-width: 767px) {
  .notification-visible #header .navigation {
    top: 0;
  }
}
.notification-visible #header .navigation::before {
  top: 60px;
}
.notification-visible #header .navigation.pinned {
  top: 60px;
}
@media (max-width: 767px) {
  .notification-visible #header .navigation.pinned {
    top: 0;
  }
}

.brand {
  color: #fff;
}

/*=====  Menu Icon  ======*/
.menu-button .navicon {
  background: #fff;
}
.menu-button .navicon:before,
.menu-button .navicon:after {
  background: #fff;
}

.home .page-body {
  margin-top: 7.7rem;
}
.home .page-body .hero {
  margin-top: 0;
  min-height: unset;
  margin-bottom: 0;
}
.home .page-body .hero .flickity-prev-next-button.next {
  right: 20px;
}
.home .page-body .hero .flickity-prev-next-button.previous {
  left: 20px;
}
@media (max-width: 1199px) {
  .home .page-body .hero .flickity-prev-next-button.next,
  .home .page-body .hero .flickity-prev-next-button.previous {
    display: none;
  }
}
.home .page-body .hero .article-img {
  background: black;
}
.home .page-body .hero .herovideo {
  height: 33.3333333333vw;
}
@media (max-width: 767px) {
  .home .page-body .hero .herovideo {
    height: 56.25vw;
  }
}
.home .page-body .hero .videocaption, .home .page-body .hero .imagecaption {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  color: white;
  transform: translate(-50%, calc(var(--spacer-big) * -1));
}
@media (min-width: 992px) {
  .home .page-body .hero .videocaption h1, .home .page-body .hero .imagecaption h1 {
    font-size: 4.7rem;
  }
}
.home .page-body .hero .videocaption h2, .home .page-body .hero .imagecaption h2 {
  font-weight: 500;
}
@media (min-width: 992px) {
  .home .page-body .hero .videocaption h2, .home .page-body .hero .imagecaption h2 {
    font-size: 3.5rem;
  }
}
@media (max-width: 767px) {
  .home .page-body .hero .videocaption .mb-4, .home .page-body .hero .imagecaption .mb-4 {
    margin-bottom: 15px !important;
  }
}
.home .page-body .hero .live,
.home .page-body .hero .gallerycaption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  color: white;
}
.home .page-body .hero .live .child,
.home .page-body .hero .gallerycaption .child {
  background: rgba(29, 29, 27, 0.6196078431);
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
  margin-left: -15px;
}
.home .page-body .hero .live .child ul,
.home .page-body .hero .gallerycaption .child ul {
  padding-left: 0;
  list-style: none;
}
.home .page-body .hero .live .child ul li,
.home .page-body .hero .gallerycaption .child ul li {
  border-bottom: 1px solid #403f3f;
  padding: 0.75rem 0;
}
.home .page-body .hero .live .child ul li h4,
.home .page-body .hero .gallerycaption .child ul li h4 {
  line-height: 1.6;
}
.home .page-body .hero .live .child ul li:first-child,
.home .page-body .hero .gallerycaption .child ul li:first-child {
  padding-top: 0;
}
.home .page-body .hero .live .child ul li:last-child,
.home .page-body .hero .gallerycaption .child ul li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.home .page-body .hero .live .child .flex,
.home .page-body .hero .gallerycaption .child .flex {
  display: flex;
  border-bottom: 1px solid #403f3f;
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
  align-items: center;
}
.home .page-body .hero .live .child .circle,
.home .page-body .hero .gallerycaption .child .circle {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 7.5px;
  background-color: #d80000;
  margin-right: 0.75rem;
}
.home .page-body .hero .live .child .button.transparent,
.home .page-body .hero .gallerycaption .child .button.transparent {
  background: unset;
  border: 2px solid transparent;
  color: white;
  margin-top: 0;
}
.home .page-body .hero .live .child .button.transparent i[class^=i-].i-arrow,
.home .page-body .hero .gallerycaption .child .button.transparent i[class^=i-].i-arrow {
  background-image: unset;
}
.home .page-body .hero .live .child .button.outline,
.home .page-body .hero .gallerycaption .child .button.outline {
  background: #959595;
  border: 2px solid #959595;
  color: white;
}
.home .page-body .hero .live .child .button i[class^=i-].i-arrow,
.home .page-body .hero .gallerycaption .child .button i[class^=i-].i-arrow {
  background-image: url(../svg/arrow-white.svg);
}
.home .page-body .hero .live .child .button span,
.home .page-body .hero .gallerycaption .child .button span {
  color: white;
}
.home .page-body .hero .carousell-cell.is-selected .gallerycaption {
  opacity: 1;
  transition: opacity cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}
.home .page-body .hero .gallerycaption {
  opacity: 0;
}
.home .page-body .hero .gallerycaption .child {
  margin-left: 0px;
  margin-bottom: 0px;
}
.home .page-body .hero .live.active .child .button.outline {
  background: #d80000;
  border: 2px solid #d80000;
  color: white;
}
@media (max-width: 1340px) {
  .home .page-body .hero .live {
    position: relative;
    width: calc(100% + 45px);
  }
  .home .page-body .hero .live .article-img {
    position: absolute;
    height: 100%;
    left: 15px;
    background: #1D1D1B;
  }
  .home .page-body .hero .live .child {
    background: unset;
  }
  .home .page-body .hero .live .child.col-xl-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 1341px) {
  .home .page-body .hero .live .article-img {
    display: none;
  }
}
@media (max-width: 767px) {
  .home .page-body {
    margin-top: 7.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .home .page-body {
    margin-top: 6.8rem;
  }
}
@media (min-width: 1200px) {
  .home .page-body {
    margin-top: 6.6rem;
  }
}

.home .footer {
  margin-top: 0rem;
}

.curri table td,
.lectures table td {
  border: none;
  padding: 0;
}
.curri .accordion-content,
.lectures .accordion-content {
  padding: 0;
  margin-top: 0;
}
.curri .program span.wrap,
.lectures .program span.wrap {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.curri .timetableHead span.wrap,
.lectures .timetableHead span.wrap {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.curri .program,
.curri .semester,
.curri .timetableHead,
.lectures .program,
.lectures .semester,
.lectures .timetableHead {
  font: 500 24px/1.33 "AtlasGrotesk", sans-serif;
}
@media (max-width: 768px) {
  .curri .program,
  .curri .semester,
  .curri .timetableHead,
  .lectures .program,
  .lectures .semester,
  .lectures .timetableHead {
    font: 500 1.25rem/1.3 AtlasGrotesk, sans-serif;
  }
}
.curri .program span.wrap,
.curri .kursnamen li,
.curri .timetableHead span.wrap,
.curri .timetable li,
.lectures .program span.wrap,
.lectures .kursnamen li,
.lectures .timetableHead span.wrap,
.lectures .timetable li {
  padding-top: 20px;
  padding-bottom: 20px;
}
.curri .kursnamen ul,
.curri .timetable ul,
.lectures .kursnamen ul,
.lectures .timetable ul {
  padding-left: 0;
  list-style: none;
}
.curri .kursnamen li,
.lectures .kursnamen li {
  list-style: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.curri .timetable li,
.lectures .timetable li {
  list-style: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.curri .studiengangsbild,
.lectures .studiengangsbild {
  padding-top: 20px;
}
.curri .semester,
.lectures .semester {
  padding-bottom: 20px;
}
.curri table tr.active .accordion-content,
.lectures table tr.active .accordion-content {
  max-height: 5000px;
}
.curri .accordion-content .row:last-child,
.lectures .accordion-content .row:last-child {
  padding-bottom: var(--spacer-small);
}
.curri .accordion-content .row:first-child,
.lectures .accordion-content .row:first-child {
  padding-top: 0;
}

@media screen {
  .topics {
    position: relative;
    overflow: visible;
  }
  .topics .carousel-cell {
    margin-left: 0.85rem;
    margin-right: 0.85rem;
    width: 33.3333333333%;
  }
}
@media screen and (max-width: 576px) {
  .topics .carousel-cell {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    width: 33.3333333333vw;
  }
}
@media screen {
  .topics .carousel-cell img {
    min-width: 100%;
    height: auto;
    max-height: 100%;
  }
  .topics .carousel-cell__feature {
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    position: relative;
    margin-bottom: 1rem;
  }
  .topics .carousel-cell__feature .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .topics .carousel-cell__feature .inner.media {
    height: 100%;
    background-color: #000;
  }
  .topics .carousel-cell__feature .inner.media::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 30%;
  }
  .topics .carousel-cell__feature .inner iframe {
    width: 100%;
    height: 100%;
  }
  .topics .carousel-cell__feature img.inner {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .topics .carousel-cell .label {
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: balance;
    overflow-wrap: break-word;
  }
}
@media screen {
  .topics .carousel-cell .label b,
  .topics .carousel-cell .label span {
    display: inline-block;
  }
  .topics .carousel-cell .label span {
    color: #959595;
  }
  .topics .carousel-cell .label a {
    border-bottom: none;
    padding-bottom: 0;
  }
  .topics .carousel-cell .label i {
    display: inline-block;
    height: 20px;
    padding: 0;
    vertical-align: text-bottom;
  }
  .portfolio {
    position: relative;
    overflow: visible;
  }
  .portfolio .carousel-cell {
    margin-left: 15px;
    margin-right: 15px;
    width: 50%;
  }
}
@media screen and (max-width: 576px) {
  .portfolio .carousel-cell {
    width: calc(50vw - 30px);
  }
}
@media screen {
  .portfolio .carousel-cell img {
    min-width: 100%;
    height: auto;
    max-height: 100%;
  }
  .portfolio .carousel-cell__feature {
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    position: relative;
    margin-bottom: 1.5rem;
    border: 1px solid #f5f5f5;
  }
  .portfolio .carousel-cell__feature .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .portfolio .carousel-cell__feature .inner.media {
    height: 100%;
    background-color: #000;
  }
  .portfolio .carousel-cell__feature .inner.media::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 30%;
  }
  .portfolio .carousel-cell__feature .inner iframe {
    width: 100%;
    height: 100%;
  }
  .portfolio .carousel-cell__feature img.inner {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .portfolio .carousel-cell .label {
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: balance;
    overflow-wrap: break-word;
  }
}
@media screen {
  .portfolio .carousel-cell .label b,
  .portfolio .carousel-cell .label span {
    display: inline-block;
  }
  .portfolio .carousel-cell .label span {
    color: #959595;
  }
  .portfolio .carousel-cell .label a {
    border-bottom: none;
    padding-bottom: 0;
  }
  .portfolio .carousel-cell .label i {
    display: inline-block;
    height: 20px;
    padding: 0;
    vertical-align: text-bottom;
  }
  .gallery {
    margin-top: var(--spacer-big);
    margin-bottom: var(--spacer-big);
    position: relative;
  }
  .gallery .gallery-caption {
    margin: 3rem 0;
    font: 400 0.85rem/1 "AtlasGrotesk", sans-serif;
    color: #46474a;
    opacity: 0.6;
    position: absolute;
    transition: margin-top ease 0.3s;
  }
  .gallery .carousel-cell {
    height: 65vh;
    margin-left: 15px;
    margin-right: 15px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 991px) {
  .gallery .carousel-cell {
    height: auto;
  }
}
@media screen {
  .gallery .carousel-cell img {
    width: auto;
    height: 100%;
    max-width: 90vw;
  }
}
@media screen and (max-width: 1024px) {
  .gallery .carousel-cell img {
    height: auto;
    max-height: 100%;
    max-width: calc(100vw - 30px);
  }
}
@media screen {
  .gallery .flickity-viewport,
  .portfolio .flickity-viewport,
  .vortraege .flickity-viewport {
    overflow: visible;
  }
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    z-index: 100;
  }
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    width: 100vw;
  }
}
@media screen and (min-width: 1600px) {
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    margin-left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    margin-left: -235px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    margin-left: -70px;
  }
}
@media screen and (max-width: 767px) {
  .gallery .controls,
  .portfolio .controls,
  .vortraege .controls {
    margin-left: -15px;
  }
}
@media screen {
  .gallery .controls .control,
  .portfolio .controls .control,
  .vortraege .controls .control {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    cursor: ew-resize;
  }
}
@media screen and (max-width: 768px) {
  .gallery .controls .control,
  .portfolio .controls .control,
  .vortraege .controls .control {
    display: none;
  }
}
@media screen {
  .gallery .controls .control.left,
  .portfolio .controls .control.left,
  .vortraege .controls .control.left {
    left: 0;
    cursor: url(../icons/arrow-left.png) 16 13, url(../icons/arrow-left.cur), auto;
  }
  .gallery .controls .control.right,
  .portfolio .controls .control.right,
  .vortraege .controls .control.right {
    right: 0;
    cursor: url(../icons/arrow-right.png) 16 13, url(../icons/arrow-right.cur), auto;
  }
  .gallery .controls.dragging,
  .portfolio .controls.dragging,
  .vortraege .controls.dragging {
    cursor: grabbing;
  }
  .gallery .controls.dragging .control,
  .portfolio .controls.dragging .control,
  .vortraege .controls.dragging .control {
    visibility: hidden;
  }
  .gallery .gallery-title p,
  .portfolio .gallery-title p,
  .vortraege .gallery-title p {
    font-size: 1rem;
    transition: opacity cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s;
  }
}
@media screen and (min-width: 1024px) {
  .gallery .gallery-title + .col-8 .controls,
  .portfolio .gallery-title + .col-8 .controls,
  .vortraege .gallery-title + .col-8 .controls {
    margin-left: -48%;
  }
}
@media screen {
  .gallery:not([data-selected="0"]) .gallery-title p,
  .portfolio:not([data-selected="0"]) .gallery-title p,
  .vortraege:not([data-selected="0"]) .gallery-title p {
    opacity: 0;
  }
  .gallery .carousel,
  .hero .carousel,
  .full-width .carousel,
  .hero1 .carousel {
    opacity: 0;
    transition: opacity ease 0.3s;
  }
  .gallery .carousel.flickity-enabled,
  .hero .carousel.flickity-enabled,
  .full-width .carousel.flickity-enabled,
  .hero1 .carousel.flickity-enabled {
    opacity: 1;
  }
  .hero .carousel {
    width: unset;
    height: unset;
    min-height: unset;
    padding-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .hero .carousel {
    padding-top: 3vw;
  }
}
@media screen {
  .hero .carousel .flickity-page-dots {
    bottom: 40px;
    text-align: right;
    left: 70px;
    width: 100%;
    bottom: x;
  }
}
@media screen and (min-width: 1200px) {
  .hero .carousel .flickity-page-dots {
    left: 0;
    bottom: x;
    padding-top: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .hero .carousel .flickity-page-dots {
    left: 0;
    text-align: right;
    bottom: x;
    padding-top: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .hero .carousel .flickity-page-dots {
    left: 0;
    bottom: x;
    z-index: 999;
  }
}
@media screen {
  .hero .carousel .flickity-page-dots .dot {
    width: 14px;
    height: 14px;
    position: relative;
    margin: 0 5px;
    top: 0.75rem;
  }
  .hero .carousel .flickity-page-dots .dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #111;
    transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  }
  .hero .carousel .flickity-page-dots .dot.is-selected::before {
    width: 14px;
    height: 14px;
  }
}
@media screen and (min-width: 992px) {
  .hero .carousel .flickity-page-dots.white .dot::before {
    border-color: #fff;
  }
}
@media screen {
  .hero .info .carousel-cell.white .button {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .heroStream {
    min-height: 360px;
    position: relative;
    background-color: #111;
    padding-top: 0.1rem;
    color: #fff;
  }
}
@media screen and (min-width: 1200px) {
  .heroStream {
    padding-left: 3vw;
    padding-right: 3vw;
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {
  .heroStream {
    padding-left: 70px;
    padding-right: 70px;
  }
}
@media screen and (max-width: 767px) {
  .heroStream {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen {
  .heroStream #live-chat::before {
    content: "●";
    color: #d80000;
    display: inline-block;
    margin-right: 1rem;
    animation: blink ease-in-out 3s infinite;
  }
  @keyframes blink {
    0% {
      opacity: 1;
    }
    40% {
      opacity: 0;
    }
    60% {
      opacity: 1;
    }
    100% {
      opacity: 1;
    }
  }
  .heroStream.inactive {
    background-color: #eaeaea;
    color: #111;
  }
  .heroStream.inactive h3::after {
    height: 10rem;
    background: linear-gradient(0deg, rgba(234, 234, 234, 0) 0%, rgb(234, 234, 234) 60%);
  }
  .heroStream.inactive #live-chat::before {
    color: #959595;
    animation: none;
  }
  .heroStream.inactive #live-chat + p {
    position: absolute;
    left: 3rem;
    right: 3rem;
    top: 4rem;
    z-index: 9999;
  }
  .stream-aside {
    display: flex;
    flex-flow: column wrap;
  }
}
@media screen and (min-width: 768px) {
  .stream-aside h3 {
    flex-grow: 0;
    position: relative;
    margin-bottom: 0;
  }
  .stream-aside h3::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    height: 4rem;
    background: linear-gradient(0deg, rgba(17, 17, 17, 0) 5%, rgb(17, 17, 17) 100%);
    z-index: 999;
  }
}
@media screen and (max-width: 767px) {
  .stream-aside h3,
  .stream-aside p.deacInfo {
    display: none;
  }
}
@media screen {
  .tour {
    position: relative;
  }
  .tour .carousel {
    height: 37vw;
    min-height: 360px;
  }
}
@media screen and (min-width: 1600px) {
  .tour .carousel {
    width: calc(100% + (100vw - 1140px) / 2 + 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .tour .carousel {
    width: calc(100% + 235px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .tour .carousel {
    width: calc(100% + 70px);
  }
}
@media screen and (max-width: 767px) {
  .tour .carousel {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .tour .carousel {
    min-height: 220px;
  }
}
@media screen {
  .tour .carousel .carousel-cell {
    width: 100%;
    height: 100%;
  }
  .tour .carousel .carousel-cell .cell-inner {
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    position: relative;
  }
  .tour .carousel .carousel-cell img {
    width: 100%;
    height: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .tour .carousel .carousel-cell img {
    width: auto;
    min-width: 100%;
    min-height: 100%;
  }
}
@media screen {
  .tour .carousel .carousel-cell .embed-container {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .tour .carousel .carousel-cell .embed-container iframe {
    border: 1px solid rgba(0, 0, 0, 0.071);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .tour .degree360 {
    width: 100%;
    height: 100%;
  }
  .tour .info {
    width: 32vw;
    min-width: 350px;
    height: 32vw;
    min-height: 360px;
    box-shadow: 0 35px 30px -40px rgba(74, 74, 74, 0.15);
    position: absolute;
    overflow: hidden;
    top: 7.5vw;
    transition: top cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  }
}
@media screen and (min-width: 1600px) {
  .tour .info {
    left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media screen and (min-width: 1200px) and (max-width: 1599px) {
  .tour .info {
    left: -235px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .tour .info {
    left: -70px;
  }
}
@media screen and (max-width: 767px) {
  .tour .info {
    position: static;
    width: 100%;
    height: auto;
    min-height: unset;
    min-width: 0;
    transition: top cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, height ease 0.3s;
  }
  .tour .info .flickity-viewport {
    transition: height ease 0.3s;
    min-height: 200px;
  }
}
@media screen and (min-width: 768px) {
  .tour .info .flickity-viewport {
    height: 100% !important;
  }
}
@media screen {
  .is-animating .tour .info {
    top: -5%;
  }
  .is-leaving .tour .info {
    top: 10%;
  }
  .tour .info .carousel-cell {
    width: 100%;
    height: 100%;
    padding: 3vw;
  }
  .tour .info .carousel-cell h2 {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .tour .info .carousel-cell h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
}
@media screen and (min-width: 1600px) {
  .tour .info .carousel-cell p {
    font: 400 1.4rem/1.5 "AtlasGrotesk", sans-serif, sans-serif;
  }
}
@media screen and (max-width: 767px) {
  .tour .info .carousel-cell {
    padding: 30px 15px;
    height: auto;
    min-height: 100%;
  }
}
@media screen {
  .tour .info .carousel-cell.white, .tour .info .carousel-cell.white .button span {
    color: #fff;
  }
  .tour .info .carousel-cell .button {
    background-color: rgba(0, 0, 0, 0.05);
  }
  .tour .info .carousel-cell .button-container {
    margin: 0;
  }
  .tour .info .carousel-cell.white .button {
    background-color: rgba(255, 255, 255, 0.05);
  }
  .tour .info .carousel-cell > * {
    opacity: 0;
    transition: opacity ease 0.2s;
  }
  .tour .info .carousel-cell.is-selected > * {
    opacity: 1;
    transition: opacity ease 0.5s 0.1s;
  }
  .tour .info .flickity-page-dots {
    bottom: 40px;
    text-align: left;
    left: 70px;
    width: auto;
  }
}
@media screen and (min-width: 1200px) {
  .tour .info .flickity-page-dots {
    left: 3vw;
    bottom: 3vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .tour .info .flickity-page-dots {
    left: 50vw;
    transform: translateX(-50%);
    width: 150px;
    text-align: center;
    bottom: -10%;
  }
}
@media screen and (max-width: 767px) {
  .tour .info .flickity-page-dots {
    left: 50%;
    bottom: -10%;
    z-index: 999;
    transform: translate(-50%, -50%);
  }
}
@media screen {
  .tour .info .flickity-page-dots .dot {
    width: 14px;
    height: 14px;
    position: relative;
    margin: 0 5px;
  }
  .tour .info .flickity-page-dots .dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #111;
    transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  }
  .tour .info .flickity-page-dots .dot.is-selected::before {
    width: 14px;
    height: 14px;
  }
}
@media screen and (min-width: 992px) {
  .tour .info .flickity-page-dots.white .dot::before {
    border-color: #fff;
  }
}
@media screen {
  .tour .full-width {
    width: 100vw;
    height: 32vw;
    min-height: 360px;
  }
}
@media screen and (max-width: 767px) {
  .tour .full-width {
    min-height: 220px;
  }
}
@media screen {
  .tour .full-width .carousel-cell {
    width: 100%;
    height: 100%;
  }
  .tour .full-width .carousel-cell .cell-inner {
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    position: relative;
  }
  .tour .full-width .carousel-cell img {
    width: 100%;
    height: auto;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .tour .full-width .carousel-cell img {
    width: auto;
    min-width: 100%;
    min-height: 100%;
  }
}
@media screen {
  .tour .full-width .carousel-cell .embed-container {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  .tour .full-width .carousel-cell .embed-container iframe {
    border: 1px solid rgba(0, 0, 0, 0.071);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .tour .full-width .flickity-page-dots {
    bottom: 40px;
    text-align: left;
    left: 70px;
    width: auto;
  }
}
@media screen and (min-width: 1200px) {
  .tour .full-width .flickity-page-dots {
    left: 3vw;
    bottom: 3vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .tour .full-width .flickity-page-dots {
    left: 50vw;
    transform: translateX(-50%);
    width: 150px;
    text-align: center;
    bottom: -10%;
  }
}
@media screen and (max-width: 767px) {
  .tour .full-width .flickity-page-dots {
    left: 50%;
    bottom: -10%;
    z-index: 999;
    transform: translate(-50%, -50%);
  }
}
@media screen {
  .tour .full-width .flickity-page-dots .dot {
    width: 14px;
    height: 14px;
    position: relative;
    margin: 0 5px;
  }
  .tour .full-width .flickity-page-dots .dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    border: 2px solid #fff;
    transition: all cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.2s;
  }
  .tour .full-width .flickity-page-dots .dot.is-selected::before {
    width: 14px;
    height: 14px;
  }
}
@media screen and (min-width: 992px) {
  .tour .full-width .flickity-page-dots.white .dot::before {
    border-color: #fff;
  }
}
@media screen {
  .tour .full-width .video-wrap.vimeo {
    background-color: black;
  }
  .tour .full-width .video-wrap {
    position: relative;
  }
  .tour .full-width .video-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .tour .full-width .video-wrap__grippy {
    position: absolute;
    left: 0;
    width: 40%;
    top: 32px;
    bottom: 40px;
    z-index: 3;
  }
  .tour .full-width .video-wrap__grippy:before {
    position: absolute;
    display: block;
    content: "";
    width: 60%;
    height: 35%;
    top: 0;
    left: 100%;
  }
  .tour .full-width .video-wrap__grippy + .video-wrap__grippy {
    left: auto;
    right: 0;
  }
  .tour .full-width .video-wrap__grippy + .video-wrap__grippy:before {
    bottom: 0;
    top: auto;
    right: 100%;
    left: auto;
  }
}
@media screen {
  .vortraege {
    position: relative;
    overflow: visible;
    margin-right: -15px;
    margin-left: -15px;
  }
}
@media screen and (max-width: 576px) {
  .vortraege .carousel-cell {
    width: calc(50vw - 30px);
  }
}
@media screen {
  .vortraege .carousel-cell img {
    min-width: 100%;
    height: auto;
    max-height: 100%;
  }
  .vortraege .carousel-cell__feature {
    width: 100%;
    padding-top: 75%;
    overflow: hidden;
    position: relative;
    margin-bottom: 1.5rem;
    border: 1px solid #f5f5f5;
  }
  .vortraege .carousel-cell__feature .inner {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .vortraege .carousel-cell__feature .inner.media {
    height: 100%;
    background-color: #000;
  }
  .vortraege .carousel-cell__feature .inner.media::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 30%;
  }
  .vortraege .carousel-cell__feature .inner iframe {
    width: 100%;
    height: 100%;
  }
  .vortraege .carousel-cell__feature img.inner {
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .vortraege .carousel-cell .label {
    -webkit-hyphens: auto;
    hyphens: auto;
    text-wrap: balance;
    overflow-wrap: break-word;
  }
}
@media screen {
  .vortraege .carousel-cell .label b, .vortraege .carousel-cell .label span {
    display: inline-block;
  }
  .vortraege .carousel-cell .label span {
    color: #959595;
  }
  .vortraege .carousel-cell .label a {
    border-bottom: none;
    padding-bottom: 0;
  }
  .vortraege .carousel-cell .label i {
    display: inline-block;
    height: 20px;
    padding: 0;
    vertical-align: text-bottom;
  }
}
#cconsent-bar {
  display: none !important;
}

#cconsent-modal {
  color: #000;
}

#cconsent-modal .ccm__footer button {
  width: 50%;
  height: 64px;
}

#cconsent-modal .ccm__footer button {
  font: 500 1.125rem "AtlasGrotesk", sans-serif;
}

#cconsent-modal .ccm__footer button {
  background-color: #1d1d1d !important;
  color: white;
}

#cconsent-modal .ccm__tab-head__title, #cconsent-modal .ccm__tab-head__icon-wedge {
  pointer-events: none;
}

#cconsent-modal .ccm__content > .ccm__content__body .ccm__tab-head {
  cursor: pointer;
}

.chat {
  flex-grow: 1;
}
@media (max-width: 767px) {
  .chat {
    display: none;
  }
}

.inactive .chat {
  filter: invert(1);
  opacity: 0.1;
}

/*=====  Search Modal  ======*/
@media (max-width: 991px) {
  #search-results {
    background-color: unset;
  }
}
.searchinput .button {
  width: auto;
}

/* Buttons */
button .i-arrow.back,
button .i-arrow-white.back,
.button .i-arrow.back,
.button .i-arrow-white.back,
.program .i-arrow.back,
.program .i-arrow-white.back {
  transform: rotate(180deg);
}
button .i-arrow,
button .i-arrow-white,
.button .i-arrow,
.button .i-arrow-white,
.program .i-arrow,
.program .i-arrow-white {
  transition: transform ease-out 0.2s;
}
button .i-arrow.external,
button .i-arrow-white.external,
.button .i-arrow.external,
.button .i-arrow-white.external,
.program .i-arrow.external,
.program .i-arrow-white.external {
  transform: rotate(-45deg);
}
button:hover .i-arrow,
button:hover .i-arrow-white,
.button:hover .i-arrow,
.button:hover .i-arrow-white,
.program:hover .i-arrow,
.program:hover .i-arrow-white {
  transform: translateX(4px);
}
button:hover .i-arrow.external,
button:hover .i-arrow-white.external,
.button:hover .i-arrow.external,
.button:hover .i-arrow-white.external,
.program:hover .i-arrow.external,
.program:hover .i-arrow-white.external {
  transform: translate(2px, -1px) rotate(-45deg);
}
button:hover .i-arrow.back,
button:hover .i-arrow-white.back,
.button:hover .i-arrow.back,
.button:hover .i-arrow-white.back,
.program:hover .i-arrow.back,
.program:hover .i-arrow-white.back {
  transform: translate(-4px) rotate(180deg);
}

.animate_link > * .i-arrow,
.animate_link > * .i-arrow-white {
  padding-top: 4px;
}
.animate_link > * .i-arrow.back,
.animate_link > * .i-arrow-white.back {
  transform: rotate(180deg);
}
@media (max-width: 575px) {
  .animate_link > * .i-arrow,
  .animate_link > * .i-arrow-white {
    display: none !important;
  }
}
.animate_link > * .i-arrow,
.animate_link > * .i-arrow-white {
  transition: transform ease-out 0.2s;
}
.animate_link > * .i-arrow.external,
.animate_link > * .i-arrow-white.external {
  transform: rotate(-45deg);
}
.animate_link > *:hover .i-arrow,
.animate_link > *:hover .i-arrow-white {
  transform: translateX(4px);
}
.animate_link > *:hover .i-arrow.external,
.animate_link > *:hover .i-arrow-white.external {
  transform: translate(2px, -1px) rotate(-45deg);
}
.animate_link > *:hover .i-arrow.back,
.animate_link > *:hover .i-arrow-white.back {
  transform: translate(-4px) rotate(180deg);
}

.select2 {
  width: 100% !important;
}

.select2-container--default .select2-selection--single,
select,
.selectr-selected {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  border-bottom: 2px solid #eaeaea;
  background: transparent;
  outline: none;
  padding: 5px 0;
  border-radius: 0;
  height: unset;
  transition: border-bottom ease-out 0.2s;
}
.select2-container--default .select2-selection--single[type=submit],
select[type=submit],
.selectr-selected[type=submit] {
  outline: none;
}
.select2-container--default .select2-selection--single:focus, .select2-container--default .select2-selection--single:hover,
select:focus,
select:hover,
.selectr-selected:focus,
.selectr-selected:hover {
  border-bottom-color: #111;
}
.select2-container--default .select2-selection--single.invert,
select.invert,
.selectr-selected.invert {
  color: #fff;
  border-bottom-color: #46474a;
}
.select2-container--default .select2-selection--single.invert:focus, .select2-container--default .select2-selection--single.invert:hover,
select.invert:focus,
select.invert:hover,
.selectr-selected.invert:focus,
.selectr-selected.invert:hover {
  border-bottom-color: #fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
select .select2-selection__rendered,
.selectr-selected .select2-selection__rendered {
  line-height: unset;
  padding-left: 0;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #111;
}
.select2-container--default input:focus {
  outline: none;
}

@media (min-width: 768px) {
  .headerbar {
    height: 60px;
  }
}

/* Modules spacing */
@media (min-width: 1200px) {
  :root {
    --spacer-medium: 2.5rem;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  :root {
    --spacer-medium: 1.5rem;
  }
}
@media (max-width: 767px) {
  :root {
    --spacer-medium: 1rem;
  }
}
@media (min-width: 1200px) {
  :root {
    --spacer-mediumPad: 2rem;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  :root {
    --spacer-mediumPad: 1rem;
  }
}
@media (max-width: 767px) {
  :root {
    --spacer-mediumPad: 1rem;
  }
}
.home .page-body .module.spacer {
  padding-top: calc(1.5 * var(--spacer-big));
}
.home .page-body section > .module:first-of-type {
  padding-top: var(--spacer-big);
}
@media (max-width: 767px) {
  .home .videodesktop {
    display: none;
  }
}
@media (min-width: 768px) {
  .home .videomobile {
    display: none;
  }
}
@media (max-width: 767px) {
  .home .imagedesktop {
    display: none;
  }
}
@media (min-width: 768px) {
  .home .imagemobile {
    display: none;
  }
}
.home .article-header h1 {
  padding-bottom: var(--spacer-mediumPad);
  margin-bottom: var(--spacer-medium);
}
@media (max-width: 991px) {
  .home .article-header h1 {
    padding-bottom: var(--spacer-mediumPad);
  }
}
@media (max-width: 991px) {
  .home .article-header h1 {
    margin-bottom: var(--spacer-medium);
  }
}
.home .carousell-cell {
  padding-left: 0;
  padding-right: 0;
  margin-right: 15px !important;
  margin-top: 15px !important;
}
@media (min-width: 1600px) {
  .home .carousell-cell {
    max-width: 1110px;
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .home .carousell-cell {
    max-width: calc(100vw - 440px - 30px);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .home .carousell-cell {
    max-width: calc(100vw - 110px - 30px);
  }
}
@media (max-width: 767px) {
  .home .carousell-cell {
    max-width: none;
    margin-top: 0px !important;
  }
}
.home .carousell-cell figure {
  margin: 0 0 0rem;
}
.home .banner169 {
  width: 100%;
  padding-top: 56.25%;
  /* 1:1 Aspect Ratio */
  position: relative;
  /* If you want text inside of it */
  height: unset !important;
}
.home .banner169 img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.home .banner169 figure figcaption {
  padding: 0.5rem 0 0;
}
@media (max-width: 767px) {
  .home .banner169 figure figcaption {
    opacity: 0;
    margin-bottom: 0;
  }
}
.home .hero.extend-both {
  background-color: #ecece7;
  padding-bottom: var(--spacer-big);
}
.home .hero.extend-both .banner169 {
  width: 66%;
  max-width: 1140px;
}
.home .article-bg.extend-both {
  position: absolute;
  height: 100%;
  background-color: #ecece7;
}

#projekte .row > .col-6,
#kursprojekte .row > .col-6 {
  margin-bottom: var(--spacer-small);
}
#projekte .row > .col-6:nth-last-child(-n+3),
#kursprojekte .row > .col-6:nth-last-child(-n+3) {
  margin-bottom: 0;
}

#projekte img {
  transition: opacity 150ms ease-in-out;
}

#projekte .noWWW img {
  opacity: 0.25;
}

#projekte .noWWW .wwwCheckbox {
  position: absolute;
  top: 10px;
  right: 25px;
  background-color: rgb(234, 234, 234);
  border: 3px solid rgb(138, 138, 138);
  height: 25px;
  width: 25px;
  border-radius: 3px;
}

#projekte .wwwCheckbox {
  position: absolute;
  top: 10px;
  right: 25px;
  background-color: rgb(110, 53, 233);
  height: 25px;
  width: 25px;
  border-radius: 3px;
}

#projekte .noWWW .wwwCheckbox .checkmark {
  transform: rotate(45deg) scale(0);
  margin: -3px;
}

#projekte .wwwCheckbox .checkmark {
  display: inline-block;
  width: 25px;
  height: 25px;
  transform: rotate(45deg) scale(1);
  transition: transform 150ms ease-in-out;
  transform-origin: center;
}

#projekte .wwwCheckbox .checkmark:before {
  content: "";
  position: absolute;
  width: 3px;
  height: 11px;
  background-color: #fff;
  left: 13px;
  top: 6px;
}

#projekte .wwwCheckbox .checkmark:after {
  content: "";
  position: absolute;
  width: 7px;
  height: 3px;
  background-color: #fff;
  left: 8px;
  top: 14px;
}

.project .banner169 {
  width: 100%;
  padding-top: 56.25%;
  /* 1:1 Aspect Ratio */
  position: relative;
  /* If you want text inside of it */
  height: unset !important;
}
.project .banner169 iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.project .banner169 img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.project #kursbeschreibung img {
  width: 100%;
}
.project #beschreibung img, .project #beschreibung iframe {
  max-width: 100%;
}
.project .tags a {
  background-color: black;
  color: white;
  padding: 0 5px;
  border-bottom: none;
}
.project .heart .notliked {
  display: inline-block;
}
.project .heart .liked {
  display: none;
}
.project .heart.has_liked .liked {
  display: inline-block;
}
.project .heart.has_liked .notliked {
  display: none;
}
.project #beschreibung .sidebar .button.outline {
  background-color: #000;
  border-radius: 0;
  border: none;
}
.project #beschreibung .sidebar .button.outline span {
  color: #fff;
}
.project #beschreibung .sidebar .button.outline i[class^=i-].i-arrow {
  background-image: url(../svg/arrow-white.svg);
}
.project #comments #notification {
  padding-left: 0.5rem;
}
.project .commentions-list > ul {
  padding-left: 0;
}
.project .commentions-list > ul > li {
  list-style: none;
  margin-bottom: 4.2rem;
}
.project .commentions-list > ul > li .commentions-list-date {
  margin-bottom: 0;
}
.project .commentions-form .commentions-form-honeypot {
  display: none;
}
.project #beschreibung ul {
  padding-left: 0;
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
}
.project #beschreibung ul li {
  list-style: none;
  padding-bottom: 0.5rem;
}
.project #beschreibung ul li:before {
  content: "–";
  padding-right: 0.5rem;
}
.project #beschreibung ol {
  padding-left: 0;
  list-style: decimal inside none;
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
}
.project #beschreibung p em {
  font-style: italic;
}
.project #beschreibung figure figcaption {
  padding: 0.5rem 0 0;
}
.project #kursbeschreibung {
  width: 100vw;
  background-color: #f8f8f8;
  border-bottom: 1px solid #f3f3f3;
  padding-top: 1.5rem;
  margin-left: -15px;
}
.project #kursbeschreibung .plus-minus-button {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: white;
  padding: 2px;
}
.project #kursbeschreibung .plus-minus-button .plus-minus-toggle {
  padding: 5px;
  border: 2px solid black;
  border-radius: 50%;
  height: 26px;
  width: 26px;
}
.project #kursbeschreibung .plus-minus-button .plus-minus-toggle::after, .project #kursbeschreibung .plus-minus-button .plus-minus-toggle::before {
  top: 10px;
  width: 16px;
  left: 3px;
}
@media (min-width: 768px) {
  .project #kursbeschreibung .hideDesktop {
    display: none;
  }
}
.project #kursbeschreibung button:focus,
.project #kursbeschreibung button:active,
.project #kursbeschreibung .button:focus,
.project #kursbeschreibung .button:active {
  filter: none;
}
.project #kursbeschreibung .accordion-content,
.project #kursbeschreibung .accordion-row {
  opacity: 1;
  transition: max-height 600ms ease-out;
}
.project #kursbeschreibung .accordion-content .hide,
.project #kursbeschreibung .accordion-row .hide {
  display: none;
}
@media (min-width: 768px) {
  .project #kursbeschreibung .accordion-content,
  .project #kursbeschreibung .accordion-row {
    max-height: 200px;
  }
}
@media (min-width: 1600px) {
  .project #kursbeschreibung {
    margin-left: calc(-0.5 * (100vw - 1140px) - 15px);
  }
}
@media (min-width: 1200px) and (max-width: 1599px) {
  .project #kursbeschreibung {
    margin-left: -235px;
    padding-top: 1.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .project #kursbeschreibung {
    margin-left: -70px;
  }
}
.project #kursbeschreibung .accordion-content.active,
.project #kursbeschreibung .accordion-row.active {
  opacity: 1;
  max-height: 4000px;
}
.project #kursbeschreibung .accordion-content.active .hide,
.project #kursbeschreibung .accordion-row.active .hide {
  display: block;
}
.project #kursbeschreibung h2 {
  margin-top: 0;
}
.project .article-header h1 {
  margin-bottom: var(--spacer-small);
}
@media (max-width: 991px) {
  .project .article-header h1 {
    margin-bottom: var(--spacer-small);
  }
}
.project .page-body {
  margin-top: 6.8rem;
}
.project .page-body section {
  margin-top: 3rem;
}
.project .page-body section.projektkopf {
  padding-bottom: 0.75rem;
}
@media (min-width: 1200px) {
  .project .page-body {
    margin-top: 6.6rem;
  }
}
.project .exTour {
  display: none;
}
@media (min-width: 768px) {
  .project .exTour {
    display: block;
  }
  .project .exTour .dropdown nav {
    position: absolute;
    transform: translateY(-100%);
    top: 0;
    left: 100vw;
    visibility: hidden;
  }
  .project .exTour .dropdown nav ul {
    position: relative;
    background-color: #111;
    border-radius: 2px;
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    opacity: 0;
    padding: 10px 0;
    transform: translateY(30px);
    display: block;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
  }
  .project .exTour .dropdown nav ul::before {
    content: "";
    position: absolute;
    left: 20px;
    bottom: 0;
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translateY(80%);
    background-color: #111;
  }
  .project .exTour .dropdown nav li {
    margin-right: 0;
    padding: 0;
    display: block;
  }
  .project .exTour .dropdown nav li div.select,
  .project .exTour .dropdown nav li a {
    color: #fff;
    padding: 5px 15px;
    width: 100%;
    font: 400 0.875rem/1.2 "AtlasGrotesk", sans-serif;
  }
  .project .exTour .dropdown nav li div.select:hover,
  .project .exTour .dropdown nav li a:hover {
    color: #ccc;
  }
  .project .exTour .dropdown.active {
    position: relative;
    overflow: visible;
  }
  .project .exTour .dropdown.active nav {
    left: 0;
    visibility: visible;
    padding-top: 1.4rem;
  }
  .project .exTour .dropdown.active nav ul {
    opacity: 1;
    transform: translateY(0);
  }
}
.project #kursprojekte {
  position: relative;
  padding-bottom: 4.5rem;
}
.project #kursprojekte .extend-both {
  position: absolute;
  width: 100vw;
  height: 100%;
  background-color: #f8f8f8;
  padding-bottom: 7.5rem;
}
.project footer {
  margin-top: 0;
}
.project .noWWW .wwwCheckbox {
  top: 10px;
  right: 25px;
  background-color: rgb(234, 234, 234);
  border: 3px solid rgb(138, 138, 138);
  height: 25px;
  width: 25px;
  border-radius: 3px;
}
.project .wwwCheckbox {
  top: 10px;
  right: 25px;
  background-color: rgb(110, 53, 233);
  height: 25px;
  width: 25px;
  border-radius: 3px;
  margin-top: 5px;
}
.project .noWWW .wwwCheckbox .checkmark {
  transform: rotate(45deg) scale(0);
  margin: -3px;
}
.project .wwwCheckbox .checkmark {
  position: absolute;
  display: inline-block;
  width: 25px;
  height: 25px;
  transform: rotate(45deg) scale(1);
  transition: transform 150ms ease-in-out;
  transform-origin: center;
}
.project .wwwCheckbox .checkmark:before {
  content: "";
  position: absolute;
  width: 3px;
  height: 11px;
  background-color: #fff;
  left: 13px;
  top: 6px;
}
.project .wwwCheckbox .checkmark:after {
  content: "";
  position: absolute;
  width: 7px;
  height: 3px;
  background-color: #fff;
  left: 8px;
  top: 14px;
}

#aktivitaet img,
#mehrinfo img {
  width: 100%;
}

#aktivitaet .gallery img {
  width: auto;
}

#projects .row > .col-6, #aktivitaet .row > .col-6, #kursprojekte .row > .col-6 {
  margin-bottom: var(--spacer-small);
}
#projects .row > .col-6:nth-last-child(-n+3), #aktivitaet .row > .col-6:nth-last-child(-n+3), #kursprojekte .row > .col-6:nth-last-child(-n+3) {
  margin-bottom: 0;
}

.course #beschreibung ul {
  padding-left: 0;
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
}
.course #beschreibung ul li {
  list-style: none;
  padding-bottom: 0.5rem;
}
.course #beschreibung ul li:before {
  content: "–";
  padding-right: 0.5rem;
}
.course #beschreibung ol {
  padding-left: 0;
  list-style: decimal inside none;
  font: 400 1.125rem/1.6 "AtlasGrotesk", sans-serif;
}
.course #beschreibung p em {
  font-style: italic;
}
.course #beschreibung figure figcaption {
  padding: 0.5rem 0 0;
}

.activities .calendar .cal-entry {
  padding-bottom: 5rem;
}

.lectures .page-body {
  margin-top: 0;
  padding-top: 6.8rem;
}
.lectures .page-body section#livestream {
  margin-top: 2rem;
}
@media (min-width: 1200px) {
  .lectures .page-body {
    padding-top: 6.6rem;
  }
}
.lectures .banner169 {
  width: 100%;
  padding-top: 56.25%;
  /* 1:1 Aspect Ratio */
  position: relative;
  /* If you want text inside of it */
  height: unset !important;
}
.lectures .banner169 img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.lectures .banner169 iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.lectures .dark-border-top {
  border-top: 1px solid #403f3f;
}

.grad360 .banner169 {
  width: 100%;
  padding-top: 56.25%;
  /* 1:1 Aspect Ratio */
  position: relative;
  /* If you want text inside of it */
  height: unset !important;
}
.grad360 .banner169 .tour {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.suche {
  background-color: #1D1D1B;
  color: #fff;
}
.suche .contact-section i[class^=i-].i-mail-white {
  background-image: url(../svg/mail-white.svg);
}
.suche .contact-section i[class^=i-].i-arrow-white {
  background-image: url(../svg/arrow-white.svg);
}
.suche .contact-section a {
  color: #fff;
}
.suche a {
  color: #fff;
}
.suche .row > .col-6 {
  margin-bottom: var(--spacer-small);
}
.suche .row > .col-6:nth-last-child(-n+3) {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .page-body {
    margin-top: 7.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .page-body {
    margin-top: 6.8rem;
  }
}
@media (min-width: 1200px) {
  .page-body {
    margin-top: 6.6rem;
  }
}
@media (max-width: 376px) {
  .bewerbung-steps .number {
    margin-right: auto;
  }
}
.bewerbung-steps .number h3 {
  line-height: 2.2rem;
}
.bewerbung-steps h3 {
  line-height: 3rem;
}
@media (max-width: 376px) {
  .bewerbung-steps h3 {
    line-height: 1rem;
  }
}

.newsletter .newsletter-bg {
  background-color: #fdf37c;
}
.newsletter input.invert {
  color: inherit !important;
}
.newsletter input.invert:hover, .newsletter input.invert:active, .newsletter input.invert:focus {
  border-bottom-color: #949494 !important;
}
.newsletter .min-w {
  min-width: 100%;
}
.newsletter .newsletter-image {
  aspect-ratio: 16/10;
}
.newsletter .newsletter-image .newsletter-image-inner {
  width: 100%;
  aspect-ratio: 16/10;
  bottom: 0;
  position: absolute;
}
.newsletter .collapsible {
  padding: 0;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-out;
}
.newsletter .active {
  max-height: 5000px;
  opacity: 1;
  padding-top: 1.8rem !important;
  padding-bottom: 1.8rem !important;
}

@media (max-width: 425px) {
  .button-container {
    width: 100%;
  }
}

.overflow-hidden {
  overflow: hidden;
}

.font-weight-semibold {
  font-weight: 600 !important;
}

.font-big {
  font: 2.25rem/1.2 "AtlasGrotesk", sans-serif;
}

.light-gray {
  display: inline-block;
  color: #959595;
}

.termine .termine-bg {
  background-color: #f8f8f8;
}
.termine .termine-highlight {
  font: 1.5rem "AtlasGrotesk", sans-serif;
}

.button-faq {
  padding: 0;
}
.button-faq a {
  background: none !important;
  transition: all ease-in-out 0.1s;
}
.button-faq a:hover {
  border-color: #949494 !important;
}

.faq {
  background-color: #f8f8f8;
}
.faq .faq-highlight {
  font: 600 1.5rem "AtlasGrotesk", sans-serif;
}
@media (max-width: 768px) {
  .faq .clickable button {
    transform: scale(0.7);
    padding-top: 0 !important;
  }
}
.faq .button-back i {
  transform: scale(-1, 1);
}
.faq .button-back:hover i {
  transform: scale(-1, 1) translateX(4px);
}
.faq .min-h {
  min-height: 10rem;
}
@media (max-width: 575px) {
  .faq .min-h {
    min-height: 2rem;
  }
}
.faq .border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.faq .wrap {
  border: none !important;
}

.bewerbung-slider .images {
  aspect-ratio: 16/10;
  max-height: 65vh;
  overflow: hidden;
}
.bewerbung-slider .images picture {
  opacity: 0;
  left: 0;
  top: 0;
  min-height: 248px;
  width: 100%;
  position: absolute;
  overflow: hidden;
}
@media (min-width: 768px) {
  .bewerbung-slider .images picture {
    min-height: 70vh;
  }
}
.bewerbung-slider .images picture img {
  width: 100%;
}
.bewerbung-slider .images picture:nth-child(1) {
  animation: fadeinout 8s linear -0.6666666667s infinite;
}
.bewerbung-slider .images picture:nth-child(2) {
  animation: fadeinout 8s linear 1.3333333333s infinite;
}
.bewerbung-slider .images picture:nth-child(3) {
  animation: fadeinout 8s linear 3.3333333333s infinite;
}
.bewerbung-slider .images picture:nth-child(4) {
  animation: fadeinout 8s linear 5.3333333333s infinite;
}
@keyframes fadeinout {
  0% {
    opacity: 0;
  }
  8.3333333333%, 25% {
    opacity: 1;
  }
  33.3333333333%, 100% {
    opacity: 0;
  }
}

.slider .slider-bg {
  background-color: #fdf37c;
}
.slider .carousel-cell__feature {
  border: none !important;
}

.img-aspect-ratio {
  width: 100%;
  aspect-ratio: 4/3;
}

.img-aspect-inner {
  position: absolute;
  min-width: 100%;
  bottom: 0%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.img-aspect-inner.fullwidth {
  width: 100%;
  height: auto;
}

.bb-no {
  border-bottom: none;
}

.tease {
  background-color: #000;
  color: #efefef !important;
}
.tease .brand {
  color: #fff !important;
}
.tease #header .navigation::before {
  background: #000;
}

#comments #notification {
  padding-left: 0.5rem;
}

.bewerben.fixed {
  position: fixed;
  right: 0;
  transform: translate(100%, -50%);
  top: 90%;
  z-index: 2000;
}
@media (min-width: 768px) {
  .bewerben.fixed {
    position: fixed;
    top: 120px;
  }
}
@media (min-width: 1550px) {
  .bewerben.fixed {
    position: fixed;
    top: 50%;
  }
}
.bewerben.fixed.pinned {
  animation: swipeLeft ease-out 0.3s;
  animation-fill-mode: forwards;
}
@keyframes swipeLeft {
  from {
    transform: translate(100%, -50%);
  }
  to {
    transform: translate(0%, -50%);
  }
}
.bewerben.fixed .button.outline {
  background-color: #000;
  border-radius: 0;
  border: none;
  padding-left: 14px;
  padding-right: 14px;
}
.bewerben.fixed .button.outline span {
  color: #fff;
}
.bewerben.fixed .button.outline i[class^=i-].i-arrow {
  background-image: url(../svg/arrow-white.svg);
}

.card .description {
  padding-top: 1rem;
}

a.anchor {
  display: block;
  position: relative;
  top: -250px;
  visibility: hidden;
}

a.isDisabled {
  opacity: 0.5;
  pointer-events: none;
}

article.isFinished {
  opacity: 0.2;
  pointer-events: none;
}

.exTour.fixed {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 2000;
  background-color: #000;
}
.exTour.fixed .button {
  margin-top: 0;
  padding: 0;
  height: 60px;
}
.exTour.fixed .button span {
  color: #fff;
}
.exTour.fixed .button i[class^=i-].i-arrow {
  background-image: url(../svg/arrow-white.svg);
}

.exTour {
  display: none;
}

@media (min-width: 768px) {
  .exTour {
    display: block;
  }
  .exTour .container {
    display: flex;
    justify-content: space-between;
  }
  .exTour .container .button.left {
    height: 60px;
    display: flex;
    align-items: center;
    z-index: 10;
    justify-content: unset;
    margin-left: -15px;
  }
  .exTour .container .dropdown.left span {
    font-weight: 400;
    color: white;
  }
  .exTour .container .end-text {
    height: 60px;
    display: flex;
    align-items: center;
    z-index: 10;
    justify-content: unset;
    color: white;
    margin-left: -15px;
  }
  .exTour .container .end-text .left span {
    font-weight: 400;
    cursor: default;
  }
  .exTour .container .end-text.no {
    margin-left: auto;
    padding: 0 15px !important;
    margin-right: -15px;
  }
  .exTour .container .end-text.right {
    padding: 0 15px;
    justify-content: flex-end;
    margin-right: -15px;
  }
  .exTour .container .button {
    min-width: unset;
    height: 60px;
    padding-left: 15px;
    padding-right: 15px;
    background-color: rgba(255, 255, 255, 0);
    transition: background-color ease 0.3s;
  }
  .exTour .container .button:hover {
    background-color: rgba(255, 255, 255, 0.125);
  }
  .exTour .container .button.nohov {
    transition: none;
    cursor: default;
  }
  .exTour .container .button.nohov:hover {
    background-color: rgba(255, 255, 255, 0);
  }
  .exTour .container .button .right {
    height: 60px;
    display: flex;
    align-items: center;
    z-index: 10;
    margin-right: -15px;
    padding: 0 15px;
  }
  .exTour .container .button .right {
    height: 60px;
  }
  .exTour .container .button.next {
    padding: 0;
    padding-right: 15px;
    margin-right: -15px;
  }
  .exTour .container .button.next:hover {
    animation: none;
    background-color: rgba(255, 255, 255, 0.125);
  }
  .exTour .tourIndicator {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    color: white;
    padding-right: 15px;
  }
  .home .exTour .button.next {
    animation: pulse 2s infinite;
  }
  .home .exTour .button.next:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
@keyframes pulse {
  0% {
    background-color: rgba(255, 255, 255, 0);
  }
  70% {
    background-color: rgba(255, 255, 255, 0.25);
  }
  100% {
    background-color: rgba(255, 255, 255, 0);
  }
}
.double-click-overlay-keyvisual {
  pointer-events: auto;
  z-index: 1999;
}

.double-click-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(17, 17, 17, 0.7882352941);
  color: #fff;
  z-index: 2200;
  display: grid;
  align-items: center;
}
.double-click-overlay .overlay-content {
  margin: auto;
  padding: 0 3rem;
  display: grid;
  grid-template-columns: minmax(48px, 1fr) minmax(200px, 4fr);
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  height: -moz-fit-content;
  height: fit-content;
  color: #fff;
  text-align: left;
  width: 100%;
}
@media (max-width: 768px) {
  .double-click-overlay .overlay-content {
    grid-template-columns: 1fr;
    min-height: 64px;
  }
}
@media (max-width: 426px) {
  .double-click-overlay .overlay-content {
    min-height: 48px;
  }
}
.double-click-overlay .overlay-content .button.icon {
  height: 100%;
  position: relative;
  margin-top: 0;
  right: 0;
  min-width: 48px !important;
}
.double-click-overlay .overlay-content .button.icon:hover i {
  background: #111111;
}
.double-click-overlay .overlay-content .button.icon:hover i svg {
  transform: scale(1.1);
}
.double-click-overlay .overlay-content .button.icon i {
  background: #000000;
  padding: 1rem;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  height: inherit;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s ease-in;
}
@media (max-width: 768px) {
  .double-click-overlay .overlay-content .button.icon i {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    min-width: 36px;
    min-height: 36px;
    padding: 0;
  }
}
.double-click-overlay .overlay-content .button.icon i svg {
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in;
}
@media (max-width: 768px) {
  .double-click-overlay .overlay-content .text {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 2rem 2rem 2rem;
  }
}
@media (max-width: 426px) {
  .double-click-overlay .overlay-content .text {
    padding: 0 1rem 1rem 1rem;
  }
}
.double-click-overlay .overlay-content .text .title {
  line-height: 1.6rem;
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  .double-click-overlay .overlay-content .text .title {
    font-size: 1.2rem;
    margin-bottom: 0.3rem;
  }
}
@media (max-width: 426px) {
  .double-click-overlay .overlay-content .text .title {
    font-size: 0.9rem;
  }
}
@media (max-width: 320px) {
  .double-click-overlay .overlay-content .text .title {
    font-size: 0.7rem;
  }
}
.double-click-overlay .overlay-content .text .content {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .double-click-overlay .overlay-content .text .content {
    font-size: 1rem;
  }
}
@media (max-width: 426px) {
  .double-click-overlay .overlay-content .text .content {
    font-size: 0.7rem;
  }
}
@media (max-width: 320px) {
  .double-click-overlay .overlay-content .text .content {
    font-size: 0.5rem;
  }
}
.double-click-overlay a {
  color: #fff;
}

@media (min-width: 768px) {
  .embed-responsive .overlay-content {
    grid-template-columns: 1fr;
    min-height: 64px;
  }
}
@media (min-width: 768px) {
  .embed-responsive .overlay-content .icon i {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    min-width: 36px;
    min-height: 36px;
    padding: 0 !important;
  }
}
@media (min-width: 768px) {
  .embed-responsive .overlay-content .text {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 2rem 2rem 2rem;
  }
}
@media (min-width: 768px) {
  .embed-responsive .overlay-content .text .title {
    font-size: 0.9rem;
    margin-bottom: 0.3rem;
  }
}
@media (min-width: 768px) {
  .embed-responsive .overlay-content .text .content {
    font-size: 0.7rem;
  }
}/*# sourceMappingURL=main.css.map */