/* WuW Theme - Cubera Solutions AG - License: GNU General Public License v2 or later */

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

html, body, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: 'Lexend Deca', sans-serif;
	font-style: normal;
	font-size: 16px;
	line-height: 32px;	
	margin: 0;
	outline: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
	color: #07284C;
  background: #F0F2F6;
}

div {
	outline: 0;
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
}

body {
	overflow-x: hidden;
	background-color: inherit !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body.noscroll {
	padding-right: 17px;
}

html.noscroll,
body.noscroll {
  position: relative;
  height: 100%;
  overflow: hidden;
}

#mobileDetector,
#landscape,
#portrait {
    display: none;
}

@media (max-width: 844px) and (orientation: landscape), (max-width: 414px) and (orientation: portrait) {
	
	#mobileDetector {
		display: block;
	}
	
}

@media only screen and (orientation: landscape) {

	#landscape {
		display: block;
	}
	
}

@media only screen and (orientation: portrait) {

	#portrait {
		display: block;
	}
	
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}

/* =================== Typography =================== */
h1, h2 {
  font-size: 22px;
  line-height: 36px;
}

h3 {
  font-size: 20px;
  line-height: 36px;
}

h4 {
  font-size: 18px;
  line-height: 36px;
}

ul, ol {
  padding: 18px 0;
  padding-left: 16px;
}

