/*
Theme Name: LM-Template
Author: Lennart Möller
Author URI: https://www.lennartmoeller.com/
Description: Minimalistic Wordpress Theme
*/

/*
General Styling for the whole frontend
*/

body,
html {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100%;
    scrollbar-width: none; /* disable scrollbar */
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    background-color: var(--background-body);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    font-family: var(--font);
    color: var(--font-color);
}
html,
body,
body * {
    scroll-behavior: smooth;
}
@viewport {
    width: device-width;
    zoom: 1;
}
@-ms-viewport {
    width: device-width;
}

/* NO FOCUS BORDER */
*:focus {
    outline: none;
}

/* DISABLE RECAPTCHA ICON */
.grecaptcha-badge {
    visibility: hidden;
}

/* MARKED TEXT */
::selection {
    background-color: var(--akzent-color);
    color: #fff;
}

/* SCROLLBAR FIX */
body {
    overflow-x: hidden;
}
html {
    margin-left: calc(100vw - 100%);
    margin-right: 0;
}

/* HIDE SCROLLBAR */
::-webkit-scrollbar {
    display: none !important;
}

/* TRANSITION */
.no-transition {
    transition: none !important;
    -o-transition: none !important;
    -ms-transition: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
}
.slow-transition {
    transition: 0.5s !important;
    -o-transition: 0.5s !important;
    -ms-transition: 0.5s !important;
    -moz-transition: 0.5s !important;
    -webkit-transition: 0.5s !important;
}
.fast-transition {
    transition: 0.3s !important;
    -o-transition: 0.3s !important;
    -ms-transition: 0.3s !important;
    -moz-transition: 0.3s !important;
    -webkit-transition: 0.3s !important;
}
@media screen and (max-width: 999px) {
    .fast-transition-mobile {
        transition: 0.3s !important;
        -o-transition: 0.3s !important;
        -ms-transition: 0.3s !important;
        -moz-transition: 0.3s !important;
        -webkit-transition: 0.3s !important;
    }
}

/* Menu */
.menubar>ul>li>ul,
.menubar>ul>li:hover>ul,
/* Search */
#search-wrapper,
body.sf-active-transition #logo,
body.sf-active-transition .menubar,
body.sf-active-transition #header,
body.sf-active-transition #overlay-dark,
body.sf-active-transition .m-button,
body.sf-active-transition .header-svg path,
/* Collapse-O-Matic */
.collapseomatic,
/* Envira Gallery */
.envira-download-button,
.envira-download-button:hover,
.envira-download-button a,
.envira-download-button a:hover,
.envirabox-next span,
.envirabox-prev span,
.envirabox-next span:hover,
.envirabox-prev span:hover,
.envira-gallery-image,
.envira-gallery-image:hover,
.caption,
.caption:hover,
/* Events Manager */
.em-search-advanced,
.em-search-main,
.em-events-search {
    transition: 0.5s !important;
    -o-transition: 0.5s !important;
    -ms-transition: 0.5s !important;
    -moz-transition: 0.5s !important;
    -webkit-transition: 0.5s !important;
}

/* General */
p a,
label a,
#footer ul li a,
#footer ul li a:hover,
.transition,
button,
button:hover,
input[type="submit"],
input[type="submit"]:hover,
.social-icon,
.social-icon:hover,
.social-label,
.social-label:hover,
.m-button > *,
.content-box-wrapper,
/* Menu */
.menubar > ul > li > ul > li,
.menubar > ul > li:hover > ul > li,
.menubar > ul > li > ul > li a,
.menubar > ul > li:hover > ul > li a,
/* Envira Gallery */
.envira-download-all,
.envira-download-all:hover,
.envira-back-link:after,
.envira-back-link:hover:after,
/* Events Manager */
#em-grid-button,
#em-table-button,
.em-search-submit,
.em-event-wrapper,
.em-event-wrapper:hover,
.em-single-short-info a,
.em-single-short-info a:hover,
.em-fullscreen-button,
.em-icon,
.em-text,
.em-pagination .page-numbers {
    transition: 0.3s !important;
    -o-transition: 0.3s !important;
    -ms-transition: 0.3s !important;
    -moz-transition: 0.3s !important;
    -webkit-transition: 0.3s !important;
}
@media screen and (max-width: 999px) {
    .menubar > ul > li {
        transition: 0.5s;
        -o-transition: 0.5s;
        -ms-transition: 0.5s;
        -moz-transition: 0.5s;
        -webkit-transition: 0.5s;
    }
}
#header,
#logo {
    transition: background 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
    -o-transition: background 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
    -ms-transition: background 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
    -moz-transition: background 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
    -webkit-transition: background 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
}
.menubar > ul > li > a {
    transition: border 0.3s cubic-bezier(0.3, 0.1, 0.58, 1), color 0.1s cubic-bezier(0.3, 0.1, 0.58, 1), opacity 0.1s cubic-bezier(0.3, 0.1, 0.58, 1);
}

