/*
 Theme Name:   mgm security partners Child Theme
 Theme URI:   
 Description: 
 Author:       
 Author URI:   
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/



html,
body {
  overflow-x: clip;
}

/*
html {

    scroll-padding-top: 90px;
}

@media( max-width: 767px){
    html {
        scroll-padding-top: 80px;
    }  
}*/

/* =======================================
   BASE TYPOGRAPHY
======================================= */

body {
  font-size: var(--text-s);
  color: var(--text-color);
}

.brxe-qrtctq::before {
  content: "";
  position: absolute;
  overflow: hidden !important;
  inset: 0;
  background: linear-gradient(
    295deg,
    #cb1a83 4%,
    #1a569e 28%,
    rgba(223, 60, 91, 0.2) 50%,
    rgba(221, 55, 91, 0) 60%
  ) !important;
  mix-blend-mode: multiply;
  z-index: 0;
  pointer-events: none;
}

.grad {
  position: relative;
  height: 500px !important;
  background: linear-gradient(
    135deg,
    var(--marine-dark),
    var(--raspberry-light)
  );
}

.grad::after {
  content: "";
  position: absolute;
  top: 60%;
  left: 10%;
  width: 1500px !important;
  height: 500px !important;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.9),
    rgba(255, 255, 255, 0)
  );
  filter: blur(70px);
  transform: scale(1);
  transition: transform 6s ease-in-out;
  opacity: 0.9;
  pointer-events: none;
  z-index: 1;
}
*/



/* =======================================
   Typo and Link Standards
======================================= */


.brxe-text :where(a),
.brxe-breadcrumbs :where(a) {
  color: currentcolor;
  cursor: pointer;
  text-decoration: underline dotted 1px;
  text-underline-offset: 0.3em;
}

/* Spezielle Gestaltung für Links innerhalb .type__opener */
.type__opener :where(a) {
  /*  color: var(--raspberry-light); */
  color: inherit;
  text-decoration: underline dotted 1px;
  text-underline-offset: 0.3em;
}

.type__opener :where(a:hover) {
  color: var(--raspberry-light);
  text-decoration-style: solid;
}

address {
  font-style: normal;
  line-height: 1.5;
}

.brxe-text-basic {
  font-size: var(--body);
  line-height: var(--body-lh);
  font-weight: 300;
}

:where(p) {
  margin-block: 0 0.3em !important;
}


/* Basisklassen für alle Linktypen */
.single-link,
.single-link-oval,
.single-link-simple,
.disclaimer-link {
  position: relative;
  text-decoration: none !important;
  border-bottom: 1px dotted #bf2264;
  font-size: 1.6rem;
  line-height: 1.5;
  color: inherit;
}

/* Abstände für Varianten */
.single-link,
.single-link-oval {
  padding-top: 1.2rem;
  padding-bottom: 1rem;
  padding-left: 3.2rem;
}

.single-link-oval {
  padding-left: 6.2rem;
}

.single-link-simple,
.disclaimer-link {
  padding-bottom: 0.6rem;
}

/* Icons */
.single-link::before,
.single-link-oval::before {
  content: "";
  position: absolute;
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Oval-Link */
.single-link-oval::before {
  top: 1rem;
  width: 5rem;
  height: 2.5rem;
  background-image: url("/wp-content/uploads/2025/10/link-oval-01.svg");
}

/* Standard-Link */
.single-link::before {
  top: 0.9rem;
  width: 2rem;
  height: 2.5rem;
  background-image: url("/wp-content/uploads/2025/08/icon-link-2pt-filled.svg");
}

/* Hoverzustand */
.single-link:hover,
.single-link-simple:hover,
.single-link-oval:hover {
  color: var(--raspberry-light, #bf2264) !important;
}

/* link portfolio pages */
#section-01 a,
#section-02 a,
#section-03 a {
  position: relative;
  padding-bottom: 0.1rem;
  border-bottom: 1px dotted #bf2264;
  text-decoration: none;
}

/* link mega menue header */
.mega__menu-head-div a {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
  box-sizing: border-box;
}

/* =======================================
   RSPNSVNESS
======================================= */

.only-mobile {
  display: block;
}

@media (min-width: 768px) {
  .only-mobile {
    display: none !important;
  }
}

.only-desktop {
  display: none;
}

@media (min-width: 768px) {
  .only-desktop {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .no-mobile {
    display: none;
  }
}

button.bricks-mobile-menu-toggle {
  color: black;
}

/* hamburger icon */
#brxe-xzxxby {
  padding-right: unset;
}
#brxe-xzxxby svg {
  height: 30px;
}
/* =======================================
   CUSTOM SECTION STYLES
======================================= */

#used-portfolio h4 {
  font-size: 22px;
}

#used-portfolio p {
  font-size: 1.2rem;
}

/* =======================================
   TYPOGRAFIE – GRADIENT STYLES
======================================= */

