/*
******************************************************************
(c) sinntun.codes
******************************************************************
*/

/*****************************************************************
**** Commons (PageElement-übergreifend)
******************************************************************/

.contentbox,
.contentbox-main,
.contentbox-info {
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.contentbox-main.highlighted {
  background: #E5F0F8;
  padding-top: 30px;
  padding-bottom: 30px;
}

/*
.contentbox.highlighted {
  overflow: visible;
}

.contentbox.highlighted + .contentbox.highlighted {
  margin-top: -55px;
  padding-top: 55px;
}
*/

/*** .contentbox
allgemeines Content Element
******************************************************************/

.contentbox {
  width: 100%;
}

/*** .contentbox-main
allgemeines Content Element in der Main-Spalte
******************************************************************/

.contentbox-main {
  margin-bottom: 55px;
}

/*** .contentbox-info
allgemeines Element in der Infospalte
******************************************************************/

.contentbox-info {
  clear: both;
  margin-bottom: 55px;
}

/*** Highlighting
******************************************************************/
/*
.contentbox.highlighted {
  background-color: #fff;
  overflow: visible;
  padding-bottom: 35px;
}

.contentbox.highlighted:has(+ .contentbox.highlighted){
  margin-bottom: -100px;
  padding-bottom: 155px;
}


.contentbox .background_highlight {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc( -1 * (100vw - 1400px) / 2);
  right: calc( -1 * (100vw - 1400px) / 2);
  background: #fff;
  z-index: -1;
}

.contentbox:not(.highlighted) + .contentbox.highlighted,
#main-elements-container .contentbox.highlighted:first-child {
  padding-top: 15px;
  margin-top: 100px;
}

.contentbox:not(.highlighted) + .contentbox.highlighted:before,
#main-elements-container .contentbox.highlighted:first-child:before {
  content: '';
  position: absolute;
  top: -60px;
  bottom: 100%;
  left: calc(-1*(100vw - 1400px)/2);
  right: calc(-1*(100vw - 1400px)/2);
  background: url('/_images/element-wave.png') no-repeat;
  background-size: 100% 100%;
  transform: translateY(3px);
  z-index: -10;
}

.contentbox.highlighted:has(+ .contentbox:not(.highlighted)),
#main-elements-container .contentbox.highlighted:last-child{
  padding-bottom: 45px;
  margin-bottom: 100px;
}

.contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
#main-elements-container .contentbox.highlighted:last-child:after {
  content: '';
  position: absolute;
  top: 100%;
  bottom: -60px;
  left: calc(-1*(100vw - 1400px)/2);
  right: calc(-1*(100vw - 1400px)/2);
  background: url('/_images/element-wave.png') no-repeat;
  background-size: 100% 100%;
  transform: translateY(-3px) rotate(180deg);
  z-index: -10;
}

@media only screen and (min-width: 1920px){
  .contentbox .background_highlight {
    left: -260px;
    right: -260px;
  }

  .contentbox:not(.highlighted) + .contentbox.highlighted:before,
  #main-elements-container .contentbox.highlighted:first-child:before {
    left: -260px;
    right: -260px;
  }

  .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
  #main-elements-container .contentbox.highlighted:last-child:after {
    left: -260px;
    right: -260px;
  }
}

@media only screen and (max-width: 1500px){
  .contentbox .background_highlight {
    left: calc(-1*(100vw - 1300px) / 2);
    right: calc(-1*(100vw - 1300px) / 2);
  }

  .contentbox:not(.highlighted) + .contentbox.highlighted:before,
  #main-elements-container .contentbox.highlighted:first-child:before {
    left: calc(-1*(100vw - 1300px) / 2);
    right: calc(-1*(100vw - 1300px) / 2);
  }

  .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
  #main-elements-container .contentbox.highlighted:last-child:after {
    left: calc(-1*(100vw - 1300px) / 2);
    right: calc(-1*(100vw - 1300px) / 2);
  }
}

@media only screen and (max-width: 1400px){
  .contentbox .background_highlight {
    left: -50px;
    right: -50px;
  }

  .contentbox:not(.highlighted) + .contentbox.highlighted:before,
  #main-elements-container .contentbox.highlighted:first-child:before {
    left: -50px;
    right: -50px;
  }

  .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
  #main-elements-container .contentbox.highlighted:last-child:after {
    left: -50px;
    right: -50px;
  }
}

@media only screen and (max-width: 520px){
  .contentbox:not(.highlighted) + .contentbox.highlighted:before,
  #main-elements-container .contentbox.highlighted:first-child:before,
  .contentbox.highlighted:has(+ .contentbox:not(.highlighted)):after,
  #main-elements-container .contentbox.highlighted:last-child:after {
    background: url('/_images/element-wave-mobile.png') no-repeat;
    top: -20px;
    bottom: -20px;
    background-size: 100% 20px;
  }

  .contentbox:not(.highlighted) + .contentbox.highlighted,
  #main-elements-container .contentbox.highlighted:first-child {
    margin-top: 70px;
  }

  .contentbox.highlighted:has(+ .contentbox:not(.highlighted)),
  #main-elements-container .contentbox.highlighted:last-child {
    margin-bottom: 70px;
  }
}
*/
/*** .text-image
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text-image .container {
  display: flex;
  gap: 35px;
  font-size: 18px;
}

.pageelement-text-image .container .left,
.pageelement-text-image .container .right {
  display: flex;
  gap: 35px;
  flex-flow: column;
  width: 50%;
}

.pageelement-text-image .container .image {
  border-radius: 10px;
  overflow: hidden;
}

@media only screen and (max-width: 520px){
  .pageelement-text-image .container {
    flex-flow: column;
  }

  .pageelement-text-image .container .left,
  .pageelement-text-image .container .right {
    width: 100%;
  }
}

/*** .text-image-wide
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text-image-wide .container {
  display: flex;
  flex-flow: column;
  gap: 20px;
  font-size: 18px;
}

.pageelement-text-image-wide .container .image {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

.pageelement-text-image-wide .container .text {
  max-width: calc(50% - 17.5px);
}

@media only screen and (max-width: 1024px){
  .pageelement-text-image-wide .container .text {
    max-width: 1000px;
  }
}


/*** .text
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-text .content {
  display: flex;
  gap: 35px;
  font-size: 18px;
}

.pageelement-text .headline {
  margin-bottom: 20px;
}

.pageelement-text .container .left,
.pageelement-text .container .right {
  display: flex;
  gap: 35px;
  flex-flow: column;
  width: 50%;
}

.pageelement-text .container .image {
  border-radius: 10px;
  overflow: hidden;
}

@media only screen and (max-width: 520px){
  .pageelement-text .content {
    flex-flow: column;
  }

  .pageelement-text .container .left,
  .pageelement-text .container .right {
    width: 100%;
  }
}

/*** .text-image-wide
zweispaltiges Text Bild Element
******************************************************************/

.pageelement-images .container {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  font-size: 18px;
}

.pageelement-images .container .image {
  max-width: 340px;
  border-radius: 10px;
  overflow: hidden;
  width: calc(25% - 10px);
}

@media only screen and (max-width: 1024px){
  .pageelement-images .container .image {
    width: calc(33.33% - 9px);
  }
}

@media only screen and (max-width: 520px){
  .pageelement-images .container .image {
    width: calc(50% - 7px);
  }
}


/*testimonial*/

.pageelement-testimonial .headline {
  text-align: center;
  margin-bottom: 20px;
}

.pageelement-testimonial .container {
  position: relative;
  overflow: hidden;

  text-align: center;
  font-size: 26px;
  margin-bottom: 13px;
  background: #ff8b0025;
  border-radius: 10px;
}

.pageelement-testimonial .content {
  display: flex;
  transition: transform 0.5s ease;
}

.pageelement-testimonial .testimonial-item {
  flex: 0 0 100%;
  padding: 40px 300px;
  box-sizing: border-box;
  text-align: left;
  display: flex;
  flex-flow: column;
  gap: 13px;
  margin: auto;
}

.pageelement-testimonial .testimonial-item .quote {
  font-size: 18px;
  font-style: italic;
  font-weight: normal;
}

.pageelement-testimonial .testimonial-item .source {
  font-size: 20px;
  font-style: italic;
  font-weight: normal;
  color: #FF8B00;
}

.pageelement-testimonial .control-left,
.pageelement-testimonial .control-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  cursor: pointer;
  z-index: 1;
  height: 100%;
  width: 70px;
  transition: opacity 0.5s ease;
}

