/*
************************************************************
Copyright:  (c) 2022 interaktiv manufaktur
Website:    www.interaktiv-manufaktur.de
************************************************************
*/



/*****************************************************************
*********** Commons (PageElement-uebergreifend)
******************************************************************/


/*** .contentbox THT
allgemeines Content Element
******************************************************************************* */

.contentbox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    margin-bottom: 100px;
}



/*** .infobox THT
allgemeines Element in der Infospalte
******************************************************************************* */

.infobox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    clear: both;
    margin-bottom: 55px;
}

.infobox .content {
    margin-top: 20px;
    padding: 25px;
    background-color: #E4E4E4;
}

.infobox .link-int {
    color: #1e4231;
}
.infobox .link-ext {
    color: #1e4231;
}


/*#### text ####*/

.text ul, .text ol {
    display: block;
    padding: 10px 20px;
}


/*** .download-list THT
Uebergreifendes Element (kann in verschiedenen PageElements genutzt werden)
******************************************************************************* */

.download-list {
    margin-top: 20px;
    padding-left: 0;
}

.downloads-main li {
    float: none;
}

.download-item {
    background: #FF8C00;
    margin-bottom: 10px;
    display: block;
    clear: both;
    padding-left: 50px;
}

#info-canvas .download-item {
    padding-left: 20px;
}

.download-link {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #fff;
    padding-left: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
}
.download-link:hover {
    color: #000000;
}










/*** Element media
******************************************************************************* */

.media-video-wrapper {
    display: flex;
}

.media-video-wrapper div {
    flex-basis: 50%;
    margin-right: 50px;
}

.media-video-wrapper div:nth-last-child(1) {
    margin: 0;
}

.media-content iframe {
   width: 100%;
   height: 100%;
   min-height: 400px;
}

/*** Elements media-main
******************************************************************************* */

.media-main .movie {
    width: 100%;
    height: auto;
    display: block;
}

.movie-box.youtube,
.movie-box.video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    width: 100%;
}

.movie-box.youtube iframe,
.movie-box.youtube object,
.movie-box.youtube embed,
.movie-box.video iframe,
.movie-box.video object,
.movie-box.video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*** Elements downloads
******************************************************************************* */

.download-item {
    margin-bottom: 10px;
    display: block;
    clear: both;
}
.download-link {
    box-sizing: border-box;
    display: block;
}

.download-link::before {
    font-family: "Font Awesome 6 Pro", Sans-Serif, serif;
    font-weight: 900;
    content: "\f56d";
    width: 25px;
    display: inline-block;
    color: #1e4231;
}






/**********************************************************************************
*********** PageElements
***********************************************************************************/


/*** PageElement overview-pages  THT
******************************************************************************* */

.overviewpages-main {
    display: block;
    margin-bottom: 100px;
}

.overview-item-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.overviewpages-main .overview-item {
    width: 49%;
    text-align: center;
    position: relative;
    cursor: pointer;
    background-color: #81BF53;
    height: 270px;
    margin-bottom: 25px;
    box-sizing: border-box;
}

.overviewpages-main .overview-item:hover {
    color: #1e4231;
}

.overviewpages-main-content-wrapper .overview-item:nth-last-child(1) {
    margin-right: 0;
}

.overviewpages-main .overview-item.has-image {
/*    height: 475px; */
}

.overviewpages-main .image-container{
    /*padding-top: 40px;
    padding-bottom: 40px; */
}
.overviewpages-main .image-container img {
    width: auto;
    margin-top: 35px;
    margin-bottom: 40px;
}

.overviewpages-main .text-container {
    display: inline-block;
}

.overview-item a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding: 50px 25px;
    box-sizing: border-box;
}

.overview-item a h2 {
    font-size: 34px;
    line-height: 46px;
    color: #fff;
    display: block;
    width: 100%;
    margin-bottom: 0;
}
.overview-item a:hover h2 {
    color: #1e4231;
}

.overview-item a .text {
    display: block;
    width: 100%;
}




/*** PageElement text-image-main (SAWI)
******************************************************************************* */


/* text-image-main */

.text-image-main .text-contentbox.bg-gray {
    background: #E4E4E4;
}

.text-image-main .text-contentbox.bg-gray .textbox-left .textbox {
    padding-left: 30px;
}

.text-image-main .text-contentbox.bg-gray .textbox {
    padding-top: 30px;
}

.text-image-main .text-contentbox.bg-gray .textbox-right .textbox {
    padding-right: 50px;
}

.text-contentbox {
    display: flex;
}

.text-contentbox div {
    flex-basis: 50%;
}

.text-contentbox div:nth-last-child(1) {
    padding: 0;
}

.text-contentbox li.headline h3 {
    font-weight: bold;
    padding-bottom: 10px;
}
/*
.text-contentbox strong {
    font-family: 'Signika', sans-serif;
    font-size: 26px;
    color: #1e4231;
}
*/
.textbox-image {
    width: 100%;
    height: auto;
}