.mgm_sp_brand_rainbow {
  background: linear-gradient(90deg, #2a8bff 0%, #ff0048 67%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  /* prevent early clipping */
  padding-bottom: 5px !important;
}

/* =======================================
   FONT-WEIGHT HELPER-KLASSEN
   (da Variablen im Builder nicht verfügbar)
======================================= */

.type__h1 {
  font-weight: var(--fw-h1);
}

.type__h2 {
  font-weight: var(--fw-h2);
}

.type__h3 {
  font-weight: var(--fw-h3);
}

.type__h3-bold {
  font-weight: var(--fw-h3-bold);
}

.type__text-base {
  font-weight: var(--fw-body);
}

.type__text-small {
  font-weight: var(--fw-body-small);
}

.type__breadcrumb {
  font-weight: var(--fw-breadcrumb);
}

.type__card-header {
  font-weight: var(--fw-card-header);
}

.type__teaser-big {
  font-weight: var(--fw-teaser-big);
}

.type__text-consultation {
  font-weight: var(--fw-body-small);
}

.type__opener {
  font-weight: var(--fw-teaser-big);
}

.type__h2 {
  padding-bottom: 2rem;
}

.type__h3-bold {
  padding-bottom: 1rem;
}

.type__h3 {
  padding-bottom: 1rem;
}

h1 {
  font-size: var(--h1);
  line-height: var(--h1-lh);
  font-weight: var(--fw-h1);
}

h2 {
  font-size: var(--h2);
  line-height: var(--h2-lh);
  font-weight: var(--fw-h2);
  padding-bottom: 2rem;
}

h3 {
  font-size: var(--h3);
  line-height: var(--h3-lh);
  font-weight: var(--fw-h3);
}

/* fallback if class not selected */
.brxe-text {
  font-size: var(--body);
  line-height: var(--body-lh);
  font-weight: 300;
}

/* to be renamed. Italic to blue, bold to bold */

.brxe-text.type__opener.type__opener-bold-to-blue strong {
  font-weight: 600;
}

/* italic to blue */
.brxe-text.type__opener.type__opener-bold-to-blue em {
  font-style: normal !important;
  /*	color: var(--marine-light); */
  color: var(--raspberry-light);
}

strong {
  font-weight: 600;
}

/* t special h3 sets h3 from tiny mce to h3 bold */

.grid_3col_2row_33_66 h3 {
  line-height: var(--h3-lh);
  font-size: var(--h3-bold);
  padding-bottom: 0px;
  font-weight: var(--fw-h3-bold);
  padding-bottom: 1rem;
}

/* =======================================
   ACCORDION TYPOGRAPHIE
======================================= */

.typography__accordion .accordion-subtitle {
  font-size: clamp(2.5rem, 1.5vw, 1.25rem);
  /* Opener */
  font-weight: 300;
  margin-top: 0.25em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #ccc;
  color: #000;
  line-height: 1.2;
}

/* bulleted list accordions */
.type__accordion-base ul {
  list-style: none;
}

.type__accordion-base ul li {
  position: relative;
  padding: 0.75rem 1.25rem 0.75rem 2.5rem;
  line-height: 1.3 !important;
}

.type__accordion-base ul li::before {
  content: "•";
  position: absolute;
  left: 1rem;
  top: 0.75rem;
  color: #bf2264;
  font-size: 2.25rem;
}

/* accordion type */
.type__accordion-opener p {
  font-size: 2rem;
  line-height: 2.8rem;
  padding-bottom: 2rem;
  margin-top: 1rem;
  /*   margin-left: 1rem; */
}

.type__accordion-base p {
  margin-bottom: 10px;
  /*    margin-left: 1rem; */
}

.accordion-title-wrapper {
  border-radius: var(--radius-s-cards);
  box-shadow: 1px 1px 1px #f0f0f0;
  padding: 1rem 2.5rem 1.5rem 2.5rem !important;
}

.section__highlight .accordion-title-wrapper {
  background: white;
}

@media (max-width: 990px) {
  .accordion-title-wrapper {
    padding: 1rem 1.5rem 1.5rem 1.5rem !important;
  }
}

.accordion-title-wrapper h3 {
  font-size: clamp(1.8rem, 2.5vw, 2.2rem);
  font-weight: 300;
}

/* checkmarks prepended */

.prepend-checkmark .accordion-title-wrapper h3 {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  /* Abstand zwischen Icon & Text */
}

.prepend-checkmark .accordion-title-wrapper h3::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  margin-right: 1rem;
  background-image: url("/wp-content/uploads/2025/08/icon-checkmark-2pt-filled.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

ul.feature-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.feature-list ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.feature-list li {
  position: relative;
  padding-top: 1.1rem;
  padding-bottom: 1rem;
  padding-left: 4.2rem;
  line-height: 1.5;
  font-size: clamp(1.8rem, 2.5vw, 2.2rem);
  border-bottom: 1px dotted #bf2264;
}

.feature-list li::before {
  content: "" !important;
  position: absolute;
  left: 0;
  top: 1.1rem !important;
  width: 3rem;
  height: 3rem;
  background-image: url("/wp-content/uploads/2025/08/icon-checkmark-2pt-filled.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* small ul */

ul.feature-list-small {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

ul.feature-list-small li {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 3.2rem;
  line-height: 1.5;
  font-size: 1.6rem;
  border-bottom: 1px dotted #bf2264;
}

ul.feature-list-small li::before {
  content: "" !important;
  position: absolute;
  left: 0;
  top: 1.1rem !important;
  width: 2rem;
  height: 2.5rem;
  background-image: url("/wp-content/uploads/2025/08/icon-checkmark-2pt-filled.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.feature-list-small ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.feature-list-small ul li {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 3.2rem;
  line-height: 1.5;
  font-size: 1.6rem;
  border-bottom: 1px dotted #bf2264;
}

.feature-list-small ul li::before {
  content: "" !important;
  position: absolute;
  left: 0;
  top: 1.1rem !important;
  width: 2rem;
  height: 2.5rem;
  background-image: url("/wp-content/uploads/2025/08/icon-checkmark-2pt-filled.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.link-list-small ul li::before {
  background-image: url("/wp-content/uploads/2025/08/icon-link-2pt-filled.svg");
}

/* =======================================
   BUTTONS
======================================= */

#standard-button {
  background-color: #2e2e2e;
  color: #ffffff;
  text-transform: uppercase;
  padding: 0.75em 1.5em;
  border: 1px;
  border-radius: 26px;
  transition: all 0.3s ease;
  font-size: 0.95em;
  font-weight: 500;
}

#standard-button:hover {
  background-color: #ffffff;
  color: #2e2e2e;
  border: 1px solid #2e2e2e;
  border-radius: 0;
}

#standard-button-invert {
  background-color: #ffffff;
  color: #2e2e2e;
  text-transform: uppercase;
  padding: 0.75em 1.5em;
  border: 1px solid #2e2e2e;
  border-radius: 26px;
  transition: all 0.3s ease;
  font-size: 0.95em;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  text-decoration: none;
  display: inline-block;
}

#standard-button-invert:hover {
  background-color: #2e2e2e;
  color: #ffffff;
  border: 1px solid #2e2e2e;
  border-radius: 0;
}

/* cta button animiert und svg farbswitch */

.cta__button .cls-1 {
  transition: transform 0.3s ease, stroke 0.3s ease;
}

.cta__button:hover .cls-1 {
  stroke: white !important;
  transform: translateX(4px);
}

.cta__button {
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.cta__button:hover {
  box-shadow: 0.1rem 0.5rem 1.1rem rgba(0, 0, 0, 0.3);
}

/* =======================================
   FORM ELEMENTS
======================================= */

:focus-visible {
  outline: solid 1px var(--primary);
  outline-offset: 15px;
  transition: all 0.3s;
}

/* =======================================
   COLOR UTILITIES
======================================= */

.lagune {
  background-color: var(--lagune);
  color: #ffffff;
}

.lagune-light {
  background-color: var(--lagune-light);
  color: #ffffff;
}

.lagune-dark {
  background-color: var(--lagune-dark);
  color: #ffffff;
}

.petrol {
  background-color: var(--petrol);
  color: #ffffff;
}

.petrol-light {
  background-color: var(--petrol-light);
  color: #ffffff;
}

.petrol-dark {
  background-color: var(--petrol-dark);
  color: #ffffff;
}

.bamboo {
  background-color: var(--bamboo);
  color: #ffffff;
}

.bamboo-light {
  background-color: var(--bamboo-light);
  color: #ffffff;
}

.bamboo-dark {
  background-color: var(--bamboo-dark);
  color: #ffffff;
}

.sand {
  background-color: var(--sand);
  color: #ffffff;
}

.sand-light {
  background-color: var(--sand-light);
  color: #ffffff;
}

.sand-dark {
  background-color: var(--sand-dark);
  color: #ffffff;
}

.salsa {
  background-color: var(--salsa);
  color: #ffffff;
}

.salsa-light {
  background-color: var(--salsa-light);
  color: #ffffff;
}

.salsa-dark {
  background-color: var(--salsa-dark);
  color: #ffffff;
}

.raspberry {
  background-color: var(--raspberry);
  color: #ffffff;
}

.raspberry-light {
  background-color: var(--raspberry-light);
  color: #ffffff;
}

.raspberry-dark {
  background-color: var(--raspberry-dark);
  color: #ffffff;
}

.lavendel {
  background-color: var(--lavendel);
  color: #ffffff;
}

.lavendel-light {
  background-color: var(--lavendel-light);
  color: #ffffff;
}

.lavendel-dark {
  background-color: var(--lavendel-dark);
  color: #ffffff;
}

.marine {
  background-color: var(--marine);
  color: #ffffff;
}

.marine-light {
  background-color: var(--marine-light);
  color: #ffffff;
}

.marine-dark {
  background-color: var(--marine-dark);
  color: #ffffff;
}

.black {
  background-color: var(--black);
  color: #ffffff;
}

.black-light {
  background-color: var(--black-light);
  color: #ffffff;
}

.black-dark {
  background-color: var(--black-dark);
  color: #ffffff;
}

.blue-grey {
  background-color: var(--blue-grey);
  color: #ffffff;
}

.blue-grey-light {
  background-color: var(--blue-grey-light);
  color: #ffffff;
}

.blue-grey-dark {
  background-color: var(--blue-grey-dark);
  color: #ffffff;
}

/* =======================================
   ACCESSIBILITY & FOCUS STYLES
======================================= */

body.bricks-is-frontend :focus {
  outline: none;
}

body.bricks-is-frontend :focus-visible {
  outline: solid 1px var(--raspberry-light);
  outline-offset: 5px;
  transition: all 0.3s;
}

/* =======================================
   LAYOUT & CONTAINER STYLES
======================================= */

/* overflow of hero gradient */
section.brxe-section.hero-gradient {
  overflow: hidden;
}

/* =======================================
   SECTION & GAP SETTINGS
======================================= */

.gap__less-30 {
  gap: 30px;
}

ul {
  padding: 0;
  margin: 0;
}

.bricks-nav-menu {
  flex-wrap: wrap;
  justify-content: center;
}

:where(section:not(section section)) {
  padding: var(--padding-section);
}

section:where(:not(.bricks-shape-divider)) {
  gap: var(--container-gap);
}

/* Abstand innerhalb von Containern und deren direkten Blocks */
:where(.brxe-container),
:where(.brxe-container) > .brxe-block {
  gap: var(--content-gap);
}

.hero__headline-combo {
  gap: 1rem;
}


/* =======================================
  Footer Section
======================================= */

.tp__footer-links ul {
  list-style: none;
  font-size: 12.8px;
  line-height: 19px;
  color: white;
}

.tp__footer-links-underlined ul {
  list-style: none;
  font-size: 12.8px !important;

  color: white;
  text-decoration: underline;
}

.tp__footer-links-underlined li {
  list-style: none;
  font-size: 12.8px !important;
  line-height: 19px !important;
  color: white;
  text-decoration: underline;
}

.footer__links-ul {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 1.5rem;
  color: white;
}

.footer__links-ul li {
  margin-bottom: 0.2rem;
  font-size: 1.5rem;
  color: white;
}

.footer__links-ul a:hover {
  text-decoration-line: underline;
  text-decoration-color: #2a8bff !important;
  text-underline-offset: 0.7em !important;
  transition: all 0.3s;
  font-size: 1.5rem;
}

.footer__links-ul a {
  text-decoration-line: underline;
  text-decoration-color: white;
  text-underline-offset: 0.4em;
  text-decoration-thickness: 0.5px;
  transition: all 0.3s;
  font-size: 1.5rem;
}

.footer_links.brxe-text a {
  font-size: 1.5rem;
}

.footer_links.brxe-text p {
  font-size: 1.5rem;
}

.footer_links p {
  font-size: 1.5rem;
}

/* legal stuff mobile */
/* not mobile (tablet & desktop) */
@media (min-width: 768px) {
  .ul-horizontal {
    display: flex;
    gap: 2rem;
  }
}

/* =======================================
  SIZE OPTIONS / RESPONSIVE SITE WIDTH
======================================= */

.container__width {
  width: 1500px !important;
  /* for debug background:green; */
}

@media (min-width: 2300px) {
  .container__width {
    width: 1700px !important;
  }

  .container__width_options_image {
    width: 1900px !important;
  }
}



/* =======================================
   OVERFLOW FIXES
======================================= */

.bricks-is-frontend header {
  max-width: 100vw;
}

body.bricks-is-frontend {
  overflow-x: clip;
}

body.bricks-is-frontend.no-scroll {
  overflow: hidden !important;
}

/* =======================================
   LINKS & INTERAKTIVES
======================================= */

/* =======================================
   MISC
======================================= */

.invert-logo {
  filter: brightness(0) invert(1);
}

figure.image-wrapper,
img#brxe-fribax {
  background: #222222;
}

.gsap-marker-start,
.gsap-marker-end,
.gsap-marker-scroller-end,
.gsap-marker-scroller-start {
  visibility: hidden;
}

/* =======================================
     BLOG Archive 
======================================= */

.card__post-image {
  max-width: none !important;
  max-height: none !important;
}

.card__post-image-wrapper {
  height: 24rem;
  overflow: hidden;
  position: relative;
}

.card__post-image {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
  display: block;
}

.card__post {
  width: 100%;
  padding: 10px;
}

/* Card External - Background */
body:not(.page-id-1144) [data-bg-style="ja"] {
  /* background-color: #dfdfdf; */
  border: 1.5px dotted #999;
  border-radius: 4px;
}

.card__post-blog-badge-external {
  background-color: #ffffff;
  color: #333;
  padding: 0.25em 0.75em;
  border-radius: 0.2em;
  font-size: 1.275rem;
  font-weight: 500;
}

/* Optionaler Style für spezielle Kombination */
.card__post.card__post-link-only {
  border-bottom: 1px dotted #999;
}

/* =======================================
   BLOG Archive Filter
======================================= */

.blog__tags-topic {
  font-size: 1.4rem;
}

.blog__tags-active {
  font-size: 1.4rem;
}

.blog__tags-category {
  font-size: 1.4rem;
}

/* =======================================
   BLOG Single Page
======================================= */

.mgm_sp_autorenbild {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
}

/* overflow carousel wegen schatten disabled */

.splide__track {
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
  z-index: 0;
}

/* shared tag styles */

.terms-tiny a {
  font-size: 1.2rem;
  padding: 0.3rem 1.3rem;
  border-radius: 10px;
  line-height: 1.4;
  white-space: nowrap;
  margin-left: 0.5rem;
}

.tags-tiny a {
  font-size: 1.2rem;
  padding: 0.3rem 1.3rem;
  border-radius: 10px;
  line-height: 1.4;
  white-space: nowrap;
  margin-left: 0.5rem;
  background: #e0e0e0;
  pointer-events: none;
}

.expert__ a {
  background-color: #e0e0e0;
  color: #333;
  font-size: 1.2rem;
  padding: 0.3rem 1.3rem;
  border-radius: 10px;
  line-height: 1.4;
  white-space: nowrap;
  margin-left: 0.5rem;
}

/* terms-tiny specific */
.terms-tiny a {
  background: var(--raspberry-light);
  color: #fff;
  pointer-events: none;
  /* disable clicks */
}

/* bricks background override */
.blog__tags-category .bricks-background-primary {
  background: var(--raspberry-light);
  color: white;
}

/* dotted line 0.5px */
.divider_dotted .line {
  border-top: 1px dotted #000;
  margin-top: 0.4rem;
  margin: 0.4rem 0 0.4rem 0;
  max-width: 70%;
}

/* Nur Links im Post Content unterstreichen – dotted + Abstand */
body.single-blog-und-news .brxe-post-content.post__content a {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  cursor: pointer !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

code {
  color: #000;
  margin: 2rem;
}

pre.wp-block-code {
  margin: 3rem 0;
}
.wp-block-verse {
  color: black;
  margin-bottom: 2rem;
  margin-top: 2rem;
  font-family: monospace;
}
/* =======================================
   MENU RELATED
======================================= */

/* Language Switcher */

.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-bottom: 1px solid black;
  padding-bottom: 2px;
  cursor: pointer;
}

.language-switch span {
  font-weight: 600;
  font-size: 1rem;
}

.language-switch i {
  font-size: 1rem;
  display: inline-block;
  transform: translateY(1px);
}

/* Megamenu Items */

.menu-item-megamenu {
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
}

.section-sticky-blur {
  background-color: transparent !important;
  opacity: 0;
  transition: opacity 1.5s ease;
}

.section-sticky-blur {
  background-color: transparent !important;
  opacity: 0.6s ease;
  overflow: hidden;
  position: sticky;
  top: 7rem;
  z-index: 10;
}

.brxe-text.mega__menu-head-div {
  width: 100%;
}

.section-sticky-blur.is-stuck {
  background: linear-gradient(45deg, #1b72b7 20%, #0c1a26 100%);
  background-size: 200% 200%;
  animation: backgroundMove 16s ease infinite;
  opacity: 0.95;
  top: 7rem;
  position: sticky;
}

@keyframes backgroundMove {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 20%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/* Abstand bei WP Admin Bar */
body.admin-bar .section-sticky-blur.is-stuck {
  top: calc(7rem + 32px);
}

/* Tablet & Mobile Abstand */
@media (max-width: 990px) {
  .section-sticky-blur.is-stuck {
    top: 8rem;
  }
}

@media (max-width: 766px) {
  .section-sticky-blur.is-stuck {
    top: 8rem;
  }
}

/* Optional: Textfarbe für Sticky-Modus */
.link-sticky-breadcrumb {
  color: white !important;
}

/* =======================================
   Mega Menue Styling
======================================= */

.mega__menu-section .menu-item-megamenu {
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
}

.mega__menu-section .bricks-nav-menu > li {
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
  margin: 0;
}

ul > .mega__menu_subdivision:not(:first-of-type) {
  margin-top: 1rem !important;
  font-weight: 600;
  font-size: 1.8rem;
}

.mega__menu_subdivision {
  font-weight: 600;
  font-size: 1.8rem;
}

/* temporary fixes mega menue space issue */
@media (max-width: 2000px) {
  #brxe-sonrql {
    width: 100%;
  }
}
.main-menue-list > .main-menue-list-item {
  padding-bottom: 6px !important;
  padding-top: 6px !important;
}

/*   Individuelle Hover-Farben pro Spalte
*/

/* Block 1 – Grün (#ACE529) */
#mgm-sp_mm_block1 .menu-item-megamenu:hover,
#mgm-sp_mm_block1 .bricks-nav-menu > li > a:hover,
#mgm-sp_mm_block1 .bricks-mobile-menu > li > a:hover {
  border-bottom: 1px solid #ace529;
  margin-bottom: -1px;
  background-color: rgba(172, 229, 41, 0.1);
}

/* Block 2 – Orange (#FF4900) */
#mgm-sp_mm_block2 .menu-item-megamenu:hover,
#mgm-sp_mm_block2 .bricks-nav-menu > li > a:hover,
#mgm-sp_mm_block2 .bricks-mobile-menu > li > a:hover {
  border-bottom: 1px solid #ff4900;
  margin-bottom: -1px;
  background-color: rgba(255, 73, 0, 0.08);
}

/* Block 3 – Türkis (#64E3ED) */
#mgm-sp_mm_block3 .menu-item-megamenu:hover,
#mgm-sp_mm_block3 .bricks-nav-menu > li > a:hover,
#mgm-sp_mm_block3 .bricks-mobile-menu > li > a:hover {
  border-bottom: 1px solid #64e3ed;
  margin-bottom: -1px;
  background-color: rgba(100, 227, 237, 0.08);
}

/* Block 4 – Gelb (#F3D24E) */
#mgm-sp_mm_block4 .menu-item-megamenu:hover,
#mgm-sp_mm_block4 .bricks-nav-menu > li > a:hover,
#mgm-sp_mm_block4 .bricks-mobile-menu > li > a:hover {
  border-bottom: 1px solid #f3d24e;
  margin-bottom: -1px;
  background-color: rgba(243, 210, 78, 0.08);
}

