/*
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: #ededed;
    --darkGray: #808080;
    --darkerGray: #606060;
    --darkColor: #383E42;
    --primaryColor: #27306F;
    --secondaryColor: #F9AF43;
    --shadedSecondaryColor: #ee9844;
    --tertiaryColor: #5ABE55;
    --shadedTertiaryColor: #4b9e46;

    /*Font-Sizes*/
    --displayHead: 4rem;
    --primaryHead: 2.75rem;
    --secondaryHead: 1.325rem;
    --tertiaryHead: 1.875rem;
    --quaternaryHead: 1.5rem;
    --chapterHead: 3.625rem;
    --sublineFS: 2rem;
    --biggerParagraphs: 1.125rem;
    --paragraphs: 1.125rem;
    --btnFS: 1.125rem;
    --smallFS: 0.875rem;
    --smallerFS: 0.875rem;
    --menuFS: 1.0625rem;
}

@media screen and (max-width: 1299px) {
    body {
        --menuFS: 1.25rem;
    }
}

@media screen and (max-width: 991px) {
    body {
        --displayHead: 2.125rem;
        --primaryHead: 1.75rem;
        --secondaryHead: 1.125rem;
        --tertiaryHead: 1.325rem;
        --quaternaryHead: 1.25rem;
        --chapterHead: 2.5rem;
        --sublineFS: 1.5rem;
        /*--biggerParagraphs: 1rem;
        --paragraphs: 0.875rem;
        --btnFS: 0.875rem;*/
        --smallFS: 0.75rem;
        --smallerFS: 0.625rem;
        --menuFS: 1.25rem;
    }
}

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

html, body {
    height: 100%;
}

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

img#bg {
    position: fixed;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    z-index: -1;
    pointer-events: none;
    background-color: var(--primaryColor);
}

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

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

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

h1, .h1, h2, .h2 {
    font: normal 600 var(--primaryHead) 'Montserrat', sans-serif;
    line-height: 1.325;
    margin-bottom: 20px;
    color: var(--secondaryColor);
}

h3, .h3 {
    font: normal 800 var(--tertiaryHead) 'Montserrat', sans-serif;
    line-height: 1.325;
    margin-bottom: 15px;
    color: var(--secondaryColor);
}

h4, .h4 {
    font: normal 500 var(--quaternaryHead) 'Montserrat', serif;
    line-height: 1.33;
    text-transform: uppercase;
    color: var(--primaryColor);
}

h5, h5 {
    font: 500 normal var(--paragraphs) 'Montserrat', sans-serif;
    line-height: 1.75 !important;
    color: var(--darkerGray);
}

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

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

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

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

#contentwrap section:first-of-type {
    margin-top: 120px;
}

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

    #contentwrap section:first-of-type {
        margin-top: 80px;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

@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: 42.85%;
}

.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-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 {
    padding: 20px 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

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

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

/**/

#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: 60px;
    max-height: 60px;
    font: normal 600 var(--btnFS) 'Montserrat', 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;
}

.btn-primary {
    color: var(--lightColor);
    background-image: linear-gradient(to bottom, var(--tertiaryColor) 50%, var(--shadedTertiaryColor) 50%);
}

.btn-secondary.btn {
    color: var(--lightColor);
    background-image: linear-gradient(to bottom, var(--secondaryColor) 50%, var(--shadedSecondaryColor) 50%);
    min-height: 40px;
    max-height: 40px;
    font: normal 500 var(--menuFS) 'Montserrat', sans-serif !important;
}

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

    .btn-secondary.btn {
        font: normal 500 0.9375rem 'Montserrat', sans-serif !important;
    }
}

/**/

.col-mobile-height {
    min-height: 600px;
}

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


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

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

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

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

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

@media screen and (max-width:767px) {
    .text p:not(:last-of-type),
    .text ul,
    .text ol {
        margin-bottom: 20px;
    }
}

/* Blogfeed*/

.blogfeed .btn.btn-allposts{
margin-top: 15px;
}

/* Bild */

.bild .full-width-img {
    max-height: 700px;
    object-fit: cover;
}

.bild img {

    filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.5));
}

/* Accordion-Section */

