
@font-face {
font-family: 'HN';
src:
url('../font/Helvetica-Neue.woff2') format('woff2'),
url('../font/Helvetica-Neue.woff') format('woff');
}

@font-face {
font-family: 'Mono';
src:
url('../font/Helvetica-Monospaced.woff2') format('woff2'),
url('../font/Helvetica-Monospaced.woff') format('woff');
}


:root {
  --content-width: 100%;
  position: relative;

}

input::-moz-focus-inner { 
  border: 0; 
}

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

}

*:focus {
    outline: none;
}

html {
margin: 0 auto;
white-space: normal;
background-color: rgb(250,250,250);
color: rgba(0,0,0,1);
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-text-size-adjust: none;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
overflow-x: hidden;
overflow-x: -moz-scrollbars-none;
-webkit-text-size-adjust: none;
-webkit-box-sizing: border-box;
        box-sizing: border-box;
}

header{
position: sticky;
top: 0;
left: 0;
width: 100%;
z-index: 1;
height: 7.25rem;
background-color: rgb(250,250,250);
scrollbar-width: none;
-ms-overflow-style: none; 
border-bottom: 1px solid black;
z-index: 9999;
}

main {
-webkit-animation: fadein 1s;
animation: fadein 1s;
}
html, body, main {
scrollbar-width: none;
-ms-overflow-style: none; 
}

html::-webkit-scrollbar, body::-webkit-scrollbar, main::-webkit-scrollbar{ 
  display:none; width:0; height:0; 
}

header.menu-open{
border-bottom: 1px solid #FB451E;
z-index: 100000;
}

.eintrag-diskurs, #filter {
padding-top: calc(1.1rem * .5);
padding-bottom: calc(1.1rem * .5);
border-bottom: 1px solid black;
border-left: .75rem solid rgb(225,225,225);
}


 #filter {
padding-bottom: calc(1.1rem * .4);
}

.eintrag-diskurs.favorit {
border-left: .75rem solid #FB451E;
}

#filter {
border-bottom: 1px solid black;
}

@media screen and (max-width: 40rem) {
header.menu-open{
height: 100vh;
height: calc(var(--vh, 1vh) * 100);
overflow-y: scroll;
}
.subpages {
padding-top: .75rem;
}
}


body, main, textarea {
    scrollbar-width: none; 
    -ms-overflow-style: none;
}

body::-webkit-scrollbar, main::-webkit-scrollbar, textarea::-webkit-scrollbar {
    display: none; 
}

header, footer, img {
-webkit-user-select: none;  
-moz-user-select: none;    
-ms-user-select: none;      
user-select: none;
}

p, h1, h2, h3, figcaption, button, input, textarea, strong, sub, sup, label, legend, button .preview-label {
font-weight: normal;
font-style: normal;
line-height: normal;
}

sub, sup  {
line-height: 0;
}


p, button .preview-label, .text-l p, textarea, label, legend, #countdown, #title, input { 
font-family: "HN";
font-size: 1rem; 
line-height: 110%;
letter-spacing: -.005rem;
}

header h1, h3, .text-xl p, h2, button { 
font-family: "HN";
font-size: 1.5rem; 
line-height: 110%;
letter-spacing: -.01rem;
}

header h1, header h3, .navigation h3 {
font-size: 3.2rem;
letter-spacing: -0.04rem; 
line-height: 110%;
}

#title, #countdown {
font-family: 'Mono';
text-align: right;
word-spacing: -.75rem;
color: #FB451E;
}

@media screen and (min-width: 75rem) {
.text-l p, h2, button { 
font-size: 1.6rem; 
letter-spacing: -.02rem;
}

h3, .text-xl p { 
font-size: 2.4rem; 
letter-spacing: -.025rem;
}
#title, #countdown {
font-size: 3.15rem;
word-spacing: -1rem;
}
}


.uppercase {
text-transform: uppercase;
}