/* FONTS */

h2,
h2 a {
    font-family: var(--font-headline);
    font-size: var(--font-size-h2);
    text-transform: var(--font-transform-h2);
    color: var(--font-color-h2);
    font-weight: var(--font-weight-h2);
    letter-spacing: var(--font-letter-spacing-h2);
    text-decoration: none !important;
    text-align: center;
    margin-top: 0;
    margin-bottom: 35px;
}
h3,
h3 a {
    font-family: var(--font-headline);
    font-size: var(--font-size-h3);
    text-transform: var(--font-transform-h3);
    color: var(--font-color-h3);
    font-weight: var(--font-weight-h3);
    letter-spacing: var(--font-letter-spacing-h3);
}
h4,
h4 a {
    font-family: var(--font-headline);
    font-size: var(--font-size-h4);
    text-transform: var(--font-transform-h4);
    color: var(--font-color-h4);
    font-weight: var(--font-weight-h4);
    letter-spacing: var(--font-letter-spacing-h4);
}
h3:first-child,
h4:first-child {
    margin-top: 0;
}
h3:not(:first-child),
.elementor-widget-text-editor:not(:first-child) h3 {
    margin-top: 40px;
}
.elementor-widget-text-editor:not(:first-child) h3:first-child,
.elementor-widget-heading:not(:first-child) h3 {
    margin-top: 20px;
}
h3:not(:last-child) {
    margin-bottom: 20px;
}
h4:not(:first-child),
.elementor-widget-text-editor:not(:first-child) h4 {
    margin-top: 30px;
}
.elementor-widget-text-editor:not(:first-child) h4:first-child,
.elementor-widget-heading:not(:first-child) h4 {
    margin-top: 10px;
}
h4:not(:last-child) {
    margin-bottom: 10px;
}
.elementor-widget-heading h4 {
    margin-bottom: -10px;
}
p {
    font-size: var(--font-size-p);
    font-weight: var(--font-weight-p);
    line-height: var(--line-height);
    hyphens: auto !important;
}
p:first-child {
    margin-top: 0;
}
p:last-child {
    margin-bottom: 0;
}
a p {
    color: var(--font-color);
}
p a,
p a:visited,
label a,
label a:visited {
    border-bottom: var(--item-underline-height) solid var(--underline-color-link);
    word-wrap: break-word;
    text-decoration: none;
    color: var(--font-color-link) !important;
    font-weight: var(--font-weight-p-a);
}
p a:hover,
p a:active,
p a:focus,
label a:hover,
label a:active,
label a:focus {
    border-bottom: var(--item-underline-height) solid var(--underline-color-link-hover);
    text-decoration: none;
    color: var(--font-color-link-hover) !important;
}
a:hover,
a:visited,
a:link,
a:active,
a {
    text-decoration: none;
}

a[href^="tel"] {
    color: var(--font-color);
    text-decoration: none;
}

/* LIST STYLE */

#content ul,
#content ol {
    margin: 0 !important;
    padding: 0 30px;
    font-size: var(--font-size-p);
}
#content li {
    padding: 5px 0;
    line-height: var(--line-height);
}
#content ol ol {
    padding: 0;
}
#content blockquote {
    font-style: italic;
    margin: 0px;
    padding: 10px;
    border-top: 2px solid gray;
}
#content blockquote > p {
    font-size: 17px !important;
}

/* MENU BUTTONS WITH ANIMATION */

