.elementor-40 .elementor-element.elementor-element-f069c1a{--display:flex;}.elementor-40 .elementor-element.elementor-element-1161dec{--display:flex;}.elementor-40 .elementor-element.elementor-element-70915ce{--display:flex;}.elementor-40 .elementor-element.elementor-element-5d04a4e{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-40 .elementor-element.elementor-element-7e96545{--display:flex;}.elementor-40 .elementor-element.elementor-element-4df6030{--display:flex;}.elementor-40 .elementor-element.elementor-element-6e57a0a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-40 .elementor-element.elementor-element-913d587{--display:flex;}.elementor-40 .elementor-element.elementor-element-897c09e{--display:flex;}.elementor-40 .elementor-element.elementor-element-423c812{--display:flex;}.elementor-40 .elementor-element.elementor-element-f4369cb{--display:flex;}.elementor-40 .elementor-element.elementor-element-ef84211{--display:flex;}.elementor-40 .elementor-element.elementor-element-3c1e748{--display:flex;}.elementor-40 .elementor-element.elementor-element-6b30c8a{--display:flex;}.elementor-40 .elementor-element.elementor-element-2c4680c{--display:flex;}.elementor-40 .elementor-element.elementor-element-a34b3c7{--display:flex;}.elementor-40 .elementor-element.elementor-element-f3c5f65{--display:flex;}.elementor-40 .elementor-element.elementor-element-c19343b{--display:flex;}.elementor-40 .elementor-element.elementor-element-72d81df{--display:flex;}.elementor-40 .elementor-element.elementor-element-f51f5e1 iframe{filter:brightness( 100% ) contrast( 100% ) saturate( 0% ) blur( 0px ) hue-rotate( 0deg );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for container, class: .elementor-element-f069c1a *//* =====================================================
   PROTECTYOURIT – KONTAKTSEITE
   Vollständiger konsolidierter CSS-Block

   Globale Typografie:
   H1      → pyi-page-title
   H2      → pyi-section-title
   kompakt → pyi-section-title--compact
   Eyebrow → pyi-section-eyebrow
   ===================================================== */


/* =====================================================
   01 | SEITENRAHMEN
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a {
  position: relative;

  box-sizing: border-box;

  width: 100%;
  max-width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;

  overflow-x: hidden;
  overflow-x: clip;

  background: #ffffff;

  color:
    var(--pyi-color-text, #455368);
}


/* =====================================================
   02 | GEMEINSAME INNER-BREITEN
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process-inner,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
  box-sizing: border-box;

  width:
    min(
      calc(100% - 4rem),
      var(--pyi-content-width, 1200px)
    );

  max-width:
    var(--pyi-content-width, 1200px);

  min-width: 0;

  margin-inline: auto;
}


/* =====================================================
   03 | GEMEINSAME EYEBROW
   Schriftgestaltung kommt aus globalem CSS
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__eyebrow {
  width: auto !important;
  max-width: 100% !important;

  margin:
    0
    0
    1.15rem !important;

  padding: 0 !important;
}


/* =====================================================
   04 | GEMEINSAME H2
   Keine lokale Schriftgröße
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-title {
  box-sizing: border-box;

  width: 100% !important;
  max-width: 46rem !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-title
.elementor-heading-title {
  width: 100% !important;
  max-width: 46rem !important;

  margin: 0 !important;
  padding: 0 !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;

  -webkit-hyphens: manual !important;
  hyphens: manual !important;
}


/* =====================================================
   05 | HERO-AUSSENFLÄCHE
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero {
  position: relative;

  box-sizing: border-box;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background:
    radial-gradient(
      circle at 86% 18%,
      rgba(0, 150, 228, 0.1),
      transparent 23rem
    ),
    linear-gradient(
      135deg,
      #f5f9ff 0%,
      #eef6ff 100%
    );
}


/* =====================================================
   06 | HERO-INNER
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(18rem, 0.75fr);

  align-items:
    center !important;

  padding:
    clamp(4.75rem, 6.5vw, 6.5rem)
    0;

  gap:
    clamp(3rem, 6vw, 6rem) !important;
}


/* =====================================================
   07 | HERO-INHALT
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  box-sizing: border-box;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =====================================================
   08 | HERO-H1
   Schriftgröße kommt aus pyi-page-title
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title {
  box-sizing: border-box;

  width: 100% !important;
  max-width: 48rem !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title
.elementor-heading-title {
  width: 100% !important;
  max-width: 48rem !important;

  margin: 0 !important;
  padding: 0 !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;

  -webkit-hyphens: manual !important;
  hyphens: manual !important;
}


/* =====================================================
   09 | HERO-EINLEITUNG
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-intro {
  box-sizing: border-box;

  width: 100% !important;
  max-width: 43rem !important;
  min-width: 0 !important;

  margin:
    1.4rem
    0
    0 !important;

  padding: 0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    clamp(1rem, 1.08vw, 1.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.62 !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-intro *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-intro p {
  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}


/* =====================================================
   10 | VERTRAUENSPUNKTE
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__trust-points {
  box-sizing: border-box;

  width: 100% !important;
  max-width: 46rem !important;

  margin:
    1.65rem
    0
    0 !important;

  padding: 0 !important;

  color:
    #18334f !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.92rem !important;

  font-weight:
    600 !important;

  line-height:
    1.45 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__trust-points ul {
  display: flex !important;
  flex-wrap: wrap !important;

  margin: 0 !important;
  padding: 0 !important;

  gap:
    0.65rem
    1.4rem !important;

  list-style:
    none !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__trust-points li {
  position: relative;

  margin: 0 !important;

  padding:
    0
    0
    0
    1.55rem !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__trust-points li::before {
  content: "✓";

  position: absolute;

  top: 0.08rem;
  left: 0;

  display: inline-flex;

  align-items:
    center;

  justify-content:
    center;

  box-sizing:
    border-box;

  width:
    1.05rem;

  height:
    1.05rem;

  border-radius:
    50%;

  background:
    var(--pyi-color-primary, #00408c);

  color:
    #ffffff;

  font-size:
    0.64rem;

  font-weight:
    700;

  line-height:
    1;
}


/* =====================================================
   11 | HERO-KONTAKTKARTE
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-card {
  position: relative;

  display: flex !important;

  flex-direction:
    column !important;

  align-items:
    stretch !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  margin:
    0 !important;

  padding:
    clamp(1.65rem, 2.5vw, 2.25rem) !important;

  gap:
    1.25rem !important;

  overflow:
    hidden;

  border:
    1px solid rgba(0, 64, 140, 0.11);

  border-radius:
    0.7rem;

  background:
    rgba(255, 255, 255, 0.96);

  box-shadow:
    0 1rem 2.5rem
    rgba(0, 64, 140, 0.075);
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-card::after {
  content: "";

  position: absolute;

  right:
    -4rem;

  bottom:
    -5rem;

  width:
    10rem;

  height:
    10rem;

  border-radius:
    50%;

  background:
    rgba(0, 150, 228, 0.055);

  pointer-events:
    none;
}


/* Kartentitel */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-title {
  position: relative;
  z-index: 1;

  width:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-title
.elementor-heading-title {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-primary, #00408c) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    clamp(1.22rem, 1.45vw, 1.45rem) !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;
}


/* Kontaktdaten */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details {
  position: relative;
  z-index: 1;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.96rem !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details p {
  margin:
    0
    0
    0.9rem !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details p:last-child {
  margin-bottom:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details strong {
  color:
    #18334f !important;

  font-weight:
    700 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details a {
  color:
    var(--pyi-color-primary, #00408c) !important;

  font-weight:
    600 !important;

  text-decoration:
    none !important;

  overflow-wrap:
    anywhere;
}

@media (hover: hover) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-details a:hover {
    color:
      var(--pyi-color-secondary, #0096e4) !important;
  }
}


/* Region */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-region {
  position: relative;
  z-index: 1;

  margin:
    0 !important;

  padding:
    1rem
    0
    0 !important;

  border-top:
    1px solid rgba(0, 64, 140, 0.09);
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-region,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-region *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-region
.elementor-heading-title {
  color:
    #657388 !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.78rem !important;

  font-weight:
    600 !important;

  line-height:
    1.4 !important;
}


/* =====================================================
   12 | FORMULAR-ABSCHNITT
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-section {
  box-sizing: border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  background:
    #ffffff;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner {
  display: grid !important;

  grid-template-columns:
    minmax(0, 1.5fr)
    minmax(17rem, 0.72fr);

  align-items:
    start !important;

  padding:
    clamp(4.75rem, 6.5vw, 6.5rem)
    0;

  gap:
    clamp(3rem, 6vw, 5rem) !important;
}


/* =====================================================
   13 | FORMULAR-SPALTE
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-column {
  display: flex !important;

  flex-direction:
    column !important;

  align-items:
    flex-start !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  min-width:
    0 !important;

  margin:
    0 !important;

  padding:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-intro {
  box-sizing: border-box;

  width:
    100% !important;

  max-width:
    43rem !important;

  margin:
    1.15rem
    0
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    1.02rem !important;

  font-weight:
    400 !important;

  line-height:
    1.62 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-intro *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-intro p {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    inherit !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    inherit !important;

  line-height:
    inherit !important;
}


/* =====================================================
   14 | IVY FORMS – RAHMEN
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form {
  box-sizing: border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  margin:
    2rem
    0
    0 !important;

  padding:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form form {
  box-sizing: border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


/* Von IVY erzeugte Formulartitel ausblenden */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form .ivy-form-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form .ivyforms-form-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form .ivyforms-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form .form-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form [class*="form-title"],
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form [class*="form_title"] {
  display:
    none !important;
}


/* =====================================================
   15 | IVY FORMS – LABEL
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form label {
  color:
    #18334f !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.9rem !important;

  font-weight:
    600 !important;

  line-height:
    1.4 !important;
}


/* =====================================================
   16 | IVY FORMS – TEXTFELDER
   Checkboxen und Radiobuttons ausdrücklich ausgeschlossen
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form select,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form textarea {
  box-sizing:
    border-box !important;

  width:
    100% !important;

  max-width:
    100% !important;

  min-height:
    3.15rem;

  margin:
    0 !important;

  padding:
    0.78rem
    0.95rem !important;

  border:
    1px solid rgba(0, 64, 140, 0.17) !important;

  border-radius:
    0.4rem !important;

  background:
    #ffffff !important;

  color:
    #25364c !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    1rem !important;

  font-weight:
    400 !important;

  line-height:
    1.4 !important;

  box-shadow:
    none !important;

  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form textarea {
  min-height:
    10rem;

  resize:
    vertical;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form select:focus,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form textarea:focus {
  outline:
    none !important;

  border-color:
    var(--pyi-color-secondary, #0096e4) !important;

  box-shadow:
    0 0 0 0.2rem
    rgba(0, 150, 228, 0.1) !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
input::placeholder,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
textarea::placeholder {
  color:
    #8793a3 !important;

  opacity:
    1 !important;
}


/* =====================================================
   17 | IVY FORMS – CHECKBOXEN UND RADIOBUTTONS
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
input[type="checkbox"],
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
input[type="radio"] {
  box-sizing:
    border-box !important;

  width:
    1rem !important;

  height:
    1rem !important;

  min-width:
    1rem !important;

  min-height:
    1rem !important;

  margin:
    0
    0.45rem
    0
    0 !important;

  padding:
    0 !important;

  accent-color:
    var(--pyi-color-primary, #00408c);

  vertical-align:
    -0.1rem;
}


/* =====================================================
   18 | IVY FORMS – SENDEN-BUTTON
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form button[type="submit"],
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form input[type="submit"] {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  box-sizing:
    border-box;

  width:
    auto !important;

  min-width:
    12rem;

  min-height:
    3.1rem;

  margin:
    0 !important;

  padding:
    0.82rem
    1.35rem !important;

  border:
    1px solid
    var(--pyi-color-primary, #00408c) !important;

  border-radius:
    999px !important;

  background:
    var(--pyi-color-primary, #00408c) !important;

  color:
    #ffffff !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.94rem !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  text-decoration:
    none !important;

  cursor:
    pointer;

  box-shadow:
    none !important;

  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}


/*
   IVY verwendet in deiner Installation offenbar einen echten Button.
   Nur dort lässt sich der fehlerhafte sichtbare Text per CSS ersetzen.
*/

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form button[type="submit"] {
  font-size:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form button[type="submit"]::after {
  content:
    "Anfrage einordnen";

  color:
    #ffffff;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif);

  font-size:
    0.94rem;

  font-weight:
    700;

  line-height:
    1.2;
}


@media (hover: hover) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form button[type="submit"]:hover,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form input[type="submit"]:hover {
    transform:
      translateY(-1px);

    border-color:
      var(--pyi-color-secondary, #0096e4) !important;

    background:
      var(--pyi-color-secondary, #0096e4) !important;
  }
}


/* =====================================================
   19 | DIREKTKONTAKT NEBEN DEM FORMULAR
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side {
  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    stretch !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  min-width:
    0 !important;

  margin:
    0 !important;

  padding:
    clamp(1.65rem, 2.3vw, 2rem) !important;

  gap:
    1.25rem !important;

  border:
    1px solid rgba(0, 64, 140, 0.11);

  border-radius:
    0.65rem;

  background:
    #f7faff;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side-title
.elementor-heading-title {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-primary, #00408c) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    clamp(1.25rem, 1.55vw, 1.55rem) !important;

  font-weight:
    700 !important;

  line-height:
    1.18 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side-text {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.96rem !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side-text p {
  margin:
    0
    0
    0.9rem !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side-text p:last-child {
  margin-bottom:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side a {
  color:
    var(--pyi-color-primary, #00408c) !important;

  font-weight:
    600 !important;

  text-decoration:
    none !important;

  overflow-wrap:
    anywhere;
}

@media (hover: hover) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side a:hover {
    color:
      var(--pyi-color-secondary, #0096e4) !important;
  }
}


/* =====================================================
   20 | ABLAUF
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process {
  box-sizing:
    border-box;

  width:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  background:
    linear-gradient(
      180deg,
      #f3f8ff 0%,
      #eef6fd 100%
    );
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process-inner {
  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    flex-start !important;

  padding:
    clamp(4.75rem, 6.5vw, 6.5rem)
    0;
}


/* =====================================================
   21 | ABLAUF-GRID
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__steps {
  display:
    grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  align-items:
    stretch !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  margin:
    2.5rem
    0
    0 !important;

  padding:
    0 !important;

  gap:
    clamp(1rem, 1.6vw, 1.5rem) !important;
}


/* =====================================================
   22 | ABLAUF-KARTE
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step {
  position:
    relative;

  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    flex-start !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  min-width:
    0 !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    clamp(1.5rem, 2vw, 1.9rem) !important;

  border:
    1px solid rgba(0, 64, 140, 0.1);

  border-radius:
    0.65rem;

  background:
    #ffffff;

  box-shadow:
    0 0.8rem 2rem
    rgba(0, 64, 140, 0.045);
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-number {
  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  align-self:
    flex-start !important;

  box-sizing:
    border-box;

  width:
    2.4rem !important;

  height:
    2.4rem !important;

  min-width:
    2.4rem !important;

  min-height:
    2.4rem !important;

  max-width:
    2.4rem !important;

  max-height:
    2.4rem !important;

  margin:
    0
    0
    1.15rem !important;

  padding:
    0 !important;

  border-radius:
    50%;

  background:
    var(--pyi-color-primary, #00408c);
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-number,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-number *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-number
.elementor-heading-title {
  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  width:
    100% !important;

  height:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #ffffff !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.92rem !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-title,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-title
.elementor-heading-title {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-primary, #00408c) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    clamp(1.08rem, 1.22vw, 1.25rem) !important;

  font-weight:
    700 !important;

  line-height:
    1.24 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-text {
  margin:
    0.75rem
    0
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.94rem !important;

  font-weight:
    400 !important;

  line-height:
    1.55 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-text *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step-text p {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    inherit !important;

  font-family:
    inherit !important;

  font-size:
    inherit !important;

  line-height:
    inherit !important;
}


/* =====================================================
   23 | STANDORT
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location {
  box-sizing:
    border-box;

  width:
    100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  background:
    #ffffff;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
  display:
    grid !important;

  grid-template-columns:
    minmax(0, 0.88fr)
    minmax(22rem, 1.12fr);

  align-items:
    center !important;

  padding:
    clamp(4.75rem, 6.5vw, 6.5rem)
    0;

  gap:
    clamp(3rem, 6vw, 6rem) !important;
}


/* =====================================================
   24 | STANDORT-INHALT
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-content {
  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    flex-start !important;

  box-sizing:
    border-box;

  width:
    100% !important;

  min-width:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-text {
  margin:
    1.15rem
    0
    0 !important;

  padding:
    0 !important;

  color:
    var(--pyi-color-text, #455368) !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    1.02rem !important;

  font-weight:
    400 !important;

  line-height:
    1.62 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-text *,
.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-text p {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    inherit !important;

  font-family:
    inherit !important;

  font-size:
    inherit !important;

  line-height:
    inherit !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-details {
  margin:
    1.6rem
    0
    0 !important;

  padding:
    0 !important;

  color:
    #25364c !important;

  font-family:
    var(--pyi-font-primary, "Fira Sans", sans-serif) !important;

  font-size:
    0.96rem !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-details p {
  margin:
    0
    0
    0.75rem !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-details p:last-child {
  margin-bottom:
    0 !important;
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-details a {
  color:
    var(--pyi-color-primary, #00408c) !important;

  font-weight:
    600 !important;

  text-decoration:
    none !important;
}

@media (hover: hover) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-details a:hover {
    color:
      var(--pyi-color-secondary, #0096e4) !important;
  }
}


/* =====================================================
   25 | GOOGLE MAPS
   ===================================================== */

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map {
  position:
    relative;

  box-sizing:
    border-box;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    24rem;

  margin:
    0 !important;

  padding:
    0 !important;

  overflow:
    hidden;

  border:
    1px solid rgba(0, 64, 140, 0.11);

  border-radius:
    0.7rem;

  background:
    #f3f8ff;

  box-shadow:
    0 1rem 2.5rem
    rgba(0, 64, 140, 0.07);
}

.elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map iframe {
  display:
    block !important;

  width:
    100% !important;

  height:
    100% !important;

  min-height:
    24rem !important;

  margin:
    0 !important;

  border:
    0 !important;
}


/* =====================================================
   26 | TABLET
   ===================================================== */

@media (max-width: 1024px) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
    width:
      min(
        calc(100% - 3rem),
        var(--pyi-content-width, 1200px)
      );
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
    grid-template-columns:
      minmax(0, 1fr);

    gap:
      3rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
    padding-top:
      4.5rem;

    padding-bottom:
      5rem;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title
  .elementor-heading-title {
    max-width:
      46rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-card,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side {
    width:
      100% !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__steps {
    gap:
      1rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step {
    padding:
      1.4rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map iframe {
    min-height:
      22rem !important;
  }
}


/* =====================================================
   27 | SCHMALES TABLET
   ===================================================== */

@media (max-width: 900px) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__steps {
    grid-template-columns:
      minmax(0, 1fr) !important;
  }
}


/* =====================================================
   28 | MOBIL
   ===================================================== */

@media (max-width: 767px) {

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__process-inner,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__location-inner {
    box-sizing:
      border-box !important;

    width:
      100% !important;

    max-width:
      100% !important;

    margin:
      0
      auto !important;

    padding:
      4rem
      1.25rem
      4.5rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-title
  .elementor-heading-title,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__hero-intro,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-title,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-title
  .elementor-heading-title,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__section-intro {
    width:
      100% !important;

    max-width:
      100% !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__trust-points ul {
    flex-direction:
      column !important;

    gap:
      0.55rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__direct-card,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__side,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__step {
    padding:
      1.4rem !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
  button[type="submit"],
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__form
  input[type="submit"] {
    width:
      100% !important;
  }

  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map,
  .elementor-40 .elementor-element.elementor-element-f069c1a .pyi-contact__map iframe {
    min-height:
      19rem !important;
  }
}


/* =====================================================
   29 | REDUZIERTE BEWEGUNG
   ===================================================== */

@media (prefers-reduced-motion: reduce) {

  .elementor-40 .elementor-element.elementor-element-f069c1a *,
  .elementor-40 .elementor-element.elementor-element-f069c1a *::before,
  .elementor-40 .elementor-element.elementor-element-f069c1a *::after {
    scroll-behavior:
      auto !important;

    transition-duration:
      0.01ms !important;

    animation-duration:
      0.01ms !important;

    animation-iteration-count:
      1 !important;
  }
}/* End custom CSS */