.right-img {
    margin-left: 50px;
}

.left-img {
    margin-right: 50px;
}


/*** PageElement teaserboxes-main (SAWI)
******************************************************************************* */

.teaserboxes-wrapper {
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.teaserboxes-wrapper .teaserbox {
    flex-basis: 31%;
}
.teaserboxes-wrapper .teaserbox.darkgreen {
    background-color: #1e4231;
    color: #fff;
}

.teaserbox {
    /*margin: 0 55px 0 0;*/
    background-color: #81BF53;
}
a.teaserbox:hover {
    color: #FFFFFF;
}

.teaserbox-textcontainer {
    padding: 55px 30px;
    text-align: center;
    box-sizing: border-box;
}

.teaserbox-textcontainer h4 {
    font-family: 'Signika', sans-serif;
    font-size: 21px;
    font-weight: 700;
    text-transform: uppercase;
    height: 55px;
}
.teaserbox-textcontainer p {
    margin-top: 15px;
}

.teaserboxes-main .teaserbox-imagecontainer img {
    object-fit: cover;
}

.teaserbox.lightgreen .teaserbox-textcontainer {
   color: #1E4231;
}

/*** PageElement teaserbox-wide (THt)
******************************************************************************* */

.teaserbox-wide {
    width: 100%;
}
.teaserbox-wide .teaserbox {
    width: 100%;
}
.teaserbox-wide.darkgreen .teaserbox {
    background-color: #1e4231;
    color: #fff;
}
.teaserbox-wide.lightgreen .teaserbox {
    background-color: #81bf53;
    color: #fff;
}
.teaserbox-wide.grey .teaserbox {
    background-color: #e4e4e4;
    color: #1e4231;
}

.teaserbox-wide .teaserbox {
    display: flex;
    background-color: #81BF53;
}
/*
.teaserbox-wide a.teaserbox:hover {
    color: #FFFFFF;
}
.teaserbox-wide.grey a.teaserbox:hover {
    color: #81bf53;
}
*/
.teaserbox-wide .teaserbox-imagecontainer {
    width: 50%;

}
.teaserbox-wide .teaserbox-imagecontainer img {
    object-fit: cover;
    height: 100%;

}

.teaserbox-wide .teaserbox-textcontainer {
    padding: 55px 30px;
    text-align: center;
    box-sizing: border-box;
    width: 50%;
}

.teaserbox-wide .teaserbox-textcontainer h4 {
    font-family: 'Signika', sans-serif;
    font-size: 21px;
    font-weight: 700;
    text-transform: uppercase;
}
.teaserbox-wide .teaserbox-textcontainer p {
    margin-top: 15px;
}
.teaserbox-wide .teaserbox-textcontainer .button {
    background-color: #FFFFFF;
    color: #1E4231;
    border-radius: 5px;
    margin-top: 20px;
}
.teaserbox-wide.grey .button {
    background-color: #81bf53;
    color: #fff;
}


.teaserbox-wide.lightgreen .teaserbox-textcontainer {
   color: #1E4231;
}


/*** PageElement visual-text (SAWI)
******************************************************************************* */

.visual-text-background {
    background-position-y: center;
    background: url(/_images/welle-gruen.svg) no-repeat;
    background-size: cover;
    width: 100%;
    height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    padding-top: 7.5%;
}

.visual-text-img {
    opacity: .3;
    max-width: 177px;
    height: auto;
    padding-left: 20px;
    position: absolute;
    left: 0;
}

.visual-text {
    font-family: 'Signika', sans-serif;
    font-size: 50px;
    color: #fff;
    line-height: 56px;
    padding: 0 0 0 50px;
    width: 55%;
    max-height: 100%;
}

.visual-text p {
    font-family: 'Signika', sans-serif;
    font-size: 50px;

}

/*** PageElement downloads-main (SAWI)
******************************************************************************* */
.downloads-main-wrapper h2 {
    color: #1e4231;
}


.downloads-main li {
    float: none;
}


.download-button {
    background-color: #1e4231;
    width: 100%;
    margin-bottom: 7px;
    padding: 0;
    position: relative;
    cursor: pointer;
}

.download-button a {
    font-family: 'Signika', sans-serif;
    color: #fff;
    font-size: 18px;
    padding: 10px 22px 10px 55px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
}

.download-button a::before {
    display: inline-block;
    content: '\f56d';
    font-family: 'Font Awesome 6 Pro', sans-serif;
    font-weight: 600;
    position: absolute;
    top: 50%;
    transform: translateY(-55%);
    left: 22px;
}

/*** PageElement accordion-main (SAWI)
********************************************************************************/
.accordion-main-wrapper h2 {
    color: #1e4231;
}


input.accordion {
    opacity: 0;
    height: 40px;
    margin-bottom: -50px;
    width: 100%;
    z-index: 100;
    position: absolute;
}

.accordion-wrapper {
    width: 100%;
}

.accordion-button {
    font-family: 'Signika', sans-serif;
    color: #fff;
    font-size: 18px;
    background-color: #1e4231;
    display: block;
    padding: 10px 30px 10px 50px;
    margin-bottom: 10px;
    outline: none;
    cursor: pointer;
    transition: ease .7s;
    position: relative;
}

.accordion-active {
    font-weight: bold;
}

.accordion-panel {
    background-color: #81bf53;
    padding: 12px;
    margin: -10px 0 7px 0;
    font-family: 'Signika', sans-serif;
    color: #fff;
    font-size: 18px;
}

.accordion-panel h3 {
    color: #fff;
}

.accordion-panel a {
    color: #fff;
}

.accordion-panel a:hover {
    color: #fff;
    text-decoration: underline;
}

.accordion-panel.texteditor a:not(.no-icon):before {
    color: #fff;
}


label.accordion-button::before {
    font-family: "Font Awesome 6 Pro", sans-serif;
    content: '\f138';
    font-weight: 900;
    position: absolute;
    left: 10px;
    top: -1px;
    margin: 10px;
}

input.accordion:checked + label.accordion-button::before {
    font-family: "Font Awesome 6 Pro", sans-serif;
    content: '\f13a';
    font-weight: 900;
}

input.accordion + label.accordion-button + .accordion-panel {
    opacity: 0;
    height: 0;
    font-size: 0;
    color: transparent;
    padding: 0 25px;
    transition: ease .7s;
}

input.accordion:checked + label.accordion-button + .accordion-panel {
    opacity: 1;
    height: auto;
    font-size: 18px;
    color: #fff;
    margin: -10px 0 10px 0;
    padding: 10px 25px 30px 25px;
}

/*** PageElement logo-text (SAWI)
******************************************************************************* */
.logo-text-contentbox {
    display: flex;
}

.logo-text-contentbox div {
    flex-basis: 40%;
}

.logo-text-contentbox div:nth-last-child(1) {
    flex-basis: 60%;
    padding: 0;
}

.logotext-image {
    min-height: 260px;
    width: 100%;
}


/*** PageElement .person-main
***************************************************************************** */

.person-main {
    width: 100%;
}

.person-main .person-container-wrapper {
    display: flex;
    justify-content: space-between;
}

.person-main h2 {
    color: #1e4231;
    font-size: 26px;
    line-height: 49px;
    font-family: "Open Sans Bold", sans-serif;
    margin-bottom: 30px;
}

.person-main .person-container-wraper {
    display: flex;
    justify-content: space-between;
}

.person-main .person-container {
    box-sizing: border-box;
    max-width: 48.75%;
    height: 350px;
    width: 100%;
    float: left;
    background: #E4E4E4;
}

.person-main .person-container .image-container {
    max-width: 300px;
    height: 350px;
    width: 100%;
    float: left;
}

.person-main .person-container .content-container {
    padding: 25px;
    width: auto;
    overflow: hidden;
}

.person-main .text-container {
    float: left;
    max-width: 45%;
    margin-right: 5%;
}

.person-main .text-container * {
    font-size: 18px;
    line-height: 24px;
}

.person-main .text-container p {
    margin-bottom: 10px;
}

.person-main .headline {
    font-size: 26px;
    font-family: "Open Sans Bold", sans-serif;
    color: #81BF53;
    line-height: 36px;
    display: block;
}

.person-main .job {
    display: block;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 20px;
    font-family: "Open Sans Bold", sans-serif;
    padding-top: 10px;
}

.person-main .phone,
.person-main .fax,
.person-main .mobile {
    display: block;
    font-size: 16px;
    line-height: 24px;
}

.person-main .phone i {
    color: #81BF53;
    margin-right: 5px;
}

.person-main .fax i {
    color: #81BF53;
    margin-right: 5px;
}

.person-main .mobile i {
    color: #81BF53;
    margin-right: 12px;
}

.person-main .mail {
    display: block;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 15px;
    color: #000;
}

.person-main .mail i {
    color: #81BF53;
    margin-right: 5px;
}

.person-main .content {
    display: block;
    font-size: 16px;
    line-height: 21px;
}

/*
.person-main-double .person-container {
    margin-right: 5%;
    max-width: 50%;
}

.person-main-double .person-container:nth-last-child(2) {
    margin-right: 0;
}
*/


/*** PageElement .button-main (Button)
***************************************************************************** */

.button-main {
    position: relative;
    width: auto;
    margin-bottom: 19px;
    display: table;
}

.button-main .button {
    color: #FFFFFF;
    display: table-cell;
    vertical-align: middle;
    font-family: "Myriad Regular", sans-serif;
}

.button-main .button:before {
    font-family: "Font Awesome 5 Pro", sans-serif;
    font-weight: 900;
    content: "\f101";
    display: inline-block;
}

.button-main.back .button:before {
    content: "\f100";
}

.button-main.contact .button:before {
    content: "\f0e0";
}

.button-main {
    max-width: 450px;
    min-height: 37px;
    border-radius: 10px;
    margin-bottom: 19px;
}

.button-main .button {
    font-size: 18px;
    line-height: 17px;
    padding: 10px 30px 10px 31px;
}

.button-main .button:before {
    font-size: 18px;
    margin-right: 10px;
}

/*** PageElement .link-main (Link-Box mit Hintergrund)
***************************************************************************** */

.link-main .link-box  {
    width: 100%;
    background: #81BF53;
    clear: both;
    min-height: 70px;
    display: flex;
    align-items: stretch;
    position: relative;
}

.contentbox.link-main.margin-small {
    margin-bottom: 20px;
}

.link-main a.link-main-link {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    color: #fff;
    font-size: 24px;
    font-family: "Signika", sans-serif;
    padding: 10px 70px 10px 95px;
    line-height: 26px;
}

.link-main a.link-main-link::before {
    font-family: 'Font Awesome 5 Pro', sans-serif;
    font-size: 30px;
    font-weight: 900;
    content: '\f32b';
    display: inline-block;
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
}

.link-main.person a.link-main-link::before {
    content: '\f007';
}
.link-main.contact a.link-main-link::before {
    content: '\f0e0';
}
.link-main.extern a.link-main-link::before {
    content: '\f14c';
}

.link-main a.link-main-link::after {
    font-family: 'Font Awesome 5 Pro', sans-serif;
    content: '\f054';
    position: absolute;
    right: 40px;
    font-size: 50px;
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
}

.link-main a.link-main-link:hover {
    color: #1e4231;
}



/*** PageElement maps
******************************************************************************* */

.maps-main {
    box-sizing: border-box;
    padding-bottom: 25px;
    padding-top: 25px;
}

#googlemaps-main-mapcontainer,
#localgroups-map-osm,
.openstreetmap-container {
    position: relative;
    overflow: hidden;
    min-height: 500px;
    width: 100%;
}



/*** PageElement text-image-main
******************************************************************************* */

.text-image-main {
    /*display: flex;*/
}

.text-image-main .text-contentbox {
    width: 100%;
}
.text-image-main p {
    display: block;
    margin-bottom: 10px;
}

.text-image-main img {
    width: 100%;
}

.text-image-main .right-column {
    width: 50%;
    padding-left: 20px;
    box-sizing: border-box;
    overflow: hidden;
}

.text-image-main .left-column {
    width: 50%;
    padding-right: 20px;
    box-sizing: border-box;
    overflow: hidden;

}

.text-image-main .left-column .text {
    box-sizing: border-box;
}

.text-image-main .right-column .text {
    box-sizing: border-box;
}



/*** PageElement text-main
******************************************************************************* */

.text-main .text {
    display: block;
    overflow: hidden;

}

.text-main .text p {
    margin-bottom: 10px;
}


.text-main caption{
    text-align: center;
    margin-bottom: 5px;
}


/*** PageElement media-text
Video links und Text rechts
******************************************************************************* */
.media-wrapper {
    display: flex;
}
.movie-box.video {
    height: 100%;
    padding-bottom: 0;
    width: 100%;
}
.movie-box .movie {
    width: 100%;
    margin-top: -5px;
}

.media-text-wrapper {
/*    margin-top: 100px; */
}
.media-content-wrapper {
    display: flex;
    background-color: #81BF53;
}

.media-text.right .media-content {
    order:1;
}

.media-text .media-content-wrapper .media-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.media-content-wrapper div {
    flex-basis: 50%;
}
.media-content .video {
    height: 400px;
}
.media-content .movie {
    width: 100%;
    margin-bottom: -5px;
}
.media-wrapper {
    display: flex;
    background-color: #81BF53;
}
.media-content {
    flex-basis: 50%;
}

.media-text .text-container {
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    color: #2D2D2D;
    text-align: center;
    box-sizing: border-box;
    padding: 15px 60px;
    flex-basis: unset;
}

.media-text .text-container a { 
   color: #2D2D2D;
}

.media-text .text-container h4 {
    font-family: 'Signika', sans-serif;
    font-size: 21px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 50px;
}

.media-text .text-container p {
    margin-bottom: 12px;

}

.media-text .text-container :last-child {
    margin-bottom: 0;

}

.media-text .text-container ol li[data-list="ordered"],
.media-text .text-container ol li[data-list="bullet"] {
    list-style-position: inside;
}

.media-text .text-container strong {
    font-family: 'Signika', sans-serif;
    color: #2D2D2D;
    font-size: 21px;
    box-sizing: border-box;
}


/*** PageElement downloads-info
fuer events-detail-main
******************************************************************************* */
.downloads-info {
    /*padding:15px;*/
    /*padding-bottom: 45px;*/
}

.downloads-info .headline {
    margin-bottom: 20px;
}

.downloads-info .content {
    margin-top: 20px;
    padding: 0;
    background-color: #FFFFFF;
}

.downloads-info .downloads-list {
    overflow: hidden;
}

.downloads-info .download-item {
    color: #1e4231;
    background-color: #E4E4E4;
    padding-left: 15px;
}

.downloads-info .download-item .download-link {
    color: #1e4231;
}

.downloads-info .download-item:hover {
    color: #1e4231;
    background-color: #81bf53;
}

.downloads-info .download-item:hover .download-link {
    color: #FFFFFF;
}

/*** PageElement contactform
******************************************************************************* */

.pageelement-contactform {
    width: 100%;
    height: auto;
    padding: 0;
    background-color: #fff;
    position: relative;
}

.pageelement-contactform .form-info {
    padding-bottom: 20px;

}

.pageelement-contactform .contactform-content {
    padding-bottom: 40px;
    -webkit-box-align: start;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    height: 100%;
    gap: 20px;
    overflow: visible;
    position: relative;
    z-index: 2;
    margin-left: auto;
    margin-right: auto;
}

.pageelement-contactform .contactform-content .contact-form {
    padding-top: 1rem;
    width: 100%;
    max-width: 100%;
    position: relative;
    height: 100%;
    overflow: hidden;
}

.pageelement-contactform .contactform-content .contact-form form {
    -webkit-box-align: start;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    -ms-grid-rows: auto;
    grid-template-columns: 100%;
    grid-template-rows: auto;
    gap: 20px;
    row-gap: 1.2rem;
    grid-row-gap: 1.2rem;
    width: 100%;
    height: auto;
}

.pageelement-contactform .contactform-content .contact-form form .form-row {
    position: relative;
    width: 100%;
}

.pageelement-contactform .contactform-content .contact-form form .form-row textarea::placeholder,
.pageelement-contactform .contactform-content .contact-form form .form-row .textbox::placeholder {
    color: #707070;
    opacity: .67;
}


.pageelement-contactform .contactform-content .contact-form form .form-row .textbox {
    width: 100%;
    height: 3.3333333333rem;
    border: 1px solid #707070;
    background: #fff;
    color: #707070;
    padding: 19px 1.5rem;
    font-size: 16px;
    line-height: 1.1111111111rem;
    box-sizing: border-box;
    outline: none;
}

.pageelement-contactform .contactform-content .contact-form form .form-row textarea:focus,
.pageelement-contactform .contactform-content .contact-form form .form-row .textbox:focus {
    border: 1px solid #1e4231;
}

.pageelement-contactform .contactform-content .contact-form form .form-row textarea {
    height: 8.3333333333rem;
    outline: none;
    padding: 19px 1.5rem;
    display: block;
    border: 1px solid #707070;
    color: #707070;
    background: #fff;
    font-size: 16px;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    box-sizing: border-box;
}

.pageelement-contactform .contactform-content .contact-form form .form-select {
    position: relative;
    display: block;
    width: 100%;
    border: 1px solid #707070;
    color: #707070;
    height: 3.3333333333rem;
    box-sizing: border-box;
}

.pageelement-contactform .contactform-content .contact-form form .form-select select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0;
    background: url('/_images/angle-down-solid.svg') no-repeat 0 0;
    background-position-x: 95%;
    background-position-y: 16px;
    background-size: 1rem;
    margin-right: 2rem;
    width: 100%;
    padding: 1rem 2rem 1rem 1.4rem;
    color: #707070;
    font-size: 16px;
    height: 100%;
    opacity: .67;
}

