/*
Theme Name: FGR Basic Theme
Theme URI: http://fgr.design/
Description: Das FGR Basic-Theme wurde eigens für FGR Kunden entwickelt. Es bedarf keinerlei zusätzliche Lizenz, jedoch darf die Gestaltung die durch die FGR vorgegeben wurde nicht verändert werden - es erlischt umgehend das Nutzungsrecht. Inhaltliche Änderungen dürfen selbstverständlich getätigt werden. Im Zweifelsfall steht die <a href="http://fgrepublik.com/">Freie Gestalterische Republik</a> jederzeit bereit, um Fragen zu beantworten.
Author: der Freien Gestalterischen Republik
Author URI: http://fgr.design/
Version: 1.3.4
License: Keine Nutzung ohne vorherige Absprache erlaubt.
License URI: license.txt
Tags: FGR, basic, Widgetfähig, Menü, Responsive
*/

/* #####################################################

1.1 Viewport
1.2 Variablen
1.3 Hauptdeklarationen
1.4 Typografie & Globale Elemente
1.5 Globale Klassen

2.1 Header
2.2 Hauptnavigation - Wrap & Burgericon
2.3 Menü

3.1 Flexible Content

4.1 CPTs

5.1 Footer
5.2 Footermenü

5.1 Plugins
5.2 Contactform 7

##################################################### */

/* 1.1 Viewport
##################################################### */

@-webkit-viewport {
    width: device-width;
}

@-moz-viewport {
    width: device-width;
}

@-ms-viewport {
    width: device-width;
}

@-o-viewport {
    width: device-width;
}

@viewport {
    width: device-width;
}

/* 1.2 Variablen
##################################################### */

:root {
    --app-height: 100%;
}


body {
    /*colors*/
    --lightColor: #fff;
    --lightGray: #EAEAE5;
    --darkGray: #808080;
    --darkerGray: #606060;
    --darkColor: #0B1215;
    --primaryColor: #5881C1;
    --shadedPrimaryColor: #43699f;
    --secondaryColor: #FBBA00;
    --shadedSecondaryColor: #eaad05;
    --tertiaryColor: #C46E29;
    --shadedTertiaryColor: #af6847;
    --quaternaryColor: #A6B22E;

    /*Font-Sizes*/
    --primaryHead: 3.8125rem;
    --secondaryHead: 2.4375rem;
    --tertiaryHead: 1.5625rem;
    --quaternaryHead: 1.3125rem;
    --quinaryHead: 1.3125rem;
    --paragraphs: 1.5625rem;
    --smallerParagraphs: 1.25rem;
    --btnFS: 1.25rem;
    --smallFS: 1.125rem;
    --smallerFS: 1rem;
    --menuFS: 1.25rem;
}

@media screen and (max-width: 991px) {
    body {
        --primaryHead: 2.625rem;
        --secondaryHead: 1.875rem;
        --tertiaryHead: 1.3125rem;
        --quaternaryHead: 1.25rem;
        --quinaryHead: 1.25rem;
        --paragraphs: 1.25rem;
        --smallerParagraphs: 1.1875rem;
        --btnFS: 1.0625rem;
        --smallFS: 1rem;
        --smallerFS: 0.9325rem;
        --menuFS: 1.3875rem;
    }
}

/* 1.3 Hauptdeklarationen
##################################################### */
* {
    outline: none;
}

html, body {
    height: 100%;
}

body {
    line-height: 1;
    overflow: overlay;
    color: var(--darkColor);
    background-color: var(--lightGray);
}

@media screen and (max-width:991px) {
    body.no-scroll {
        overflow: hidden;
    }
}

#overallwrap {
    display: flex;
    flex-wrap: wrap;
    row-gap: 0px;
    width: 100%;
    overflow: hidden;
    min-height: 100%;
    margin: 0 auto;
}

header {
    flex: 0 0 100%;
    transition: 0.5s all;
    z-index: 12;
}

#contentwrap {
    flex: 0 0 100%;
}

body:not(.home) #contentwrap {
    margin-top: 120px;
}

@media screen and (max-width:991px) {
    body:not(.home) #contentwrap {
        margin-top: 60px;
    }
}

/* 1.4 Typografie & Globale Elemente
##################################################### */

html, body, h1, h2, h3, h4, h5, p, ul, ol {
    margin: 0px;
    padding: 0px;
}

.BGhead {
    background: none repeat scroll 0 0;
    box-decoration-break: clone !important;
    padding: 0px 7.5px;
    -webkit-box-decoration-break: clone !important;
    display: inline !important;
    line-height: 1.325 !important;
    /*filter: drop-shadow( 0 4px 8px rgba(0, 0, 0, 0.25));*/
}

.BGhead+p,
.BGhead+div>p,
h1.BGhead+div>h2,
h2.BGhead+div>h2,
h1.BGhead+div>h3,
h2.BGhead+div>h3,
h1.BGhead+div>h4,
h2.BGhead+div>.h4 {
    margin-top: 15px;
}



.BGhead.BGprimaryColor {
    box-shadow: 0px 0px 0 0px var(--primaryColor),
        0px 0px 0 0px var(--primaryColor),
        0 0 0 0px var(--primaryColor);

}

h1, .h1 {
    font: normal 600 var(--primaryHead) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.125;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.75px;
}

h2, .h2 {
    font: normal 600 var(--secondaryHead) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.125;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.75px;
}

h3, .h3 {
    font: normal 600 var(--tertiaryHead) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.325;
    margin-bottom: 15px;
    text-transform: uppercase;
}

h4, .h4 {
    font: normal 700 var(--quaternaryHead) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.33;
    text-transform: uppercase;
}

h5, .h5 {
    font: 700 normal var(--quinaryHead) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.75 !important;
    text-transform: uppercase;
}

p {
    line-height: 1.5 !important;
    font: 400 normal var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif;
}

p.smallerParagraphs,
.smallerParagraphs p {
    line-height: 1.5 !important;
    font-size: var(--smallerParagraphs) !important;
}

#contentwrap ul li,
#contentwrap ol li {
    font: 400 normal var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 1.5;
}

#contentwrap ol li {
    font-weight: 700;
}

#contentwrap ul {
    list-style-type: none;
}

p strong {
    font-weight: 600;
}

sup {
    font-size: 70% !important;
}

a {
    text-decoration: none;
    transition: 0.35s all;
    cursor: pointer;
    pointer-events: auto;
    cursor: hand;
    position: relative;
    z-index: 2;
}

a:hover {
    cursor: pointer;
}

blockquote {
    border-left: 8px solid var(--primaryColor);
    margin-left: 0;
    color: var(--primaryColor);
    padding: 6.5px 0 8.5px 25px;
    margin-bottom: 15px;
}

#contentwrap section {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media screen and (max-width:991px) {
    #contentwrap section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    blockquote {
        border-left: 6px solid var(--primaryColor);
        padding: 6.5px 0 6.5px 20px;
        margin-bottom: 20px;
    }
}

/* 1.5 Globale Custom Klassen (Paddings, Colors, Display Elemente)
##################################################### */

/*Paddings*/
.p-0 {
    padding: 0px !important;
}

.p-r-0 {
    padding-right: 0px !important;
}

.p-h-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.p-v-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.p-t-0 {
    padding-top: 0px !important;
}

.p-b-0 {
    padding-bottom: 0px !important;
}

.p-t-small {
    padding-top: 30px !important;
}

