.frame-space-before-extra-small{
  padding-top: 1vw;
  margin-top: 0;
}
.frame-space-after-extra-small{
  padding-bottom: 1vw;
  margin-bottom:0;
}
.frame-space-before-small{
  padding-top: 3vw;
  margin-top: 0;
}
.frame-space-after-small{
  padding-bottom: 3vw;
  margin-bottom:0;
}
.frame-space-before-medium {
  padding-top: 6vw;
  margin-top: 0;
}
.frame-space-after-medium {
  padding-bottom: 6vw;
  margin-bottom:0;
}
.frame-space-before-large{
  padding-top: 8vw;
  margin-top: 0;
}
.frame-space-after-large{
  padding-bottom: 8vw;
  margin-bottom:0;
}
.frame-space-before-extra-large {
  padding-top: 20vw;
  margin-top: 0;
}
.frame-space-after-extra-large {
  padding-bottom: 20vw;
  margin-bottom:0;
}
.frame-layout-1 {
  padding-left:5%;
  padding-right:5%;
}
.frame-layout-2 {
  padding-left:10%;
  padding-right:10%;
}
.frame-layout-3 {
  padding-left:15%;
  padding-right:15%;
}
.frame-layout-4 {
  padding-left:25%;
  padding-right:25%;
}
.frame-dark-bg {
    background: #596670;
    color:#fff;
}
.frame-light-bg {
    background: #E8EAEC;
    color:#596670;
}
.image-embed-item {
	max-width: 100%;
	height: auto;
}
.ce-image.ce-center .image,
.ce-textpic.ce-center .image {
	justify-content: center;
	display: flex;
}
b, strong {
	font-weight: 600;
}
h1{
  font-size:2em;
}
h2{
  font-size:2em;
}
h3{
  font-size:1.25em;
}
h1, h2, h3{
  color:#65CCC9;
    font-weight:300;
}
.frame header h1, .frame header h2, .frame header h3 {
	font-weight: 600;
}

.splittext p {
	column-count: 2;
}
.lead {
    border: 4px solid #65ccc9;
    padding: 2em;
    font-size: 18px;
    color: #65ccc9;
    margin-top: 25px;
    margin-bottom: 25px;
    display: block;
}
.lead::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 50px;
    background: url('../elements/icon_info.svg');
    margin-top: -63px;
    display: inline-block;
    margin-left: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position-x: center;
}
main .frame .image{
  margin-bottom:0;
}
main .frame a {
	color: inherit;
	text-decoration: none;
}
main .frame-light-bg p a, main .frame-light-bg li a {
	color: #65CCC9;
}
main .frame a:hover, footer a:hover {
	text-decoration: underline;
}
main .frame ul {
  padding-left:0;
}
main .frame li {
    list-style-type: none;
    background: url('../elements/aufzaehlung_check.svg');
    background-repeat: no-repeat;
    background-position: 0px 4px;
    padding-left: 30px;
    background-size: 24px 20px;
    margin-bottom: 5px;
}
.imgcrop {
	display: flex;
	justify-content: center;
	align-items: end;
}
.imgcrop .image .image-embed-item {
	height: 100%;
	object-fit: contain;
	width: 100%;
	max-height: 450px;
	object-position: center;
}
.box-leistung > .frame {
	background: #E8EAEC;
	position: relative;
}
.box-leistung > .frame .ce-textpic::before {
	content: '';
	display: block;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	position: absolute;
	border: 4px solid #65CCC9;
	margin: 15px;
}
.box-leistung .ce-bodytext {
	z-index: 3;
	position: relative;
	padding: 30px 30px 0;
	font-size: 0.75em;
	line-height: 1.2;
}
.box-leistung h4, .box-team h4 {
    color:#5b6770;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.25rem;
	font-weight: 600;
	margin-top: 10px;
}
.box-leistung h2 {
	font-weight: 700;
	text-transform: uppercase;
    font-size:2rem;
  line-height:1.1;
}

.box-leistung h4::after, .box-team h4::after{
  content: '';
  width: 25px;
  height: 1px;
  background-color: #5b6770;
  display: block;
  margin-top: 10px;
}