.control-left.hidden,
.control-right.hidden {
  opacity: 0;
}

.pageelement-testimonial .control-left:before,
.pageelement-testimonial .control-right:before {
  content: '\f054';
  font-family: 'Font Awesome 6 Pro';
  color: #ff8b00;
  font-size: 50px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  left: 50%;
}

.pageelement-testimonial .control-left:before{
  content:'\f053';
}

.pageelement-testimonial .control-left {
  left: 0;
}

.pageelement-testimonial .control-right {
  right: 0;
}

.pageelement-testimonial .nav-dots {
  display: flex;
  gap: 10px;
  margin: auto;
  max-width: 250px;
  width: fit-content;
}


.pageelement-testimonial .nav-dot {
  background: #707070;
  height: 15px;
  width: 15px;
  border-radius: 10px;
  cursor: pointer;
}

.pageelement-testimonial .nav-dot:first-child:last-child {
  display: none;
}

.pageelement-testimonial .nav-dot.active {
  background: #ff8b00;
}

@media only screen and (max-width: 1450px){
  .pageelement-testimonial .testimonial-item {
    padding: 40px 200px;
  }
}

@media only screen and (max-width: 1024px){
  .pageelement-testimonial .testimonial-item {
    padding: 40px 90px;
  }
}

@media only screen and (max-width: 520px){
  .pageelement-testimonial .testimonial-item {
    padding: 40px 20px;
  }

  .pageelement-testimonial .control-left::before,
  .pageelement-testimonial .control-right::before {
    display: none;
  }
}

/*** .teaserbox
******************************************************************/
.pageelement-teaserbox .container {
  display: flex;
  gap: 50px;
}

.pageelement-teaserbox .container .image {
  border-radius: 10px;
  overflow: hidden;
  width: calc(50% - 25px);
}

.pageelement-teaserbox .container .image img{
  object-fit: contain;
  object-position: top;
  height: 100%;
  width: 100%;
}

.pageelement-teaserbox .container .box {
  background: #E5F0F8;
  padding: 30px;
  border-radius: 10px;
  display: flex;
  flex-flow: column;
  width: calc(50% - 25px);
  box-sizing: border-box;
}

.pageelement-teaserbox.highlighted .container .box {
  padding-top: 0;
}

.pageelement-teaserbox .container .box .headline {
  font-size: 22px;
  font-family: 'TheSans';
  font-weight: 700;
  margin-bottom: 15px;
  color: #009CDA;
}

