.elementor-kit-9{--e-global-color-primary:#2D9136;--e-global-color-secondary:#213582;--e-global-color-text:#292D32;--e-global-color-accent:#C8F461;--e-global-color-c9043d0:#FFFFFF;--e-global-color-6c1ef14:#000000;--e-global-color-b61a25c:#2D913682;--e-global-color-7835b5e:#2D913626;--e-global-color-aa5751f:#21358280;--e-global-color-ee585d0:#2135820D;--e-global-color-f7b3972:#137E1D;--e-global-color-94f2fad:#FFFFFF88;--e-global-color-b54a6c5:#3FAD48;--e-global-color-4da2dfa:#4FC058;--e-global-color-3795092:#F0F0F0;--e-global-color-a13c7d2:#FAFAFA;--e-global-color-b12dbe7:#FFFFFF12;--e-global-color-b5017fa:#FFFFFF00;--e-global-color-e970d67:#ECF3EC;--e-global-typography-primary-font-family:"Work Sans";--e-global-typography-primary-letter-spacing:-0.05em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-family:"Work Sans";--e-global-typography-25c63a9-font-size:0.8rem;--e-global-typography-25c63a9-font-weight:500;--e-global-typography-25c63a9-letter-spacing:0.05em;--e-global-typography-aefb154-font-size:0.8rem !important;--e-global-typography-d3447c8-font-size:0.8rem;--e-global-typography-3d5822b-font-weight:600;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:200ms;--e-preloader-animation-duration:1000ms;--e-preloader-delay:0ms;--e-preloader-color:var( --e-global-color-text );--e-preloader-size:20px;}.elementor-kit-9 e-page-transition{background-color:var( --e-global-color-3795092 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root {
  /* Default padding values for small screens (e.g., mobile first) */
  --padding-sm: 1.5rem;   /* Smaller padding, good for tight spaces */
  --padding-md: 2.5rem;     /* Medium padding */
  --padding-lg: 4.0rem;   /* Larger padding */
  --padding-xl: 6.0rem;
  
  --color-primary:#2D9136;
  --color-secondary:#213582;
  --color-accent:#C8F461;
  
  --color-text:#292D32;
  
  --color-green-dark:#137E1D;
  
  --color-soft-grey:#F4F4F4;
  --color-dark-grey:#E4E4E4;
  
  --box-border-radius:15px;

}

