@charset "UTF-8";
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "Outfit";
  src: url("../fonts/outfit/Outfit-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
}
/*
Font Size
1.125rem
1.2rem
1.25rem
1.5rem
1.69rem
1.875rem
2rem
3.125rem
4.375rem
4.5rem
5rem
6.25rem
7.5rem
25rem
*/
:root {
  --font-size-small: 1.125rem;
  --font-size-base: 1.5rem;
  --font-size-hover-title: 2.5rem;
  --font-size-single-subtitle: 2.25rem;
  --font-size-team-detail: 3.0rem;
  --font-size-news-title: 3.5rem;
  --font-size-inline-h2: 4.5rem;
  --font-size-page-headline: 4.5rem;
  --font-size-page-h2: 3.5rem;
  --font-size-page-h3: 1.5rem;
  --font-size-section-h2: 6.25rem;
  --color-red: #ED1C24;
  --color-black: #000000;
  --color-white: #FFFFFF;
  --color-gray: #666666;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  letter-spacing: 1px;
  overflow-x: hidden;
}
body a {
  text-decoration: none;
  transition: all 0.3s ease;
}
body img {
  max-width: 100%;
  height: auto;
  border: 0;
}
body .text-center {
  text-align: center;
}
body .text-right {
  text-align: right;
}
body .btn-primary {
  background-color: var(--color-red);
  border: 1px solid var(--color-red);
  color: var(--color-white);
  font-size: var(--font-size-base);
  letter-spacing: 6px;
  text-transform: uppercase;
  padding: 10px 50px;
  display: inline-block;
  margin: 100px 0;
  transition: all 0.3s ease;
  transition-property: all !important;
}
body .btn-primary:hover, body .btn-primary:focus {
  background-color: #fff;
  color: var(--color-red);
}
body .swiper-button-next,
body .swiper-button-prev {
  color: var(--color-red) !important;
  opacity: 0;
  transition: all 0.3s ease;
}
body .col-16 {
  width: 100%;
}
body .col-15 {
  width: 93.75%;
}
body .col-14 {
  width: 87.5%;
}
body .col-13 {
  width: 81.25%;
}
body .col-12 {
  width: 75%;
}
body .col-11 {
  width: 68.75%;
}
body .col-10 {
  width: 62.5%;
}
body .col-9 {
  width: 56.25%;
}
body .col-8 {
  width: 50%;
}
body .col-7 {
  width: 43.75%;
}
body .col-6 {
  width: 37.5%;
}
body .col-5 {
  width: 31.25%;
}
body .col-offset-1 {
  margin-left: 6.25%;
}
body .col-offset-2 {
  margin-left: 12.5%;
}
body .col-offset-3 {
  margin-left: 18.75%;
}
body .col-offset-4 {
  margin-left: 25%;
}
body .col-offset-5 {
  margin-left: 31.25%;
}
body .col-offset-6 {
  margin-left: 37.5%;
}
body .col-offset-7 {
  margin-left: 43.75%;
}
body .col-offset-8 {
  margin-left: 50%;
}
body .col-offset-9 {
  margin-left: 56.25%;
}

.site-main {
  margin-bottom: 200px;
}

/* Header Styles */
.site-header {
  background: #fff;
  padding: 2rem 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-header-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.site-header-container .header-right {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.site-header-container .header-btn {
  background-color: var(--color-red);
  color: var(--color-white);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 15px;
  font-size: 1.25rem;
}
.site-header-container #language {
  margin-left: 15px;
  display: none;
}
.site-header-container #language a {
  color: var(--color-black);
  text-transform: uppercase;
  font-weight: 200;
  font-size: var(--font-size-base);
}
.site-header-container #mobile-button {
  margin-left: 15px;
  cursor: pointer;
  z-index: 20;
}
.site-header-container #mobile-button span {
  width: 45px;
  height: 2px;
  background-color: var(--color-red);
  margin: 12px 0;
  display: block;
  transition: transform 0.5s;
  opacity: 0.25s;
}
.site-header-container #mobile-button span:nth-child(1) {
  margin-top: 0;
}
.site-header-container #mobile-button span:nth-child(3) {
  margin-bottom: 0;
}
.site-header-container #mobile-button.active span:nth-child(1) {
  transform: translateY(15px) rotate(45deg);
}
.site-header-container #mobile-button.active span:nth-child(2) {
  opacity: 0;
}
.site-header-container #mobile-button.active span:nth-child(3) {
  transform: translateY(-13px) rotate(-45deg);
}

/* Navigation */
.main-navigation {
  display: flex;
  position: fixed;
  background-color: var(--color-white);
  width: 400px;
  max-width: 100%;
  height: 100vh;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 10;
}
.main-navigation .nav-menu {
  width: 100%;
  margin-top: 120px;
  overflow: scroll;
}
.main-navigation li {
  list-style: none;
  position: relative;
  overflow: hidden;
}
.main-navigation li a {
  color: var(--color-black);
  font-size: var(--font-size-base);
  padding: 15px 50px;
  display: block;
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}
.main-navigation li:hover > a, .main-navigation li:focus > a, .main-navigation li.current_page_item > a {
  color: var(--color-red);
}
.main-navigation li.menu-item-has-children > a::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 15px;
  right: 15px;
  top: 25px;
  background: url(../images/pfeil.svg) no-repeat center center;
  background-size: 30px 15px;
  transition: transform 0.3s ease;
}
.main-navigation li.menu-item-has-children.current_page_item .sub-menu, .main-navigation li.menu-item-has-children.active .sub-menu, .main-navigation li.menu-item-has-children.current_page_parent .sub-menu {
  opacity: 1;
  height: auto;
}
.main-navigation li.menu-item-has-children.current_page_item > a::after, .main-navigation li.menu-item-has-children.active > a::after, .main-navigation li.menu-item-has-children.current_page_parent > a::after {
  transform: rotate(-90deg);
}
.main-navigation .sub-menu {
  opacity: 0;
  height: 0;
  transition: all 0.3s ease;
}
.main-navigation .sub-menu li {
  padding-top: 0;
  padding-bottom: 0;
}
.main-navigation .sub-menu li a {
  font-size: var(--font-size-small);
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 80px;
}
.main-navigation.active {
  transform: translateX(0);
}