main[data-barba-namespace="uebersicht"], main[data-barba-namespace="projekte"] { 
-webkit-hyphens: auto; 
    -ms-hyphens: auto; 
        hyphens: auto;
}


.eintrag{
border-bottom: 1px solid black;
}

.eintrag figure {
border-top: calc(1.1rem * .75) solid rgb(225,225,225);
}

.eintrag.favourite figure {
border-top: calc(1.1rem * .75) solid #FB451E;
}

.eintrag-text p, .eintrag-link p, .eintrag-text h2{
margin-bottom: 1.1rem;
}

.eintrag p, .eintrag h2 {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}

.einplanen .eintrag-link p {
margin-bottom: 0;
}


.eintrag-text h1:last-of-type {
margin-bottom: 1.1rem;
}

@media screen and (min-width: 75rem) {
.eintrag{
padding-bottom: calc(1.1rem * .75);
}

.eintrag-text p, .eintrag-text h2{
margin-bottom: 1.1rem;
}
.eintrag-link p{
margin-bottom: 0;
}

.eintrag-text p:last-of-type, .eintrag-text h1:last-of-type {
margin-bottom: 0rem;
}
}

.entdecken .eintrag-text p:last-of-type {
margin-bottom: 0rem;
}

a, .opener {
color: inherit;
text-decoration: none;
outline: none;
outline: 0;
cursor: pointer;
}

.eintrag-text a {
color: #FB451E;
}



a:hover {
color: #FB451E;
cursor: pointer;
}



::-moz-selection {
color: rgb(225,225,225);
}
::selection {
color: rgb(225,225,225);
}

span, .menu-opener, label {
display: inline-block;
margin-right: .75rem;
}

header span {
display: block;
}

#countdown, .eintrag-subinfo a, main .active {
color: #FB451E;
}

.active h2, .active p {
color: #FB451E;
}


header .active, header .active h2 {
color: rgb(250,250,250);
}


.menu a:hover{
color: rgb(250,250,250);
}




.menu, .menu-background, .menu-open .countdown, .navigation, .menu-open .navigation, .countdown  {
display: none;
}

.active .close {
display: none;
}

@media screen and (min-width: 75rem) {
.navigation {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}

.menu-open .navigation {
display: none;
}

}  




p a, h1 a, h2 a {
  white-space: nowrap;
}

.eintrag-text h1 a, .links h1 a, .eintrag-info a {
  white-space: normal;
}

.eintrag-text p a::before, .eintrag-text h1 a::before, .eintrag-text h2 a::before {
  content: url('../systemfiles/Icon-Link.svg');
  margin-right: 0.25rem;
  display: inline-block;
  height: .9rem;
  vertical-align: top;
  white-space: nowrap;
  width: auto;
}



.eintrag-text p a::before, .eintrag-info a::before, .eintrag-link a::before {
  content: url('../systemfiles/Icon-Link-Medium.svg');
    width: .8rem;
  height: .9rem;
display: inline-block;
vertical-align: center;
}

.eintrag-text h1 a::before{
  content: url('../systemfiles/Icon-Link-Small.svg');
  width: 12px; 
  margin-right: 0.25rem;
}

.eintrag-text h2 a::before {
  content: url('../systemfiles/Icon-Link.svg');
  width: 22px; 
}


p svg, legend svg {
  margin-right: 0.1rem;
  vertical-align: bottom;
  white-space: nowrap;
  height: auto;
  width: 20px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 18px;
  flex: 0 0 18px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
}

h2 svg {
  margin-right: 0.1rem;
  display: inline-block;
  vertical-align: center;
  white-space: nowrap;
  height: auto;
  width: 22px;
}

.state h2 svg {
  margin-right: 0;
  display: inline-block;
  vertical-align: bottom;
  white-space: nowrap;
  height: auto;
  width: 36px;
}

h3 svg {
  margin-right: 0.1rem;
  display: inline-block;
  vertical-align: bottom;
  white-space: nowrap;
  height: auto;
  width: 36px;
}


