/*****  MAIN  *****/
:root {
  --col1: #74986A;
  --col2: #353740;
  --col3: #fff;
  --greyE: #EEE;
  --greyC: #CCC;
  --grey9: #999;
  --grey6: #666;
  --grey3: #333;
}

/* Ladeanimation */
.ladeanimation {
    width:100%;
    height:100%;
    left:0;
    top:0;
    position:fixed;
    background:#fff url("../dateien/icons/loader3.gif") center center no-repeat;
    z-index: 9999;
}
html {
    overflow-y: scroll;
}
div {
    box-sizing: border-box;
}
::selection {
    background-color:var(--col1);
    color:#fff;
}
.error {
    color:red;
}
a:focus-visible,
button:focus-visible {
    outline-color: #ffa500;
    outline-offset: 1px;
}
button {
    background-color: transparent;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.hidden {
    display:none;
}
.clearfix {
    height:0;
    clear:both;
}
.clearfix:after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0;
}
body {
    margin:0;
    padding:0;
    color:var(--grey3);
    font:18px/24px 'Open Sans', sans-serif;
    font-weight:600;
}
#wrapper {
    max-width:2560px;
    min-height: 100vh;
    overflow:hidden;
    margin-right:auto;
    margin-left:auto;
    background-color:#fff;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
}
#container {
  min-height: 100vh;
}
hr {
    height:0;
    width:100%;
    margin-top:25px;
    margin-bottom:25px;
    border-top:1px solid var(--greyC);
    border-right:0px solid var(--greyC);
    border-left:0px solid var(--greyC);
    border-bottom: 1px solid #ffffff;
}

/* Überschriften */
h1,
h2,
h3,
h4 {
    margin-top:0;
    margin-bottom:15px;
    margin-left:0;
    padding-top:0;
    padding-bottom:0;
    font-weight:600;
}
h1 {
    font-size:34px;
    line-height:40px;
}
h2 {
    font-size:24px;
    line-height:30px;
    color:var(--col1);
}
h3 {
    font-size:20px;
    line-height:26px;
    color:var(--col1);
}
h4 {
    font-size:20px;
    line-height:26px;
    color:var(--col1);
}

/* Text */
a {
    text-decoration:none;
    color:var(--col2);
    font-weight:600;
    transition:
        color 0.2s ease,
        box-shadow 0.2s ease;
}
a:hover {
    color:var(--col1);
    box-shadow: 0 1px var(--col1);
}
p a {
    box-shadow: 0 1px var(--col2);
}
p a[target="_blank"]:before {
    content: '';
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    margin-right: .2em;
    margin-bottom: -.25em;
    background-color: var(--col2);
    -webkit-mask: url(../dateien/icons/icon_arrow-link-extern.svg) no-repeat center / contain;
    mask: url(../dateien/icons/icon_arrow-link-extern.svg) no-repeat center / contain;
    transition: background-color 0.2s ease;
}
p a[target="_blank"]:hover:before {
    background-color: var(--col1);
}
.datenschutz #main a {
	word-break: break-all;
}

/* Buttons */
.more a,
a.more,
.back a {
    display:inline-block;
    padding:10px 20px;
    background-color:var(--col1);
    font-size:16px;
    line-height:20px;
    text-decoration:none;
    color:#fff;
    white-space: nowrap;
    display: inline-block;
    margin-bottom: 10px;
    box-shadow:unset;
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}
.more a:hover,
.back a:hover,
a.more:hover,
.bg-1 a.more:hover {
    background-color:var(--col2);
    box-shadow:unset;
}
.bg-1 a.more {
    background-color:#fff;
    color:var(--col1);
}

/* Liste */
li {
    margin-left:1.25em;
    margin-bottom:6px;
    position: relative;
}
li:before {
    content: '';
    position: absolute;
    top: 0.35em;
    width: 13px;
    height: 13px;
    margin-left: -1.25em;
    background-color: var(--col1);
    -webkit-mask: url(../dateien/icons/icon_angles-right.svg) no-repeat center / contain;
    mask: url(../dateien/icons/icon_angles-right.svg) no-repeat center / contain;
}
.auflistung li {
    margin-left:1.5em;
}
.auflistung li:before {
    width: 18px;
    height: 18px;
    top: 3px;
    margin-left: -1.5em;
    -webkit-mask: url(../dateien/icons/icon_circle-check.svg) no-repeat center / contain;
    mask: url(../dateien/icons/icon_circle-check.svg) no-repeat center / contain;
}
ol li:before {
    content: "";
}

/*  mod_article */
.mod_article {
    padding-top:80px;
    padding-bottom:80px;
}
.mod_article.fullwidth {
    max-width:100%;
}
.fullwidth .mod_article {
    padding-top:0;
    padding-bottom:0;
}
.mod_article.fullwidth:not(.boxed-content) {
    padding-top:0;
    padding-bottom:0;
}
.mod_article.fullwidth.content {
    padding-top:25px;
    padding-bottom:25px;
    padding-right:4%;
    padding-left:4%;
}
.two-boxes-full.mod_article.fullwidth.no-boxed > div {
    padding:0;
}
.two-boxes-full.mod_article.fullwidth.no-boxed > div .bg {
    height:100%;
    margin-bottom:0;
    padding:0;
}
.two-boxes-full.mod_article.fullwidth.no-boxed > div > div > .content-text {
    padding-top:80px;
    padding-bottom:65px;
}
.two-boxes-full.mod_article.fullwidth.no-boxed > div:first-child > div > .content-text {
    padding-right: 60px;
    padding-left:110px;
}
.two-boxes-full.mod_article.fullwidth.no-boxed > div:nth-child(2) > div > .content-text {
    padding-right: 110px;
    padding-left:60px;
}
.two-boxes-full.mod_article.fullwidth.no-boxed .col-lg-6:first-child > div > .content-text {
    padding-left:15px;
    max-width: 570px;
    float: right;
}
.two-boxes-full.mod_article.fullwidth.no-boxed .col-lg-6:nth-child(2) > div > .content-text {
    padding-right:15px;
    max-width: 570px;
    float: left;
}
.two-boxes-full.mod_article.fullwidth.no-boxed .ce_rsce_hg-bild,
.two-boxes-full.mod_article.fullwidth.no-boxed .ce_rsce_hg-bild-text {
    min-height: 550px;
}
.ce_rsce_header-hg-bild-text .content-text,
.ce_rsce_hg-bild-text .content-text {
    background-color: #fff;
    padding: 25px 25px 15px!important;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
    position: absolute;
    bottom: 40px;
    margin-right: 25px;
    margin-left: 25px;
}
.w80 .content-text {
    max-width:80%;
}