/* Footer */
.site-footer {
  background: var(--color-gray);
  color: #fff;
  margin-top: 150px;
}
.site-footer .container {
  position: relative;
  padding: 3rem 15px;
}
.site-footer .footer-contact-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 2rem;
  width: 450px;
  max-width: 100%;
}
.site-footer .footer-widgets {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 3rem;
}
.site-footer .footer-widgets .footer-widget-area {
  color: #fff;
  line-height: 1.5;
}
.site-footer .footer-widgets .footer-widget-area .widget_block:not(:last-child) {
  margin-bottom: 2rem;
}
.site-footer .footer-widgets .footer-widget-area .wp-block-image {
  max-width: 300px;
}
.site-footer .footer-widgets .footer-widget-area h2 {
  color: #fff;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.site-footer .footer-widgets .footer-widget-area ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer .footer-widgets .footer-widget-area ul li {
  margin-bottom: 0.5rem;
}
.site-footer .footer-widgets .footer-widget-area a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.site-footer .footer-widgets .footer-widget-area a:hover {
  color: var(--color-red);
}
.site-footer .footer-widgets .footer-widget-area strong {
  font-weight: 700;
}
.site-footer .footer-widgets .footer-widget-area #block-12 p strong {
  font-weight: 200;
  width: 45px;
  display: inline-block;
}
.site-footer .site-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 2rem;
  border-top: 1px solid rgb(255, 255, 255);
}
.site-footer .site-info .footer-social-container {
  width: 450px;
  max-width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}
.site-footer .site-info .copyright {
  font-size: 16px;
  width: 243.49px;
}
.site-footer .site-info .social-medial {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.site-footer .site-info .social-medial img {
  display: block;
}
.site-footer .site-info .social-medial a {
  margin: 0 10px;
}
.site-footer .site-info .footer-menu ul {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer .site-info .footer-menu ul a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  transition: color 0.3s ease;
}
.site-footer .site-info .footer-menu ul a:hover {
  color: var(--color-red);
}

.wpcf7-form .wpcf7-not-valid-tip {
  font-size: var(--font-size-small);
  color: var(--color-red);
}
.wpcf7-form .wpcf7-response-output {
  font-size: var(--font-size-small);
}
.wpcf7-form .column2 > p {
  display: flex;
  gap: 50px;
}
.wpcf7-form .column2 > p label {
  flex: 1;
  width: 50%;
}
.wpcf7-form label {
  font-weight: 700;
}
.wpcf7-form label .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7-form label .wpcf7-form-control-wrap select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
}
.wpcf7-form label .wpcf7-form-control-wrap input, .wpcf7-form label .wpcf7-form-control-wrap textarea, .wpcf7-form label .wpcf7-form-control-wrap select {
  width: 100%;
  resize: none;
  border: 1px solid var(--color-red);
  border-radius: 0;
  padding: 10px;
  margin-top: 10px;
  font-size: var(--font-size-base);
  font-weight: 200;
  letter-spacing: 1px;
}
.wpcf7-form .wpcf7-submit {
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: var(--font-size-small);
  font-family: "Outfit", sans-serif;
  padding: 10px 50px;
  display: inline-block;
  margin: 0;
  border: 1px solid var(--color-red);
  transition: all 0.3s ease;
  transition-property: all !important;
  cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover, .wpcf7-form .wpcf7-submit:focus {
  background-color: #fff;
  color: var(--color-red);
}

@media (max-width: 1200px) {
  :root {
    --font-size-hover-title: 2rem;
    --font-size-single-subtitle: 2rem;
    --font-size-news-title: 2.5rem;
    --font-size-inline-h2: 4rem;
    --font-size-page-headline: 4rem;
    --font-size-section-h2: 5rem;
  }
}
@media all and (max-width: 992px) {
  body .page-main .row {
    flex-direction: column;
    gap: 50px;
  }
  body .col-16, body .col-15, body .col-14, body .col-13, body .col-12, body .col-11, body .col-10, body .col-9, body .col-8, body .col-7, body .col-6, body .col-5 {
    width: 100%;
  }
  body .col-offset-1, body .col-offset-2, body .col-offset-3, body .col-offset-4, body .col-offset-5, body .col-offset-6, body .col-offset-7, body .col-offset-8, body .col-offset-9 {
    margin-left: 0;
  }
}
@media all and (max-width: 768px) {
  :root {
    --font-size-small: 1rem;
    --font-size-base: 1.2rem;
    --font-size-hover-title: 1.5rem;
    --font-size-news-title: 2.5rem;
    --font-size-team-detail: 2.5rem;
    --font-size-inline-h2: 3rem;
    --font-size-page-headline: 3rem;
    --font-size-page-h2: 2.5rem;
    --font-size-page-h3: 1.25rem;
    --font-size-section-h2: 4rem;
    --font-size-single-subtitle: 1.5rem;
  }
  body .btn-primary {
    margin: 50px 0 0;
  }
  .site-main.page-main {
    margin-bottom: 50px;
  }
  .site-header .site-branding {
    max-width: 200px;
  }
  .site-header .header-right .header-btn {
    display: none;
  }
  .site-footer.site-footer {
    margin-top: 50px;
  }
  .site-footer .container {
    padding: 3rem 15px;
  }
  .site-footer .footer-contact-container {
    flex-direction: column;
    gap: 1rem;
  }
  .site-footer .footer-widgets {
    grid-template-columns: 1fr;
    flex-direction: column;
    margin: 2.5rem 0 5rem;
  }
  .site-footer .site-info {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 1rem;
  }
  .site-footer .site-info .footer-social-container {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    align-items: center;
  }
  .site-footer .footer-menu ul {
    justify-content: center;
  }
  .wpcf7-form .column2 > p {
    flex-direction: column;
    gap: 20px;
  }
  .wpcf7-form .column2 > p label {
    width: 100%;
  }
}
@media (max-width: 576px) {
  :root {
    --font-size-small: 0.875rem;
    --font-size-base: 1rem;
    --font-size-inline-h2: 2.5rem;
    --font-size-page-headline: 2.5rem;
    --font-size-page-h2: 2.5rem;
    --font-size-page-h3: 1.125rem;
    --font-size-section-h2: 2.5rem;
  }
  body .btn-primary {
    font-size: var(--font-size-small);
  }
  body .swiper-button-next,
  body .swiper-button-prev {
    opacity: 1;
    top: 100px !important;
    margin-top: 0 !important;
  }
}
.reintext-main h1 {
  font-size: var(--font-size-page-h2);
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 100px;
}
@media all and (max-width: 768px) {
  .reintext-main h1 {
    font-size: 2rem;
    margin-bottom: 50px;
    hyphens: auto;
  }
}
.reintext-main h2 {
  font-size: var(--font-size-page-h2);
  font-weight: 100;
  margin-bottom: 30px;
}
.reintext-main h3 {
  font-size: var(--font-size-hover-title);
  margin-bottom: 30px;
}
.reintext-main h4 {
  font-size: var(--font-size-base);
  margin-bottom: 30px;
}
.reintext-main p {
  font-size: var(--font-size-base);
  margin-bottom: 30px;
  font-weight: 200;
  line-height: 2;
}
.reintext-main p strong {
  font-weight: 700;
}
.reintext-main p a {
  color: var(--color-red);
}
.reintext-main ul, .reintext-main ol {
  margin-bottom: 30px;
  margin-left: 25px;
}
.reintext-main ul li, .reintext-main ol li {
  font-size: var(--font-size-base);
  font-weight: 200;
  line-height: 2;
}
.reintext-main .entry-content,
.reintext-main .entry-header {
  padding-left: 0;
  padding-right: 0;
}

.page-main h1 {
  font-size: var(--font-size-page-headline);
  font-weight: 100;
  margin-bottom: 50px;
  line-height: 1;
}
.page-main h2 {
  font-size: var(--font-size-page-headline);
  font-weight: 100;
  letter-spacing: 0.2rem;
  margin-bottom: 50px;
}
.page-main h3 {
  font-size: var(--font-size-page-h3);
  font-weight: 200;
  line-height: 1.5;
  margin-bottom: 15px;
}
.page-main strong {
  font-weight: 700;
  font-size: var(--font-size-base);
}
.page-main p {
  font-size: var(--font-size-base);
  line-height: 1.5;
  font-weight: 200;
  margin-bottom: 30px;
}
.page-main a:not(.btn) {
  color: #ED1C24;
}
.page-main ul {
  list-style: none;
  margin-bottom: 15px;
}
.page-main ul li {
  font-size: var(--font-size-base);
  line-height: 1.5;
  font-weight: 200;
  padding-bottom: 15px;
  padding-left: 20px;
  position: relative;
}
.page-main ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  width: 10px;
  height: 10px;
  background-color: #ED1C24;
}
.page-main .animate-section .container {
  position: relative;
}
.page-main .page-animate {
  position: absolute;
  font-size: 37rem;
  font-weight: 700;
  color: #ED1C24;
}
.page-main .page-animate.page-animate-e {
  font-size: 52rem;
  left: 0;
  top: 0;
  line-height: 0;
  transform: translateX(-150%);
}
.page-main .page-animate#page-animate-e-1 {
  font-size: 40rem;
}
.page-main .page-animate#page-animate-e-2 {
  top: -100px;
}
.page-main .page-animate#page-animate-e-karriere {
  font-size: 40rem;
}
.page-main .page-animate.page-animate-b {
  right: 0;
  bottom: 0;
  line-height: 0;
  transform: translateX(150%);
}
.page-main .page-animate#page-animate-b-1 {
  font-size: 35rem;
  transform: translate3D(150%, 200px, 0);
}
.page-main .page-animate#page-animate-b-karriere {
  transform: translate(100%, 100px);
}
.page-main .page-animate.page-animate-l {
  font-size: 24rem;
  left: 0;
  bottom: 0;
  line-height: 0;
  transform: translateX(-150%);
}
.page-main .page-animate#page-animate-l-1 {
  transform: translate3D(-150%, -50px, 0);
}
.page-main .page-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.page-main .page-section:last-child {
  padding-bottom: 0;
}
.page-main .middle-banner-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.page-main .middle-banner-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-main .page-intro .page-subtitle {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--color-red);
  margin-bottom: 0;
}