/*   Feinunterteilung no link
*/

.mega__menu_subdivision a {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  cursor: default;
  background: none !important;
  border: none !important;
}

/* kaskadierter rem from menu */
.mega__menu-block .bricks-nav-menu {
  gap: 0.8rem !important;
}

/* =======================================
   DARKMODE
======================================= */

/* Variablen */
:root {
  --bg-color: #fff;
  --text-color: #000;
}

:root.dark-mode {
  --bg-color: #000;
  --text-color: #fff;
}

/* Background- und Textfarbe anwenden */
.dark-mode {
  background-color: var(--bg-color) !important;
}

.dark-mode-text {
  color: var(--text-color);
}

/* =======================================
   DARKMODE TOGGLE BUTTON
======================================= */

.darkmode_toggle {
  position: relative;
  background-color: #e3e3e3;
  color: #333;
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: none;
  border-radius: 999px;
  padding: 12px 32px;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.55);
  cursor: pointer;
  overflow: hidden;
  z-index: 1;
  transition: color 0.3s;
}

.darkmode_toggle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #7f5aff, #d64ca2, #fcb1b1);
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  z-index: -1;
}

.darkmode_toggle:hover::before {
  opacity: 1;
}

.darkmode_toggle:hover {
  color: white;
}

/* =======================================
   SPACING
======================================= */

