/*
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. Flexible Content Rows
3. CPTs
4. Impressum, Datenschutz & Co

5. Footer
6. Plugins

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

/* 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%;
}

html {
    padding: env(safe-area-inset);
}

body {
    /*colors*/
    --lightColor: #fff;
    --darkColor: #3E5857;
    --primaryColor: #3D7467;
    --shadedPrimaryColor: #3E5857;
    --secondaryColor: #EBB016;
    --tertiaryColor: #52412E;
    --shadedTertiaryColor: #3E3122;
    --quaternaryColor: #F78528;

    /*Font-Sizes*/
    --primaryHead: 4.375rem;
    --secondaryHead: 3.75rem;
    --tertiaryHead: 2.18755rem;
    --quaternaryHead: 1.75rem;
    --paragraphs: 1.3125rem;
    --btnFS: 1.3125rem;
    --smallFS: 1rem;
}

@media screen and (max-width: 1199px) {
    body {
        /*Font-Sizes*/
        --primaryHead: 4rem;
        --secondaryHead: 3.5rem;
        --tertiaryHead: 2rem;
        --quaternaryHead: 1.5rem;
        --paragraphs: 1.125rem;
        --btnFS: 1.125rem;
        --smallFS: 0.875rem;
    }
}

@media screen and (max-width: 991px) {
    body {
        /*Font-Sizes*/
        --primaryHead: 3.625rem;
        --secondaryHead: 2.375rem;
        --tertiaryHead: 1.75rem;
        --smallFS: 0.75rem;
    }
}

@media screen and (max-width: 767px) {
    body {
        /*Font-Sizes*/
        --primaryHead: 2.75rem;
        --secondaryHead: 2.0625rem;
        --tertiaryHead: 1.6875rem;
        --quaternaryHead: 1.375rem;
    }
}

/* 1.3 Hauptdeklarationen
##################################################### */

* {
    outline: none;
}

html, body {
    height: calc(100% - 0px);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

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

#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%;
}

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

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

h1, .h1 {
    font: normal 400 var(--primaryHead) 'DM Serif Display', serif;
    line-height: 1.125;
    margin-bottom: 20px;
}

h2, .h2 {
    font: normal 400 var(--secondaryHead) 'DM Serif Display', serif;
    line-height: 1.125;
    margin-bottom: 15px;
}

.home #contentwrap h2 {
    margin-bottom: 50px;
}

h3, .h3 {
    font: normal 300 var(--tertiaryHead) 'DM Serif Display', serif;
    line-height: 1.25;
}

h4, .h4 {
    font: normal 300 var(--tertiaryHead) 'DM Sans', sans-serif;
    line-height: 1.5;
}

p {
    line-height: 1.5 !important;
    font: 400 normal var(--paragraphs) 'DM Sans', sans-serif;
}

#contentwrap ul li,
#contentwrap ol li {
    font: 400 normal var(--paragraphs) 'DM Sans', sans-serif;
    line-height: 1.5;
}

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

p strong {
    font-weight: 600;
}

p small{
font: 400 normal var(--smallFS) 'DM Sans', sans-serif !important;
line-height: 1.5 !important;
display: block;
}

.BGtertiaryColor p strong {
    font-weight: 600;
}

small {
    font-size: 0.6875rem !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;
}

.single-post .post-content a {
    color: var(--lightColor);
    border-bottom: 1px dotted var(--lightColor);
}

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

body #contentwrap section:first-of-type {
    padding-top: 240px;
}

body.home #contentwrap section:first-of-type {
    padding-top: 100px;
}

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

    .home #contentwrap h2 {
        margin-bottom: 30px;
    }

    body #contentwrap section:first-of-type {
        padding-top: 136px;
    }

    body.home #contentwrap section:first-of-type {
        padding-top: 66px;
    }

}

@media screen and (max-width:991px) {
    h2 {
        hyphens: auto;
    }

    h3 {
        font-weight: 400;
    }
}

/* 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: 50px !important;
}

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

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

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

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

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

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

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

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

/*Höhen*/
.h-100 {
    height: 100% !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

.BGprimaryGradient {
    background-image: linear-gradient(to right, var(--primaryColor), var(--shadedPrimaryColor));
    color: var(--lightColor);
}

.BGsecondaryGradient {
    background-image: linear-gradient(to right, var(--secondaryColor), var(--quaternaryColor));
    color: var(--lightColor);
}

.BGtertiaryGradient {
    background-image: linear-gradient(to right, var(--tertiaryColor), var(--shadedTertiaryColor));
    color: var(--lightColor);
}

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

@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;
    }
}

/*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 {
    width: 100%;
    display: flow-root;
    position: relative;
    overflow: hidden;
}

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

.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;
}

/*Video*/
.video-wrap,
.social-embed-container.video-container {
    position: relative;
    padding-bottom: 56.25%;
    width: 100%;
}

.video-wrap iframe,
.social-embed-container.video-container iframe {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    border: none;
    left: 0;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.44);
}

.social-embed-container.video-container {
    margin: 20px 0;
}

/*Columns*/

@media screen and (min-width:768px) {
    .two-col {
        columns: 2;
        column-gap: 45px;
    }
}

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

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

.disable_scrollwheel iframe {
    pointer-events: none;
}

/*Boxes*/
#contentwrap .box div:not(.box-head) p {
    font: normal 400 var(--quaternaryHead) 'DM Sans', sans-serif;
    line-height: 1.125;
}