a:hover .ort::before {
  content: url('../systemfiles/Icon-Ort-aktiv.svg');
}

main h1 .link::before {
  content: url('../systemfiles/Icon-Link-Small.svg');
  display: inline-block;
  width: 12px; 
  height: auto;
  vertical-align: top;
  line-height: 0;
  white-space: nowrap;
}

@media screen and (max-width: 40rem) {
#filter .flexchild-15:first-of-type, .entdecken .meta-line-text, form legend {
padding-bottom: .25rem;
}

h2 svg {
  width: 18px;
}

.eintrag-text p a::before, .eintrag-info a::before, .eintrag-link a::before{
  content: url('../systemfiles/Icon-Link-Mobile-Small.svg');
  width: .75rem;
  vertical-align: bottom;
  height: 1rem;
}
.eintrag-text h2 a::before {
  content: url('../systemfiles/Icon-Link-Mobile.svg');
  width: 20px; 
}
.datum::before {
  content: url('../systemfiles/Icon-Datum-Mobile.svg');
  width: 22px; 
}
a:hover .datum::before {
  content: url('../systemfiles/Icon-Datum-Mobile-aktiv.svg');
}
.zeit::before {
  content: url('../systemfiles/Icon-Zeit-Mobile.svg');
  width: 22px;
}
a:hover .zeit::before {
  content: url('../systemfiles/Icon-Zeit-Mobile-aktiv.svg');
}
.ort::before {
  content: url('../systemfiles/Icon-Ort-Mobile.svg');
  width: 21px;
}
a:hover .ort::before {
  content: url('../systemfiles/Icon-Ort-Mobile-aktiv.svg');
}
}



.intro-link{
width: 100vw;
height: 100vh;
}

.eintrag-links a {
display: block;
}

.image-container {
position: relative;
height: 0;
width: 100%;
overflow: hidden;
}

img[data-src] {
opacity: 0;
-webkit-transition: opacity .4s;
-o-transition: opacity .4s;
transition: opacity .4s;
}

img {
max-width: 100%;
height: auto;
opacity: 1;
vertical-align: top; 
border: 0px;
-webkit-transition: opacity .4s;
-o-transition: opacity .4s;
transition: opacity .4s;
-o-object-fit: contain;
   object-fit: contain;
-o-object-position: center center;
   object-position: center center;
}


.eintrag img, .timetable-entry img{
height: calc(1.1rem * 8);
-o-object-fit: cover;
   object-fit: cover;
-o-object-position: center;
   object-position: center;
}


.sub img {
height: calc(1.1rem * 16);
-o-object-fit: contain;
   object-fit: contain;
-o-object-position: top left;
   object-position: top left;
}




@media screen and (min-width: 60rem) {

.eintrag img, .timetable-entry img{
-o-object-fit: contain;
   object-fit: contain;
-o-object-position: top left;
   object-position: top left;
}
}


.eintrag-text img {
margin-bottom: calc(2*1.1rem);
}



.flexbox{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
    -ms-flex-pack: start;
        justify-content: flex-start;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.spacer {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.spacer-y {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}


.inliner{
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-ms-flex-wrap: row wrap;
    flex-wrap: row wrap;
}


.flexchild-filter, .eintrag, .flexchild-5, .flexchild-10, .flexchild-15, .flexchild-20, .flexchild-25, .flexchild-30, .flexchild-40, .flexchild-50, .flexchild-75 .flexchild-80, .flexchild-100 {
width: 100%;
}

.subflexchild-50{
width: 100%;
}

#projekte .eintrag{
width: calc(((100% / 10) * 3.333));
} 

@media screen and (min-width: 60rem) {
#projekte .eintrag{
width: calc(((100% / 10) * 3.333));
}
.align-right h2 {
text-align: right;
}
}