.pageelement-contactform .contactform-content .contact-form form .form-select option {
    color: #707070;
}

.pageelement-contactform .contactform-content .contactform-contact-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-flow: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    align-content: flex-start;
    -ms-flex-align: start;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    height: 100%;
    flex-flow: row;
    flex-direction: row;
    -webkit-flex-direction: row;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-justify-content: center;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact {
    padding-bottom: 2rem;
    -webkit-box-align: center;
    justify-content: center;
    -webkit-justify-content: center;
    width: fit-content;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .image {
    width: 200px;
    height: auto;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text {
    margin-top: 2.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: auto;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .company {
    padding-bottom: 40px;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .company h2 {
    font-size: 18px;
    line-height: 1.5;
    font-family: 'Open Sans Bold', sans-serif;;
    font-weight: 700;
    width: auto;
    margin-bottom: 0;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .company p {
    font-size: 18px;
    line-height: 1.5555555556;
    font-weight: 400;
    color: #707070;
    margin-bottom: 0;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .phone {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-flow: row;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    align-content: flex-start;
    -webkit-box-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    justify-items: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    font-size: 18px;
    line-height: 1.3333333333;
    font-weight: 400;
    color: #707070;
    height: 24px;
    position: relative;
    width: fit-content;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .phone p {
    font-size: 18px;
    line-height: 1.5555555556;
    font-weight: 400;
    margin-bottom: 0;
    color: #707070;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .phone:before {
    font-family: "Font Awesome 5 Pro", sans-serif;;
    content: "\f095";
    margin-right: 8px;
    display: inline-block;
    font-weight: 900;
    width: unset;
    color: inherit;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .email {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-flow: row;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    align-content: flex-start;
    -webkit-box-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    height: 100%;
    justify-items: flex-start;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    font-size: 18px;
    line-height: 1.3333333333;
    font-weight: 400;
    color: #707070;
    position: relative;
    margin-bottom: 40px;
    width: fit-content;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .email p {
    font-size: 18px;
    line-height: 1.5555555556;
    font-weight: 400;
    margin-bottom: 0;
    color: #707070;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .email:before {
    font-family: "Font Awesome 5 Pro", sans-serif;;
    content: "\f0e0";
    margin-right: 8px;
    display: inline-block;
    font-weight: 900;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .website {
    padding: 10px 35px;
    background: #efefef;
    border-radius: 10px;
    font-size: 20px;
    color: #ffffff;
    display: inline-block;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .website .full {
    display: inline-block;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .website .abbreviated{
    display: none;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .website::before {
    font-family: "Font Awesome 5 Pro", sans-serif;;
    font-weight: 900;
    content: "\f0ac";
    margin-right: 8px;
    transform: translateY(2px);
    display: inline-block;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text img {
    display: inline-block;
    width: 1.3888888889rem;
    height: 1.4444444444rem;
    margin-right: 10px;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .openinghours-title {
    color: #707070;
    margin-bottom: 5px;
}

.pageelement-contactform .contactform-content .contactform-contact-box .contactform-contact .text .openinghours {
    color: #707070;
}


.pageelement-contactform .contactform-content .contact-form form .form-check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    flex-flow: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    height: 100%;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
    flex-flow: row;
    flex-direction: row;
    -webkit-flex-direction: row;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    max-width: 600px;
    border: 2px solid transparent;
    width: 100%;
}

.pageelement-contactform .contactform-content .contact-form form .form-row.dataprotection p,
.pageelement-contactform .contactform-content .contact-form form .form-row.dataprotection a {
    font-size: 14px;
    line-height: 1.0625;
}

.pageelement-contactform .contactform-content .contact-form form .form-check input {
    margin-top: 2px;
}

.pageelement-contactform .contactform-content .contact-form form .form-check label {
    margin-left: 10px;
    width: 100%;
    font-size: 14px;
    line-height: 1.0625;
}

.pageelement-contactform .contactform-content .contact-form form .contactform-button {
    display: inline-flex;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-style: normal;
    transition: all .25s;
    white-space: nowrap;
    touch-action: manipulation;
    outline: 0;
    user-select: none;
    color: #fff;
    border: 1px solid transparent;
    border-radius: 6px;
    max-width: 100%;
    font-size: 18px;
    line-height: 32px;
    font-weight: 700;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 16.6666666667rem;
    min-width: fit-content;
    height: 70px;
    padding: 19px 32px;
    background-color: #81BF53;
    margin-top: 2.5rem;
}

.pageelement-klb-map-main .wrapper {
    display: flex;
}

.pageelement-klb-map-main .wrapper > * {
    flex: 1;
    max-height: 400px;
}

.pageelement-klb-map-main .wrapper > *:first-child {
    padding: 1em;
    background: #e8ebea;
    text-align: center;
    flex-basis: 50%;
    box-sizing: border-box;
    height: 400px;
}

.pageelement-klb-map-main .wrapper > *:last-child {
    padding: 3em;
    background: #81bf53;
    flex-basis: 50%;
    box-sizing: border-box;
}

.pageelement-klb-map-main .wrapper > * img,
.pageelement-klb-map-main .wrapper > * svg {
    display: inline;
    object-fit: contain;
    height: 100%;
}

.pageelement-klb-map-main .wrapper > * p:not(:last-child) {
    margin-bottom: 1em;
}

.pageelement-klb-map-main .wrapper > * a,
.pageelement-klb-map-main .wrapper > * a:hover {
    color: black;
    font-family: 'Signika';
    font-weight: 700;
    text-transform: uppercase;
}

.pageelement-klb-map-main .wrapper > * a:before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Pro";
    margin-right: 0.67em;
}

@media (max-width: 1024px) {
    .pageelement-klb-map-main .wrapper {
        flex-direction: column;
    }

    .pageelement-klb-map-main .wrapper > * {
        max-height: unset;
    }
}



/*pageelement events-archive*/

.pageelement-events-archive {
    width: 100%;
    box-sizing: border-box;
    overflow: unset;
}

.element-headline {
    margin: 0 auto 20px;
    display: flex;
    max-width: 87.5000rem;
    justify-content: space-between;
    padding: 0 20px;
    color: #81BF53;
}

.pageelement-events-archive .content-container {
    flex-direction: column;
    flex-wrap: wrap;
}

.pageelement-events-archive .filter {
    margin: 0 auto;
    display: flex;
    max-width: 87.5000rem;
    justify-content: space-between;
}

.pageelement-events-archive .filter .filter-item-wrapper {
    width: 100%;
    margin-bottom: 20px;
}

.pageelement-events-archive .filter .filter-item-wrapper label {
    padding-bottom: 0.5rem;
    display: block;
}

.pageelement-events-archive .filter .filter-item-year {
    width: 100%;
    border: 1px solid #81BF53;
    padding: 10px;
    font-size: 20px;
    appearance: none;
    background: url(/_images/angle-down-solid.svg) no-repeat calc(100% - 20px) center;
    background-size: 30px 30px;
}

.pageelement-events-archive .content-container h2 {
    color: #81BF53;
    font-size: 1.6250rem;
    border-bottom: 2px solid #000;
    padding-bottom: 10px;
}

.pageelement-events-archive .item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px 0 25px;
    margin-bottom: 25px;
    border-bottom: 2px solid #707070 !important;
}

.pageelement-events-archive .image-container {
    display: flex;
    float: left;
    width: 40%;
    max-width: 26.8750rem !important;
    margin-right: 3.7500rem !important;
    max-height: 16.8750rem;
    box-sizing: border-box;
    position: relative;
    justify-content: flex-end;
}

.pageelement-events-archive .image-container image {
    display: inline-block;
    width: auto;
    height: 100%;
    box-sizing: border-box;
}

.pageelement-events-archive .text-container {
    float: left;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 20%;
}

@media screen and (max-width: 59.3750rem) {

    .pageelement-events-archive .image-container {
        margin-right: 40px !important;
    }
}

.pageelement-events-archive .text-container .headline-container .headline {
    margin-bottom: 0;
    display: inline-block;
    color: #1E4231;
    font-size: 26px;
    padding-bottom: 10px;
    font-family: "Signika", sans-serif;
    font-weight: 700;
}

.pageelement-events-archive .text-container .text {
    box-sizing: border-box;
    font-size: 18px;
    word-break: break-word;
    word-wrap: break-word;
    overflow: hidden;
}

.pageelement-events-archive .detail-link {
    display: inline-block;
    color: #000;
    font-size: 18px !important;
    margin-top: 20px;
    font-weight: bold;
    width: fit-content;
}

.pageelement-events-archive .detail-link:hover {
    color: #81BF53;
}


@media only screen and (max-width: 32.5000rem) {
    .pageelement-events-archive .image-container {
        width: 100%;
        margin: 0 !important;
        float: none;
    }

    .pageelement-events-archive .text-container {
        float: none;
        overflow: hidden;
        max-width: 100%;
    }
}

.pageelement-events-archive .fa-chevrons-right {
    padding-right: 0.3125rem;
    color: inherit;
}

.pageelement-events-archive .detail-link:hover .fa-chevrons-right {
    color: #81BF53;
}

.pageelement-events-archive .item:last-of-type {
    border-bottom: 2px solid #000 !important;
    padding-bottom: 20px !important;
}

.pageelement-events-archive .ai-mark {
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.pageelement-events-archive .ai-mark:before {
    content: '';
    background: url(/_images/ai-mark.svg) no-repeat;
    height: 1.5625rem;
    width: 1.5625rem;
    display: block;
    opacity: 0.4;
}

.pageelement-events-archive .events-list-copyright {
    font-size: 12px;
    opacity: 0.8;
    position: absolute;
    z-index: 1000;
    bottom: -0.9375rem;
    color: #000;
}

.pageelement-events-archive .fallback-image {
    display: flex;
    float: left;
    width: 100%;
    max-width: 26.8750rem !important;
    max-height: 16.8750rem;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    justify-content: center;
    align-items: center;
    background-color: #e4e4e4;
    overflow: hidden;
}

.pageelement-events-archive .fallback-image {
    display: flex;
}

.pageelement-events-archive .events-list-container .spinner {
    width: 6.2500rem;
    height: 6.2500rem;
    border: 10px solid rgb(230, 230, 230);
    border-top: 10px solid #81BF53;
    border-radius: 50%;
    animation: loading-offer-list 1s linear infinite;
    margin-left: calc(50% - 4.6875rem);
}

@keyframes loading-offer-list {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 59.3750rem) {
    .pageelement-events-archive .fallback-image {
        margin-right: 40px !important;
    }
}

@media only screen and (max-width: 32.5000rem) {
    .pageelement-events-archive .fallback-image {
        width: 100%;
        margin: 0 !important;
        float: none;
    }
}

.pageelement-events-archive .fallback-image i {
    font-size: 4.3750rem;
    color: #646464;
}

/* pageelement-news-archive */

.pageelement-news-archive {
    width: 100%;
    box-sizing: border-box;
}

.element-headline {
    margin: 0 auto 20px;
    display: flex;
    max-width: 87.5000rem;
    justify-content: space-between;
    padding: 0 20px;
    color: #81BF53;
}

.pageelement-news-archive .content-container {
    flex-direction: column;
    flex-wrap: wrap;
}

.pageelement-news-archive .filter {
    margin: 0 auto;
    display: flex;
    max-width: 87.5000rem;
    justify-content: space-between;
}

.pageelement-news-archive .filter .filter-item-wrapper {
    width: 100%;
    margin-bottom: 20px;
}

.pageelement-news-archive .filter .filter-item-wrapper label {
    padding-bottom: 0.5rem;
    display: block;
}

.pageelement-news-archive .filter .filter-item-year {
    width: 100%;
    border: 1px solid #81BF53;
    padding: 10px;
    font-size: 20px;
    appearance: none;
    background: url(_images/angle-down-solid.svg) no-repeat calc(100% - 20px) center;
    background-size: 30px 30px;
}

.pageelement-news-archive .content-container h2 {
    color: #1E4231;
    font-size: 26px;
    padding-bottom: 10px;
    font-family: "Signika", sans-serif;
}

.pageelement-news-archive .item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px 0 25px;
    margin-bottom: 25px;
    overflow: hidden;
    border-bottom: 2px solid #707070 !important;
}

.pageelement-news-archive .image-container {
    display: flex;
    float: left;
    width: 40%;
    max-width: 26.8750rem !important;
    margin-right: 3.7500rem !important;
    max-height: 16.8750rem;
    box-sizing: border-box;
    position: relative;
    justify-content: flex-end;
}

.pageelement-news-archive .image-container image {
    display: inline-block;
    width: auto;
    height: 100%;
    box-sizing: border-box;
}

.pageelement-news-archive .text-container {
    float: left;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 20%;
}

@media screen and (max-width: 59.3750rem) {

    .pageelement-news-archive .image-container {
        margin-right: 40px !important;
    }
}

.pageelement-news-archive .text-container .headline-container .headline {
    margin-bottom: 0;
    display: inline-block;
    color: #1E4231;
    font-size: 26px;
    padding-bottom: 10px;
    font-family: "Signika", sans-serif;
}

.pageelement-news-archive .text-container .text {
    box-sizing: border-box;
    font-size: 18px;
    word-break: break-word;
    word-wrap: break-word;
    overflow: hidden;
}

.pageelement-news-archive .detail-link {
    display: inline-block;
    color: #000;
    font-size: 18px !important;
    margin-top: 20px;
    font-weight: bold;
}

.pageelement-news-archive .detail-link:hover {
    color: #81BF53;
}

@media only screen and (max-width: 32.5000rem) {
    .pageelement-news-archive .text-container .headline-container .headline {
        font-size: 22px;
    }

    .pageelement-news-archive .image-container {
        width: 100%;
        margin: 0 !important;
        float: none;
    }

    .pageelement-news-archive .text-container {
        float: none;
        overflow: hidden;
        max-width: 100%;
    }
}

.pageelement-news-archive .fa-chevrons-right {
    padding-right: 0.3125rem;
    color: inherit;
}

.pageelement-news-archive .detail-link:hover .fa-chevrons-right {
    color: #81BF53;
}

.pageelement-news-archive .item:last-of-type {
    border-bottom: 2px solid #707070 !important;
    padding-bottom: 20px !important;
}

.pageelement-news-archive .ai-mark {
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.pageelement-news-archive .ai-mark:before {
    content: '';
    background: url(/_images/ai-mark.svg) no-repeat;
    height: 1.5625rem;
    width: 1.5625rem;
    display: block;
    opacity: 0.4;
}

.pageelement-news-archive .news-list-copyright {
    font-size: 12px;
    opacity: 0.8;
    position: absolute;
    z-index: 1000;
    bottom: -0.9375rem;
    color: #000;
}

.pageelement-news-archive .fallback-image {
    display: flex;
    float: left;
    width: 100%;
    max-width: 26.8750rem !important;
    max-height: 16.8750rem;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    justify-content: center;
    align-items: center;
    background-color: #e4e4e4;
    overflow: hidden;
}

.pageelement-news-archive .fallback-image {
    display: flex;
}

.pageelement-news-archive .news-list-container .spinner {
    width: 6.2500rem;
    height: 6.2500rem;
    border: 10px solid rgb(230, 230, 230);
    border-top: 10px solid #81BF53;
    border-radius: 50%;
    animation: loading-offer-list 1s linear infinite;
    margin-left: calc(50% - 4.6875rem);
}

@keyframes loading-offer-list {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 59.3750rem) {
    .pageelement-news-archive .fallback-image {
        margin-right: 40px !important;
    }
}

@media only screen and (max-width: 32.5000rem) {
    .pageelement-news-archive .fallback-image {
        width: 100%;
        margin: 0 !important;
        float: none;
    }
}

.pageelement-news-archive .fallback-image i {
    font-size: 4.3750rem;
    color: #646464;
}

.pageelement-news-archive .news-list-container .detail-link::before {
    content: '';
    width: 0;
}