.elementor-kit-16{--e-global-color-primary:#C3711B;--e-global-color-secondary:#000000;--e-global-color-text:#666666;--e-global-color-accent:#FFFFFF;--e-global-color-a19d37c:#FFFFFF00;--e-global-color-dbbcca6:#CF8D49;--e-global-color-478952c:#DBAA76;--e-global-color-9e0613c:#E7C6A4;--e-global-color-b920ca7:#F3E3D1;--e-global-color-3912ddf:#F9F1E9;--e-global-color-3e25c0a:#333333;--e-global-color-c6ef23b:#666666;--e-global-color-be4d366:#999999;--e-global-color-10e0caa:#CCCCCC;--e-global-typography-primary-font-family:"Inter Tight";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:48px;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:21px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-290ea9b-font-family:"Inter Tight";--e-global-typography-290ea9b-font-size:22px;--e-global-typography-290ea9b-font-weight:900;--e-global-typography-290ea9b-line-height:1.2em;--e-global-typography-0281194-font-family:"Inter Tight";--e-global-typography-0281194-font-size:32px;--e-global-typography-0281194-font-weight:900;--e-global-typography-0281194-line-height:1.2em;--e-global-typography-cd721f0-font-size:110px;--e-global-typography-cd721f0-font-weight:900;--e-global-typography-cd721f0-line-height:1.2em;--e-global-typography-20a4e71-font-family:"Inter Tight";--e-global-typography-20a4e71-font-size:17px;--e-global-typography-20a4e71-font-weight:800;--e-global-typography-20a4e71-line-height:1.2em;--e-global-typography-e7a500c-font-size:32px;--e-global-typography-e7a500c-font-weight:800;--e-global-typography-e7a500c-line-height:1.15lh;--e-global-typography-5c3d11d-font-size:72px;--e-global-typography-5c3d11d-line-height:1em;--e-global-typography-5c3d11d-letter-spacing:-1px;--e-global-typography-1df2472-font-family:"Inter Tight";--e-global-typography-1df2472-font-size:17px;--e-global-typography-1df2472-font-weight:800;--e-global-typography-1df2472-line-height:1.2em;--e-global-typography-222c592-font-family:"Inter Tight";--e-global-typography-222c592-font-weight:600;--e-global-typography-222c592-line-height:1.2em;font-family:"Inter", Sans-serif;}.elementor-kit-16 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-16 a{color:var( --e-global-color-primary );}.elementor-kit-16 a:hover{color:var( --e-global-color-3e25c0a );}.elementor-kit-16 h1{color:var( --e-global-color-secondary );font-family:"Inter Tight", Sans-serif;font-size:120px;font-weight:900;}.elementor-kit-16 h2{color:var( --e-global-color-secondary );font-family:"Inter Tight", Sans-serif;font-size:72px;font-weight:900;line-height:80px;}.elementor-kit-16 h3{color:var( --e-global-color-secondary );font-family:"Inter Tight", Sans-serif;font-size:40px;font-weight:900;}.elementor-kit-16 h4{color:var( --e-global-color-secondary );font-family:"Inter Tight", Sans-serif;font-size:25px;font-weight:800;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );border-radius:0px 0px 0px 0px;padding:20px 30px 20px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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:1366px){.elementor-kit-16{--e-global-typography-primary-font-size:40px;}.elementor-kit-16 h1{font-size:100px;}.elementor-kit-16 h2{font-size:60px;line-height:60px;}.elementor-kit-16 h3{font-size:35px;}.elementor-kit-16 h4{font-size:22px;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:1024px){.elementor-kit-16{--e-global-typography-secondary-font-size:18px;--e-global-typography-accent-font-size:12px;--e-global-typography-290ea9b-font-size:20px;--e-global-typography-0281194-font-size:26px;--e-global-typography-cd721f0-font-size:90px;--e-global-typography-5c3d11d-font-size:50px;--e-global-typography-1df2472-font-size:15px;}.elementor-kit-16 h1{font-size:80px;}.elementor-kit-16 h2{font-size:50px;}.elementor-kit-16 h3{font-size:28px;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-16{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:30px;--e-global-typography-secondary-font-size:17px;--e-global-typography-290ea9b-font-size:18px;--e-global-typography-0281194-font-size:25px;--e-global-typography-cd721f0-font-size:45px;--e-global-typography-e7a500c-font-size:1.4em;--e-global-typography-5c3d11d-font-size:40px;--e-global-typography-5c3d11d-line-height:1em;--e-global-typography-1df2472-font-size:13px;}.elementor-kit-16 h1{font-size:40px;}.elementor-kit-16 h2{font-size:40px;line-height:1.2em;}.elementor-kit-16 h3{font-size:20px;}.elementor-kit-16 h4{font-size:17px;}.elementor-kit-16 button,.elementor-kit-16 input[type="button"],.elementor-kit-16 input[type="submit"],.elementor-kit-16 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Sticky Footer – Start */
html, body {
height: 100%;
}
body {
min-height: 100vh;
margin: 0;
display: flex;
flex-direction: column;
}
main, #content, #primary, .site-main, .elementor-location-single, .elementor-location-archive, .error404 #content {
flex: 1 0 auto;
}
/* Sticky Footer – Ende */