/* class for gaps module head intro text */
.head-intro-text-gap {
  gap: 2rem;
}

/* =======================================
   BUTTONS
======================================= */

/* typical mgm corporate button with animation */

.readmore-icon-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 7rem;
  height: 2rem;
  border: 0.05rem solid #444444;
  border-radius: 999px;
  background-color: transparent;
  transition: background-color 0.4s;
  padding: 0 0.5em;
  overflow: hidden;
}

.readmore-icon-button svg {
  transform: translateX(0);
  transition: transform 0.4s ease;
}

.readmore-text-link {
  font-size: 1.2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: black;
  text-decoration: underline;
  transition: color 0.4s;
}

.readmore-button-wrapper:hover .readmore-icon-button {
  background-color: black;
}

.readmore-button-wrapper {
  margin-top: 1rem;
}

.readmore-button-wrapper:hover .readmore-icon-button svg {
  transform: translateX(3.5rem);
  /* stroke: white!important; */
}

.readmore-button-wrapper .bricks-button {
  padding: 0 0.5em;
}

/* cls-5 class in mgm_sp-button-arrow3.svg  svg class insiside */
.readmore-button-wrapper:hover .readmore-icon-button .cls-5 {
  stroke: white !important;
}

.dropdown {
  padding-left: 20px;
}

/* =======================================
   Kategoriebasierte Hintergrundstile
======================================= */

:root {
  --blob-pos-bottom: -480px;
  --blob-pos-right: -397px;
  --blob-width: 700px;
  --blob-height: 700px;
  --card-height: 22rem;
}

.blue_gradient {
  background: linear-gradient(135deg, var(--marine-dark), var(--marine-light));
}

/* === Grundstil für alle Header-Karten mit Kategorie-Stilierung === */
[category-bg-style-header],
.card_gradient_schulungen,
.card_gradient_security_testing,
.card_gradient_information_security,
.card_gradient_application_security {
  position: relative;
  height: var(--card-height);
  background: linear-gradient(135deg, var(--marine-dark), var(--marine-light));
}

/* === Grundstil für das Glow-Overlay === */
[category-bg-style-header]::after,
.card_gradient_schulungen::after,
.card_gradient_security_testing::after,
.card_gradient_information_security::after,
.card_gradient_application_security::after {
  content: "";
  position: absolute;
  width: var(--blob-width);
  height: var(--blob-height);
  bottom: var(--blob-pos-bottom);
  right: var(--blob-pos-right);
  border-radius: 50%;
  filter: blur(70px);
  transform: scale(1);
  transition: transform 6s ease-in-out;
  opacity: 0.9;
  pointer-events: none;
}

/* === Bereich: Training und Seminare === */
[category-bg-style-header="Schema Schulungen"]::after,
.card_gradient_schulungen::after {
  background: radial-gradient(circle, #ffde5a, #fee88d, #ffffff);
  filter: blur(50px);
}
/* bug? cave!
[category-bg-style-header="Schema Lösungen / Szenarien"]::after,
.card_gradient_schulungen::after {
  background: radial-gradient(circle, #BF228D, #FE345C, #BF228D, #ffffff);
  filter: blur(50px);
} */

[category-bg-style-header="Schema Lösungen / Szenarien"]::after,
.card_gradient_corporate::after {
  background: radial-gradient(circle, #bf228d, #fe345c, #bf228d, #ffffff);
  filter: blur(50px);
}

/* »Körperlichkeit Cards« */

[category-bg-style-header="Schema Security Testing"]::before,
[category-bg-style-header="Schema Schulungen"]::before,
[category-bg-style-header="Schema Information Security"]::before,
[category-bg-style-header="Schema Application Security"]::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  width: 600px;
  height: 400px;
  background-image: url("https://mgmsp25.hostpress.me/wp-content/uploads/2025/07/blurry-line.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  z-index: 200;
  transform: rotate(-10deg);
  pointer-events: none;
}


[category-bg-style-header="Schema Lösungen / Szenarien"]::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  width: 600px !important;
  height: 400px !important;
  background-image: url("/wp-content/uploads/2025/09/blurry-line-soft2.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
  z-index: 1;
  transform: rotate();
}

/* === Bereich: Security Testing === */
[category-bg-style-header="Schema Security Testing"]::after,
.card_gradient_security_testing::after {
  background: radial-gradient(circle, #ff4900, #ffa582, #ffffff);
  filter: blur(50px);
}

/* === Bereich: Information Security === */
[category-bg-style-header="Schema Information Security"]::after,
.card_gradient_information_security::after {
  background: radial-gradient(circle, #64e3ed, #b0f4fa, #ffffff);
}

/* === Bereich: Application Security === */
[category-bg-style-header="Schema Application Security"]::after,
.card_gradient_application_security::after {
  background: #c4ff00;
}

/* === Bereich: Corporate === */
[category-bg-style-header="Schema Corporate"]::after,
.card_gradient_corporate::after {
  background: red;
}

/* === Hover-Animation === */
[category-bg-style-header]:hover::after,
.card_gradient_schulungen:hover::after,
.card_gradient_security_testing:hover::after,
.card_gradient_information_security:hover::after,
.card_gradient_application_security:hover::after {
  transform: scale(1.55);
}

/* === Responsive Blob-Größe und Kartenhöhe === */
@media (max-width: 768px) {
  :root {
    --blob-pos-bottom: -250px;
    --blob-pos-right: -150px;
    --blob-width: 400px;
    --blob-height: 400px;
    --card-height: 20rem;
  }
}

/* =======================================
   HEADER
======================================= */

/* Header – ACHTUNG: Kein height setzen */
.header-nav {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: white;
  transition: all 0.3s ease;
}

.header-inner {
  padding: 2rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: padding 0.3s ease;
}

/* Logo animieren */
#header-logo img {
  transition: transform 0.7s ease;
  transform: scale(1);
  transform-origin: left center;
}

/* ========================================
   Header Height (Menu) / * fixed for better alignment secondary
   Desktop: 7rem, Tablet/Mobile: 8rem
======================================== */

div#header {
  height: 7rem;
}

@media (max-width: 991px) {
  div#header {
    height: 8rem;
  }
}

@media (max-width: 766px) {
  div#header {
    height: 8rem;
    /* Optional – für spätere Unterscheidung */
  }
}