.m-button {
    display: block;
    width: var(--m_button-size);
    height: var(--m_button-size);
    background-color: transparent;
    background-size: 100%;
    border: none;
    float: left;
    cursor: pointer;
    padding: calc((var(--header-height-mobile) - var(--m_button-size)) / 2);
}
.m_menu-button {
    width: calc(0.9 * var(--m_button-size));
}
.m_menu-button > * {
    width: 100%;
    height: 1.8px;
    background-color: var(--font-color-header-neg);
    margin: 4.2px 0;
    border-radius: 1px;
}
body:not(.m_menu-active) .m_menu-button > .bar3 {
    width: 70%;
}
body.m_menu-active .m_menu-button .bar1 {
    -webkit-transform: rotate(-45deg) translate(-4.5px, 4.5px);
    transform: rotate(-45deg) translate(-4.5px, 4.5px);
}
body.m_menu-active .m_menu-button .bar2 {
    opacity: 0;
}
body.m_menu-active .m_menu-button .bar3 {
    -webkit-transform: rotate(45deg) translate(-4px, -4px);
    transform: rotate(45deg) translate(-4px, -4px);
}
.search-button .bar1 {
    width: 10px;
    height: 10px;
    border-radius: 10px;
    border: 2px solid var(--font-color-header-neg);
    margin: 2px 0 0 2px;
}
.search-button .bar2 {
    opacity: 0;
}
.search-button .bar3 {
    width: 40%;
    height: 2px;
    background-color: var(--font-color-header-neg);
    margin: 5px 0 5px 2px;
    border-radius: 0.5px;
    -webkit-transform: rotate(45deg) translate(3px, -10px);
    transform: rotate(45deg) translate(3px, -10px);
}
body.sf-active .search-button > * {
    width: 100%;
    height: 2px;
    background-color: var(--font-color-header-neg);
    margin: 4px 0;
    border-radius: 1px;
    border: none;
}
body.sf-active .search-button .bar1 {
    -webkit-transform: rotate(-45deg) translate(-4.5px, 4.5px);
    transform: rotate(-45deg) translate(-4.5px, 4.5px);
}
body.sf-active .search-button .bar3 {
    -webkit-transform: rotate(45deg) translate(-4px, -4px);
    transform: rotate(45deg) translate(-4px, -4px);
}
html:not([data-scroll="0"]) .m_menu-button > *,
html:not([data-scroll="0"]) .search-button > *,
body.m_menu-active .m_menu-button > *,
body.m_menu-active .search-button > * {
    background-color: var(--font-color-header);
}
html:not([data-scroll="0"]) body:not(.sf-active) .search-button > .bar1,
body.m_menu-active .search-button > .bar1 {
    border: 2px solid var(--font-color-header) !important;
    background-color: transparent !important;
}
@media screen and (min-width: 1000px) {
    .m-button {
        opacity: var(--opacity-menu-elements-neg);
    }
    html:not([data-scroll="0"]) .m-button,
    html:not([data-scroll="0"]) .m-button:hover {
        opacity: var(--opacity-menu-elements);
    }
    .m-button:hover {
        opacity: var(--opacity-menu-elements-neg-hover);
    }
    html:not([data-scroll="0"]) .m-button:hover {
        opacity: var(--opacity-menu-elements-hover);
    }
    .m_menu-button {
        display: none;
    }
    .search-button {
        margin-top: calc((var(--header-height) - 50px) / 2);
    }
}

/* Photo credit */

.photo-credit:before {
    content: "Foto: ";
}
.photo-credit {
    position: absolute;
    color: black;
    font-family: "Lato", sans-serif;
}
@media screen and (min-width: 1000px) {
    .photo-credit {
        right: 20px;
        opacity: 0;
        transition: opacity 0.3s;
        font-size: 14px;
    }
    #header-image:hover + .photo-credit {
        opacity: 1;
    }
}
@media screen and (max-width: 999px) {
    .photo-credit {
        right: 10px;
        font-size: 10px;
    }
}

/* DESKTOP MENU */