.pageelement-teaserbox .container .box .text {
  font-size: 18px;
  margin-bottom: 40px;
  color: #00377A;
}

.pageelement-teaserbox .container .box .link {
  font-size: 18px;
  color: #FF6347;
  margin-left: auto;
}

.pageelement-teaserbox .container .box .link:before {
  content: '\f061';
  font-family: 'Font Awesome 6 Pro';
  font-size: 20px;
  margin-right: 8px;
  font-weight: 700;
}

.pageelement-teaserbox .container .box .link.extern:before {
  content: '\f08e';
}

@media only screen and (max-width: 1024px){
  .pageelement-teaserbox .container {
    flex-flow: column;
    gap: 20px;
  }

  .pageelement-teaserbox .container .image,
  .pageelement-teaserbox .container .box {
    width: 100%;
  }
  .pageelement-teaserbox.highlighted .container .box {
    padding-left: 0;
  }
}

/*** .membership
******************************************************************/
.pageelement-membership .container {
  display: flex;
  gap: 40px;
}

.pageelement-membership .container .image,
.pageelement-membership .container .box {
  flex: 1;
}

.pageelement-membership .container .image {
  border-radius: 10px;
  overflow: hidden;
}

.pageelement-membership .container .image.link {
  height: fit-content;
}

.pageelement-membership .container .box {
  padding: 0px;
  border-radius: 10px;
  display: flex;
  flex-flow: column;
}

.pageelement-membership .container .box .headline {
  font-size: 22px;
  font-family: 'TheSans';
  font-weight: 700;
  margin-bottom: 15px;
  color: #009CDA;
}

.pageelement-membership .container .box .text {
  font-size: 18px;
  margin-bottom: 30px;
  color: #00377A;
}

.pageelement-membership .container .box .list {
  font-size: 18px;
  margin-bottom: 20px;
  color: #00377A;
}

.pageelement-membership .container .box .list:before {
  content: '\f058';
  font-family: 'Font Awesome 6 Pro';
  font-size: 20px;
  margin-right: 8px;
  font-weight: 700;
}

.pageelement-membership .container .box .link {
  font-size: 18px;
  color: #FF6347;
}

.pageelement-membership .container .box .link:before {
  content: '\f061';
  font-family: 'Font Awesome 6 Pro';
  font-size: 20px;
  margin-right: 8px;
  font-weight: 700;
}

.pageelement-membership .container .box .link.extern:before {
  content: '\f08e';
}

@media only screen and (max-width: 1024px){
  .pageelement-membership .container {
    flex-flow: column;
    gap: 20px;
  }
}


/*** .member-service
******************************************************************/
.pageelement-member-service .container {
  display: flex;
  gap: 40px;
}

.pageelement-member-service .container .links,
.pageelement-member-service .container .box {
  flex: 1;
}

.pageelement-member-service .container .links {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 50px;
  row-gap: 15px;
  height: fit-content;
}

.pageelement-member-service .container .links .link {
  background: #FF6347;
  color: #fff;
  padding: 10px;
  width: calc(50% - 25px);
  box-sizing: border-box;
  border-radius: 5px;
  text-align: center;
}

.pageelement-member-service .container .links .link.intern:after{
  font-family: 'Font Awesome 6 Pro';
  font-weight: 700;
  content: '\f061';
  margin-left: 8px;
}

.pageelement-member-service .container .links .link.extern:after{
  font-family: 'Font Awesome 6 Pro';
  font-weight: 700;
  content: '\f08e';
  margin-left: 8px;
}

.pageelement-member-service .container .box {
  padding: 0px;
  border-radius: 10px;
  display: flex;
  flex-flow: column;
}

.pageelement-member-service .container .box .headline {
  font-size: 22px;
  font-family: 'TheSans';
  font-weight: 700;
  margin-bottom: 15px;
  color: #009CDA;
}

.pageelement-member-service .container .box .text {
  font-size: 18px;
  color: #00377A;
}

@media only screen and (max-width: 1350px){
  .pageelement-member-service .container .links {
    flex-flow: column;
  }

  .pageelement-member-service .container .links .link {
    width: 100%;
    max-width: 600px;
  }
}

@media only screen and (max-width: 1024px){
  .pageelement-member-service .container {
    flex-flow: column;
    gap: 20px;
  }
}

/*** .article
******************************************************************/
.pageelement-articles .container {
  display: flex;
  gap: 40px;
}

.pageelement-articles .container .image,
.pageelement-articles .container .box {
  flex: 1;
}

.pageelement-articles .container .box > .text a {
  color: #FF6347;
}

.pageelement-articles .container .image {
  border-radius: 10px;
  overflow: hidden;
}

.pageelement-articles .container .box {
  padding: 0px;
  border-radius: 10px;
  display: flex;
  flex-flow: column;
  color: #00377A;
}

.pageelement-articles .container .box .headline {
  font-size: 22px;
  font-family: 'TheSans';
  font-weight: 700;
  margin-bottom: 15px;
  color: #009CDA;
}

.pageelement-articles .container .box .text {
  font-size: 18px;
  margin-bottom: 30px;
  color: #00377A;
  max-width: 1000px;
}

.pageelement-articles .container .box .list {
  font-size: 18px;
  margin-bottom: 20px;
  color: #00377A;
}

.pageelement-articles .container .box .list:before {
  content: '\f058';
  font-family: 'Font Awesome 6 Pro';
  font-size: 20px;
  margin-right: 8px;
  font-weight: 700;
}

