html {
    height: 100%;
}

body {
    min-height: 100%;
    position: relative;
}


/* wpml language */


.language-switcher {
    display: flex;
    column-gap: 0.5rem;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
}



.language-switcher a,
.language-switcher span {
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-930f356-font-family);
    font-size: var(--e-global-typography-930f356-font-size);
    line-height: var(--e-global-typography-930f356-line-height);
    letter-spacing: var(--e-global-typography-930f356-letter-spacing);
    display: flex;
}

.mobile .language-switcher a,
.mobile .language-switcher span {
    color: #fff;
}
.language-switcher .active {
    display: none;
    pointer-events: none;
}

  .language-switcher span {
    display: none;
}



.mobile {
    padding-left: 15%;
    padding-right: 15%;
}

.mobile .active {
    display: block;
    text-decoration: underline;
}

.mobile  .language-switcher span {
    display: block;
}




.language-switcher a {
    text-decoration: none;
    text-underline-offset: 4px;
}

.language-switcher a:hover {
    text-decoration: underline;
}

/* Style Overlay */
body.showOverlay:before {
    background: rgba(0, 0, 0, 0.5);
    top: 0vh;
    transition: background 0.3s ease, top 0s linear;
    pointer-events: auto;
}

body:before {
    position: absolute;
    transition: background 0.3s ease, top 0s linear 0.3s;
    content: "";
    top: -100vh;
    left: 0;
    height: 100%;
    width: 100%;
    display: block;
    background: rgba(0, 0, 0, 0);
    filter: brightness(50%);
    z-index: 20;
    pointer-events: none;
}

.jc-menu-close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    font-size: 30px;
    z-index: 999;
    pointer-events: all;
    cursor: pointer;
    line-height: 1;
}

.desktop-menu .unfold>a {
    opacity: 0.5;
}

li.unfold~.jc-menu-close-button {
    opacity: 0;
    transition: opacity 0s linear;
}

.jc-menu-close-button i::before {
    content: "\e902";
    font-family: var(--jc-icon-font);
}

/*fixing animation of first close button*/
#menu-prim-menu-1>li>.sub-menu>.jc-menu-close-button,
#menu-sek-menu-1>li>.sub-menu>.jc-menu-close-button {
    opacity: 0;
    transition: opacity 0s linear;
}

#menu-prim-menu-1>li.unfold>.sub-menu>.jc-menu-close-button,
#menu-sek-menu-1>li.unfold>.sub-menu>.jc-menu-close-button {
    opacity: 1;
    transition: opacity 0s linear 0.4s;
}

#menu-prim-menu-1>li.unfold>.sub-menu>li.unfold~.jc-menu-close-button,
#menu-sek-menu-1>li.unfold>.sub-menu>li.unfold~.jc-menu-close-button {
    opacity: 0;
    transition: opacity 0s linear;
}

#menu-prim-menu-1>li li .jc-menu-close-button,
#menu-sek-menu-1>li li .jc-menu-close-button {
    opacity: 0;
    transition: opacity 0.3s linear;
}

#menu-prim-menu-1>li.unfold li .jc-menu-close-button,
#menu-sek-menu-1>li.unfold li .jc-menu-close-button {
    opacity: 1;
    transition: opacity 0s linear;
}

#menu-prim-menu-1>li.unfold li.unfold .jc-menu-close-button #menu-sek-menu-1>li.unfold li.unfold .jc-menu-close-button {
    opacity: 1;
    transition: opacity 0s linear;
}

/* Aus Custom css*/

/*primary menu*/
.elementor-element-193b48a {
    padding-left: 12%;
    padding-right: 12%;
}

.elementor-element-193b48a.desktop-menu li a {
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-b4d31f6-font-family);
    font-size: var(--e-global-typography-b4d31f6-font-size);
    line-height: var(--e-global-typography-b4d31f6-line-height);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: padding-left 0.2s ease-out;
}

.desktop-menu ul {
    padding-left: 0;
    list-style-type: none;
}

.desktop-menu li a {
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-930f356-font-family);
    font-size: var(--e-global-typography-930f356-font-size);
    line-height: var(--e-global-typography-930f356-line-height);
    letter-spacing: var(--e-global-typography-930f356-letter-spacing);

    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: padding-left 0.2s ease-out;
}

/*add padding to menu items*/
.desktop-menu ul>li {
    padding-bottom: 10px;
}

