/* Fonts - https://google-webfonts-helper.herokuapp.com/fonts */

/* roboto-regular - latin-ext */
/*@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'),
url('../Fonts/roboto-v18-latin-ext-regular.woff2') format('woff2'),  Chrome 26+, Opera 23+, Firefox 39+ 
url('../Fonts/roboto-v18-latin-ext-regular.woff') format('woff');  Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ 
}*/

/* Typography  */
@media all {

    /* html { font-size: 1rem; height: 100%; background: rgb(51,51,51); } */

    body, 
    input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), 
    button, 
    select, 
    textarea {
        font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
        font-family: 'Open Sans', -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
        /* uncomment with other font stacks: font-display: fallback */
        font-size: 100%;
        font-weight: 400;
        line-height: 1.5;
        color: rgb(51,51,51);
        background: rgb(255,255,255);
        text-rendering: optimizelegibility;
        -moz-osx-font-smoothing: grayscale;
    }

    b, strong, dt { font-weight: 700; }

    a ,
    .ce-frame-inverted a:not(.btn) {
        font-weight: 700;
        color: rgb(111,194,34);
        text-decoration: none; 
        text-decoration-skip: ink;
    }

    .ce-above-overlay .ce-header > * ,
    .ce-above-overlay .ce-header a:not(.btn) {
        color: #fff;
    }

    .ce-layout-boxcontents .ce-element .ce-header ,
    .ce-layout-box .ce-header {
        position: relative;
    }

    .ce-above-overlay .ce-header:before {
        content: "";
        position: absolute;
        top: -.625rem;
        right: 0;
        bottom: -.625rem;
        left: 0;
        background: rgb(0,0,0);
        background: linear-gradient(0deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 100%);         
        border-radius: 0 0 .25rem .25rem;      
    }

    .ce-layout-boxcontents .ce-element .ce-header:before ,
    .ce-layout-box .ce-above-overlay .ce-header:before {
        right: -.625rem;
        left: -.625rem;    
        border-radius: 0;      
    }

    .ce-above-overlay .ce-header > * {
        position: relative;
        z-index: 1;
    }

    .h1-like,.h2-like,.h3-like,.h4-like,.h5-like,
    h1,h2,h3,h4,h5 {
        margin: 0;
        line-height: 1.25;
        font-weight: 700;
        color: rgb(70,161,27);
        color: rgb(28,128,20);
    }

    .page-footer ,
    .page-footer a ,
    .page-stage .ce-header > * {
        color: rgb(255,255,255);
    }        
    
    .page-footer p a {
        position: relative;
    }

    .page-footer p a:hover {
        color: #333;
    }

    .page-footer p a:hover::before {
        content: "";
        position: absolute;
        top: -.125rem;
        right: -.25rem;
        bottom: -.125rem;
        left: -.25rem;
        background-color: #fff;
        z-index: -10;
        border-radius: 100vw;
    }
        
    .h1-like,
    h1 {
        font-size: 150%;
    }
    .h2-like,
    h2 {
        font-size: 125%;
    }

    .h3-like,
    h3 {
        font-size: 112.5%;
    }
    .h4-like,
    h4 {
        font-weight: 600;
    }

    blockquote {
        margin-left: 1.25rem;
        border-left: 4px solid rgb(204,204,204);
        padding: 0.9375rem 0 0 1.25rem;
        font-style: italic;
    }

    blockquote::after {
        content: "";
        display: table;
    }

    /* margins */

    .ce-news,
    .ce-header,
    .ce-teaserlink-outer,
    table,
    p, ul, ol, dl ,
    .ce-frame-booked-green .ce-bodytext ,
    .ce-frame-booked-orange .ce-bodytext ,
    .ce-frame-booked-red .ce-bodytext { 
        margin: 0 0 .625rem; 
    }
        
    .ce-frame-booked-green .ce-bodytext p ,
    .ce-frame-booked-orange .ce-bodytext p ,
    .ce-frame-booked-red .ce-bodytext p {
        margin-bottom: 0;
    }
        
    .ce-frame-booked-green .ce-bodytext ,
    .ce-frame-booked-orange .ce-bodytext ,
    .ce-frame-booked-red .ce-bodytext {
        position: relative;
        border-radius: .25rem;
        color: #fff;
        font-weight: 700;
    }
        
    .ce-frame-booked-green .ce-bodytext::before ,
    .ce-frame-booked-orange .ce-bodytext::before ,
    .ce-frame-booked-red .ce-bodytext::before {
        content: "";
        display: block;
    }
    
    .ce-element ul {
        padding-left: 1.5rem;
    }
    
    .news-teaser {
        font-weight: 700;
    }

    .ce-teaserlink-outer { 
        margin-bottom: 0 !important;
    }

    .ce-header { 
        margin: 0 0 .625rem; 
    }

    .ce-header + .ce-grid-carousel , 
    .ce-header + .news { 
        margin-top: 1.25rem; 
    }

    .page-stage .ce-slider .ce-header { 
        margin: 0 0 1rem; 
    }

    .ce-header-subheader,
    .ce-header-date {
        margin-top: 0.3125rem;
    }

    .ce-header-subheader {
        margin-top: 0.625rem;
    }
    .ce-header-date {
        margin: 0.625rem 0 0;
    }
    ul ul,
    ul ol,
    ol ul,
    ol ol { margin:0; }

    .ce-menu .ce-menu {
        margin-left: 1.25rem;
    }

    hr,
    .ce-div {
        border: none;
        border-top: .125rem solid rgb(242,244,244);
        margin: 0;
        height:0.9375rem;
    }

    .page-stage ,
    .page-stage .ce-header > * ,
    .page-stage a {
        font-weight: 700;
    }   

    /* text flow */
    h1, h2, h3, h4, h5, h6
    p, li, a, figcaption {
        overflow-wrap: break-word;
        word-wrap: break-word;
        /*! -webkit-hyphens: auto; */
        /*! -moz-hyphens: auto; */
        /*! -ms-hyphens: auto; */
        /*! hyphens: auto; */
    }
    
    .page-content li {
        position: relative;
        list-style: none;
    }
    
    .page-content li + li {
        margin-top: .625rem;
    }
    
    .page-content .pagination-list li ,
    .page-content .pagination-list li + li {
        margin-top: 0;
    }
    
    .page-content .ce-bodytext li::before {
        content: "";
        position: absolute;
        left: -1.25rem;
        top: .25rem;
        background-image: url("../Images/icon_absehen.svg");
        height: 1rem;
        width: 1rem;
        display: block;
    }

}

