@charset 'utf-8';
                                                                
                                /*@@@#                          
                              @@@@@%@@                          
                             (@@@@@/@@@                         
                             @@.@@@* @@,                        
                            @@@ @@@/ @@@                        
                           #@@  @@@/  @@@                       
                           @@@  @@@/  @@@                       
                          @@@   @@@/   @@@                      
                         *@@    @@@/   @@@*                     
                         @@@    @@@/    @@@                     
                        @@@     @@@/    %@@&                    
                                           @                    
                @@@@@@@@@@@@@@@@@@@@@@@@@  @@                   
                @@@@@@@@@@@@@@@@@@@@@@@@@  @@                   
               @@@@@@@@@@@@@@@@@@@@@@@@@@  @@@                  
              (@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@&                 
              @@@@@@@@@@@@@@@@@@@@@@@@@@@   @@@                 
             @@@@@@@@   PRINT   @@@@@@@@@   #@@@                
             @@@@@@@@@@@@@@@@@@@@@@@@@@@@    @@@/               
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@    .@@@               
              %@@@@@@@@@@@@@@@@@@@@@@@@@@     @@@@              
            @@@@&  .@@@@@@@@@@@@@@@@@@@@@      @@@              
                /@@@@@   @@@@@@@@@@@@@@@@      @@@@             
                @@@@  @@@@@,  %@@@@@@@@@@       @@@             
               @@@@        &@@@@/  (@@@@@       @@@@            
               @@@,             @@@@@&           @@@#           
              @@@@             (@@@  /@@         @@@@           
             @@@@              (@@@               @@@@          
             @@@&              (@@@               /@@@.         
            @@@@               (@@@                @@@@         
            /@@,               (@@@                 @@@@        
                               #@@@                             
                               @@@@                             
                                @*/                             


/* ¡Renormasaniset */
*, ::before, ::after {background-repeat: no-repeat; box-sizing: border-box;} html {-webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-hyphenate-limit-before: 3; -webkit-hyphenate-limit-after: 3; -ms-hyphenate-limit-chars: 6 3 3; hyphenate-limit-chars: 6 3 3; -webkit-hyphenate-limit-lines: 3; -ms-hyphenate-limit-lines: 3; hyphenate-limit-lines: 3; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; overflow-y: scroll;} body {background-color: transparent;} a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,button,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,input,kbd,label,legend,li,main,mark,menu,nav,object,ol,option,output,p,pre,q,ruby,s,samp,section,select,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,tt,u,ul,var,video {margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;} input {overflow: visible;} button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;} [type="checkbox"], [type="radio"] {padding: 0;} [type="search"] {-webkit-appearance: textfield; outline-offset: -2px;} textarea {overflow: auto; resize: vertical;} ::-webkit-input-placeholder {color: inherit; opacity: 0;} :-webkit-search-decoration {-webkit-appearance: none;} [hidden] {display: none;} audio, video {display: inline-block;} a {background-color: transparent; text-decoration:none } a, area, button, input, label, select, summary, textarea, [tabindex] {-ms-touch-action: manipulation; touch-action: manipulation;} ol,ul{list-style:none} blockquote,q{quotes:none} blockquote:after,blockquote:before,q:after,q:before{content:'';content:none} table{border-collapse:collapse;border-spacing:0} b,strong{font-weight:bold} em,i{font-style:italic} h1,h2,h3,h4,h5,h6{font-weight:400} button, input, select, textarea {font-family: inherit; font-size: inherit; line-height: inherit;} abbr[title]{text-decoration: underline; text-decoration: underline dotted; cursor:help;} img {border-style: none; -moz-user-select: text; -webkit-user-select: text; user-select: text; -moz-user-drag: none; -webkit-user-drag: none; user-drag: none;} svg {fill: currentColor;} svg:not(:root) {overflow: hidden;} 
/* Renormasaniset! */




@font-face {
font-family: 'Vollkorn-Source';
src: url("../fonts/Vollkorn-Bold.woff2") format("woff2");
font-weight: bold;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Vollkorn-Source';
src: url("../fonts/SourceSans3-Regular.ttf.woff2") format("woff2");
font-weight: normal;
font-style: normal;
font-display: swap;
}

@font-face {
font-family: 'Vollkorn-Source';
src: url("../fonts/SourceSans3-It.ttf.woff2") format("woff2");
font-weight: normal;
font-style: italic;
font-display: swap;
}

/* RemixIcons */
@font-face {
font-family: 'RemixIcons';
src: url("../fonts/remixicon.woff2") format("woff2");
font-weight: normal;
font-style: normal;
font-display: swap;
}

.incognito {
display: none;
}

*:before,
*:after {
font-family: 'RemixIcons';
}

.grau {
opacity: .5;
}

body {
position: relative;
font-family: 'Vollkorn-Source', 'Georgia', serif;
font-size: 12pt;
line-height: 1.25em;
color: black;
background-color: white;
padding: 2rem;
}

h1 {
font-size: 24pt;
font-weight: bold;
margin: 0 0 1rem 0;
}

h2 {
font-size: 18pt;
line-height: 24pt;
font-weight: bold;
margin: 0 0 1rem 0;
}

h3 {
font-size: 15pt;
line-height: 19pt;
font-weight: bold;
margin: 2rem 0 .5rem 0;
}