.akkordion-gruppe h2 {
    margin-left: 15px;
}

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: 1px solid #C18731;
    transition: 0.35s all;
}

#contentwrap .accordion>li:last-of-type {
    border-bottom: 1px solid #C18731;
    margin-bottom: 15px;
}

#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) 'Montserrat', 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;
    background-color: var(--primaryColor);
}

#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: rgba(196, 133, 60, 0.25);
}

#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:767px) {
    #contentwrap .accordion .inner ul li:before {
        width: 4px;
        height: 4px;
        top: 10px;
    }
}

@media screen and (max-width:767px) {
    .akkordion-gruppe h2 {
        margin-left: 30px;
    }

    #contentwrap ul.accordion {
        margin-left: 15px;
        margin-right: 15px;
    }

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

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

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

/**Hero*/

.hero .row{
    align-items: center;
}

.hero h1 {
    font-size: var(--displayHead) !important;
    line-height: 1.15 !important;
}

.hero h1 span {
    font: normal 400 var(--sublineFS) 'Montserrat', sans-serif !important;
    display: block;
    color: var(--lightColor) !important;
    margin-top: 5px;
}

.hero-img {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.hero li {
    background-color: var(--lightColor) !important;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.75);
}

@media screen and (max-width:991px) {
    .hero .FC-Icons{
        left:45px;
        bottom:-25px;
    }

    .hero h1 {
        line-height: 1.15 !important;
    
        bottom: 40px;
        left:45px;
        margin-bottom: 10px;
        width: calc(100% - 90px);
    }
}

@media screen and (min-width:768px) {
    .hero .FC-Icons{
        position: absolute;
        left:60px;
        bottom:-27.5px;
        z-index: 2;
    }

    .hero h1 {
        position: absolute;
        bottom: 45px;
        left:60px;
        margin-bottom: 10px;
        z-index: 2;
        width: calc(100% - 120px);
    }

    .hero .p-r:after{
        position: absolute;
        bottom:-1px;
        left:15px;
        width: calc(100% - 30px);
        z-index: 1;
        height: 75%;
        background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7));
        content:"";
    }    
}

@media screen and (max-width:768px) {
    .hero h1 {
        width: calc(100% - 0px);
        margin-top: 30px;
        line-height: 1.20 !important;
    }

    .hero .FC-Icons{
      margin-bottom: -20px;
      margin-top: 20px;
    }
}

/**Hero Freisteller*/

.hero-freisteller .row{
    align-items: flex-end;
    margin: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.hero-freisteller.hero img{
    box-shadow: none;
    margin: -27.5px 0;
}

.hero-freisteller.hero h1{
    left:45px;
    bottom:35px;
    line-height: 1.1 !important;
}

.hero-freisteller.hero h1 span{
    color: var(--primaryColor) !important;
}

.hero-freisteller .row > div:last-of-type{
    filter: drop-shadow( 0 0 20px rgba(0, 0, 0, 0.5));
}

@media screen and (max-width:767px) {
    .hero-freisteller.hero h1{
        margin: 15px 0 30px 15px;
    }
    .hero-freisteller.hero img{
        box-shadow: none;
        margin: -25px -32.5px 0 -32.5px;
        width: calc(100% + 65px);
    }
}

/*Table Box*/

#contentwrap .table-box {
    padding-top: 10px;
    padding-bottom: 10px;
}

table {
    width: 100%;
    font: normal 400 var(--paragraphs) 'Montserrat', sans-serif !important;
    color: var(--darkGray);
}

table th {
    color: var(--darkerGray);
    font-weight: 600;
    border-bottom: 1px solid var(--darkGray);
}

table caption {
    font: normal 600 var(--secondaryHead) 'Montserrat', sans-serif !important;
    color: var(--secondaryColor);
    text-align: left;
    margin-bottom: 7.5px;
}

table th,
table td {
    padding: 15px;
    text-align: center;
    border-left: 1px solid var(--darkGray);
}

table tr th:first-of-type,
table tr td:first-of-type {
    text-align: left;
    padding-left: 0px;
    border-left: none;
    width: auto;
}

.table-box .additional-info {
    margin-top: 20px;
}

.table-box .additional-info p{
    color: var(--darkerGray);
}

.table-box .additional-info p span{
    font-weight: 600;
}