/* CSS- statt Elementor Pro JS Animationen - Start */
@keyframes nbFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes nbFadeLeft {
  from { opacity: 0; transform: translate3d(-140px, 0, 0); }
  to   { opacity: 1; transform: none; }
}

/* normal ≈ 1 s */
.nb-fade      { animation: nbFade 2s ease both; }
/* schnell ≈ 0,8 s, von links */
.nb-fade-left { animation: nbFadeLeft 1s ease both; }

@media (prefers-reduced-motion: reduce) {
  .nb-fade, .nb-fade-left { animation: none; }
}
/* CSS- statt Elementor Pro JS Animationen - Ende */


/*Text properties*/
p {
	margin-bottom: 0;
}
.bold {
	font-weight: bold;
}
.mwd {
    color: var(--e-global-color-primary, #C3711B) !important;
    font-size: 0.55em;
    font-style: italic;
    font-weight: inherit;
    white-space: nowrap;
}

::selection {
    background-color: var(--e-global-color-primary); 
    color: #fff;
}

/*hyphens*/
.hn {
  -moz-hyphens: none !important;
	-webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  hyphens: none !important;
}

.ha {
  -moz-hyphens: auto;
	-webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

/*color classes*/
.prime100 {
	color: var( --e-global-color-primary );
}

.sec100 {
	color: var( --e-global-color-secondary );
}

.txt100 {
	color: var( --e-global-color-text );
}

.acc100 {
	color: var( --e-global-color-accent );
}

.italic {
    font-style: italic;
}
.ghost-number {
    color: transparent !important;
    -webkit-text-stroke: 2px var(--e-global-color-primary) !important;
}

/*color class transparent*/
.trans100 {
	color: var( --e-global-color-a19d37c );
}

/*link transition*/
a {
	transition: all .25s ease-in-out;
}

/*custom link classes*/
a.footer-banner {
	color: #fff;
	transition: all .25s ease-in-out;
}

a.footer-banner:hover {
	color: var(--e-global-color-primary);
}

/*iconlist fix icon top*/
.elementor-icon-list-item {
    align-items: start !important;
}

.elementor-icon-list-item .elementor-icon-list-icon {
    margin-top: 5px;
}

.context-menu {cursor: context-menu;}

#kontakt {
    scroll-margin-top: 40px;
}

@media (max-width: 767px) {
    #bewerbung {
        scroll-margin-top: 60px;
    }
    #kontakt {
    scroll-margin-top: 0px;
}
}

/* Formular – Schritt */
.fstep {
    font-family: 'Inter Tight', sans-serif !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary) !important;
    letter-spacing: 0.05em;
}


/* Kicker-Line*/
.kicker {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    font-size: 0.8rem;
    color: var( --e-global-color-primary );
}
.kicker::before {
    content: "";
    display: block;
    width: 25px; 
    height: 1px; 
    background-color: var( --e-global-color-primary ); 
}

