@font-face {
    font-family: 'PostScriptum';
    src: url('../fonts/PostScriptum-Light.ttf.woff');
}

@font-face {
    font-family: 'OstrichSansMedium';
    src: url('../fonts/OstrichSansMedium.woff');
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff');
}

html, body {
    font-family: 'Roboto', sans-serif;
    height: 100%
}

a {
    color: #50a831;
    text-decoration: none;
}

strong.bold-green {
    color: #50a831;
}

a:hover {
    text-decoration: underline;
    color: #50a831;
}

ul.special a,
.sidebar a {
    color: #333
}

ul.special a:hover,
.sidebar a:hover {
    color: #111;
    text-decoration: none
}


.news a,
.content td a,
.content b a,
.content i a,
.content strong a,
.content p a {
    text-decoration: underline;
}

.content p a[href^='http']::after,
.content h1 a[href^='http']::after,
.content h2 a[href^='http']::after,
.content h3 a[href^='http']::after,
.content h4 a[href^='http']::after,
.content h5 a[href^='http']::after
{
    content: ' ';
    display: inline-block;
    margin-left: .2em;
    vertical-align: middle;
    background-image: url('external_link_font_awesome.svg');
    background-size: .8em .8em;
    width: .8em;
    height: .8em;
    fill: #50a831;
    filter: invert(50%) sepia(74%) saturate(415%) hue-rotate(59deg) brightness(96%) contrast(93%);
}

p a[href^='#top'] {
    text-align: right;
    display: block;
    text-decoration: none;
}
p a[href^='#top']::after {
    content: ' ';
    display: inline-block;
    vertical-align: middle;
    background-image: url('../img/a-to-top.svg');
    background-size: .8em .8em;
    margin-left: .2em;
    width: .8em;
    height: .8em;
    fill: #50a831;
    filter: invert(50%) sepia(74%) saturate(415%) hue-rotate(59deg) brightness(96%) contrast(93%);
}

.container {
    /*max-width: 1024px;*/
    position: relative;
}

.slider {
    border-top: 3px solid #b1ce11;
    border-bottom: 3px solid #b1ce11;
}

.slider img {
    width: 100%;
    height: auto;
    overflow: hidden
}

.cookie-consent {
    display: none;
    transition: max-height 1s;
    max-height: 58px;
}

.cookie-consent .cookie-container {
    position: relative;
    z-index: 1000;
    overflow: hidden;
    color: #FFF;
    background-color: #F90;
    display: flex;
    align-items: center;
}

.cookie-consent .cc-message {
    font-size: .9em;
    flex: 1;
    display: block;
    margin: 1em;
}