/*add chevron to items with submenu*/
.desktop-menu .menu-item-has-children>a:after {
    content: "\e900";
    font-family: var(--jc-icon-font);
    color: var(--e-global-color-primary);
    font-size: 15px;
}

/*add 5px animation*/
.desktop-menu li a:hover {
    padding-left: 5px;
    transition: padding-left 0.2s ease-out;
}

/*style submenus*/
.desktop-menu .sub-menu {
    border-right: 1px solid #d8d8d8;
    visibility: hidden;
    position: fixed;
    left: 0;
    top: 0;
    padding: 0 1.28%;
    background-color: white;
    width: var(--size-sidebar);
    height: 100vh;
    /*padding top + hoehe mobelwagen+ margin-bottom moebelwagen - line-height submenu - padding bottom submenu + padding top menu*/
    padding-top: calc(15px + 57px + 24px - 40.5px - 10px + 170px);
    z-index: -2;
}

/* Anderes Padding für secondary Menu */
.desktop-menu.elementor-element-c595698 .sub-menu {
    padding-top: calc(15px + 57px + 24px + 170px);
}

.desktop-menu .unfold>.sub-menu {
    visibility: visible;
    left: calc(var(--size-sidebar) - 3px);
    transition: left 0.4s ease-out;
}

/*style sub submenu*/
.desktop-menu .sub-menu .sub-menu {
    left: 0;
    z-index: -2;
}

.desktop-menu .unfold .sub-menu .sub-menu {
    left: calc(var(--size-sidebar) - 1px);
    z-index: -2;
}

.desktop-menu .sub-menu .unfold .sub-menu {
    visibility: visible;
    left: calc(2 * (var(--size-sidebar) - 3px));
    transition: left 0.4s ease-out;
}

.desktop-menu li:not(.unfold)>.sub-menu {
    pointer-events: none;
}

/* transtition */

/* Links */
.desktop-menu .sub-menu a {
    visibility: hidden;
    transition: visibility 0s, padding-left 0.2s ease-out;
}

.desktop-menu .unfold>.sub-menu a {
    visibility: visible;
    transition: visibility 0.4s ease-out 0.4s, padding-left 0.2s ease-out;
}

.desktop-menu .sub-menu .sub-menu a {
    visibility: hidden;
    transition: visibility 0s ease 0s, padding-left 0.2s ease-out;
}

.desktop-menu .sub-menu .unfold .sub-menu a {
    visibility: visible;
    transition: visibility 0.4s ease-out 0.4s, padding-left 0.2s ease-out;
}

.subOpen .desktop-menu .sub-menu .unfold .sub-menu a {
    visibility: visible;
    transition: visibility 0s ease-out 0.3s, padding-left 0.2s ease-out 0s;
}

/* Menüs */
.desktop-menu .sub-menu,
.desktop-menu .sub-menu .sub-menu {
    transition: left 0.4s ease-out, visibility 0s linear 0.4s;
}

.subOpen .desktop-menu .sub-menu .sub-menu {
    transition: left 0s ease-out 0.3s, visibility 0s linear 0.3s;
}

/* ################################ */
/* #        MOBILES MENU          # */
/* ################################ */

#main-menu #menu-prim-menu,
#main-menu #menu-prim-menu-e,
#menu-sek-menu {
    transition: transform 0.3s ease-out, opacity 0.2s ease-out 0.1s;
    opacity: 1;
}

#menu-prim-menu-e.hideMenu,
#menu-prim-menu.hideMenu,
#menu-sek-menu.hideMenu {
    opacity: 0;
    transition: transform 0.3s ease-out, opacity 0.1s ease-out 0.2s;
}

.elementor-widget-wp-widget-nav_menu.negZIndex {
    z-index: 0 !important;
}

#menu-prim-menu.showSecLevel,
#menu-prim-menu-e.showSecLevel,
#menu-sek-menu.showSecLevel {
    transform: translateX(-100vw);
}

#menu-prim-menu-e.showThirdLevel,
#menu-prim-menu.showThirdLevel,
#menu-sek-menu.showThirdLevel {
    transform: translateX(-200vw);
}

#menu-prim-menu-e.sub-menu .sub-menu,
#menu-prim-menu.sub-menu .sub-menu,
#menu-sek-menu.sub-menu .sub-menu {
    top: 0;
}