/* Gemeinsame Struktur + Hover-Wischeffekt */
.btn-white .elementor-button,
.btn-black .elementor-button,
.btn-ochre .elementor-button {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    vertical-align: middle;
    background-color: var(--btn-bg);
    border: 1px solid var(--btn-border);
    transition: all .5s ease;
}

.btn-white .elementor-button::after,
.btn-black .elementor-button::after,
.btn-ochre .elementor-button::after {
    content: '';
    position: absolute;
    inset: var(--btn-inset, -1px);
    z-index: 1;
    background-color: var(--btn-overlay);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .5s ease;
}
.btn-white .elementor-button:hover::after,
.btn-black .elementor-button:hover::after,
.btn-ochre .elementor-button:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Text + Icon über dem Overlay, Farbwechsel */
.btn-white .elementor-button-content-wrapper,
.btn-black .elementor-button-content-wrapper,
.btn-ochre .elementor-button-content-wrapper,
.btn-white .elementor-button-icon svg,
.btn-black .elementor-button-icon svg,
.btn-ochre .elementor-button-icon svg {
    position: relative;
    z-index: 2;
    color: var(--btn-fg) !important;
    fill: var(--btn-fg) !important;
    transition: color .4s ease, fill .4s ease !important;
}
.btn-white .elementor-button:hover .elementor-button-content-wrapper,
.btn-black .elementor-button:hover .elementor-button-content-wrapper,
.btn-ochre .elementor-button:hover .elementor-button-content-wrapper,
.btn-white .elementor-button:hover .elementor-button-icon svg,
.btn-black .elementor-button:hover .elementor-button-icon svg,
.btn-ochre .elementor-button:hover .elementor-button-icon svg {
    color: var(--btn-fg-hover) !important;
    fill: var(--btn-fg-hover) !important;
}

/* Icon-Verschiebung beim Hover */
.btn-white .elementor-button-icon,
.btn-black .elementor-button-icon,
.btn-ochre .elementor-button-icon {
    transition: transform .45s ease;
}
.btn-white .elementor-button:hover .elementor-button-icon,
.btn-black .elementor-button:hover .elementor-button-icon,
.btn-ochre .elementor-button:hover .elementor-button-icon {
    transform: translateX(4px);
}

/* --- Farbvarianten (nur noch Variablen) --- */

/* A. Weiß */
.btn-white .elementor-button {
    --btn-bg: #fff;
    --btn-border: #fff;
    --btn-fg: var(--e-global-color-secondary);
    --btn-fg-hover: var(--e-global-color-accent);
    --btn-overlay: var(--e-global-color-secondary);
    --btn-inset: 0;
}
.btn-white.btn-white-bordered .elementor-button {
    --btn-border: var(--e-global-color-secondary);
}

/* B. Schwarz */
.btn-black .elementor-button {
    --btn-bg: var(--e-global-color-secondary);
    --btn-border: var(--e-global-color-accent);
    --btn-fg: var(--e-global-color-accent);
    --btn-fg-hover: var(--e-global-color-secondary);
    --btn-overlay: var(--e-global-color-accent);
}

/* C. Ocker */
.btn-ochre .elementor-button {
    --btn-bg: var(--e-global-color-primary);
    --btn-border: var(--e-global-color-primary);
    --btn-fg: var(--e-global-color-accent);
    --btn-fg-hover: var(--e-global-color-accent);
    --btn-overlay: var(--e-global-color-secondary);
}
.btn-ochre .elementor-button:hover {
    border-color: var(--e-global-color-secondary) !important;
}

/* Tel.-Icon Wackeln bei Mouse-Over */
.tel-wiggle .elementor-icon-list-item:hover .elementor-icon-list-icon {
  animation: tel-wiggle 0.45s ease-in-out;
}

.nb-whatsapp-float.tel-wiggle:hover img {
    animation: tel-wiggle 0.45s ease-in-out;
}

.elementor-social-icon-whatsapp:hover svg {
    animation: tel-wiggle 0.45s ease-in-out;
    transform-origin: center;
}

@keyframes tel-wiggle {
    0% {transform: rotate(0deg);}
   20% {transform: rotate(-12deg);}
   40% {transform: rotate(12deg);}
   60% {transform: rotate(-8deg);}
   80% {transform: rotate(8deg);}
  100% {transform: rotate(0deg);}
}