.cookie-consent a {
    color: #FFF;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

.cookie-consent .cc-compliance {
    display: flex;
}

.cookie-consent .cc-compliance a {
    display: block;
    padding: 1em 1.5em;
}

.cookie-consent .cc-deny {
}

.cookie-consent .cc-dismiss {
    background: rgb(51, 172, 113);
    font-weight: bold;
}

.content h1
{
    font-family: 'OstrichSansMedium', sans-serif;
    text-transform: uppercase;
    display: inline;
    font-size: 3rem;
    line-height: 1
}

.content .header-0 h1,
.content .header-1 h1,
.content .header-2 h2
{
    background: #FFF;
    padding-bottom:5px;
}

h2, h3 {
    font-weight: 300
}

.content header.header-0,
.content header.header-1 {
    margin: 0 0 1.5em;
    background: url('../img/border-h1.png') repeat-x;
    background-position-y: 2.5em;
}

div.frame-gymp-border-green {
    border: 2px solid #95c221;
    padding: 10px;
}
div.frame-gymp-bg-green {
    background: #95c221;
    color: #fff !important;
    padding: 10px;
}
div.frame-gymp-bg-green h1 {
    background: #95c221 !important;
}

.content .frame-gymp-bg-green header.header-0,
.content .frame-gymp-bg-green header.header-1 {
    border-bottom-color: #fff !important;
}

div.frame-gymp-bg-green a {
    color: #fff;
    text-decoration: underline;
}

.frame {
    margin: 0 0 3em 0;
}

.frame-space-before-extra-small { margin-top: 1em !important; }
.frame-space-before-small { margin-top: 2em !important; }
.frame-space-before-medium { margin-top: 3em !important; }
.frame-space-before-large { margin-top: 4em !important; }
.frame-space-before-extra-large { margin-top: 5em !important; }
.frame-space-after-extra-small { margin-bottom: 1em !important; }
.frame-space-after-small { margin-bottom: 2em !important; }
.frame-space-after-medium {margin-bottom: 3em !important;}
.frame-space-after-large { margin-bottom: 4em !important; }
.frame-space-after-extra-large { margin-bottom: 5em !important; }

.ce-gallery img {
}

.ce-intext.ce-left .ce-gallery {
    margin: 1.5em
}

h1.logo {
    display: none
}

h1.header {
    padding: .5em 0;
    margin: 0;
}

h1.header img {
    width: 100%;
    max-width: 500px;
}

header.header {
    background: url('../img/header-1.png') no-repeat right top;
    margin: 0 auto 20px;
    height: 290px;
    position: relative;
}

header.header-sub {
    background: url('../img/header.subdomains-1.png') no-repeat right top !important;
}

header.page {
    background: #fff;
    width: 100%;
    display: flex;
    position: relative;
}

header.page ul {
    margin: 0;
    line-height: 1.33;
    overflow: hidden;
}

header.page li {
    list-style: none;
    float: left;
    padding: 0 .5em
}

header.page h1 {
    padding: .5em .5em 1em 0;
    margin: 0;
}

header.page h1 img {
    width: 540px
}

header.page h2 {
    text-transform: uppercase;
    font-weight: bold;
    margin: .8em 0;
    flex-grow: 5;
}

header.page .contacts {
    position: absolute;
    top: 80px;
    right: 0;
}

header.page a {
    padding: 0 20px 0 0;
    display: block;
    overflow: hidden;
    position: relative;
}

header.page a div {
    float: left
}

header.page a .title {
    background: #c7d400;
    color: #FFF;
    padding: 0 0.75em;
    width: 100%;
    margin: 0 20px 0 0;
    text-align: right;
    line-height: 40px;
}

header.page a .corner {
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
    height: 40px;
    border-width: 20px 0 20px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #c7d400;
    margin-left: -20px;
}

.menu {
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 10;
}

.menu ul {
    padding: 0
}

.menu li {
    list-style: none;
    padding: 0
}

.menu a:hover {
    text-decoration: none;
    color: #000000;
}

.menu a.l-1-toggle {
    font-weight: 600;
    color: #FFF;
    text-transform: uppercase;
    clear: both;
    float: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0.25rem 1em;
    min-width: 17.5em
}

.hamburger {
    display: inline-block;
    position: relative;
    top: 0;
    right: 0;
    width: 18px;
    height: 20px;
    margin: 0 0 0 .75em;
    color: #FFF
}

.hamburger__line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    transition: .5s ease transform;
    background: #FFF
}

.hamburger__line--top {
    margin-top: -7.5px
}

.hamburger__line--middle {
    margin-top: -1.5px
}

.hamburger__line--bottom {
    margin-top: 4.5px
}

.active .hamburger__line--top {
    transform: translate3d(-4px, 2px, 0px) rotate(-45deg) scaleX(0.7);
}

.active .hamburger__line--middle {
    transform: translate3d(0, 0, 0) scaleX(1);
}

.active .hamburger__line--bottom {
    transform: translate3d(-4px, -2px, 0px) rotate(45deg) scaleX(0.7);
}

.breadcrumb-item+.breadcrumb-item::before {
    display: inline-block;
    padding-right: .5rem;
    color: #787878;
    content: "»";
}

.breadcrumb {
    background: none;
    padding: .75rem 0;
    font-size: .9em;
}

.breadcrumb-item a {
    color: #787878 !important;
    font-weight: 400;
}

ol.menu-breadcrumb {
    margin-bottom:0;
    padding-bottom:6px;
}


li.focus .hamburger__line--top {
    transform: translate3d(-1px, 6px, 0px) rotate(45deg) scaleX(1.25)
}

li.focus .hamburger__line--middle {
    transform: translate3d(-1px, 0px, 0px) scaleX(0)
}

li.focus .hamburger__line--bottom {
    transform: translate3d(-1px, -6px, 0px) rotate(-45deg) scaleX(1.25)
}

.menu li.l-1-item:nth-child(1) a {
    background: #c7d401;
}

.menu li ul.l-2:nth-child(1) {
    border-top: 1px solid #c7d401;
    border-bottom: 1px solid #c7d401
}