@media screen and (min-width: 75rem) {
.align-right {
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-box-pack: end;
    -ms-flex-pack: end;
        justify-content: flex-end;
float: right;
}


.flexchild-5 {
width: calc(((100% / 10) * .5));
}

.flexchild-10 {
width: calc(((100% / 10) * 1));
}
.flexchild-15 {
width: calc(((100% / 10) * 1.5));
}
.flexchild-filter {
width: calc(((100% / 10) * (9/5)));
}

.flexchild-20{
width: calc(((100% / 10) * 2));
}
.flexchild-25{
width: calc(((100% / 10) * 2.5));
}
.flexchild-30{
width: calc(((100% / 10) * 3));
}
.flexchild-40{
width: calc(((100% / 10) * 4));
}
.flexchild-50{
width: calc(((100% / 10) * 5));
}
.flexchild-75{
width: calc(((100% / 10) * 7.5));
}

.flexchild-80{
width: calc(((100% / 10) * 10));
}

#projekte .eintrag{
width: calc(((100% / 10) * 2.5));
}

}

@media screen and (min-width: 105rem) {

.flexchild-40{
width: calc(((100% / 10) * 4));
}
.flexchild-70{
width: calc(((100% / 10) * 7));
}
.flexchild-80{
width: calc(((100% / 10) * 10));
padding-left: calc(((100% / 10) * 2));
padding-right: calc(((100% / 10) * 2));
}
#projekte .eintrag{
width: calc(((100% / 10) * 2));
}
#projekte .eintrag.small{
width: calc(((100% / 10) * 2));
}
}

@media screen and (min-width: 170rem) {
.eintrag{
width: calc(((100% / 10) * 2));
}
#journal .eintrag{
width: calc(((100% / 10) * 2));
}
#projekte .eintrag{
width: calc(((100% / 10) * 1.666));
}
}


.eintrag-inhalt{
padding-top: .75rem;
}

.hauptnavigation{
padding-top: .25rem;
padding-left: .75rem;
padding-right: .75rem;
}


.countdown{
padding-top: .75rem;
padding-left: .75rem;
padding-right: .75rem;
}

.eintrag-trenner h3{
display: none;
}

@media screen and (max-width: 40rem) {
.eintrag{
border-bottom: 1px solid black;
}


}




.eintrag-projekte{
border-bottom: 1px solid black;
}

.eintrag-titel, .eintrag-info, .eintrag-text, .eintrag-subinfo, .links {
padding-left: calc(1.1rem * .75);
padding-right:calc(1.1rem * .75);
padding-bottom: calc(1.1rem * 1);
}

.intro {
padding-top: calc(1.1rem * 1);
padding-left: calc(1.1rem * 1);
padding-right: calc(1.1rem * 1);
}


#projekte .eintrag-titel{
padding-bottom: calc(1.1rem * .5);
}

#projekte .eintrag-text{
padding-bottom: calc(1.1rem * 1);
}


#projekte .eintrag-info{
padding-bottom: 0;
}


.eintrag-filter:last-of-type {
padding-bottom: 0;
}

.trenner {
padding-top: calc(1.1rem * 2.5);
border-left: 0px;
}

#suche, #filter {
border-left: 0px;
}

.eintrag-diskurs-sub{
padding-left: calc(1.1rem * .75);
padding-right: calc(1.1rem * .75);
}

.eintrag-diskurs-sub .eintrag-info {
padding-bottom: 0rem;
}

.eintrag{
border-right: 1px solid black;
-webkit-box-flex: 0;
    -ms-flex: none;
        flex: none; 
}

@media screen and (min-width: 40rem) {

.hauptnavigation{
padding-left: calc(1.1rem * 1);
padding-right: calc(1.1rem * 1);
}

.countdown{
padding-top: calc(1.1rem * .8);
padding-left: calc(1.1rem * 1);
padding-right: calc(1.1rem * 1);
}


 .eintrag-titel, .eintrag-text, .eintrag-info, .eintrag-text, .eintrag-subinfo, .eintrag-diskurs-sub, .links{
padding-left: calc(1.1rem * 1);
padding-right: calc(1.1rem * 1);
}

}
@media screen and (max-width: 75rem) {
.suchen .eintrag-text{
padding: 0;
}
}