.table-box .additional-info small{
    color: var(--darkGray);
    font-style: italic;
    padding-left: 0px;
}

.table-box .additional-info .slide-toggle,
.table-box .additional-info .toggle-box{
padding: 7.5px 0px;
}

.table-box .additional-info .slide-toggle{
    display: block;
    padding: 7.5px 25px 7.5px 0px;
    position: relative;
    padding-left: 0px;
}

.table-box .additional-info .slide-toggle:after{
    content: "\00f6 ffnen";
    display: inline-block;
    margin-left: 5px;
}

.table-box .additional-info .slide-toggle.active:after{
    content: "schlie\00df en";
    display: inline-block;
}

.table-box .additional-info .slide-toggle:before{
    content: '';
    position: absolute;
    right: 0px;
    top:22.5px;
    width: 0; 
    height: 0; 
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid var(--darkerGray);
    content: '';
}

.table-box .additional-info .slide-toggle.active:before{
    width: 0; 
    height: 0; 
    top:15px;
    border-top: 6px solid transparent;
    border-left: 6px solid transparent;
    border-right:6px solid transparent;
    border-bottom: 6px solid var(--darkerGray);
}

.table-box .additional-info .toggle-box{
    display:none;
}

#contentwrap .additional-info table.price-calculation:first-of-type{
    margin-top: 0px;
}

#contentwrap .additional-info table.price-calculation {
    margin: 10px 0;
}

#contentwrap .additional-info table.price-calculation td{
    border: none !important;
    padding: 5px 0px;
}

#contentwrap .additional-info table.price-calculation tr td:first-of-type{
    width: auto;
}

#contentwrap .additional-info table.price-calculation tr td:last-of-type{
    text-align: right;
}

#contentwrap .additional-info table.price-calculation tr.end-sum td{
 
  padding: 15px 0px;
  position: relative;
}

#contentwrap .additional-info table.price-calculation tr.end-sum td:before{
    content:"";
    position: absolute;
    height:1px;
    top:5px;
    left:0;
    width: 100%;
    background-color: var(--darkGray);

}

#contentwrap .additional-info h5{
font: normal 600 var(--secondaryHead) 'Montserrat', sans-serif !important;
color: var(--secondaryColor);
text-align: left;
margin-bottom: 5px;
margin-top: -20px;
}

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

    #contentwrap .table-box table th,
    #contentwrap .table-box table td {
        width: 135px;
    }

    section.table-box .row {
        margin-left: -30px;
        margin-right: -30px;
    }
}

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

    #contentwrap .table-box table th,
    #contentwrap .table-box table td {
        width: 115px;
    }

    #contentwrap .additional-info table.price-calculation tr td:last-of-type{
        width: 185px;
    }

    #contentwrap .table-box table th,
    #contentwrap .table-box table td {
        padding: 10px;
    }

    table {
        hyphens: auto;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto;
    }

    .table-box .box {
        width: calc(100% - 30px);
        margin: 0 15px;
    }
}

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

    #contentwrap .table-box table th,
    #contentwrap .table-box table td {
        width: 80px;
    }

    #contentwrap .additional-info table.price-calculation tr td:last-of-type{
        width: 154px;
    }
}

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

    #contentwrap .table-box table th,
    #contentwrap .table-box table td {
        padding: 7.5px;
        width: 50px;
        font-size: var(--smallerFS);
    }

    #contentwrap .additional-info p,
    #contentwrap .additional-info small{
         font-size: var(--smallerFS) !important;
         line-height: 1.2 !important;
    }

    .table-box .additional-info .slide-toggle:before{
        top:12px;
        border-bottom: 4px solid transparent;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        border-top: 4px solid var(--darkerGray);
    }
    
    .table-box .additional-info .slide-toggle.active:before{
        top:7.5px;
        border-top: 4px solid transparent;
        border-left: 4px solid transparent;
        border-right:4px solid transparent;
        border-bottom: 4px solid var(--darkerGray);
    }
    
}

/*Contentbox*/

.content-box .box {
    padding: 20px 20px;
    height: 100%;
}

.content-box .box > div.BGprimaryColor{
    margin: -20px -20px 0px -20px;
    padding: 20px 20px 0px 20px;
    width: calc(100% + 40px);
}

