/*
 Theme Name:   Febel
 Theme URI:    
 Description:  
 Author:       
 Author URI:   
 Template:     generatepress
 Version:      0.1
*/
:root {
  --gp-font--headings: 'rooney-sans' ;
  --gp-font--body: 'rooney-sans' ;
}


a[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21.952' height='22.388'%3E%3Cg data-name='Gruppe 5910'%3E%3Cg data-name='Gruppe 5907'%3E%3Cpath data-name='Rechteck 1272' d='M0 20.052h21.952v2.335H0z'/%3E%3C/g%3E%3Cg data-name='Gruppe 5908'%3E%3Cpath data-name='Rechteck 1273' d='M9.808 0h2.335v15.774H9.808z'/%3E%3C/g%3E%3Cg data-name='Gruppe 5909'%3E%3Cpath data-name='Pfad 3895' d='m10.976 17.425-7.3-7.3 1.651-1.651 5.65 5.65 5.7-5.7 1.651 1.651z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat;
  background-size: contain;
  margin-left: 0.2em;
  vertical-align: middle;
}

li::marker {
  color: #011A99;
}
/* THEME TWEAKS  */

/* Header padding with responsive clamp */
.site-header {
    padding-inline: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

/* Typography wrapping */
/* Balance headings and elements with `.balance` class */
:is(h1, h2, h3, h4, h5, h6),
.balance {
    text-wrap: balance;
}
ol, ul {
    margin: 0 0 1.5em 2em;
}
@media (max-width: 767px) {
    ol, ul {
    margin: 0 0 1.5em 1.5em;
    }
}

/* Use pretty wrapping for body text elements */
p,
blockquote,
li {
    text-wrap: pretty;
}

p {
    margin-bottom: 1em;
}
/* Remove bottom margin from final paragraph */
p:last-child:last-of-type {
    margin-bottom: 0px;
}

/* UTILITIES */

/* Line Clamping */
.line-limit-3,
.line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
}

/* Visually Hidden (accessible to screen readers) */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Smooth Transition Utility */
.transition {
    transition: all 0.25s ease-in-out;
}


/*  GP MENU ACCESSIBILITY TWEAKS */

#site-navigation ul.sub-menu {
    display: block;
}

#site-navigation li:hover .gp-icon svg {
    transform: rotate(180deg);
}

#site-navigation li:hover .sub-menu {
    visibility: visible;
}


/* 
   STRETCH LINK (from Bootstrap)
   Source: https://youtu.be/HBriBrnRlQE?si=DLiSXEiBHt6lw91l
   Note: Only use ONE link per card or this breaks!
*/

.stretch-link {
    position: relative;
}

.stretch-link a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.stretch-link a:is(:focus-visible)::after {
    outline: 2px solid;
}

.stretch-link a:is(:hover, :focus) {
    outline: none;
}


/*  CONTAINER WRAPPER */

.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
    background: var(--neutral-0);
}


/*  TYPOGRAPHY  */

/* Font Family Utilities */
.ff-body {
    font-family: var(--gp-font--body);
    font-weight: 400;
}

.ff-heading {
    font-family: var(--gp-font--headings);
}

/* Heading and utility class font assignment */
h1 {
    font-family: var(--gp-font--headings);
    font-weight: 900;
}
h2, h3, h4, h5, h6,[class^="fs-"] {
    font-family: var(--gp-font--headings);
    font-weight: 800;
}
p {
    font-family: var(--gp-font--body);
    font-weight: 400;
}
.fs-p {
    font-family: var(--gp-font--body);
    font-weight: 400;
}



h1, .fs-h1 {
    font-size: clamp(3.375rem, 3.0682rem + 1.2273vw, 4.05rem);
}

h2, .fs-h2 {
    font-size: clamp(2.5313rem, 2.3011rem + 0.9205vw, 3.0375rem);
}

h3, .fs-h3 {
    font-size: clamp(2.1094rem, 1.9176rem + 0.767vw, 2.5313rem);
    font-weight: 800;
}

h4, .fs-h4 {
    font-size: clamp(1.6875rem, 1.5341rem + 0.6136vw, 2.025rem);
    font-weight: 800;
}

h5, .fs-h5 {
    font-size: clamp(1.4063rem, 1.2784rem + 0.5114vw, 1.6875rem);
    font-weight: 700;
}

h6, .fs-h6 {
    font-size: clamp(1.2656rem, 1.1506rem + 0.4602vw, 1.5188rem);
    font-weight: 700;
}

p, li, .fs-p {
    font-size: clamp(1.0375rem, 0.8523rem + 0.3409vw, 1.255rem);
}
:root {
  /* Basiswerte für kleine Bildschirme (Mobile First) */
  --font-min-ratio: 1.2; /* Skalierungsfaktor zwischen h1-h6 */
  --font-base: 1rem;     /* Basisgröße (z. B. 16px) */
}

h1, .fs-h1  {
  font-size: clamp(2.074rem, 1.8rem + 1.37vw, 3.092rem);
}
h2, .fs-h2 {
  font-size: clamp(1.728rem, 1.55rem + 0.89vw, 2.441rem);
}
h3, .fs-h3 {
  font-size: clamp(1.44rem, 1.3rem + 0.7vw, 1.953rem);
}
h4, .fs-h4 {
  font-size: clamp(1.2rem, 1.1rem + 0.5vw, 1.563rem);
}
h5, .fs-h5 {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
}
h6, .fs-h6 {
  font-size: clamp(0.833rem, 0.8rem + 0.17vw, 1rem);
}
@media (min-width: 2042px) {
    .headline-header.head-right {
        padding-left: 36.875vw !important;
    }
}
@media (min-width: 1920px) {
    .header-section {
        height: 787px !important;
    }
}
/* Header Animation */