.menu-open .menu-background {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
position: absolute;
top: 0;
height: 100%;
width: 100%;
z-index:-1;
background: #FB451E;
}

.menu-open .menu-titel {
display: none;
}


#clearButton {
display: none;
}


.button:hover {
   background-color: rgb(250,250,250);
}

.sprachen{
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
}

@media screen and (min-width: 40rem) {
header span{
display: inline-block;
margin-right: calc(1.1rem * 1.5);
}
header span:last-of-type{
margin-right: 0rem;
}

.page-closer {
  padding-top: 1rem;
  padding-right: 1rem;
}
.button {
  margin-bottom: .2rem;
}

.sprachen{
float: right;
}

}


.overlay {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: .6rem;
  padding-left: .8rem;
  padding-right: .8rem;
  padding-bottom: .8rem;
  z-index: 999;
  width:100%;
}





button {
background: inherit;
cursor: pointer;
}
button[type=submit] {
  color:  #FB451E;
background: inherit;
margin-top: calc(1.1rem * .25);
}

button:hover{
  color:  #FB451E;
background: inherit;
}


.diskurs span {
margin-right: 0rem;
}


button.active span {
display: inline-block;
vertical-align: baseline;
}
form {
margin-top: calc(1.1rem * 1);
margin-bottom: calc(1.1rem * 1);
}


input{
font-family: "HN";
width: 100%;
border-bottom: 1px solid black;
padding-top: calc(1.1rem * .25);
padding-bottom: calc(1.1rem * .25);

  color: #FB451E;
  background: rgb(250,250,250);
}

#filter input{
-webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
border: 0px solid black;
padding-top: 0rem;
padding-bottom: 0rem;
  margin-bottom: 0rem;
}




textarea{
font-family: "HN";
  color: #FB451E;
  background: rgb(250,250,250);
  min-height: calc(1.1rem * 4);
  width: 100%;
width: 100%;
border-bottom: 1px solid black;
padding-top: calc(1.1rem * .5);
resize: none; 
  user-drag: none;
}




.scroll-marker, .year-marker {
display: none;
}

.menu-open #filter {
display: none;
}





.menu-open .menu {
  display: -webkit-box;
display: -ms-flexbox;
display: flex;
        -ms-flex-wrap: wrap;
    flex-wrap: wrap;

}





.menu section:last-of-type{
  position: absolute;
  display: inline-block;
   vertical-align: center;
  cursor: pointer;
  bottom: 0;
  right: 0;
  padding-bottom: calc(1.1rem * .5);
  padding-left: calc(1.1rem * 1);
  padding-right: calc(1.1rem * 1);
}
.blinker {
    -webkit-animation: blink .5s ease-in-out;
            animation: blink .5s ease-in-out;
}

@media screen and (max-width: 75rem) {
.menu-open{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  z-index: 9999;
}

.menu-open .menu {
flex-direction: column;
}


.menu section:last-of-type{
  position: absolute;
  display: inline-block;
   vertical-align: center;
  cursor: pointer;
  bottom: 0;
  right: auto;
  left: 0;
}



}


@-webkit-keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}



input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 1;
  color: black;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: black;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1;
  color: black;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  opacity: 1;
  color: black;
}

input::placeholder, textarea::placeholder {
  opacity: 1;
  color: black;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1;
  color: black;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder { 
  opacity: 1;
  color: black;
}




.page-closer {
  position: absolute;
  cursor: pointer;
  top: 0;
  right: 0;
  padding-top: .75rem;
  padding-right: .75rem;
  z-index: 999999;
}

#clearButton .page-closer {
  position: relative;
  cursor: pointer;
  top: 0;
  right: 0;
  padding-top: .15rem;
  padding-right: .25rem;
  z-index: 999999;
}