.content-box .box > div.BGprimaryColor .icons-wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 30px;
}

.content-box .box > div.BGprimaryColor .icons-wrap img{
    height: 50px;
    width: auto;
}

.content-box .box > div.BGprimaryColor .icons-wrap img:not(:first-of-type){
    transform: translateY(-7.5px);
    height: 55px;
}

.content-box .box > div.BGprimaryColor p{
    color: var(--lightColor);
    margin-top: 0;
    margin-bottom: 15px;
}

.content-box .single-box .box {
    margin: 0 15px;
}

.content-box-segment {
    padding: 20px 0;
    border-bottom: 1px solid var(--darkGray);
}


.content-box-segment:last-of-type {
    border-bottom: 0px solid var(--darkGray);
    padding-bottom: 0px;
}

.content-box h2.chapter {
   
    font-size: var(--chapterHead);
    margin-bottom: -5px;
}

.content-box p,
.content-box li {
    color: var(--darkGray);
}

.content-box p{
    margin-top: 15px;
}

.content-box h3 {
    font-size: var(--secondaryHead);
    margin-bottom: 5px;
}

.content-box h5 {
    margin-bottom: 6px;
}

@media screen and (min-width:992px) {
    .content-box .row {
        margin-left: -45px;
        margin-right: -45px;
    }
}

@media screen and (max-width:767px) {
    .content-box.two-col .row>div:last-of-type {
        margin-top: 20px;
    }
    .content-box .box > div.BGprimaryColor .icons-wrap img{
        height: 40px;
        width: auto;
    }
    
    .content-box .box > div.BGprimaryColor .icons-wrap img:not(:first-of-type){
        transform: translateY(-5px);
        height: 47.5px;
    }

.content-box .box > div.BGprimaryColor .icons-wrap{

    margin-top: 20px;
}
}

/*Highlightbox*/

.highlight-box h3{
    display: flex;
    margin-bottom: 10px;
}

.highlight-box .img-wrap{
    max-width: 35px;
    margin-right: 15px;
    flex: 0 0 calc(0% + 45px)
}

.highlight-box .img-wrap img{
    object-fit: contain;
}

.highlight-box .row{
    margin-top: -15px;
    margin-bottom: -15px;
}

.highlight-box .box{
   margin: 15px 0;
}

.highlight-box .box p{
    color: var(--darkerGray);
}

@media screen and (max-width:991px){
    .highlight-box .row{
        margin-top: -7.5px;
        margin-bottom: -7.5px;
    }
    
    .highlight-box .box{
       margin: 7.5px 15px;
    }

    .highlight-box h3{
        align-items: center;
        margin-bottom: 5px;
    }
}

/*Highlight Image box*/

.highlight-image-box .box{
    display: flex;
    flex-wrap: wrap;
    position: relative;
padding: 30px;}

.highlight-image-box .box > div:first-of-type{
    flex: 0 0 70%
}

.highlight-image-box .box .img-wrap{
   width: 30%;
   right: 15px;
   
    height: calc(100% + 40px);
    top: -20px;
    position: absolute;
    overflow: visible;
}

.highlight-image-box .box .img-wrap img{
    object-fit: contain;
    transition: 0.35s all;
}

.highlight-image-box .box:hover img{
    transform: scale(1.1);
}

.highlight-image-box h2{
    line-height: 1.125 !important;
    margin-bottom: 0px;
}

.highlight-image-box h2 span {
    font: normal 400 var(--sublineFS) 'Montserrat', sans-serif !important;
    display: block;
    color: var(--primaryColor) !important;
    margin-top: 5px;
}


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

  
.highlight-image-box .box{
    display: block;
padding: 20px;}  

.highlight-image-box .box .img-wrap{
    max-width: 200px;
width: 100%;
     top: auto;
     position: relative;
     margin: 0px 0 -35px 20px;
 }


.highlight-image-box .box .img-wrap img{
    object-position: center bottom;
}
}