.expertise-page {
  padding-top: 100px;
}
.expertise-page.has-submenu {
  padding-top: 0;
}
.expertise-page .curve-submenu {
  margin-bottom: 60px;
}

.arbeitsrecht-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.arbeitsrecht-steps .arbeitsrecht-step {
  width: 25%;
  flex-wrap: wrap;
  overflow: hidden;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.arbeitsrecht-steps .arbeitsrecht-step .arbeitsrecht-title {
  background-color: #ED1C24;
  text-align: center;
  padding: 15px 10px;
}
.arbeitsrecht-steps .arbeitsrecht-step .arbeitsrecht-title h3 {
  text-transform: uppercase;
  margin: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #fff;
  font-size: 1.5rem;
}
.arbeitsrecht-steps .arbeitsrecht-step:last-child .arbeitsrecht-title {
  background-color: #7C7C7B;
}
.arbeitsrecht-steps .arbeitsrecht-step-content {
  padding: 20px 10px 20px 20px;
}
.arbeitsrecht-steps .arbeitsrecht-step-content ul {
  margin: 0;
}
.arbeitsrecht-steps .arbeitsrecht-step-content li {
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin-bottom: 8px;
  line-height: 1.4;
  font-size: 1.5rem;
}

.news-archive-page {
  margin-top: 50px;
}
.news-archive-page h1 {
  font-size: var(--font-size-page-headline);
  font-weight: 100;
  margin-bottom: 50px;
  line-height: 1;
}
.news-archive-page .subheadline-2 {
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 0;
}
.news-archive-page .subheadline-1 {
  font-size: var(--font-size-base);
  font-weight: 100;
  color: var(--color-red);
  margin-bottom: 15px;
  text-transform: uppercase;
}
.news-archive-page .featured-post-title,
.news-archive-page .regular-news-title {
  font-size: var(--font-size-base);
  font-weight: 100;
  line-height: 1.5;
  margin-bottom: 15px;
}
.news-archive-page .regular-news-read-more,
.news-archive-page .featured-post-read-more {
  font-size: var(--font-size-small);
  font-weight: 700;
  color: var(--color-red);
}
.news-archive-page .featured-post-1 {
  margin-bottom: 20px;
}
.news-archive-page .featured-post-1 .featured-post-content {
  display: flex;
  flex-direction: row-reverse;
  gap: 30px;
  align-items: flex-end;
}
.news-archive-page .featured-post-1 .featured-post-thumbnail {
  flex: 50%;
}
.news-archive-page .featured-post-1 .featured-post-text {
  text-align: right;
  flex: 50%;
  padding-left: 6.25%;
}
.news-archive-page .featured-post-2 {
  margin-bottom: 20px;
}
.news-archive-page .featured-post-2 .featured-post-content {
  display: flex;
  flex-direction: row;
  gap: 30px;
  align-items: flex-end;
}
.news-archive-page .featured-post-2 .featured-post-thumbnail {
  flex: 37.5%;
  margin-left: 6.25%;
}
.news-archive-page .featured-post-2 .featured-post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-archive-page .featured-post-2 .featured-post-text {
  flex: 56.25%;
  padding-right: 6.25%;
}
.news-archive-page .featured-post-3 {
  margin-bottom: 20px;
}
.news-archive-page .featured-post-3 .featured-post-content {
  display: flex;
  flex-direction: row-reverse;
  gap: 30px;
  align-items: flex-end;
  width: 68.75%;
  margin-left: 31.25%;
}
.news-archive-page .featured-post-3 .featured-post-thumbnail {
  flex: 43.75%;
  margin-right: 6.25%;
}
.news-archive-page .featured-post-3 .featured-post-text {
  flex: 25%;
  padding-left: 20px;
}
.news-archive-page .regular-news-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.news-archive-page .regular-news-grid .regular-news-item {
  width: calc(33.3333333333% - 40px);
}
@media all and (max-width: 992px) {
  .news-archive-page .regular-news-grid .regular-news-item {
    width: calc(50% - 30px);
  }
}
@media all and (max-width: 768px) {
  .news-archive-page .regular-news-grid .regular-news-item {
    width: 100%;
  }
}
.news-archive-page .regular-news-grid .regular-news-thumbnail {
  height: 300px;
}
.news-archive-page .regular-news-grid .regular-news-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-archive-page .regular-news-grid .regular-news-button {
  margin-top: -15px;
  margin-right: 15px;
  margin-bottom: 10px;
}
.news-archive-page .regular-news-grid .regular-news-button a {
  background-color: var(--color-red);
  color: var(--color-white);
  padding: 5px 20px;
  font-size: var(--font-size-small);
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
}

.subpage-intro {
  padding-top: 150px;
}
.subpage-intro .subpage-intro-text {
  margin-left: 12.5%;
}
.subpage-intro h1 span {
  color: var(--color-red);
}

.page-template-page-team .team-grid {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 30px;
  margin-bottom: 100px;
}
.page-template-page-team .team-grid .team-member {
  grid-column-start: unset !important;
  grid-column-end: unset !important;
  grid-row-start: unset !important;
  grid-row-end: unset !important;
}

.team-search-container {
  text-align: center;
  margin-bottom: 0;
}
.team-search-container #team-search-button {
  letter-spacing: 2px;
  cursor: pointer;
  margin-bottom: 50px;
}
.team-search-container .team-search-wrapper {
  position: relative;
  margin: 0 auto;
  max-width: 630px;
}
.team-search-container .team-search-wrapper .team-search-result-list-close {
  position: absolute;
  top: 100px;
  right: 15px;
  line-height: 50px;
  z-index: 10;
  cursor: pointer;
}
.team-search-container .team-search-wrapper .team-search-result-list-close .team-search-result-list-close-button {
  margin: 0;
  padding: 5px 15px;
  letter-spacing: 0;
}
.team-search-container .team-search-wrapper #team-search-input {
  font-size: var(--font-size-base);
  padding: 10px 50px;
  margin: 100px 0 50px;
  border: 1px solid var(--color-gray);
  text-align: center;
}
.team-search-container .team-search-wrapper #team-search-input:focus {
  outline: none;
}
.team-search-container .team-search-wrapper .team-search-result-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: 270px;
  overflow-y: scroll;
  max-width: 630px;
  margin: 0 auto;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray) transparent;
}
.team-search-container .team-search-wrapper .team-search-result-list::-webkit-scrollbar {
  width: 8px;
}
.team-search-container .team-search-wrapper .team-search-result-list::-webkit-scrollbar-track {
  background: transparent;
}
.team-search-container .team-search-wrapper .team-search-result-list::-webkit-scrollbar-thumb {
  background-color: var(--color-gray);
  border-radius: 4px;
}
.team-search-container .team-search-wrapper .team-search-result-list::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-black);
}
.team-search-container .team-search-wrapper .team-search-result-list .search-result-list-item {
  font-size: var(--font-size-base);
  position: relative;
  max-width: 600px;
  padding: 15px;
  border-top: 1px solid var(--color-gray);
  transition: all 0.3s ease;
  width: 100%;
  color: var(--color-black);
}
.team-search-container .team-search-wrapper .team-search-result-list .search-result-list-item:hover, .team-search-container .team-search-wrapper .team-search-result-list .search-result-list-item:focus {
  color: var(--color-white);
  background-color: var(--color-gray);
}

