.elementor-kit-11{--e-global-color-primary:#009EE3;--e-global-color-secondary:#292D74;--e-global-color-text:#252625;--e-global-color-accent:#DDF2FF;--e-global-color-5f2545e:#E3E8EC;--e-global-color-a4542b1:#FFFFFF;--e-global-typography-primary-font-family:"Rischer Sans";--e-global-typography-primary-font-size:20px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.5em;--e-global-typography-secondary-font-family:"Rischer Sans";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-family:"Rischer Sans";--e-global-typography-text-font-size:1.2em;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Rischer Sans";--e-global-typography-accent-font-weight:500;--e-global-typography-75ae848-font-family:"Rischer Sans";--e-global-typography-75ae848-font-size:30px;--e-global-typography-75ae848-font-weight:700;--e-global-typography-75ae848-font-style:normal;--e-global-typography-75ae848-text-decoration:none;--e-global-typography-75ae848-line-height:1.5em;--e-global-typography-75ae848-letter-spacing:1px;--e-global-typography-75ae848-word-spacing:0px;--e-global-typography-08caaf9-font-family:"Rischer Sans";--e-global-typography-08caaf9-font-size:1.2em;--e-global-typography-08caaf9-font-weight:400;--e-global-typography-08caaf9-line-height:1.5em;--e-global-typography-d447453-font-family:"Rischer Sans";--e-global-typography-d447453-font-size:5em;--e-global-typography-d447453-font-weight:700;--e-global-typography-d447453-line-height:1em;--e-global-typography-09b1494-font-family:"Rischer Sans";--e-global-typography-09b1494-font-size:15px;--e-global-typography-09b1494-font-weight:700;--e-global-typography-09b1494-font-style:normal;--e-global-typography-09b1494-text-decoration:none;--e-global-typography-09b1494-letter-spacing:1px;--e-global-typography-09b1494-word-spacing:0px;--e-global-typography-eaa5304-font-family:"Rischer Sans";--e-global-typography-eaa5304-font-size:1.8em;--e-global-typography-eaa5304-font-weight:400;--e-global-typography-eaa5304-line-height:1.5em;--e-global-typography-dc403c9-font-family:"Rischer Sans";--e-global-typography-dc403c9-font-size:3em;--e-global-typography-dc403c9-font-weight:400;--e-global-typography-dc403c9-line-height:1.2em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-weight:400;overscroll-behavior:auto;--e-preloader-animation:flash;--e-preloader-animation-duration:2900ms;--e-preloader-width:100px;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-09b1494-font-family ), Sans-serif;font-size:var( --e-global-typography-09b1494-font-size );font-weight:var( --e-global-typography-09b1494-font-weight );font-style:var( --e-global-typography-09b1494-font-style );text-decoration:var( --e-global-typography-09b1494-text-decoration );letter-spacing:var( --e-global-typography-09b1494-letter-spacing );word-spacing:var( --e-global-typography-09b1494-word-spacing );color:var( --e-global-color-5f2545e );}.elementor-kit-11 button:hover,.elementor-kit-11 button:focus,.elementor-kit-11 input[type="button"]:hover,.elementor-kit-11 input[type="button"]:focus,.elementor-kit-11 input[type="submit"]:hover,.elementor-kit-11 input[type="submit"]:focus,.elementor-kit-11 .elementor-button:hover,.elementor-kit-11 .elementor-button:focus{background-color:var( --e-global-color-5f2545e );color:var( --e-global-color-secondary );}.elementor-kit-11 e-page-transition{background-color:var( --e-global-color-secondary );}.elementor-kit-11 a{color:var( --e-global-color-primary );}.elementor-kit-11 a:hover{color:var( --e-global-color-secondary );}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-11{--e-global-typography-75ae848-font-size:25px;--e-global-typography-75ae848-line-height:1.2em;--e-global-typography-09b1494-font-size:14px;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-09b1494-font-size );letter-spacing:var( --e-global-typography-09b1494-letter-spacing );word-spacing:var( --e-global-typography-09b1494-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-11{--e-global-typography-primary-font-size:20px;--e-global-typography-primary-line-height:1.5em;--e-global-typography-75ae848-font-size:30px;--e-global-typography-75ae848-line-height:1.2em;--e-global-typography-08caaf9-font-size:1.2em;--e-global-typography-08caaf9-line-height:1.5em;--e-global-typography-d447453-font-size:2em;--e-global-typography-d447453-line-height:1em;--e-global-typography-eaa5304-font-size:1.2em;--e-global-typography-eaa5304-line-height:1.5em;--e-global-typography-dc403c9-font-size:3em;--e-global-typography-dc403c9-line-height:1.2em;}.elementor-kit-11 button,.elementor-kit-11 input[type="button"],.elementor-kit-11 input[type="submit"],.elementor-kit-11 .elementor-button{font-size:var( --e-global-typography-09b1494-font-size );letter-spacing:var( --e-global-typography-09b1494-letter-spacing );word-spacing:var( --e-global-typography-09b1494-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   RISCHER TEAM – EDITORIAL SQUARE GRID
   Inhalte und Typografie bleiben Elementor-Widgets.
   ========================================================= */

.ri-sc-team,
.ri-sc-team *,
.ri-sc-team *::before,
.ri-sc-team *::after {
    box-sizing: border-box;
}

.ri-sc-team {
    --ri-primary: var(--e-global-color-primary);
    --ri-secondary: var(--e-global-color-secondary);
    --ri-text: var(--e-global-color-text);
    --ri-accent: var(--e-global-color-accent);

    --ri-line:
        color-mix(
            in srgb,
            var(--ri-text) 18%,
            transparent
        );

    --ri-soft:
        color-mix(
            in srgb,
            var(--ri-text) 68%,
            transparent
        );

    width: 100%;
}

/* Grid-Container werden in Elementor eingestellt. */

.ri-sc-lead-grid,
.ri-sc-lead-grid > .e-con-inner,
.ri-sc-grid,
.ri-sc-grid > .e-con-inner {
    width: 100%;
}

/* Personenkarte ------------------------------------------- */

.ri-sc-card {
    position: relative;
    min-width: 0;
    width: 100% !important;
}

.ri-sc-media {
    position: relative !important;
    display: block !important;
    aspect-ratio: 1 / 1;
    min-height: 0;
    width: 100%;
    padding: 0 !important;
    overflow: hidden;
    background:
        color-mix(
            in srgb,
            var(--ri-secondary) 25%,
            transparent
        );
    isolation: isolate;
}

.ri-sc-media > .e-con-inner {
    position: static !important;
    display: block !important;
    min-height: 100%;
    padding: 0 !important;
}

.ri-sc-media::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    border: 1px solid var(--ri-line);
    pointer-events: none;
}