.gradient-green {
  background-color: var(--color-primary); /* fallback */
  background-image: linear-gradient(to top, var(--color-primary) 0%, #137E1D 100%);
}

.pattern-background::before {
    
    background-image: url(https://www.behala.de/wp-content/uploads/2026/03/pattern-behala-06@4x.png) !important;
    --background-overlay: '' !important;
    background-position: top center !important;
    background-repeat: repeat !important;
    background-size: 16% auto !important;
    opacity: 0.25 !important;
    
    width: 200% !important; /* Extra width to allow for movement */
    animation: moveLeft 100s linear infinite !important;
}

.pattern-background {
    overflow-x:hidden;
}

@keyframes moveLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


@media (max-width: 1024px) {
    .pattern-background::before {
        background-position: right top !important;
        background-size: 80% auto !important;
        opacity: 0.30 !important;
        
    }
}

.info-bar {
    background-color: var(--color-soft-grey);
    padding-top: var(--padding-sm);
    padding-bottom: var(--padding-sm);
}



/* Large screens and up (e.g., desktops) */
@media (max-width: 1024px) {
  :root {
    --padding-sm: 1.5rem;
    --padding-md: 2.5rem;
    --padding-lg: 4rem;
    --padding-xl: 6.0rem;
  }
}

/* Medium screens and up (e.g., tablets) */
@media (max-width: 768px) {
  :root {
    --padding-sm: 1.0rem;
    --padding-md: 2.0rem;
    --padding-lg: 3.0rem;
    --padding-xl: 4.5rem;
  }
}

.padding-standard-lr {
    padding-left: var(--padding-sm);
    padding-right: var(--padding-sm);
}

.padding-standard-tb {
    padding-top: var(--padding-xl);
    padding-bottom: var(--padding-xl);
}

.padding-standard-tb-sm {
    padding-top: var(--padding-sm);
    padding-bottom: var(--padding-sm);
}

.margin-hero-section {
    margin-top: 120px;
}

.extra-padding-top {
    padding-top:100px !important;
}

@media (max-width: 1024px) {
  .margin-hero-section {
    margin-top: 60px;
}
}

.padding-single-page-tb {
    padding-top: var(--padding-lg);
    padding-bottom: var(--padding-lg);
}

.gap-standard > .e-con-inner, .gap-standard {
    gap:var(--padding-lg);
}


.only-on-mobile {
    @media (min-width: 1024px) {
        display: none;
    }
}





/* LAYOUTS */


.box-rounded {
    border-radius: var(--box-border-radius);
    overflow: hidden;
}




/* FONTS */

.text-max-width div, .text-max-width p{
    max-width: 80ch;
}

.title-max-width * {
    max-width:20ch !important;
}

/* Base styles for responsiveness */
html {
  font-size: 16px; /* Define a base font size for rem units */
}

/* Responsive Headings */
h1 {
  font-size: clamp(2.1rem, 3vw + 1rem, 5rem); /* Example: Min 3rem, scales with viewport, max 22rem */
  /* You can adjust the 10vw + 1rem value to control how quickly it scales */
  letter-spacing: -0.03em !important;
  margin-left: -0.06em !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

h2 {
  font-size: clamp(2rem, 2.5vw + 1rem, 5rem); /* Example: Smaller than h1, adjust as needed */
  letter-spacing: -0.05em;
  margin-left: -0.06em !important;
  line-height: 1.2 !important;
}

h3 {
  font-size: clamp(1.9rem, 2.2vw + 1rem, 4rem); /* Example */
  letter-spacing: -0.05em;
  margin-left: -0.06em !important;
  line-height: 1.2 !important;
}

h4 {
  font-size: clamp(1.8rem, 2.0vw + 1rem, 3rem); /* Example */
  letter-spacing: -0.05em;
  margin-left: -0.06em !important;
  line-height: 1.2 !important;
}

h5 {
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2.5rem); /* Example */
  margin-left: -0.06em !important;
  line-height: 1.2 !important;
}

h6 {
  font-size: clamp(1.2rem, 1vw + 1rem, 2rem); /* Example */
  margin-left: -0.06em !important;
  line-height: 1.2 !important;
}

/* Responsive Paragraphs */
p {
  font-size: clamp(1rem, 1.0vw + 0.5rem, 1.0rem); /* Example: Min 1rem, scales, max 1.5rem */
  line-height: 1.5; /* Good practice for readability */
}

.elementor-widget-text-editor p a {
    color:black;
    text-decoration: underline !important;
    font-weight: 500;
    transition: all 0.2 ease !important;
}

.text-accent {
    color:var(--color-accent);
    font-style: italic;
}

.section-white .text-accent {
    color:var(--color-primary);
}

.box-blue .text-accent {
    color:var(--color-secondary);
}

.box-green .text-accent {
    color:var(--color-primary);
}

.title-icon a {
    border-radius: 2rem;
}
.title-icon .elementor-button-content-wrapper {
    gap:7px
}

.title-icon .elementor-button-text {
    font-size: 0.8rem;
    color: var(--color-primary);
}

.title-icon .elementor-button-icon {
    fill:var(--color-text);
    font-size: 0.8rem;
}

.title-icon a{
    --button-base-color: var(--color-primary); /* Get the base color */

  /* Set background using the base color with 20% opacity (0.2) */
  /* This works if --button-base-color is a simple RGB or named color. */
  background-color: color-mix(in srgb, var(--button-base-color) 10%, transparent) !important;
  border: 2px color-mix(in srgb, var(--button-base-color) 5%, transparent) solid;
}

.title-icon.title-blue a{
     --button-base-color: var(--color-secondary); /* Get the base color */
}

.box-blue .title-icon a{
     --button-base-color: var(--color-secondary); /* Get the base color */
}

.box-blue .title-icon .elementor-button-text {
    color:var(--color-secondary);
}


.section-green .title-icon a{
     --button-base-color: white; /* Get the base color */
}

.section-green .title-icon .elementor-button-text {
    color:white;
}

.section-green  .title-icon .elementor-button-icon {
    fill:var(--color-accent);

}


.title-icon .elementor-button, .more-button .elementor-button, .info-box .elementor-button{
    padding: 0.8rem 1.2rem;
}

@media (max-width: 768px) {

    .title-icon .elementor-button, .more-button .elementor-button, .info-box .elementor-button{
        padding: 0.8rem 1.2rem !important;
    }

}






.prefix-title *{
  font-size: clamp(1.0rem, 1.0vw + 0.5rem, 1.0rem); /* Example: Min 1rem, scales, max 1.5rem */
  line-height: 1.5; /* Good practice for readability */
}




.prefix-title p {
  position: relative;
  padding-left: 1.2em; /* space for the dot */
  
}

.prefix-title p::before {
  content: "";
  position: absolute;
  left: 0;
  
  width: 0.45em;
  height: 0.45em;
  border-radius: 50%;
  background: currentColor;

  /* Align with first baseline */
  top: 0.6em;
  margin-left: 0.1em;
}



.text-small p{
    font-size: 0.8rem !important;
}


/* First, ensure the container takes full width */
.footer-title-huge {
  width: 100% !important;
  box-sizing: border-box;

  /* Important for marquee: The container needs to establish a containing block
     for the absolutely positioned text, or clip the text as it moves.
     For this effect, we want the text to exceed the container initially
     and then move within it. */
  overflow: hidden; /* Hide parts of the text that are outside the container */
  position: relative; /* Establish a positioning context for the child */
}

.footer-title-huge .elementor-heading-title {
  text-transform: uppercase;
  font-weight: 700;
  font-size: clamp(1.5rem, 5vw, 3.5rem);
  white-space: nowrap; /* Essential for marquee */
  text-overflow: clip; /* No ellipsis for scrolling */

  flex-shrink: 0;      /* Prevent the text from shrinking */
  /* You can add a subtle gap between the two instances here if desired */
  margin-right: 5em; /* Example gap */

  /* Apply the animation to the *individual* heading elements */
  animation: marquee-seamless-loop 30s linear infinite; /* Adjust duration */
  animation-delay: 0s; /* Start immediately */
}


/* Define the Keyframes for the continuous loop */
@keyframes marquee-seamless-loop {
  0% {
    transform: translateX(0%); /* Start at original position */
  }
  100% {
    /* Translate the element by its *own full width plus any margin-right*.
       This is key for a seamless loop when content is duplicated. */
    transform: translateX(calc(-100% - 5em)); /* -100% is element's width, -2em is margin-right */
  }
}


.footer-title-huge .elementor-heading-title {
  text-transform: uppercase;
  font-weight: 700 !important;
  line-height: 1.0;
  /* Responsive Font Size using clamp() - adjust values as needed */
  font-size: clamp(1.5rem, 13vw, 15rem);
  /* This will make the font size 5% of the viewport width */
  /* Add media queries to set min/max font sizes for accessibility */
  /* e.g., @media (max-width: 600px) { font-size: 24px; } */
  /* e.g., @media (min-width: 1400px) { font-size: 60px; } */
  
  
  
}




.impressum h1 {
  font-size: 2.5rem; /* Adjusted h1 size */
  margin-top: 2rem; /* Example margin-top for h1 */
  margin-bottom: 1.5rem; /* Retaining previous margin-bottom for h1 */
}

.impressum h2 {
  font-size: 1.8rem; /* Adjusted h2 size */
  margin-top: 1.8rem; /* Example margin-top for h2 */
  margin-bottom: 1.2rem; /* Retaining previous margin-bottom for h2 */
}

.impressum h3 {
  font-size: 1.5rem; /* Adjusted h3 size */
  margin-top: 1.5rem; /* Example margin-top for h3 */
  margin-bottom: 1rem; /* Retaining previous margin-bottom for h3 */
}

.impressum h4,
.impressum h5,
.impressum h6 {
  font-size: 1.2rem; /* Adjusted h4, h5, h6 size */
  margin-top: 1.2rem; /* Example margin-top for h4-h6 */
  margin-bottom: 0.8rem; /* Retaining previous margin-bottom for h4-h6 */
}

::selection {
  background: var(--color-accent);
  color: black;
}

/* Firefox fallback */
::-moz-selection {
  background: var(--color-accent);
  color: black;
}

/*.elementor-button-link {
    background:white;
    border-radius: 10px 10px 10px 10px;
    padding: 16px 25px 16px 25px;
    font-weight: 500;
}*/

/*.elementor-button-link:hover {
   background-color: var( --e-global-color-7471546 ) !important;
   color: var( --e-global-color-bbac944 ) !important;
}

*/








/* ********************************** */

/* Boxes */


.box-blue {
      --button-base-color: var(--color-secondary); /* Get the base color */

  /* Set background using the base color with 20% opacity (0.2) */
  /* This works if --button-base-color is a simple RGB or named color. */
  background-color: color-mix(in srgb, var(--button-base-color) 5%, transparent) !important;
  /*border: 2px color-mix(in srgb, var(--button-base-color) 20%, transparent) solid;*/
  padding: 75px 25px;
  
  
  
}

.box-green {
      --button-base-color: var(--e-global-color-primary); /* Get the base color */

  /* Set background using the base color with 20% opacity (0.2) */
  /* This works if --button-base-color is a simple RGB or named color. */
  background-color: color-mix(in srgb, var(--button-base-color) 5%, transparent) !important;
  /*border: 2px color-mix(in srgb, var(--button-base-color) 20%, transparent) solid;*/
  padding: 75px 25px;
  
  
  
}

.box-icon a{
    background: var(--color-text) !important;
    fill: var(--color-accent) !important;
    border-radius: 2rem;
    font-size: 0.8rem;
}

.info-box {
    background: var(--color-soft-grey);
    border-radius: var(--box-border-radius);
    padding: 2rem;
    border: 1px solid var(--color-dark-grey);

}

.info-box.info-box-white {
    background: white !important;
}

.info-box .info-box-text {
    flex-grow:1;
}

.info-box .info-box-link a{
    background-color: transparent;
    color: var(--color-text);
    padding: 0px !important;
    text-decoration: underline;
}



.info-container {
    background: var(--color-soft-grey);
    border-radius: var(--box-border-radius);
    padding: 1rem;
    border: 1px solid var(--color-dark-grey);
}

.info-container .container-title .elementor-button-icon {
    font-size:19px;
    
}

.info-container .container-title .elementor-button {
    padding: 7px 14px;
}

.info-container .container-title {
    gap:10px;
}

.info-container img{
    border-radius: 8px;
}


.behala-accordion .accordion-item {
    padding: 15px;
}

.behala-accordion .accordion-item img {
    border-radius: 7px;
}

.behala-accordion .accordion-item p{
   font-size: 0.8rem;
}


.more-button .elementor-button-content-wrapper{
    gap:10px;
}
.more-button a{
    border-radius: 2rem;
    color:var(--color-text) !important;
}
.more-button .elementor-button-icon {
    fill:var(--color-text);
}

.more-button:hover .elementor-button-icon {
    fill:white;
}

.more-button:hover a {
    background-color:var(--color-primary) !important;
    color:white !important;
    /*cursor: pointer;*/
}

.more-button:hover a {
    background-color:var(--color-primary) !important;
}


.box-blue .more-button:hover a {
    background-color:var(--color-secondary) !important;
    
}

.box-green .more-button:hover a {
    background-color:var(--color-primary) !important;
    
}

.more-button.black-button a {
    background-color:black !important;
    color:white !important;
}

.more-button.black-button a:hover {
    background-color:var(--color-primary) !important;
}

.more-button.black-button .elementor-button-icon {
    fill:white;
}

.history-container .info-box p {
    font-size:0.8rem;
    margin-block-end: 0rem;
}

.history-container .info-box {
    padding:1.5rem;
}

.history-container .info-box .elementor-button {
    padding: 0.4rem 0.6rem;
    font-size: 0.6rem;
}

.history-container .info-box .container-title {
    gap:9px
}

.history-container .info-box .info-box-title {
    line-height:1.0;
    font-weight: 600;
}

.number-box .number-box-title p {
    color:var(--color-primary);
    font-size: 1.8rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.0;
}

.number-box .number-box-text p{
    color:var(--color-text) !important;
    font-size: 0.7rem;
    
}


.info-bar .number-box .number-box-title p {
    transition: all 0.2s ease;
    color:black !important;
}

.info-bar .number-box .number-box-text p{
    color:black !important;
}


.info-bar .number-box .number-box-title p:hover {
    color:var(--color-primary) !important;
}



.box-blue .info-box-mieter {
    background-color: white !important;
}

.info-box-mieter {
    padding: 1.3rem;
    background-color: var(--color-soft-grey) !important;
}

.info-box-mieter .info-box-title{
    font-weight: 600 !important;
    line-height: 1.2;
}

.info-box-mieter .info-box-address {
    font-size:0.8rem !important;
    
}

.info-box-mieter .info-box-location {
    font-size:0.8rem !important;
    font-weight: 600 !important;
}

.info-box-mieter .info-box-icon .elementor-icon{
    padding: .5em 1em
}


.info-box-mieter:hover, .info-box-mieter:focus-within {
    /*background:var(--color-primary);*/
    transform:scale(1.01);
}

.mieter-list article a {
    transition: all 0.2s ease;
}

.mieter-list article:hover a{
    color:var(--color-text) !important;
}

.behala-team-container {
    gap:2rem;
}

.behala-team-container .info-box {
    padding: 1rem;
    gap:0.75rem;
}

.behala-team-container .info-box .info-box-title h6{
    color:black !important;
    font-size:1rem;
    font-weight: 600;
    margin-bottom: 0px;
}

.behala-team-container .info-box .info-box-text p{
    line-height: 1.2;
    margin-bottom: 0px;
    font-size: 0.8rem;
}

.behala-team-container .info-box .info-box-text {
    margin-bottom: 0.5rem;
}

.behala-team-container .info-box img{
    aspect-ratio: 4 / 3;
}

.behala-team-container .info-box {
    max-width:300px !important;
   
}

.behala-icon-container {
    padding: 1rem;
    background-color: #F1F8F9;
    border-radius:50px;
    gap:1rem;
    width: auto !important;
}

@media (max-width: 1200px) {
    .behala-team-container .info-box {
    max-width: 200px !important;
}

.behala-team-container {
    gap:1rem;
}

.behala-team-container .behala-icon-container {
    padding:0.5rem;
    gap:0.5rem;
}
.behala-team-container .behala-icon-container .elementor-button {
    padding: 0.5rem 0.7rem !important;

}


}

@media (max-width: 768px) {
    
    .behala-team-container {
        /*flex-direction: column !important;*/
            justify-content: space-between;
    }
    
    .behala-team-container .info-box {
        /*width:100%;*/
        max-width: max-content !important;
    }
    
    .info-box {
     padding:1rem;   
    }
    
}


.behala-icon-list .elementor-icon-list-icon {
    background-color: black;
    padding: 8px 9px 7px 11px;
    border-radius: 15px;
    transition:all 0.3s ease;
}



.behala-icon-list a:hover .elementor-icon-list-icon {
    background-color: var(--e-global-color-accent);
    color:var(--e-global-color-text);
}

.behala-icon-list a:hover .elementor-icon-list-icon svg {
    fill:var(--e-global-color-text) !important;
}


.behala-icon-box {
    padding: 25px 25px;
    background-color: var(--e-global-color-c9043d0);
    border-radius: 25px;
    border: solid 1px rgba(1.0,1.0,1.0,0.1);

}

.behala-icon-box .elementor-icon-box-icon {
    width:auto;
    background-color: var(--e-global-color-text);
    border-radius: 25px;
    padding: 7px 15px;
    text-align: center;
}

.behala-icon-box .elementor-icon svg {
    fill:var(--e-global-color-accent) !important;
    height:12px !important;
    width: auto !important;
   
}




/* ********************************** */


/* Navigation */

nav.elementor-sticky {
    transition: all 0.3s ease-in-out;
    /*background-color: var(--color-green-dark);*/
    /*background: linear-gradient(to bottom,
    rgba(45,145,54,0) 0%,
    rgba(19,126,29,0) 100%
  );*/
  box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.0); /* A subtle shadow */
}

nav.elementor-sticky--effects {
    /*background-color: var(--color-green-dark) !important;*/ /* fallback */
    background-color: white !important;
    /*background-image: linear-gradient(to bottom, var(--color-primary) 0%, #137E1D 100%);*/
    transition: all 0.3s ease-in-out;
    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1); /* A subtle shadow */
}