#contentwrap .box div.box-head p {
    font-weight: 500;
}

#contentwrap .box .box-head {
    margin-bottom: 30px;
    border-bottom: 2px solid var(--darkColor);
    width: 100%;
    max-width: 250px;
    padding-bottom: 15px;
    display: flex;
    align-items: flex-end;
}

#contentwrap .box .box-head img {
    margin-right: 20px;
    transform: translateY(-5px);
    width: 60px;
    height: 90px;
    object-fit: contain;
    object-position: center bottom;
}

#contentwrap .BGprimaryGradient .box .box-head {
    border-bottom: 2px solid var(--lightColor);
}

@media screen and (max-width:991px) {
    #contentwrap .box .box-head {
        margin-bottom: 25px;
        max-width: 200px;
    }

    #contentwrap .box .box-head img {
        margin-right: 15px;
        transform: translateY(-5px);
        width: 50px;
        height: 60px;
    }

    #contentwrap .box div:not(.box-head) p {
        font: normal 400 var(--quaternaryHead) 'DM Sans', sans-serif;
        line-height: 1.125;
        hyphens: auto;
    }
}

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

/*Progressbars*/
.bar-con {
    background-color: #BFC8C7;
    height: 5px;

}

.bar {
    float: left;
    height: 100%;
    width: 0%;
}

.bar {
    background-color: var(--primaryColor);
    transition: width ease-in 1s;
    -webkit-transition: width ease-in 1s;
    -moz-transition: width ease-in 1s;
    -o-transition: width ease-in 1s;
}

.progress-head {
    padding-bottom: 5px !important;
}

.progress-wrap {
    padding-bottom: 25px;
    break-inside: avoid-column;
}

/*Lists*/

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

#contentwrap ol li {
    padding-left: 0px;
    position: relative;
}

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

#contentwrap ul li:before {
    content: "• ";
    color: var(--darkColor);
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0px
}

#contentwrap .large-list ul {
    columns: 2;
    margin: 0px 0 0px 0;
    column-gap: 60px;
}

#contentwrap .large-list ul li:before {
    top: 9px;
}

#contentwrap .large-list ul li {
    font: normal 400 var(--quaternaryHead) 'DM Sans', sans-serif;
    padding-left: 17.5px;
    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    break-inside: avoid-column;
}

@media screen and (max-width:991px) {
    #contentwrap .large-list ul li {
        padding-left: 15px;
        padding-top: 7.5px;
        padding-bottom: 7.5px;
    }

    #contentwrap .large-list ul li:before {
        top: 7px;
    }
}

@media screen and (max-width:767px) {
    #contentwrap .large-list ul {
        columns: 1;
        margin: -2.5px 0 0px 0;
    }

    #contentwrap .large-list ul li {
        padding-left: 15px;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    #contentwrap .large-list ul li:before {
        top: 5px;
    }
}

/*Buttons*/
.btn {
    min-width: 240px;
    margin-right: 12.5px;
    max-height: 60px;
    min-height: 60px;
    border-radius: 0px;
    line-height: 1 !important;
    font: normal 500 var(--paragraphs) 'DM Sans', sans-serif !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    position: relative;
    color: var(--darkColor);
    border-top: 2px solid var(--darkColor);
    text-transform: uppercase;
    justify-content: space-between;
    margin-top: 35px;
    background-size: 100% 200%;
    background-image: linear-gradient(to bottom, transparent 50%, var(--darkColor) 50%);
}

.btn:hover svg {
    transform: translateX(15px);
}

.btn:hover span {
    opacity: 0.5;
}

.btn.btn-light {
    border-color: var(--lightColor);
    color: var(--lightColor);
    background-image: linear-gradient(to bottom, transparent 50%, var(--lightColor) 50%);
}

.btn.btn-light path {
    fill: var(--lightColor);
}

.btn svg {
    margin-right: 75px;
    transition: 0.5s all;
}

.btn span {
    transition: 0.5s all;
}

@media screen and (max-width:991px) {
    .btn {
        min-width: 200px;
        max-height: 50px;
        min-height: 50px;
        margin-top: 25px;
    }

    .btn svg {
        width: 15px;
        height: 15px;
        margin-right: 60px;
    }
}

/*Height Placeholder*/
@media screen and (max-width:767px) {
    .col-mobile-height:before {
        content: '';
        float: left;
        padding-bottom: 56.25%;
    }
}

/* 2.1 Flexible Content Rows
##################################################### */

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

.text h2,
.text h3 {
    margin-bottom: 17.5px !important;
}

.text p {
    font-size: var(--quaternaryHead);
}

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

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

.text p a:hover {
    opacity: 0.5;
}

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

/*Hero*/
.hero .container .row:first-of-type {
    min-height: calc(100vh - 245px);
    align-items: center;
}

.hero h1,
.hero .h1 {
    margin-top: 140px;
    margin-bottom: 140px;
    z-index: 1;
    line-height: 1.1 !important;
}

.hero h1 span,
.hero .h1 span {
    color: var(--secondaryColor);
}

.hero img.stretch-parent {
    pointer-events: none;
    z-index: 12;
    position: absolute;
}

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

    .hero h1,
    .hero .h1 {
        margin-top: 70px;
        margin-bottom: 70px;
    }

    .hero .container .row:first-of-type {
        min-height: calc(100vh - 175px);
    }
}