.ri-sc-media::after {
    content: "";
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    height: 5px;
    background: var(--ri-accent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 500ms cubic-bezier(.22, 1, .36, 1);
    pointer-events: none;
}

.ri-sc-photo {
    position: absolute !important;
    z-index: 1;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}

.ri-sc-photo .elementor-widget-container,
.ri-sc-photo a,
.ri-sc-photo img {
    display: block;
    width: 100%;
    height: 100%;
}

.ri-sc-photo img {
    object-fit: cover;
    object-position: center top;
    filter: saturate(.82) contrast(1.02);
    transform: scale(1.001);
    transition:
        transform 800ms cubic-bezier(.22, 1, .36, 1),
        filter 450ms ease;
}

.ri-sc-card:hover .ri-sc-photo img,
.ri-sc-card:focus-within .ri-sc-photo img {
    filter: saturate(1) contrast(1.03);
    transform: scale(1.035);
}

.ri-sc-card:hover .ri-sc-media::after,
.ri-sc-card:focus-within .ri-sc-media::after {
    transform: scaleX(1);
}

/* Textbereich --------------------------------------------- */

.ri-sc-copy,
.ri-sc-copy > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    gap: 0 !important;
}

.ri-sc-copy {
    padding-top: 18px !important;
}

.ri-sc-degree {
    margin-bottom: 7px;
    color: var(--ri-accent);
}

