@import url("css/fonts.css");
@import url("css/variables.css");

@import url("css/templates/header.css");
@import url("css/templates/footer.css");

@import url("css/shared/formulare.css");

@import url("css/modules/ankerblock.css");
@import url("css/modules/faktenslider.css");
@import url("css/modules/heroblock.css");
@import url("css/modules/kartenblock.css");
@import url("css/modules/kontaktblock.css");
@import url("css/modules/teaserblock.css");
@import url("css/modules/textbildblock.css");
@import url("css/modules/textblock.css");

* {
    box-sizing: border-box;
}

html {
    font-size: var(--fontsize-base);
    line-height: var(--lineheight-normal);
}

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

p {
    margin: 0 0 1rem 0;
}

a {
    color: var(--color-body);
    text-decoration: none;
}
a:not(.btn):hover {
    text-decoration: underline;
}

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

i, em {
    color: var(--color-primary);
    font-style: normal;
}

h1, h2 {
    font-size: var(--fontsize-headline);
    font-weight: var(--fontweight-base);
    hyphens: auto;
}

.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-section {
    background-color: var(--bg-section);
}
.bg-white {
    background-color: var(--color-white);
}

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

.text-small {
    font-size: var(--fontsize-small);
}
.text-big {
    font-size: var(--fontsize-large);
}

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

/* Buttons ---------------------------------------------------------- */

.btn {
    display: inline-block;
    font-family: var(--fontfamily-base);
    font-size: var(--fontsize-base);
    font-weight: var(--fontweight-bold);
    text-decoration: none;
    border: 2px solid var(--color-primary);
    border-radius: var(--border-radius-lg);
    padding: 0.5rem 2rem;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
}
.btn-primary:hover {
    background-color: var(--fd-dark-green);
    border-color: var(--fd-dark-green);
}

.btn-outline {
    background-color: transparent;
    color: var(--color-primary);
}
.btn-outline:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.btn-white {
    background-color: transparent;
    color: var(--color-white);
    border-color: var(--color-white);
}
.btn-white:hover {
    background-color: var(--color-white);
    color: var(--color-primary);
}

/* Links ------------------------------------------------------------ */

.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;
}