.team-filter-container {
  margin-bottom: 50px;
  margin-top: 50px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
}
.team-filter-container .team-filter-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
}
.team-filter-container .team-filter-group {
  position: relative;
}
.team-filter-container .team-filter-group h4 {
  font-size: var(--font-size-base);
  font-weight: 200;
  margin-bottom: 10px;
}
.team-filter-container .team-filter-group select, .team-filter-container .team-filter-group input, .team-filter-container .team-filter-group label {
  font-size: var(--font-size-small);
  font-weight: 200;
  font-family: "Outfit", sans-serif;
}
.team-filter-container .team-filter-group .team-filter-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.team-filter-container .team-filter-group .team-filter-item .team-filter-checkbox {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid var(--color-gray);
  border-radius: 3px;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
}
.team-filter-container .team-filter-group .team-filter-item .team-filter-checkbox:checked {
  background-color: var(--color-red);
  border-color: var(--color-red);
}
.team-filter-container .team-filter-group .team-filter-item .team-filter-checkbox:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 14px;
  font-weight: bold;
}
.team-filter-container .team-filter-group .team-filter-item .team-filter-checkbox:hover {
  border-color: var(--color-red);
}
.team-filter-container .team-filter-group .team-filter-item label {
  cursor: pointer;
  user-select: none;
}
.team-filter-container .team-filter-group select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-user-select: none; /* Safari */
  user-select: none;
  padding: 5px 30px 5px 5px;
  background: url(../images/pfeil_white.svg) no-repeat var(--color-red) center right 10px;
  background-size: 10px 10px;
  color: var(--color-white);
  border: 1px solid var(--color-red);
  border-radius: 0;
  font-size: var(--font-size-small);
  outline: none;
  min-width: 250px;
}
.team-filter-container .team-filter-group select:focus {
  outline: none;
}
.team-filter-container .team-filter-group .team-filter-item {
  line-height: 32px;
}
.team-filter-container .team-filter-group select option {
  font-size: var(--font-size-small);
  font-weight: 200;
}