.ri-sc-degree p,
.ri-sc-role p {
    margin: 0;
}

.ri-sc-name {
    margin-bottom: 7px;
    color: var(--ri-primary);
}

.ri-sc-name .elementor-heading-title {
    color: inherit;
}

.ri-sc-role {
    color: var(--ri-soft);
}

/* Elementor-Akkordeon ------------------------------------- */

.ri-sc-accordion {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--ri-line);
}

/* Die eigentliche Typografie und Button-/Akkordeonfarben
   werden im jeweiligen Elementor-Widget festgelegt. */

/* Dekorkacheln -------------------------------------------- */

.ri-sc-decor {
    position: relative !important;
    display: grid !important;
    place-items: center;
    aspect-ratio: 1 / 1;
    min-height: 0;
    width: 100% !important;
    padding: clamp(20px, 2.2vw, 38px) !important;
    overflow: hidden;
    border: 1px solid var(--ri-line);
    isolation: isolate;
}

.ri-sc-decor > .e-con-inner {
    position: relative;
    z-index: 3;
    display: grid !important;
    place-items: center;
    width: 100%;
    height: 100%;
    padding: 0 !important;
}

.ri-sc-decor-title,
.ri-sc-decor-title .elementor-heading-title {
    position: relative;
    z-index: 3;
    margin: 0;
    color: inherit;
    text-align: center;
}

.ri-sc-decor--grid {
    color: var(--ri-primary);
    background-color:
        color-mix(
            in srgb,
            var(--ri-secondary) 35%,
            transparent
        );
    background-image:
        linear-gradient(var(--ri-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--ri-line) 1px, transparent 1px);
    background-size: 24px 24px;
}

.ri-sc-decor--grid::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 18%;
    border: 1px solid var(--ri-accent);
    transform: rotate(45deg);
}

.ri-sc-decor--circle {
    color: var(--ri-primary);
    background: var(--ri-accent);
}

.ri-sc-decor--circle::before,
.ri-sc-decor--circle::after {
    content: "";
    position: absolute;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.ri-sc-decor--circle::before {
    width: 78%;
    aspect-ratio: 1;
}

.ri-sc-decor--circle::after {
    width: 42%;
    aspect-ratio: 1;
}

.ri-sc-decor--type {
    color: var(--ri-secondary);
    background: var(--ri-primary);
}

.ri-sc-decor--type::before,
.ri-sc-decor--type::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: var(--ri-accent);
}

.ri-sc-decor--type::before {
    top: 0;
    bottom: 0;
    left: 22%;
    width: 1px;
}

.ri-sc-decor--type::after {
    right: 0;
    bottom: 24%;
    left: 0;
    height: 1px;
}

/* Einblendung nur mit CSS --------------------------------- */