#fixed-scroll-menu {
  z-index: 300;
}


/* karte blog falls kein bild */

[bg-style-fallback="blog"] {
  position: relative;
  height: var(--card-height);
  background: linear-gradient(135deg, var(--marine-dark), var(--marine-light));
}

/* Glow-Overlay für fallback blog cards */
[bg-style-fallback="blog"]::after {
  content: "";
  position: absolute;
  width: var(--blob-width);
  height: var(--blob-height);
  bottom: var(--blob-pos-bottom);
  right: var(--blob-pos-right);
  border-radius: 50%;
  background: radial-gradient(circle, #bf228d, #fe345c, #bf228d, #ffffff);
  filter: blur(50px);
  transform: scale(1);
  transition: transform 6s ease-in-out;
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}

/* Optionale Hover-Animation wie bei anderen Bereichen */
[bg-style-fallback="blog"]:hover::after {
  transform: scale(1.55);
}

/* Weiß geblurrte Linie vorne */
[bg-style-fallback="blog"]::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  width: 600px !important;
  height: 400px !important;
  background-image: url("/wp-content/uploads/2025/09/blurry-line-soft2.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  z-index: 1;
  /* transform: rotate(-10deg); */
  pointer-events: none;
}

/* toggle option icons headline komponente */
.brx-hidden {
  display: none;
}

/* übersichtsseiten portfolio filter toggle */

.toggle-icon.is-active svg {
  fill: #999;
  transform: rotate(0deg);
  transition: fill 0.2s ease, transform 0.2s ease;
  background-color: white;
  padding: 8px;
  border-radius: 4px;
  border: 0.5px dotted #999;
}

/* Aktiver Zustand (offen) */
.toggle-icon:not(.is-active) svg {
  fill: #000;
  /*  transform: scale(0.8);  */
  background-color: #efefef;
  padding: 8px;
  border: 0.5px dotted #999;
  border-radius: 4px;
}

/* image related */

.bricks-image-caption {
  background: none;
  color: black;
  text-align: left;
  padding: 0px !important;
  font-size: 1.3rem;
}

/* cta call to actions */

.cta__mobile {
  display: none;
}

@media screen and (max-width: 991px) {
  .cta__desktop {
    /*   display: none; */
  }

  .cta__mobile {
    display: block;
  }
}

.cta__desktop {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: var(--radius-s-cards-inner);
  padding: 2rem 5rem;
  height: 35vh;
  width: 100%;
}


/* cta generell overlay */

.cta__gradient-overlay.brxe-block::before {
  background: linear-gradient(
    295deg,
    #cb1a83 4%,
    #1a569e 28%,
    rgba(223, 60, 91, 0.2) 50%,
    rgba(221, 55, 91, 0) 60%
  ) !important;
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}

/* Mobile: einfarbig + Multiply */
@media (max-width: 767px) {
  .cta__gradient-overlay.brxe-block::before {
    background: var(--raspberry-light) !important;
    mix-blend-mode: multiply !important;
  }
}

@media (max-width: 767px) {
  [class^="cta_"],
  [class*=" cta_"] {
    background-position: left center !important;
    background-size: cover;
  }
}

/* =======================================
   BLOG POSTS
======================================= */

/* paragraphs */
.post__content p {
  font-size: var(--body-plus);
  line-height: var(--body-lh-plus);
  font-weight: var(--blog-text-font-weight);
  margin-bottom: 1.2rem;
}

/* any h2 */
.post__content h2 {
  font-size: 3.5rem;
  line-height: 1;
  padding-top: 4rem;
  width: 60%;
  padding-bottom: 15px;
}

.post__content h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.6rem;
  line-height: var(--h3-lh);
  font-size: var(--h3-bold);
  font-weight: 400;
}

/* lists */
.post__content .wp-block-list {
  margin-bottom: 3rem;
  margin-top: 3rem;
  line-height: var(--body-lh-plus);
  font-size: var(--body-plus);
  line-height: var(--body-lh-plus);
  font-weight: var(--blog-text-font-weight);
}

.post__content li {
  padding-bottom: 10px;
}

.post__content ul,
.post__content ol {
  padding-inline-start: 30px;
  max-width: 100%;
  /* Standard: volle Breite */
}

/* Nur auf Desktop auf 70 % beschränken */
@media (min-width: 991px) {
  .post__content ul,
  .post__content ol {
    max-width: 70%;
  }
}

/* h4 */
.post__content h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.6rem;
  line-height: var(--h3-lh);
  font-size: var(--h3-bold);
  font-weight: 400;
}

.post__content p.has-strong {
  margin-top: 3rem;
  margin-bottom: 1rem;
}

/* opener text */
.post__content .has-large-font-size {
  font-size: var(--big-teaser) !important;
  line-height: var(--big-teaser-lh) !important;
  font-weight: var(--blog-opener-font-weight) !important;
  margin-bottom: 6rem;
  margin-top: 3rem;
}

/* images */
.post__content img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

/* =======================================
   WEGLOT
======================================= */

.country-selector.weglot-dropdown a,
.country-selector.weglot-dropdown span {
  display: block;
  height: 37px;
  line-height: 36px;
  font-size: 13px;
  padding: 0 10px;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: normal;
  border-bottom: 1px solid black;
  padding-bottom: 2px;
  cursor: pointer;
}

.country-selector.weglot-dropdown .wgcurrent {
  border: 0px solid #e0e0e0;
  list-style: none;
  display: block;
  margin: 0;
}

.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 37px;
  line-height: 36px;
  font-size: 13px;
  font-weight: normal;
  padding: 0 10px;
  box-sizing: border-box;
  border-bottom: 1px solid black;
  padding-bottom: 2px;
  cursor: pointer;
}

span.wglanguage-name {
  color: black;
}

.country-selector.weglot-dropdown .wgcurrent:after {
  top: 12px;
}

span.wglanguage-name {
  color: black;
}

.country-selector.weglot-dropdown .wgcurrent:after {
  -ms-transform: rotate(-90deg); /* für alte IE-Versionen */
  transform: rotate(-90deg);
}

/* =======================================
   TABLES
======================================= */

.brx-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
}

.brx-table th,
.brx-table td {
  border: 1px solid #ddd;
  padding: 0.75rem 1rem;
  text-align: left;
}

.brx-table thead th {
  background-color: #f5f5f5;
  font-weight: 600;
}

.brx-table td:first-child,
.brx-table th:first-child {
  background-color: #e9f5ff;
  font-weight: 600;
}

/* =======================================
   MEGA MENUE
======================================= */

.main-menue-list > .main-menue-list-item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
  box-sizing: border-box;
}

.main-menue-list > .main-menue-list-item > a {
  display: block;
  text-decoration: none;
  color: inherit;
  font-size: 1.5rem;
  line-height: 1.1;
}

ul > .mega__menu_subdivision:not(:first-of-type) {
  margin-top: 1rem !important;
  font-weight: 600;
  font-size: 1.8rem;
}
.mega__menu_subdivision {
  font-weight: 600;
  font-size: 1.8rem;
}

.mega__menu_subdivision a {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  cursor: default;
  background: none !important;
  border: none !important;
}