.p-t-large {
    padding-top: 60px !important;
}

.p-b-small {
    padding-bottom: 30px !important;
}

.p-b-large {
    padding-bottom: 60px !important;
}

@media screen and (max-width:991px) {
    .p-t-small {
        padding-top: 20px !important;
    }

    .p-t-large {
        padding-top: 40px !important;
    }

    .p-b-small {
        padding-bottom: 20px !important;
    }

    .p-b-large {
        padding-bottom: 40px !important;
    }
}

/*Height*/
.h-100 {
    height: 100%;
}

/*Width*/
.w-100 {
    width: 100%;
}

/*Positions*/
.p-r {
    position: relative !important;
}

.p-a {
    position: absolute !important;
}

/*Colors*/
.TextprimaryColor {
    color: var(--primaryColor) !important;
}

.TextsecondaryColor {
    color: var(--secondaryColor) !important;
}

.TexttertiaryColor {
    color: var(--tertiaryColor) !important;
}

.TextquaternaryColor {
    color: var(--quaternaryColor) !important;
}

.TextlightColor {
    color: var(--lightColor) !important;
    border-color: var(--lightColor) !important;
}

.TextdarkColor {
    color: var(--darkColor) !important;
}

.TextdarkGray {
    color: var(--darkGray) !important;
    transition-delay: 0.25s;
}

.BGlightColor {
    background-color: var(--lightColor);
}

.BGlightGray {
    background-color: var(--lightGray);
}

.BGprimaryColor {
    background-color: var(--primaryColor);
    color: var(--lightColor);
}

.BGsecondaryColor {
    background-color: var(--secondaryColor);
    color: var(--lightColor);
}

.BGtertiaryColor {
    background-color: var(--tertiaryColor);
    color: var(--lightColor);
}

.BGquaternaryColor {
    background-color: var(--quaternaryColor);
    color: var(--lightColor);
}

.BGprimaryColor h1, .BGprimaryColor h2, .BGprimaryColor h3, .BGprimaryColor h4,
.BGsecondaryColor h1, .BGsecondaryColor h2, .BGsecondaryColor h3, .BGsecondaryColor h4,
.BGtertiaryColor h1, .BGtertiaryColor h2, .BGtertiaryColor h3, .BGtertiaryColor h4,
.BGquaternaryColor h1, .BGquaternaryColor h2, .BGquaternaryColor h3, .BGquaternaryColor h4 {
    color: var(--lightColor);
}

.BGdarkColor {
    background-color: var(--darkColor);
    color: var(--lightColor);
}

/*Display Elemente */
body .d-none {
    display: none;
}

body .d-inlineblock {
    display: inline-block;
}

@media screen and (max-width:991px) {
    .md-off {
        display: none !important;
    }

    .md-block {
        display: block !important;
    }
}

@media screen and (max-width:767px) {
    .sm-off {
        display: none !important;
    }

    .sm-block {
        display: block !important;
    }
}

@media screen and (max-width:624px) {
    .xs-off {
        display: none !important;
    }
}

/*Screenreader*/
.sr-only,
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/*Images*/

svg,
svg:hover,
svg path,
svg path:hover,
svg rect,
svg rect:hover {
    transition: 0.35s all;
}

.full-width-img {
    width: 100%;
    height: auto;
    line-height: 1;
}

.img-wrap {
    display: flow-root;
    position: relative;
    overflow: hidden;
}

.img-wrap::before {
    content: '';
    float: left;
    padding-bottom: 56.25%;
}

.img-wrap.wrap-lm::before {
    content: '';
    float: left;
    padding-bottom: 50%;
}

.img-wrap.wrap-pm::before {
    padding-bottom: 141% !important;
}

.img-wrap.wrap-square::before {
    content: '';
    float: left;
    padding-bottom: 100%;
}

.img-wrap img,
img.stretch-parent {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}

img.alignright, .wp-caption.alignright {
    float: right;
    margin: 7.5px 0 22.5px 30px;
    display: inline;
}

img.alignleft, .wp-caption.alignleft {
    float: left;
    margin: 7.5px 30px 22.5px 0;
    display: inline;
}

img.aligncenter, .wp-caption.aligncenter {
    display: block;
    margin: 0px 0px 30px 0;
    margin-left: auto;
    margin-right: auto
}

a img.alignright {
    float: right;
    margin: 7.5px 0 22.5px 30px
}

a img.alignleft {
    float: left;
    margin: 7.5px 30px 22.5px 0
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption-text {
    margin-top: 0px !important;
    margin-left: 10px !important;
    text-align: left;
    color: var(--darkGray);
    font: 400 normal var(--smallFS) "jaf-bernina-sans-condensed", sans-serif;
}

.wp-caption {
    margin: 50px 0;
    max-width: 100%;
}

.wp-caption img {
    height: auto !important;
}

.gallery {
    margin-bottom: 25px !important;
    margin-top: 25px !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    width: calc(100% + 20px) !important;
}

.gallery a {
    display: contents;
}

.gallery-item {
    margin: 0 !important;
}

.gallery-item>dt {
    position: relative;
    padding-bottom: 75%;
}

.gallery-item img {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    left: 0;
    top: 0;
    object-fit: cover;
}

.gallery-item img {
    border-color: rgba(0, 0, 0, 0) !important;
    margin: 0 !important;
    border-width: 10px !important
}

@media screen and (max-width:991px) {
    .gallery-item {
        width: 50% !important;
    }
}

@media screen and (max-width:767px) {
    .gallery-item {
        width: 100% !important;
    }
}

/**/
.video-wrap {
    position: relative;
    padding-bottom: 56.25%;
    width: 100%;
}

.video-wrap iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    border: none;
    left: 0;
    /* opacity: 0.9;*/
}

/*Maps*/
.map-wrap {
    position: relative;
    padding-bottom: 42.85%;
    width: 100%;
}

.map-wrap iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /* opacity: 0.9;*/
}

.disable_scrollwheel iframe {
    pointer-events: none;
}

/* Box */

.box {
    padding: 20px;
}

@media screen and (max-width:991px) {
    .box {
        padding: 15px;
    }
}

/*Textausrichtung*/
.center {
    text-align: center;
}

/* Lists */

#contentwrap ul li {
    padding-left: 10px;
    position: relative;
}

#contentwrap ol {
    margin-left: 0px;
}

#contentwrap ol li {
    list-style-position: inside;
    padding: 0;
    position: relative;
}

#contentwrap ul li:before {
    content: "• ";
    display: inline-block;
    position: absolute;
    left: 0;
    top: -1px
}

/*Buttons*/
.btn {
    padding: 20px 15px;
    min-height: 50px;
    max-height: 50px;
    font: normal 700 var(--btnFS) "jaf-bernina-sans-condensed", sans-serif !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-size: 100% 200%;
    cursor: pointer;
    transition: background-position .35s ease-in,
        color .35s linear;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    position: relative;
    text-transform: uppercase;
}

.btn-primary {
    color: var(--darkColor);
    background-image: linear-gradient(to bottom, var(--secondaryColor) 50%, var(--shadedSecondaryColor) 50%);
}

.btn-secondary.btn {
    background-image: linear-gradient(to bottom, var(--primaryColor) 50%, var(--shadedPrimaryColor) 50%);
}

.btn:hover {
    background-position: -50% -100%;
}

@media screen and (max-width:991px) {
    .btn {
        padding: 15px 12.5px;
        min-height: 52px;
        max-height: 100%;
        display: inline-flex;
        align-content: center;
    }
}