@media screen and (min-width: 1000px) {
    #header {
        position: fixed;
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
        background: var(--background-header-neg);
        border-bottom: var(--header-border);
        top: 0;
        z-index: 999;
        height: calc(var(--header-height));
    }
    #header-wrapper {
        margin: 0 auto;
        display: flex;
        width: intrinsic;
        width: -moz-max-content;
        width: -webkit-max-content;
        height: 100%;
    }
    #logo {
        display: inherit;
        position: static;
        height: calc(var(--header-height) - 2 * var(--logo-margin-desktop));
        width: var(--logo-width-desktop);
        margin: var(--logo-margin-desktop) var(--logo-menu-space);
        margin-left: 0;
        background: var(--logo-desktop-neg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .menubar {
        margin: calc((var(--header-height) - var(--font-size-menu)) / 2) 0;
        width: calc(100% - var(--logo-width-desktop) - var(--logo-menu-space) + 1px);
        position: static;
    }
    /* if search button is there */
    .menubar.search-active {
        width: calc(100% - var(--logo-width-desktop) - var(--logo-menu-space) - 49px);
    }
    .menubar * {
        font-family: var(--font-menu);
    }
    .menubar > ul {
        margin: 0;
        padding: 0;
        text-align: center;
        list-style-type: none;
        list-style-image: none;
        float: left;
    }
    .menubar > ul > li {
        height: 100%;
        float: left;
        padding: 0 var(--menu-items-spacing);
        cursor: pointer;
    }
    .menubar > ul > li > a {
        display: inherit;
        width: intrinsic;
        width: -moz-max-content;
        width: -webkit-max-content;
        height: var(--font-size-menu);
        padding: 0 0 var(--item-underline-distance);
        color: var(--font-color-header-neg);
        font-size: var(--font-size-menu);
        font-weight: var(--font-weight-menu-neg);
        letter-spacing: var(--letter-spacing-menu);
        text-decoration: none;
        border-collapse: collapse;
        text-transform: var(--text-transform-menu);
        opacity: var(--opacity-menu-elements-neg);
        line-height: 1;
        border-bottom: var(--item-underline-height) solid transparent;
        white-space: nowrap;
    }
    .menubar > ul > li.current-menu-item > a,
    .menubar > ul > li.current-menu-item:hover > a,
    .menubar > ul > li.current-menu-parent > a,
    .menubar > ul > li.current-menu-parent:hover > a {
        border-bottom: var(--item-underline-height) solid var(--menu-underline-current-neg);
    }
    .menubar > ul > li:not(.current_page_item):not(.current_page_parent):hover > a {
        opacity: var(--opacity-menu-elements-neg-hover);
        color: var(--font-color-header-neg-hover);
        border-bottom: var(--item-underline-height) solid var(--menu-underline-neg-hover);
    }
    .menubar > ul > li.menu-item-has-children {
        padding-bottom: var(--submenu-distance);
    }
    .menubar > ul > li.menu-item-has-children > a:after {
        content: " ▾";
    }
    .menubar > ul > li > ul {
        position: absolute;
        width: intrinsic;
        width: -moz-max-content;
        width: -webkit-max-content;
        height: intrinsic;
        height: -moz-max-content;
        height: -webkit-max-content;
        margin: 0 0 0 -20px;
        padding: 0;
        top: calc((var(--header-height) + var(--font-size-menu)) / 2 + var(--submenu-distance));
        opacity: 0;
        list-style-type: none;
        list-style-image: none;
        overflow: hidden;
    }
    .menubar > ul > li:hover > ul {
        opacity: 1;
    }
    .menubar > ul > li > ul > li {
        height: 0;
        background-color: var(--background-submenu);
        border-left: 1px solid transparent;
        border-right: 1px solid transparent;
    }
    .menubar > ul > li:hover > ul > li {
        height: calc(var(--font-size-submenu) + 4px + 20px);
        border-left: var(--submenu-border);
        border-right: var(--submenu-border);
    }
    .menubar > ul > li:hover > ul > li:first-child,
    .menubar > ul > li:hover > ul > li:last-child {
        height: calc(var(--font-size-submenu) + 4px + 30px) !important;
    }
    .menubar > ul > li:hover > ul > li:first-child {
        border-top: var(--submenu-border);
    }
    .menubar > ul > li:hover > ul > li:last-child {
        border-bottom: var(--submenu-border);
    }
    .menubar > ul > li > ul > li > a {
        height: 0;
        font-weight: var(--font-weight-submenu);
        font-size: var(--font-size-submenu);
        letter-spacing: var(--letter-spacing-menu);
        text-align: left;
        text-decoration: none;
        display: table-cell;
        border-collapse: collapse;
        text-transform: var(--text-transform-menu);
        color: var(--font-color-submenu);
        letter-spacing: var(--letter-spacing-submenu);
        opacity: 0;
        padding: 0 20px;
        line-height: 0;
        white-space: nowrap;
    }
    .menubar > ul > li:hover > ul > li > a {
        height: var(--font-size-submenu);
        padding: 10px 20px;
        line-height: 20px;
        opacity: var(--opacity-submenu-elements);
    }
    .menubar > ul > li:hover > ul > li:first-child a {
        padding-top: 20px !important;
    }
    .menubar > ul > li:hover > ul > li:last-child a {
        padding-bottom: 20px !important;
    }
    .menubar > ul > li > ul > li:hover > a {
        opacity: var(--opacity-submenu-elements-hover);
        color: var(--font-color-submenu-hover);
        padding: 10px 18px 10px 22px;
    }

    /* if svg */

    html[data-scroll="0"] body.svg_menu_desktop #header {
        height: calc(var(--header-height) + var(--svg-height));
    }

    /* if transp header */

    body.transp_header_desktop #header {
        background: none;
    }
    body.transp_header_desktop #c_wrap {
        margin-top: 0;
    }

    /* Fixed menu width */

    body.header_fixed_width #header-wrapper {
        width: var(--header-fixed-width);
        max-width: calc(100% - 50px);
        padding: 0 25px;
    }
    body.header_fixed_width .menubar > ul {
        float: right;
    }

    /* not top */

    html:not([data-scroll="0"]) #header {
        background: rgba(255, 255, 255, 0.95);
        -webkit-box-shadow: var(--header-scroll-shadow-bottom); /* effect */
        -moz-box-shadow: var(--header-scroll-shadow-bottom); /* effect */
        box-shadow: var(--header-scroll-shadow-bottom); /* effect */
    }
    html:not([data-scroll="0"]) #logo {
        background: var(--logo-desktop);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    html:not([data-scroll="0"]) .menubar > ul > li > a {
        opacity: var(--opacity-menu-elements);
        font-weight: var(--font-weight-menu);
        color: var(--font-color-header);
    }
    html:not([data-scroll="0"]) .menubar > ul > li > a {
        color: var(--font-color-header);
        font-weight: var(--font-weight-menu);
        opacity: var(--opacity-menu-elements);
    }
    html:not([data-scroll="0"]) .menubar > ul > li.current-menu-item > a,
    html:not([data-scroll="0"]) .menubar > ul > li.current-menu-item:hover > a,
    html:not([data-scroll="0"]) .menubar > ul > li.current-menu-parent > a,
    html:not([data-scroll="0"]) .menubar > ul > li.current-menu-parent:hover > a {
        border-bottom: var(--item-underline-height) solid var(--menu-underline-current);
    }
    html:not([data-scroll="0"]) .menubar > ul > li:not(.current_page_item):not(.current_page_parent):hover > a {
        opacity: var(--opacity-menu-elements-hover);
        color: var(--font-color-header-hover);
        border-bottom: var(--item-underline-height) solid var(--menu-underline-hover);
    }

    /* Featured image */
    html[data-scroll="0"] body.transp_header_desktop #header {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
        border: none;
    }
    html[data-scroll="0"] body.transp_header_desktop .menubar > ul > li > a {
        text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.5);
    }
    html[data-scroll="0"] body.transp_header_desktop .m-button:hover > * {
        box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.7);
    }
    /* both */
    body.transp_header_desktop #c_wrap {
        margin-top: 0;
    }
    body.transp_header_desktop #content {
        margin-top: 50px !important;
    }
    body.transp_header_desktop #header-image {
        overflow: hidden;
        position: relative;
    }
    body.transp_header_desktop #header-image:before {
        background: var(--feat-img-overlay);
        content: "" !important;
        left: 0;
        top: 0;
        position: absolute;
        height: 100%;
        width: 100%;
        z-index: 1;
    }
    body.transp_header_desktop #header-image img {
        height: auto;
        width: 100vw;
        z-index: -999;
        top: 50%;
        position: absolute;
        transform: translateY(-50%);
    }

    /* Menu back button */
    html[data-scroll="0"] #mainsite-back-button {
        position: absolute;
        top: 0;
        left: 20px;
        height: var(--header-height);
        width: 80px;
        background-image: url(../images/zurueck.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100%;
        transition: transform 0.3s;
        -o-transition: transform 0.3s;
        -ms-transition: transform 0.3s;
        -moz-transition: transform 0.3s;
        -webkit-transition: transform 0.3s;
    }
    html[data-scroll="0"] #mainsite-back-button:hover {
        transform: translateX(-5px);
    }
}