.menu li.l-1-item:nth-child(2) a {
    background: #afca0b
}

.menu li ul.l-2:nth-child(2) {
    border-top: 1px solid #afca0b;
    border-bottom: 1px solid #afca0b
}

.menu li.l-1-item:nth-child(3) a {
    background: #95c221
}

.menu li ul.l-2:nth-child(3) {
    border-top: 1px solid #95c221;
    border-bottom: 1px solid #95c221
}

.menu li.l-1-item:nth-child(4) a {
    background: #75b82d
}

.menu li ul.l-2:nth-child(4) {
    border-top: 1px solid #75b82d;
    border-bottom: 1px solid #75b82d
}

.menu li.l-1-item:nth-child(5) a {
    background: #50a831
}

.menu li ul.l-2:nth-child(5) {
    border-top: 1px solid #50a831;
    border-bottom: 1px solid #50a831
}

.menu li.l-1-item:nth-child(6) a {
    background: #46932b
}

.menu li ul.l-2:nth-child(6) {
    border-top: 1px solid #46932b;
    border-bottom: 1px solid #46932b;
}

.menu ul.l-2 a,
.menu ul.l-3 a,
.menu ul.l-4 a {
    background: none !important;
    color:#333;
}

.menu .l-2 {
    display: none
}

.menu li.focus .l-2 {
    display: flex;
    width: 100%;
    background: #eee;
    flex-wrap: wrap;
}

.menu .l-2 .column {
    max-width: 20%;
    padding: 0 1.5em 1.5em;
    flex-grow: 1;
}

.menu .l-2 .columns {
    padding: .3rem;
}

.menu .l-2 .section {
    font-weight: 500;
    display: inline-block;
    margin: 5px;
    width: 100%;
}

.menu .l-3 {
    margin: 0 0 0 1rem;
    font-size: .9rem
}

.menu .l-3 li {
    margin: .25em 0 .75em;
}

.menu div.columns {
    column-count: 3;
    column-gap: 1rem;
    column-width: auto;
}

.menu a.act {
    font-style: italic !important;
    font-weight: 900 !important;
    color:#000 !important;
}

.menu .l-2 a:hover {
    color:#000 !important;
}

menu4 li.active {
    font-weight: 900;
}

.nobr {
    break-inside: avoid-column;
}

.navbar {
    padding: 0;
}

.sidebar {
    margin: 0;
    padding: 0;
    display: inline-block;
    position: absolute;
    top: 104px;
}

.sidebar li {
    list-style: none;
    padding: 0;
    margin: 0 0 .5em
}

.sidebar > li > a {
    color: #333;
    display: block;
    padding: .5em 1em;
    background: #eee;
    border-radius: 0 100px 100px 0;
    text-align: right;
    font-weight: bold;
}

.sidebar li a span {
    margin: 0 .5em
}

.navbar-toggler {
    font-size: 1em;
}

.modal-backdrop.fade.in {
    display: none;
    z-index: 1020;
    opacity: .5;
    transition: opacity .15s linear;
}

.sidebar .focus {
    position: relative;
    top: 5px;
    bottom: 0;
    left: 0;
    z-index: 1030;
    width: 240px;
    height: 100%;
    margin: 0;
    overflow: auto;
    background: #eee;
    border: 3px solid #b1ce11;
    padding: 15px;
}

.sidebar .sidebar-collapse {
    display: none
}

.sidebar .focus .sidebar-collapse {
    display: block
}

.sidebar .focus a {
    background: none;
    padding: 0;
    display: block;
}

.sidebar .frame {
    margin: 1.5em -15px 0;
}

.sidebar .frame ul {
    padding: 0;
    margin: 0;
}

.sidebar .frame li {
    margin: 0;
}

.sidebar .frame li a span {
    margin: 0;
}

.sidebar .frame a {
    display: block;
    padding: 10px 15px;
}

.sidebar .frame a:hover {
    background: #c9c5c4;
}

.sidebar .frame .ce-gallery {
}

.sidebar .frame .ce-outer, .sidebar .frame .ce-inner {
    float: none;
    right: auto;
}

.sidebar .frame .ce-row {
    margin: 0;
}

.sidebar .frame .ce-column {
    padding: 0;
}

.sidebar .frame figure {
    width: 100%;
}

.sidebar .frame img {
    margin: 0;
    max-width: 100%;
    width: auto;
}