.text-btn {
    font: normal 700 var(--btnFS) "jaf-bernina-sans-condensed", sans-serif !important;
    border-bottom: 2px solid var(--darkColor);
    color: var(--darkColor);
    padding-bottom: 5px;
    display: inline-flex;
    align-items: center;
    margin-top: 25px;
    transition: 0.35s all;
    text-transform: uppercase;
    justify-content: space-between;

}

.text-btn:hover {
    opacity: 0.5;
}

.text-btn:after {
    content: " ➔";
    font-size: 1.0625rem;
    display: block;
    margin-left: 5px;
}

@media screen and (max-width:991px) {
    .text-btn {
        margin-top: 20px;
    }

    .text-btn:after {
        content: " ➔";
        font-size: 0.85rem;
    }
}

/* Image Platzhalter */
.col-mobile-height {
    min-height: 600px;
}

@media screen and (max-width:767px) {
    .col-mobile-height {
        min-height: 425px;
    }
}

/* Shadow */
.shadow {
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1);
}


/* Shadow */
@media screen and (max-width:991px) {
    #bildmarke {
        width: 100px;
        height: auto;
    }
}


/*Toggle*/

.toggle-head {
    font: 300 normal var(--smallerParagraphs) "jaf-bernina-sans-condensed", sans-serif;
    display: inline-block;
    color: var(--darkColor);
    margin: 10px 0 0 0;
    border-bottom: 1px dotted var(--primaryColor);
    cursor: pointer;
}

.toggle-head:hover {
    color: var(--primaryColor)
}

.toggle-content {
    display: none;
    padding: 17.5px 0px 0px 0px;
    width: 100%;
}

.toggle-content.text p:not(:last-of-type),
.toggle-content.text ul {
    margin-bottom: 10px;
    hyphens: auto;
}

.toggle-head.active span:first-of-type,
.toggle-head:not(.active) span:last-of-type {
    opacity: 0;
    width: 0px;
    font-size: 0px;
    pointer-events: none;
}

/* 3.1 Flexible Content
##################################################### */

/*Text*/
.text .row {
    align-items: center;
}

.text img:not(.stretch-parent):not(.full-width-img) {
    max-width: 100%;
    height: auto;
    margin: 0px 0 30px 0;
}

.text p:not(:last-of-type):not(:has(img)),
.text ul,
.text ol {
    margin-bottom: 25px;
}

.text p:last-of-type+ul,
.text p:last-of-type+ol {
    margin-top: 25px;
}

.text p a:not(:has(svg)) {
    color: var(--darkColor);
    border-bottom: 1px dotted var(--darkColor);
}

.text p a:not(:has(svg)):hover {
    opacity: 0.5;
}

.text p a:has(img) {
    border: none;
}

@media screen and (max-width:991px) {

    .text p:not(:last-of-type):not(:has(img)),
    .text ul,
    .text ol {
        margin-bottom: 20px;
    }

    .text p:last-of-type+ul,
    .text p:last-of-type+ol {
        margin-top: 20px;
    }

    .text img:not(.stretch-parent):not(.full-width-img) {
        margin: 0px 0 20px 0;
    }
}

/*Hero*/

.hero .fade-slider {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.hero .fade-slider:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 33%;
    background-image: linear-gradient(to top, var(--lightGray) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
    pointer-events: none;
}

.hero {
    position: relative;
    width: 100%;
    aspect-ratio: 2/1;
}

.hero-intro.hero .container,
.hero-intro.hero .container .row {
    height: 100%;
    align-items: center;
}

.hero-intro.hero .container {
    padding-bottom: 85px;
}

.hero-intro.intro {
    margin-top: -85px;
    z-index: 1;
    position: relative;
}

.hero-intro.intro .row {
    align-items: flex-start !important;
}

.intro .box .h1,
.intro .box h2 {
    margin-bottom: 0 !important;
}

.intro .box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

.intro .box.BGlightColor {
    aspect-ratio: 1/1;
}

.intro .box p {
    font-weight: 700;
    margin-top: -12.5px;
}

.intro .box h2 {
    margin-top: 60px !important;
}


.intro .box {
    margin-bottom: 30px;
}

@media screen and (max-width:767px) {
    .hero {
        aspect-ratio: 1/1;
    }

    .hero .img-wrap.wrap-lm IMG {
        object-position: center right;
    }

    .hero .img-wrap.wrap-lm:before {
        padding-bottom: 100%;
    }


    .intro .box {
        margin-bottom: 0px;
        margin-top: 30px;

    }
}

/* Blogfeed */
.blogfeed .blogfeed-intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.blogfeed .blogfeed-intro h2 {
    margin-bottom: 0;
}

/* Projektefeed */
.projektefeed .img-wrap:before {
    padding-bottom: 100% !important;
}

@media screen and (max-width:767px) {
    .projektefeed .cpt-item:first-of-type {
        margin-top: 45px;
    }
}

.projekte-links {
    margin-top: 30px;
}

/**/

.hefte-feed h1:not(.BGhead),
.hefte-feed h2:not(.BGhead) {
    font-weight: 400;
    text-transform: none;
    margin-top: 10px;
}

.hefte-feed .h3 {
    margin-bottom: 0;
    margin-top: -2.5px !important;
}


.hefte-feed .row>div[class^="col-"]:not(.topcol) {
    margin-top: 15px;
    margin-bottom: 15px;
}


.hefte-feed .smallerParagraphs p {
    font-size: var(--smallerFS) !important;
}

.hefte-feed .toggle-content .text-btn {
    transform: scale(0.8);
    transform-origin: top left;
    margin-top: 17.5px;
}

@media screen and (max-width:767px) {
    .hefte-feed .row>div[class^="col-"]:not(.topcol):last-of-type {
        margin-bottom: 0px;
    }

    .topcol.p-h-0 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .topcol .box {
        padding-bottom: 30px;
    }

    .topcol .img-wrap {

        width: calc(100% + 30px);
    }
}

/*all-to-action*/

.call-to-action svg {
    float: right;
    margin: 5px;
}

.call-to-action .row {
    margin: 0;
}

.call-to-action .text-btn {
    margin-top: 0;
    margin-bottom: 5px;
}

@media screen and (max-width:767px) {
    .call-to-action svg {
        float: right;
        width: 120px;
        height: 120px;
        margin: 0px 5px 20px 5px;
    }
}

/* Accordion-Section */

.akkordion-gruppe h2+ul.accordion {
    margin-top: 30px;
}

ul.accordion {
    margin-bottom: 0px;
    margin-top: 0px;
}

#contentwrap .accordion ul {
    list-style: none !important;
    padding: 0;
}

#contentwrap ul.accordion>li::before,
#contentwrap ul.accordion ol li::before {
    display: none !important;
}

#contentwrap ul.accordion {
    margin-bottom: -10px;
}

.accordion ul .inner {
    padding: 15px 45px 15px 45px;
    overflow: hidden;
    display: none;
    margin-bottom: 0px;
}

.accordion ul .inner p {
    margin-bottom: 15px;
}

#contentwrap .accordion ul.inner-list {
    margin: 10px 0px 10px 25px;
}

#contentwrap .accordion ul .inner li {
    padding-left: 0px !important;
}

#contentwrap .accordion ul .inner ul li {
    padding-left: 16.5px !important;
}

#contentwrap .accordion .inner ul li:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    position: absolute;
    left: 1.5px;
    top: 11px;
    display: inline-block;
    background-color: var(--lightColor);
}

.accordion ul .inner ol:first-of-type {
    margin-top: 20px;
}

.accordion ul .inner ol {
    padding-left: 25px;
}

.accordion ul .inner p:last-of-type {
    margin-bottom: 0px;
}

ul.accordion>li:before {
    display: none;
}

#contentwrap .accordion>li {
    margin: 0px 0;
    padding: 11.5px 0;
    border-top: 2px solid var(--lightColor);
    transition: 0.35s all;
}

#contentwrap .accordion>li:last-of-type {
    border-bottom: 2px solid var(--lightColor);
}

#contentwrap .accordion ul>li a.toggle-acc {
    width: 100%;
    position: relative;
    transition: 0.35s all;
    display: block;
    color: var(--lightColor);
    padding: 12.5px 50px 12.5px 15px;
    transition: background 0.3s ease;
    font: normal 600 var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif;
}

#contentwrap .accordion ul>li a.toggle-acc .icon-down {
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    height: 36px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
    transition: 0.35s all;
}

#contentwrap .accordion ul>li a.toggle-acc .icon-down svg {
    transition: 0.35s all;
    transform-origin: 50% 50%;
}

#contentwrap .accordion ul>li:hover {
    background-color: var(--shadedPrimaryColor)
}

#contentwrap .accordion ul>li:hover a.toggle-acc {
    color: var(--lightColor);
    transition: 0.35s all;
}

#contentwrap .accordion ul>li a.toggle-acc.active .icon-down svg .v-line {
    opacity: 0;
}

#contentwrap .accordion ul>li a.toggle-acc.active {
    color: var(--lightColor);
}

@media screen and (max-width:991px) {
    #contentwrap .accordion .inner ul li:before {
        width: 4px;
        height: 4px;
        top: 10px;
    }

    .accordion ul .inner {
        padding: 5px 15px 15px 15px;
    }

    #contentwrap .accordion>li {
        padding: 7.5px 0;
    }

    #contentwrap .accordion ul>li a.toggle-acc {
        padding: 12.5px 30px 12.5px 10px;
    }

    #contentwrap .accordion ul>li a.toggle-acc .icon-down {
        transform: scale(0.8);
        right: 0px;
    }

    .accordion ul .inner ol {
        padding-left: 20px;
    }

    .accordion ul .inner ol:first-of-type {
        margin-top: 12.5px;
    }

    .accordion ul.inner-list {
        margin: 10px 0px 10px 20px;
    }
}

/* Highlight Liste */

.hightlight-liste h2 {
    margin-bottom: 10px;
}

.hightlight-liste ul {
    columns: 3;
    margin-top: 30px;
}

#contentwrap .hightlight-liste ul li {
    font-weight: 700;
    padding-top: 7.5px;
    padding-bottom: 7.5px;
    break-inside: avoid-column;
}

#contentwrap .hightlight-liste ul li:before {
    top: auto
}

@media screen and (max-width:991px) {
    .hightlight-liste ul {
        columns: 2;
    }
}

@media screen and (max-width:767px) {
    .hightlight-liste ul {
        columns: 1;
    }
}

/*Team*/

.team h3 {
    margin-bottom: 0px;
}

.team p.smallerParagraphs {
    margin-bottom: 0;
}

.team p.smallerParagraphs.position {
    margin-top: 3.5px;
}

.team p.smallerParagraphs.position+p {
    margin-top: 10px;
}

.team .row:not(.team-row) p:last-of-type {
    margin-bottom: 25px;
}

.team .team-row {
    margin-top: -15px;
    margin-bottom: -15px;
    align-items: initial;
}

.team .team-row>div {
    margin-top: 15px;
    margin-bottom: 15px;
}

.team .row {
    margin-left: -15px;
    margin-right: -15px;
}

.team .team-row p a {
    border: none;
    color: var(--darkColor);
}

.team .team-row p a:hover {
    color: var(--primaryColor);
}

/*Bildtext*/

.bildtext h3 {
    margin-top: 20px;
}

.bildtext p:not(:last-of-type) {
    margin-bottom: 25px;
}

.bildtext p a {
    color: var(--darklight);
    border-bottom: 1px dotted var(--lightColor);
}

.bildtext p a:hover {
    color: var(--secondaryColor);
}

.bildtext p.p-v-0 {
    margin: 7.5px 0 !important;
}

.bildtext .full-width-img {
    margin: 0 auto;
    display: block;
    max-width: calc(100% - 60px);
}

@media screen and (max-width:991px) {
    .bildtext .btn {
        margin-top: 22.5px;
    }

    .bildtext p:not(:last-of-type) {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:767px) {
    .bildtext .wrap-square {
        max-width: 200px;
    }
}

/*Icon-Boxen*/

.icon-boxen .row {
    margin-top: -7.5px;
    margin-bottom: -7.5px;
}

.icon-boxen .row>div {
    margin: 7.5px 0;
}

.icon-boxen .row>div>a {
    padding: 30px;
    display: block;

}

.icon-boxen a:hover img {
    transform: scale(1.1);
}

.icon-boxen .img-wrap {
    max-width: 100px;
    margin-bottom: 30px;
    overflow: visible;
}

.icon-boxen .img-wrap img {
    object-fit: contain;
    object-position: center bottom;
    transition: 0.35s all;
}

.icon-boxen h3 {
    margin-bottom: 0px;
}

/*Icon-Zeile*/

.icon-zeile h4 {
    margin-bottom: 2.5px;
}

.icon-zeile span {
    font: 600 normal var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif !important;
    display: block;
    text-align: center;
}

.icon-zeile a {
    display: flex;
}

.icon-wrap {
    width: 65px;
    flex: 0 0 65px;
    position: relative;
    margin-right: 20px;
}

.icon-zeile .hover-icon {
    margin: 20px 0;
}

.icon-zeile a:hover {
    opacity: 0.5;
}

.icon-zeile a {
    color: var(--darkColor);
}

.icon-zeile img.icon {
    position: absolute;
    width: 65px;
    height: 65px;
    left: 0%;
    top: 0%;
    transition: 0.35s all;
    display: inline-block;
}

.icon-zeile .row.icon-row {
    align-items: flex-start;
    margin-top: -15px;
    margin-bottom: -15px;

}

.icon-zeile .hover-icon>div {
    display: flex;
    border-bottom: 2px solid var(--darkColor);
    padding-bottom: 20px;
}

.icon-zeile .center>div span:first-of-type {
    display: block;
}

@media screen and (max-width:991px) {
    .icon-zeile img.icon {
        margin-bottom: 20px;
        width: 50px;
        height: 50px;
    }

    .icon-wrap {
        margin-right: 15px;
    }

    .icon-zeile .center>div {
        max-width: 120px;
    }
}

/*timeline*/

.timeline-wrap {
    margin-top: 45px;
    display: flex;
}

.timeline-entry {
    flex: 0 0 25%;
    border-top: 2px solid var(--lightColor);
    padding-top: 45px;
    position: relative;
}

.timeline-entry {
    padding-right: 30px;
}

.timeline-entry:last-of-type {
    padding-right: 80px;
}

.timeline-entry:before {
    content: "";
    width: 2px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--lightColor);
}