/* MOBILE MENU */

@media screen and (max-width: 999px) {
    #header {
        position: fixed;
        width: 100%;
        height: calc(2.1vw + var(--header-height-mobile));
        background: var(--background-header-neg);
        top: 0;
        z-index: 999;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }
    #header-wrapper {
        display: flex;
    }
    #logo {
        width: calc(100vw + 0.1 * var(--m_button-size) - 2 * var(--header-height-mobile) - 2 * var(--logo-margin-mobile));
        height: calc(var(--header-height-mobile) - 2 * var(--logo-margin-mobile));
        margin: var(--logo-margin-mobile);
        padding: 0;
        background: var(--logo-mobile);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    body:not(.m_menu-active) #logo {
        background: var(--logo-mobile-neg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .menubar {
        padding-top: var(--header-height-mobile);
        width: 100%;
        background: var(--background-m_menu);
        position: fixed;
        top: 0;
        overflow: scroll;
        z-index: -1;
    }
    .menubar > ul {
        list-style-type: none;
        list-style-position: outside;
        padding: 20px 0 0;
        margin: 0;
    }
    .menubar > ul > li {
        padding: 10px 0;
        margin: 0 40px;
        border-bottom: var(--m_menu-border-thickness) solid var(--m_menu-border-color);
        overflow: hidden;
        /* fade in effect */
        height: 0;
        opacity: 0;
    }
    .menubar > ul > li:last-child {
        border-bottom: none;
    }
    .menubar > ul > li > a {
        color: var(--font-color-header);
        text-align: left;
        font-size: var(--font-size-m_menu);
        opacity: 0.8;
        line-height: 1;
        width: 100%;
        display: block;
    }
    .menubar > ul > li.menu-item-has-children > a:after {
        float: right;
        padding-right: 10px;
        content: "▾";
        font-size: 18px;
    }
    .menubar > ul > li > ul {
        list-style-type: none;
        list-style-position: outside;
        padding: 10px 10px 0;
        margin: 0;
    }
    .menubar > ul > li > ul > li {
        height: 0;
        padding: 0;
        opacity: 0;
        margin: 0;
        line-height: 1;
    }
    .menubar > ul > li.show-submenu > ul > li {
        height: var(--font-size-m_submenu);
        padding: 6px 0;
        opacity: 1;
    }
    .menubar > ul > li > ul > li > a {
        color: var(--font-color-header);
        font-size: var(--font-size-m_submenu);
        opacity: 0.6;
        line-height: 1;
    }
    .menubar > ul > li > a[href]:active,
    .menubar > ul > li > a[href]:hover,
    .menubar > ul > li > ul > li > a:active,
    .menubar > ul > li > ul > li > a:hover {
        color: var(--akzent-color);
        margin-left: 5px;
    }

    /* Mobile Menu Slide-in */

    body.m_menu-active {
        height: 100vh;
        overflow-y: hidden;
    }
    body.m_menu-active #header {
        position: fixed !important;
        background: none;
    }
    body.m_menu-active #logo {
        height: 50px;
    }
    body.m_menu-active .menubar {
        height: calc(100% - var(--header-height-mobile) - var(--m_menu-border-thickness));
    }
    body:not(.m_menu-active) .menubar {
        height: 0px;
        padding: 0 !important;
    }
    body.m_menu-active .menubar > ul > li {
        height: 0;
        opacity: 0;
    }
    body.m_menu-active .menubar > ul > li {
        height: calc(var(--font-size-m_menu) + 3px);
        opacity: 1;
    }

    /* Featured image */

    html[data-scroll="0"] body.transp_header_mobile:not(.m_menu-active) #header {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
        border: none;
        height: calc(1.5 * var(--header-height-mobile));
    }
    html[data-scroll="0"] body.transp_header_mobile:not(.m_menu-active) #logo {
        height: 50px;
    }
    html[data-scroll="0"] body.transp_header_mobile .menubar {
        position: absolute;
        top: 0;
        z-index: -1;
    }
    html[data-scroll="0"] body.transp_header_mobile.m_menu-active .menubar {
        height: 110vh;
        padding-top: var(--header-height-mobile);
    }
    /* both */

    body.transp_header_mobile #c_wrap {
        margin-top: 0;
    }
    body.transp_header_mobile #content {
        margin-top: 50px !important;
    }
    body.transp_header_desktop #header-image:before {
        background: var(--feat-img-overlay);
        content: "" !important;
        left: 0;
        top: 0;
        position: absolute;
        height: 100%;
        width: 100%;
        z-index: 1;
    }
    body.transp_header_mobile #header-image {
        overflow: hidden;
        position: relative;
    }
    body.transp_header_mobile #header-image img {
        height: 66.666vw;
        width: 100%;
        object-fit: cover;
        z-index: -999;
        top: 50%;
        position: absolute;
        transform: translateY(-50%);
    }

    /* not top */

    #header {
        height: var(--header-height-mobile);
    }

    html:not([data-scroll="0"]) #header {
        background: var(--background-header);
        border-bottom: var(--header-border);
        -webkit-box-shadow: var(--header-scroll-shadow-bottom);
        -moz-box-shadow: var(--header-scroll-shadow-bottom);
        box-shadow: var(--header-scroll-shadow-bottom);
    }

    html:not([data-scroll="0"]) #logo {
        background: var(--logo-mobile);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }
}