@media screen and (min-width: 75rem) {

#filter input{
  text-align: right;
}
}


.bar1, .bar2, .bar3 {
  width: 4.75rem;
  height: 0.375rem;
  background-color: black;
  margin: .6rem 0;
  -webkit-transition: transform 0.4s;
  -o-transition: transform 0.4s;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

.menu-opener {
  margin-top: .15rem;
  margin-right: 1.25rem;
}



#filter {
position: relative;
z-index: -1;
}

#reset {
padding-top: calc(1.1rem * .5);
cursor: pointer;
}

@media screen and (max-width: 75rem) {
#filter legend {
  padding-top: calc(1.1rem * .25);
}
}
.filter {
  padding-bottom: calc(1.1rem * .25);
}

.filter li:first-of-type {
  padding-top: calc(1.1rem * .25);
}


#clearButton .bar1, #clearButton .bar3{
  width: 3rem;
  height: 0.375rem;
  background-color: black;
  margin: .25rem 0;
  -webkit-transition: transform 0.4s;
  -o-transition: transform 0.4s;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}


.menu-open .bar1, .page-closer .bar1 {
  -webkit-transform: translate(0, .975rem) rotate(-45deg);
      -ms-transform: translate(0, .975rem) rotate(-45deg);
          transform: translate(0, .975rem) rotate(-45deg);
}

.menu-open .bar2, .page-closer .bar2 {
  opacity: 0;
}

.menu-open .bar3, .page-closer .bar3 {
  -webkit-transform: translate(0, -.975rem) rotate(45deg);
      -ms-transform: translate(0, -.975rem) rotate(45deg);
          transform: translate(0, -.975rem) rotate(45deg);
}

#clearButton .bar1 {
  -webkit-transform: translate(0, .35rem) rotate(-45deg);
      -ms-transform: translate(0, .35rem) rotate(-45deg);
          transform: translate(0, .35rem) rotate(-45deg);
}

#clearButton .bar3 {
  -webkit-transform: translate(0, -.35rem) rotate(45deg);
      -ms-transform: translate(0, -.35rem) rotate(45deg);
          transform: translate(0, -.35rem) rotate(45deg);
}


.menu-opener, .navigation {
  cursor: pointer;
}

.menu-open .menu-opener:hover .bar1, .menu-open .menu-opener:hover .bar3 {
background: white;
}


@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}



.meta-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: row wrap;
      flex-wrap: row wrap;
  margin: 0;    
}
.meta-line-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 18px;
          flex: 0 0 18px;    
  display: -webkit-inline-box;    
  display: -ms-inline-flexbox;    
  display: inline-flex;
}

.meta-line-icon svg{
  width: 18px;
  vertical-align: text-bottom;
}


.meta-line span {
margin-right: .5rem;
}



#filter input {
  margin-bottom: .1rem;
}


#filter legend svg {
margin-left: .25rem;
}
.eingabe {
padding-top: calc(1.1rem * .5);
padding-bottom: calc(1.1rem * .5);
border-bottom: 1px solid black;
}