@media (prefers-reduced-motion: no-preference) {
    .ri-sc-card,
    .ri-sc-decor {
        animation: ri-sc-reveal both linear;
        animation-timeline: view();
        animation-range: entry 5% cover 28%;
    }

    @keyframes ri-sc-reveal {
        from {
            opacity: 0;
            transform: translateY(28px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Tablet und Smartphone ---------------------------------- */

@media (max-width: 767px) {
    .ri-sc-copy {
        padding-top: 15px !important;
    }

    .ri-sc-decor {
        display: none !important;
    }
}

@supports not (
    color: color-mix(in srgb, white 50%, transparent)
) {
    .ri-sc-team {
        --ri-line: var(--ri-text);
        --ri-soft: var(--ri-text);
    }

    .ri-sc-media,
    .ri-sc-decor--grid {
        background: var(--ri-secondary);
    }
}
/*
 * Rischer · Scrollbasierte Textfärbung.
 * Grundfarbe und Akzentfarbe können hier zentral geändert werden.
 */
.rischer-scrollfarbe {
    --rischer-scroll-basis: rgb(170, 170, 170);
    --rischer-scroll-akzent: rgb(0, 158, 227);
}

.rischer-scrollfarbe .rischer-scrollfarbe__wort {
    color: var(--rischer-scroll-basis);
    transition: color 120ms linear;
}

@media (prefers-reduced-motion: reduce) {
    .rischer-scrollfarbe .rischer-scrollfarbe__wort {
        color: var(--rischer-scroll-akzent) !important;
        transition: none;
    }
}
/*
 * Rischer · Wechselwort
 */
.rischer-wechselwort .elementor-heading-title {
  position: relative;
  display: inline-block;
  min-width: 9.6ch;
  height: 0.92em;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: top;
}

.rischer-wechselwort .rischer-word {
  display: block;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
}

.rischer-wechselwort .rischer-word.is-leaving {
  animation: rischer-word-out 160ms ease-in-out forwards;
}

.rischer-wechselwort .rischer-word.is-entering {
  animation: rischer-word-in 160ms ease-in-out forwards;
}

@keyframes rischer-word-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -105%, 0);
  }
}

@keyframes rischer-word-in {
  from {
    opacity: 0;
    transform: translate3d(0, 105%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rischer-wechselwort .elementor-heading-title {
    height: auto;
    overflow: visible;
  }
}
/* Rischer – Wechseltext mit 50 ms Vorsprung nach oben */
.rischer-wechselwort .elementor-heading-title {
  position: relative;
  display: inline-block;
  min-width: 10.4ch;
  height: 1.32em;
  padding-bottom: 0.18em;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: top;
  line-height: 1.08;
}

.rischer-wechselwort .rischer-word {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  will-change: transform, opacity;
}

/* Sichtbares Wort */
.rischer-wechselwort .rischer-word.is-current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Neues Wort startet unterhalb */
.rischer-wechselwort .rischer-word.is-next {
  opacity: 0;
  transform: translate3d(0, 1.45em, 0);
}

/* Altes Wort fährt zuerst nach oben weg */
.rischer-wechselwort .rischer-word.is-leaving {
  animation: rischer-word-out 560ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

/* Neues Wort folgt 50 ms später von unten */
.rischer-wechselwort .rischer-word.is-next.is-entering {
  animation: rischer-word-in 560ms cubic-bezier(0.16, 1, 0.7, 1) forwards;
}

@keyframes rischer-word-out {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  100% {
    opacity: 0;
    transform: translate3d(0, -1.45em, 0);
  }
}

@keyframes rischer-word-in {
  0% {
    opacity: 0;
    transform: translate3d(0, 1.45em, 0);
  }

  42% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rischer-wechselwort .elementor-heading-title {
    height: auto;
    padding-bottom: 0;
    overflow: visible;
  }

  .rischer-wechselwort .rischer-word {
    position: static;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
/* =========================================================
   RISCHER – DEUTSCHE SILBENTRENNUNG
   ========================================================= */

/*
  Wichtig: Die WordPress-Websitesprache muss auf Deutsch stehen.
  Prüfen unter: WordPress → Einstellungen → Allgemein → Sprache der Website.
*/
html[lang^="de"],
html[lang^="de"] body {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/* Fließtexte, Listen und Inhaltsbereiche deutsch trennen. */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor blockquote,
.elementor-widget-container p,
.elementor-widget-container li {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Auch Überschriften dürfen bei zu wenig Platz deutsch getrennt werden. */
.elementor-heading-title,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Bei sehr kleinen Screens ausreichend saubere Umbrüche erlauben. */
@media (max-width: 767px) {
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor li,
  .elementor-heading-title,
  h1,
  h2,
  h3 {
    overflow-wrap: break-word;
  }
}

/* =========================================================
   RISCHER – TEXTAUSWAHL
   ========================================================= */

::selection {
  background-color: #292D74;
  color: #009EE3;
  text-shadow: none;
}

::-moz-selection {
  background-color: #292D74;
  color: #009EE3;
  text-shadow: none;
}
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Rischer Sans';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://urform.de/kunden/rischer/wp-content/uploads/2026/07/MomoTrustSans-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Rischer Sans';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://urform.de/kunden/rischer/wp-content/uploads/2026/07/MomoTrustSans-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */