/* 
Theme Name: Dietmar Hopp Stiftung 2026
Author: Geektech Ulrich Witschaß
Author URI: https://www.geektech.de/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/*#content h1
{
     --minFontSize: 1rem;
 --maxFontSize: 60px;
 --scaler: 5vw;
 font-size: clamp(var(--minFontSize), var(--scaler), var(--maxFontSize)) !important;

}
#content h2
{
    --minFontSize: 1rem;
    --maxFontSize: 60px;
    --scaler: 5vw;
    font-size: clamp(var(--minFontSize), var(--scaler), var(--maxFontSize)) !important;

}*/

#content h1,
.site-main h2
{
   /* --minFontSize: 2rem;
    --maxFontSize: 60px;
    --scaler: 5vw;
    font-size: clamp(var(--minFontSize), var(--scaler), var(--maxFontSize)) !important;*/
    line-height: 1.01;
/*    margin-bottom: 2rem;*/
/*    font-weight: 900;*/
}
#content h2
{
   /* margin-bottom:2rem;*/
}
#content h3,
#content h4,
#content h5,
#content h6
{
    line-height: 1.01;

}

#content .dhs-pageheader
{
    margin-bottom:48px !important;
}

#content .dhs-swiper--auto-height .swiper-wrapper {
    height: auto !important;
    align-items: center; /* Centers content vertically */
}

#content  .elementor-slide-heading
{
    --minFontSize: 2rem;
    --maxFontSize: 60px;
    --scaler: 5vw;
    font-size: clamp(var(--minFontSize), var(--scaler), var(--maxFontSize)) !important;
    line-height: 1.01;
    margin-bottom: 2rem;
    /*    font-weight: 900;*/
}

/* =========================================================
   Elementor Nav Menu – Dropdown rechts fixiert (300px)
   + komplette Hierarchie immer ausgeklappt
   ========================================================= */

.dhs-nav-menu-always-open .elementor-nav-menu--dropdown{
/*    position: fixed;
    right: 0;*/
    top: 100px;                 /* Headerhöhe anpassen */
/*    width: 300px !important;*/
/*    max-height: calc(100vh - 122px);*/
    overflow-y: auto;
/*    z-index: 99999;
    bottom:0px;*/
    margin-top:0px;
    background:transparent !important;
    box-shadow:none !important;
}

/* WICHTIG: Submenus wirklich aufklappen (alle Ebenen) */
.dhs-nav-menu-always-open .elementor-nav-menu--dropdown .menu-item-has-children > .sub-menu,
.dhs-nav-menu-always-open .elementor-nav-menu--dropdown .sub-menu{
    display: block !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: static !important;  /* verhindert „Dropdown im Dropdown“ */
}

/* Optional: Einrückung der Unterpunkte */
.dhs-nav-menu-always-open .elementor-nav-menu--dropdown .sub-menu
{
    padding-left: 10px;
}
.dhs-nav-menu-always-open .elementor-nav-menu--dropdown li.menu-item > a
{
    text-align:right;
    width:100%;
    display:inline-block;
    margin-top:10px;
    margin-bottom:10px;
}

.dhs-nav-menu-always-open .elementor-nav-menu--dropdown ul.elementor-nav-menu > li.menu-item > a
{
color:#FFF !important;
font-size:1.35rem !important;
    font-weight:900 !important;
  /*  text-transform:uppercase !important;*/
    padding-top:40px !important;
    padding-bottom:12px !important;
}


.dhs-nav-menu-always-open .elementor-nav-menu--dropdown .sub-menu li.menu-item > a
{
    font-size:1.35rem !important;
    padding-left:10px;
    margin-left:0;
    border-width:0;
    padding-top:8px !important;
    padding-bottom:8px !important;
    color:#FFF !important;
}



/* Optional: Pfeil-Toggler ausblenden */
.dhs-nav-menu-always-open .elementor-sub-item-toggle,
.dhs-nav-menu-always-open .sub-arrow
{
    display: none !important;
}

.dhs-top-three article.elementor-portfolio-item:nth-child(n+4)
{
    display: none !important;
}

.elementor-portfolio-item__title
{
/*    word-wrap:  break-word !important;*/

    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
}

.projekt figcaption.wp-element-caption
{
    line-height:1rem;
    font-size:0.8rem;
    color:#1864A7;
    text-transform:uppercase;
    font-style:normal;
    margin-top:15px;
}

.elementor-widget-post-navigation span.post-navigation__prev--title,
.elementor-widget-post-navigation span.post-navigation__next--title
{
    color:#1864A7;

}

#dhs-back-to-top {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 9999;

    cursor: pointer;

    align-items: center;
    justify-content: center;


    transition: opacity 0.3s ease, transform 0.3s ease;
}

#dhs-back-to-top:hover {
    transform: translateY(-3px);
}

#dhs-fixed-menu
{
    position: fixed;
    z-index: 1000;
    right: 0;
    top: calc(50% - (222px / 2));
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.35) !important;
    width:calc(2rem + 24px);
    display:block;
/* padding: 1rem;
 border: 1px solid #ddd;
 border-radius: 8px 0 0 8px;
 background-color: #fff;*/
    transition: transform 0.5s ease !important;
}