.pageelement-articles .container .box .item {
  border-bottom: #0071B9 solid 5px;
  padding-top: 30px;
  padding-bottom: 30px;
}

.pageelement-articles .container .box .item:first-child {
  border-top: #0071B9 solid 5px;
}

.pageelement-articles .container .box .item .title {
  font-family: 'TheSans';
  font-weight: 700;
}

.pageelement-articles .container .box .item .title:before {
  content: '\f15b';
  font-family: 'Font Awesome 6 Pro';
  margin-right: 13px;
  font-weight: 700;
}

.pageelement-articles .container .box .item .autor.date {
  margin-left: 27px;
  color: #0071B9;
}

.pageelement-articles .container .box .item .copytext {
  margin-top: 7px;
  max-width: 1000px;
}

.pageelement-articles .container .box .item .copytext a{
  color: #FF6347;
}

.pageelement-articles .container .box .item .download {
  background: #0071B9;
  max-width: 690px;
  display: inline-block;
}

.pageelement-articles .container .box .item .download {
  display: flex;
  color: #fff;
  padding: 13px 24px;
  margin-top: 10px;
}

.pageelement-articles .container .box .item .download:before {
  content: '\f019';
  font-family: 'Font Awesome 6 Pro';
  margin-right: 13px;
  font-weight: 700;
}

.pageelement-articles .container .box .back-link {
  font-size: 18px;
  color: #FF6347;
  margin-top: 30px;
}

.pageelement-articles .container .box .back-link:before {
  content: '\f061';
  font-family: 'Font Awesome 6 Pro';
  font-size: 20px;
  margin-right: 8px;
  font-weight: 700;
}


/*** .contactperson
******************************************************************/
.pageelement-contactperson .headline {
  margin-bottom: 20px;
}

.pageelement-contactperson .content-container {
  display: flex;
  gap: 40px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #ff8c00;
}

.pageelement-contactperson .content-container .left,
.pageelement-contactperson .content-container .right {
  width: 50%;
}

.pageelement-contactperson .content-container .left .image {
  height: 100%;
}

.pageelement-contactperson .content-container .left .image img {
  height: 100%;
  object-fit: cover;
}