@media screen and (max-width:576px) {
    .hero .container .row:first-of-type {
        min-height: calc(100vh - 225px);
    }
}

/*Feed Beiträge*/
.post-date {
    width: 100%;
    max-width: 250px;
    border-bottom: 2px solid var(--lightColor);
    margin: 30px 0 30px 0;
    padding-bottom: 12.5px;
}

.post-date .cat-span{
    display: block;
}

.post-date p {
    font-weight: 500;
}

.post-date a {
    color: var(--lightColor);
}

.post-date a:hover {
    opacity: 0.5;
}

.feed-beitraege img {
    transition: 0.5s all;
}

.feed-beitraege a h3{
    transition: 0.35s all;
    letter-spacing: -0.2px;
}

.feed-beitraege a:hover h3{
    opacity: 0.5;
}

.feed-beitraege img:hover {
    transform: scale(1.05);
}

.post-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.post-wrap .post-content,
.post-wrap .post-content {
    margin-bottom: 30px;
}

.post-wrap .post-content h3 {
    margin-bottom: 15px;
    line-height: 1.25;
}

.feed-beitraege .btn {
    margin-top: auto;
}

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

    .post-wrap .post-content,
    .post-wrap .post-content {
        margin-bottom: 25px;
    }

    .post-date {
        max-width: 100%;
        min-width: 200px;
        width: auto;
        display: inline-block;
        margin: 25px 0 25px 0;
        padding-bottom: 10px;
    }
}

.feed-beitraege .post-row {
    margin-top: -15px;
    margin-bottom: -15px;
}

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

/*Video-Teaser*/
.video-teaser .row {
    min-height: 300px;
    align-items: center;
}

.video-teaser {
    color: var(--lightColor);
}

.video-teaser::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    background-color: #52412E;
    z-index: -2;
}

.video-teaser::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../_img/BG-CTA.svg) no-repeat center center;
    background-size: cover;
}

.video-teaser .col-12 {
    display: flex;
    justify-content: center;
}

.video-teaser h2 {
    display: inline-block;
    margin: 0 !important;
}

.video-teaser h2 span {
    display: block;
    font: normal 400 var(--paragraphs) 'DM Sans', sans-serif;
    margin-top: 10px;
}

.video-teaser video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    mix-blend-mode: multiply;
}

.testimonials p:not(.credit) {
    font: normal 400 var(--quaternaryHead) 'DM Sans', sans-serif;
    display: inline;
    letter-spacing: -0.5px;
}

.testimonials p.credit {
    margin: 20px 0 10px 0px;
    font-weight: 500;
}

.testimonials h2 {
    margin-bottom: 60px;
}

@media screen and (max-width:991px) {
    .video-teaser .row {
        min-height: 200px;
    }

    .testimonials p:not(.credit) {
        hyphens: auto;
    }

    .testimonials h2 {
        margin-bottom: 30px;
    }
}

@media screen and (max-width:767px) {
    .video-teaser .row {
        min-height: 200px;
    }
}

/*Logo Sektion*/
.logo-section .row {
    align-items: center;
}

.logo-section img {
    margin: 20px 0 20px 0;
    object-fit: contain;
    max-height: 100px;
    padding: 0 30px;
    transition: 0.5s all;
    max-width: 27.5%;
}

.logo-section img.logo-hoch {
    max-width: 17.5%;
}

body:not(.home) .logo-section img {
    max-width: 20% !important;
    padding: 0 0px !important;
}

.logo-section img:hover {
    transform: scale(0.95);
}

.logo-section a {
    display: contents;
}

@media screen and (max-width:1199px) {
    body:not(.home) .logo-section img {
        max-width: 33.333% !important;
    }
}

@media screen and (max-width:767px) {
    .logo-section img {
        margin: 20px 0 20px 0;
        max-height: 60px;
        padding: 0 30px;
        max-width: 50%;
    }

    .logo-section img.logo-hoch {
        max-width: 50%;
    }

    body:not(.home) .logo-section img {
        max-width: 32.333% !important;
    }
}

/*Icon Text Section*/
.icon-text-row.icon-text-row-head .text-wrap {
    padding-bottom: 15px;
}

.icon-text-row>div {
    margin-bottom: 40px;
}

.icon-text-section h3 {
    margin-bottom: 10px;
}

.icon-text-section p {
    margin-bottom: 20px;
}

.icon-text-section ul {
    margin-bottom: 7.5px;
}

.icon-text-section .text-wrap {
    flex: 0 0 calc(83.3333% - 8.3333%)
}

.icon-text-section .text-wrap:not(.no-line) {
    padding-bottom: 20px;
}

.icon-text-section .icon-text-row:not(.icon-text-row-head) .text-wrap:not(.no-line):after {
    content: "";
    height: 2px;
    background-color: var(--darkColor);
    width: 250px;
    position: absolute;
    bottom: 0;
    left: 0px;
}

.BGprimaryGradient .icon-text-row:not(.icon-text-row-head) .text-wrap:not(.no-line):after {
    background-color: var(--lightColor);
}

.icon-text-section .full-width-img-wrap {
    margin-top: 5px;
    margin: 0 30px;
    width: calc(16.666% - 60px);
    text-align: center;
}

