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

:root {
    --orange: #FFA22B;
    --orange-dark: #cc8323;
    --orange-opaque: rgba(255, 162, 43, .25);
    --blue: #0064B6;
    --blue-dark: #004882;
    --blue-opaque: rgba(0, 100, 182, .25);
    --green: #87C846;
    --gray-dark: #515151;
    --gray-medium: #DBDBDB;
    --gray-light: #EFEFEF;
}

html, body {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    background: #fff;
}

body, table, input, textarea, button, select {
    font-display: swap;
    font-family: 'Roboto', arial, helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    color: var(--gray-dark);
}

h1, h2, h3, h4, h5, h6, p, ol, ul, dl, table, form, fieldset, object {
    margin: 0 0 1.3rem 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

audio, canvas, video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

h1, .h1 {
    font-family: 'Raleway', sans-serif;
    font-size: 1.875rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--blue);
    clear: both;
}

h2, .h2 {
    font-family: 'Raleway', sans-serif;
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--blue);
    margin: 0 0 .75rem 0;
    clear: both;
}

h2:not(:first-child) {
    margin-top: 2.5rem;
}

h3, .h3 {
    font-family: 'Raleway', sans-serif;
    font-size: 1.3rem;
    line-height: 1.3em;
    font-weight: 700;
    margin: 0 0 .5rem 0;
    clear: both;
}

h4, .h4,
h5, .h5,
h6, .h6 {
    font-size: 1rem;
    line-height: 1.3em;
    font-weight: bold;
    margin: 0;
    clear: both;
}

.subheadline {
    font-family: 'Roboto', sans-serif;
    font-size: 0.9rem !important;
    line-height: 1.3;
    margin-top: 5px !important;
    font-weight: 700;
    color: var(--gray-dark);
}

a:link {
    text-decoration: none;
    color: var(--blue);
}

a:visited {
    color: var(--blue);
}

a:hover {
    text-decoration: underline;
}

a:active {
}

b, strong {
    font-weight: 700;
}

img {
    display: inline-block;
    border: 0;
    max-width: 100%;
    height: auto;
}

table {
    border-spacing: 1px;
}

table th,
table td {
    padding: .3em 1em .3em 0;
    text-align: left;
    vertical-align: top;
}

table th {
    font-weight: 700;
    vertical-align: bottom;
    border-bottom: solid var(--gray-light) 1px;
}

figure {
    margin: 0 0 1.3em 0;
    padding: 0;
}

figure img {
    display: block;
}

figure figcaption {
    background: #fff;
    margin: 0;
    padding: .5em;
    font-style: italic;
    font-size: .8em;
}

figure figcaption:empty {
    display: none;
}

img[align=left],
img[style~='float left'] {
    float: left;
    margin: 0 1rem .5rem 0;
}

img[align=right],
img[style~='float right'] {
    float: right;
    margin: 0 0 .5rem 1rem;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    /*padding-bottom: 42.86%;*/
    height: 0;
    margin: 0 0 1.5rem 0;
    background: #efefef;
}

.video-container video,
.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.table-container {
    max-width: 100%;
    overflow-x: scroll;
    margin: 0 0 2rem 0;
}

.table-container table {
    margin: 0;
}

.sep {
    margin: 0 .1875rem;
}

.orange {
    color: var(--orange);
}

.blue {
    color: var(--blue);
}

.green {
    color: var(--green);
}

/* Bootstrap Utilities
********************************/
.text-center {
    text-align: center;
}