/* Drag-and-Drop-Upload Formular */
.elementor-field-type-upload:not(.is-ready)::after {
    content: ''; 
    display: block;
    height: 140px; 
    width: 100%;
    border: 1px dashed #ccc;
    background: var(--e-global-color-accent, #fff);
    border-radius: 2px;
    box-sizing: border-box;
}
.elementor-field-type-upload:not(.is-ready) input[type="file"] {
    display: none !important;
}
.elementor-field-type-upload .elementor-field-group-upload {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    align-items: stretch !important;
}
.elementor-field-type-upload .elementor-field-group-upload > .elementor-field-label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}
.elementor-field-type-upload .nb-upload-dropzone {
    position: relative;
    width: 100%;
    height: 140px; 
    box-sizing: border-box;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--e-global-color-accent, #fff);
    border: 1px dashed #ccc;
    border-radius: 2px;
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}
.elementor-field-type-upload.is-ready .nb-upload-content {
    animation: nbFileFade 0.15s ease-out forwards;
}

@keyframes nbFileFade {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}
.elementor-field-type-upload .nb-upload-dropzone:hover,
.elementor-field-type-upload .nb-upload-dropzone.is-focus {
    background: var(--e-global-color-accent, #fff);
    border-color: #999;
}
.elementor-field-type-upload .nb-upload-dropzone.is-dragover {
    background: #fdfaf5; 
    border-color: var(--e-global-color-primary, #c3711b);
}
.elementor-field-type-upload .nb-upload-dropzone.has-files {
    border-style: solid;
}
.elementor-field-type-upload input[type="file"] {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}
.elementor-field-type-upload .nb-upload-content {
    position: relative;
    z-index: 1;
    max-width: 100%;
    pointer-events: none;
    opacity: 0;
}
.elementor-field-type-upload .nb-upload-icon {
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto 6px;
    color: #8d887e;
}
.elementor-field-type-upload .nb-upload-title {
    display: block;
    color: #615d55;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}
.elementor-field-type-upload .nb-upload-hint {
    display: block;
    margin-top: 2px;
    color: #969188;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
}
.elementor-field-type-upload .nb-upload-status {
    display: block;
    margin-top: 6px;
    color: #716c63;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.elementor-field-type-upload .nb-upload-status.is-error {
    color: #a13f35;
}

@media (max-width: 767px) {
    .elementor-field-type-upload .nb-upload-dropzone,
    .elementor-field-type-upload:not(.is-ready)::after {
        height: 130px;
    }
}

/* Unterseiten – Hero Bild Reveal */
.nb-pano-image {
    position: relative;
    overflow: hidden;
    display: block;
}
.nb-pano-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff; 
    z-index: 2;
    transform-origin: left; 
    animation: subpageCurtain 1.2s cubic-bezier(.6,.05,.05,.95) forwards;
    animation-delay: 0.1s;
}
@keyframes subpageCurtain {
    0% { transform: scaleX(1); }
    100% { transform: scaleX(0); }
}
.nb-pano-image img {
    position: relative;
    z-index: 1;
    filter: grayscale(100%);
    transform: scale(1.15);
    animation: subpageImageZoom 1.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes subpageImageZoom {
    to {
        filter: grayscale(0%);
        transform: scale(1);
    }
}

/* Img-Zoom */
.img-zoom {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.img-zoom::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: inherit;
    pointer-events: none;
    transform: scale(1);
    transition: transform .6s ease;
}
.img-zoom:hover::after {
    transform: scale(1.08);
}
.img-zoom::before {
    z-index: 1 !important;
    pointer-events: none;
}
.img-zoom > * {
    position: relative;
    z-index: 2;
}
.img-zoom.elementor-widget-image,
.img-zoom .elementor-widget-image,
.img-zoom .elementor-widget-container {
    overflow: hidden;
}
.img-zoom img {
    display: block;
    width: 100%;
    transform: scale(1);
    transition: transform .6s ease;
}
.img-zoom:hover img {
    transform: scale(1.08);
}/* End custom CSS */