#dhs-fixed-menu a.elementor-button
{
    padding:0;
}

#dhs-fixed-menu .e-con-inner
{
    gap: 15px 15px !important;
}

@media (max-width: 767px) {
    #dhs-fixed-menu{
        transform: translateX(100%);
    }
}
#dhs-fixed-menu.dhs-hide-menu{
    transform: translateX(100%);
    transition: transform 1s ease;

}
header.elementor-location-header > .elementor-element
{
    padding-left:4%;
    padding-right:4%;
}

.elementor-lightbox-image
{
    background:#FFF;
    padding:25px;
}

.elementor-widget-text-editor strong a
{
    font-weight:inherit;
}

#content .elementor-heading-title > a
{
    font-weight:inherit;
}

body.dhs-is-modal header,
body.dhs-is-modal footer,
body.dhs-is-modal .elementor-post-navigation,
.mfp-content header,
.mfp-content footer,
.mfp-content .elementor-post-navigation,
.mfp-content .dhs-pageheader,
.mfp-content .dhs-hide-modal
{
display:none !important;
}

.mfp-container
{

}

.mfp-content
{
    top:75px;
    width:80% !important;
    max-width:80% !important;
    background:#FFF !important;
/*    background: white;
    width: 80%;
    height: 80%;
    overflow: auto;*/

}

.elementor-widget-portfolio li.elementor-portfolio__filter[data-filter="23"]
{
    display:none !important;
}

.elementor-widget-portfolio.dhs-reverse-hover .elementor-portfolio-item__overlay {
    opacity: 1;
    transition: opacity 0.3s ease;
    background-color: rgba(0,0,0,0.25);
    transition: background-color 300ms ease;
}

.elementor-widget-portfolio.dhs-reverse-hover .elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
    background-color: rgba(0,0,0,0.05);
}

/* Galerie rechts floaten, Text links umfließen lassen */
.float-gallery-right img{
    float: right;
    width: 260px;          /* anpassen */
    margin: 0 0 12px 16px; /* Abstand zum Text */
}

/* Optional: am Ende wieder “sauber machen”, wenn danach nichts mehr umfließen soll */
.float-clear{
    clear: both;
}

/* Mobile: Float deaktivieren */
@media (max-width: 767px){
    .float-gallery-right.wp-block-gallery{
        float: none;
        width: 100%;
        margin: 0 0 12px 0;
    }
}

.elementor-heading-title a
{
    font-weight:inherit !important;
}

.dhs-etg-caption { margin-top: 6px; line-height: 1.3;

    color:#18649A;
    text-transform:uppercase;
    font-style:normal;
    font-size:0.75rem;
}

.dhs-popup-hidden
{
    display:none;
}

.mfp-content .dhs-popup-hidden
{
    display:inline-block;
}

/* Initialer Zustand */
.dhs-popup-zoom.mfp-bg {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.dhs-popup-zoom.mfp-wrap .mfp-content {
    opacity: 0;
    transform: scale(0.92);
    transition: all 0.3s ease;
}

/* Öffnen */
.dhs-popup-zoom.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.dhs-popup-zoom.mfp-ready .mfp-content {
    opacity: 1;
    transform: scale(1);
}

/* Schließen */
.dhs-popup-zoom.mfp-removing.mfp-bg {
    opacity: 0;
}

.dhs-popup-zoom.mfp-removing .mfp-content {
    opacity: 0;
    transform: scale(0.92);
}

.dhs-mfp-centered .e-con-inner
{
    text-align:center !important;

}


.dhs-mfp-centered .mfp-content {
    max-width: 750px !important;
    width: 100%;
    margin: 0 auto;
    padding:45px 15px 50px 15px !important;
}

.dhs-mfp-content .mfp-content {
    max-width: 850px !important;
    width: 100%;
    margin: 0 auto;
/*    padding:55px 15px 50px 15px !important;*/
    padding:25px 50px 50px 50px !important;
}

.dhs-mfp-centered.dhs-mfp-centered-wide .mfp-content {
    max-width: 1024px !important;
}
.dhs-mfp-centered .elementor-widget
{
    margin-bottom:40px !important;
}

.mfp-content #wpadminbar
{
    display:none !important;
}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: #18649A;
    color: #fff !important;
    text-decoration: none;
}

li.menu-item-778 > a
{
    pointer-events: none;
    cursor: default;
}
/*.elementor-581 .elementor-element.elementor-element-7b4d7a43 div.elementor-menu-toggle
{
    z-index:100;
}
.elementor-581 .elementor-element.elementor-element-7b4d7a43 .elementor-nav-menu--dropdown
{
    top: 0px;
    padding-top: 100px;
    background: #18649A;
    z-index: 10;
    color:#FFF !important;
}

.elementor-581 .elementor-element.elementor-element-7b4d7a43 .elementor-nav-menu--dropdown li a
{
    color:#FFF !important;

}*/

.always-open-menu .sub-menu {

    display: block !important;

    opacity: 1 !important;

    visibility: visible !important;

    position: static !important;

    width: 100% !important;

    transform: none !important;

}

.always-open-menu .menu-item-has-children > a:after {

    display: none !important;

}

.wpgmza_infowindow_address
{
    display:none !important;
}

.no-side-padding,
.no-side-padding > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
}