.icon-text-section .full-width-img-wrap img {
    object-fit: contain;
    object-position: center top;
    max-width: 70px;
    height: 70px;
}

.icon-text-section .icon-text-row.icon-text-row-head .full-width-img-wrap img {
    object-fit: contain;
    object-position: center top;
    max-width: 135px;
    height: 135px;
    margin-top: -60px;
}

.icon-text-section .icon-text-row.icon-text-row-head>div>div {
    align-items: center;
}

.icon-text-section .icon-text-row>div>div {
    display: flex;
    flex-wrap: wrap;
}

.icon-text-section .row.icon-text-row>div>div {
    padding-left: 8.3333%;
}

.icon-text-section p a {
    border-bottom: 1px dotted var(--darkColor);
    color: var(--darkColor);
}

.icon-text-section p a:hover {
    opacity: 0.5;
}

.BGprimaryGradient.icon-text-section p a {
    border-bottom: 1px dotted var(--lightColor);
    color: var(--lightColor);
}

@media screen and (max-width:991px) {
    .icon-text-section h2 {
        margin-bottom: 30px;
    }

    .icon-text-row>div {
        margin-bottom: 30px;
    }

    .icon-text-section .text-wrap:not(.no-line) {
        padding-bottom: 10px;
    }

    .icon-text-section .full-width-img-wrap {
        margin-right: 20px;
        margin-left: 0;
    }

    .icon-text-section .full-width-img-wrap img {
        width: 50px;
        height: 50px;
    }

    .icon-text-section .icon-text-row.icon-text-row-head .full-width-img-wrap {
        display: none;
    }

    .icon-text-section .icon-text-row.icon-text-row-head h2 {
        margin-bottom: 0px;
    }
}

@media screen and (max-width:767px) {
    .icon-text-section .row.icon-text-row>div>div {
        padding-left: 0;
    }

    .icon-text-section .text-wrap:not(.no-line):after {
        width: 200px;
    }

    .icon-text-section .full-width-img-wrap img {
        object-position: center center;
    }

    .icon-text-section .text-wrap {
        flex: 0 0 100%;
    }

    .icon-text-section .full-width-img-wrap {
        margin-top: 0px;
        margin-bottom: 10px;
    }
}

/*Logo Text Section*/
.logo-text-row>div:not(:last-of-type) {
    margin-bottom: 90px;
}

.logo-text-section h3 {
    margin-bottom: 5px;
}

.logo-text-section .text-wrap {
    padding-bottom: 45px;
    flex: 0 0 calc(66.666%)
}

.logo-text-section .logo-text-row .text-wrap:after {
    content: "";
    height: 2px;
    background-color: var(--darkColor);
    width: 250px;
    position: absolute;
    bottom: 0;
    left: 0px;
}

.logo-text-section .full-width-img-wrap {
    margin-top: 5px;
    margin: 0 15px;
    width: calc(33.333% - 30px);
    text-align: center;
}

.logo-text-section .full-width-img-wrap img {
    object-fit: contain;
    object-position: center top;
    max-width: 130px;
    height: 100px;
    margin-top: 5px;
}

.logo-text-section .logo-text-row>div>div {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}

.logo-text-section p a,
.logo-text-section li a {
    border-bottom: 1px dotted var(--darkColor);
    color: var(--darkColor);
}

.logo-text-section p a:hover,
.logo-text-section li a:hover {
    opacity: 0.5;
}

@media screen and (max-width:991px) {
    .logo-text-section h2 {
        margin-bottom: 30px;
    }

    .logo-text-row>div {
        margin-bottom: 25px;
    }

    .logo-text-section .text-wrap {
        padding-bottom: 25px;
    }

    .logo-text-section .text-wrap {
        padding-bottom: 25px;
        flex: 0 0 calc(100%)
    }

    .logo-text-row>div:not(:last-of-type) {
        margin-bottom: 45px;
    }

    .logo-text-section .full-width-img-wrap {
        text-align: left;
        margin: 0;
    }

    .logo-text-section .full-width-img-wrap img {
        max-width: 100px;
        height: 70px;
        margin: 0;
        object-position: center left;
    }
}

@media screen and (max-width:767px) {
    .logo-text-section .row.icon-text-row>div>div {
        padding-left: 0;
    }

    .logo-text-section .text-wrap:after {
        width: 200px;
    }

    .logo-text-section .full-width-img-wrap img {
        height: auto;
        margin-bottom: 10px;
    }
}

/*About Section*/
.about-section .textblock {
    padding-bottom: 30px;
    position: relative;
    margin-top: 60px;
    width: 91.666%;
}

.about-section .textblock.no-separator{
    padding-bottom: 0px !important;
}

.about-section .textblock h3 {
    margin-bottom: 20px;
}

.about-section .textblock p {
    padding-bottom: 25px;
    break-inside: avoid-column;
}

.about-section p a {
    border-bottom: 1px dotted var(--darkColor);
    color: var(--darkColor);
}

.about-section p a:hover {
    opacity: 0.5;
}

.about-section .textblock:not(.no-separator):after {
    content: "";
    height: 2px;
    background-color: var(--darkColor);
    width: 250px;
    position: absolute;
    bottom: 0;
    left: 0px;
}

@media screen and (max-width:991px) {
    .about-section .textblock {
        padding-bottom: 10px;
        margin-top: 30px;
    }
}