.pageelement-contactperson .content-container .right {
  display: flex;
  flex-flow: column;
  font-size: 18px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.pageelement-contactperson .content-container .right .contact {
  margin-top: 45px;
  display: flex;
  flex-flow: column;
  gap: 15px;
}

.pageelement-contactperson .content-container .right .contact .telephone,
.pageelement-contactperson .content-container .right .contact .email,
.pageelement-contactperson .content-container .right .contact .availability {
  display: flex;
  gap: 6px;
}

.pageelement-contactperson .content-container .right .contact .telephone:before {
  content: '\f095';
  font-family: 'Font Awesome 6 Pro';
}

.pageelement-contactperson .content-container .right .contact .email:before {
  content: '\f0e0';
  font-family: 'Font Awesome 6 Pro';
}

.pageelement-contactperson .content-container .right .contact .availability:before {
  content: '\f073';
  font-family: 'Font Awesome 6 Pro';
}

.pageelement-contactperson .container .border-bottom {
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
  margin-top: -1px;
  min-height: 23px;
}

@media only screen and (max-width: 1024px){
  .pageelement-contactperson .content-container .left {
    width: 60%;
  }

  .pageelement-contactperson .content-container .right {
    width: 40%;
  }
}

@media only screen and (max-width: 800px){
  .pageelement-contactperson .content-container {
    flex-flow: column;
    gap: 30px;
  }

  .pageelement-contactperson .content-container .left,
  .pageelement-contactperson .content-container .right {
    width: 100%
  }

  .pageelement-contactperson .content-container .right {
    margin: 0px;
    padding-left: 30px;
    padding-right: 30px;
    box-sizing: border-box;
  }
}

/*** .overviewpages-main
******************************************************************/

.overviewpages-main .overview-item-container {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
}

.overviewpages-main .overview-item-container .overview-item {
  width: calc(33.33% - 17px);
  display: flex;
  flex-flow: column;
}

.overviewpages-main .overview-item-container.width-2 .overview-item {
  width: calc(50% - 13px);
}

.overviewpages-main .overview-item-container.width-1 .overview-item {
  width: 100%;
}

.overviewpages-main .overview-item-container .overview-item .border-top,
.overviewpages-main .overview-item-container .overview-item .border-bottom {
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
  min-height: 23px;
  max-height: 30px;
}

.overviewpages-main .overview-item-container .overview-item .border-top {
  transform: rotate(180deg);
  margin-bottom: -1px;
}

.overviewpages-main .overview-item-container .overview-item .border-bottom {
  margin-top: -1px;
}

.overviewpages-main .overview-item-container .overview-item .container {
  background: #fff;
  border-radius: 10px;
  width: 100%;
  display: flex;
  flex-flow: column;
  gap: 25px;
  box-sizing: border-box;
  height: 100%;
  padding-bottom: 20px;
  overflow: hidden;
}

.overviewpages-main .overview-item-container .overview-item.no-image .container {
  padding-top: 20px;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container {
  flex-flow: row;
  padding-bottom: 0;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container {
  display: flex;
  flex-flow: column;
  gap: 15px;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container {
  padding: 30px 30px 30px 5px;
  align-items: flex-start;
  width: calc(100% - 475px);
}

.overviewpages-main .overview-item-container .overview-item .container .text-container h2 {
  margin-bottom: 0px;
  font-size: 22px;
}
.overviewpages-main .overview-item-container.width-2 .overview-item .container .text-container h2,
.overviewpages-main .overview-item-container.width-3 .overview-item .container .text-container h2 {
  text-align: center;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .link {
  padding: 5px 50px;
  border-radius: 5px;
  max-width: 90%;
  box-sizing: border-box;
  text-align: center;
}

.overviewpages-main .overview-item-container .overview-item .container .text-container .text {
  max-width: 90%;
  padding: 0px 20px;
  box-sizing: border-box;
  text-align: center;
  font-size: 18px;
}

.overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container .text {
  padding: 0;
  text-align: left;
}

@media only screen and (max-width: 1024px) {
  .overviewpages-main .overview-item-container .overview-item .container .text-container .link {
    width: 500px;
  }

  .overviewpages-main .overview-item-container .overview-item,
  .overviewpages-main .overview-item-container.width-2 .overview-item {
    width: 100%;
  }

  .overviewpages-main .overview-item-container.width-1 .overview-item .container {
    flex-flow: column;
    padding-bottom: 20px;
  }

  .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container {
    padding: 0;
    align-items: center;
    width: unset;
  }

  .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container h2,
  .overviewpages-main .overview-item-container.width-1 .overview-item .container .text-container .text {
    padding: 0 20px;
    text-align: center;
  }

}

@media only screen and (max-width: 520px){
  .overviewpages-main .overview-item-container .overview-item .container .text-container .link {
    padding: 8px 35px;
    width: unset;
  }
}


/* contactform */

.pageElement-contactform .box {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 30px;
}

.pageElement-contactform .form-row {
  display: flex;
  flex-flow: column;
}

.pageElement-contactform .form-row .selectbox,
.pageElement-contactform .form-row textarea {
  height: 55px;
  width: 100%;
  border: solid 2px #e0e0e0;
  border-radius: 10px;
  padding: 10px;
  box-sizing: border-box;
  background: #fff;
  font-size: 18px;
}

.pageElement-contactform .form-row textarea {
  min-height: 150px;
}

.pageElement-contactform .form-row input.textbox {
  height: 55px;
  width: 100%;
  border: solid 2px #e0e0e0;
  border-radius: 10px;
  padding: 10px 10px 10px 10px;
  box-sizing: border-box;
  font-size: 18px;
}

.pageElement-contactform .form-row .selectbox {
  background: url('/_images/select.svg') no-repeat #fff;
  background-position-x: 0%;
  background-position-y: 0%;
  background-size: auto;
  background-size: auto;
  background-size: 22px;
  background-position: calc(100% - 10px);
  appearance: none;
}

.pageElement-contactform .link {
  color: #ff8c00;
  padding: 9px 20px;
  width: fit-content;
  min-width: 270px;
  border: 2px #ff8c00 solid;
  border-radius: 5px;
  display: inline-block;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  background: #fff;
}

.pageElement-contactform .link::before {
  content: '\f053';
  font-family: 'Font Awesome 6 Pro';
}

.pageElement-contactform .checkbox-wrapper {
  display: flex;
  gap: 8px;
}


/* pageelement-headline */

.pageelement-headline {
  font-size: 30px;
}

.pageelement-headline.no_margin_bottom {
  margin-bottom: 25px;
}

/* pageelement-button-main */

.pageelement-button-main .button {
  color: #fff;
  font-size: 24px;
  margin-right: auto;
  padding: 8px 20px;
  border-radius: 5px;
  display: inline-block;
  min-width: 300px;
  text-align: center;
  box-sizing: border-box;
  background: #fff;
}

@media only screen and (max-width: 520px){
  .pageelement-button-main .button {
    width: 100%;
    font-size: 20px;
    min-width: unset;
  }
}

/* pageelement-text-simple */

.pageelement-text-simple .container {
  font-size: 18px;
  max-width: 1000px;
}

.pageelement-text-simple .headline {
  margin-bottom: 20px;
}

.pageelement-text-simple .texteditor a {
  color: #ff8c00;
}

/*** job-list, .locations-main
******************************************************************/

.pageelement-job-list .content-container .items {
  border: 2px solid #ff8c00;
  border-radius: 10px;
  background: #fff;
}

.pageelement-job-list .content-container .item {
  padding: 25px 50px 25px 20px;
  border-bottom: 1px solid #707070;
}

.pageelement-job-list .content-container .item:last-child {
  border-bottom: none;
}

.pageelement-job-list .content-container .item .item-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.pageelement-job-list .content-container .item .text-container {
  max-width: 1000px;
}

.pageelement-job-list .content-container .item .button,
.pageelement-job-list .content-container .listpage-button {
  width: 240px;
  min-width: 240px;
  border: 2px solid #ff8c00;
  background: #fff;
  color: #ff8c00;
  text-align: center;
  padding: 8px 20px;
  box-sizing: border-box;
  border-radius: 10px;
}

.pageelement-job-list .content-container .listpage-button {
  display: inline-block;
  margin-top: 25px;
}

.pageelement-job-list .content-container .item .organisation:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f3c5';
}

.pageelement-job-list .content-container .item .organisation {
  margin-bottom: 10px;
  display: flex;
  gap: 10px;
}

.pageelement-job-list .content-container .item .title {
  font-size: 20px;
}

.pageelement-job-list .content-container .item .text {
  font-size: 18px;
}

.pageelement-job-list .more {
  margin-top: 30px;
}

.pageelement-job-list .more a i {
  margin-right: 5px;
  font-style: normal;
}

.pageelement-job-list .more a i.icon-more::before {
  font-family: 'Font Awesome 6 Pro';
  content: "\f32b";
}

@media only screen and (max-width: 800px){
  .pageelement-job-list .content-container .item .item-link {
    flex-flow: column;
    align-items: start;
  }
}

@media only screen and (max-width: 520px){
  .pageelement-job-list .content-container .item .button,
  .pageelement-job-list .content-container .listpage-button {
    min-width: unset;
    max-width: 100%;

  }

  .pageelement-job-list .content-container .listpage-button {

    width: 100%;
  }
}

/* place-list */

.place-list {
  height: auto;
  overflow: hidden;
}

.place-list .container .content {
  display: flex;
  gap: 45px;
}

.place-list .container .headline {
  margin-bottom: 20px;
}



.place-list .container #infobox-maps,
.place-list .container .map-search-container {
  width: 50%;
}

.place-list #openstreetmap-container {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

.place-list .map-search-container {
  width: 50%;
  height: fit-content;
  box-sizing: border-box;
  display: flex;
  flex-flow: column;
  gap: 20px;
  justify-content: center;

}

.place-list .map-search-container .house-search-input {
  height: 71px;
  width: 100%;
  padding-left: 20px;
  font-size: 24px;
  line-height: 33px;
}

.pageelement-place-list .map-search-container .caption {
  background: #EEEEEE;
  border-radius: 10px;
  display: flex;
  gap: 40px;
  justify-content: space-around;
  padding: 5px 10px;
}

.pageelement-place-list .map-search-container .caption .icon{
  display: flex;
  gap: 8px;
}

.pageelement-place-list .map-search-container .educationcenter:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f19d';
}

.pageelement-place-list .map-search-container .secondhand:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f07a';
}

.pageelement-place-list .map-search-container .lunch:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f2e7';
}

.pageelement-place-list .map-search-container .places-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  row-gap: 10px;
  width: 100%;
}