/*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 p a.mail,
.bildtext p a.tel {
    padding-left: 37.5px;
    border-bottom: none;
}

.bildtext p a.mail:before,
.bildtext p a.tel:before {
    position: absolute;
    left: 0;
    top: -1.5px;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 24px;
    height: 24px;
}

.bildtext p a.mail:before {
    background-image: url(../_img/Icon-Mail-Small.svg);
}

.bildtext p a.tel:before {
    background-image: url(../_img/Icon-Phone-Small.svg);
}

.bildtext .img-wrap {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

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

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

    .bildtext p a.mail,
    .bildtext p a.tel {
        padding-left: 30px;
    }

    .bildtext p a.mail:before,
    .bildtext p a.tel:before {
        top: 0px;
        width: 20px;
        height: 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-Boxen*/

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

.prozess-boxen .row > div{
    margin: 7.5px 0;
    padding: 0;
}
.prozess-boxen .row > div > div{
padding: 20px;
display: flex;
align-items: center;
}

.prozess-boxen .img-wrap{
    max-width: 50px;
    margin-right: 15px;
    flex:  0 0 50%;
}

.prozess-boxen .img-wrap img{
    object-fit: contain;
    object-position: center bottom;
}

.prozess-boxen h3{
    margin-bottom: 0px;
    font-size: 1.325rem;
}

@media screen and (min-width:768px) {  
    .prozess-boxen .row > div:nth-of-type(1) > div{
        clip-path: polygon(0% 0%, calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%);
    }

    .prozess-boxen .row > div:nth-of-type(2) > div{
        clip-path: polygon(calc(100% - 20px) 0%, 100% 50%, calc(100% - 20px) 100%, 0% 100%, 20px 50%, 0% 0%);
        padding-left: 40px;
    }

    .prozess-boxen .row > div:nth-of-type(3) > div{
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 20px 50%);
        padding-left: 40px;
    }
    .prozess-boxen .container{
    padding-right: 30px;
    padding-left:30px
}
}

@media screen and (max-width:767px) { 
    .prozess-boxen .row > div{
        margin-left:   15px;
        margin-right:   15px;
        max-width: calc(100% - 30px);
    }

    .prozess-boxen .img-wrap {
        max-width: 40px;
    }

    .prozess-boxen .row > div:first-of-type > div{position: relative;}

      .prozess-boxen .row >  div:first-of-type > div:after{
        content: '';
        position: absolute;
        left: 20px;
        top: 100%;
        width: 0;
        height: 0;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 10px solid var(--lightColor);
        clear: both;
    }

 .prozess-boxen .row > div:nth-of-type(2) > div{
     padding-bottom: 30px;
    
        clip-path: polygon(20px 0, 40px 10px, 60px 0, 100% 0, 100% calc(100% - 10px), 60px calc(100% - 10px), 40px 100%, 20px calc(100% - 10px), 0 calc(100% - 10px), 0 0); 
    }

    .prozess-boxen .row > div:nth-of-type(3) > div{
        margin-top: -10px;
        padding-top: 25px;
        padding-bottom: 25px;
        clip-path: polygon(20px 0, 40px 10px, 60px 0, 100% 0, 100% 100%, 0 100%, 0 0);
       }

}

/*Icon-Zeile*/

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

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

.icon-wrap {
    background-color: #fff;
    border-radius: 50%;
    width: 100%;
    padding-bottom: 100%;
    position: relative;
    margin-bottom: 25px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

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

.icon-zeile img.icon {
    position: absolute;
    width: 65px;
    height: 65px;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: 0.35s all;
    display: inline-block;
}

.icon-zeile .hover-icon>div:hover img.icon {
    width: 75px;
    height: 75px;
}

.icon-zeile .row.icon-row {
    align-items: flex-start;
    justify-content: space-evenly;

}

.icon-zeile .center>div {
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 140px;
}

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

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

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

    .icon-zeile .hover-icon>div:hover img.icon {
        width: 60px;
        height: 60px;
    }
}

/*Icon Zeile Half*/

.icon-zeile-half h3 {
    font: normal 600 var(--sublineFS) 'Montserrat', sans-serif !important;
}

.icon-zeile-half .row {
    align-items: flex-start;
}

@media screen and (max-width:767px) {
    .icon-zeile-half .icon-row {
        margin-top: 15px;
    }

}

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

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

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