.timeline-entry:after {
    content: "";
    width: 6px;
    height: 6px;
    position: absolute;
    left: -4px;
    top: -6px;
    border: 2px solid var(--lightColor);
    border-radius: 50%;
    background-color: var(--quaternaryColor);
    z-index: 2;
}

.timeline p {
    font-size: var(--smallerParagraphs);
    line-height: 1.33;
    margin-top: 2.5px;
}


.timeline h3 {
    text-transform: none;
    font-weight: 400;
}

.timeline-scroll-section {
    overflow: scroll;
    -ms-overflow-style: none;
    /* Internet Explorer 10+ */
    scrollbar-width: none;
    /* Firefox, Safari 18.2+, Chromium 121+ */
}

.timeline-scroll-section::-webkit-scrollbar {
    display: none;
    /* Older Safari and Chromium */
}

/*Raw Code*/
@media screen and (min-width:992px) {
    section.raw-code .row {
        margin-left: -30px;
        margin-right: -30px;
    }
}

@media screen and (max-width:992px) {
    section.raw-code .box {
        width: calc(100% - 30px);
        margin: 0 15px;
    }
}

body .raw-code iframe {
    border: none;
}

/*Text Sidebar*/

.text-sidebar h1.BGhead+p,
.text-sidebar h2.BGhead+p,
.text-sidebar h1.BGhead+ul,
.text-sidebar h2.BGhead+ul,
.text-sidebar h1.BGhead+ol,
.text-sidebar h2.BGhead+ol {
    margin-top: 20px;
}

.text-sidebar .row {
    align-items: flex-start;
}

.text-sidebar .sidebar .text-btn {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width:767px) {
    .sidebar:not(:empty) {
        margin-top: 30px;
    }
}


/*Impressum, Datneschutz & Co*/
.FC-Icons {
    z-index: 1;
    margin-bottom: 30px;
}

.FC-Icons ul {
    display: flex;
    align-items: center;
    list-style-type: none !important;
}

.FC-Icons ul li {
    height: 50px;
    border-radius: 50%;
    width: 50px;
    margin-right: 15px;
    list-style-type: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static !important;
    padding: 0 !important;
}

.FC-Icons ul li::before {
    display: none !important;
}

.FC-Icons ul li a {
    line-height: 0;
}

.FC-Icons ul li:hover img {
    opacity: 0.5;
}

.FC-Icons ul li img,
.FC-Icons ul li svg {
    height: 40px;
    width: 40px;
    object-fit: contain;
    transition: 0.25s all;
}

/* Stats */

.stat-wrap {
    margin-top: -15px;
    margin-bottom: 15px;
}

.stat-wrap>div {
    margin-top: 15px;
    margin-bottom: 15px;
}

.stat-wrap.last-item-odd>div:last-of-type {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* 4. Custom Post Types (CPT)
##################################################### */

/*CPT*/
.blog.paged h1,
.category.paged h1 {
    margin-bottom: 0px !important;
}

.cpt-row {
    margin-top: -15px;
}

.icon-single {
    background-color: var(--lightColor);
    border-radius: 50%;
    width: 100px;
    height: 100px;
    position: absolute;
    right: 0;
    bottom: -50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-single img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

@media screen and (max-width:767px) {
    .icon-single {
        right: 30px;
        width: 60px;
        height: 60px;
        bottom: -30px;
    }

    .icon-single img {
        width: 40px;
        height: 40px;
    }
}

.single #contentwrap .text:last-of-type {
    padding-bottom: 75px !important;
}

.single-post #contentwrap .single-intro.text img {
    max-width: 100%;
    margin-bottom: 25px;
}

.single #contentwrap .single-intro.text h2 {
    text-transform: none;
    font-weight: 400;
    color: var(--primaryColor)
}

.single #contentwrap .single-intro.text h3 {
    text-transform: none;
    font-weight: 400;
    color: var(--primaryColor)
}

.single-post #contentwrap .biggerParagraphs li:not(:last-of-type) {
    margin-bottom: 10px;
}

.single #contentwrap .single-intro.text h4 {
    font-size: var(--paragraphs);
    color: var(--secondaryColor);
    text-transform: none;
    margin-bottom: 10px;
    font-weight: 800;
}

.single section.text:not(.single-intro) {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.single-post-meta {
    margin-top: 30px;
}

.single-post-meta p {
    font: normal 400 var(--smallFS) "jaf-bernina-sans-condensed", sans-serif;
}

@media screen and (max-width:767px) {
    .single #contentwrap .text:last-of-type {
        padding-bottom: 45px !important;
    }
}

.single .single-intro .img-wrap {
    margin: 0 0 30px 0
}

.single .single-intro h1 {
    text-transform: none;
    font-weight: 400;
}

.single .row {
    align-items: flex-start;
}

.sidebar-loop,
.projektklassifizierung {
    border-bottom: 2px solid var(--darkColor);
    padding-bottom: 20px;
}

.sidebar-loop a p:last-of-type {
    transition: 0.35s all;
}

.sidebar-loop a:hover p:last-of-type {
    opacity: 0.5;
}

.sidebar-loop .postDate,
.projektklassifizierung .mark {
    transform: none;
    margin-bottom: 10px !important;
    margin-top: 25px;
}

.sidebar-loop:first-of-type .postDate {
    margin-top: 0;
}

.sidebar-loop p:last-of-type {
    line-height: 1.25 !important;
}

#contentwrap .presse ul li:before {
    display: none;
}

#contentwrap .presse ul li {
    padding-left: 0;
}

#contentwrap .presse ul li a {
    display: flex;
    justify-content: space-between;
}

/*Post*/

.cpt-item {
    margin: 15px 0;
}

.cpt-item a {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    color: var(--darkColor);
    flex-direction: column;
    align-items: flex-start;
}

.cpt-item .img-wrap {
    width: 100%;
}

.cpt-item a img {
    transition: 0.35s all;
}

.cpt-item a .btn {
    margin-top: auto;
    transform: translateX(20px);
    margin-bottom: 20px;
}

.cpt-item h3 {
    font-weight: 400;
    text-transform: none;
    margin-bottom: 0;
}

.postDate,
.mark {
    display: inline-block;
    padding: 0 10px;
    transform: translateY(-50%);
    font-size: var(--smallFS);
}

.cpt-item .img-wrap::before {
    padding-bottom: 56.25%;
}

.cpt-item a div:nth-of-type(2) {
    padding: 0px 20px 20px 20px;
}

.cpt-item a:hover img {
    transform: scale(1.05);
}

.single .text h3 {
    color: var(--primaryColor);
}

/* 4.4 Pagination*/

.pagination-row {
    padding-top: 50px;
}

.pagination-row h4 {
    margin: 0 0 15px 15px;
}

.pagination-row .page-numbers {
    font: normal 700 var(--btnFS) "jaf-bernina-sans-condensed", sans-serif;
    width: 30px;
    color: var(--darkColor);
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 0;
    margin: 0 5px;
    border-bottom: 2px solid rgba(0, 0, 0, 0);
}

.pagination-row a.page-numbers span {
    transition: 0.35s all;
    transform: translate3d(0, 0, 0);
}

.pagination-row a.page-numbers:hover span {
    transform: translate3d(0, 0, 0);
    text-decoration: none;
    opacity: 0.5;
}

.pagination-row .page-numbers.current {
    border-bottom: 2px solid var(--darkColor);
}

.pagination-row .page-numbers.next,
.pagination-row .page-numbers.prev {
    font: normal 700 1rem "jaf-bernina-sans-condensed", sans-serif;
}