/* Hover-Farben: direkt auf dem LI => volle Breite */
#mgm-sp_mm_block1 .main-menue-list > .main-menue-list-item:hover {
  background-color: rgba(172, 229, 41, 0.1);
  border-bottom-color: #ace529;
}

#mgm-sp_mm_block2 .main-menue-list > .main-menue-list-item:hover {
  background-color: rgba(255, 73, 0, 0.08);
  border-bottom-color: #ff4900;
}

#mgm-sp_mm_block3 .main-menue-list > .main-menue-list-item:hover {
  background-color: rgba(100, 227, 237, 0.08);
  border-bottom-color: #64e3ed;
}

#mgm-sp_mm_block4 .main-menue-list > .main-menue-list-item:hover {
  background-color: rgba(243, 210, 78, 0.08);
  border-bottom-color: #f3d24e;
}

.mega__menu-text .brxe-heading {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}

/* Scope: nur im Mega-Menu-Text-Block */
.mega__menu-text .brxe-text {
  width: 100%;
}

/* trennlinien */
.section__overview-trenner.brxe-section {
  border-bottom: 0px dashed var(--raspberry-light);
}

/* kontaktformular */
button.bricks-button.bricks-background-primary {
}

/* meta navi hide left block */
.brxe-phnpie.brxe-block {
  display: none;
}

/* =======================================
   Schulungen
======================================= */

.people__accordion-background-acc {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 0 0 8px 8px !important;
  padding: 35px !important;
  z-index: 1000;
}

/* test blur section */
section#brxe-iihwia img {
  backdrop-filter: blur(2px);
}

section#brxe-iihwia {
  z-index: 100 !important;
}

/* schulungen */
/* taxonomies spezialist */

.brxe-culrjq.brxe-text-basic.type__marginalien a {
  background-color: #e7e6e6;
  border-radius: 4px;
  padding: 0.3em 0.5em;
  margin-right: 0.5rem;
}

/* taxonomies link prevention */
.no-link a[href] {
  pointer-events: none !important;
  cursor: default;
  text-decoration: none;
  color: inherit;
}

.no-link a[href]:hover,
.no-link a[href]:focus,
.no-link a[href]:active {
  color: inherit;
  text-decoration: none;
  outline: none;
}

.expert__tags a {
  background-color: #e0e0e0;
  color: #333;
  font-size: 1.2rem;
  padding: 0.3rem 1rem !important;
  border-radius: 10px;
  line-height: 2.2;
  white-space: nowrap;
  border-bottom: 0px !important;
}

/* =======================================
   TEMPLATE Products
======================================= */

/* nummerierte liste innerhalb der headline komponente nicht haken  » tb checked auf konflikt mit bullet linkliste */

.type__opener ol {
  padding-left: 25px;
  list-style: decimal;
  list-style-position: outside;
}

.type__opener ol li {
  list-style: decimal;
  position: relative;
}

.type__opener ol li::before {
  content: none !important;
  padding-left: 0px !important;
}

.type__opener ol li {
  padding-left: 10px !important;
}

.type__opener ul {
  padding-top: 25px;
}

/* styling product pages */
.card__large-background {
  background: rgba(255, 255, 255, 0.95) !important;
}

/* =======================================
   HEADER GRADIENT
======================================= */

/* Host vorbereiten */
#page-gradient {
  position: relative;
  overflow: hidden;
}

#page-gradient::after {
  content: "";
  position: absolute;
  width: 100vh;
  height: 100vh;
  left: -10%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--marine-light) 20%,
    var(--marine-dark) 60%,
    transparent 100%
  );
}

/* Application Security (grün / bamboo) */
.scheme-application-security #page-gradient::before {
  content: "";
  position: absolute;
  height: 100vh;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--bamboo-light) 20%,
    var(--bamboo-light) 60%,
    transparent 100%
  );
}

/* Security Testing (salsa) */
.scheme-security-testing #page-gradient::before {
  content: "";
  position: absolute;
  height: 100vh;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--salsa-light) 20%,
    var(--salsa-light) 60%,
    transparent 100%
  );
}

/* Information Security (lagune) */
.scheme-information-security #page-gradient::before {
  content: "";
  position: absolute;
  height: 100vh;
  left: 45%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--lagune-light) 20%,
    var(--lagune-light) 60%,
    transparent 100%
  );
}

/* Schulungen / Training (sand) */
.scheme-schulungen #page-gradient::before {
  content: "";
  position: absolute;
  height: 100vh;
  width: 100vh;
  left: 45%;

  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  /* background: linear-gradient(5deg,
      var(--sand-light) 0%,
      var(--sand-light) 60%,
      transparent 100%); */
  background: radial-gradient(circle, #ffde5a, #fee88d, #ffffff);
}

/* Corporate (raspberry) */
.scheme-corporate #page-gradient::before {
  content: "";
  position: absolute;
  height: 100vh;
  left: 45%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--raspberry-light) 20%,
    var(--raspberry-light) 60%,
    transparent 100%
  );
}

/* Lösungen (raspberry) */
.scheme-loesungen #page-gradient::before {
  content: "";
  position: absolute;
  /* width: 80vh;
  height: 80vh; */
  height: 100vh;
  left: 45%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: linear-gradient(
    45deg,
    var(--raspberry-light) 20%,
    var(--raspberry-light) 60%,
    transparent 100%
  );
}

/* =======================================
  Gradient Blob attachable
======================================= */

/* unterlay spot 01 rot */
.raspberry-blob::after {
  content: "";
  position: absolute;
  width: 60vh;
  height: 60vh;
  right: 10%;
  top: 10%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: radial-gradient(
      circle,
      var(--raspberry-light) 50%,
      var(--raspberry-dark)
    )
    50%;
}

/* unterlay spot 01 rot */
.raspberry-blob-top::after {
  content: "";
  position: absolute;
  width: 60vh;
  height: 60vh;
  border-radius: 50%;
  z-index: 0;
  filter: blur(150px);
  background: radial-gradient(
      circle,
      var(--raspberry-light) 50%,
      var(--raspberry-dark)
    )
    50%;
}

.blue-blob-top {
  --blob-size: 60vh;
}

.blue-blob-top::after {
  content: "";
  position: absolute;
  width: var(--blob-size);
  height: var(--blob-size);
  right: 10%;
  top: 10%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: radial-gradient(circle, var(--marine-dark), var(--marine-light));
}

.blue-blob-top.large {
  --blob-size: 80vh;
}

.blue-blob-top.small {
  --blob-size: 40vh;
}

/* unterlay spot 02 blau */
.blue-blob::before {
  content: "";
  position: absolute;
  width: 80vh;
  height: 80vh;
  right: 50%;
  bottom: 35%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(150px);
  background: radial-gradient(circle, var(--marine-dark), var(--marine-light));
}

.section__leistung {
  position: relative; /* Bezug für ::before */
  isolation: isolate; /* eigener Stacking-Context, verhindert Z-Index-Überraschungen */
}

.section__leistung::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 70vh;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(220px);
  background: radial-gradient(circle, var(--marine-dark), var(--marine-light));
}

@media (min-width: 2500px) {
  .section__leistung::before {
    width: 60%; /* vorher 90% */
    height: 70%; /* vorher 70vh */
    filter: blur(180px); /* etwas weniger Blur, optional */
  }
}

/* Rot-Blob */
@keyframes redPulse {
  0%,
  100% {
    opacity: 0.6;
    transform: scale(1);
    filter: blur(150px);
  }

  50% {
    opacity: 0.9;
    transform: scale(1.3);
  }
}

/* Blau-Blob */
@keyframes bluePulse {
  0%,
  100% {
    opacity: 0.7;
    transform: scale(1);
  }

  50% {
    opacity: 0.8;
    transform: scale(1.5);
  }
}

/* =======================================
   Komponenten
======================================= */

/* Headline Component Column Left Icon Resizing */

/* mobile */
@media (max-width: 767px) {
  .grid__row1-col1 {
  }
  .grid__row2-col1 {
  }
}

/* tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .grid__row1-col1 {
    width: 150px;
  }

  .grid__row2-col1 {
    width: 150px;
  }
}

/* desktop */
@media (min-width: 1024px) {
  .grid__row1-col1 {
    width: 250px;
  }

  .grid__row2-col1 {
    width: 250px;
  }
}