.FC-Icons ul li {
    background-color: var(--primaryColor);
    height: 55px;
    border-radius: 50%;
    width: 55px;
    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 {
    transform: scale(1.1);
}

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

@media screen and (max-width:991px) {
    .FC-Icons ul li {
        height: 50px;
        width: 50px;
    }

    .FC-Icons ul li img,
    .FC-Icons ul li svg {
        height: 22.5px;
        width: 22.5px;
    }
}

/* 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 #contentwrap .single-intro.text img{
    max-width: 100%;
    margin-bottom: 25px;
}

.single #contentwrap .single-intro.text h2{
    font-size: var(--tertiaryHead);
}

.single #contentwrap .single-intro.text h3{
    font-size: var(--quaternaryHead);
    color: var(--secondaryColor);
}

.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) 'Montserrat', sans-serif;
}

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

/*Post*/

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

 .cpt-item a {
    display: inline-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 h2 {
    margin-bottom: 10px;
}

.cpt-item p{
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;  
overflow: hidden;
}

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

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

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

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

/* 4.4 Pagination*/
.pagination-row .page-numbers {
    font: normal 700 var(--btnFS) 'Montserrat', serif;
    background-color: var(--lightColor);
    width: 55px;
    color: var(--primaryColor);
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 0;
    margin: 0 5px;
}

.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) scale(1.1);
    text-decoration: none;
}

.pagination-row .page-numbers.current {
    background-color: var(--secondaryColor);
}

.pagination-row .page-numbers.next,
.pagination-row .page-numbers.prev {
    font: normal 700 var(--btnFS) 'Montserrat', serif;
}

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

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

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

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

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

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

footer p {
    margin-bottom: 30px;
}

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

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

footer .FC-Icons {
    margin: 15px 0 60px 0;
}

@media screen and (max-width:767px) {
    footer p {
        margin-bottom: 20px;
    }
}

/*Impressum & Co*/

.page-impressum h2 {
    font-size: var(--quaternaryHead);
}

.page-datenschutzerklaerung h3 {
    font-size: var(--secondaryHead);
}

.page-datenschutzerklaerung h4{
    color: var(--lightColor);
    text-transform: none;
    font-size: var(--secondaryHead);
}

.page-datenschutzerklaerung h2 {
    font-size: var(--quaternaryHead);
}

/*PopUp*/

#PopUp{
    position: fixed;
    height: 100vh;
    width: 100vw;
    transition: 0.35s all;
    opacity: 0;
    pointer-events: none;
    z-index: 111;
    top:0;
    left:0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.35s opacity 0s;
    overflow: scroll;
}

#PopUp.show-popup{
    opacity: 1;
    pointer-events: all;
    transition: 0.35s opacity 1s;
}

#PopUp:after{
    content:"";
    position: fixed;
    top:0;
    left:0;
    height: 100vh;
    width: 100vw;
    background-color: var(--secondaryColor);
    opacity: 0.95;
    z-index: -1;
}

#PopUp-inner{
    width: 100%;
    max-width: 660px;
    padding: 0px 30px 0px 30px;
    position: relative;
    max-height: calc(100vh - 0px);
}

@media screen and (max-width:991px) {
    #PopUp-inner{
        width: 100%;
        max-width: 600px;
    }  
}

#PopUp-inner img{
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5) !important;
object-fit: contain;
margin-bottom: 30px;
margin-top: 30px

}

#PopUp-close{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 30px;
    top: 30px;
    width: 30px;
    height: 30px;
    background-color: var(--lightColor);
    color:var(--primaryColor);
    font: normal 600 24px 'Montserrat', sans-serif !important;
    cursor: pointer;
}

/* 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 h4 {
    text-transform: none;
    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 #C4853C;
    background-color: rgba(0, 0, 0, 0);
    appearance: none;
    padding: 0px 15px;
    margin: 0px 0;
    width: 100%;
    outline: 0;
    font: normal 400 var(--paragraphs) 'Montserrat', sans-serif;
    resize: none;
    color: var(--lightColor);
    max-height: 60px;
    min-height: 60px;
}

.wpcf7 select {
    color: #C4853C;
    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: #C4853C;
}

@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(--lightColor) !important;
    font-size: var(--smallerFS) !important;
    display: block !important;
    margin: 5px 15px 0 15px !important;
}

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

::placeholder {
    color: #C4853C;
    font: normal 400 var(--btnFS) 'Montserrat', 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) 'Montserrat', 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) 'Montserrat', sans-serif;
}

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

/*Kalender*/

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