.pagination-row .page-numbers.prev {
    transform: scaleX(-1);
}

.pagination-row .nav-links {
    display: flex;
}

.pagination-row .pagination {
    display: flex;
    justify-content: center;
    width: 100%;

    padding-bottom: 0px;
}

@media screen and (max-width:767px) {
    .pagination-row h4 {
        margin: 0 0 2.5px 15px;
    }

    .pagination-row {
        padding-top: 30px;
    }
}

/*Search*/

.search-result-item {
    margin: 15px 0 60px 0;
}

.search-result-item:not(:has(p + h2)) {
    margin-bottom: 0;
    margin-top: 0;
}

.search-result-item h2 {
    font-weight: 400;
    margin-bottom: 10px;
    text-transform: none;
}

input[type="search"] {
    border: none;
    appearance: none;
    border-bottom: 2px solid var(--darkColor);
    width: 100%;
    padding: 10px 0;
    margin: 30px 0;
    background-color: rgba(0, 0, 0, 0);
    color: var(--darkColor);
    font: 700 normal var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif;
    background-repeat: no-repeat;
    background-position: right center;
}

.search-form ::placeholder {
    font: 400 normal var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif !important;
    color: var(--darkColor)
}

input[type="search"]:placeholder-shown {
    background-image: url(../_img/search-icon.svg);
}

/*Impressum & Co*/

.page-impressum h2,
.page-datenschutz h4 {
    text-transform: none;
    font-weight: 400;
}

.page-datenschutz h4 {
    font-size: var(--secondaryHead);
}

.page-impressum h2:first-of-type,
.page-datenschutz h4:first-of-type {
    margin-top: 30px;
}

/* 5. Footer
##################################################### */

footer {
    margin-top: auto;
    flex: 0 0 100%;
}

#connect {
    overflow: hidden;
}

#connect .row>div:first-of-type {
    display: flex;
    flex-wrap: wrap;

    align-items: flex-start;
}

#connect .badge {
    transition: 0.35s all;
    transform-origin: 50% 50%;
}

#connect h2 {
    margin-bottom: 10px;
}

#connect .row>div:first-of-type .FC-Icons {
    flex: 0 0 100%;
    margin-top: 20px;
}

#connect .row>div:first-of-type .btn {
    margin-top: auto;
}

#connect .row>div:first-of-type>div:first-of-type {
    flex: 0 0 100%;
}

#connect .img-wrap {
    margin-bottom: -30%;
    max-width: 285px;
    overflow: visible;
}

#connect .img-wrap img {
    transition: 0.35s all;
}

#connect .img-wrap:hover img {
    transform: translateY(-10px);
}


#connect svg {
    position: absolute;
    right: 0;
    top: 35%;
    width: 110px;
    z-index: 11;
    height: auto;
    transform: translateY(-50%) translateX(75%);
}

#footer-address {
    padding-top: 60px;
    padding-bottom: 60px;
}

#footer-nav {
    padding-top: 20px;
    padding-bottom: 20px;
}

#footer-nav .row>div {
    display: flex;
    justify-content: space-between;
}

footer p {
    font-size: var(--smallFS) !important;
    margin-bottom: 20px;
}

footer p a {
    color: var(--darkColor);
}

footer p a:hover {
    color: var(--primaryColor)
}

footer .btn svg {
    margin-left: 5px;
    transform: scale(0.875);
}

footer a:hover img {
    opacity: 0.5;
}

footer img.full-width-img {
    max-width: 250px;
    transition: 0.35s all;
}

@media screen and (max-width:991px) {
    footer img.full-width-img {
        margin-top: 30px;
    }

    footer p {
        margin-bottom: 20px;
    }
}

@media screen and (max-width:767px) {
    #footer-address {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    #connect .row>div:first-of-type .btn {
        margin-bottom:
            40px;
    }

    #footer-nav .row>div {
        justify-content: flex-start;
    }

}

/* 6. Plugins
##################################################### */


/* CF7 */
.wpcf7 {
    margin: 22.5px -15px 0px -15px;
}

.wpcf7 form {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}

.wpcf7 form p {
    padding: 0 0px;
    flex: 0 0 calc(100% - 30px);
    margin: 10px 15px !important;
}

body .wpcf7 form p.spacer {
    margin: 0px !important;
}

body .wpcf7 form h3 {
    margin: 20px 15px 15px 15px;
    flex: 0 0 100%;
}

@media screen and (min-width:768px) {
    .wpcf7 form p:not(.full) {
        flex: 0 0 calc(50% - 30px);
    }
}

.wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.wpcf7 textarea,
.wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.wpcf7 textarea,
.wpcf7 select {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    border-radius: 0px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    background-color: rgba(0, 0, 0, 0);
    appearance: none;
    padding: 0px 15px;
    margin: 0px 0;
    width: 100%;
    outline: 0;
    font: normal 400 var(--paragraphs) "jaf-bernina-sans-condensed", sans-serif;
    resize: none;
    color: var(--lightColor);
    max-height: 60px;
    min-height: 60px;
}

.wpcf7 select {
    color: rgba(255, 255, 255, 0.7);
    background: url(../_img/arrow-down.svg) no-repeat calc(100% - 15px) center;
    background-size: 12px 7px;
}

.wpcf7 select.color-change {
    color: #fff;
}

.wpcf7 small {
    color: #fff;
    line-height: 1.5 !important;
    display: block;
    font-size: var(--smallerFS);
    margin-top: -15px;
}

.wpcf7-acceptance,
.wpcf7-checkbox {
    display: block;
    margin-top: -20px;
}

.wpcf7 label,
.wpcf7 label {
    font-size: var(--smallerParagraphs);
}

.wpcf7-checkbox input,
.wpcf7-acceptance input {
    margin-top: 0;
    display: inline-block;
    transform: translateY(-3px);
}

@media screen and (max-width:991px) {

    .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
    .wpcf7 textarea,
    .wpcf7 input:not([type="submit"]):not([type="checkbox"]),
    .wpcf7textarea,
    .wpcf7 select {
        max-height: 52px;
        min-height: 52px;
    }
}