.tool-choice input[type="checkbox"],
.tool-choice input[type="radio"] {
  display: none;
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.tool-choice {
  display: block;
  cursor: pointer;
}


.tool-choice span::before {
  content: url('../systemfiles/Icon-Passiv.svg');
  margin-right: calc(1.1rem * .5);
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  height: auto;
  width: 18px;
}

.tool-choice input[type="checkbox"]:checked + span::before,
.tool-choice input[type="radio"]:checked + span::before {
  content: url('../systemfiles/Icon-Aktiv.svg');
}

.tool-choice input[type="checkbox"]:checked + span,
.tool-choice input[type="radio"]:checked + span {
  color: #FB451E;
}





input[type="file"]{
  font: inherit;
  max-width: 100%;
  border: 0px;
    margin-bottom: 0px;
    padding: 0;
    color: black;
      background: transparent;
}

input[type="file"]::-webkit-file-upload-button{
  font: inherit;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  cursor: pointer;
  margin-top: 1.5rem;
  margin-right: .75rem;
  color: #FB451E;
  height: auto;
}

input[type="file"]::file-selector-button{
  font: inherit;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  cursor: pointer;
  margin-top: 1.5rem;
  margin-right: .75rem;
  color: #FB451E;
  height: auto;
}

/* hover/focus */
input[type="file"]::-webkit-file-upload-button:hover{
  opacity: .85;
}
input[type="file"]::file-selector-button:hover{
  opacity: .85;
}

input[type="file"]::-webkit-file-upload-button:focus{
  outline: none;
}

input[type="file"]::file-selector-button:focus{
  outline: none;
}

input[type="file"]:focus-visible::-webkit-file-upload-button{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

input[type="file"]:focus-visible::file-selector-button{
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

input[type="file"]:disabled::-webkit-file-upload-button{
  opacity: .5;
  cursor: not-allowed;
}
input[type="file"]:disabled::file-selector-button{
  opacity: .5;
  cursor: not-allowed;
}


.countdown #countdown {
display: none;
}
.countdown:hover #title {
display: none;
}

.countdown:hover #countdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.eintrag-diskurs .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}


.eintrag-diskurs .flexchild-30 .eintrag-diskurs-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;      
  min-height: 0;
}

.eintrag-diskurs .flexchild-30 .eintrag-link {
  margin-top: auto;
}


ol.flexbox > li.eintrag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

ol.flexbox > li.eintrag .eintrag-inhalt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
}

ol.flexbox > li.eintrag .eintrag-inhalt .spacer-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;      
  min-height: 0;
}

ol.flexbox > li.eintrag .eintrag-inhalt .spacer-y > section:last-child {
  margin-top: auto;
}

.einplanen {
  width: 100vw;
  height: calc(100vh - 7.25rem);
  height: calc((var(--vh, 1vh) * 100) - 7.25rem);
  overflow: auto;

}

.timetable {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(7, calc(1.1rem * 16));
  overflow: auto;
  grid-row-gap: calc(1.1rem * 1);
  position: relative; 
  padding-top: calc(1.1rem * 2);
  padding-bottom: calc(1.1rem * 2);
  border-bottom: 1px solid black;
}

.timetable-grid {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(1px + (1.1rem * 16) * 7);
  height: 100%;
  background-image: -o-linear-gradient(left, black 1px, transparent 1px);
  background-image: linear-gradient(to right, black 1px, transparent 1px);
  background-size: calc(1.1rem * 16) 100%;
  pointer-events: none; 
  z-index: -1;
}

#tt-head{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgb(250,250,250);
  border-bottom: 1px solid black;

  overflow-x: hidden;  
  overflow-y: hidden;

  -ms-overflow-style: none;
  scrollbar-width: none;
}
#tt-head::-webkit-scrollbar{ display:none; width:0; height:0; }

.timetable-header-inner{
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(7, calc(1.1rem * 16));
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; 
}

.timetable-phase {
    padding-left: calc(1.1rem * 1);
  padding-right: calc(1.1rem * 1);
  padding-top: calc(1.1rem * .5);
  padding-bottom: calc(1.1rem * .5);
  border-left: 1px solid black;
}

.timetable-body {
  display: contents;  
}

.timetable-row {
  display: contents; 
}

.timetable-entry {
  width: calc((1.1rem * 16) + 1px);
  padding-bottom: calc(1.1rem * .5);
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  background: rgb(250,250,250);
}



@media screen and (min-width: 75rem) {
.timetable {
  grid-template-columns: repeat(7, 20vw);
}

.timetable-header-inner{
  grid-template-columns: repeat(7, 20vw);
}

.timetable-grid {
  width: calc(1px + 20vw * 7);
  background-size: 20vw 100%;
}

.timetable-entry {
  width: calc(20vw + 1px);
}

}