.home .logo-green {
    opacity: 0.0;
    transition: all 0.3s ease-in-out;
}

.home nav.elementor-sticky--effects .logo-green {
    opacity: 1.0;
}




nav.elementor-sticky--active {
    width: 100% !important;
}


.logo-green svg .st0 {
    fill:var(--color-primary) !important;
}


@media (max-width: 768px) {
    .nav-primary > div{
        background-color: transparent !important;
    }
}




.button-language a::before {
    /*padding: 22px 30px !important;
   
    border-radius: var(--border-radius);*/
    background-color: rgb(255 255 255 / 5%) !important;
    opacity: 1 !important;
}


.button-language a:hover::before {
    /*padding: 22px 30px !important;
   
    border-radius: var(--border-radius);*/
    background-color: var(--color-accent) !important;
}

nav .menu-item a.highlighted .sub-arrow{
    fill: var(--e-global-color-text);
}

    


nav .menu-item a .sub-arrow {
    transition: .3s;
    transition-behavior: normal;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    transition-property: all;
}
/*
nav .menu-item a:hover .sub-arrow {
    fill:black !important;
}

*/






/* ********************************** */

/* Buttons */


.behala-icon-container .elementor-button:hover,
.behala-icon-container .elementor-button:focus{
    background:var(--e-global-color-accent) !important;
}