.wpcf7 input[type="submit"] {
    height: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    color: var(--lightColor);
    appearance: none;
    -webkit-appearance: none;
    line-height: 0 !important;
    border-radius: 0px !important;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover {
    color: var(--lightColor) !important;
}

.wpcf7 input[type="submit"]:disabled:hover,
.wpcf7input[type="submit"]:disabled:hover {
    background-position: 0 0;
}

.wpcf7 input[type="submit"]:disabled,
.wpcf7 input[type="submit"]:disabled {
    opacity: 1;
}

.ajax-loader,
.wpcf7-spinner,
.wpcf7 .wpcf7-response-output {
    display: none !important;
}

.wpcf7 .wpcf7-form.invalid .wpcf7-response-output {
    position: relative;
    display: none !important;
}

.wpcf7-not-valid-tip {
    color: var(--darkColor) !important;
    font-size: var(--smallerFS) !important;
    display: block !important;
    margin: 5px 15px 0 15px !important;
}

.wpcf7 textarea {
    min-height: 200px;
    max-height: auto !important;
    padding: 15px;
    margin-bottom: -7.5px;
}

::placeholder {
    color: rgba(255, 255, 255, 0.7);
    font: normal 400 var(--btnFS) "jaf-bernina-sans-condensed", sans-serif;
    opacity: 1;
}

.DatenschutzCheck {
    pointer-events: none;
    max-height: 0px;
    opacity: 0;
    display: block;
    transition: 0.75s all;
    text-align: left;
    width: calc(100% - 0px);
    font: 400 normal var(--smallerFS) "jaf-bernina-sans-condensed", sans-serif;
    line-height: 175% !important;
    transition: 0.5s all;
    color: #C4853C;
    margin: 0 15px;
}

.DatenschutzCheck label {
    margin-top: 10px;
    display: block;
}

.DatenschutzCheck a:hover {
    color: var(--primaryColor);
}

.DatenschutzCheck small {
    font-weight: 300 !important;
    font-size: 0.6875rem !important;
}

.DatenschutzCheck a {
    border-bottom: 1px dotted #C4853C !important;
    color: #C4853C !important;
}

/*
.DatenschutzCheck input[type="checkbox"] {
    margin: 0 5px -4px 0px;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    padding: 3px;
    height: 18px !important;
    width: 18px !important;
    border-radius: 0px;
    border: 1px solid #C4853C;
    position: relative;
    transition: 0.25s all;
    cursor: pointer;
}

.wpcf7 input[type=checkbox]:checked:after {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    content: "";
    background-color: #C4853C;
    display: inline-block;
}*/

.DatenschutzCheck.activated {
    pointer-events: auto;
    opacity: 1;
    max-height: 600px;
    transition: 0.5s all;
    margin: 15px;
}


@media screen and (max-width:991px) {
    .DatenschutzCheck input[type="checkbox"] {
        height: 12.5px !important;
        width: 12.5px !important;
        margin: 0 5px -2px 0px;
    }

    .DatenschutzCheck.activated {
        margin: 0 15px 5px 15px;
    }
}

.wpcf7-list-item {
    margin: 0 0 0px 0px !important;
}

.wpcf7-form.sent p,
.wpcf7-form.sent .acceptance-text,
.wpcf7-form.sent h4,
.wpcf7-form.sent .DatenschutzCheck {
    opacity: 0;
    height: 0;
    pointer-events: none;
    transition: 0.25s all;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: transparent !important;
    margin: 0 !important;
    padding: 0px !important;
    position: absolute;
    top: calc(50% - 50px);
    font: normal 400 var(--quaternaryHead) "jaf-bernina-sans-condensed", sans-serif;
}

@media screen and (max-width:767px) {
    .acceptance-text {
        margin: -5px 15px 0px 0px;
    }
}

/* ### Slick SLider ### */
.slick-prev, .slick-next {
    margin: -15px 0 0 0;
    width: 62px;
    height: 62px;
    border-radius: 0;
    border: none;
    font-size: 0px;
    cursor: pointer;
    transform: translate3d(0, 0, 0);
    background-repeat: no-repeat, no-repeat;
    background-size: 19px 13.5px, 100%;
    position: absolute;
    border-radius: 50%;
    transition: 0.35s all;
    z-index: 1;
    appearance: none;
    -webkit-appearance: none;
    background-color: rgba(255, 255, 255, 0);
}

.slick-next {
    background-position: calc(50% - 9px) center, center center;
}

.slick-next:not(.slick-disabled):hover {
    background-position: calc(50% - 3px) center, center center;
}

.slick-prev {
    background-position: calc(50% + 9px) center, center center;
}

.slick-prev:not(.slick-disabled):hover {
    background-position: calc(50% + 3px) center, center center;
}

.slick-prev {
    left: -15px;
    background-image: url(../_img/Slider-Arrow-Left.svg), linear-gradient(to left, var(--lightColor) 0%, var(--lightColor) 100%);
}

.slick-next {
    right: -15px;
    background-image: url(../_img/Slider-Arrow-Right.svg), linear-gradient(to right, var(--lightColor) 0%, var(--lightColor) 100%);
}

.slick-slider .slick-arrow.slick-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

body.contrast .slick-arrow.slick-disabled {
    border: 1px solid var(--lightColor);
}

@media screen and (max-width:991px) {
    .slick-prev, .slick-next {
        width: 52px;
        height: 52px;
        background-size: 15px 11px, 100%;
    }
}

/*Dots*/
.slick-dots {
    display: flex;
    justify-content: flex-start;
    margin-top: 30px;
}

.slick-dots li {
    display: inline-block;
    margin-right: 7.5px;
    margin-left: 7.5px !important;
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    padding: 0px !important;
    border: 2px solid var(--primaryColor);
    height: 15px;
    width: 15px;
    border-radius: 50%;
    text-transform: uppercase;
    cursor: pointer;
    transition: 0.35s all;
}

.slick-dots li.slick-active {
    background: var(--primaryColor);
    border: 2px solid var(--primaryColorColor);
    color: var(--primaryColor) !important;
}

.slick-dots li:not(.slick-active):hover {
    background: var(--primaryColor);
}

.slick-dots li button {
    position: absolute;
    left: 0px;
    top: 0px;
    font-size: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0);
    border: 0;
}

.slick-dots li:before {
    display: none !important;
}

.slick-dots {
    padding: 0;
    list-style: none;
}

.slick-slider {
    -ms-touch-action: pan-y !important;
    touch-action: pan-y !important;
}

* {
    min-height: 0;
    min-width: 0;
    text-size-adjust: none;
    /*Prevent Slick iOS Font Resize Bug*/
    -webkit-text-size-adjust: none;
    /*Prevent Slick iOS Font Resize Bug*/
}

.slick-slide {
    transition: all ease-in-out .3s;
    opacity: 1;
}

.slick-slide>div:not(.slider-item-text),
.slick-slide>div>div:not(.slider-item-text),
.slick-slide>div>div>div:not(.slider-item-text) {
    height: 100%;
}