.team-mitglieder-filter-container {
  display: none;
}
.team-mitglieder-filter-container .loading, .team-mitglieder-filter-container .error, .team-mitglieder-filter-container .no-results {
  text-align: center;
  padding: 50px 20px;
  font-size: 1.5rem;
  color: var(--color-gray);
}
.team-mitglieder-filter-container .error {
  color: var(--color-red);
}

@media all and (max-width: 768px) {
  /* Mobile scroll and performance optimizations */
  body {
    -webkit-overflow-scrolling: touch;
  }
  /* Optimize video loading on mobile */
  .home-ebl-video video {
    /* Reduce video quality on mobile for better performance */
    max-width: 100%;
    height: auto;
    /* Hardware acceleration */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  .page-main ul li::before {
    top: 7px;
  }
  .subpage-intro {
    padding-top: 100px;
  }
  .subpage-intro .subpage-intro-text {
    margin-left: 0;
  }
  .page-template-page-team .team-grid .team-member {
    width: calc(50% - 15px);
  }
  .team-search-container {
    text-align: left;
  }
  .team-search-container #team-search-button {
    margin-bottom: 20px;
  }
  .team-search-container .team-search-wrapper #team-search-input {
    margin-top: 50px;
    margin-bottom: 20px;
  }
  .team-search-container .team-search-wrapper .team-search-result-list-close {
    top: 50px;
    line-height: 40px;
  }
  .team-filter-container .team-filter-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    gap: 20px;
  }
  .team-filter-container .team-filter-group {
    width: 100%;
  }
  .page-main .middle-banner-section {
    padding-bottom: 0;
  }
  .page-main .middle-banner-section img {
    width: 100%;
    max-height: 300px;
  }
  .animate-section {
    display: none;
  }
}
.gesellschaftsrecht-intro {
  margin-top: 300px;
}
.gesellschaftsrecht-intro .row {
  display: flex;
  align-items: center;
}
.gesellschaftsrecht-intro .page-intro-content h3 {
  font-weight: 700;
}
.gesellschaftsrecht-intro .intro-image {
  position: relative;
}
.gesellschaftsrecht-intro .intro-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gesellschaftsrecht-intro ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.gesellschaftsrecht-intro .btn-primary {
  transform: translateX(-50%);
  margin-bottom: 0;
  margin-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
  letter-spacing: 1px;
  z-index: 10;
  position: relative;
}

.swiper-button-next, .swiper-button-prev {
  opacity: 0 !important;
}