@media (max-width: 768px) {
    .elementor-button {
        padding: 22px 30px !important;
    }
}













/* Images */

.image-rounded-edges {
    border-radius: var(--border-radius);
    overflow: hidden;
}


/* Fixes */

.dialog-close-button {
    outline:none;
}


.mieter-details .elementor-icon-list-text a{
    display: inline !important;
}

.mieter-details .elementor-icon-list-text a {
    text-decoration: none;
    color: black;
    text-decoration: underline;
}






/*.content-section {
    padding:0 var(--body_padding);
}*/

h2, h2[class], h3, h3[class], h4, h4[class], h5, h5[class], h6, h6[class] {
    margin-top: unset;
}

.hide-me {
    display: none !important;
}

main .entry-content .elementor > .elementor-element {
    padding:0 var(--body_padding);
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, .elementor-heading-title 

{
    line-height: var(--typography_line_height_headings);
}



.text-50-chars {
    max-width: 50ch;
}

.text-30-chars h1,
.text-30-chars h2,
.text-30-chars h3,
.text-30-chars h4,
.text-30-chars h5,
.text-30-chars h6 {
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
}

.text-800-px p{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.standard-cta .elementor-cta__content > .elementor-content-item.elementor-cta__content-item:not(.elementor-cta__image){
    
    padding-left: 35px;
    padding-right: 35px;
    
}

.standard-cta .elementor-cta__content-item {
    margin:0px !important;
}

.standard-cta .elementor-cta__content{
    gap:20px;
}

.standard-cta {
    /*border-radius: 10px;*/
}

.standard-cta .elementor-cta__button-wrapper {
    margin-bottom: 55px !important;
}

.standard-cta .elementor-cta__image img {
aspect-ratio: 3 / 2;
    object-fit: cover;

}

.standard-cta .elementor-cta__image {
    margin-bottom: 35px !important;
}

.standard-cta .elementor-cta__title {
    font-size: calc(var(--typography_heading_size_multiplier) * var(--typography_heading_size_3));
}

.standard-cta .small-title {
    font-size:1.0rem;
    display: block;
    margin-bottom: 15px;
    
}

.standard-cta .text-container {
    padding:35px;
}

.standard-cta  .elementor-widget-image img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}



/* Footer */


.footer-menu li a{
    border-radius: 18px;
    padding: 5px !important;
    padding-left: 20px !important;
    transition: all 0.2 ease !important;
    transition: background-color 0.2 ease;
}
.footer-menu li a.elementor-item,
.footer-menu li a.elementor-item::before,
.footer-menu li a.elementor-item::after {
    transition: background-color 0.1s ease, opacity 0.1s ease, transform 0.1s ease !important;
}

.footer-menu li a:hover{
    /*background-color:red !important;*/
}












/* ********************************** */

/* Blog */

.single .elementor-location-single ul {
    margin-bottom: 2rem;
}

.single .elementor-location-single ul li{
    margin-bottom: 0.5rem;
}

.single .elementor-location-single p a,
.wp-block-file a{
    color:black;
    text-decoration: underline;
     transition: all 0.3s ease;
}

.single .elementor-location-single p a:hover,
.wp-block-file a:hover{
    color:var(--color-primary);
}

.single .elementor-location-single .wp-block-file__button {
    color:white;
    background-color: black;
    text-decoration: none;
    transition: all 0.2s ease;
}

.single .elementor-location-single .wp-block-file__button:hover {
    background-color: var(--color-primary);
}

.single .elementor-heading-title a{
    text-decoration: none !important;
}

/* ********************************** */

/* Standard Single Page */

.page .elementor-location-single p a,
.wp-block-file a{
    color:black;
    text-decoration: underline;
     transition: all 0.3s ease;
}

.page .elementor-location-single p a:hover,
.wp-block-file a:hover{
    color:var(--color-primary) !important;
}

.page .elementor-location-single .wp-block-file__button {
    color:white;
    background-color: black;
    text-decoration: none;
    transition: all 0.2s ease;
}

.page  .elementor-location-single .wp-block-file__button:hover {
    background-color: var(--color-primary);
}




/* ********************************** */

/* Form */

.behala-form textarea {
    padding-top: 10px;
}

.behala-form input::placeholder, .behala-form textarea::placeholder {
    /*color:rgba(1.0,1.0,1.0,0.8) !important; */
}

.behala-form .elementor-message {
font-size: 0.8em;
line-height: 1;
margin: 30px 0;
display: inline-block;
background-color: white;
padding: 10px;
border-radius: 5px;
}

.behala-form input, .behala-form textarea {
    transition:none;
}

.behala-form input:focus, .behala-form textarea:focus {
    outline: var(--e-global-color-accent) 2px solid !important;
}

.behala-form .formhead {
    font-size: 1.2rem;
    color:white;
    margin-top: 3rem;
    margin-bottom: 0px;
}

.behala-form a {
    color: white;
    text-decoration: underline;
}

.title-icon .elementor-button-icon {
    background-color: black;
    padding: 8px 11px 7px 11px;
    border-radius: 15px;
    transition:all 0.3s ease;
}
.title-icon .elementor-button-icon svg {
    fill:var(--e-global-color-accent) !important;
   
}

.title-icon a {
    padding: 0.1rem 1.0rem 0.1rem 0.2rem !important;
}

.title-icon .elementor-button-content-wrapper {
    align-items: center;
}

.title-icon-light .elementor-button-icon {
    background-color: transparent;
    border: 1px solid var(--e-global-color-accent);
}

.title-icon-green .elementor-button-icon {
    background-color: transparent;
    border: 1px solid var(--e-global-color-primary);
    border-color: color-mix(in srgb, var(--button-base-color) 40%, transparent);
    
}

.title-icon-green .elementor-button-icon svg{
    fill: color-mix(in srgb, var(--button-base-color) 40%, transparent) !important;
    
}

.title-icon-blue .elementor-button-icon {
    background-color: transparent;
    border: 1px solid var(--color-secondary);
    border-color: color-mix(in srgb, var(--color-secondary) 40%, transparent);
}

.title-icon-blue .elementor-button-icon svg{
    fill: color-mix(in srgb, var(--color-secondary) 40%, transparent) !important;
}

.behala-form .e-form__indicators__indicator__number {
    border-width: 0px;
}









/* ********************************** */


/* Kontakt */ 


.container-contact .elementor-widget .elementor-icon-list-icon svg {
    width:12px !important;
    height:12px !important;
}

.container-contact .elementor-widget .elementor-icon-list-items.elementor-inline-items {
    display: flex;
    flex-wrap: wrap;
}

.container-contact .elementor-widget .elementor-icon-list-items {
    list-style-type: none;
}

.container-contact .elementor .elementor-element ul.elementor-icon-list-items {
    padding:0 !important;
}

.container-contact .elementor-icon-list-items.elementor-inline-items {
    margin-inline-start: calc(-30px/2) !important;
}

.container-contact .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
    margin-inline-start:calc(30px/2) !important;
}