.pageelement-place-list .map-search-container .places-list .place-item {
  width: calc(50% - 10px);
  border: #ff8c00 solid 1px;
  border-radius: 10px;
  padding: 14px 20px;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  gap: 8px;
  align-items: center;
  z-index: 5;
}

.pageelement-place-list .map-search-container .places-list .place-item *:nth-child(2) {
  margin-left: auto;
}

@media only screen and (max-width: 1200px){
  .place-list .container .content {
    flex-flow: column;
  }

  .place-list .container #infobox-maps,
  .place-list .container .map-search-container {
    width: 100%;
  }
}

@media only screen and (max-width: 580px){
  .pageelement-place-list .map-search-container .caption {
    flex-flow: column;
    align-items: center;
    gap: 10px;
  }

  .pageelement-place-list .map-search-container .places-list .place-item {
    width: 100%;
  }
}


/*** pageelement person-double
******************************************************************/

.pageelement-person-double {

}

.pageelement-person-double .headline {
  margin-bottom: 20px;
}

.pageelement-person-double .wrapper {
  display: flex;
  gap: 50px;
}

.pageelement-person-double .person-container {
  background: #E5F0F8;
  width: calc(50% - 25px);
  display: flex;
  border-radius: 10px;
  box-sizing: border-box;
  overflow: hidden;
  color: #00377A;
}

.pageelement-person-double .person-container .image {
  width: 300px;
  min-width: 300px;
}

.pageelement-person-double .person-container .image img {
  width: 100%;
  height: 100%;
  border-radius: 0 10px 10px 0px;
  object-fit: cover;
}

.pageelement-person-double .person-container .content {
  padding: 38px 33px;
  width: 60%;
  box-sizing: border-box;
}

.pageelement-person-double .person-container .content .name {
  font-size: 18px;
  font-family: 'TheSans';
  font-weight: 700;
  hyphens: none;
}

.pageelement-person-double .person-container .content .function {
  font-size: 18px;
}

.pageelement-person-double .person-container .content .text {
  margin-bottom: 10px;
}

.pageelement-person-double .person-container .contact-wrapper {
  display: flex;
  flex-flow: column;
  font-size: 18px;
}

.pageelement-person-double .person-container .content a {
  line-height: 28px;
  width: fit-content;
}

.pageelement-person-double .person-container .content a.email {
  font-family: 'TheSans';
  font-weight: 700;
}

.pageelement-person-double .person-container .content a.email .full {
  display: none;
}

.pageelement-person-double .person-container .postcode {
  margin-bottom: 20px;
}

.pageelement-person-double .person-container .street::before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f3c5';
  margin-right: 11px;
}

.pageelement-person-double .person-container .postcode::before {
  content: '';
  margin-right: 23px;
}

.pageelement-person-double .person-container .content a:before {
  font-family: 'Font Awesome 6 Pro';
  margin-right: 6px;
  font-weight: 100;
}

.pageelement-person-double .person-container .content a.telephone:before {
  content: '\f095';
}

.pageelement-person-double .person-container .content a.email:before {
  content: '\f0e0';
}

.pageelement-person-double .person-container .content a.telefax:before {
  content: '\f1ac';
}

@media only screen and (max-width: 1400px) {
  .pageelement-person-double .wrapper {
    gap: 55px;
    flex-wrap: wrap;
  }

  .pageelement-person-double .person-container {
    width: 100%;
  }
}

@media only screen and (max-width: 725px){
  .pageelement-person-double .person-container {
    flex-flow: column;
  }

  .pageelement-person-double .person-container .content {
    width: 100%;
  }

  .pageelement-person-double .person-container .image {
    align-self: center;
    padding-top: 20px;
    min-width :unset;
    max-width: 300px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }

  .pageelement-person-double .person-container .image img {
    border-radius: 10px;
  }

}