#menu-prim-menu-e.showSecLevel>li.unfold>.sub-menu,
#menu-prim-menu.showSecLevel>li.unfold>.sub-menu,
#menu-sek-menu.showSecLevel>li.unfold>.sub-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity 0s linear 0.4s;
}

#menu-prim-menu-e.showSecLevel>li>.sub-menu,
#menu-prim-menu.showSecLevel>li>.sub-menu,
#menu-sek-menu.showSecLevel>li>.sub-menu {
    opacity: 0;
    visibility: hidden;
}

#menu-prim-menu-e.showThirdLevel .sub-menu>li.unfold>.sub-menu,
#menu-prim-menu.showThirdLevel .sub-menu>li.unfold>.sub-menu,
#menu-sek-menu.showThirdLevel .sub-menu>li.unfold>.sub-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity 0s linear 0.4s;
}

#menu-prim-menu-e.showThirdLevel .sub-menu>li>.sub-menu,
#menu-prim-menu.showThirdLevel .sub-menu>li>.sub-menu,
#menu-sek-menu.showThirdLevel .sub-menu>li>.sub-menu {
    opacity: 0;
    visibility: hidden;
}

#main-menu #menu-prim-menu-e .sub-menu,
#main-menu #menu-prim-menu .sub-menu,
#main-menu #menu-sek-menu .sub-menu {
    position: absolute;
    top: 0;
    transition: transform 0.3s ease-out, visibility 0s linear 0.3s;
}

#menu-prim-menu-e .sub-menu,
#menu-prim-menu .sub-menu,
#menu-sek-menu .sub-menu {
    width: 70%;
    transform: translateX(100vw);
}

#menu-prim-menu-e .sub-menu .sub-menu,
#menu-prim-menu .sub-menu .sub-menu,
#menu-sek-menu .sub-menu {
    width: 100%;
}

#menu-prim-menu-e,
#menu-prim-menu,
#menu-sek-menu {
    padding-left: 15%;
    padding-right: 15%;
}

@media screen and (min-width: 768px) and (max-width: 1250px) {

    .mobile,
    #menu-prim-menu-e,
    #menu-prim-menu,
    #menu-sek-menu {
        padding-left: 10%;
        padding-right: 10%;
    }



    #menu-prim-menu-e .sub-menu,
    #menu-prim-menu .sub-menu,
    #menu-sek-menu .sub-menu {
        width: 80%;
    }
}

/*generelles styling*/

#main-menu ul,
#main-menu ul {
    list-style-type: none;
}

/*add padding to menu items*/
#main-menu ul>li,
#main-menu ul>li {
    padding-bottom: 10px;
}

#main-menu #menu-prim-menu-e li a,
#main-menu #menu-prim-menu li a,
#main-menu #menu-sek-menu li a {
    color: var(--e-global-color-secondary);
    font-family: var(--e-global-typography-b4d31f6-font-family);
    font-size: var(--e-global-typography-b4d31f6-font-size);
    line-height: var(--e-global-typography-b4d31f6-line-height);
}

@media screen and (min-width: 768px) and (max-width: 1250px) {

    #main-menu #menu-prim-menu-e li a,
    #main-menu #menu-prim-menu li a,
    #main-menu #menu-sek-menu li a {
        font-size: 3rem;
    }
}



/*add chevron to items with submenu*/
#main-menu .menu-item-has-children>a:after {
    content: "\e90d";
    font-family: var(--jc-icon-font);
    color: var(--e-global-color-secondary);
    font-size: 38px;
}

@media screen and (max-width: 767px) {
    #main-menu .menu-item-has-children>a:after {
        content: "\e90c";
        font-size: 24px;
    }
}

#main-menu li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

html.open {
    overflow: hidden;
}

.mobile-back-button.visHidden {
    visibility: hidden;
}

/*main menu animation*/
@media screen and (max-width: 1250px) {
    .elementor-location-header {
        height: 80px;
    }
}

#main-menu.animateIn {
    transform: translateY(0%);
}

#main-menu {
    z-index: 200;
}

#main-menu.animateOut {
    transform: translateY(-110%);
}

/*fix when mobile menu is opened*/
.open #main-menu.animateOut {
    transform: translateY(0%);
}

#main-menu {
    transition: transform 0.4s ease-out, box-shadow 0.4s linear;
}