@media screen and (max-width:767px) {
    .about-section .wrap-square {
        margin-bottom: 20px;
    }
}

/*Icon Section*/

.icon-section .row {
    margin: -50px -15px;
}

.icon-section img {
    display: block;
    margin: 0 auto 20px auto;
    object-fit: contain;
    width: 70px !important;
    height: 70px !important;
}

.icon-section .row>div {
    margin: 50px 0;
}

.icon-section p {
    text-align: center;
}

@media screen and (max-width:991px) {
    .icon-section img {
        width: 50px !important;
        height: 50px !important;
    }

    .icon-section .row {
        margin: -30px -15px;
    }

    .icon-section img {
        width: 45px !important;
        height: 45px !important;
    }

    .icon-section .row>div {
        margin: 30px 0;
    }
}

/* 4. CPT 
##################################################### */

.blog h2 a,
.blog h3 a,
.archive h2 a,
.archive h3 a {
    color: var(--lightColor);
    line-height: 1.25;
    letter-spacing: -0.2px;
}



.blog h2 a:hover,
.blog h3 a:hover,
.archive h2 a:hover,
.archive h3 a:hover {
    opacity: 0.5;
}

.blog #contentwrap h2,
.blog #contentwrap h3,
.archive #contentwrap h2,
.archive #contentwrap h3 {
    margin-bottom: 10px;
}

.blog #contentwrap .post-wrap h2,
.blog #contentwrap .post-wrap h3,
.archive #contentwrap .post-wrap h2,
.archive #contentwrap .post-wrap h3{
    flex: 0 0 100%;
}

.blog .row.top-news,
.archive .row.top-news {
    width: 100%;
    margin: 30px 0;
}

.blog .img-wrap a,
.archive .img-wrap a {
    position: static;
}

.blog .img-wrap img,
.archive .img-wrap img {
    transition: 0.5s all;
}

.blog .img-wrap:hover img,
.archive .img-wrap:hover img {
    transform: scale(1.05);
}

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

    .blog .top-news .post-date,
    .archive.top-news .post-date {
        margin-top: 0;
    }
}

.blog-teaser {
    margin: 130px 0 140px 0 !important;
}

.blog-teaser .container {
    position: relative;
    z-index: 2;
}

.blog-teaser h2 {
    margin-bottom: 0px !important;
}

.blog-teaser:after {
    content: "";
    background-color: var(--lightColor);
    position: absolute;
    width: 200vw;
    left: -100vw;
    height: 100%;
    top: 0;
}

.post-filter-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 60px;
}

.post-filter {
    opacity: 0.5;
}

.post-inner-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.normal-posts .btn {
    margin-top: auto;
    top: -27.5px;
}

.normal-posts .post-wrap {
    margin: 30px 0;
    height: 100%;
    flex-direction: column;
}

.single #contentwrap .text li:before,
.archive #contentwrap .text li:before,
.blog #contentwrap .text li:before{
    color:var(--lightColor);
}

.single hr,
.archive hr,
.blog hr{
    border-top:2px solid var(--lightColor);
    border-bottom: 0px solid transparent;
    max-width: 250px;
    height: auto !important;
    width:100%;
    margin-bottom: 30px;
    margin-top: 30px;
    display: block;
    margin-left: 0;
    text-align: left;
    clear: both;
}

@media screen and (min-width:768px) {
    .post-spacer {
        height: 90px;
    }
}

@media screen and (max-width:991px) {
    .post-filter-wrap {
        margin-bottom: 30px;
    }

    .blog-teaser {
        margin: 40px 0 70px 0 !important;
    }
}

@media screen and (min-width:768px) and (max-width:1199px) {
    .blog .row.top-news, .archive .row.top-news {
        width: 50%;
    }

    .top-news {
        align-content: flex-start;
        position: relative;
        padding-bottom: 77.5px;
    }

    .top-news>div {
        position: static;
    }

    .top-news>div .btn {
        position: absolute;
        bottom: 0;
    }
}

@media screen and (max-width:767px) {
    .post-filter-wrap {
        margin-bottom: 0px;
    }

    .blog h1,
    .single h1,
    .archive h1 {
        flex: 0 0 100%;
        margin-bottom: 30px;
    }

    .blog .row.top-news, .archive .row.top-news {
        margin: 15px 0;
    }

    .blog-teaser {
        margin: 30px 0 40px 0 !important;
    }
    .single hr,
.archive hr,
.blog hr{
    max-width: 200px;}
}

/*Single*/

.single h1 {
    margin-bottom: 30px;
    margin-top: 45px;
}

.single .post-date a {
    border: none;
    color: var(--lightColor);
}

.single .post-date a:hover {
    opacity: 0.5;
}

.single .post-content p a {
    border-bottom: 1px dotted var(--lightColor);
    color: var(--lightColor);
}

.single .post-content h4{
    margin-bottom: 15px;
    font-size: var(--quaternaryHead);
    font-weight: 500;
}

.single .tag-list {
    font-size: var(--smallFS);
    margin-top: 30px;
    clear:both;
}

.single .tag-list a {
    color: rgba(255, 255, 255, 0.5);
    border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
}

.single .tag-list span.divider{
    color: rgba(255, 255, 255, 0.5);
}

.single .tag-list a:hover {
    color: var(--lightColor) !important;
    opacity: 1;
}

.single .tag-list span.tag-head {
    opacity: 0.5;
}