#fl_1, #fl_2, #fl_3, #fl_4, #tree-1, #tree-2, #Pfad_582, #Pfad_583, #Pfad_584, #reh-1, #reh-2, #reh-3 {
    opacity:0;
}

/* Slider */
.word-navigation ul {
    list-style: none;
}
.word-navigation li {
    cursor: pointer;
    transition: all 0.3s ease;
}
.word-navigation li:hover {
    text-decoration: underline;
}
.word-navigation ul li {
  margin-left: 15px;
  margin-right: 15px;
  font-size: 20px;
  position: relative;
  color: var(--alt-rot);
  font-weight: bold;
}
.word-navigation li.active {
    text-decoration: underline;
}
.owl-carousel .owl-stage-outer {
    padding: 20px 0;
}
/* Slide-Layout */
.slide-item {
    padding: 20px;
}

.slide-content {
    display: flex;
    column-gap: 100px;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
}

.text-section {
    flex: 1;
    padding: 40px;
    background-color: #fff;
}
.text-section, .image-section {
    border-radius: 30px;
}
.text-section h3 {
    margin-top: 0;
    font-size: 24px;
    color: #333;
    margin-bottom: 15px;
}

.text-section p {
    line-height: 1.6;
    color: #666;
}

.image-section {
    flex: 1;
    height: 319px;
    overflow: hidden;
}

.image-section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.slide-content:hover .image-section img {
    transform: scale(1.05);
}

/* Navigationspfeile */
.slider-nav {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: none;
}
@media (max-width: 768px) {
    .slider-nav {
        top: 28%;
    }
}
.slider-prev, .slider-next {
    position: absolute;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    pointer-events: auto;
}

.slider-prev {
    left: -55px;
}

.slider-next {
    right: -55px;
}

.slider-prev:hover, .slider-next:hover {
    background: transparent;
    color: white;
}

.slider-prev i, .slider-next i {
    font-size: 20px;
}

/* Owl Carousel Anpassungen */
.owl-carousel .owl-stage-outer {
    padding: 20px 0;
}

/* Responsive Design */
@media (max-width: 992px) {
    .slide-content {
        flex-direction: column-reverse;
    }
    
    .text-section, .image-section {
        width: 100%;
    }
    
    .image-section {
        height: 300px;
    }
    
    .slider-prev {
        left: -15px;
    }
    
    .slider-next {
        right: -15px;
    }
}

@media (max-width: 768px) {
    .word-navigation ul {
        flex-wrap: wrap;
    }
    
    .word-navigation li {
        margin: 5px 10px;
    }
    
    .image-section {
        height: 250px;
    }
    .slider-prev {
        left: -3px;
    }
    
    .slider-next {
        right: -3px;
    }
}

@media (max-width: 576px) {
    .slide-item {
        padding: 20px 0;
    }
    .slider-container {
        padding: 10px;
    }
    
    .text-section {
        padding: 20px;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }
    
    .text-section h3 {
        font-size: 20px;
    }
    
    .image-section {
        height: 200px;
        border-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px;
    }
    .slider-prev {
        left: -23px;
    }
}
@media (max-width: 576px) {
    .slider-prev {
        left: -23px;
    }
    .word-navigation {
        margin-bottom: 0px !important;
    }
    .slider-nav {
        top: 31%;
        display: none;
    }
}
/* Submenu */
.gb-menu--base.gb-menu--hover .menu-item:hover > ul.gb-sub-menu {
 margin-top: 6px;
}
/* für die Lücke zw. Hauptmenü und Submenü */
@media (min-width: 769px) {
  #menu-hauptmenue li.menu-item-has-children::before {
    content: '';
    position: absolute;
    top: 60px;
    left: 30px;
    width: 200px;
    height: 35px;
    z-index: 99;
  }
}
.xxsub-menu {
    z-index: 100000;
}
.site-footer {
        margin-top: 40px;
}
@media (max-width: 767px) {
    .site-footer {
        margin-top: 20px;
    }
}

.gb-menu-toggle--toggled .gb-menu-close-icon {
    color: white !important;
}
.gb-menu-container--mobile.gb-menu-container--toggled .gb-menu-close-icon {
    color:var(--neutral-900)!important;
}
/* Scale SVG on mobile */
@media (max-width: 767px) {
  .startheader {
    transform: translate3d(0px,-20px,0px) scale(1.3);
  }
  .zertifikate svg {
    transform: translate3d(30px,-10px,0px) scale(1.3);
  }
  .kontakt svg {
    transform: translate3d(40px,-10px,0px) scale(1.3);
  }
  .kontakt svg {
    transform: translate3d(40px,-20px,0px) scale(1.3);
  }
  .jobs svg {
    transform: translate3d(60px,-45px,0px) scale(1.6);
  }
  .krippen svg {
    transform: translate3d(30px,-35px,0px) scale(1.6);
  }
  .about svg {
    transform: translate3d(40px,-25px,0px) scale(1.4);
  }
  .info svg {
    transform: translate3d(80px,-25px,0px) scale(1.4);
  }
  .hortintegrativ svg {
    transform: translate3d(-40px,-10px,0px) scale(1.4);
  }
  .snowfall {
    background-size: 130% !important;
  }
}

a.btn-default {
  color: var(--neutral-0) !important;
}