.container-contact .elementor-widget .elementor-icon-list-item,
.container-contact .elementor-widget .elementor-icon-list-item a {
    align-items: var(--icon-vertical-align,center);
    display: flex;
    font-size: inherit;
}

.container-contact .elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
    align-self: center;
    padding-inline-start: 5px;
}




/* ********************************** */


/* Accessability */


:root {
    --color-access-link:#FF134A;
}

a:focus-visible {
  outline: 3px solid var(--color-access-link); /* A more prominent outline */
  outline-offset: 3px;       /* Adds space around the element */
  border-radius: 4px;        /* Slightly rounded corners for aesthetics */
  /*box-shadow: 0 0 0 5px rgba(0, 90, 179, 0.4);*/ /* Additional visual cue */
}



.skip-links {
    height:0px;
}


/* Hide skip links by default */
.c-skip-links {
  position: absolute;
  top: -9999px; /* Move far off-screen */
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 9999; /* Ensure it's above other content when visible */
}

/* Make skip links visible and prominent on focus */
.c-skip-links:focus-within { /* Use :focus-within to reveal the container */
  position: static; /* Bring it back into the document flow */
  width: auto;
  height: auto;
  clip: auto;
  overflow: visible;
  /* Add padding or margin if needed to push content down slightly when revealed */
  margin-bottom: 10px;
  margin-top: 170px;
}

.c-skip-links__list {
  list-style: none; /* Remove bullet points */
  margin: 0;
  padding: 0;
  display: flex; /* Display horizontally if multiple links */
  background-color: #f0f0f0; /* Clear background */
  border: 1px solid #ccc;
  padding: 10px;
}

.c-skip-links__link {
  display: block; /* Make the whole area clickable */
  padding: 8px 15px;
  color: var(--color-access-link); /* Accessible link color */
  text-decoration: underline;
  font-weight: bold;
  background-color: #fff;
  border-radius: 4px;
  margin-right: 10px; /* Spacing between links */
}

.c-skip-links__link:focus { /* Style individual links on focus */
  outline: 3px solid var(--color-access-link);
  outline-offset: 2px;
  background-color: var(--color-access-link); /* Highlight on focus */
  color: #FFF;
  text-decoration: none;
}/* End custom CSS */