footer.page {
    background: #e8e8e8;
    border-top: 1px solid #b1ce11;
    position: relative;
}

footer.page ul {
    font-weight: bold;
    padding: 3em 0;
    margin: 0;
    text-align: center;
}

footer.page li {
    list-style: none;
    padding: 0;
    display: inline-block;
    margin: 0 3em;
}

footer.page a:before {
    content: "»";
    margin-right: .5em
}

footer.page ul.links {
    position: fixed;
    right: 4em;
    bottom: 1.5em;
    z-index: 99;
}

footer.page ul.links li {
    display: block;
    margin: 0 0 -20px 0;
}

footer.page ul.links a {
    display: block;
    text-indent: -9999px;
    width: 130px;
    height: 130px;
    background: url('../img/special-buttons-desktop_new.png') no-repeat top center;
    background-size: 130px auto;
}

footer.page ul.links .p-70 a {
    background-position: bottom center;
}

.news-list-view {
    overflow: hidden;
    margin: 0 -20px 0 0
}

.news-list-view .article {
    float: left;
    width: 33.33%;
    padding: 0 20px 0 0;
    min-height: 500px;
}

.news .article h3 {
    margin: 0 0 .5em;
}

.news .article .teaser-text p {
    display: inline;
}

.news .article .teaser-text .more {
    font-size: .9em;
}

.news .article .news-img-wrap {
    float: none;
    margin: 0 0 1em;
}

.news .article .news-img-wrap a {
    border: none;
    padding: 0;
    float: none
}

.news .article .news-img-wrap img {
    float: none;
    width: 100%
}

.news .teaser-text {
    font-size: 1.1rem;
    font-weight: bolder;
    color: black;
}

.page-navigation {
    clear: both;
    margin: 0 20px 0 0;
}

.frame-type-menu_subpages ul, ul.news-categories {
    background: #eee;
    padding: 1em;
    font-size: 1.33em;
    margin-top: 25px;
}

.frame-type-menu_subpages li, ul.news-categories li {
    list-style: none;
    display: inline;
    margin: 0 .5em 0 0;
}

.frame-type-menu_subpages li.active a, ul.news-categories a.active {
    color: #b1ce11
}

.frame-type-menu_subpages li:after, ul.news-categories li:after {
    content: "|";
    margin: 0 0 0 .5em
}

.frame-type-menu_subpages li:first-child, ul.news-categories li:first-child {
}

.frame-type-menu_subpages li:last-child:after, ul.news-categories li:last-child:after {
    display: none;
}

.ce-uploads span {
    display: inline;
}

.ce-uploads .file-extension {
    text-transform: uppercase;
}

.ce-uploads li {
    margin: 0;
}

.ce-uploads li:before {
    content:'»';
    margin: 0 .25em 0 0;
}

.ce-image .ce-gallery {
    /*float: none;*/
}

.ce-image .ce-row {
    display: flex;
}


.ce-image .ce-column {
    margin: 0;
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 0 1em 0 0;
}

.ce-image.ce-right .ce-column {
    margin: 0 0 10px 10px !important;
    padding: 0 0 0 1em !important;
}

.ce-image.ce-center .ce-column {
    width: 100%;
}

.ce-image img {
    padding: 0;
    border: none;
    margin: 0 0 1em 0;
    width: 100%;
    height: auto;
}




.ce-image .ce-border img {
    border: 1px solid lightgrey;
    padding: 5px;
}

.ce-gallery figcaption {
    margin: -7px 0 4px 0;
    font-size: 0.9rem;
    font-style: italic;
}

#teacherList td {
    vertical-align: top;
}

.container.tt_container {
    padding-right: 0px !important;
    padding-left: 0px !important;
}

td.file-list-title {
    width:45%;
}

td.file-list-description {
    width:45%;
}
td.file-list-filesize {

}


/* table rte */