.simcal-calendar li::before {
    display: none !important;
}

.simcal-calendar li {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    font-size: 0.875rem !important;
    line-height: 1.25 !important;
    color: var(--darkGray) !important;
    padding: 8.5px 10px 10px 10px !important;
}

.simcal-calendar .simcal-day-number {
    color: var(--darkerGray) !important;
    padding: 3.5px !important;
}

.simcal-align-right {
    display: none !important;
}

.simcal-today>div {
    border: none !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day:hover {
    background-color: var(--lightColor) !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-has-events .simcal-day-number {
    background-color: var(--primaryColor) !important;
    color: var(--lightColor) !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-today .simcal-day-number {
    background-color: var(--secondaryColor) !important;
    color: var(--lightColor) !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number,
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void {
    background-color: var(--lightGray) !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void:hover {
    background-color: var(--lightGray) !important;
}

.simcal-calendar th {
    border: none !important;
}

.simcal-event-bubble {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5) !important;
    background-color: var(--secondaryColor) !important;
}

.simcal-tooltip-content p {
    color: var(--lightColor) !important;
    line-height: 1.33 !important;
}

.simcal-tooltip-content p:last-of-type {
    margin-bottom: 0px !important;
}

@media screen and (max-width:767px) {
    .simcal-calendar li {
        font-size: 0.5rem !important;
        padding: 5px !important;
    }
}


/*Shariff*/
.shariff-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.shariff-wrap p {
    margin-right: 10px;

}

#contentwrap .shariff-wrap ul {
    display: flex !important;
    margin-left: 10px !important;
}

#contentwrap .shariff-wrap li {
    background-color: var(--lightColor) !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(--primaryColor) !important;
}

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

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

@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: 'Montserrat', sans-serif !important;
   font: normal 500 var(--menuFS) 'Montserrat', 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;
background-color: var(--lightColor);
font: normal 500 var(--smallerFS) 'Montserrat', sans-serif !important;
}

body .menu-item-gtranslate > div .gt_options img{
transform: translateY(-1.5px);
width: 15px;
display: none;
margin: 0 2.5px 0 0;
}

body .menu-item-gtranslate > div .gt_options a{
    padding: 7.5px 10px;
}

body .menu-item-gtranslate > div .gt_options a:hover{
    background-color: var(--lightColor);
   color: #fff !important;
    color: var(--primaryColor) !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-selected .gt-current-lang:has(.gt_arrow_rotate):after{
    position: absolute;
    height: 1.5px;
    content:"";
    width: calc(100% + 4px);
    border-radius: 0;
    background-color: var(--darkGray);
    opacity: 0.2;
    left: -2px;
   bottom:-2.5px;
   overflow: visible;

}

@media screen and (max-width:1299px) {
    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{
        padding-top: 17.5px;
        position: relative;
        margin-top: 5px;
  
    }
    body .gt_float_switcher:after{ 
        position: absolute;
        height: 1.5px;
        content:"";
        width: 84px;
        border-radius: 0;
        background-color: var(--darkGray);
        opacity: 0.2;
        left: 0px;
       top: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 'Montserrat', 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(--lightColor);
    bottom: -115px;
    color: var(--darkGray);
    content: 'Um den Sprachwähler zu nutzen musst Du das Laden externer Medien akzeptieren.';
    display: block;
    left: calc(-50% + 30px);
    padding: 0px 10px 7.5px 10px;
    position: absolute;
    z-index: 98;
    width: 150px;
    height: 95px;
    white-space: normal;
    line-height: 1;
    font: normal 400 var(--smallFS) 'Montserrat', sans-serif;
  }

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

  @media screen and (max-width:1299px) {
    .menu-item-gtranslate > div:empty:hover:after {
        bottom: -52.5px;
        padding: 0 5px;
        width: 300px;
        height: 40px;
    }
    .menu-item-gtranslate > div:empty:hover:before {
        bottom: -15px;
    }
  }

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