.kursliste h3 {
padding-bottom: .5rem;
border-bottom: 1.5pt dashed rgba(0,0,0,.333);
}

.faelligkeit h3,
.offen h3 {
margin-top: 4rem;
padding-bottom: .5rem;
border-bottom: 1.5pt solid black;
}

h3.flex {
display: flex;
flex-flow: row wrap;
gap: 0 .5em;
align-items: baseline;
page-break-after: avoid;
}

h3 span {
font-weight: normal;
font-size: 12pt;
line-height: 1.25em;
}

span.info {
margin-left: auto;
}

h4 {
font-weight: bold;
margin: 1rem 0 .25rem 0;
}

h4 span {
font-weight: normal;
}

ul.kursliste li {
display: flex;
flex-flow: row nowrap;
gap: 1rem;
padding: .25rem 0;
}

ul.kursliste li:not(:last-child) {
border-bottom: .5pt solid black;
}

span.kontakt,
span.alink {
margin-left: auto;
}

/* Leeres ausblenden */
div.kurs:not(:has(ul.tab li)),
div.fdatum:not(:has(div.kurs ul.zanmeldung li)) {
display: none;
}

ul.tab {
margin: .2em 0;
page-break-inside: avoid;
}

ul.tab li {
display: flex;
flex-flow: row wrap;
gap: 0 1em;
padding: .2em 0;
border-top: .5pt dashed black;
}

ul.tab.alter li:last-child {
border-top: 1pt solid black;
}

ul.tab.alter li:first-child,
ul.tab.alter li:first-child:last-child {
border-top: none;
}

ul.tab li:hover {
color: white;
background: black;
outline: .25em solid black;
}

span.kto,
span.summe,
span.rechts {
margin-left: auto;
}

span.summe {
font-weight: bold;
}

span.plusminus {
font-style: italic;
}

b.summe {
display: inline-block;
vertical-align: baseline;
text-align: right;
width: 4em;
}

span.kto:before {
content: '\EA92';
margin-right: .35em;
}

span.alink a:before {
content: '\EA66';
margin-right: .35em;
}

ul.tab li a {
display: inline-block;
color: black;
padding-right: .5em;
}

ul.tab li:hover a {
color: white;
}

ul.tab li a:hover {
color: black;
background: white;
outline: .5em solid white;
}

nav ul {
display: flex;
flex-flow: row wrap;
gap: .5em;
margin: 0 0 2em 0;
}

nav ul li a,
nav ul li span {
display: block;
padding: .25em .5em;
}

nav ul li a {
color: black;
background: rgba(0,0,0,.1);
}

nav ul li a:hover,
nav ul li a.aktiv,
nav ul li span {
color: white;
background: black;
}

nav ul li a.aktiv:hover {
background: rgba(0,0,0,.5);
}

nav ul li span.label {
color: black;
background: transparent;
}

nav ul li:first-child span.label {
padding-left: 0;
}

.exporter main {
display: flex;
flex-flow: row wrap;
gap: 2em;
}

.exporter main section {
flex: 1 1 40%;
}

.exporter nav ul li a:before {
content: '\EB7C';
color: white;
margin-right: .35em;
}

.exporter nav ul li:not(:first-child) a.aktiv:before {
content: '\F059';
margin-right: .35em;
}

.exporter nav ul li a.aktiv:hover:before {
content: '\EB96';
margin-right: .35em;
}

.write:before {
content: '\EFDD';
margin-right: .35em;
}

textarea.exporter {
font-family: 'Source Code Pro', monospace;
font-size: .8em;
background: #e8e8e8;
padding: .5em;
border: none;
width: 100%;
height: 16.5em;
margin: 0 0 .25em 0;
}

textarea.exporter#wordbody {
background: white;
box-shadow: 0 0 2em rgba(0,0,0,.1);
}

textarea.exporter#wordbody:focus {
background: white;
box-shadow: 0 0 2em rgba(0,0,0,.2);
outline: none;
}

button,
a.button {
display: inline-block;
color: white;
background: black;
padding: .25em .5em;
border-radius: .25em;
margin: 1em 0;
cursor: pointer;
}

button:hover,
a.button:hover {
color: black;
background: rgba(0,0,0,.1);
}

br + a.button {
margin-top: 0;
}

button.clipboard:before {
content: '\EB91';
margin-right: .35em;
}

a.download:before {
content: '\ECD8';
margin-right: .35em;
}

button.word:before {
content: '\ED1C';
margin-right: .35em;
}

.button.etiketten:before {
content: '\F029';
margin-right: .35em;
}

button.word:active {
animation: pulse 1s 0s ease-in-out infinite forwards;
}

@keyframes pulse {
  0% {background: black;}
 50% {background: rgba(0,0,0,.25);}
100% {background: black;}
}

button.word:active:before {
animation: progress 3s 0s linear infinite forwards;
}

@keyframes progress {
   0% {content: '\F47C';}
12.5% {content: '\F47E';}
  25% {content: '\F480';}
37.5% {content: '\F482';}
  50% {content: '\F484';}
62.5% {content: '\F484';}
  75% {content: '\F486';}
75.5% {content: '\F488';}
 100% {content: '\F48A';}
}

label {
display: block;
margin: 0 0 .5em 0;
}


@media print {

	nav {
	display: none;
	}

}