/* dreier infobox einrückung ins raster */
@media (min-width: 767px) {
  .container__infobox-reduced
    .brxe-hlolqr.brxe-container.container__width.container__padding {
    margin-left: 2rem;
  }
}

@media (max-width: 766px) {
  .brxe-wrmtaa.brxe-block.only-middle-block.grid_3col_2row_33_66 {
    grid-template-columns: 1fr;
  }
}

.align_axis_bottom {
  justify-content: flex-end;
}

.align_axis_top {
  justify-content: flex-start;
}

.icon__wrapper {
  padding-top: 0.1rem;
}

/* dreier infobox switch to 100%
 */
.only-middle-block .brxe-xrvkjb {
  display: none !important;
}

.only-middle-block .brxe-tsnfmx {
  grid-column: 2 / 4 !important;
}

/* standard headline block spacing component */
.grid_3col_2row_33_66 {
  margin-bottom: 2rem;
  margin-top: 2rem;
}

/* headline component spacing h2 to top */
.grid_3col_2row_33_66 .type__h2 {
  margin-top: 5rem;
}

@media (max-width: 478px) {
  .grid_3col_2row_33_66 .type__h2 {
    margin-top: 2rem;
  }
}

/* any accordion wrapper space */
.accordion__wrapper:first-of-type {
  margin-top: 3rem;
}

/* dreierblock padding adjustment */
.block_2_66 .container__width.brxe-container {
  justify-content: center;
  padding-right: 0px;
  padding-left: 0px;
}

/* icon adjustment container */

@media (max-width: 478px) {
  .icon__wrapper.brxe-block {
    align-items: start !important;
  }
}

@media (max-width: 478px) {
  .icon__position.brxe-block {
    align-items: start;
    align-self: flex-start !important;
  }
}

.brxe-container.container__width.container__padding.negative__100 {
  margin-top: -100px;
}

.brxe-container.container__width.container__padding.negative__50 {
  margin-top: -50px;
}

.brxe-container.container__width.container__padding.negative__0 {
  margin-top: 0px;
}

.headline__component h3 {
  margin-top: 4rem;
}

/* =======================================
   Komponenten end
======================================= */

/* =======================================
   Seite Karriere
======================================= */

/* karriereseite icons */
.analyse .cls-1 {
  stroke: white;
}

.beratung .cls-1 {
  stroke: white;
}

.training .cls-1 {
  stroke: white;
}

/* multiply raspberry overlay */
.colorize__section::before {
  mix-blend-mode: multiply;
  /*	  backdrop-filter: blur(1px);         
  -webkit-backdrop-filter: blur(1px);  */
  border-radius: 6px;
}

.colorize__section > * {
  position: relative;
  z-index: 2;
}

/* =======================================
   Listenoptimierung
======================================= */

:root {
  --list-font-size: 1.7rem;
}
/* Schriftgrößen global (auch mobile) */
.feature-list li,
.type__text-base ul li,
.feature-list-small .type__text-base,
.brxe-iionjl.brxe-block.feature-list p {
  font-size: var(--list-font-size);
}
/* nur Abstände, Positionierungen etc. ab Tablet/Desktop */
@media (min-width: 768px) {
  .feature-list li {
    padding-left: 0.2rem;
  }
  .feature-list li::before {
    left: -3.4rem;
    top: 1.3rem !important;
    width: 2.4rem;
    height: 2.4rem;
  }
  .type__text-base ul li {
    padding-left: 0.2rem;
  }
  .type__text-base ul li::before {
    left: -2.8rem;
    top: 1.1rem !important;
  }
  /* sonderfall bullets in dreier column conf */
  .block_2_66 .type__text-base ul li::before {
    left: 0rem;
  }
  .block_2_66 .type__text-base ul li {
    padding-left: 3rem;
  }
  /* listen negativ */
  .type__opener ol {
    padding-left: 0px !important;
  }
  /* ts compensation for additional p in lists */
  .brxe-iionjl.brxe-block.feature-list p {
    margin-top: 1.7rem;
  }
  /* listen nachziehen cave */
  .brxe-wmipcj.brxe-block.grid_3col_2row_33_66 .feature-list {
    margin-top: -1.2rem !important;
  }
}
:where(.brxe-nav-menu) .bricks-nav-menu > li {
  margin: 0 0 0 0px;
}
/* any ul followup on p if list in textblock */
p + ul {
  padding-top: 2rem;
}
/* any p followup on ul if list in textblock */
ul + p {
  padding-top: 2rem;
  font-size: var(--list-font-size) !important;
}

.link-list-small a {
  text-decoration-line: underline;
  text-decoration-color: black;
  text-underline-offset: 0.4em;
  text-decoration-thickness: 0.5px;
}

/* listen in triple element no indent */
.infobox__triple .type__text-base ul {
  padding-left: 0rem;
}
.infobox__triple .type__text-base li {
  padding-left: 3rem;
}

.infobox__triple .type__text-base ul li::before {
  left: 0rem !important;
  top: auto !important;
}

/* keine nummerierten listen beeinflussen */

.type__text-base ol,
.feature-list ol,
.infobox__triple .type__text-base ol {
  padding-left: 1.6rem;
  margin-left: -1.5rem;
}

/* Pseudo-Bullets bei OL komplett abschalten */
.type__text-base ol li::before,
.feature-list ol li::before,
.infobox__triple .type__text-base ol li::before {
  content: none !important;
}

/* doppeleinrückung */

/*
ul ul li {
	border-bottom:0px!important;
} */

ul ul li {
  margin-left: 2rem;
}

ul ul li::before {
  content: "" !important;
  width: 2rem !important;
  height: 2.5rem !important;
  background-image: url(/wp-content/uploads/2025/08/icon-checkmark-2pt-filled.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* cave! Backend Listen wieder Back to normal */

/* Nur im Editor-Backend überschreiben */
body[data-builder-window="main"] ul ul li::before {
  content: none !important;
  background-image: none !important;
  width: auto !important;
  height: auto !important;
}

body[data-builder-window="main"] ul ul li {
  border-bottom: initial !important;
}

/* =======================================
   Seite About us
======================================= */

/* dark fond
.section__dark-gradient {
  background: #313131;
  background: linear-gradient(to right, #313131, #4F4F4F, #313131);
}
 */

.section__dark-gradient {
  background: linear-gradient(270deg, #313131, #4f4f4f, #313131);
  background-size: 200% 200%;
  animation: gradient-move 10s ease-in-out infinite alternate;
}

@keyframes gradient-move {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

/* =======================================
   Angleichung MGM TP Menü Group
======================================= */

.mgm_tp_menu-title {
  padding-bottom: 5px;
  font-size: 1.6rem !important; /* 16px ÷ 10 */
  font-weight: 700 !important;
}

.mgm_tp_text-size-tiny-3 {
  font-family: Roboto, sans-serif;
  font-size: 1.12rem !important; /* 0.7 * 16px = 11.2px → ÷ 10 = 1.12rem */
  font-weight: 400;
  line-height: 1.4;
}

.mgm_tp_primary-button-6 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  grid-column-gap: 0.8rem; /* 0.5rem * 16px = 8px → ÷ 10 */
  color: #000;
  text-align: left;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: transparent;
  padding: 0.4rem 0; /* 0.25rem * 16px = 4px → ÷ 10 */
  font-weight: 400;
  line-height: 1;
  transition: opacity 0.2s;
}

.mgm_tp_navbar_dropdown-item-2:not(:last-of-type) {
  border-right: 1px solid #000;
}

.mega__menu-head-group.brxe-heading {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 5px;
  font-size: 2.8rem;
  line-height: 2.8rem;
}

.mgm_tp-group-bar {
  width: 200px !important;
}

.mgm_tp-group-block {
  padding-right: 30px !important;
}

.mgm_tp_primary-button_label-4 {
  font-family: Roboto, sans-serif;
  font-size: 1.3rem !important;
  text-decoration: underline;
  margin-top: -12px;
}

.mega__menu-section-group .readmore-icon-button {
  width: 5rem;
  height: 1.5rem;
  border: 0.1rem solid #444444;
  overflow: hidden;
}

.mega__menu-section-group .readmore-icon-button svg {
  stroke-width: 0.3rem;
}

.mega__menu-section-group
  .readmore-button-wrapper:hover
  .readmore-icon-button
  svg {
  transform: translateX(2.5rem);
}

.mega__menu-section-group
  .readmore-button-wrapper:hover
  .mega__menu-section-group
  .readmore-icon-button
  .cls-5 {
  stroke: white !important;
}

.mega__menu-head-group.brxe-heading {
  border-bottom: 0px !important;
  margin-bottom: 0 !important;
  padding-bottom: 5px !important;
}

.mega__menu-section-group .mega__menu-block.brxe-block {
  row-gap: 0.6rem !important;
}

#section-02 {
  overflow: visible !important;
}

/* =======================================
   Bricks Editor UI Hacks
======================================= */

#bricks-panel-component-instance .label {
  background-color: color-mix(in srgb, var(--raspberry-light) 50%, transparent);
}

#bricks-panel-component-instance ul.properties > li {
  border: 1px solid #189fe1;
}