@media screen and (max-width:767px) {
    .slick-slide {
        margin: 0px 0px;
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: none;
    touch-action: none;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-slider .slick-list, .slick-track, .slick-slide, .slick-slide img, .slick-slide p, .slick-slide h1, .slick-slide h2, .slick-slide h3 {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    zoom: 1;
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

.slick-slide img {
    display: block;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-slide>.slick-slider-img {
    margin: 0 15px;
    padding: 2%;
    position: relative;
    display: block;
    width: 100%;
}

.slick-slide .image {
    padding: 10px;
}

.slick-slide img:not(.icon) {
    display: block;
    width: 100%;
}

/*Shariff*/
.shariff-wrap {
    align-items: center;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.shariff-wrap p {
    display: block;

}

#contentwrap .shariff-wrap ul {
    display: flex !important;
}

#contentwrap .shariff-wrap li {
    background-color: var(--lightGray) !important;
    position: relative;
    width: 55px !important;
    height: 55px !important;
    overflow: visible !important;
}

.shariff-wrap li:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    border-radius: 50%;
    z-index: 11;
}

#contentwrap .shariff-wrap li a {
    width: 55px !important;
    height: 55px !important;
    background-color: rgba(0, 0, 0, 0) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.shariff-wrap li svg path {
    fill: var(--darkColor) !important;
}

.shariff-wrap li svg {
    transform: translate3d(0, 0, 0);
}

.shariff-wrap li:hover svg {
    opacity: 0.5;
}

@media screen and (max-width:991px) {

    #contentwrap .shariff-wrap li,
    #contentwrap .shariff-wrap li a {
        width: 50px !important;
        height: 50px !important;
    }
}

/*Translator*/
body .gt_float_switcher {
    font-family: "jaf-bernina-sans-condensed", sans-serif !important;
    font: normal 500 var(--menuFS) "jaf-bernina-sans-condensed", sans-serif !important;
    color: var(--darkGray) !important;
    box-shadow: none !important;
    background-color: rgba(0, 0, 0, 0) !important;
    overflow: visible;
}

body .menu-item-gtranslate>div {
    position: relative !important;
}

body .gt_float_switcher img {
    width: 20px;
    border-radius: 0px;
}

body .menu-item-gtranslate>div .gt_options {
    position: absolute !important;
    margin-left: -10px;
    transform: translateY(11px) !important;
    overflow: hidden;
    padding-bottom: 5px;
    top: 54px;
    padding: 0 10px;
    background-color: var(--darkColor);
    font: normal 500 var(--smallerFS) "jaf-bernina-sans-condensed", sans-serif !important;
}

body .menu-item-gtranslate>div .gt_options img {
    transform: translateY(-1.5px);
    width: 18px;
    margin: 0 10px 0 0;
}

body .menu-item-gtranslate>div .gt_options a {
    padding: 7.5px 10px;
    color: var(--lightColor) !important;
    display: flex !important;
    align-items: center !important;
}

a.gt-current-wrapper {
    display: flex !important;
    align-items: center;
}

a.gt-current-wrapper>img {
    margin-right: 5px;
}

.menu-item-gtranslate-child {
    margin: 5px 0 !important;
}

.menu-item-gtranslate-child a img {
    margin: 0 7.5px 0 5px !important;
}

.menu-item-gtranslate-child a:before {
    display: none !important;
}

.menu-item-gtranslate .glink a:hover {
    color: var(--secondaryColor) !important;
    background-color: rgba(0, 0, 0, 0) !important;
}

body .gt_float_switcher .gt-selected .gt-current-lang {
    padding: 7.5px 0px;
    background-color: rgba(0, 0, 0, 0) !important;
    position: relative;
}

body .gt_arrow_rotate {
    position: static;
}

body .gt_float_switcher .gt-selected {
    overflow: visible;
}

body .gt_float_switcher .gt_options {
    overflow: visible;
    max-height: initial;
}

body .gt_float_switcher .gt_options a:hover {
    background-color: rgba(0, 0, 0, 0);
    color: var(--secondaryColor) !important;
}

body .gt_options {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

body .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
    transform: rotate(0deg) !important;
}


@media screen and (max-width:991px) {
    body .gt_float_switcher .gt-selected .gt-current-lang {
        padding: 0px 0px;
    }

    body .menu-item-gtranslate>div .gt_options {
        position: relative !important;
        transform: translateY(5px) !important;
    }

    body .gt_float_switcher .gt-selected .gt-current-lang:has(.gt_arrow_rotate):after {
        display: none;
    }

    body .gt_float_switcher {
        position: relative;
        margin-top: -5px;

    }

    body .gt_float_switcher:has(.gt-open) .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
        transform: rotate(180deg) !important;
    }

    .menu-item-gtranslate:has(>div:empty) {
        margin-bottom: 20px;
        margin-top: 15px;
    }


    body .gt_float_switcher {
        display: flex;
        flex-direction: column-reverse;
    }

    body .menu-item-gtranslate>div .gt_options {
        top: 5px;
        max-width: 100%;
        margin-left: 0;
        margin-bottom: 15px;
    }

    body .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
        padding: 2.5px 5px;
        height: 27.5px;
        width: 27.5px;
        background-size: 17.5px;
        float: right;
        margin-right: 0px;
    }
}

/*Borlabs*/
.brlbs-cmpnt-widget {
    visibility: hidden;
    pointer-events: none;
}

.menu-item-gtranslate>div:empty {
    width: 72px;
    height: 38px;
    background: url(../_img/lang-gtranslate-prev.jpg) no-repeat center center;
    background-size: contain;
    opacity: 1;
    position: relative;
    cursor: pointer;
}

.menu-item-gtranslate>div:empty:hover:after {
    background: var(--darkColor);
    bottom: -135px;
    color: #fff;
    content: 'Um den Sprachwähler zu nutzen musst Du das Laden externer Medien akzeptieren.';
    display: block;
    left: calc(-50% + 30px);
    padding: 5px 7.5px;
    position: absolute;
    z-index: 98;
    width: 70px;
    height: 105px;
    white-space: normal;
    line-height: 1;
    font: normal 400 10px "jaf-bernina-sans-condensed", sans-serif;
}

/*
  .menu-item-gtranslate > div:empty:hover:before {
    border: solid;
    border-color: #111 transparent;
    border-color: rgba(0, 0, 0, .8) transparent;
    border-width:  0 .4em .4em .4em;
    bottom: -20px;
    content: "";
    display: block;
    left: 2em;
    position: absolute;
    z-index: 99;
  }*/

.menu-item-gtranslate>div:empty:hover:after {
    background: var(--darkColor);
    bottom: -124px;
    color: var(--lightColor);
    content: 'Um den Sprachwähler zu nutzen musst Du das Laden externer Medien akzeptieren.';
    display: block;
    left: calc(-50% + 30px);
    padding: 10px 10px 10px 10px;
    position: absolute;
    z-index: 98;
    width: 140px;
    height: 77.5px;
    pointer-events: hover;
    white-space: normal;
    line-height: 1.25 !important;
    font: normal 400 var(--smallerFS) "jaf-bernina-sans-condensed", sans-serif;
}

@media screen and (min-width:991px) {

    .menu-item-gtranslate>div:empty:hover:before {
        position: absolute;
        content: "";
        width: calc(100% + 4px);
        border-radius: 0;
        background-color: rgba(0, 0, 0, 0);
        opacity: 0.2;
        left: 0px;
        top: 38.5px;
        overflow: visible;
        height: 40px;
        border-top: 0px solid var(--darkGray);
    }
}

@media screen and (max-width:991px) {

    .menu-item-gtranslate>div:empty {
        width: 100%;
        height: 17px;
        background: url(../_img/lang-gtranslate-prev-mobile.jpg) no-repeat center center;
        background-position: left center;
        background-size: contain;
    }

    .menu-item-gtranslate>div:empty:hover:after {
        bottom: 16px;
        padding: 7.5px 5px;
        width: calc(100% - 10px);
        height: 33.5px;
        margin-left: 0;
        position: relative;
        left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menu-item-gtranslate>div:empty:hover:before {
        bottom: -15px;
    }
}

body .brlbs-cmpnt-table * {
    font-size: var(--smallerFS) !important;
}


body .brlbs-cmpnt-btn,
body .brlbs-cmpnt-tab {
    text-transform: uppercase !important;
}

body .brlbs-cmpnt-checkbox {
    border-radius: 0px !important;
}

body #BorlabsCookieBox .brlbs-cmpnt-dialog-footer {
    background-color: var(--lightGray);
}

body #BorlabsCookieBox .brlbs-cmpnt-table td {
    vertical-align: middle;
}

[data-borlabs-cookie-content-blocker-id="youtube-content-blocker"] {
    margin-bottom: 25px;
}

body .brlbs-cmpnt-cb-description {
    margin-bottom: 0 !important;
    margin-top: 10px !important;
}

body .brlbs-cmpnt-cb-btn {
    text-transform: uppercase !important;
}


/*Give WP*/
.root-data-givewp-embed{
    margin-top: 40px;
    box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1);
}