/* Abstände*/
.pt-0 {padding-top:0px!important;}
.pt-20 {padding-top:20px;}
.pt-40 {padding-top:40px;}
.pt-60 {padding-top:60px;}
.pt-80 {padding-top:80px;}
.pt-100 {padding-top:100px;}
.pb-0 {padding-bottom:0px!important;}
.pb-20 {padding-bottom:20px;}
.pb-40 {padding-bottom:40px;}
.pb-60 {padding-bottom:60px;}
.pb-80 {padding-bottom:80px;}
.pb-100 {padding-bottom:100px;}
.mt-0 {margin-top:0px!important;}
.mt-20 {margin-top:20px;}
.mt-40 {margin-top:40px;}
.mt-60 {margin-top:60px;}
.mt-80 {margin-top:80px;}
.mt-100 {margin-top:100px;}
.mb-0 {margin-bottom:0px!important;}
.mb-20 {margin-bottom:20px;}
.mb-40 {margin-bottom:40px;}
.mb-60 {margin-bottom:60px;}
.mb-80 {margin-bottom:80px;}
.mb-100 {margin-bottom:100px;}

/* Ausrichtungen */
.center {
    text-align:center;
}
.right {
    text-align:right;
}
.left {
    text-align:left;
}
.float_left {
    float:left;
    margin-right:1%;
}
.float_right {
    float:right;
    margin-left:1%;
}
.schmaler-content {
    width:80%;
    margin-right:auto;
    margin-left:auto;
    padding-right:15px;
    padding-left:15px;
}
.zentriert {
    padding-right:25px;
    padding-left:25px;
    text-align:center;
    justify-content: center;
    display: flex;
    flex-direction: column;
}

/* Bootstrap Klassen Flex Ausrichtung 
align-items-start
align-items-center
align-items-end
align-self-start
align-self-center
align-self-end
justify-content-start
justify-content-center
justify-content-end
justify-content-around
justify-content-between */

/* BG Color */
.mod_article .bg-white,
.mod_article .bg-grey,
.mod_article .bg-1,
.mod_article .bg-2 {
    margin-bottom:15px;
    padding:15px;
}
.mod_article .bg-white figure,
.mod_article .bg-white-2 figure,
.mod_article .bg-grey figure,
.mod_article .bg-1 figure,
.mod_article .bg-2 figure {
    margin:-15px -15px 25px;
}
.bg-white {
    background-color:#fff;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.15);
}
.bg-white-2 {
    background-color:#fff;
}
.mod_article .bg-white-2 {
    margin-bottom:15px;
    padding:15px 0;
}
.bg-grey {
    background-color:var(--greyE);
}
.bg-1 {
    background-color:var(--col1);
    color:#fff;
}
.bg-2 {
    background-color:var(--col2);
    color:#fff;
}
.bg-1 h1, .bg-1 h2, .bg-1 h3, .bg-1 a,
.bg-2 h1, .bg-2 h2, .bg-2 h3, .bg-2 a {
    color:#fff;
}
.bg-1 a:hover,
.bg-2 a:hover {
    color:var(--col2);
}
.mod_article .ce_rsce_hg-bild-text.bg-grey,
.mod_article .ce_rsce_hg-bild-text.bg-white,
.mod_article .ce_rsce_hg-bild-text.bg-1,
.mod_article .ce_rsce_hg-bild-text.bg-2 {
    margin-bottom:0;
}

/* Bilder */
figure {
    overflow:hidden;
    line-height:0;
    margin-bottom:25px;
    margin-top:25px;
}
img {
    display: block;
    height:auto;
    max-width:100%;
}
picture {
  display: block;
}
figure.image_container {
  margin: 0;
}

.ce_rsce_hg-bild figure.image_container picture,
.ce_rsce_hg-bild figure.image_container img,
.ce_rsce_hg-bild-text figure.image_container picture,
.ce_rsce_hg-bild-text figure.image_container img {
  display: block;
}
.ce_rsce_hg-bild .content-image,
.ce_rsce_hg-bild-text .content-image {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    width: 100%;
}
.ce_rsce_hg-bild .content-image picture,
.ce_rsce_hg-bild-text .content-image picture {
    display: flex;
    width: 100%;
}
.ce_rsce_hg-bild .content-image img,
.ce_rsce_hg-bild-text .content-image img {
    align-self: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}

/* TinyMCE */
.col1 {
    color:var(--col1);
}
.col2 {
    color:var(--col2);
}
.text-small {
    font-size:14px;
    line-height:16px;
}
.text-big {
    font-size:24px;
    line-height:26px;
}