@media only screen and (max-width: 520px){
  .pageelement-person-double .person-container .content {
    width: 100%;
    padding: 20px;
  }

  .pageelement-person-double .person-container .content a.email .abbreviation {
    display: inline;
  }

  .pageelement-person-double .person-container .content a.email .full {
    display: none;
  }
}




#event-list-container .spinner {
  width: 100px;
  height: 100px;
  border: 10px solid rgb(230, 230, 230);
  border-top: 10px solid #ff8c00;
  border-radius: 50%;
  animation: loading-offer-list 1s linear infinite;
  margin-left: calc(50% - 75px);
}

#event-list-container .noresults {
  padding-bottom: 30px;
}

@keyframes loading-offer-list {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.events-calendarlist .calenderlist-groupheadline {
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  margin-top: 20px;
  padding-top: 10px;
}

.events-calendarlist .grouplist {
  list-style-type: none;
  padding: 0;
  display: block;
  margin-bottom: 30px;
}

.events-calendarlist .grouplist li {
  margin-bottom: 10px;
  box-sizing: border-box;
  overflow: hidden;
}

.events-calendarlist .grouplist li .nolink {
  background-color: #fff;
  padding: 15px 20px;
}


/* *** local events *** */

.events-calendarlist .grouplist .topline {
  margin-bottom: 5px;
  color: #1E4231;
  display: inline-block;
  font-size: 14px;
}

.events-calendarlist .grouplist li {
  position: relative;
}

.events-calendarlist .grouplist .localtag {
  position: absolute;
  top: 5px;
  right: 10px;
  padding: 10px 20px 10px 20px;
  background-color: #FEF7E5;
  text-align: center;
}

.events-calendarlist .grouplist a:hover .localtag {
  background-color: #74B841;
  color: #FFFFFF;
}

.events-calendarlist .grouplist h3 {
  clear: both;
}

.events-calendarlist .grouplist li.local a,
.events-calendarlist .grouplist li.local div.nolink {
  /*background-color: #FFFFF5;*/
  /*color: #576471;*/
}

.events-calendarlist .grouplist li.local a h3,
.events-calendarlist .grouplist li.local div.nolink h3,
.events-calendarlist .grouplist li.local a .text,
.events-calendarlist .grouplist li.local div.nolink .text {
  /*color: #576471;*/
}

.events-calendarlist .grouplist li.local a:hover {
  /*color: #74B841;*/
  /*background-color: #FEF7E5;*/
}

.events-calendarlist .grouplist li.local a:hover h3,
.events-calendarlist .grouplist li.local a:hover .text {
  /*color: #74B841 !important;*/
}



/*** .events-calendarlist RESPONSIVE
******************************************************************************* */

/*** .pageelement-events-detail-main
******************************************************************************* */
.pageelement-events-detail-main {

}

.pageelement-events-detail-main > .container {
  background: #fff;
  padding: 50px 30px;
  border: 2px solid #ff8c00;
  border-radius: 10px;
  display: flex;
  gap: 100px;
}

.pageelement-events-detail-main .events-detail-info-container {
  width: 430px;
  min-width: 430px;
}

.pageelement-events-detail-main .events-detail-info-container .image {
  border-radius: 10px;
  overflow: hidden;
}

.pageelement-events-detail-main .events-detail-main-container .text {
  margin-bottom: 20px;
}

.pageelement-events-detail-main .events-detail-main-container .text h3,
.pageelement-events-detail-main .events-detail-info-container h3 {
  font-size: 20px;
  color: #ff8c00;
}

.pageelement-events-detail-main .events-detail-info-container .downloads-info.infobox,
.pageelement-events-detail-main .events-detail-info-container .textbox.infobox,
.pageelement-events-detail-main .events-detail-info-container .text-image-info {
  margin-top: 25px;
}

.pageelement-events-detail-main .events-detail-info-container > :first-child {
  margin-top: 0px;
}

 .pageelement-events-detail-main .events-detail-info-container .downloads-info.infobox .download-link::before {
   font-weight: 100;
   content: "\f56d";
   color: #ff8c00;
 }

.pageelement-events-detail-main .events-detail-main-container .text a {
  color: #ff8c00;
}

.pageelement-events-detail-main .info-box {
  background: #E4E4E4;
  padding: 30px 20px;
  border-radius: 10px;
}

.pageelement-events-detail-main .events-detail-main-container .info-box .section {
  margin-bottom: 20px;
}

.pageelement-events-detail-main .events-detail-main-container .info-box .section:last-child {
  margin-bottom: 0px;
}

.pageelement-events-detail-main .events-detail-main-container .info-box .title {
  margin-bottom: 10px;
}

.pageelement-events-detail-main .events-detail-info-container .mail,
.pageelement-events-detail-main .events-detail-info-container .phone,
.pageelement-events-detail-main .events-detail-info-container .text {
  margin-bottom:10px;
  display: block;
  display: flex;
  gap: 8px;
}

.pageelement-events-detail-main .events-detail-info-container .mail:before {
  color: #ff8c00;
  content: '\f0e0';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
}

.pageelement-events-detail-main .events-detail-info-container .phone:before {
  color: #ff8c00;
  content: '\f095';
  font-family: 'Font Awesome 6 Pro';
  font-weight: 900;
}

.pageelement-events-detail-main .events-detail-info-container > :last-child {
  margin-bottom: 0px;
}

.pageelement-events-detail-main .events-detail-main-container .info-box .link {
  color: #ff8c00;
}

.pageelement-events-detail-main .events-detail-info-container .infobox.text-image-info {
  display: flex;
  flex-flow: column;
  gap: 5px;
}

.pageelement-events-detail-main .events-detail-info-container .infobox.text-image-info img {
  border-radius: 10px;
}

.pageelement-events-detail-main .button.button-back.link-back {
  border: solid 2px #ff8c00;
  margin-top: 40px;
  display: inline-block;
  padding: 8px 40px;
  border-radius: 10px;
  color: #ff8c00;
  box-sizing: border-box;
  background: #fff;
}

.pageelement-events-detail-main .button.button-back.link-back:before {
  content: '\f053';
  font-family: 'Font Awesome 6 Pro';
  margin-right: 10px;
  display: inline-block;
}

/* accordion-small */
.pageelement-accordion.no-margin {
  margin-bottom: 10px;
}

.pageelement-accordion .container {
  color: #fff;
  overflow: hidden;
  margin-bottom: 10px;
}

.pageelement-accordion .container:last-child {
  margin-bottom: 0px;
}

.pageelement-accordion .container .head {
  background: #449CDB;
  cursor: pointer;
}

.pageelement-accordion .container .head .text {
  display: flex;
  max-width: 1000px;
  padding: 17px 20px;
  box-sizing: border-box;
  font-family: 'TheSans';
  font-weight: 700;
}

.pageelement-accordion .container .head .text:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f054';
  margin-right: 20px;
  transition: .5s transform ease-in-out;
  transform: rotate(0deg);
  height: 20px;
}