/* Header SVG */

.header-svg {
    display: none;
    position: absolute;
}
body.m_menu-active .header-svg {
    display: none !important;
}
.header-svg path {
    fill: var(--background-body);
}
#header-svg-menu {
    z-index: -1;
}
#header-svg-img {
    z-index: 1;
}
#header-svg-img path {
    transform: translateY(22px);
}
@media screen and (min-width: 1000px) {
    html[data-scroll="0"] body.svg_menu_desktop #header-svg-menu {
        top: var(--header-height);
        display: block;
    }
}
@media screen and (max-width: 999px) {
    html[data-scroll="0"] body.svg_menu_mobile #header-svg-menu {
        top: var(--header-height-mobile);
        display: block;
    }
}
body.svg_img #header-svg-img {
    display: block;
}

/* SEARCH FORM */

label.screen-reader-text {
    display: none;
}
#search-wrapper {
    overflow: hidden;
    position: absolute;
}
#search-wrapper > form,
#search-wrapper > form > div {
    height: 34px;
}
#search-wrapper input {
    margin: 0 !important;
    border: 1px solid var(--lightgrey-color) !important;
}
#search-wrapper input[type="text"] {
    padding: 0 10px !important;
    border-radius: 10px 0px 0px 10px !important;
    border-right: none !important;
    width: calc(100% - 60px);
}
#search-wrapper input[type="submit"] {
    width: 40px !important;
    padding: 0 !important;
    min-width: 0px !important;
    border-radius: 0px 10px 10px 0px !important;
    border-left: none !important;
    cursor: pointer;
    background-color: var(--lightgrey-color) !important;
    background: url(../images/icons/search.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px;
}
#search-wrapper > form > div {
    display: flex;
}
body.sf-active #header-svg-menu path {
    fill: rgb(128, 128, 128) !important;
}
body.sf-active #header {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
body.sf-active #search-wrapper {
    opacity: 1;
    z-index: 10000;
}
body:not(.sf-active) #search-wrapper {
    opacity: 0;
    z-index: -10000;
}
#overlay-dark {
    background-color: black;
    position: fixed;
    top: 0;
    height: 120vh;
    width: 100vw;
    z-index: -1;
}
body.sf-active-transition #overlay-dark {
    opacity: 0.5;
    z-index: 998;
}
body:not(.sf-active) #overlay-dark {
    opacity: 0;
}
@media screen and (max-width: 999px) {
    #search-wrapper {
        padding: calc((var(--header-height-mobile) - 34px) / 2) 0;
    }
    body.sf-active #logo {
        opacity: 0;
    }
    body:not(.sf-active) #search-wrapper {
        width: 50%;
        right: 0;
    }
    body.sf-active #search-wrapper {
        right: var(--header-height-mobile);
        width: calc(100vw - 2 * var(--header-height-mobile));
    }
}
@media screen and (min-width: 1000px) {
    #search-wrapper {
        padding: calc((var(--header-height) - 34px) / 2) 0;
        left: calc(50vw - 175px);
        width: 350px;
    }
    body.sf-active #header {
        background-color: transparent;
    }
    body.sf-active #logo,
    body.sf-active .menubar,
    body.sf-active .search-button {
        transform: translate(0, -50px);
        opacity: 0 !important;
    }
}

