.ce-headline-left {
  text-align: left;
}
.ce-headline-center {
  text-align: center;
}
.ce-headline-right {
  text-align: right;
}

.ce-left {
  text-align: left;
}
.ce-center {
  margin: 0 auto;
  text-align: center;
}
.ce-right {
  text-align: right;
}

@media screen and (max-width: 992px) {
  .card--division picture {
    order: 0;
  }
  .card--division .card-body {
    order: 1;
  }
}
.ce-row {
  display: flex;
  flex-wrap: wrap;
}

.ce-gallery[data-ce-columns="1"] .ce-column {
  width: 100%;
}

.ce-gallery[data-ce-columns="2"] .ce-column {
  width: 100%;
}
@media screen and (min-width: 450px) {
  .ce-gallery[data-ce-columns="2"] .ce-column {
    width: 50%;
  }
}

.ce-gallery[data-ce-columns="3"] .ce-column {
  width: 100%;
}
@media screen and (min-width: 450px) {
  .ce-gallery[data-ce-columns="3"] .ce-column {
    width: 33%;
  }
}

.ce-gallery[data-ce-columns="4"] .ce-column {
  width: 100%;
}
@media screen and (min-width: 450px) {
  .ce-gallery[data-ce-columns="4"] .ce-column {
    width: 25%;
  }
}

.ce-image--fullwidth img {
  width: 100%;
  object-fit: cover;
}

.indented {
  padding-top: min(40px, 3.5%);
  padding-bottom: min(72px, 5.5%);
}

.img-responsive {
  width: 100%;
}

body .bg-white a.btn-dark {
  color: #fff;
}

.teaser-news .teaser-media .news-img-wrap img {
  position: relative;
  grid-area: media;
  overflow: hidden;
  transition: all 0.425s ease;
  width: 100%;
  height: auto;
}

.bg-division {
  background-color: var(--current-division) !important;
}

.image-caption {
  text-align: left;
}

.section-ki .card--person p.card-text {
  color: var(--bs-teal);
}

.section-software .card--person p.card-text {
  color: var(--bs-blue);
}

.section-mis .card--person p.card-text {
  color: var(--bs-purple);
}

.section-fe .card--person p.card-text {
  color: #fff;
}

.ce-div.div--small {
  margin: 2px 0;
}

.frame {
  padding-top: clamp(3rem, 10vmin, 90px);
  padding-bottom: clamp(3rem, 10vmin, 90px);
}

.frame-space-before-small {
  padding-top: min(40px, 3.5%);
}

.frame-space-after-small {
  padding-bottom: min(40px, 3.5%);
}

.frame-space-before-big {
  padding-top: clamp(4.5rem, 12vmin, 115px);
}

.frame-space-after-big {
  padding-bottom: clamp(4.5rem, 12vmin, 115px);
}

.frame-space-before-none {
  padding-top: 0 !important;
}

.frame-space-after-none {
  padding-bottom: 0 !important;
}

.fancybox__powermail__container img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.hero::before {
  background-image: url("/img/dummy/glow.png");
}

@media (min-width: 443px) {
  .frame-space-before-contactperson + p {
    padding-left: calc(115px + 1.5rem);
  }
}
/* @todo remove page.headerData.983931 from typoscript */
.list-keyfact {
  grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
}

/*.carousel--news2 .carousel__nav{*/
/*    position:absolute;*/
/*    width: 100%;*/
/*    height: calc(100% - 2.75rem - 21px);*/
/*}*/
.carousel--news2 .carousel__button.is-next {
  position: absolute !important;
  right: -21px !important;
}

.carousel--news2 .carousel__button.is-prev {
  position: absolute !important;
  left: -21px !important;
}

.carousel--news2 .carousel__button {
  width: 42px;
  height: 42px;
}

.teaser-product .teaser-media img {
  height: auto;
}

.striking-text {
	font-size: 42px;
	line-height: 1.857142857;
}
[style*="font-size:62px"],
[style*="font-size: 62px"] {
	line-height: 1.032258065;
}

@media screen and (max-width: 768px) {
	.striking-text {
		font-size: 25px;
		line-height: 1.92;
	}
	[style*="font-size:62px"],
	[style*="font-size: 62px"] {
		font-size: 25px !important;
		line-height: 1.08;
	}
}

.frame-type-mask_text_image_card .text-fade .card-body,
.frame-type-mask_text_image_teaser .text-fade .header-section__content,
.text-fade .container__header,
.text-fade .ce-bodytext {
	animation-duration: .8s;
}
html:not(.no-js) .frame-type-mask_text_image_card .text-fade:not(.element-seen) .card-body,
html:not(.no-js) .frame-type-mask_text_image_teaser .text-fade:not(.element-seen) .header-section__content,
html:not(.no-js) .text-fade:not(.element-seen) .container__header,
html:not(.no-js) .text-fade:not(.element-seen) .ce-bodytext {
	animation: none;
	opacity: 0;
}
html:not(.no-js) .frame-type-mask_text_image_card .text-fade.element-seen .card-body,
html:not(.no-js) .frame-type-mask_text_image_teaser .text-fade.element-seen .header-section__content,
html:not(.no-js) .text-fade.element-seen .container__header,
html:not(.no-js) .text-fade.element-seen .ce-bodytext {
	animation-name: text-fade-in-top-bottom;
	transform: translateY(-50px);
	animation-fill-mode: forwards;
	/*animation-timing-function: cubic-bezier(.67,.04,.41,1);*/
	/*animation-timing-function: cubic-bezier(.52,.26,.21,1);*/
	/*animation-timing-function: cubic-bezier(.83,.17,.5,.86);*/
	animation-timing-function: cubic-bezier(.33,.07,.08,1.02);
}

@keyframes text-fade-in-top-bottom {
	0%   {
		opacity: 0;
	}
	/* 5 frames */
	15%  {
		opacity: 0;
	}
	/* 15 frames */
	60%  {

	}
	/* 20 frames */
	75%  {
		transform: translateY(5px);
	}
	/* 25 frames */
	100%  {
		opacity: 1;
		transform: translateY(0);
	}
}