/* Ausschluss im Toolbar-Bereich */
ul.group-wrapper {
  border: 0 !important;
}

.group-wrapper {
  border: 1px solid var(--raspberry-light) !important;
  padding-left: 4px;
  padding-right: 4px;
}

#page-gradient::after {
  content: "";
  position: absolute;
  width: 90%;
  height: 90%;

  bottom: 0px;

  background: linear-gradient(
    45deg,
    var(--marine-light) 20%,
    var(--marine-dark) 60%,
    transparent 100%
  );
}

/* additional main buttons */

.readmore-button-dark {
  background-color: var(--raspberry-light);
  transition: background-color 0.4s, color 0.4s;
  border: 0px;
}

.readmore-button-dark .cls-5 {
  stroke: #ffffff !important;
  border: 3px !important;
  stroke-width: 0.4rem;
}

/* ================================
   Inhaltsverzeichnis Styling Pentest FAQ
================================ */

/* Grundlayout für TOC */
.brxe-post-toc .toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: 2rem;
}

@media (max-width: 768px) {
  #brxe-fbf227 {
    top: unset;
  }
}

/* Alle Links im TOC */
.brxe-post-toc .toc-link {
  display: block;
  padding: 0.3rem 0;
  color: #222;
  text-decoration: none;
  transition: color 0.2s ease;
}

.brxe-post-toc .toc-link:hover {
  color: var(--raspberry-light, #bf228d);
}

/* Haupt-Ebene (H2) */
.brxe-post-toc .toc-link.node-name--H2 {
  font-size: 1.6rem;
  font-weight: 600;
  border-bottom: 1px solid #ddd;
  margin-top: 1rem;
  padding-bottom: 0.3rem;
}

/* Unter-Ebene (H3) */
.brxe-post-toc .toc-link.node-name--H3 {
  font-size: 1.3rem;
  font-weight: 400;
  padding-left: 0.5rem;
  border: none;
}

/* Aktiver Eintrag */
.brxe-post-toc .toc-link.is-active-link {
  color: var(--raspberry-light, #bf228d);
  font-weight: 600;
}

/* Erstes Element (Intro-Titel) größer hervorheben */
/* Nur das allererste Element im gesamten TOC */
.brxe-post-toc > .toc-list > li:first-child .toc-link {
  font-size: 1.8rem; /* noch größer */
  font-weight: 400; /* stärker betont */
  margin-bottom: 3rem;
  border-bottom: 0px;
}

/* ================================
   Tabellenstyling
================================ */

table.mgm-sp-table {
  margin-top: 30px;
  margin-bottom: 30px;
}

.mgm-sp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.4;
  text-align: left;
}

.mgm-sp-table thead th {
  background-color: #f5f5f5;
  color: #222;
  font-weight: 400;
  padding: 1.2rem;
  border-right: 1px solid #ddd;
}

.mgm-sp-table .header-corner {
  background: #fff;
  border: none;
  font-size: 1.4rem;
}

/* Header Row */
.mgm-sp-table .header-row {
  text-align: center;
  vertical-align: middle;
  font-size: 1.4rem;
  background: var(--raspberry-light, #bf228d);
  color: #fff;
}

/* Header Col */
.mgm-sp-table .header-col {
  /* background: #fafafa; */
  font-weight: 600;
  width: auto;
  border-bottom: 1px solid #ddd;
  padding: 0.7rem;
  font-size: 1.2rem;
}

/* Zellen */
.mgm-sp-table .data-cell {
  border: 1px solid #ddd;
  padding: 0.7rem;
  vertical-align: top;
  font-size: 1.2rem;
}

/* Hover */
.mgm-sp-table tbody tr:hover .data-cell {
  background: #f9f9f9;
}

.mgm-sp-table-wrapper {
  overflow-x: auto;
}
.mgm-sp-table th:first-child,
.mgm-sp-table td:first-child {
  background-color: #f5f5f5;
  font-weight: bold;
}

/* css overwrite seitenspezifisch */

/* atlas */

@media (min-width: 1024px) {
  .postid-10822 .brxe-text.type__text-base ul {
    width: 70% !important;
  }
}

@media (max-width: 767px) {
  .postid-10822 .brxe-tsnfmx {
    grid-column: 2 / 4 !important;
  }
}

/* Pentest */
.page-id-17306 #brx-content :where(a):not(.toc-link.node-name--H2) {
  text-decoration: underline;
  text-underline-offset: 0.4em;
  text-decoration-thickness: 0.5px;
}

.page-id-17306 blockquote {
  font-size: var(--body);
  line-height: var(--body-lh);
  font-family: Roboto;
  font-weight: 400;
}

/* p abstände pentest faq */
.page-id-17306 :where(p) {
  margin-block: 0 1.3em !important;
}

/* alle reglulären seite */

/* listen fix */
.page:not(.blog) {
  --list-font-size: var(--body);
}

.page:not(.blog)
  .brxe-pwakhy.brxe-text.type__text-base.type__accordion-base.type__width--70-100.type__accordion-base-padding {
  width: 100%;
}

/* any ul followup on p if list in textblock */
.page:not(.blog) p + ul {
  padding-top: 0rem;
}
/* any p followup on ul if list in textblock */
.page:not(.blog) ul + p {
  padding-top: 2rem;
  font-size: var(--list-font-size) !important;
}

/* mobile mega menue */
.mega__menu-accordion-mobile :where(p) {
  margin-block: 0 !important; /* oder margin-block: initial; */
}

/* Default-Styles */
.accordion-title-wrapper {
  border-radius: var(--radius-s-cards);
  box-shadow: 1px 1px 1px #f0f0f0;
  padding: 1rem 2.5rem 1.5rem 2.5rem !important;
}

.mega__menu-accordion-mobile .accordion-title-wrapper {
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #ddd;
  padding: 0 0 2rem 0 !important; /* Abstand zwischen Text und Linie */
  margin-top: 1.5rem; /* Abstand nach oben zum vorherigen Element */
}

.main-menue-list > .main-menue-list-item {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5em 0;
  border-bottom: 1px dotted #999;
  box-sizing: border-box;
}


/* off canvas menue instead of standard menue */

.show-menu-desktop {
  display: block;
}
.show-menu-mobile {
  display: none;
}

@media (max-width: 1024px) {
  .show-menu-desktop {
    display: none !important;
  }
  .show-menu-mobile {
    display: block;
  }
}

.legal-heading {
  margin-top: 2.5rem; /* Abstand nach oben */
  margin-bottom: 1rem;
}


/* custom breakpoints for card grid */

@media (max-width: 1300px) {
  .tiny__product-cards-grid.brxe-div {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 850px) {
  .tiny__product-cards-grid.brxe-div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .tiny__product-cards-grid.brxe-div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .karriere__options-grid.brxe-div {
    grid-template-columns: 1fr !important;
  }
}

/* mega menue issues invisible */
root .brxe-dropdown:not(.open) > .brx-dropdown-content {
  pointer-events: none;
}

/* new header negative offset portfolio pages */
section#section-01 {
  margin-top: -100px;
}