@media only screen and (min-width: 1024px) {
  
  h1, h2 {
    font-size: 32px;
    line-height: 51px;
  }
  
  h3 {
    font-size: 24px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  h4 {
    font-size: 15px;
    line-height: 28px;
  }
  
}

/* =================== Layout =================== */
.nav-helper {
  display: none;
  position: absolute;
  width: 32px;
  right: 25px;
  top: 0;
  border: 1px solid #000;
  z-index: 10;
}

.nav-helper-item {
  border-bottom: 1px solid #000;
  background: #F0F2F8;
}

.nav-helper-item.dark {
  background: #07284C;
}

.nav-helper-item.white {
  background: #FFF;
}

.section-height-helper {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: transparent;
  z-index: 1;
}

.section-height-helper.top {
  top: 0;
}

.anschnitt-top .section-height-helper.top {
  top: calc(100px - 0.07 * 50vw);
}

.documents-block-section.anschnitt-top .section-height-helper.top {
  top: calc(-200px + (0.07 * 50vw));
}

.footer-menu .section-height-helper.top {
  top: calc(0.07 * 50vw - 25px);
}

.section-height-helper.bottom {
  bottom: 0;
}

.anschnitt-bottom .section-height-helper.bottom {
  bottom: calc(100px + 0.07 * 50vw);
}

.footer-contact .section-height-helper.bottom {
  bottom: calc(25px - 0.07 * 50vw);
}

.grid-wrapper {
  display: none;
  position: fixed;
  left: 50%;
  width: 100%;
  max-width: 1315px;
  height: 100vh;
  margin: 0 auto;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 1000;
}

.grid-wrapper .grid-row {
  float: left;
  width: calc(100% / 12);
  height: 100%;
  padding: 0 25px;
}

.grid-wrapper .grid-row > div {
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.page-wrapper {
  position: relative;
}

section {
  position: relative;
  overflow: hidden;
  margin-top: 135px;
}

section.imagetextpng-block-section {
  overflow: visible;
}

section.last-section {
  padding-bottom: 200px;
}

section.last-section[data-section-bg="dark"] {
  padding-bottom: 0;
}

section.last-section[data-section-bg="white"] {
  padding-bottom: 0;
  margin-bottom: 200px;
}

.full-wrapper {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.outer-wrapper {
  width: 100%;
  max-width: 1315px;
  margin: 0 auto;
  padding: 0 25px;
}

.flex-stretch {
  flex-grow: 1;
}

@media only screen and (min-width: 1024px) {
  
  .nav-helper {
    width: 32px;
    right: 135px;
  }
  
  section {
    margin-top: 200px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
  
  .references-block-section .anschnitt-top .section-height-helper.top {
    top: 0;
  }
  
  .references-block-section .anschnitt-bottom .section-height-helper.bottom {
    bottom: 0;
  }
  
  .footer-contact .section-height-helper.bottom {
    bottom: calc(0px - 0.07 * 50vw);
  }
  
  .footer-menu .section-height-helper.top {
    top: calc(0.07 * 50vw);
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  section {
    margin-top: 100px;
  }
  
  section.last-section {
    padding-bottom: 100px;
  }
  
  section.last-section[data-section-bg="dark"] {
    padding-bottom: 0;
  }

  section.last-section[data-section-bg="white"] {
    padding-bottom: 0;
    margin-bottom: 100px;
  }
  
  .anschnitt-bottom .section-height-helper.bottom {
    bottom: calc(50px + 0.07 * 50vw);
  }
  
  .documents-block-section.anschnitt-top .section-height-helper.top {
    top: calc(-80px + (0.07 * 50vw));
  }
  
  .documents-block-section.anschnitt-bottom .section-height-helper.bottom {
    bottom: calc(-50px + 0.07 * 50vw);
  }
  
  .imagetext-block-section.anschnitt-bottom .section-height-helper.top {
    top: calc(0.07 * 50vw + 50px);
  }
  
  .imagetext-block-section.anschnitt-bottom .section-height-helper.bottom {
    bottom: 0;
  }
  
  .imagetext-block-section.anschnitt-top .section-height-helper.top,
  .video-block-section.anschnitt-top .section-height-helper.top {
    top: calc(50px - 0.07 * 50vw);
  }
  
  .footer-contact .section-height-helper.bottom {
    bottom: calc(-20px - 0.07 * 50vw);
  }
  
  .footer-menu .section-height-helper.top {
    top: calc(0.07 * 50vw - -20px);
  }
  
}

.cky-notice .cky-title {
  display: none;
}

.cky-notice-des *,
.cky-preference-content-wrapper *,
.cky-accordion-header-des *,
.cky-gpc-wrapper .cky-gpc-desc * {
  font-size: 16px !important;
}

.cky-notice-btn-wrapper .cky-btn {
  font-size: 16px !important;
  border: 0;
  font-weight: 700 !important;
}

/* =================== Navigation : Temp =================== */
.navigation {
  position: fixed;
  width: 100%;
  height: 100px;
  top: 0;
  right: 0;
  z-index: 99;
  cursor: pointer;
  transition: transform 0.3s;
  transform: translateY(0);
}

.navigation.alt {
  transition: transform 0.3s, background 0.3s;
  background: rgba(7, 40, 76, 0);  
}

.navigation.nav-up {
  transform: translateY(-235px);
}

.navigation.alt.nav-up {
  transform: translateY(-100px);
}

.navigation:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 60px;
  left: -5%;
  padding-bottom: 240px;
  background: rgba(7, 40, 76, 0);
  transition: background 0.3s;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.navigation.alt:after {
  content: none;
}

.navigation.has-bg:after {
  background: rgba(7, 40, 76, 1); 
}

.navigation.alt.has-bg {
  background: rgba(7, 40, 76, 0.8); 
}

.navigation .content {
  display: flex;
  justify-content: space-between;
}

.navigation .company-logo {
  position: relative;
  top: 0;
  left: 0;
  margin: 40px 0;
}

.navigation.alt .company-logo {
  position: relative;
  top: 0;
  left: 0;
  margin: 20px 0;
}

.navigation .menu-hamburger {
  position: relative;
  top: 0;
  right: 0;
  margin: 34px 0;
}

.navigation .menu-hamburger svg * {
  stroke: #FFF !important;
}

.navigation .menu-hamburger:after {
  content: none;
}

/* =================== Navigation =================== */
.company-logo {
  position: fixed;
  top: 60px;
  left: 25px;
  width: 60px;
  height: 60px;
  background-image: url(images/wwimmo_Logo_c.png);
  background-size: contain;
  z-index: 99;
  transition: transform 0.3s;
  transform: translateY(0);
}

.company-logo.nav-up {
  transform: translateY(-195px);
}

.company-logo a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.menu-hamburger {
  position: fixed;
  width: 32px;
  height: 32px;
  top: 60px;
  right: 67px;
  z-index: 99;
  cursor: pointer;
  transition: transform 0.3s;
  transform: translateY(0);
}

.menu-search {
  position: fixed;
  width: 32px;
  height: 32px;
  top: 60px;
  right: 25px;
  z-index: 99;
  cursor: pointer;
  transition: transform 0.3s;
  transform: translateY(0);
}

.menu-hamburger.nav-up,
.menu-search.nav-up {
  transform: translateY(-167px);
}

.menu-search svg {
	padding: 4px;
	fill: white;
	transition: fill 0.3s;
}

.menu-hamburger svg * {
  transition: stroke 0.3s;
}

.menu-hamburger.light svg *,
.menu-hamburger.white svg * {
  stroke: #07284C;
}

.menu-hamburger svg * {
  stroke: #FFF;
}

.menu-search.light svg,
.menu-search.white svg {
	fill: #07284C;
}

.menu-hamburger:after,
.menu-search:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left: 0;
  background-color: rgba(7, 40, 76, 0.8);
  transition: background-color 0.3s;
  z-index: -1;
}

.menu-hamburger.light:after,
.menu-search.light:after {
  background: rgba(240, 242, 248, 0.8);
}

.menu-hamburger.white:after,
.menu-search.white:after {
  background: rgba(255, 255, 255, 0.8);
}

#fs-menu-overlay {
  opacity: 0;
  position: fixed;
  width: 100vw;
  height: 0;
  background: rgba(7, 40, 76, 0.95);
  z-index: 1000000;
  transition: opacity 0.3s;
  overflow: hidden;
}

#fs-menu-overlay.show-overlay {
  height: calc(var(--vh, 1vh) * 100);
  opacity: 1;
}

.close-fs-menu-overlay {
  position: absolute;
  top: 60px;
  right: 25px;
  width: 32px;
  height: 32px;
  background-image: url(images/close.svg);
  background-position: center;
  background-size: 26px 26px;
  cursor: pointer;
}

.logo-fs-menu-overlay {
  position: absolute;
  top: 60px;
  left: 25px;
  width: 60px;
  height: 60px;
  background-image: url(images/wwimmo_Logo_c.png);
  background-size: contain;
}

.logo-fs-menu-overlay a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.fs-menu-overlay-wrapper {
  display: flex;
  height: 100%;
  width: calc(100% - 50px);
  padding: 0;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}

.menu-sections,
.menu-sub-sections {
  width: calc(50% - 25px);
}

.mobile-menu-sections,
.fs-mobile-menu-overlay-footer {
  display: none;
}

.overlay-menu-main {
  padding: 0;
}

.overlay-menu-main li a {
  display: inline-block;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 48px;
  line-height: 51px;
  margin: 30px 0;
  transition: color 0.3s;
}

.overlay-menu-main li a.active,
.overlay-menu-main li a:hover {
  color: rgba(255, 255, 255, 1);
}

.menu-sub-section {
  display: none;
}

.menu-sub-section.active {
  display: block;
}

.menu-sub-section-name {
  color: rgba(255, 255, 255, 0.4);
  font-size: 18px;
  font-weight: 700;
}

.menu-sub-section-item {
  display: flex;
}

.menu-sub-section-item a {
  display: inline-block;
  text-decoration: none;
  color: rgba(255, 255, 255, 1);
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
  transition: color 0.3s;
}

.menu-sub-section-item span {
  display: inline-block;
  white-space: nowrap;
  padding-left: 20px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.4);
  opacity: 0;
  transition: opacity 0.3s;
}

.menu-sub-section-item a:hover + span {
  opacity: 1;
}

.menu-sub-section-item + .menu-sub-section-name {
  margin-top: 50px;
}

.fs-menu-overlay-footer {
  display: flex;
  position: absolute;
  bottom: 0;
  padding: 0 123px 5% 123px;
}

.fs-menu-overlay-contact {
  margin-left: 60px;
}

.fs-menu-overlay-contact-link a {
  position: relative;
  display: inline-block;
  color: #FFF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.fs-menu-overlay-contact-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.fs-menu-overlay-contact-link a .link-arrow {
    background: #FFF;
}

.fs-menu-overlay-contact-link a .link-arrow-tip {
    position: absolute;
    right: 0px;
    top: -6px;
    width: 14px;
    height: 14px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotateZ(45deg);
}

.fs-menu-overlay-contact-link a .link-arrow-inline {
    background: #FFF;
}

.fs-menu-overlay-contact-link a .link-arrow-tip-inline {
    border-color: #FFF;
}

.cta-button {
	position: fixed;
	bottom: 15px;
    right: 15px;
    z-index: 1;
    border-radius: 100%;
    overflow: hidden;
	transform: rotateZ(-10deg);
	transition: transform 0.6s, opacity 0.6s;
	backface-visibility: hidden;
	z-index: 100;
}

.cta-button.bottom {
	opacity: 0;
    pointer-events: none;
}

.cta-button.bottom.show {
	opacity: 1;
    pointer-events: all;
}

.pageheader-content-wrapper .cta-button {
	position: absolute;
	bottom: auto;
    right: 0;
    transform: translateX(-50%) translateY(-50%) rotateZ(-10deg);
}

.cta-button:hover {
    transform: scale(1.1);
}

.pageheader-content-wrapper .cta-button:hover {
	transform: translateX(-50%) translateY(-50%) rotateZ(0deg) scale(1.1);	
}

.cta-button a {
	display: block;
    width: 100%;
    padding: 16px;
    height: 0;
    padding-bottom: calc(100% - 16px);
	line-height: 1.2;
    background: #2C95FF;	
}

.cta-button a span {
	opacity: 0;	
}

.cta-button-text-copy {
	position: absolute;
    top: 50%;
    width: 100%;
	line-height: 1.2;
    text-align: center;
	color: #FFFFFF;
    transform: translateY(-50%);
	pointer-events: none;
}

@media only screen and (min-width: 1024px) {

  .company-logo {
    top: 135px;
    left: 135px;
  }

  .company-logo.nav-up {
    transform: translateY(-195px);
  }

  .company-logo a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }

  .menu-hamburger {
    top: 135px;
    right: 177px;
  }
	
  .menu-search {
    top: 135px;
    right: 135px;
  }
  
  .noscroll .menu-hamburger {
    right: 151px;
  }
  
  .fs-menu-overlay-wrapper {
    width: 100%;
    padding: 0 133px;
    margin: 0;
  }
  
  .close-fs-menu-overlay {
    top: 136px;
    right: 193px;
  }
  
  .logo-fs-menu-overlay {
    top: 135px;
    left: 135px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
	
	.cta-button.top {
		display: none;
	}
	
	.cta-button.bottom {
		opacity: 1;
		pointer-events: all;
	}
  
}

@media only screen and (min-width: 601px) and (max-width: 1023px) {
  
  .fs-menu-overlay-footer {
    padding: 45px 25px 25px 25px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .menu-sections,
  .menu-sub-sections,
  .fs-menu-overlay-footer {
    display: none;
  }
  
  .mobile-menu-sections {
    display: block;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
  }
  
  .fs-menu-overlay-wrapper {
    display: block;
    padding: 180px 0 40px 0;
  }
  
  .overlay-mobile-menu-main-container > ul,
  .overlay-mobile-menu-main-container > ul > li > ul,
  .overlay-mobile-menu-main-container > ul > li > ul > li > ul {
    padding: 0;
    padding-bottom: 25px;
  }
  
  .overlay-mobile-menu-main-container > ul > li > ul > li:last-child > ul {
    padding: 0;
  }
  
  .overlay-mobile-menu-main-container > ul > li > ul {
    display: none;
  }
  
  .overlay-mobile-menu-main-container .active + .sub-menu {
    display: block;
  }
  
  .overlay-mobile-menu-main-container > ul > li {
    padding: 17px 0;
  }

  .overlay-mobile-menu-main-container > ul > li > a {
    font-size: 28px;
    line-height: 35px;
    color: #FFF;
    opacity: 0.5;
    text-decoration: none;
    margin: 30px 0;
    transition: color 0.3s;
  }
  
  .overlay-mobile-menu-main-container > ul > li > a.active {
    opacity: 1;
  }
  
  .overlay-mobile-menu-main-container > ul > li > .sub-menu > li > a {
    font-size: 14px;
    line-height: 18px;
    color: #FFF;
    text-decoration: none;
    opacity: 0.5;
  }
  
  .overlay-mobile-menu-main-container > ul > li > .sub-menu > li > .sub-menu > li > a {
    display: inline-block;
    font-size: 16px;
    line-height: 28px;
    color: #FFF;
    text-decoration: none;
    margin: 5px 0;
  }
  
  .fs-mobile-menu-overlay-footer {
    display: block;
    padding: 45px 0 25px 0;
  }
  
  .fs-mobile-menu-overlay-footer .footer-bar-social:first-child {
    margin-left: 0;
  }
  
  .fs-menu-overlay-footer-social {
    white-space: nowrap;
    margin-bottom: 20px;
  }
  
  .fs-menu-overlay-contact {
    margin-left: 0;
    white-space: nowrap;
  }
  
  .fs-menu-overlay-contact-link a {
    font-size: 16px;
  }
  
}

/* =================== Tootip =================== */
.phone-tooltip {
  position: relative;
  display: inline-block;
}

/* Tooltip text */
.phone-tooltip .tooltiptext {
  visibility: hidden;
  background-color: black;
	color: #fff;
	text-align: center;
	padding: 0px 10px;
	border-radius: 6px;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1;
	white-space: nowrap;
}

/* Show the tooltip text when you mouse over the tooltip container */
.phone-tooltip:hover .tooltiptext {
  visibility: visible;
}

/* =================== Seite : News =================== */
.pageheader-news-filter {
  display: flex;
  position: relative;
  padding-bottom: 20px;
  z-index: 1;
  justify-content: center;
}

.pageheader-news-filter-item {
  font-size: 18px;
  font-weight: 700;
  color: #FFF;
  margin: 0 35px;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}

.has-overflow .pageheader-news-filter-item {
  margin: 0 20px;
}

.pageheader-news-filter-item.active,
.pageheader-news-filter-item:hover {
  color: #2C95FF;
}

.pagination-wrapper {
	display: flex;
    justify-content: center;
}

.page-numbers {
	display: inline-block;
    height: 26px;
    width: 26px;
	color: #2C95FF;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    line-height: 26px;
	text-align: center;
}

.page-numbers.current {
	color: inherit;
}

.page-numbers.prev,
.page-numbers.next {
	font-size: 0;
}

.page-numbers.prev {
	background-image: url(images/pag-prev.svg);
    background-size: contain;
	margin-right: 24px;
}

.page-numbers.next {
	background-image: url(images/pag-next.svg);
    background-size: contain;
	margin-left: 24px;
}

/* =================== Generell =================== */
.sections-wrapper {
  overflow: hidden;
}

/* =================== Seite : News =================== */
.news-spacer {
  height: 0;
}
  
@media only screen and (min-width: 1024px) {

  .news-spacer.bottom {
    height: 133px;
  }
  
}

@media only screen and (min-width: 601px) and (max-width: 1023px) {
  
  .news-spacer.top {
    height: 33px;
  }
  
}

/* =================== Seite : Blog : Immotop2 & Rimo R5 =================== */
.page-template-blog-immotop2 .company-logo,
.page-template-blog-immotop2 .menu-hamburger,
.page-template-blog-immotop2 .menu-search,
.page-template-blog-immotop2 .pageheader-block-section,
.page-template-blog-immotop2 footer,
.page-template-blog-immotop2 .cta-button,
.single-post-immotop2 .company-logo,
.single-post-immotop2 .menu-hamburger,
.single-post-immotop2 .menu-search,
.single-post-immotop2 footer,
.single-post-immotop2 .cta-button,
.page-template-blog-rimor5 .company-logo,
.page-template-blog-rimor5 .menu-hamburger,
.page-template-blog-rimor5 .menu-search,
.page-template-blog-rimor5 .pageheader-block-section,
.page-template-blog-rimor5 footer,
.page-template-blog-rimor5 .cta-button,
.single-post-rimo-r5 .company-logo,
.single-post-rimo-r5 .menu-hamburger,
.single-post-rimo-r5 .menu-search,
.single-post-rimo-r5 footer,
.single-post-rimo-r5 .cta-button {
	display: none;	
}

.page-template-blog-immotop2 .blog-layout,
.page-template-blog-rimor5 .blog-layout {
	margin-top: 0;
    padding-bottom: 60px;
}

.page-template-blog-immotop2 .blog-layout .news-spacer,
.page-template-blog-rimor5 .blog-layout .news-spacer {
	display: none;
}

.blog-back-button {
	display: flex;
	align-items: center;
    position: absolute;
    top: 60px;
    left: 25px;
	padding-right: 16px;
    color: white;
    z-index: 1;
    cursor: pointer;
}

.blog-back-button a {
	position: absolute;
    display: block;
    width: 100%;
    height: 100%;
	left: 0;
	top: 0;
}

@media only screen and (min-width: 1024px) {

  	.page-template-blog-immotop2 .blog-layout,
	.page-template-blog-rimor5 .blog-layout {
		margin-top: 60px;
		padding-bottom: 60px;
	}
	
	.page-template-blog-immotop2 .blog-layout .news-spacer,
	.page-template-blog-rimor5 .blog-layout .news-spacer {
		display: block;
	}
	
	.blog-back-button {
		top: 135px;
		left: 135px;
	}

}

/* =================== Seite : Kurse =================== */
.events-block-title {
  text-align: center;
  margin-bottom: 50px;
}

.events-filter {
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 30px;
  justify-content: center;
}

.events-filter-item {
  margin: 0 35px;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}

.events-filter-item.active,
.events-filter-item:hover {
  color: #2C95FF;
}

.has-overflow .events-filter-item {
  margin: 0 20px;
}

.events-month-results {
  display: flex;
  justify-content: space-between;
  padding: 45px 0 50px 0;
  font-weight: 700;
  font-size: 24px;
  line-height: 40px;
}

.events-entry {
  padding: 24px 40px;
  background: #FFF;
  border-radius: 17px;
  margin-bottom: 35px;
}

.events-meta {
  margin: 12px 0;
}

.events-type {
  color: #1651A5;
  font-size: 18px;
  font-weight: 700;
}

.events-cto.fully-booked {
  color: #ff765b;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
}

.events-footer {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 20px;
}

.events-footer a {
  position: relative;
  display: inline-block;
  padding-right: 40px;
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.events-footer a svg {
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 4px;
}

.wpcf7-form .wpcf7-acceptance label {
  position: relative;
  padding: 24px 0 24px 40px;
  margin-top: -34px;
  background: none;
}

.wpcf7-form .wpcf7-acceptance-wrapper br,
.wpcf7-form > p > br {
  display: none;
}

.wpcf7-form .wpcf7-acceptance label input {
  position: absolute;
  left: 0;
  top: 29px;
  width: 20px;
  height: 20px;
}

.register-block-section .wpcf7 {
  margin-bottom: 200px;
}

.register-paragraph + .register-paragraph-title {
  margin-top: 24px;
}

.register-paragraph-title.bold {
  font-weight: 700;
}

.register-paragraph.bold {
  font-weight: 700;
}

.register-paragraph > ul {
  padding-top: 0;
}

.register-block-closed {
  text-align: center;
  padding-bottom: 100px;
  color: #ff765b;
}

.register-block-closed a {
  position: relative;
  display: inline-block;
  padding-right: 155px;
  margin-top: 50px;
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.register-block-closed a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.booking-cancelled {
  text-align: right;
  font-size: 18px;
  line-height: 36px;
  font-weight: 700;
  color: #ff765b;
}

.nl-submission-failed {
  text-align: center;
  font-size: 18px;
  line-height: 36px;
  font-weight: 700;
  color: #ff765b;
}

#registerManually {
  border-radius: 4px;
  padding: 10px 20px 10px 10px;
}

.register-manually-apply {
  display: none;
  margin-top: 10px;
}

.register-manually-apply span {
  display: inline-block;
  padding: 6px 10px;
  text-decoration: none;
  color: #FFF;
  border-radius: 4px;
  background: #2C95FF;
  transition: background 0.3s;
  cursor: pointer;
}

.register-manually-apply span:hover {
  background: #1651A5;
}

@media only screen and (min-width: 1024px) {
  
  .events-footer {
    flex-direction: row;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
  
  .events-cto {
    text-align: right;
  }
  
  .events-month-results {
    font-size: 20px;
  }
  
  .register-block-section .wpcf7 {
    margin-bottom: 100px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

  .events-entry {
    padding: 25px;
  }
  
  .events-type {
    font-size: 16px;
  }
  
}

/* =================== Seite : Downloads =================== */
.documents-filter {
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 30px;
  justify-content: center;
}

.document-filter-item {
  margin: 0 35px;
  font-size: 18px;
  font-weight: 700;
  transition: color 0.3s;
  cursor: pointer;
}

.document-filter-item.active,
.document-filter-item:hover {
  color: #2C95FF;
}

.downloads-block-section .metabox-flex-wrapper {
  flex-wrap: wrap;
}

.document-entry {
  position: relative;
  width: 100%;
  padding: 40px 40px 40px 120px;
  background: #FFF;
  border-radius: 17px;
  margin-bottom: 50px;
}

@media only screen and (min-width: 1024px) {
  
  .document-entry {
    width: calc(50% - 25px);
  }
  
}

/* =================== Footer =================== */
.grecaptcha-badge {
  bottom: 5px !important;
  z-index: 1;
}

.footer-contact {
  position: relative;
  padding: 100px 0 100px 0;
  background: #FFF;
}

.footer-contact .content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.footer-contact-left,
.footer-contact-right {
  width: 100%;
}

.footer-contact-left h4 {
  font-weight: 400;
  margin-bottom: 20px;
}

.footer-contact-left h2 strong {
  color: #2C95FF;
  font-size: inherit;
  line-height: inherit;
}

.footer-contact-link {
  margin: 40px 0;
}

.footer-contact-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.footer-contact-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.footer-menu {
  position: relative;
  padding: 230px 0 33px 0;
  background: #07284C;
  overflow: hidden;
}

.footer-menu:before {
  content: "";
  position: absolute;
  width: 120%;
  top: 0px;
  left: -10%;
  padding-bottom: 135px;
  background: #FFF;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.footer-menu-entry {
  margin-bottom: 20px;
  line-height: 27px;
}

.footer-menu .content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.footer-menu-row {
  width: calc(50% - 25px);
  min-height: 100px;
  margin-bottom: 67px;
}

.footer-menu-title {
  color: #FFF;
  margin-bottom: 24px;
}

.footer-menu-entry a {
  display: inline-block;
  color: #FFF;
  font-size: 18px;
  line-height: inherit;
  text-decoration: none;
}

.footer-bar { 
  background: #062241;
}

.footer-bar .content {
  display: flex;
  padding: 75px 0;
  align-content: center;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  height: auto;
  color: #FFF;
}

.footer-bar .content > div {
  width: 100%;
}

.footer-bar-contact a {
  text-decoration: none;
  color: #FFF;
}

.footer-bar-copyright {
  order: 1;
  text-align: center;
}

.footer-bar-socials {
  order: 3;
  margin-top: 50px;
  text-align: center;
}

.footer-bar-contact {
  order: 2;
  text-align: center;
}

.footer-bar-socials {
  white-space: nowrap;
  line-height: 0;
  text-align: center;
}

.footer-bar-social {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 12px;
  background-size: contain;
}

.footer-bar-social a {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  background-size: contain;
  opacity: 1;
  transition: opacity 0.3s;
}

.footer-bar-social a:hover {
  opacity: 0.6; 
}

@media only screen and (min-width: 1024px) {
  
  .footer-contact {
    padding: 200px 0 100px 0;
  }
  
  .footer-contact .content {
    flex-direction: row;
  }
  
  .footer-contact-left,
  .footer-contact-right {
    width: calc(50% - 25px);
  }
  
  .footer-contact-link {
    margin: 40px 0 0 0;
  }
  
  .footer-menu {
    padding: 280px 0 100px 0;
  }
  
  .footer-menu:before {
    padding-bottom: 200px;
  }
  
  .footer-menu .content {
    flex-wrap: nowrap;
  }
  
  .footer-menu-row {
    width: calc(25% - 38px);
    margin-bottom: 0;
  }
  
  .footer-bar .content {
    flex-direction: row;
    height: 170px;
    padding: 0;
  }
  
  .footer-bar .content > div {
    width: 33.33%;
  }
  
  .footer-bar-copyright {
    order: 1;
    text-align: left;
  }

  .footer-bar-socials {
    order: 2;
    margin-top: 0;
  }

  .footer-bar-contact {
    order: 3;
    text-align: right;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .footer-menu:before {
    padding-bottom: 300px;
  }
  
  .footer-menu {
    padding: 330px 0 100px 0;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .footer-menu {
    padding: 150px 0 0 0;
  }
  
  .footer-menu:before {
    padding-bottom: 100px;
  }
  
  .footer-menu-entry a {
    font-size: 14px;
    line-height: 20px;
  }
  
}

/* =================== Search results =================== */
.search-results .search-count {
	margin-bottom: 24px;
}

.search-results article {
	position: relative;
	padding: 24px 50px;
    background: #FFFFFF;
}

.search-results article + article {
	margin-top: 50px;	
}

.search-title strong,
.search-excerpt strong {
	font-size: inherit;
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
	
	.search-results article {
		padding: 24px;
	}
	
	.search-results article + article {
		margin-top: 24px;	
	}
	
	.search-results article h4 {
		font-size: 18px;	
	}
	
	.search-results article .imagetext-link {
		margin-top: 24px;
	}
	
}

/* =================== Block : Pageheader =================== */
.pageheader-block-section {
  margin-top: 0;
}

.pageheader-block-section:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.pageheader-content-wrapper {
  position: relative;
  padding: 250px 0 250px 0;
  background-position: center;
  background-size: cover;
}

.has-metaboxes .pageheader-content-wrapper {
  padding: 260px 0;
}

.pageheader-content-wrapper:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(7, 40, 76, 0.8);
}

.pageheader-content-wrapper .content {
  width: 100%;
}

.pageheader-content-wrapper.is-centered .content {
  text-align: center;
  margin: 0 auto;
}

.pageheader-content-wrapper .outer-wrapper {
	position: relative;
}

.pageheader-subline {
  position: relative;
  margin-bottom: 23px;
  font-size: 14px;
  line-height: 27px;
  color: #FFF;
  z-index: 1;
}

.pageheader-title {
  position: relative;
  margin-bottom: 23px;
  z-index: 1;
}

.pageheader-title h1,
.pageheader-title h2 {
  color: #FFF;
}

.pageheader-title h1 strong,
.pageheader-title h2 strong {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: #2C95FF;
}

.pageheader-search {
	position: relative;
	z-index: 1;
}

.pageheader-search.has-filter {
	margin-top: 20px;	
}

.pageheader-search .search {
	position: relative;
    margin-bottom: 50px;	
}

.pageheader-search input[type="text"] {
	width: 100%;
    padding: 10px 125px 10px 25px;
    background: #FFFFFF;
    border: 2px solid transparent;
    border-radius: 17px;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 18px;
    line-height: 36px;
    font-weight: 700;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.pageheader-search input[type="text"]:focus {
  	border-color: #2C95FF;
  	outline: none;
}

.pageheader-search input[type="submit"] {
	position: absolute;
    right: 0;
    width: 76px;
    height: 60px;
    opacity: 0;
    z-index: 1;
    cursor: pointer;	
}

.pageheader-search .search-search-icon {
  position: absolute;
  width: 26px;
  height: 26px;
  top: 17px;
  right: 25px;
}

.pageheader-search .search-search-clear {
  display: none;
  position: absolute;
  width: 26px;
  height: 26px;
  top: 17px;
  right: 68px;
  cursor: pointer;
}

.pageheader-search .has-value .search-search-clear {
  display: block;
}

.pageheader-lead {
  position: relative;
  font-size: 15px;
  line-height: 27px;
  color: #FFF;
  z-index: 1;
}

.pageheader-block-section-metaboxes {
  top: -200px;
  margin-top: 0;
}

.metabox-flex-wrapper {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  flex-direction: column;
}

.pageheader-metabox-wrapper .metabox-flex-wrapper {
  justify-content: space-between;
}

.pageheader-block-section-metaboxes + section {
  margin-top: 0;
}

.pageheader-metabox {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  padding: 25px;
  background: #FFF;
  border-radius: 17px;
}

.pageheader-metabox + .pageheader-metabox {
  margin-top: 67px;
}

.pageheader-metabox.pageheader-metabox-50 {
  width: 100%;
}

.pageheader-metabox-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 25px;
  background-size: contain;
}

.pageheader-metabox a {
  text-decoration: none;
  color: inherit;
}

.pageheader-metabox h4 {
  margin: 0;
}

.pageheader-metabox p {
  margin: 0;
  margin-top: 27px;
}

.pageheader-link {
  margin-top: 27px;
}

.pageheader-metabox.pageheader-has-link p {
  margin-bottom: 27px;
}

.pageheader-link a {
  position: relative;
  display: inline-block;
  color: #2C95FF;
  font-weight: 700;
  font-size: 15px;
  line-height: 28px;
  text-decoration: none;
}

.pageheader-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

@media only screen and (min-width: 1920px) {

  .pageheader-block-section:after {
    padding-bottom: 300px;
  }
  
  .pageheader-block-section-metaboxes {
    top: -250px;
  }
  
}

@media only screen and (min-width: 1024px) {
  
  .pageheader-content-wrapper {
    padding: 330px 0 250px 0;
  }
  
  .has-metaboxes .pageheader-content-wrapper {
    padding: 330px 0 350px 0;
  }
  
  .pageheader-content-wrapper .content {
    width: calc(66.666% - 16.66px);
  }
  
  .metabox-flex-wrapper {
    flex-direction: row;
  }
  
  .pageheader-metabox + .pageheader-metabox {
    margin-top: 0;
  }
  
  .pageheader-metabox.pageheader-metabox-50 {
    width: calc(50% - 25px);
  }
  
  .pageheader-subline {
    font-size: 16px;
    line-height: 38px;
  }

  .pageheader-lead {
    font-size: 18px;
    line-height: 36px; 
  }
  
  .pageheader-metabox {
    padding: 40px 40px 40px 140px;
  }
  
  .pageheader-metabox-icon {
    position: absolute;
    top: 40px;
    left: 40px;
    margin-bottom: 0;
  }
  
  .pageheader-link a {
    font-size: 18px;
    line-height: 35px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .pageheader-content-wrapper {
    padding: 180px 0 200px 0;
  }
  
  .has-metaboxes .pageheader-content-wrapper {
    padding: 180px 0 160px 0;
  }
  
  .pageheader-block-section:after {
    bottom: 0;
    padding-bottom: 100px;
  }
  
  .pageheader-block-section-metaboxes {
    top: -100px;
  }
  
  .pageheader-metabox p {
    font-size: 14px;
    line-height: 28px;
  }
  
}

/* =================== Block : Bild & Text (Trapez) =================== */
.imagetext-block-section {
    position: relative;
}

.imagetext-block-section.anschnitt-bottom + .imagetext-block-section.anschnitt-top {
  margin-top: 0;
}

.imagetext-block-section.anschnitt-top + .slider-block-section.anschnitt-top {
  margin-top: 135px;
}

.imagetext-block-section.anschnitt-top + .imagetext-block-section.anschnitt-bottom {
  margin-top: 135px;
}

.imagetext-block-section.trapezoid.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  top: -200px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(6deg);
  transform-origin: center center;
}

.imagetext-block-section.trapezoid.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.imagetext-block-section.has-white-bg .full-wrapper {
    background: #FFF;
}

.imagetext-block-section .full-wrapper {
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  flex-direction: column;
}

.imagetext-block-section.image-is-right .full-wrapper {
  flex-direction: column-reverse;
}

.imagetext-image,
.imagetext-text {
  display: flex;
  width: 100%;
  align-items: center;
}

.imagetext-image {
  background-size: cover;
  background-position: center top;
  height: 0;
  padding-bottom: 100%;
}

.trapezoid.anschnitt-bottom .imagetext-text {
  padding: 50px 25px;
}

.trapezoid.anschnitt-top .imagetext-text {
  padding: 50px 25px;
}

.imagetext-text h3 {
  margin-bottom: 10px;
}

.imagetext-text h4 {
  color: #1651A5;
}

.imagetext-link {
  margin-top: 40px;
}

.imagetext-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  text-decoration: none;
}

.imagetext-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

@media only screen and (min-width: 1024px) {

  .imagetext-block-section.anschnitt-top + .imagetext-block-section.anschnitt-bottom {
    margin-top: 200px;
  }
  
  .imagetext-block-section.anschnitt-top + .slider-block-section.anschnitt-top {
    margin-top: 200px;
  }
  
  .imagetext-block-section.trapezoid.anschnitt-bottom:after {
    transform: translateY(50%) rotateZ(-6deg);
  }
  
  .imagetext-block-section .full-wrapper,
  .imagetext-block-section.image-is-right .full-wrapper {
    flex-direction: row;
  }
  
  .imagetext-block-section.trapezoid.anschnitt-bottom:after {
    top: auto;
    bottom: 0px;
    left: -5%;
  }
  
  .trapezoid.image-is-left .imagetext-text {
    padding-right: 50px;
  }
  
  .trapezoid.image-is-right .imagetext-text {
    padding-left: 50px;
  }
  
  .trapezoid.anschnitt-bottom .imagetext-text {
    padding-bottom: 100px;
  }

  .trapezoid.anschnitt-top .imagetext-text {
    padding-top: 100px;
  }
  
  .imagetext-image {
    display: flex;
    width: calc(37% - 25px);
    align-items: center;
  }
	
  .trapezoid .imagetext-image {
    width: calc(50% - 25px);
  }
	
  .imagetext-text {
    display: flex;
    width: calc(63% - 25px);
	padding-right: 50px;
    align-items: center;
  }
	
  .trapezoid .imagetext-text {
    width: calc(50% - 25px);
  }
  
  .imagetext-image {
    height: auto;
    padding-bottom: 0;
  }
  
  .imagetext-text p + p {
    margin-top: 27px;
  }
  
  .trapezoid.anschnitt-bottom.image-is-left .imagetext-text {
    padding: 100px 25px 300px 0;
  }

  .trapezoid.anschnitt-top.image-is-left .imagetext-text {
    padding: 300px 25px 100px 0;
  }
  
  .trapezoid.anschnitt-bottom.image-is-right .imagetext-text {
    padding: 100px 0 300px 25px;
  }

  .trapezoid.anschnitt-top.image-is-right .imagetext-text {
    padding: 300px 0 100px 25px;
  }
  
}

@media only screen and (min-width: 1337px) {
  
  .trapezoid.anschnitt-bottom.image-is-left .imagetext-text {
    padding: 100px calc(50vw - 642px) 300px 0;
  }

  .trapezoid.anschnitt-top.image-is-left .imagetext-text {
    padding: 300px calc(50vw - 642px) 100px 0;
  }
  
  .trapezoid.anschnitt-bottom.image-is-right .imagetext-text {
    padding: 100px 0 300px calc(50vw - 642px);
  }

  .trapezoid.anschnitt-top.image-is-right .imagetext-text {
    padding: 300px 0 100px calc(50vw - 642px);
  }
  
}

@media only screen and (min-width: 1457px) {
  
  .trapezoid.anschnitt-bottom.image-is-left .imagetext-text {
    padding: 100px calc(720px - 632px) 300px 0;
  }

  .trapezoid.anschnitt-top.image-is-left .imagetext-text {
    padding: 300px calc(720px - 632px) 100px 0;
  }
  
  .trapezoid.anschnitt-bottom.image-is-right .imagetext-text {
    padding: 100px 0 300px calc(720px - 632px);
  }

  .trapezoid.anschnitt-top.image-is-right .imagetext-text {
    padding: 300px 0 100px calc(720px - 632px);
  }
  
}


@media only screen and (min-width: 1px) and (max-width: 600px) {

  .imagetext-block-section.anschnitt-top + .imagetext-block-section.anschnitt-bottom {
    margin-top: 100px;
  }
  
  .imagetext-block-section.anschnitt-bottom + .imagetext-block-section.anschnitt-top {
    margin-top: 100px;
  }
  
  .imagetext-block-section.anschnitt-top + .slider-block-section.anschnitt-top {
    margin-top: 100px;
  }
  
  .imagetext-block-section.trapezoid.anschnitt-bottom:after {
    top: -100px;
    padding-bottom: 100px;
  }

  .imagetext-block-section.trapezoid.anschnitt-top:after {
    padding-bottom: 100px;
  }
  
}

/* =================== Block : Referenzen =================== */
.pageheader-block-section + .references-block-section.start-anschnitt-top {
  margin-top: 0;
}

.references-block-section {
  display: flex;
  flex-direction: column;
  gap: 67px;
}

.references-block-section .full-wrapper {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  flex-direction: column;
  padding: 0 25px;
  border-radius: 17px;
}

.references-block-section .no-results-wrapper {
	min-height: auto !important;
	background: inherit !important;
}

.references-block-section .full-wrapper.image-is-right {
  flex-direction: column-reverse;
}

.references-block-section .full-wrapper.hidden {
  display: none;
}

.references-block-section .imagetext-text {
  background: #FFF;
}

.references-block-section .trapezoid .imagetext-text {
  border-bottom-left-radius: 17px;
  border-bottom-right-radius: 17px;
}

.references-block-section .imagetext-image {
  padding-bottom: 120%;
}

.references-block-section .trapezoid .imagetext-image {
  border-top-left-radius: 17px;
  border-top-right-radius: 17px;
}

.references-block-section .anschnitt-top .imagetext-image {
  background-position: center;
}

.page-template-news .references-block-section .anschnitt-top .imagetext-image {
  background-position: center;
}

.reference-company h4 {
  color: #1651A5;
}

.news-name h3 {
	margin: 0;
}

.news-meta {
	display: flex;
	padding: 25px 0;
	line-height: 24px;
}

.news-author-image {
	width: 48px;
    height: 48px;
    margin-right: 16px;
    border-radius: 24px;
    overflow: hidden;
}

.news-author-image img {
	max-width: 100%;	
}

.news-publish-date {
	font-size: 14px;
}

@media only screen and (min-width: 1024px) {
  
  .references-block-section {
    display: block;
  }
  
  .references-block-section .full-wrapper.trapezoid.anschnitt-bottom:after {
    content: "";
    position: absolute;
    width: 110%;
    bottom: 0px;
    left: -5%;
    padding-bottom: 200px;
    background: #F0F2F6;
    transform: translateY(50%) rotateZ(-6deg);
    transform-origin: center center;
  }

  .references-block-section .full-wrapper.trapezoid.anschnitt-top:after {
    content: "";
    position: absolute;
    width: 110%;
    top: 0px;
    left: -5%;
    padding-bottom: 200px;
    background: #F0F2F6;
    transform: translateY(-50%) rotateZ(-6deg);
    transform-origin: center center;
  }
  
  .references-block-section .full-wrapper {
    flex-direction: row;
	min-height: calc(100vw* 0.2625);
    padding: 0;
	margin-bottom: 50px;
    background: #FFF;
    border-radius: 0;
  }
  
  .references-block-section .full-wrapper.image-is-right {
    flex-direction: row;
  }

  .full-wrapper.anschnitt-top + .full-wrapper.anschnitt-bottom {
    margin-top: 200px;
  }
  
  .references-block-section .imagetext-image {
    padding-bottom: 26.25%;
    border-radius: 0;
  }
	
  .references-block-section .trapezoid .imagetext-image {
	padding-bottom: calc(1.35*(50% - 25px));
	border-radius: 0;
  }
  
  .references-block-section .imagetext-text {
    border-radius: 0;
  }
	
  .references-block-section .imagetext-text .imagetext-text-centerer {
	padding: 50px 0;
  }
  
  .references-block-section .anschnitt-top .imagetext-image {
    background-position: center 100px;
  }
  
}

@media only screen and (min-width: 1440px) {
	
  .references-block-section .full-wrapper {
	min-height: 378px;
  }
	
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
	
	.references-block-section.blog-layout .full-wrapper {
		padding: 0;
	}
	
	.blog-layout .imagetext-text {
		padding: 50px 25px;
	}
	
}

/* =================== Block : Bild & Text (PNG) =================== */
.imagetextpng-block-section {
    position: relative;
    padding-bottom: 135px;
}

.imagetextpng-block-section + section.anschnitt-bottom,
.imagetextpng-block-section + .imagetextpng-block-section {
  margin-top: 0;
}

.imagetextpng-block-section .full-wrapper {
  padding: 0;
}

.imagetextpng-block-section .content {
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  flex-direction: column;
}

.imagetextpng-block-section.image-is-right .content {
  flex-direction: column-reverse;
}

.imagetextpng-image {
  display: flex;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  align-items: center;
}

.imagetextpng-text {
  display: flex;
  width: 100%;
  align-items: center;
}

.image-is-right .imagetextpng-text .imagetextpng-text-centerer {
  margin-top: 67px;
}

.imagetextpng-image {
  position: relative;
}

.imagetextpng-image img,
.imagetextpng-image video {
  position: absolute;
  top: 0;
  width: 100%;
  transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.imagetextpng-image video {
  clip-path: inset(1px 1px);
}

.image-is-left .imagetextpng-image img,
.image-is-left .imagetextpng-image video {
  right: 0;
  transform: translateX(-100%) translateY(0%);
}

.image-is-right .imagetextpng-image img,
.image-is-right .imagetextpng-image video {
  left: 0;
  transform: translateX(100%) translateY(0%);
}

.image-is-left.animate .imagetextpng-image img,
.image-is-right.animate .imagetextpng-image img,
.image-is-left.animate .imagetextpng-image video,
.image-is-right.animate .imagetextpng-image video {
  transform: translateX(0.5%) translateY(0%);
}

.imagetextpng-text h3 {
  margin-bottom: 10px;
}

.imagetextpng-text h4 {
  margin-bottom: 40px;
  color: #1651A5;
}

.imagetextpng-link {
  margin-top: 40px;
}

.imagetextpng-link a {
  position: relative;
  display: inline-block;
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.imagetextpng-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

@media only screen and (min-width: 1024px) {
  
  .imagetextpng-block-section {
    padding-bottom: 200px;
  }
  
  .imagetextpng-block-section .full-wrapper {
    padding: 100px 0;
  }

  .imagetextpng-block-section .content,
  .imagetextpng-block-section.image-is-right .content {
    flex-direction: row;
  }
  
  .imagetextpng-text {
    width: calc(66.666% - 16.666px);
  }
  
  .imagetextpng-image {
    width: calc(33.333% - 33.333px);
	  width: round(down, calc(33.333% - 33.333px), 1px);
    padding-bottom: calc(33.333% - 33.333px);
	  padding-bottom: round(down, calc(33.333% - 33.333px), 1px);
  }
  
  .image-is-left .imagetextpng-image img,
  .image-is-left .imagetextpng-image video {
    transform: translateX(-100%) translateY(-50%);
  }

  .image-is-right .imagetextpng-image img,
  .image-is-right .imagetextpng-image video {
    transform: translateX(100%) translateY(-50%);
  }
  
  .imagetextpng-image img,
  .imagetextpng-image video {
    top: 50%;
    transform: translateX(100%) translateY(-50%);
    width: 170%;
    width: round(down, 170%, 1px);
  }
	
  .imagetextpng-image video {
	height: round(down, 170%, 1px);
  }
  
  .image-is-left.animate .imagetextpng-image img,
  .image-is-right.animate .imagetextpng-image img,
  .image-is-left.animate .imagetextpng-image video,
  .image-is-right.animate .imagetextpng-image video {
    transform: translateX(0.5%) translateY(-50%);
  }
  
  .image-is-right .imagetextpng-text .imagetextpng-text-centerer {
    margin-top: 0;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .image-is-left .imagetextpng-image img,
  .image-is-left .imagetextpng-image video {
    transform: translateX(-150%) translateY(-50%);
  }

  .image-is-right .imagetextpng-image img,
  .image-is-right .imagetextpng-image video {
    transform: translateX(150%) translateY(-50%);
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

  .imagetextpng-block-section {
    padding-bottom: 100px;
  }
  
  .image-is-left .imagetextpng-image img,
  .image-is-left .imagetextpng-image video {
    transform: translateX(-125%) translateY(0%);
  }

  .image-is-right .imagetextpng-image img,
  .image-is-right .imagetextpng-image video {
    transform: translateX(125%) translateY(0%);
  }
  
}

/* =================== Block : Slider (Boxlayout) =================== */
.slider-block-section.anschnitt-top {
  margin-top: 0;
}

.slider-block-section.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.slider-block-section.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.slider-content-wrapper {
  position: relative;
  background-position: center;
  background-size: cover;
}

.anschnitt-top .slider-content-wrapper {
  padding: 300px 0 200px 0;
}

.anschnitt-bottom .slider-content-wrapper {
  padding: 200px 0 300px 0;
}

.slider-content-wrapper:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(7, 40, 76, 0.8);
}

.slider-block-section .content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.slider-text {
  position: relative;
  margin-bottom: 67px;
  display: flex;
  flex-direction: column; 
  color: #FFF;
  z-index: 1;
  flex: 0 0 100%;
}

.slider-text h4 {
  margin-bottom: 23px;
}

.slider-text h2 strong {
  font-size: inherit;
  line-height: inherit;
  color: #2C95FF
}

.slider-slider {
  position: relative;
  display: flex;
  flex: 0 0 100%;
  margin-left: 0;
  align-items: center;
  z-index: 1;
  overflow: hidden;
}

.slider-slider .embla {
  width: 100%;
}

.slider-slider .embla__container {
  display: flex;
}

.slider-slider .embla__slide {
  flex: 0 0 calc(100% - 75px);
  margin-left: 50px;
  border-radius: 17px;
  cursor: default !important;
}

.slider-slider.layout-image .embla__slide {
  display: flex;
  overflow: hidden;
  flex-direction: row;
}

.slider-slider.layout-icon .embla__slide {
  flex: 0 0 calc(5 * 1315px / 12 - 50px - 180px);
  margin-left: 50px;
  background: #FFF;
  border-radius: 17px;
}

.slider-slider.layout-customer .embla__slide {
  flex: 0 0 calc(50% - 75px);
  padding-bottom: 15%;
}

.slider-slider.layout-customer .embla__slide.double-height {
  padding-bottom: 40%;
}

.slider-slider.layout-customer .embla__slide .slide-logo {
  position: absolute;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.slider-slider.layout-customer .embla__slide.double-height .slide-logo:first-child {
	top: 0;
	height: 50%;
}	
	
.slider-slider.layout-customer .embla__slide.double-height .slide-logo:last-child {
	top: 50%;
	height: 50%;
}

.slider-slider.layout-customer .embla__slide .slide-logo a {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%
}

.slider-slider-item {
  position: relative;
  box-sizing: content-box;
}

.layout-icon .slider-slider-item {
  padding: 40px 40px 40px 140px;
}

.slide-image {
  width: calc(50% - 40px);
  background-size: cover;
  background-position: center;
  backface-visibility: hidden;
}

.layout-icon .slide-text p {
  margin-top: 23px;
}

.layout-image .slide-text {
  padding: 40px 40px 40px 40px;
  width: calc(50% + 40px);
  background: #FFF;
}

.layout-image .slide-text.isNews {
  padding: 40px 40px 109px 40px;
}

.slide-icon {
  position: absolute;
  width: 60px;
  top: 40px;
  left: 40px;
}

.slide-icon img {
  width: 100%;
  vertical-align: middle;
}

.slide-text h4 {
  margin-bottom: 23px; 
  line-height: 26px;
}

.slide-text h4 strong {
  font-size: inherit;
  line-height: inherit;
  color: #1651A5;
}

.slider-slider .embla__slide:first-child {
  margin-left: 0;
}

.slider-link {
  margin-top: 23px;
}

.isNews .slider-link {
  position: absolute;
  bottom: 40px;
  margin: 0;
}

.slider-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  text-decoration: none;
}

.slider-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.slider-block-section .embla-progress-dot {
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
}

.slider-block-section .embla-progress-dot.active,
.slider-block-section .embla-progress-dot:hover {
  background-color: rgba(255, 255, 255, 1);
}

@media only screen and (min-width: 1920px) {

  .slider-block-section.anschnitt-top:after {
    padding-bottom: 300px;
  }

  .slider-block-section.anschnitt-bottom:after {
    padding-bottom: 300px;
  }
  
  .anschnitt-top .slider-content-wrapper {
    padding: 350px 0 200px 0;
  }

  .anschnitt-bottom .slider-content-wrapper {
    padding: 200px 0 350px 0;
  }
  
}

@media only screen and (min-width: 1024px) {
  
  .slider-block-section .content {
    flex-direction: row;
  }
  
  .slider-slider {
    margin-left: 50px;
  }
  
  .slider-text {
    margin-bottom: 0;
    flex: 0 0 calc(100vw / 3 + 38px);
  }
  
  .slider-slider .embla__slide {
    flex: 0 0 calc((200vw / 3) - 205px);
  }
	
  .slider-text.customer-slider {
    align-self: center;	
  }
	
  .slider-slider.layout-customer .embla__slide {	
    flex: 0 0 calc(1315px / 3 - 50px);
  }
  
}

@media only screen and (min-width: 1120px) {
  
  .slider-slider {
    flex: 0 0 calc(2630px / 3 + 0.5 * (100vw - 1315px) - 33px);
    overflow: hidden;
  }
    
  .slider-text {
    flex: 0 0 calc(1315px / 3 - 50px);
  }
  
  .slider-slider .embla__slide {
    flex: 0 0 calc(1315px / 2 - 50px);
  }
  
}

@media only screen and (min-width: 601px) and (max-width: 1119px) {
  
  .slider-slider {
    display: block;
    width: calc(100% + 25px);
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .anschnitt-top .slider-content-wrapper {
    padding: 200px 0 135px 0;
  }

  .anschnitt-bottom .slider-content-wrapper {
    padding: 200px 0 300px 0;
  }
  
  .slider-slider {
    display: block;
    width: calc(100% + 25px);
    margin-left: 0;
  }
  
  .slider-slider .embla__slide {
    flex: 0 0 calc(100% - 35px);
    margin-left: 20px;
  }
  
  .slider-slider.layout-icon .embla__slide {
    flex: 0 0 calc(100% - 85px);
    margin-left: 20px;
    padding: 25px;
  }
  
  .slider-slider.layout-icon .embla__slide .slide-icon {
    position: static;
    width: 90px;
    margin-bottom: 17px;
  }
  
  .slider-slider.layout-image .embla__slide {
    flex-direction: column;
  }
	
  .slider-slider.layout-customer .embla__slide {
    flex: 0 0 calc(50% - 25px);
  }
  
  .slide-image {
    width: 100%;
    margin-right: 0;
    height: 0;
    padding-bottom: 66.66%;
  }
	
  .layout-image .slide-text {
    width: 100%;
    height: 100%;
    padding: 25px 25px 25px 25px;
  }
  
  .layout-image .slide-text.isNews {
    width: 100%;
    height: 100%;
    padding: 25px 25px 85px 25px;
  }
  
  .layout-image .slide-text.isNews p {
    line-height: 27px;
  }
  
  .isNews .slider-link {
    bottom: 25px;
  }
  
  .slide-text .slide-news-meta {
    font-size: 14px;
    line-height: 27px;
  }
  
  .slider-link a {
    font-size: 15px;
    line-height: 27px;
  }
  
}

/* =================== Block : Text & Text =================== */
.anschnitt-bottom[data-section-bg="dark"]:not(.pageheader-block-section) + .columns2-block-section {
  margin-top: 300px;
}

.columns2-block-section + .anschnitt-top {
    margin-top: 200px;
}

.columns2-block-section .content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.columns2-left,
.columns2-right {
  width: 100%;
}

.columns2-right p + p {
  margin-top: 27px;
}

.columns2-right a {
  color: #2C95FF;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s;
}

.columns2-right a:hover {
  color: #1651A5;
}

.columns2-left h4 {
  font-weight: 400;
  margin-bottom: 20px;
}

.columns2-left h2 strong {
  color: #2C95FF;
  font-size: inherit;
  line-height: inherit;
}

.columns2-left + .columns2-right {
  padding-top: 67px;
}

.columns2-link {
  margin-top: 40px;
}

.columns2-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.columns2-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.columns2-right .csc-frame {
  overflow: scroll hidden;
  padding: 20px 0;
}

.columns2-right .table-responsive {
  overflow: scroll hidden;
  padding: 20px 0;
}

.columns2-right .table-responsive td {
  padding: 4px 25px 4px 0;
  vertical-align: top;
}

@media only screen and (min-width: 1024px) {
  
  .columns2-block-section .content {
    flex-direction: row;
  }
  
  .columns2-left,
  .columns2-right {
    width: calc(50% - 25px);
  }
  
  .columns2-left + .columns2-right {
    padding-top: 0;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .anschnitt-bottom[data-section-bg="dark"]:not(.pageheader-block-section) + .columns2-block-section {
    margin-top: 350px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

  .columns2-block-section + .anschnitt-top {
    margin-top: 100px;
  }
  
  .anschnitt-bottom[data-section-bg="dark"] + .columns2-block-section {
    margin-top: 200px;
  }
  
  .pageheader-block-section.anschnitt-bottom[data-section-bg="dark"] + .columns2-block-section {
    margin-top: 100px;
  }
  
  .columns2-left + .columns2-right {
    padding-top: 50px;
  }
  
}

/* =================== Block : Bild (Volle Breite) =================== */
.image-fullwidth-block-section {
  background: #FFF;
}

.image-fullwidth-block-section.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.image-fullwidth-block-section.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.image-fullwidth-content-wrapper {
  position: relative;
}

.anschnitt-top .image-fullwidth-content-wrapper {
  padding: 260px 0 135px 0;
}

.anschnitt-bottom .image-fullwidth-content-wrapper {
  padding: 135px 0 260px 0;
}

.image-fullwidth-wrapper img {
  max-width: 100%;
}

.image-fullwidth-descriptions {
  width: calc(66.66% - 17px);
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  
  .anschnitt-top .image-fullwidth-content-wrapper {
    padding: 300px 0 200px 0;
  }

  .anschnitt-bottom .image-fullwidth-content-wrapper {
    padding: 200px 0 300px 0;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .image-fullwidth-block-section.anschnitt-top:after {
    padding-bottom: 300px;
  }

  .image-fullwidth-block-section.anschnitt-bottom:after {
    padding-bottom: 300px;
  }
  
  .anschnitt-top .image-fullwidth-content-wrapper {
    padding: 350px 0 200px 0;
  }

  .anschnitt-bottom .image-fullwidth-content-wrapper {
    padding: 200px 0 350px 0;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .image-fullwidth-block-section.anschnitt-top:after {
    padding-bottom: 100px;
  }
  
  .anschnitt-top .image-fullwidth-content-wrapper {
    padding: 160px 0 100px 0;
  }

  .anschnitt-bottom .image-fullwidth-content-wrapper {
    padding: 100px 0 160px 0;
  }
  
  .image-fullwidth-descriptions {
    width: 100%;
  }
  
}

/* =================== Block : Slider (Volle Breite) =================== */
.slider-fullwidth-block-section {
  background: #FFF;
}

.slider-fullwidth-block-section.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.slider-fullwidth-block-section.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.slider-fullwidth-content-wrapper {
  position: relative;
}

.anschnitt-top .slider-fullwidth-content-wrapper {
  padding: 260px 0 135px 0;
}

.anschnitt-bottom .slider-fullwidth-content-wrapper {
  padding: 135px 0 260px 0;
}

.slider-fullwidth-slider {
  overflow: hidden;
}

.slider-fullwidth-slider .embla {
  width: 100%;
}

.slider-fullwidth-slider .embla__container {
  display: flex;
}

.slider-fullwidth-slider .embla__slide {
  flex: 0 0 100% !important;
  margin-left: 50px;
}

.slider-fullwidth-slider .embla__slide:first-child {
  margin-left: 0;
}

.slider-fullwidth-slider .embla__slide img {
  max-width: 100%;
  vertical-align: middle;
}

.slider-fullwidth-slider .embla__slide.has-video {
  position: relative;
}

.slider-fullwidth-slider .embla__slide.has-video video {
  max-width: 100%;
  vertical-align: middle;
}

.slider-fullwidth-block-section .embla-progress-dot {
  background-color: #A0A8BA;
  cursor: pointer;
}

.slider-fullwidth-block-section .embla-progress-dot.active,
.slider-fullwidth-block-section .embla-progress-dot:hover {
  background-color: #1651A5;
}

.slider-fullwidth-slider-descriptions {
  display: flex;
  height: 70px;
  text-align: center;
  justify-content: space-around;
  align-items: center;
  position: absolute;
  width: 100%;
  max-width: 1440px;
  text-align: center;
  bottom: 180px; 
  z-index: 1;
}

.slider-fullwidth-image-description {
  position: absolute;
  font-size: 18px;
  font-weight: 700;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s;
}

.slider-fullwidth-image-description.active {
  opacity: 1;
}

.anschnitt-top .slider-fullwidth-slider-descriptions {
	bottom: 60px;
}

@media only screen and (min-width: 1024px) {
  
  .anschnitt-top .slider-fullwidth-content-wrapper {
    padding: 300px 0 200px 0;
  }

  .anschnitt-bottom .slider-fullwidth-content-wrapper {
    padding: 200px 0 300px 0;
  }
  
  .slider-fullwidth-slider-descriptions {
    bottom: 230px;
  }
	
  .anschnitt-top .slider-fullwidth-slider-descriptions {
    bottom: 130px;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .slider-fullwidth-block-section.anschnitt-top:after {
    padding-bottom: 300px;
  }

  .slider-fullwidth-block-section.anschnitt-bottom:after {
    padding-bottom: 300px;
  }
  
  .anschnitt-top .slider-fullwidth-content-wrapper {
    padding: 350px 0 200px 0;
  }

  .anschnitt-bottom .slider-fullwidth-content-wrapper {
    padding: 200px 0 350px 0;
  }
  
  .slider-fullwidth-slider-descriptions {
    bottom: 280px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .slider-fullwidth-block-section.anschnitt-bottom:after {
    padding-bottom: 100px;
  }
  
  .anschnitt-top .slider-fullwidth-content-wrapper {
    padding: 220px 0 100px 0;
  }

  .anschnitt-bottom .slider-fullwidth-content-wrapper {
    padding: 100px 0 220px 0;
  }
  
  .slider-fullwidth-slider-descriptions {
    bottom: 160px;
  }
  
  .slider-fullwidth-image-description {
    font-size: 16px;
  }
  
}

/* =================== Block : Text =================== */
.documents-block-section.anschnitt-bottom + .text-block-section {
  padding-top: 100px;
}

.text-block-section .text-wrapper {
  width: calc(66.66% - 17px);
  margin: 0 auto;
}

.text-block-section h2 {
  margin-bottom: 27px;
}

.text-block-section h2 strong {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  color: #2C95FF;
}

.text-block-section h3 {
  margin-bottom: 10px;
}

.text-block-section h4 {
  margin-bottom: 40px;
  color: #1651A5;
}

.text-block-section .text-wrapper img {
  max-width: 100%;
  height: auto;
  margin: 27px 0;
}

.text-block-section .text-wrapper p + h2,
.text-block-section .text-wrapper p + h3,
.text-block-section .text-wrapper p + p {
  margin-top: 27px;
}

.text-block-section .text-wrapper a {
  color: #2C95FF;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s;
}

.text-block-section .text-wrapper a:hover {
  color: #1651A5;
}

.text-block-link {
  margin-top: 27px;
}

.text-block-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.text-block-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

@media only screen and (min-width: 1024px) {
  
  .documents-block-section.anschnitt-bottom + .text-block-section {
    padding-top: 100px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .documents-block-section.anschnitt-bottom + .text-block-section {
    padding-top: 100px;
  }
  
  .text-block-section .text-wrapper {
    width: 100%;
  }
  
}

/* =================== Block : iFrame =================== */ 
.iframe-block-section {
    margin: 50px 0;
}

.iframe-block-section + .text-block-section {
  margin-top: 0;
}

.iframe-block-section .text-wrapper {
  width: calc(66.66% - 17px);
  margin: 0 auto;
}

.iframe-block-section iframe {
  width: 100%;
  height: 200px;
}

@media only screen and (min-width: 1px) and (max-width: 767px) {
  
  .iframe-block-section iframe {
    height: 2500px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .iframe-block-section .text-wrapper {
    width: 100%;
  }
  
}

/* =================== Block : FAQs =================== */ 
.imagetextpng-block-section + .faqs-block-section {
  margin-top: 0;
}

.faqs-block-section + section[data-section-bg="dark"].anschnitt-bottom {
  margin-top: 0;
}

.faqs-block-section .full-wrapper {
  padding-bottom: 135px;
}

.faqs-block-title {
  text-align: center;
  margin-bottom: 50px;
}

.faq-filter {
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.faq-filter-item {
  margin: 0 35px;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}

.has-overflow .faq-filter-item {
  margin: 0 20px;
}

.faq-filter-item.active,
.faq-filter-item:hover {
  color: #2C95FF;
}

.faq-search {
  position: relative;
  margin-bottom: 50px;
}

.faq-search input {
  position: relative;
  width: 100%;
  padding: 10px 125px 10px 25px;
  background: #DADFE9;
  border: 2px solid transparent;
  border-radius: 17px;
  font-family: 'Lexend Deca', sans-serif;
  font-size: 18px;
  line-height: 36px;
  font-weight: 700;
  box-sizing: border-box;
  transition: border-color 0.3s;
}

.faq-search input:focus {
  border-color: #2C95FF;
  outline: none;
}

.faq-search-icon {
  position: absolute;
  width: 26px;
  height: 26px;
  top: 17px;
  right: 25px;
}

.faq-search-clear {
  display: none;
  position: absolute;
  width: 26px;
  height: 26px;
  top: 17px;
  right: 68px;
  cursor: pointer;
}

.has-value .faq-search-clear {
  display: block;
}

.faqs-count h3 {
  margin-bottom: 23px;
}

.faqs-block-accordeon-wrapper {
  padding: 25px;
  background: #FFF;
  border-radius: 17px;
  margin-bottom: 25px;
}

.faqs-block-accordeon-wrapper:last-child {
  margin-bottom: 0;
}

.faqs-block-question h4 {
  position: relative;
  padding-right: 76px;
}

.accordeon-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 26px;
  height: 26px;
  border: 2px solid #07284C;
  border-radius: 100%;
  cursor: pointer;
}

.accordeon-toggle:before,
.accordeon-toggle:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 3px;
  width: 16px;
  height: 2px;
  background: #07284C;
  transition: transform 0.3s;
}

.accordeon-toggle:after {
  transform: rotateZ(90deg);
}

.accordeon-wrapper.active .accordeon-toggle:after {
  transform: rotateZ(0deg);
}

.faqs-block-answer {
  display: none;
  padding-top: 18px;
  padding-right: 25px; 
}

.faqs-block-answer p {
  font-size: 14px;
}

.faqs-block-answer a {
  color: #2C95FF;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s;
}

.faqs-block-answer a:hover {
  color: #1651A5;
}

.faqs-block-accordeon-wrapper.active .faqs-block-answer {
  display: block;
}

.faqs-block-accordeon-wrapper.no-search-result {
  display: none !important;
}

@media only screen and (min-width: 1024px) {
  
  .faqs-block-section .full-wrapper {
    padding-bottom: 200px;
  }
  
  .faq-search input {
    padding: 24px 125px 24px 48px;
  }
  
  .faq-search-icon {
    top: 29px;
    right: 34px;
  }

  .faq-search-clear {
    top: 29px;
    right: 80px;
  }
  
  .faqs-block-accordeon-wrapper {
    padding: 24px 40px;
    margin-bottom: 35px;
  }
  
  .accordeon-toggle {
    top: 5px;
  }
  
  .faqs-block-answer {
    padding-top: 18px;
    padding-right: 76px;
  }
  
  .faqs-block-answer p {
    font-size: 16px;
  }
  
}

@media only screen and (min-width: 14px) and (max-width: 600px) {
  
  .faqs-block-section .full-wrapper {
    padding-bottom: 100px;
  }
  
}

/* =================== Block : Jobs =================== */ 
.jobs-block-title {
  text-align: center;
  margin-bottom: 50px;
}

.jobs-filter {
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 30px;
  justify-content: center;
}

.jobs-filter-item {
  margin: 0 35px;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}

.jobs-filter-item.active,
.jobs-filter-item:hover {
  color: #2C95FF;
}

.has-overflow .jobs-filter-item {
  margin: 0 20px;
}

.jobs-block-accordeon-wrapper {
  padding: 25px;
  background: #FFF;
  border-radius: 17px;
  margin-bottom: 35px;
}

.job-block-title h4 {
  position: relative;
  padding-right: 76px;
}

.job-block-content {
  display: none;
  padding-top: 18px;
  padding-right: 76px;
}

.jobs-block-accordeon-wrapper.active .job-block-content {
  display: block;
}

.jobs-block-no-entries {
  color: #A0A8BA;
  text-align: center;
}

.job-block-content p {
  margin-bottom: 27px;
}

.jobs-link {
  margin-top: 50px;
  text-align: center;
}

.job-block-document + .job-block-document {
  margin-top: 10px;
}

.jobs-link a {
  position: relative;
  display: inline-block;
  padding-right: 155px;
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.job-block-document a {
  position: relative;
  display: inline-block;
  padding-right: 60px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  color: #2C95FF;
  transition: color 0.3s;
}

.job-block-document a span {
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 5px;
}

.jobs-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.job-block-document a svg {
  transition: fill 0.3s;
}

.job-block-document a:hover {
  color: #1651A5;
}

.job-block-document a:hover svg {
  fill: #1651A5;
}

@media only screen and (min-width: 1024px) {
  
  .jobs-block-accordeon-wrapper {
    padding: 24px 40px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

  .job-block-content {
    padding-right: 0;
  }

  .job-block-document a {
    font-size: 15px;
  }
  
}

/* =================== Block : Team =================== */ 
.team-block-title {
  text-align: center;
  margin-bottom: 50px;
}

.team-filter {
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 30px;
  justify-content: center;
}

.team-filter-item {
  margin: 0 35px;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}

.team-filter-item.active,
.team-filter-item:hover {
  color: #2C95FF;
}

.has-overflow .team-filter-item {
  margin: 0 20px;
}

.team-block-team-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.team-block-member {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-bottom: 50px;
  background: #FFF;
  border-radius: 17px;
  overflow: hidden;
}

.team-block-member-image {
  width: calc(50% - 40px);
  background-size: cover;
  background-position: center;
}

.team-block-member-content {
  display: flex;
  flex-direction: column;
  width: calc(50% + 40px);
  padding: 40px;
}

.team-block-member-name h4,
.team-block-member-funktion {
  line-height: 1.3;
}

.team-block-member-funktion {
  margin-top: 10px;
  min-height: 110px;
}

.team-block-member-contact {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}

.team-block-member-email a,
.team-block-member-phone a,
.team-block-member-linkedin a,
.team-block-member-booking a {
  position: relative;
  display: inline-block;
  padding-right: 60px;
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.team-block-member-email a:after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 4px;
  background-image: url(images/envelope.svg);
}

.team-block-member-phone a:after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 4px;
  background-image: url(images/telephone.svg);
}

.team-block-member-linkedin a:after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 4px;
  background-image: url(images/linkedin.svg);
  background-size: 26px;
}

.team-block-member-booking a:after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  right: 0;
  top: 2px;
  background-image: url(images/booking.svg);
  background-size: 30px;
}

@media only screen and (min-width: 1024px) {
  
  .team-block-member {
    width: calc(50% - 25px);
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .team-block-member {
    flex-direction: column;
  }
  
  .team-block-member-image {
    width: 100%;
    padding-bottom: 100%;
  }
  
  .team-block-member-content {
    padding: 50px 25px 40px 25px;
    width: 100%;
  }
  
  .team-block-member-funktion {
    margin: 20px 0;
    font-size: 14px;
    min-height: auto;
  }
  
}

/* =================== Block : Dokumente =================== */
.documents-block-section {
  overflow: visible;
  z-index: 1;
}

.documents-block-section.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #07284C;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.documents-block-section.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #07284C;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.slider-block-section + .documents-block-section {
  margin-top: 0;
}

.documents-block-section + .slider-block-section {
  z-index: 0;
}

.documents-content-wrapper {
  position: relative;
  background: #07284C;
}

.anschnitt-bottom .documents-content-wrapper {
  padding: 100px 0 50px 0;
}

.anschnitt-top .documents-content-wrapper {
  padding: 50px 0 100px 0;
}

.documents-content-wrapper .full-wrapper {
  position: relative;
  z-index: 1;
}

.documents-block-section .metabox-flex-wrapper {
  gap: 50px;
}

.documents-block-title {
  color: #FFF;
  text-align: center;
  margin-bottom: 100px;
}

.documents-block-title h4 {
  font-weight: 400;
  margin-bottom: 24px;
}

.documents-block-title h2 strong {
  font-size: inherit;
  line-height: inherit;
  color: #2C95FF;
}

.documents-block-title p {
  max-width: 800px;
  margin: 0 auto;
  margin-top: 24px;
}

.documents-block-title-link {
  margin-top: 24px;
}

.documents-block-title-link a {
  position: relative;
  display: inline-block;
  /*padding-right: 155px;*/
  color: #2C95FF;
  font-weight: 700;
  font-size: 18px;
  line-height: 35px;
  text-decoration: none;
}

.documents-block-title-link a:hover .link-arrow {
  animation-name: pointy;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.documents-block-section .metabox-flex-wrapper {
  flex-wrap: wrap;
}

.documents-block-document {
  position: relative;
  width: 100%;
  padding: 25px 25px 25px 110px;
  background: #FFF;
  border-radius: 17px;
}

.document-icon {
  position: absolute;
  top: 25px;
  left: 25px;
  width: 60px;
  height: 60px;
  background: #0D85FE26;
  border-radius: 8px;
}

.document-icon svg {
  width: 36px;
  height: 48px;
  padding: 6px 12px;
}

.documents-block-document h4,
.document-info {
  margin-bottom: 26px;
}

.document-download {
  position: relative;
  display: inline-block;
}  

.document-download a {
  display: inline-block;
  padding-right: 60px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  color: #2C95FF;
  transition: color 0.3s;
}

.document-download a svg {
  transition: fill 0.3s;
}

.document-download a:hover {
  color: #1651A5;
}

.document-download a:hover svg {
  fill: #1651A5;
}

.document-download-icon {
  position: absolute;
  width: 26px;
  height: 26px;
  right: 0;
  top: 5px;
}

@media only screen and (min-width: 1024px) {
  
  .documents-block-document {
    width: calc(50% - 25px);
    padding: 40px 40px 40px 120px;
  }
  
  .document-icon {
    top: 40px;
    left: 30px;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .documents-block-section.anschnitt-top:after {
    padding-bottom: 300px;
  }

  .documents-block-section.anschnitt-bottom:after {
    padding-bottom: 300px;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {

  .documents-block-section.anschnitt-top:after {
    padding-bottom: 100px;
  }
  
  .documents-block-section.anschnitt-bottom:after {
    padding-bottom: 100px;
  }
  
  .anschnitt-bottom .documents-content-wrapper {
    padding: 100px 0 50px 0;
  }

  .anschnitt-top .documents-content-wrapper {
    padding: 50px 0 100px 0;
  }
  
  .documents-block-title {
    text-align: left;
  }
  
  .document-info,
  .document-download a {
    font-size: 15px;
  }
  
  .documents-block-document h4,
  .document-info {
    margin-bottom: 20px;
  }

}

/* =================== Block : Video & Youtube =================== */
.video-block-section {
  background: #FFF;
}

.video-block-section.anschnitt-top:after {
  content: "";
  position: absolute;
  width: 110%;
  top: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(-50%) rotateZ(-6deg);
  transform-origin: center center;
}

.video-block-section.anschnitt-bottom:after {
  content: "";
  position: absolute;
  width: 110%;
  bottom: 0px;
  left: -5%;
  padding-bottom: 200px;
  background: #F0F2F6;
  transform: translateY(50%) rotateZ(-6deg);
  transform-origin: center center;
}

.video-content-wrapper {
  position: relative;
}

.anschnitt-top .video-content-wrapper {
  padding: 300px 0 200px 0;
}

.anschnitt-bottom .video-content-wrapper {
  padding: 200px 0 300px 0;
}

.video-block-video-wrapper {
  position: relative;
  overflow: hidden;
}

.video-block-video-wrapper.landscape video {
  width: 100%;
}

.video-block-video-wrapper.portrait video {
  width: 100%;
}

.video-block-video-wrapper.youtube {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.video-block-video-wrapper.youtube.ready iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.video-block-poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}

.video-block-play,
.video-block-play-youtube {
  position: absolute;
  width: 51.33px;
  height: 59.33px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background-image: url(images/videoPlay@2x.png);
  background-size: contain;
  cursor: pointer;
}

.video-block-poster-youtube {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-size: cover;
}

.video-block-description {
  text-align: center;
  margin-top: 27px;
}

@media only screen and (min-width: 1024px) {

  .video-block-play,
  .video-block-play-youtube {
    width: 76px;
    height: 89px;
  }
  
}

@media only screen and (min-width: 1920px) {
  
  .video-block-section.anschnitt-top:after {
    padding-bottom: 300px;
  }

  .video-block-section.anschnitt-bottom:after {
    padding-bottom: 300px;
  }
  
  .anschnitt-top .video-content-wrapper {
    padding: 350px 0 200px 0;
  }

  .anschnitt-bottom .video-content-wrapper {
    padding: 200px 0 350px 0;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .video-block-section.anschnitt-top:after {
    padding-bottom: 100px;
  }

  .video-block-section.anschnitt-bottom:after {
    padding-bottom: 100px;
  }

  .anschnitt-top .video-content-wrapper {
    padding: 150px 0 100px 0;
  }

  .anschnitt-bottom .video-content-wrapper {
    padding: 100px 0 150px 0;
  }
  
}

/* =================== Block : Formulare =================== */
.forms-block-section + .anschnitt-top {
  margin-top: 200px;
}

.forms-block-title {
  text-align: center;
  margin-bottom: 50px;
}

.wpcf7-form label {
  display: block;
  position: relative;
  padding: 24px calc(75% + 37px) 24px 40px;
  border-radius: 17px;
  background: #FFF;
  font-size: 18px;
  line-height: 36px;
  font-weight: 700;
}

.wpcf7-form > p > label,
.wpcf7-form > div > p > label {
  margin-bottom: 35px;
}

.wpcf7-form label .hint {
  display: block;
  color: #CCC;
  line-height: 10px;
}

.wpcf7-form label br {
  display: none;
}

.wpcf7-form  label.wpcf7-textarea {
  padding: 24px 40px;
}

.wpcf7-form > p > label > .wpcf7-form-control-wrap,
.wpcf7-form > div > p > label > .wpcf7-form-control-wrap,
.wpcf7-file-upload > p > lable > .wpcf7-form-control-wrap {
  position: absolute;
  display: block;
  right: 40px;
  top: 24px;
  width: calc(75% - 48px);
}

.wpcf7-form > p > label.wpcf7-textarea .wpcf7-form-control-wrap {
  position: relative;
  float: right;
  right: 0;
  top: 0;
  width: calc(75% + 12px);
}

.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"],
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap textarea {
  width: 100%;
  border: 0;
  border-bottom: 2px solid #FFF;
  font-family: 'Lexend Deca', sans-serif;
  font-size: 18px;
  line-height: 36px; 
  box-sizing: border-box;
  transition: border-color 0.3s;
  resize: none;
  appearance: none;
}

.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"],
.wpcf7-form-control-wrap textarea {
  background: #FAFAFA;
}

.wpcf7-form-control-wrap select {
  cursor: pointer;
}

.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"],
.wpcf7-form-control-wrap select {
  height: 36px;
}

.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"] {
  padding: 0 5px;
}

.wpcf7-form label.wpcf7-select:after {
  content: "";
  position: absolute;
  top: 29px;
  right: 40px;
  width: 26px;
  height: 26px;
  background-color: #FFF;
  background-image: url(images/chevron-down.svg);
  background-size: contain;
}

.wpcf7-form-control-wrap input[name="docs-zl-mfcf7-upld-btn"] {
  position: absolute;
  left: -2px;
  width: 100%;
  height: 36px;
  background: #FFF;
  border: 0;
  text-align: left;
  font-family: 'Lexend Deca', sans-serif;
  font-size: 18px;
  line-height: 36px;
  cursor: pointer;
}

.wpcf7-form-control-wrap input[type="text"]:focus,
.wpcf7-form-control-wrap input[type="email"]:focus,
.wpcf7-form-control-wrap select:focus,
.wpcf7-form-control-wrap textarea:focus {
  border-color: #2C95FF;
  outline: none;
}

.wpcf7-file-upload {
  position: relative;
  margin-bottom: 35px;
  min-height: 84px;
}

.wpcf7-file-upload:after {
  content: "";
  position: absolute;
  top: 29px;
  right: 40px;
  width: 26px;
  height: 26px;
  background-image: url(images/cloud-upload.svg);
  background-size: contain;
}

.wpcf7-file-upload .wpcf7-form-control-wrap {
  display: block;
  padding-left: calc(25% + 8px);
  min-height: 36px;
  background: #FFF;
  margin-top: -93px;
  border-bottom-left-radius: 17px;
  border-bottom-right-radius: 17px;
} 

.wpcf7-file-upload br {
  display: none;
}

.codedropz-upload-handler {
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  position: relative;
}

.codedropz-upload-container {
  padding: 0;
}

.codedropz-upload-inner {
  overflow: hidden;
  width: 100%;
  text-align: left;
  text-overflow: ellipsis;
  font-weight: inherit;
}

.codedropz-upload-inner h3,
.codedropz-upload-inner span,
.dnd-upload-counter {
  display: none;
}

.codedropz-btn-wrap {
  padding-left: 5px;
}

.codedropz-btn-wrap a {
  display: inline-block;
  color: inherit;
  font-size: 18px;
}

.dnd-upload-status {
  padding-right: 106px;
}

.codedropz-upload-wrapper {
  padding-bottom: 24px;
}

.dnd-upload-status .dnd-upload-image {
  display: none;
}

.dnd-upload-status .dnd-upload-details {
  padding-left: 5px;
}

.dnd-upload-status .dnd-upload-details .name {
  color: inherit;
}

.dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
  background: #2C95FF;
  padding-right: 4px;
}

.dnd-upload-status .dnd-upload-details .remove-file {
  right: 148px;
  top: 20px;
}

.dnd-upload-status .dnd-upload-details .remove-file span:after {
  background-image: url(images/trash3.svg);
}

.wpcf7-submit-wrapper {
  text-align: right;
}

.wpcf7 input[type="submit"] {
  background: none;
  background-image: url(images/send.svg);
  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 40px;
  border: 0;
  color: #2C95FF;
  font-size: 18px;
  line-height: 36px;
  font-weight: 700;
  cursor: pointer;
}

.wpcf7 input[type="submit"].submitting {
  background: none;
  background-image: url(images/spinner.svg);
  background-position: 110% center;
  background-size: 50px 50px;
  background-repeat: no-repeat;
}

.wpcf7-acceptance-wrapper a {
  color: #2C95FF;
  text-decoration: none;
  transition: color 0.3s;
  font-size: inherit;
}

.wpcf7-acceptance-wrapper a:hover {
  color: #1651A5;
}

.wpcf7-not-valid-tip {
  display: inline-block;
  padding-left: 5px;
  font-size: 14px;
  line-height: 28px;
  font-weight: 400;
  color: #2C95FF;
  transform: translateY(-8px);
}

.wpcf7-file-upload .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -2px;
  transform: none;
}

.wpcf7 .screen-reader-response {
  display: none;
}

.wpcf7-response-output {
  text-align: center;
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
  
  .wpcf7-form label {
    padding: 24px calc(66.66% + 47px) 24px 40px;
  }
  
  .wpcf7-form > p > label > .wpcf7-form-control-wrap,
  .wpcf7-form > div > p > label > .wpcf7-form-control-wrap,
  .wpcf7-file-upload > p > lable > .wpcf7-form-control-wrap {
    width: calc(66.66% - 58px);
  }
  
  .wpcf7-form > p > label.wpcf7-textarea .wpcf7-form-control-wrap {
    width: calc(66.66% - 5px);
  }
  
  .wpcf7-file-upload .wpcf7-form-control-wrap {
    padding-left: calc(33.33% + 17px);
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
  
  .forms-block-section + .anschnitt-top {
    margin-top: 0px;
  }
  
  .wpcf7-form label {
    padding: 25px;
    font-size: 15px;
  }
  
  .wpcf7-form label.wpcf7-textarea {
    padding: 25px;
    font-size: 15px;
  }
  
  .wpcf7-form > p > label > .wpcf7-form-control-wrap,
  .wpcf7-form > div > p > label > .wpcf7-form-control-wrap,
  .wpcf7-file-upload > p > lable > .wpcf7-form-control-wrap {
    position: static;
    width: calc(100% + 5px);
    margin-left: -5px;
  }
  
  .wpcf7-form > p > label.wpcf7-textarea .wpcf7-form-control-wrap {
    width: calc(100% + 5px);
  }
  
  .wpcf7-form-control-wrap input[type="text"],
  .wpcf7-form-control-wrap input[type="email"],
  .wpcf7-form-control-wrap select,
  .wpcf7-form-control-wrap textarea {
    font-size: 16px;
  }
  
  .wpcf7-form label.wpcf7-select:after {
    top: 66px;
    right: 25px;
  }
  
  .wpcf7-file-upload .wpcf7-form-control-wrap {
    padding-left: 18px;
    /*margin-top: -20px;*/
  }
  
  .codedropz-btn-wrap a {
    font-size: 16px;
  }
  
  .wpcf7-file-upload:after {
    top: 66px;
    right: 25px
  }
	
  .wpcf7-form .wpcf7-acceptance label {
	padding: 25px;
  }
  
  .wpcf7-form .wpcf7-acceptance label input {
    top: 25px;
  }
  
  .wpcf7-list-item-label {
    display: inline-block;
    font-size: 14px;
    line-height: 28px;
  }
  
}

/* =================== Formulare (Tab-Layout) =================== */
.tab-forms-filter {
    display: flex;
    padding-bottom: 20px;
    margin-bottom: 30px;
    justify-content: center;
}

.tab-forms-filter-item {
    margin: 0 35px;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
    transition: color 0.3s;
    cursor: pointer;
}

.tab-forms-filter-item.active,
.tab-forms-filter-item:hover {
    color: #2C95FF;
}

.tab-forms-hidden {
	display: none;
}

.wpcf7-checkbox-wrapper,
.wpcf7-radio-wrapper {
	background: #FFFFFF;
	border-radius: 17px;
	margin-bottom: 35px;
}

.wpcf7-form .wpcf7-checkbox-wrapper label,
.wpcf7-form .wpcf7-radio-wrapper label {
	padding: 12px 24px 12px 40px;
}

.wpcf7-checkbox-title,
.wpcf7-radio-title {
	padding: 24px 24px 0 40px;
}

.wpcf7-checkbox-title p,
.wpcf7-radio-title p {
	font-size: 18px;
    line-height: 36px;
    font-weight: 700;
}

.wpcf7-checkbox-wrapper .wpcf7-list-item,
.wpcf7-radio-wrapper .wpcf7-list-item {
	display: inline-block;
	width: 50%;
}

.wpcf7-checkbox-wrapper .wpcf7-list-item.first,
.wpcf7-radio-wrapper .wpcf7-list-item.first {
	padding-top: 12px;
}

.wpcf7-checkbox-wrapper .wpcf7-list-item.last,
.wpcf7-radio-wrapper .wpcf7-list-item.last {
	padding-bottom: 12px;
}

.wpcf7-checkbox-wrapper input[type=checkbox],
.wpcf7-radio-wrapper input[type=radio],
.wpcf7-acceptance input[type=checkbox] {
	position: absolute;
	visibility: hidden;
	width: 20px;
	height: 20px;
	top: 0;
	left: 0;
}

.wpcf7-checkbox-wrapper input[type=checkbox] + span,
.wpcf7-radio-wrapper input[type=radio] + span,
.wpcf7-acceptance input[type=checkbox] + span {
	display: block;
    position: relative;
    padding-left: 40px;
    cursor: pointer;
}

.wpcf7-checkbox-wrapper input[type=checkbox] + span:before,
.wpcf7-acceptance input[type=checkbox] + span:before {
	display: block;
    position: absolute;
    content: '';
    height: 20px;
    width: 20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 3px solid #07284C;
    border-radius: 6px;
}

.wpcf7-radio-wrapper input[type=radio] + span:before {
	display: block;
    position: absolute;
    content: '';
    height: 20px;
    width: 20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 3px solid #07284C;
    border-radius: 100%;
}

.wpcf7-checkbox-wrapper input[type=checkbox] + span:after,
.wpcf7-acceptance input[type=checkbox] + span:after {
	display: block;
	position: absolute;
	content: "";
	height: 20px;
    width: 20px;
    top: 50%;
    transform: translateY(-50%);
    left: 3px;
	visibility: hidden;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='currentColor'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E") no-repeat 50% 50%;
  	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='currentColor'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E") no-repeat 50% 50%;
  	-webkit-mask-size: 24px 24px;
  	mask-size: 24px 24px;
	background-color: currentColor;
}

.wpcf7-radio-wrapper input[type=radio] + span:after {
	display: block;
	position: absolute;
	content: "";
	height: 14px;
    width: 14px;
    top: 50%;
    transform: translateY(-50%);
    left: 6px;
	visibility: hidden;
    border-radius: 100%;
	background-color: currentColor;
}

.wpcf7-checkbox-wrapper input[type=checkbox]:checked + span,
.wpcf7-radio-wrapper input[type=radio]:checked + span {
	color: #2C95FF;
}

.wpcf7-checkbox-wrapper input[type=checkbox]:checked + span:before,
.wpcf7-radio-wrapper input[type=radio]:checked + span:before,
.wpcf7-acceptance input[type=checkbox]:checked + span:before{
	background: transparent;
	border-color: #2C95FF;
}

.wpcf7-checkbox-wrapper input[type=checkbox]:checked + span:after,
.wpcf7-radio-wrapper input[type=radio]:checked + span:after,
.wpcf7-acceptance input[type=checkbox]:checked + span:after {
	visibility: visible;
	color: #2C95FF;
}

.wpcf7-checkbox-wrapper .wpcf7-not-valid-tip,
.wpcf7-radio-wrapper .wpcf7-not-valid-tip {
	display: block;
	margin-left: 36px;
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
	
	.wpcf7-checkbox-wrapper .wpcf7-list-item,
	.wpcf7-radio-wrapper .wpcf7-list-item {
		width: 100%;
	}	
	
	.wpcf7-checkbox-title,
	.wpcf7-radio-title {
		padding-left: 25px;
	}
	
	.wpcf7-checkbox-title p,
	.wpcf7-radio-title p {
		font-size: 15px;
		line-height: 28px;
	}
	
	.wpcf7-form .wpcf7-checkbox-wrapper label,
	.wpcf7-form .wpcf7-radio-wrapper label {
		padding-left: 25px;
	}
	
}

/* =================== Block : Preispakete =================== */
.pricepackage-block-section + .slider-block-section {
	margin-top: 200px;
}

.pricepackage-block-section .embla {
	position: relative;
}

.pricepackage-block-title {
	text-align: center;
	margin-bottom: 50px;
}

.pricepackage-slider {
	display: flex;
	gap: 50px;
	align-items: stretch;
	opacity: 0;
	transition: opacity 0.15s;
}

.pricepackage-slider.show {
	opacity: 1;	
}

.pricepackage-slider.is-slider {
	cursor: all-scroll;
}

.pricepackage-slider .slider-slider-item {
	display: flex;
    flex-basis: 33.33%;
	min-width: calc(33.33% - 33px);
    flex-direction: column;
}

.pricepackage-item-top,
.pricepackage-item-bottom {
	position: relative;
	padding: 64px 32px 46px 32px;
    background: #FFFFFF;
	border: 2px solid #FFFFFF;
    border-radius: 17px;
}

.pricepackage-item-bottom {
	margin-top: 25px;
	padding-top: 46px;
	padding-bottom: 124px;
	flex-grow: 1;
}

.is-bestseller .pricepackage-item-top,
.is-bestseller .pricepackage-item-bottom {
	border-color: #2C95FF;
}

.pricepackage-bestseller {
	position: absolute;
    width: calc(100% + 4px);
    height: 42px;
    line-height: 40px;
    top: -2px;
    left: -2px;
    text-align: center;
    background: #2C95FF;
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    color: #FFFFFF;
    z-index: 1;
}

.pricepackage-name {
	margin-bottom: 16px;
	font-size: 32px;
    line-height: 43px;
    font-weight: bold;
    text-align: center;
}

.pricepackage-price {
	font-size: 18px;
    line-height: 29px;
    font-weight: bold;
    text-align: center;
}

.pricepackage-price-hint {
	font-size: 12px;
    line-height: 16px;
    text-align: center;
}

.pricepackage-subtitle {
	font-size: 18px;
    line-height: 29px;
    font-weight: bold;
	margin-top: 42px;
}

.pricepackage-item-bottom > .pricepackage-subtitle:first-child {
	margin-top: 0;	
}

.pricepackage-standard,
.pricepackage-additional {
	display: flex;
    gap: 8px;
	min-height: 30px;
    line-height: 24px;
	margin-top: 12px;
}

.pricepackage-standard-features ul {
	padding: 0 0 0 16px;
}

.pricepackage-standard-features p:first-child {
	margin-top: -4px;
}

.pricepackage-additional-feature p:first-child {
	margin-top: -4px;
}

.pricepackage-block-section .embla-progress-dot {
    width: 20px;
    height: 35px;
	border-radius: 4px;
	border: 2px solid #FFFFFF;
	border-top-width: 6px;
  	background-color: #FFFFFF;
}

.pricepackage-block-section .embla-progress-dot.active {
  	border-color: #2C95FF;
}

.pricepackage-options-name {
	margin-top: 16px;
}

.pricepackage-options-price {
	display: inline-block;
    padding: 0px 8px;
    background: #2C95FF;
    border-radius: 4px;
    color: #FFFFFF;	
}

.pricepackage-limits {
	margin-top: 42px;
}

.pricepackage-limits strong {
	font-size: 18px;
    line-height: 29px
}

.pricepackage-cto {
	position: absolute;
	bottom: 46px;
}

.pricepackage-comparison-block-section {
	padding-top: 200px;
	background: #FFFFFF;
}

.pricepackage-comparison-block-section + .slider-block-section:after {
	background: #FFFFFF;
}

.pricepackage-comparison-table {
	padding-top: 35px;
	padding-bottom: 200px;
}

.pricepackage-comparison-table-row {
	position: relative;
	display: flex;
	padding: 0 24px;
}

.comparison-table-header {
	position: relative;
	justify-content: center;
    width: 25%;
    padding-top: 40px;
    font-size: 24px;
    font-weight: bold;
    line-height: 40px;
}

.comparison-table-header.is-bestseller:after {
	content: "Bestseller";
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 12px;
    background: #2C95FF;
    color: #FFFFFF;
    font-weight: normal;
    font-size: 16px;
    line-height: 28px;
    border-radius: 4px;
}

.comparison-row-value {
	text-align: center;
}

.comparison-table-body {
	margin-top: 18px;
	background: #F0F2F6;
    border-radius: 17px;
}

.comparison-table-body.is-accordeon {
	cursor: pointer;	
}

.comparison-table-body.is-hidden {
	display: none;
	border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.comparison-table-body.is-hidden .comparison-col-value {
	align-items: flex-start;
	flex-direction: column;
	justify-content: flex-start;
}

.comparison-table-body.show-accordeon {
	border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.comparison-table-body.show-accordeon + .comparison-table-body {
	display: flex;
	margin-top: 0;
}

.comparison-table-col {
	display: flex;
    align-items: center;
    justify-content: center;
	width: 25%;
	padding: 24px 24px 24px 0;
	text-align: center;
}

.comparison-table-col svg {
	position: relative;
	top: 5px;
	transition: transform 0.3s;
}

.show-accordeon .comparison-accordeon-icon svg {
	transform: rotateZ(180deg);
}

.comparison-row-label {
	align-items: flex-start;
	justify-content: flex-start;
	font-size: 18px;
    font-weight: bold;
    text-align: left;
}

.is-hidden .comparison-row-label {
	font-weight: normal;	
}

.comparison-col-value ul {
	padding: 0 0 0 16px;
    text-align: left;
	max-width: 100%;
}

.comparison-col-value ul li {
	word-wrap: break-word;
}

.pricepackage-comparison-table-switcher {
	display: none;
}

.pricepackage-close {
	display: none;
	position: absolute;
	top: 3px;
    right: 3px;
	width: 32px;
	height: 32px;
	z-index: 1;
	cursor: pointer;
}

.pricepackage-close svg {
	padding: 5px;	
}

.is-bestseller .pricepackage-close {
	color: #FFFFFF;
}

@media only screen and (min-width: 1024px) {
	
	.comparison-table-header,
	.comparison-table-col {
		display: flex !important;
	}	
	
}

@media only screen and (min-width: 1px) and (max-width: 1023px) {
	
	.pricepackage-slider {
		flex-direction: column;
		gap: 25px;
	}
	
	.pricepackage-slider .slider-slider-item {
		flex-basis: 100%;
		min-width: 100%;
	}
	
	.pricepackage-item-top {
		padding: 25px;
        height: auto !important;
	}
	
	.pricepackage-item-bottom {
		padding: 25px 25px 100px 25px;
	}
	
	.is-bestseller .pricepackage-item-top {
		padding-top: 50px;
	}
	
	.pricepackage-subtitle,
	.pricepackage-standard,
	.pricepackage-additional,
	.pricepackage-item-bottom {
		display: none;
	}
	
	.expand .pricepackage-standard,
	.expand .pricepackage-additional,
	.expand + .pricepackage-item-bottom .pricepackage-subtitle {
		display: flex;
	}
	
	.expand .pricepackage-subtitle,
	.expand + .pricepackage-item-bottom {
		display: block;
	}
	
	.pricepackage-name {
		margin-bottom: 8px;
    	font-size: 24px;
    	line-height: 36px;
	}
	
	.pricepackage-price {
		font-size: 16px;
    	line-height: 24px;
	}
	
	.pricepackage-cto {
		bottom: 25px;
	}

	.pricepackage-comparison-block-section {
		padding-top: 100px;
	}
	
	.comparison-table-header[data-col-index="1"],
	.comparison-table-header[data-col-index="2"],
	.comparison-table-col[data-col-index="1"],
	.comparison-table-col[data-col-index="2"] {
		display: none;
	}
	
	.comparison-table-header {
		width: 100%;
	}

	.comparison-table-col {
		width: 50%;
	}
	
	.comparison-row-label {
		font-size: 16px;
    	line-height: 1.5;
	}
	
	.comparison-accordeon-icon {
		position: relative;
		top: -4px;
	}
	
	.comparison-table-col {
		line-height: 1.5;
	}
	
	.pricepackage-comparison-table {
		padding-top: 0;
		padding-bottom: 50px;
	}
	
	.pricepackage-comparison-table-row {
		padding: 0 18px;
	}
		
	.comparison-table-header.comparison-row-label {
		display: none;
	}
	
	.pricepackage-comparison-table-switcher {
		display: block;
		position: absolute;
		width: 32px;
        height: 32px;
		bottom: 2px;
		cursor: pointer;
	}
	
	.pricepackage-comparison-table-switcher svg {
		padding: 5px;
	}
	
	.pricepackage-comparison-table-switcher.switcher-prev {
		left: 0;
	}
	
	.switcher-prev svg {
		transform: rotateZ(180deg);
	}
	
	.pricepackage-comparison-table-switcher.switcher-next {
		right: 0;
	}
	
	.expand .pricepackage-close {
		display: block;
	}
	
}

/* =================== Animation & Extras =================== */
@keyframes pointy {
	0%, 20%, 50%, 80%, 100% {
		right: 25px;
	}
	40% {
		right: 15px;
	}
	60% {
		right: 20px;
	}
}

@keyframes pointy-inline {
	0%, 20%, 50%, 80%, 100% {
		transform: translateX(0px);
	}
	40% {
		transform: translateX(10px);
	}
	60% {
		transform: translateX(5px);
	}
}

.link-arrow {
  position: absolute;
  width: 95px;
  top: 50%;
  right: 25px;
  height: 2px;
  background: #2C95FF;
}  

.link-arrow-tip {
  position: absolute;
  right: 0px;
  top: -6px;
  width: 14px;
  height: 14px;
  border-top: 2px solid #2C95FF;
  border-right: 2px solid #2C95FF;
  transform: rotateZ(45deg);
}

.link-arrow-inline {
  position: relative;
  top: -5px;
  display: inline-block;
  width: 95px;
  margin: 0 25px;
  height: 2px;
  background: #2C95FF;
}

a:hover .link-arrow-inline {
  animation-name: pointy-inline;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.link-arrow-tip-inline {
  position: absolute;
  right: 0px;
  top: -6px;
  width: 14px;
  height: 14px;
  border-top: 2px solid #2C95FF;
  border-right: 2px solid #2C95FF;
  transform: rotateZ(45deg);
}

.link-arrow-nowrap {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.embla-progress {
  position: absolute;
  width: 100%;
  max-width: 1440px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 150px;
  z-index: 1;
}

.anschnitt-top .embla-progress {
  bottom: 50px;
}

.anschnitt-bottom .embla-progress {
  bottom: 150px;
}

.embla-dot-wrapper {
  text-align: center;
}

.embla-progress-dot {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0 5px;
  border-radius: 100%;
  transition: background-color 0.3s;
}

.paginierung {
  position: relative;
  display: flex;
  padding: 100px 0;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}

.paginierung-prev,
.paginierung-next {
  display: inline-block;
  height: 26px;
  width: 26px;
  cursor: pointer;
}

.paginierung-prev {
  margin-right: 150px;
  background-image: url(images/pag-prev.svg);
  background-size: contain;
}

.paginierung-text {
  font-weight: 700;
}

.paginierung-next {
  margin-left: 150px;
  background-image: url(images/pag-next.svg);
  background-size: contain;
}

.intense-wrapper {
  cursor: url(images/close-black.svg), auto;
}

.intense-caption {
  font-family: inherit;
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  word-spacing: 0;
  text-shadow: none;
}

.intense-caption h3 {
  margin: 0;
  padding: 10px 20px;
  font-size: 16px;
  letter-spacing: 0;
  max-width: unset;
}

@media only screen and (min-width: 1024px) {
  
	.embla-progress {
		bottom: 200px;
	}
	
	.anschnitt-top .embla-progress {
	  	bottom: 80px;
	}
	
	.anschnitt-bottom .embla-progress {
	  	bottom: 180px;
	}
	
	.pricepackage-block-section .embla-progress {
    	bottom: 100px;
  	}
    
}

@media only screen and (min-width: 1920px) {
  
  	.embla-progress {
    	bottom: 250px;
  	}
	
	.anschnitt-top .embla-progress {
        bottom: 80px;
    }
	
	.anschnitt-bottom .embla-progress {
        bottom: 230px;
    }
	
	.pricepackage-block-section .embla-progress {
    	bottom: 100px;
  	}
  
}

@media only screen and (max-width: 1023px) {

  .embla__slide:not(.has-video) {
    cursor: ne-resize;
  }
  
  .intense-image {
    cursor: ne-resize;
  }
  
}

@media only screen and (min-width: 1px) and (max-width: 600px) {
	
	.anschnitt-top .slider-fullwidth-slider-descriptions {
		bottom: 40px;
	}

  .embla-progress {
    width: auto;
    left: 25px;
    transform: none;
    bottom: 130px;
  }
  
  .anschnitt-top .embla-progress {
    bottom: 30px;
  }
  
  .paginierung {
    padding: 40px 0 100px;
  }
  
  .paginierung-prev {
    margin-right: 50px;
  }
  
  .paginierung-next {
    margin-left: 50px;
  }
  
}

/* =================== Helper =================== */
label.wpcf7-textarea:after,
.clearfix:after {
    content: "";
  	clear: both;
  	display: table;
}