.gesellschaftsrecht-page strong {
  font-weight: 700;
}
.gesellschaftsrecht-page .page-section-warum-ebl {
  margin-top: 200px;
  margin-bottom: 0;
  padding-bottom: 0;
}
.gesellschaftsrecht-page .page-animate#page-animate-e-1, .gesellschaftsrecht-page .page-animate#page-animate-b-1 {
  font-size: 30rem;
  z-index: 10;
}
.gesellschaftsrecht-page .page-animate#page-animate-e-1 {
  left: unset;
  right: 0;
  transform: translate(-200%, -100px);
}
.gesellschaftsrecht-page .page-animate#page-animate-l-1 {
  top: -300px;
}
.gesellschaftsrecht-page ul li:not(:last-child) {
  margin-bottom: 30px;
}
.gesellschaftsrecht-page .row {
  display: flex;
}
.gesellschaftsrecht-page .gs-schritte {
  margin-top: 200px;
}
.gesellschaftsrecht-page .gs-schritte .indicator {
  border-radius: 50%;
  height: 85px;
  width: 85px;
  background-color: var(--color-red);
  position: absolute;
  top: 5.5px;
  transform: translateY(0);
  animation: gelatine 15s infinite both cubic-bezier(0.25, 0.9, 0.25, 1);
  will-change: transform;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container {
  position: relative;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container {
  margin: 30px 0;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container .schritt-item {
  display: flex;
  align-items: center;
  min-height: 96px;
  justify-content: flex-start;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container .schritt-item p {
  display: flex;
  align-items: center;
  display: inline-block;
  width: calc(100% - 160px);
  margin-bottom: 0;
  font-size: 2rem;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container .schritt-item span {
  will-change: transform, color;
  font-weight: 700;
  font-size: var(--font-size-hover-title);
  text-align: center;
  width: 85px;
  height: 85px;
  line-height: 85px;
  margin-right: 80px;
  display: inline-block;
  color: var(--color-red);
  z-index: 1;
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(2) .schritt-item span {
  animation: numbersize1 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(2) .schritt-item p {
  animation: textbold1 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(3) .schritt-item span {
  animation: numbersize2 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(3) .schritt-item p {
  animation: textbold2 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(4) .schritt-item span {
  animation: numbersize3 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}
.gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container:nth-child(4) .schritt-item p {
  animation: textbold3 15s infinite cubic-bezier(0.25, 0.9, 0.25, 1);
}

:root {
  --schritte-height: 96px;
  --schritte-margin: 30px;
  --gap: calc(var(--schritte-height) + var(--schritte-margin));
  --double-gap: calc(var(--gap) * 2);
  --triple-gap: calc(var(--gap) * 3);
}

@keyframes gelatine {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  28% {
    transform: scale(1, 1) translateY(0);
  }
  30% {
    transform: scale(1.1, 0.9) translateY(calc(var(--gap) + 10px));
  }
  31% {
    transform: scale(0.9, 1.1) translateY(calc(var(--gap) - 10px));
  }
  32% {
    transform: scale(1.05, 0.95) translateY(calc(var(--gap) + 5px));
  }
  33% {
    transform: scale(1, 1) translateY(var(--gap));
  }
  61% {
    transform: scale(1, 1) translateY(var(--gap));
  }
  63% {
    transform: scale(1.1, 0.9) translateY(calc(var(--double-gap) + 10px));
  }
  64% {
    transform: scale(0.9, 1.1) translateY(calc(var(--double-gap) - 10px));
  }
  65% {
    transform: scale(1.05, 0.95) translateY(calc(var(--double-gap) + 5px));
  }
  66% {
    transform: scale(1, 1) translateY(var(--double-gap));
  }
  93% {
    transform: scale(1, 1) translateY(var(--double-gap));
  }
  97% {
    transform: scale(1.1, 0.9) translateY(-10px);
  }
  98% {
    transform: scale(0.9, 1.1) translateY(10px);
  }
  99% {
    transform: scale(1.05, 0.95) translateY(-5px);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}
@keyframes numbersize1 {
  0%, 28%, 97%, 100% {
    transform: scale(1.3);
    color: #FFF;
  }
  30%, 93% {
    transform: scale(1);
    color: var(--color-red);
  }
}
@keyframes numbersize2 {
  30%, 61% {
    transform: scale(1.3);
    color: #FFF;
  }
  0%, 28%, 63%, 100% {
    transform: scale(1);
    color: var(--color-red);
  }
}
@keyframes numbersize3 {
  63%, 93% {
    transform: scale(1.3);
    color: #FFF;
  }
  0%, 61%, 97%, 100% {
    transform: scale(1);
    color: var(--color-red);
  }
}
@keyframes textbold1 {
  0%, 28%, 97%, 100% {
    font-weight: 700;
  }
  30%, 93% {
    font-weight: 200;
  }
}
@keyframes textbold2 {
  30%, 61% {
    font-weight: 700;
  }
  0%, 28%, 63%, 100% {
    font-weight: 200;
  }
}
@keyframes textbold3 {
  63%, 93% {
    font-weight: 700;
  }
  0%, 61%, 97%, 100% {
    font-weight: 200;
  }
}
.page-section-content {
  padding: 50px 0;
}
.page-section-content .row {
  display: flex;
}

.detail-punkte {
  margin-bottom: 100px;
}
.detail-punkte .row {
  justify-content: space-between;
  align-items: flex-start;
}
.detail-punkte .row:not(.col-12) {
  width: 100%;
}
.detail-punkte h3 {
  font-weight: 700 !important;
}
.detail-punkte .detail-punkt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1;
}
.detail-punkte .detail-punkt .kreis {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 3px solid var(--color-red);
  margin-bottom: 10px;
}
.detail-punkte .detail-punkt span {
  font-size: var(--font-size-base);
  line-height: 1.2;
  padding-top: 15px;
}

.detail-quote {
  margin-bottom: 100px;
}

.detail-leistungen h3 {
  font-weight: 700 !important;
}

.detail-faqs {
  padding: 50px;
  border: 3px solid var(--color-red);
}
.detail-faqs h3 {
  font-weight: 700 !important;
}
.detail-faqs .detail-faq {
  margin-bottom: 30px;
}
.detail-faqs .detail-faq .detail-faq-question {
  font-size: var(--font-size-base);
  font-weight: 200;
  margin-bottom: 10px;
  position: relative;
  padding-left: 50px;
  cursor: pointer;
}
.detail-faqs .detail-faq .detail-faq-question::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 30px;
  height: 15px;
  background: url(../images/pfeil.svg) no-repeat center center;
  background-size: 30px 15px;
}
.detail-faqs .detail-faq .detail-faq-answer {
  font-size: 1.25rem;
  transform: scaleY(0);
  transform-origin: top;
  max-height: 0;
  transition: transform 0.3s ease-in-out, max-height 0.3s ease-in-out;
}
.detail-faqs .detail-faq .detail-faq-answer.open {
  transform: scaleY(1);
  max-height: 200px;
}

.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro .intro-image {
  position: absolute;
  right: 0;
  top: 150px;
  width: 50%;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro .col-6 {
  margin-top: 150px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro .page-subtitle {
  margin-bottom: 50px;
  text-align: right;
  font-size: var(--font-size-base);
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro h2 {
  font-size: var(--font-size-page-headline);
  text-align: right;
  text-transform: initial;
  margin-bottom: 100px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro ol {
  list-style: none;
  padding: 0;
  margin: 0;
  transform: translateX(180px);
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro ol li {
  display: flex;
  align-items: flex-end;
  font-size: var(--font-size-base);
  font-weight: 200;
  margin-bottom: 50px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro ol li:last-child {
  margin-bottom: 0;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-intro ol span {
  font-weight: 700;
  color: var(--color-red);
  margin-right: 20px;
  line-height: 1;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .btn-primary {
  margin-bottom: 0;
  margin-top: 30px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .page-section-headline {
  text-align: center;
  position: relative;
  z-index: 0;
  margin-top: -150px;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .page-section-headline h2 {
  font-size: var(--font-size-section-h2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  text-transform: uppercase;
}
.gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .page-section-headline span {
  font-size: 500px;
  font-weight: 700;
  color: var(--color-red);
}
.gesellschaftsrecht-detail-page .page-section-content h2 {
  font-size: clamp(2rem, 4vw, var(--font-size-page-headline));
  font-weight: 100;
  line-height: 1.3125;
  margin-bottom: 50px;
  text-transform: initial;
}
.gesellschaftsrecht-detail-page .page-section-content h3 {
  font-size: var(--font-size-base);
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 2;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .page-section-headline + .page-section-content {
  margin-top: -150px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .page-section-content-1 .row {
  align-items: center;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .page-section-content-1.no-title {
  margin-top: -350px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .page-section-content-2 {
  padding-top: 100px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .btn-primary {
  padding: 10px 20px;
  transform: translateX(-50%);
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-2 .page-section-headline + .page-section-content {
  margin-top: -220px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-2 .page-section-content-1 .row {
  align-items: center;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-2 .page-section-images img {
  position: relative;
  z-index: -1;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-2 .page-section-images .btn-primary {
  transform: translateY(-70%);
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 50px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-3 {
  position: relative;
  margin-top: 150px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-3 .page-section-headline {
  text-align: left;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-3 .page-section-headline h2 {
  width: 56.25%;
  margin-left: 31.25%;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-3 .page-section-headline h2 span {
  position: absolute;
  top: -350px;
  right: 18.75%;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-3 .btn-primary {
  transform: translateX(-50%);
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-4 .page-section-headline img {
  margin-top: -200px;
  z-index: -1;
  position: relative;
  transform: translateX(150px);
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-4 .col-7 img {
  margin-bottom: 100px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-4 .detail-faqs {
  margin-top: 100px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-5 {
  padding-bottom: 0;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-5 .page-section-headline + .page-section-content {
  margin-top: -220px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-5 .page-section-headline + .page-section-content .col-7 {
  margin-top: 120px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-5 .page-section-headline + .page-section-content .btn-primary {
  transform: translateX(-50%);
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-5 .page-section-content.page-section-content-2 .col-7 {
  transform: translateY(-150px);
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-6 .page-section-headline + .page-section-content {
  margin-top: -220px;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-6 .page-section-headline + .page-section-content .col-6 {
  margin-top: 120px;
  text-align: right;
}
.gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-6 .btn-primary {
  transform: translateY(-70%);
  margin-left: 50px;
  margin-top: 0;
}

.business-lifecycle {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 0;
  position: relative;
}
.business-lifecycle .lifecycle-question {
  margin-bottom: 60px;
  text-align: center;
}
.business-lifecycle .lifecycle-question h2 {
  font-size: 2.5rem;
  font-weight: 300;
  color: #666;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.business-lifecycle .lifecycle-curve {
  width: 100%;
  max-width: 800px;
  position: relative;
}
.business-lifecycle .lifecycle-curve .curve-svg {
  width: 100%;
  height: auto;
}
.business-lifecycle .lifecycle-curve .curve-svg .curve-path {
  stroke: #000;
  stroke-width: 3;
  fill: none;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-dot {
  fill: #ff0000;
  transition: all 0.3s ease;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-link {
  cursor: pointer;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-link:hover .stage-dot {
  fill: #cc0000;
  r: 6;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-link:hover .stage-number {
  fill: #cc0000;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-number {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 16px;
  fill: #ff0000;
  pointer-events: none;
}
.business-lifecycle .lifecycle-curve .curve-svg .stage-label {
  font-family: "Outfit", sans-serif;
  font-weight: 300;
  font-size: 12px;
  fill: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  pointer-events: none;
}

@media (max-width: 991px) {
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .btn.btn-primary {
    transform: translateX(0);
  }
}
@media (max-width: 768px) {
  .business-lifecycle {
    padding: 40px 0;
  }
  .business-lifecycle .lifecycle-question h2 {
    font-size: 1.8rem;
  }
  .business-lifecycle .lifecycle-curve .curve-svg .stage-number {
    font-size: 14px;
  }
  .business-lifecycle .lifecycle-curve .curve-svg .stage-label {
    font-size: 10px;
  }
  .detail-punkte {
    margin-bottom: 50px;
  }
  .detail-punkte .row {
    flex-direction: row !important;
    gap: 10px !important;
    align-items: flex-start;
  }
  .detail-punkte .row .detail-punkt img {
    height: 80px !important;
  }
  .detail-punkte .row .detail-punkt span {
    font-size: 0.8rem !important;
  }
  .page-section-content-1 {
    padding-bottom: 0;
  }
  .page-section-content-1 h2 {
    margin-bottom: 0;
  }
  .page-section-content-1 .title-wrapper {
    display: flex;
    gap: 30px;
    flex-direction: column-reverse;
  }
  .page-section-content-1 .title-wrapper div {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .page-section-content-1 .title-wrapper h2 {
    margin-bottom: 0;
  }
  .page-section-content-1 .title-wrapper .cta {
    margin-left: 50px;
    margin-top: -80px;
  }
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .btn.btn-primary {
    transform: translateX(0);
  }
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .page-section-headline.no-title {
    margin-top: -200px;
    transform: translate(25%, 100px);
  }
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .page-section-headline:not(.no-title) {
    margin-top: -50px;
  }
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .page-section-headline span {
    font-size: 6rem;
  }
  #gesellschaftsrecht-detail-section-1.page-section.gesellschaftsrecht-detail-section .page-section-headline + .page-section-content {
    margin-top: 0;
  }
  .gesellschaftsrecht-intro .btn.btn-primary {
    transform: translateX(0);
  }
  .gesellschaftsrecht-intro .page-intro-content .text-left {
    text-align: center;
  }
  .gesellschaftsrecht-page .page-animate#page-animate-e-1, .gesellschaftsrecht-page .page-animate#page-animate-b-1 {
    font-size: 20rem;
  }
  .gesellschaftsrecht-page .page-animate#page-animate-l-1 {
    font-size: 16rem;
  }
  .gesellschaftsrecht-page .gs-schritte {
    margin-top: 0;
  }
  .gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container .schritt-item p {
    font-size: 1.3rem;
  }
  .gesellschaftsrecht-page .gs-schritte .gs-schritte-container .schritte-container .schritt-item span {
    margin-right: 30px;
  }
  .gesellschaftsrecht-page ul li:not(:last-child) {
    margin-bottom: 0;
  }
  .gesellschaftsrecht-detail-page .detail-leistungen {
    margin-bottom: 0;
  }
  .gesellschaftsrecht-detail-page .page-section-content h2 {
    font-size: 2rem;
  }
  .gesellschaftsrecht-detail-page #gesellschaftsrecht-detail-section-1 .page-section-content-2 {
    padding-top: 0;
  }
  .gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .page-section-headline h2 {
    font-size: 1.5rem;
  }
  .gesellschaftsrecht-detail-page .gesellschaftsrecht-detail-section .page-section-headline h2 span {
    font-size: 6rem;
  }
}
.arbeitsrecht-page .page-intro-text p, .arbeitsrecht-page .page-intro-text b, .arbeitsrecht-page .page-intro-text strong, .arbeitsrecht-page .page-intro-text a {
  font-size: 1.1rem;
  line-height: 1.5;
}
.arbeitsrecht-page .page-intro-text b, .arbeitsrecht-page .page-intro-text strong {
  font-weight: 500;
}

.arbeitsrecht-wrapper {
  display: grid; /* sorgt dafür, dass Kinder in derselben Zelle stacken */
  position: relative;
}

.arbeitsrecht-step {
  grid-area: 1/1; /* alle in dieselbe Zelle */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s step-end;
}
.arbeitsrecht-step h2 {
  text-transform: uppercase;
}
.arbeitsrecht-step p {
  line-height: 2;
}
.arbeitsrecht-step:not(.invisible) {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s ease, visibility 0s step-start;
}

.karriere-page .karriere-intro {
  padding-top: 250px;
}
.karriere-page .karriere-intro h2 {
  font-size: var(--font-size-inline-h2);
  font-weight: 100;
  color: var(--color-black);
  margin-bottom: 50px;
}
.karriere-page .karriere-intro .page-intro-text {
  margin-left: 12.5%;
}
.karriere-page .karriere-intro .page-intro-text p {
  font-size: var(--font-size-base);
  font-weight: 100;
  line-height: 1.5;
  margin-bottom: 30px;
}
.karriere-page .karriere-intro .page-intro-text p:last-child {
  margin-bottom: 0;
}
.karriere-page .karriere-intro .page-intro-text strong {
  font-weight: 700;
}
.karriere-page .page-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.karriere-page .stellenangebote-section {
  padding-top: 0;
}
.karriere-page .stellenangebote-section h2 {
  font-size: var(--font-size-section-h2);
}
.karriere-page .stellenangebote-section .row {
  align-items: center;
}
.karriere-page .stellenangebote-liste-content {
  padding: 50px;
  border: 3px solid var(--color-red);
}
.karriere-page .stellenangebote-liste-item {
  border-bottom: 3px solid var(--color-red);
  padding-bottom: 50px;
  margin-bottom: 50px;
}
.karriere-page .stellenangebote-liste-item.hinweis p {
  margin-bottom: 0;
}
.karriere-page .stellenangebote-liste-item .stellenangebote-liste-item-headline {
  cursor: pointer;
}
.karriere-page .stellenangebote-liste-item .stellenangebote-liste-item-headline h4 {
  font-size: var(--font-size-base);
  font-weight: 100;
  line-height: 1.5;
  margin-bottom: 0;
  padding-left: 50px;
  position: relative;
}
.karriere-page .stellenangebote-liste-item .stellenangebote-liste-item-headline h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 30px;
  height: 15px;
  background: url(../images/pfeil.svg) no-repeat;
  background-size: 30px 15px;
  background-position: center;
  transform: rotate(-90deg);
  transition: transform 0.3s ease;
}
.karriere-page .stellenangebote-liste-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.karriere-page .stellenangebote-liste-item .contact {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.karriere-page .stellenangebote-liste-item .contact .content-person {
  width: 50%;
}
.karriere-page .stellenangebote-liste-item .contact .content-person p {
  margin-bottom: 0;
}
.karriere-page .stellenangebote-liste-item .contact .contact-button .btn-primary {
  margin: 0;
}
.karriere-page .stellenangebote-liste-item .stellenangebote-liste-item-content {
  display: none;
  padding-top: 50px;
}
.karriere-page .stellenangebote-liste-item.active .stellenangebote-liste-item-headline h4::before {
  transform: rotate(0);
}
.karriere-page .stellenangebote-liste-item.active .stellenangebote-liste-item-content {
  display: block;
}

.page-slogan {
  position: relative;
  --before-opacity: 0;
  --before-position: -100%;
  padding-top: 100px;
  padding-bottom: 50px;
}
.page-slogan::before {
  content: "";
  width: 164px;
  height: 133px;
  position: absolute;
  left: var(--before-position);
  top: 40%;
  left: 10%;
  z-index: 1;
  background: url(../images/quot.svg) no-repeat;
  background-size: cover;
  opacity: var(--before-opacity);
}

.page-slogan-texte {
  padding-top: 50px;
  padding-bottom: 50px;
}
.page-slogan-texte p {
  font-weight: 100;
  line-height: 1.2;
  opacity: 0;
  transform: translateY(100px);
}
.page-slogan-texte p:first-child {
  margin-left: 130px;
}
.page-slogan-texte .basic {
  font-size: 3.125rem;
}
.page-slogan-texte .big {
  font-size: 4.375rem;
}
.page-slogan-texte .big-xl {
  font-size: 5rem;
}
.page-slogan-texte .big-xxl {
  font-size: 7.5rem;
}
.page-slogan-texte .bold {
  font-weight: 700;
}
.page-slogan-texte .light {
  font-weight: 100;
}

@media all and (max-width: 1400px) {
  .karriere-section .col-12 {
    width: 93.75%;
  }
}
@media all and (max-width: 992px) {
  .page-main .page-animate#page-animate-e-karriere, .page-main .page-animate#page-animate-b-karriere {
    font-size: 25rem;
  }
  .karriere-page .karriere-intro {
    padding-top: 150px;
  }
  .page-slogan::before {
    width: 100px;
    height: 80px;
    left: 5%;
  }
  .page-slogan-texte {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
  }
  .page-slogan-texte .big {
    font-size: var(--font-size-single-subtitle);
  }
  .page-slogan-texte .big-xl {
    font-size: var(--font-size-inline-h2);
  }
  .page-slogan-texte .big-xxl {
    font-size: var(--font-size-section-h2);
  }
  .karriere-page .stellenangebote-liste-item .contact {
    flex-direction: column;
    align-items: flex-start;
  }
  .karriere-page .stellenangebote-liste-item .contact .content-person,
  .karriere-page .stellenangebote-liste-item .contact .contact-button {
    width: 100%;
    text-align: left;
  }
  .karriere-page .stellenangebote-liste-item .contact .contact-button {
    margin-top: 50px;
  }
}
@media all and (max-width: 768px) {
  .page-main .page-animate#page-animate-e-karriere, .page-main .page-animate#page-animate-b-karriere {
    font-size: 20rem;
  }
  .karriere-page .karriere-intro {
    padding-top: 100px;
  }
  .karriere-page .karriere-intro .page-intro-text {
    margin-left: 0;
  }
  .karriere-page .karriere-section {
    padding-top: 0;
    padding-bottom: 0;
  }
  .karriere-page .col-13 {
    width: 100%;
    margin-left: 0;
  }
  .karriere-page .page-slogan {
    padding-top: 50px;
  }
  .karriere-page .page-slogan::before {
    width: 60px;
    height: 45px;
    left: 0;
    top: 40%;
  }
  .karriere-page .page-slogan .page-slogan-texte {
    text-align: center;
  }
  .karriere-page .page-slogan .page-slogan-texte p {
    margin-left: 0 !important;
    margin-bottom: 0 !important;
  }
  .karriere-page .stellenangebote-liste {
    padding-top: 0;
  }
  .karriere-page .stellenangebote-liste-content {
    padding: 30px;
  }
  .karriere-page .stellenangebote-liste-item {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  .karriere-page .stellenangebote-liste-item .stellenangebote-liste-item-content {
    padding-top: 30px;
  }
  .karriere-page .stellenangebote-liste-item .contact .contact-button {
    margin-top: 30px;
  }
}
@media all and (max-width: 576px) {
  .page-main .page-animate#page-animate-e-karriere, .page-main .page-animate#page-animate-b-karriere {
    font-size: 15rem;
  }
}

/*# sourceMappingURL=page.css.map */