table.tabelle_transparent {
    border-collapse: collapse;
    border:1px dotted #CCCCCC;
    margin-top:10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

table.tabelle_transparent td {
    border:1px dotted #CCCCCC;
    vertical-align: top;
    padding: 3px;
}

table.tabelle_hellgrau {
    border-collapse: collapse;
    border:1px solid #CCCCCC;
    margin-top:10px;
    margin-right: 10px;
    margin-bottom: 10px;
}

table.tabelle_hellgrau td,
table.tabelle_hellgrau th {
    border:1px solid #CCCCCC;
    vertical-align: top;
    padding: 3px;
}

td.zelle_grau_schwarz {
    background-color: #E1E1E1;
    color: #000000;
}

td.zelle_gruen_weiss, td.zelle_gruen_weiss a {
    background-color: #a8c216;
    color: white !important;
}

td.zelle_gelb_schwarz {
    background-color: #fff200;
    color: #000000;
}

.rot-unterstrichen {
    text-decoration: underline red 2px;
}

td.sorting_1 {
    background: none !important;
}

/* search */
div.tx-kesearch-pi1,
div.tx-kesearch-pi2 {

}

a.kesGreyButt, span.resetbutt a, span.submitbutt input, input.kesGreyButt, span.kesGreyButt {
    max-width: none;
}

#ke_search_sword {
    width: 100%;
}

.image img {
    margin-bottom: 10px;
}


@media screen and (max-width: 960px) {
    .container {
    }

    .landing {
        padding: 0;
    }

    h1.logo {
        display: block;
        margin: 0;
    }

    h1.logo img {
        width: 100%;
        padding: 15px;
        max-width: 375px;
    }

    h1.header {
        margin: 0;
        font-size: 1em;
        padding: 15px;
    }

    h1.header img {
        max-width: 345px;
    }

    .menu .l-2 .column {
        max-width: 50%;
    }

    header.page {
        position: relative;
        box-shadow: 0 3px 5px rgba(0, 0, 0, .5);
        overflow: hidden;
        padding-bottom: 1.5em;
    }

    header.header {
        background: none;
        height: 240px;
        padding: 0;
    }

    header > * {
        float: none;
    }

    header.page {
        flex-wrap: wrap;
    }

    header.page h1 {
        display: none;
    }

    header.page .contacts {
        position: relative;
        top: auto;
        left: auto;
    }

    header.page .contacts ul {
        line-height: 1.5;
        margin: 1em 15px;
        padding: 0;
    }

    header.page .contacts li {
        float: none;
        padding: 0;
    }

    .slider {
        position: relative;
        border-top: 2px solid #c7d400;
        border-bottom: 2px solid #c7d400;
    }

    .sidebar {
        top: 67px;
    }

    .sidebar span {
        display: none;
    }

    .sidebar .focus {
        top: 0;
    }

    .sidebar .focus span {
        display: inline;
    }

    header.page h2 {
        width: 100%;
        margin: .75em 0;
        padding: 0 15px 0 0;
    }

    footer.page li {
        display: block;
        margin: 1em 0;
    }

    .menu li .column {
        width: 50%;
    }

    .menu li.focus ul.l-2 {
        flex-wrap: wrap;
    }

    .menu .l-2 .section {
        word-break: break-word;
    }

    .menu div.columns {
        column-count: 2;
    }

    footer.page ul.links {
        background: #b1ce11;
        text-align: center;
        padding: 1em;
        position: fixed;
        right: 0;
        bottom: 0;
        overflow: hidden;
        z-index: 145454;
        width:100%;
        font-size: 13px;
    }

    footer.page ul.links li {
        display: inline-block;
        margin: 0 1em 0 0;
    }

    footer.page ul {
        padding-top: 0;
        padding-bottom: 4em;
    }

    footer.page ul.links a {
        color: #FFF;
        text-indent: 0;
        background: none;
        width: auto;
        height: auto;
    }

    footer.page ul.links a:before {
        display: none;
    }

    footer.page ul.links a img {
        width: 75px;
        margin: -40px -10px;
    }

    .content header.header-0,
    .content header.header-1 {
        background-position-y: calc(100% - 10px);
    }

    .content h1 {
        font-size: 2.5em;
    }

    .news-list-view {
        margin: 0;
    }

    .news-list-view .article {
        float: none;
        width: 100%;
        padding: 0;
    }

    .news-list-view .article:after {
        content: " ";
        width: 66.66%;
        height: 1px;
        background: #b1ce11;
        display: block;
        visibility: visible;
        margin: auto;
    }

    .news .article h3 {
        height: auto;
    }

    .ce-intext.ce-left .ce-gallery, .ce-column {
        float: none;
    }

    .ce-gallery figure {
        margin: auto;
    }

    .ce-image.ce-center .ce-column {
        width: 100%;
        padding: 0;
    }


    .ce-image .ce-row {
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 600px) {

    .image img {
        width: 90vw;
        height: auto;
        margin-bottom: 10px;
    }

}