/* POST PASSWORD FORM */

article.post-password-required > form.post-password-form > p,
article.post-password-required {
    text-align: center;
}
.post-password-form input[type="password"] {
    width: 145px;
    margin: 0 10px;
    padding: 6px 8px 6px 27px;
    background: url(../images/icons/password.png) no-repeat scroll 8px 8px;
    background-size: calc(14px * 39 / 50) 14px;
}
.post-password-form input[type="submit"] {
    position: relative !important;
    top: -1px;
}
@media screen and (max-width: 500px) {
    .post-password-form input[type="password"] {
        margin: 5px auto 0 10px;
    }
    .post-password-form input[type="submit"] {
        margin: 15px auto 0 !important;
    }
}

/* CONTENT */

@media screen and (min-width: 1000px) {
    body.hide_title_desktop header {
        display: none;
    }
    body.hide_title_desktop #content {
        margin-top: 0 !important;
    }
}
@media screen and (max-width: 999px) {
    body.hide_title_mobile header {
        display: none;
    }
    body.hide_title_mobile #content {
        margin-top: 0 !important;
    }
}
#c_wrap {
    width: 100%;
    margin: calc(var(--div-space) + 20px + var(--header-height)) 0 var(--div-space);
}
@media screen and (max-width: 999px) {
    #c_wrap {
        margin: calc(var(--div-space) + var(--header-height-mobile)) 0 var(--div-space);
    }
}
body.elementor-page header {
    margin: 0 25px;
}
/* fallback for non elementor based sites */
body:not(.elementor-page) #content {
    max-width: var(--content-width);
    background-color: var(--background-content);
    margin: 0 auto;
    width: calc(100% - 50px);
    display: table;
}