/* Grid
********************************/
.container-small {
    max-width: 48rem;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Seitenelemente (Master)
********************************/
.site-header {
}

.site-header .header-meta {
    background: var(--gray-light);
    font-size: .75rem;
}

.site-header .header-meta > .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.site-header .meta-links {
    padding: .5rem 0;
}

.site-header .meta-links p {
    margin: 0;
}

.site-header .meta-links a {
    color: var(--blue);
}

.site-header .meta-search .search {
    display: flex;
    margin: 0 0 0 1rem;
}

.site-header .meta-search .search input[type=text] {
    padding: .25rem;
    font-size: .75rem;
}

.site-header .meta-search .search [type=submit] {
    padding: .25rem .5rem;
    background: transparent;
    color: var(--blue);
    font-size: .75rem;
}

.site-header .meta-search .search [type=submit]:hover {
    color: var(--orange);
}

.site-header .header-main {
    background: white;
    padding: 2rem 0;
}

.site-header .header-main > .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.site-logo img {
    display: block;
    width: 12.5rem;
    width: 8rem;
    height: auto;
}

.site-nv .nv-toggle {
    padding: .5rem;
    background: transparent;
}

.site-nv .nv-toggle:hover {
    background: transparent;
}

.site-nv .nv-toggle svg {
    display: block;
}

.site-nv .nv-toggle rect {
    fill: var(--blue);
}

/* Menu icon animated */
svg.icon-menu rect {
    transition: .25s ease-in-out;
    transform-origin: 50% 50%;
}

[aria-expanded=true] svg.icon-menu rect:nth-child(1) {
    transform: translate(0, 9px) scale(0, 1);
    /*width:0;*/
}

[aria-expanded=true] svg.icon-menu rect:nth-child(2) {
    transform: rotate(45deg);
}

[aria-expanded=true] svg.icon-menu rect:nth-child(3) {
    transform: rotate(-45deg);
}

[aria-expanded=true] svg.icon-menu rect:nth-child(4) {
    transform: translate(0, -9px) scale(0, 1);
    /*width:0;*/
}

.site-nv {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
}

.site-nv ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-nv li {
    margin: 0;
    padding: 0;
}

.site-nv a {
    display: block;
    color: var(--blue);
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}


@media only screen and (max-width: 991px) {
    .nv-toggle {
        margin-left: auto;
    }

    .site-nv {
        display: none;
        flex: 0 0 100%;
        max-width: 100%;
        padding-top: 1rem;
    }

    .site-nv a {
        border-bottom: solid var(--gray-light) 1px;
        padding: .75rem 1rem;
        text-align: center;
    }
}

@media only screen and (min-width: 992px) {
    .site-header .header-main > .container {
        align-items: flex-end;
    }

    .site-header .nv-toggle {
        display: none;
    }

    .site-nv {
        display: flex;
        align-items: center;
    }

    .site-nv ul {
        display: flex;
        justify-content: flex-end;
    }

    .site-nv li {
        margin-left: 1rem;
    }

    .site-nv a:hover {
        color: var(--orange);
    }

    .site-nv li.a1 > a,
    .site-nv li.s1 > a {
        color: var(--orange);
    }

    .site-nv .jiggy-cart {
        margin-left: 1rem;
    }
}

@media only screen and (min-width: 1200px) {
    .site-logo img {
        width: 12.5rem;
    }
}

/* Header, Banner
 * *********************/
.header-banner {
    background: rgba(0, 100, 182, .14);
    min-height: 31.25rem;
    min-height: 12rem;
}

.header-banner .container {
    position: relative;
}

.header-banner .img {
    display: block;
    min-height: 12rem;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.header-banner-full .img {
    display: block;
    width: 100%;
    min-height: 12rem;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.donate {
    background: var(--orange);
    height: 2.625rem;
}

.donate .btn-donate {
    width: 100%;
}

@media only screen and (max-height: 672px) {
    .donate .btn-donate {
        bottom: 2.8125rem;
    }
}

@media only screen and (min-width: 768px) {
    .header-banner {
        min-height: 16rem;
    }

    .header-banner .img {
        min-height: 16rem;
    }

    .header-banner-full .img {
        min-height: 16rem;
    }
}

@media only screen and (min-width: 992px) {
    .header-banner {
        min-height: 21rem;
    }

    .header-banner .img {
        min-height: 21rem;
    }

    .header-banner-full .img {
        min-height: 21rem;
    }

    .donate .btn-donate {
        position: fixed;
        z-index: 1010;
    }
}

@media only screen and (min-width: 1200px) {
    .header-banner {
        min-height: 28.25rem;
    }

    .header-banner .img {
        min-height: 28.25rem;
    }

    .header-banner-full .img {
        min-height: 28.25rem;
    }
}

@media only screen and (max-width: 992px) {
    .header-banner > .container {
        padding-left: 0;
        padding-right: 0;
    }
}

@media only screen and (min-width: 992px) {
    .donate {
        display: flex;
        justify-content: flex-end;
    }

    .donate .btn-donate {
        width: auto;
    }
}

.site-main {
    /*padding-bottom:2rem;*/
}

.site-path {
    font-size: .875rem;
    padding: 1rem 0;
    color: var(--blue);
}

.id-123 .site-path {
    display: none;
}

section#abc-der-demokratie {
    padding-bottom: 30px;
}