.single img.alignleft{
    float: left;
    width: 100%;
    max-width: 250px;
    height: auto !important;
    margin-right: 30px;
    margin-bottom: 30px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.single #contentwrap section:first-of-type {
    padding-top: 100px !important;
}

.single #contentwrap .post-content p,
.single #contentwrap p.post-date {
    font-size: var(--paragraphs);
}

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

    .single #contentwrap section:first-of-type {
        padding-top: 66px !important;
    }

    .single h1 {
        margin-bottom: 20px;
        margin-top: 35px;
    }
}

@media screen and (max-width:767px) {
    .single .img-wrap {
        margin-left: -20px;
        margin-right: -20px;
        width: calc(100% + 40px);
    }
    .single img.alignleft{
        float: none;
        width: 100%;
        max-width: 250px;
        display: block;
    }
}

/* Pagination*/
.pagination-row {
    margin-top: 60px;
}

.pagination-row h2 {
    font: normal 400 var(--paragraphs) 'DM Sans', sans-serif;
    color: var(--lightColor);
    opacity: 0.5;
    margin: 0 15px 0 0 !important;
    line-height: 1;
}

.pagination-row .page-numbers {
    font: normal 500 var(--paragraphs) 'DM Sans', sans-serif;
    border: 2px solid rgba(0, 0, 0, 0);
    width: 60px;
    color: var(--lightColor);
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 0;
    opacity: 0.5;
    margin: 0 -1px;
}

.pagination-row a.page-numbers:hover {
    opacity: 1;
    text-decoration: none;
}

.pagination-row .page-numbers.current {
    border: 1px solid rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    color: var(--lightColor);
    opacity: 1;
}

.pagination-row .page-numbers.next,
.pagination-row .page-numbers.prev {
    font: normal 400 var(--paragraphs) 'DM Sans', sans-serif;
    padding-bottom: 0.5px;
    background: url(../_img/BTN-Arrow-Light.svg) no-repeat center center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    transition: 0.35s all;
    font-size: 0px;
}

.pagination-row .page-numbers.next:hover {
    transform: translateX(15px);
}

.pagination-row .page-numbers.prevt:hover {
    transform: translateX(-15px);
}

.pagination-row .page-numbers.prev {
    transform: rotate(-180deg);
}

.pagination-row>div {
    margin: 0 0 0 10px;
}

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

.pagination-row .pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-bottom: 60px;
    align-items: center;
}

@media screen and (max-width:991px) {
    .pagination-row {
        margin-top: 30px;
    }

    .pagination-row .page-numbers.prev,
    .pagination-row .page-numbers.next {
        background-size: 15px 15px;
    }

    .pagination-row .page-numbers {
        width: 50px;
        height: 50px;
    }

    .pagination-row .page-numbers.prev:hover {
        transform: translateX(-10px);
    }

    .pagination-row .page-numbers.next:hover {
        transform: translateX(10px);
    }
}

@media screen and (max-width:767px) {
    .pagination-row .pagination {
        padding-top: 0px;
        padding-bottom: 0px;
    }
}

/*Toggle*/
.toggle-wrap {
    position: relative;
    transform: translateY(-10px);
    z-index: 1;
}

.toggle-head {
    position: relative;
    padding-bottom: 7.5px;
    position: relative;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    padding-left: 65px;
    min-width: 300px;
    text-align: right;
}

.toggle-head:hover p {
    color: var(--lightColor);
}

.toggle-head p {
    line-height: 1.75 !important;
    color: rgba(255, 255, 255, 0.5);
    transition: 0.5s all;
}

.toggle-head:hover span:after {
    transform: translateY(6px);
}

.toggle-head span:after {
    position: absolute;
    left: 0px;
    top: 10px;
    content: "";
    width: 17px;
    height: 17px;
    background: url(../_img/BTN-Arrow-Light-Down.svg) no-repeat center center;
    background-size: contain;
    transition: 0.2s all;
    opacity: 0.5;
}

.toggle-content {
    display: none;
    padding: 15px 15px 10px 15px;
    position: absolute;
    background-color: var(--lightColor);
    width: 100%;
    margin-top: -2px;
}

.toggle-content p {
    padding-bottom: 5px !important;
    font: 400 normal var(--paragraphs) "DM Sans", sans-serif;
    line-height: 1.35 !important;
}

.toggle-content p a {
    color: var(--quaternaryColor) !important;
    border-bottom: none;
    font-size: var(--smallFS);
}

.toggle-content p a:hover {
    opacity: 0.5;
}

@media screen and (max-width:991px) {
    .toggle-head span:after {
        width: 15px;
        height: 15px;
        background-size: 15px 15px;
    }
}

@media screen and (max-width:767px) {
    .toggle-wrap {
        margin-bottom: 15px;
    }

    .toggle-head span:after {
        top: 9px;
    }
}

/* 4. Impressum, Datenschutz & Co
##################################################### */

.page-impressum #contentwrap h1,
.page-datenschutz #contentwrap h1,
.page-imprint #contentwrap h1,
.page-privacy-policy #contentwrap h1,
.page-agb #contentwrap h1,
.page-terms-of-use #contentwrap h1 {
    margin-bottom: 40px;
}

.page-impressum #contentwrap h2,
.page-datenschutz #contentwrap h3,
.page-imprint #contentwrap h2,
.page-privacy-policy #contentwrap h3 {
    font: normal 500 var(--quaternaryHead) 'DM Sans', serif;
    margin-bottom: 20px;
}