@media all and (min-width: 30em) {
    
    .ce-slider .ce-header,
    .ce-slider .ce-bodytext {
        padding: 1.25rem;
    }
     .ce-above-overlay .ce-header:before {
        top: -1.25rem;
        bottom: -1.25rem;
    }    
    .ce-layout-boxcontents .ce-element .ce-header:before ,
    .ce-layout-box .ce-above-overlay .ce-header:before {
        right: -1.25rem;
        left: -1.25rem;
    }
    
    .ce-above-overlay .ce-textpic-overlay .ce-gallery {
        padding-bottom: .625rem;        
    }

}

/* large */
@media all and (min-width: 62.5em) {
    /* typography */

    .ce-news,
    .ce-header,
    .ce-teaserlink-outer,
    table,
    p, ul, ol, dl ,
    .ce-frame-booked-green .ce-bodytext ,
    .ce-frame-booked-orange .ce-bodytext ,
    .ce-frame-booked-red .ce-bodytext { 
        margin: 0 0 1.25rem; 
    }
    
    .ce-element ul li p {
        margin-bottom: .5rem;
    }

    .ce-header { 
        margin: 0 0 1.25rem; 
    }

    .page-stage .ce-header > * {
        font-size: 250%;        
    }

    .h1-like,
    h1 {
        font-size: 175%;
    }
    .h2-like,
    h2 {
        font-size: 150%;
    }

    .page-sidebar h2,
    .page-footer h2 {
        font-size: 125%;
    }

    .h3-like,
    h3 {
        font-size: 125%;
    }

    .page-sidebar h3,
    .page-footer h3 {
        font-size: 112.5%;
    }

    .h4-like,
    h4 {
        font-size: 112.5%;
        font-weight: inherit;
    }

    .h5-like,
    h5 {
        font-weight: 600;
    }

}

/* xlarge */
@media all and (min-width: 82.5em) {
    /* typography */

    body, input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), button, textarea {
        font-size: 112.5%;
    }

    .page-stage .ce-header > * {
        font-size: 3rem;        
    }

    .h1-like,
    h1 {
        font-size: 2rem;
    }

    .h2-like,
    h2 {
        font-size: 1.75rem;
    }

    .page-sidebar h2,
    .page-footer h2 {
        font-size: 1.5rem;
    }

    .h3-like,
    h3 {
        font-size: 1.5rem;
    }

    .page-sidebar h3,
    .page-footer h3 {
        font-size: 1.25rem;
    }

    .h4-like,
    h4 {
        font-size: 1.25rem;
    }

    .h5-like,
    h5 {
        font-size: 1.125rem;      
        font-weight: inherit;
    }

}

/* xlarge */
@media all and (min-width: 100em) {
    /* typography */

    body, 
    input:not([type="radio"]):not([type="checkbox"]), 
    button, 
    textarea {
        font-size: 112.5%;
    }

    .page-stage .ce-header > * {
        font-size: 3.75rem;        
    }

    .h1-like,
    h1 {
        font-size: 2.5rem;
    }

    .h2-like,
    h2 {
        font-size: 1.875rem;
    }

    .page-sidebar h2,
    .page-footer h2 {
        font-size: 1.375rem;
    }

    .h3-like,
    h3 {
        font-size: 1.375rem;
    }

    .page-sidebar h3,
    .page-footer h3 {
        font-size: 1.25rem;
    }

    .h4-like,
    h4 {
        font-size: 1.25rem;
    }

    .h5-like,
    h5 {
        font-size: 1.125rem;      
        font-weight: inherit;
    }

}
