/*

Schrift ist die Rajdhani Regulär und Semibold.
Dunkelgrün: #093534
Türkis: #31b7bc
Hellgrüner Fond: #e1ebec

*/

/* rajdhani-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Rajdhani';
    font-style: normal;
    font-weight: 400;
    src: url('/fonts/rajdhani-v17-latin-regular.woff2') format('woff2');
}

/* rajdhani-600 - latin */
@font-face {
    font-display: swap;
    font-family: 'Rajdhani';
    font-style: normal;
    font-weight: 600;
    src: url('/fonts/rajdhani-v17-latin-600.woff2') format('woff2');
}

:root {
    --fd-green: #31b7bc;
    --fd-dark-green: #093534;
    --fd-light-green: #e1ebec;
    
    --color-black: #000;
    --color-white: #fff;
    
    --color-primary: var(--fd-green);
    --color-body: var(--fd-dark-green);
    
    --bg-body: var(--color-white);
    --bg-dark: var(--fd-dark-green);
    --bg-light: var(--fd-light-green);
    
    --maxwidth-m: 1024px;
    
    --fontfamily-base: Rajdhani, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    
    --fontsize-base: 18px;
    --fontsize-small: 14px;
    --fontsize-large: 24px;
    --fontsize-headline: 36px;
    --fontsize-header: 50px;
    
    --fontweight-base: 400;
    --fontweight-bold: 600;
}

@media screen and (max-width: 840px) {
  :root {
    --fontsize-base: 16px;
  }
}

* {
    box-sizing: border-box;
}

html {
    font-size: var(--fontsize-base);
}

body {
    font-family: var(--fontfamily-base);
    font-weight: var(--fontweight-base);
    color: var(--color-body);
    background-color: var(--bg-body);
    margin: 0;
}

strong {
    font-weight: var(--fontweight-bold);
}

h1, h2 {
    font-size: var(--fontsize-headline);
}

.screen-reader-text {
    clip: rect(1px,1px,1px,1px);
    word-wrap: normal !important;
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    overflow-wrap: normal !important;
    padding: 0;
    position: absolute !important;
    width: 1px;
}

.maxwidth,
.maxwidth-s,
.maxwidth-m,
.maxwidth-l,
.maxwidth-xl {
    position: relative;
    width: 100%;
    max-width: var(--maxwidth-l);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    box-sizing: border-box;
}

.maxwidth-s {
    max-width: var(--maxwidth-s);
}
.maxwidth-m {
    max-width: var(--maxwidth-m);
}
.maxwidth-l {
    max-width: var(--maxwidth-l);
}
.maxwidth-xl {
    max-width: var(--maxwidth-xl);
}

.bg-dark {
    background-color: var(--bg-dark);
}
.bg-light {
    background-color: var(--bg-light);
}
.bg-overlay {
    /* TODO */
    min-height: 180px;
    color: var(--color-white);
    background: linear-gradient(to right, var(--bg-dark), var(--bg-light));
    padding: 1rem 0;
}

.color-alt {
    color: var(--color-primary);
}

@media (min-width: 768px) {
    .columns {
        display: flex;
        justify-content: space-between;
        gap: 5rem;
    }
}


.mainHeader {
    margin: 4rem 0;
}
.mainHeader img {
    height: 4rem;
}

.mainContent a {
    color: var(--color-body);
    text-decoration: none;
}

.mainContent .info {
    padding: 2rem 0 4rem 0;
}

.mainContent .info .columns {
    align-items: flex-end;
}

.mainContent .termine h2 {
    margin-bottom: 0;
}

.mainContent .termine h3 {
    color: var(--color-primary);
    font-size: var(--fontsize-base);
    margin-top: 0;
}

.mainContent .termine h4 {
    color: var(--color-primary);
    font-size: var(--fontsize-large);
    font-weight: var(--fontweight-base);
}

.kurse {
    padding: 0;
    list-style-type: none;
}
.kurse li {
    margin-bottom: 1rem;
}
.kurse em {
    color: var(--color-primary);
    font-style: normal;
}

.mainFooter {
    padding: 1rem 0;
}

.mainFooter .inner {
    border-top: 1px solid var(--color-primary);
    padding-top: 1rem;
}

.mainFooter a {
    color: var(--color-body);
    font-size: var(--fontsize-small);
    text-decoration: none;
}

.contact {
    font-size: var(--fontsize-large);
    font-weight: var(--fontweight-bold);
}

.headerimage figure {
    position: relative;
    margin: 0;
}
.headerimage figure img {
    width: 100%;
    min-height: 150px;
    vertical-align: top;
    object-fit: cover;
}
.headerimage figure figcaption {
    position: absolute;
    top: 0;
    left: 0; 
    right: 0;
}
.headerimage h2 {
    color: var(--color-white);
    font-size: var(--fontsize-large);
}

@media screen and (min-width: 600px) {
    .headerimage h2 {
        font-size: var(--fontsize-headline);
    }
}
@media screen and (min-width: 1000px) {
    .headerimage h2 {
        font-size: var(--fontsize-header);
    }
}
@media screen and (min-width: 1200px) {
    .headerimage figure figcaption {
        padding-top: 1rem;
    }
}