.page-datenschutz #contentwrap h2,
.page-privacy-policy #contentwrap h2 {
    font-size: var(--tertiaryHead);
    margin-bottom: 20px;
}

.page-agb #contentwrap h4,
.page-terms-of-use #contentwrap h4{
    font-size: var(--quaternaryHead);
    margin-bottom: 10px;
}

.page-impressum #contentwrap p,
.page-datenschutz #contentwrap p,
.page-imprint #contentwrap p,
.page-privacy-policy #contentwrap p,
.page-agb #contentwrap p,
.page-terms-of-use #contentwrap p {
    font-size: var(--paragraphs);
}

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

footer {
    margin-top: auto;
    flex: 0 0 100%;
    color: var(--primaryColor);
    padding-top: 70px;
    padding-bottom: 30px;
}

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

footer p a:hover {
    text-decoration: underline;
}

#footer-top .row {
    align-items: center;
}

#footer-top a:not(.footer-logo) {
    color: var(--secondaryColor);
    font: normal 400 var(--secondaryHead) 'DM Serif Display', serif;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

#footer-top a:not(.footer-logo) svg {
    margin-right: 20px;
    margin-top: 15px;
    width: 60px;
    height: 52.5px;
    object-fit: contain;
}

#footer-top a:not(.footer-logo):hover,
#footer-top a:not(.footer-logo):hover svg path {
    color: var(--quaternaryColor);
    fill: var(--quaternaryColor);
}

#footer-top .footer-logo svg {
    width: 200px;
    height: auto;
    margin-bottom: 70px;
}

#footer-middle:before,
#footer-middle:after {
    height: 1px;
    display: block;
    width: calc(100% + 30px);
    transform: translateX(-15px);
    content: "";
    background-image: linear-gradient(to right, #52412E, #52412E);
}

#footer-bottom .col-12 {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

#footer-bottom a, #footer-bottom p {
    font: normal 400 var(--smallFS) 'DM Sans', sans-serif;
    color: rgba(255, 255, 255, 0.5);
}

#footer-bottom a:after {
    color: rgba(255, 255, 255, 0.5) !important;
}

#footer-bottom a:hover {
    color: var(--lightColor);
    text-decoration: none;
}

#footer-bottom a:not(:last-of-type):after {
    content: " .";
}

#footer-bottom img {
    transition: 0.35s all;
    width: 100px;
    height: auto;
}

#footer-bottom img:hover {
    opacity: 0.5;
}

@media screen and (max-width:991px) {
    footer {
        padding-top: 50px;
        padding-bottom: 20px;
    }

    #footer-bottom .col-12 {
        margin-top: 30px;
    }

    #footer-bottom img {
        width: 75px;
    }

    #footer-top a:not(.footer-logo) svg {
        margin-right: 15px;
        margin-top: 7.5px;
        width: 45px;
        height: 40px;
        object-fit: contain;

    }

    #footer-top .footer-logo svg {
        width: 145px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width:767px) {
    #footer-top a:not(.footer-logo) {
        letter-spacing: -0.5px;
    }

    #footer-top p {
        font-size: var(--smallFS);
    }

    #footer-bottom .col-12 {
        flex-direction: row-reverse;
    }

    #footer-top .row {
        flex-direction: column-reverse;
    }

    #footer-top a:not(.footer-logo) svg {
        display: none;
    }

    #footer-bottom #copy {
        width: 100%;
        flex: 0 0 100%;
        margin-top: 35px;
    }
}

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

/* Slick Slider */
.slick-prev, .slick-next {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 42px;
    height: 42px;
    border-radius: 0;
    border: none;
    font-size: 0px;
    cursor: pointer;
    transform: translate3d(0, 0, 0);
    background-image: url(../_img/Slider-Arrow-Left.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
    transition: 0.35s all;
}

.slick-prev {
    left: calc(-8.3333% - 5px);
}

.BGprimaryGradient .slick-prev {
    background-image: url(../_img/Slider-Arrow-Left-Light.svg);
}

.slick-next {
    right: calc(-8.3333% - 5px);
    background-image: url(../_img/Slider-Arrow-Right.svg);
}

.BGprimaryGradient .slick-next {
    background-image: url(../_img/Slider-Arrow-Right-Light.svg);
}

.slick-prev:hover {
    transform: translateX(-15px);
}

.slick-next:hover {
    transform: translateX(15px);
}

@media screen and (max-width:991px) {
    .slick-prev, .slick-next {
        width: 30px;
        height: 30px;
    }
}

@media screen and (max-width:767px) {
    .slick-prev, .slick-next {
        display: none !important;
    }
}

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

* {
    min-height: 0;
    min-width: 0;
}


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


.slick-slide>div,
.slick-slide>div>div,
.slick-slide>div>div>div {
    height: 100%;
}

.slick-slide>div>div>div {
    display: flex;
    flex-wrap: wrap;
}

@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-slider .slick-list, .slick-track, .slick-slide, .slick-slide img {
    -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);
}

.slick-track {
    display: flex !important;
}

.slick-slide {
    height: inherit !important;
}

.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-loading .slick-track {
    visibility: hidden;
}

.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-loading .slick-slide {
    visibility: hidden;
}