/* CONTENT BOXES */

.content-box-wrapper {
    padding: 30px;
    border: 1px solid var(--lightgrey-color);
    margin: 20px;
}
.content-box-wrapper h3 {
    margin-top: 0;
}
a .content-box-wrapper:hover {
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
.content-box-icon,
.content-box-icon * {
    -webkit-box-sizing: content-box !important;
    box-sizing: content-box !important;
}
.content-box-icon {
    width: 50px !important;
    height: 50px !important;
    padding: 5px;
    background-color: var(--background-body);
    position: absolute !important;
    right: 0;
}
.content-box-icon i {
    color: white;
    background-color: var(--akzent-color);
    text-align: center;
    width: 50px !important;
    height: 50px !important;
    line-height: 50px !important;
    font-size: 30px;
}
@media screen and (max-width: 767px) {
    .content-box-icon {
        right: 10px;
    }
    .content-box-wrapper {
        margin-left: 0;
        margin-right: 0;
    }
    .content-box-wrapper h3 {
        margin-right: 40px;
    }
}

/* SEARCH RESULT PAGE */

.search-box-wrapper {
    position: relative;
    overflow: auto;
}
mark {
    background-color: transparent;
    border-bottom: 2px solid var(--akzent-color);
}
/* far : 400 */
/* fas : 900 */
.type-location > a > .search-box-wrapper > .content-box-icon > i:before {
    content: "\f5a0";
    font-weight: 900;
}
.type-event > a > .search-box-wrapper > .content-box-icon > i:before {
    content: "\f133";
    font-weight: 400;
}
.search-result-domain {
    font-size: 14px;
    color: var(--font-color);
    transform: translate(-30px, 7px);
    opacity: 0.8;
    position: absolute;
    right: 0;
}

/* FOOTER */

#footer-bar {
    width: 100%;
    overflow: hidden;
    background: var(--background-footer);
    min-height: var(--footer-height);
    font-family: var(--font-menu);
    border-top: var(--footer-border);
}
body:not(.elementor-editor-active) #footer-bar.to-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
#footer {
    margin: 0 auto;
}
#footer > ul {
    white-space: nowrap;
    overflow: auto;
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: center;
    line-height: calc(var(--footer-height) - 4px);
}

#footer > ul > li {
    display: inline;
    padding: 0;
    position: relative;
    margin: 0 10px;
}

#footer > ul > li > a {
    display: table-cell;
    width: auto;
    text-transform: var(--text-transform-footer);
    letter-spacing: var(--letter-spacing-footer);
    font-weight: var(--font-weight-footer);
    line-height: var(--footer-height);
    padding: 0 0 var(--item-underline-distance);
    color: var(--font-color-footer);
    font-size: var(--font-size-menu);
    opacity: 0.7 !important;
}

#footer > ul > li > a,
#footer > ul > li:hover > a {
    background-color: transparent !important;
    font-size: var(--font-size-footer) !important;
    line-height: normal !important;
    border-bottom: var(--item-underline-height) solid transparent;
}

#footer > ul > li:hover > a {
    border-bottom: var(--item-underline-height) solid var(--menu-underline-hover);
    opacity: 1 !important;
}

/* FOOTER MOBILE */

@media screen and (max-width: 700px) {
    :root {
        --social-button-size: 20px;
    }
    #footer > ul > li {
        margin: 0 5px;
    }
}

/* CUSTOM CLASSES */

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .hide-on-tablet {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .hide-on-mobile {
        display: none;
    }
}