.timetable-entry.favorit .block {
      border-top: calc(1.1rem * .75) solid #FB451E;
}

.timetable-entry .block {
      border-top: calc(1.1rem * .75) solid rgb(225,225,225);
}



.start {
border-bottom-left-radius: calc(1.1rem * .75);
border-left: 1px solid black;
}

.end {
border-bottom-right-radius: calc(1.1rem * .75);
border-right: 1px solid black;
}


.timetable-entry.empty {
  background-color: transparent;
  border: 0;

}


.timetable-entry figure{
padding-top: calc(1.1rem * .75);
padding-bottom: calc(1.1rem * .75);
}

.timetable-entry .eintrag-titel{
  padding-top: calc(1.1rem * .5);
padding-bottom: 0;
}

#filter-opener:hover, .slide-opener:hover {
color: #FB451E;
cursor: pointer;
}

#filter-opener p::before, .slide-opener p::before, .slide-opener h2::before {
content: '+ ';
}

#filter-opener.active p::before, .slide-opener.active p::before, .slide-opener.active h2::before {
content: '− ';
}


.timetable-entry .eintrag-link{
padding-left: calc(1.1rem * 1);
padding-right: calc(1.1rem * 1);
padding-bottom: calc(1.1rem * .5);
}

.timetable-entry.empty.inbetween {
  margin-top: 1px;
      border-top: calc(1.1rem * .75) dotted rgb(225,225,225);
}

.timetable-entry.empty.inbetween.favorit {
      border-top: calc(1.1rem * .75) dotted #FB451E;
}

#tt-body {
  overflow-x: scroll;
  overflow-y: hidden;         
  -ms-overflow-style: none;   
  scrollbar-width: none;      
  -webkit-overflow-scrolling: touch;
}

#tt-body::-webkit-scrollbar, #tt-head::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}


#filter {
border-left: calc(1.1rem * .75) solid #FB451E;
}

#filter.alle {
border-left: calc(1.1rem * .75) solid rgb(225,225,225);
}


.filter-options {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
    -ms-flex-direction: column;
        flex-direction: column;
}

.filter-options button:hover p, .filter-options .active p {
color: #FB451E;
}

.filter button.active p {
  color: #FB451E;
}


.filter p::before {
  content: url('../systemfiles/Icon-Passiv.svg');
  margin-right: calc(1.1rem * .5);
display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  height: auto;
  width: 18px;
}

.filter button:hover p {
  color: #FB451E;
}

.filter button:hover p::before {
  content: url('../systemfiles/Icon-Aktiv.svg');
}

.filter .active p::before {
  content: url('../systemfiles/Icon-Aktiv.svg');
}


.filter button.passive p::before {
  content: url('../systemfiles/Icon-Off.svg');
}

.filter button.passive:hover p::before {
  content: url('../systemfiles/Icon-Aktiv.svg');
}

#filter {
  z-index: 999;
}


.filter-options p {
text-align: left;
}


.passive p {
  color: rgb(225,225,225);
}



#filter legend:hover {
cursor: pointer;
color: #FB451E;
}

#filter legend svg {
width: 18px;
display: inline-block;
  vertical-align: top;
  white-space: nowrap;
}


.slide {
display: none;
}

.small-only {
display: none;
}
.big-only {
display: block;
}

@media screen and (max-width: 75rem) {
.big-only {
display: none;
}
.small-only {
display: block;
}
}

@media screen and (max-width: 75rem) {
.sub .eintrag-diskurs {
padding-top: 0;
}

.sub .eintrag-text {
padding-left: 0;
}
.sub .eintrag-text p {
margin-bottom: 0;
}



} 



@media screen and (min-width: 75rem) {
.eintrag-diskurs .flexchild-30 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#filter section.slide {
display: block;
}
}