.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(.btn-img) {
    display: block;
    width: 100%;
}

.slick-slide img.slick-loading {
    display: none;
}

/*Shariff*/
.shariff-wrap {
    margin-top: 60px;
}

.shariff-wrap p {
    font-size: var(--smallFS);
}

.shariff .theme-round .shariff-icon svg path {
    fill: var(--lightColor) !important;
}

.shariff .shariff-buttons.theme-round.orientation-horizontal li:hover svg path {
    opacity: 0.5;
}

.shariff .shariff-buttons.theme-round.orientation-horizontal li,
.shariff .shariff-buttons.theme-round.orientation-horizontal li a {
    background-color: rgba(0, 0, 0, 0) !important;
    margin: 0 !important;
}

.shariff .shariff-buttons.theme-round.orientation-horizontal {
    margin-left: -7.5px !important;
}

@media screen and (max-width:767px) {
    .shariff-wrap {
        margin-top: 30px;
    }
}

/*WPCF7*/
@media screen and (min-width:768px) {
    .form-inner-wrap {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -15px;
    }

    .form-inner-wrap>.wpcf7-form-control-wrap:not([data-name="your-message"]) {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0 15px;
    }

    .wpcf7-form-control-wrap[data-name="your-message"] {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 15px;
    }
}

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

.wpcf7 form p {
    padding: 0 0px;
}

.wpcf7 label {
    display: block;
}

.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="file"]),
.wpcf7 textarea,
.wpcf7 select {
    appearance: none;
    -webkit-appearance: none;
    border: none;
    border-bottom: 2px solid var(--darkColor);
    background-color: rgba(0, 0, 0, 0);
    appearance: none;
    padding: 0px 0px;
    margin: 0px 0 30px 0;
    width: 100%;
    outline: 0;
    font: normal 400 var(--tertiaryHead) 'DM Serif Display', serif;
    line-height: 1.125;
    resize: none;
    color: var(--darkColor);
    max-height: 65px;
    min-height: 65px;
    border-radius: 0px !important;
}

.wpcf7 select {
    background: url(../_img/arrow-down.svg) no-repeat calc(100% - 15px) center;
    background-size: 45px 45px;
    margin-bottom: 25px;
}

.wpcf7 small {
    color: var(--darkColor);
}

.wpcf7 input[type="submit"] {
    height: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    appearance: none;
    -webkit-appearance: none;
    line-height: 0 !important;
    border-radius: 0px !important;
    border: none;
    padding: 0;
    margin: 0;
    text-align: right;
    color: var(--darkColor);
    font: normal 500 var(--paragraphs) 'DM Sans', sans-serif;
    background-color: var(--lightColor);
    text-transform: uppercase;
}

.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: 0.5;
}

.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(--quaternaryColor) !important;
    display: block !important;
    margin: -15px 15px 5px 0px !important;
    font: normal 400 var(--smallFS) 'DM Sans', sans-serif !important;
}

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

@media screen and (max-width:991px) {
    .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="file"]) {
        max-height: 45px !important;
        min-height: 45px !important;
    }

    .wpcf7 textarea {
        min-height: 125px;
        padding: 0;
    }
}

::placeholder {
    color: var(--darkColor);
    font: normal 400 var(--biggerParagraphs) 'DM Sans', sans-serif;
    opacity: 1;
}

.DatenschutzCheck {
    display: block;
    text-align: left;
    width: calc(100% - 0px);
    font: normal 400 var(--smallFS) 'DM Sans', sans-serif;
    line-height: 175% !important;
    pointer-events: auto;
    opacity: 1;
    max-height: 600px;
    transition: 0.5s all;
    margin: 15px;
}

.DatenschutzCheck .wpcf7-list-item-label,
.DatenschutzCheck p {
    line-height: 200% !important;
    font: normal 400 var(--smallFS) 'DM Sans', sans-serif !important;
}

.DatenschutzCheck p {
    margin: 7.5px 0 15px 0 !important;
}

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

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

.DatenschutzCheck a {
    color: var(--darkColor);
    border-bottom: 1px dotted var(--darkColor);
}

.wpcf7-checkbox .wpcf7-list-item-label {
    font: normal 400 var(--paragraphs) 'DM Sans', sans-serif;
    margin-right: 20px;
}

.wpcf7 input[type="checkbox"] {
    margin: 0 5px -2px 0px;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    padding: 3px;
    height: 20px !important;
    width: 20px !important;
    border: 2px solid var(--darkColor);
    position: relative;
    transition: 0.25s all;
    cursor: pointer;
    border-radius: 0px !important;
}

.DatenschutzCheck input[type="checkbox"] {
    height: 15px !important;
    width: 15px !important;
    border: 1px solid var(--darkColor);
    margin: 0 5px -2px 0px;
}

.wpcf7 input[type=checkbox]:checked:after {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    content: "";
    background-color: var(--darkColor);
    display: inline-block;
}

.wpcf7 ::placeholder {
    opacity: 0.5;
}

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

    .wpcf7 input[type="checkbox"] {
        margin: 0 5px -5px 0px;
    }
}

@media screen and (max-width:767px) {
    .DatenschutzCheck {
        margin-left: 0px !important;
    }
}

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

.wpcf7 form.sent .wpcf7-response-output {
    display: none !important;
}

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

    .wpcf7-form-control.wpcf7-checkbox>span {
        display: block;
    }
}