.pageelement-accordion .container .head .text.open:before {
  font-family: 'Font Awesome 6 Pro';
  font-weight: 700;
  content: '\f054';
  margin-right: 20px;
  transition: .5s transform ease-in-out;
  transform: rotate(-90deg);
}

.pageelement-accordion .accordion {
  display: none;
  background: #0071B9;
  border-top: none;
  color: #fff;
}

.pageelement-accordion .accordion .content {
  max-width: 1000px;
  padding: 10px 50px 30px;
  box-sizing: border-box;
}

.pageelement-accordion .accordion .content a{
  color: #FF6347;
}

.pageelement-accordion .texteditor h2,
.pageelement-accordion .texteditor h3 {
  color: #fff;
}

@media only screen and (max-width: 1024px){
  .pageelement-events-detail-main > .container {
    flex-flow: column;
    gap: 50px;
  }
}

@media only screen and (max-width: 800px){
  .pageelement-events-detail-main .events-detail-info-container {
    width: unset;
    max-width: 100%;
    min-width: unset;
  }
}

@media only screen and (max-width: 520px) {
  .pageelement-accordion .accordion .content {
    padding: 10px 25px 30px 50px;
  }

  .pageelement-accordion .container {
    max-width: 100%;
  }

  .pageelement-accordion .accordion {
    max-width: 100%;
  }

  .pageelement-accordion .margin-box .content {
    max-width: 100%;
  }

}

/*****************************************************************
**** Module Search
******************************************************************/

/* ********** search-main ********** */
.search-main {
  width: 100%
}

.search-main .searchresult-header {
  margin-bottom: 30px;
  font-size: 18px;
}

.search-main .searchresult-header .keyword {
  font-weight: 700
}

.search-main .searchresult-group {
  margin-bottom: 30px;
  width: 100%
}

.search-main .searchresult-group .searchresult-header:before {
  font-family: 'Font Awesome 6 Pro', sans-serif;
  font-weight: 900;
  content: '\f107';
  display: inline-block;
  margin-right: 10px;
  font-size: 22px;
  -webkit-transition: ease-in-out .3s;
  -o-transition: ease-in-out .3s;
  transition: ease-in-out .3s;
}

.search-main .searchresult-group .searchresult-header.active:before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.search-main .searchresult-group .searchresult-header {
  font-size: 21px;
  color: #ff8c00;
  display: block;
  border-bottom: 1px solid #1e4230;
  margin-bottom: 15px;
  padding: 0 0 10px 17px;
  cursor: pointer;
}

.search-main .searchresult-group .searchresult-header.active {
  background-position: left -47px
}

.search-main .searchresult-list {
  display: none
}

.search-main .searchresult-list ul {
  display: inline
}

.search-main .searchresult-item {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #706F6F;
  display: block;
  width: 100%;
  float: none;
}

.search-main .searchresult-link {
  font-size: 18px;
  cursor: pointer;
  font-weight: bold;
  color: #ff8c00;

}

.search-main .searchresult-item .fontsize-small {
  font-size: 14px;
}
.search-main .searchresult-item .keyword {
  font-weight: 700
}

.search-main .searchresult-item .date {
  font-size: 12px;
  line-height: 14px;
  margin-bottom: 5px
}

.search-main .searchresult-group .header::before {
  font-family: "Font Awesome 6 Pro", sans-serif;
  color: #ff8c00;
}

.pageelement-search-main form {
  position: relative;
}

.pageelement-search-main .search-input {
  width: 500px;
  height: 35px;
  margin-top: 18px;
  font-size: 22px;
  padding: 5px 10px;
  box-sizing: border-box;
  max-width: 100%;
}

.search-main input {
  margin-top: 10px;
  height: 35px;
  width: 500px;
  max-width: 100%;
  font-size: 18px;
  padding: 5px 10px;
  box-sizing: border-box;
}