.box-leistung .ce-bodytext a {
	padding: 4px 9px;
	background: #5b6770;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.25rem;
	color: #fff;
	position: relative;
	z-index: 4;
	text-decoration: none;
	display: inline-block;
	margin-bottom: 0;
}
.box-leistung .ce-bodytext a:hover{
  text-decoration:none;
}
.box-team {
  border: 4px solid #E8EAEC;
}
.box-team .ce-bodytext{
  padding: 40px;
}
.box-team h2 {
	font-weight: 700;
	text-transform: uppercase;
    font-size:1.4rem;
  line-height:1.1;
  color: #5b6770;
}

/* ==========================================================
   ACCORDION
   ========================================================== */

.accordion {
    margin-bottom: 0;

    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
}

.accordion-item {
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none;
}

.accordion-item:first-child,
.accordion-item:last-child,
.accordion-item:first-of-type,
.accordion-item:last-of-type {
    border-radius: 0 !important;
}

/* Abstand zwischen den einzelnen Accordions */
.accordion-item + .accordion-item {
    margin-top: 15px;
}


/* ==========================================================
   HEADER
   ========================================================== */

.accordion-header {
    margin: 0;
    padding: 0;
    font-size: 1rem;
}

.accordion-button {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 15px 20px;

    color: #65ccc9;
    background-color: #5b6770;

    border: 0 !important;
    border-top: 1px solid #65ccc9 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size:1.5rem;
    line-height: 1;
    text-align: left;
}

.accordion-button:hover,
.accordion-button:focus,
.accordion-button:active {
    color: #65ccc9;
    background-color: #5b6770;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    color: #65ccc9;
    background-color: #5b6770;
    border-radius: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================
   PFEIL
   ========================================================== */

.accordion-button::after {
    width: 25px;
    height: 25px;

    margin-left: auto;

    background-image: url("../elements/akk_arr_right.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    transform: none;

    display: inline-block;

    right: 20px;
    position: absolute;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("../elements/akk_arr_down.svg");
    transform: none;
}


/* ==========================================================
   INHALT
   ========================================================== */

.accordion-collapse {
    border: 0 !important;
    border-radius: 0 !important;
}

.accordion-body {
    padding: 20px;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent;
}

.ce-accordion-body {
    padding: 20px;
    border: 0 !important;
    border-radius: 0 !important;
}

.ce-accordion-body .frame {
 
}

.ce-accordion-body h2 {
    color: #65ccc9;
    font-size: 24px;
    font-weight: 600;
    text-transform: unset;
}

.box-contact {
	position: relative;
}
.box-contact::before {
	display: block;
	content: '';
	border: 4px solid #65CCC9;
	position: absolute;
	bottom: 0;
	width: calc(100% - 24px);
	height: 60%;
}

.box-contact .image-embed-item {
	z-index: 2;
	margin-bottom: 4px;
	max-width: 85%;
}
.box-contact .middle, .box-contact .right {
	align-items: end;
	display: flex;
}
.box-contact h2 {
	font-size: 1.6rem;
  line-height:1.4;
  margin-bottom:0;
}
.box-contact p {
	font-size: 1.2rem;
    margin-bottom:0;
}
.box-contact .middle .frame, .box-contact .right .frame  {
	height: 60%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 2;
}
.box-contact .phone {
	background-image: url('../elements/telefon_icon.svg');
	background-repeat: no-repeat;
	background-size: contain;
	color: inherit;
	text-decoration: none;
}
.phone span {
	padding-left: 50px;
}
.bewertung h4 {
	color: #65ccc9;
	width: 100%;
	text-align: center;
	border-bottom: 1px dotted #65ccc9;
	line-height: 0.1em;
	margin: 40px 0 20px;
}
.bewertung h4 small {
	background: #596670;
	padding: 0 10px;
}
footer a{
  text-decoration:none;
  color:#65ccc9;
}
footer tr {
	border: 0;
}
footer .table {
	margin-bottom: 0;
}
footer .right .frame, footer .middle .frame {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.arrtop {
	background: #5b6770 none repeat scroll 0 0;
	padding: 30px 0 5px;
	text-align: center;
	cursor: pointer;
}
.texttop {
	background: #5b6770 none repeat scroll 0 0;
	color: #88969f;
	font-size: 20px;
	padding-bottom: 25px;
	text-align: center;
}