/*
Theme Name: Bridge Child
Description: Bridge Child Theme
Author: Qode Interactive
Template: bridge
Version: 1.0.0
*/
/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: bridge
Template: bridge
*/
/* Top Navigation Links */

nav.main_menu ul li a {
    text-transform: none;

}

nav.main_menu>ul>li>a {
    font-size: 16px;
    text-transform: uppercase;
}

nav.main_menu ul li:hover a {}

nav.main_menu li.current-menu-item a {}

.header_top_bottom_holder {
    padding: 10px 0px;
}

header {
    background-color: #fff;
}

.q_logo a {
    height: 40px !important
}

/* Stelle sicher, dass alle Links einen Pointer-Cursor haben */
a,
a:hover,
a:focus,
a:active {
    cursor: pointer !important;
}

p a:hover {
    text-decoration: underline !important;
}

@media screen and (max-width: 1000px) {
    .header_inner .container_inner .header_inner_left {
        left: 20px !important;
    }

    .header_inner .container_inner {
        width: 100%;
    }

}

@media screen and (max-width: 768px) {
    .q_slider {
        display: none;
    }
}

body {
    font-size: 18px !important;
    line-height: 1.3 !important;
    cursor: default !important;
}

/* Stelle sicher, dass der Cursor überall sichtbar ist */
* {
    cursor: inherit;
}

html {
    cursor: default !important;
}

/* Links und klickbare Elemente zeigen Pointer-Cursor */
a,
button,
[role="button"],
input[type="submit"],
input[type="button"],
.cursor-pointer {
    cursor: pointer !important;
}

h1 {
    line-height: 1.2em;
}

a:hover {
    cursor: pointer !important;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: none;
}

h3 {
    text-transform: none !important;
}



#qode-jobs .slider_content,
#qode-projekte .slider_content {

    /*  top: inherit!important;
    bottom: 5%!important;   */
}

.carousel-inner .text.all_at_once {
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.slider_content.skrollable.skrollable-between {
    /*     width: auto !important;
 */
    text-align: center;
}

.carousel-inner .text.all_at_once p {
    font-size: 70px;
    font-family: 'DM Serif Text', sans-serif;
}

.carousel-inner p.q_slide_text {
    background-color: #dd0a2c;
    padding: 30px;
    text-shadow: none;

}

h2.h2_gross,
h2#kontakt {
    font-size: 50px;
    font-family: 'DM Serif Text', sans-serif;
}

.h3_50 h3 {
    font-size: 50px;
}

@media screen and (max-width:678px) {
    h2.h2_gross {
        font-size: 30px;
        line-height: 1.3;
    }

    h3 {
        font-size: 30px;
        line-height: 1.3;
    }

    .h3_50 h3 {
        font-size: 30px;
        line-height: 1.3;
    }

}

.carousel-inner .text.all_at_once:after {
    content: '';
    width: 80px;
    height: 80px;
    rotate: 45deg;
    display: block;
    position: absolute;
    left: 58px;
    justify-content: space-between;
    background-color: #dd0a2c;
    bottom: -23px;
}

.carousel-inner p.q_slide_text span {
    text-shadow: none;
    z-index: 100;
    position: relative;
}

/*** mobile teader***/
.teaser_mobile h1 {
    position: relative;
    text-align: center;
    background-color: #dd0a2c;
    font-size: 25px;
    line-height: 1.4;
    color: #fff!important;
    hyphens: auto;
    padding: 10px !important;
}

.teaser_mobile h1:after {
    content: '';
    width: 30px;
    height: 30px;
    rotate: 45deg;
    display: block;
    position: absolute;
    justify-content: space-between;
    background-color: #dd0a2c;
    left: 27px;
    bottom: -10px;
    z-index: -30;
}
#qode-projekte .carousel-inner .text.all_at_once:after {
    bottom: -25px;
    /*     left: calc(50% - 54px); */
    z-index: -100;
}

#qode-projekte .carousel-inner .slider_content {
    /*  left: 0 !important;
    width: 50% !important; */
}


body.qode-chrome.page-template-blog-masonry {
    hyphens: auto;
}

body.qode-chrome.page-template-blog-masonry .post_text_inner h2 {
    hyphens: none !important;
    word-break: none !important;
}

body.qode-chrome.page-template-blog-masonry .container_inner {
    position: initial;
}

.header_bottom .container_inner {
    position: relative;
}

.container .container_inner,
body.qode-chrome .container_inner {
    position: initial;
}

/* Keyframe-Animation für Laufschrift (von rechts nach links) */
@keyframes slideFromRightToLeft {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(calc(-50% - 0px), 0, 0);
    }
}

.laufschrift_aussen {
    width: 100% !important;
    position: absolute !important;
    left: 0;
    overflow: hidden;
}

.laufschrift {
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
}

.laufschrift .wpb_wrapper {
    display: flex;
    align-items: center;
    white-space: nowrap;
    width: max-content;
}

.laufschrift .wpb_wrapper p {
    font-family: 'Arial';
    font-weight: bold;
    font-size: 16vw;
    text-transform: uppercase;
    color: #f2f2f2 !important;
    line-height: 16vw;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0 10px;
    width: max-content;
    display: flex;
    align-items: center;
    animation: slideFromRightToLeft 15s linear infinite;
    will-change: transform;
}

@media (max-width: 600px) {
    /*    .laufschrift .wpb_wrapper p {
        font-size: 60px;
        line-height: 120px;
    }

.abstand_top_negativ h2:before {
    content: ' ';
    font-size: 120px;
    line-height: 120px;
    width: 0;
} */
}

.abstand_top_negativ h2:before {
    content: ' ';
    font-size: 16vw;
    line-height: 16vw;
    width: 0;
}

.post-template-default.single.single-post .vc_single_image-wrapper {

    max-height: 306px;
    overflow: hidden;
}

.post-template-default.single.single-post footer .abstand_top_negativ h2:before {
    content: ' ';
    font-size: 16vw;
    line-height: 16vw;
    width: 0;
}

.post-template-default.single.single-post .abstand_top_negativ h2:before {
    content: ' ';
    font-size: 1vw;
    line-height: 0vw;
    width: 0;
}

@media (max-width: 600px) {
    .laufschrift .wpb_wrapper p {
        font-size: 50px;
        line-height: 40px;
    }

    .abstand_top_negativ h2:before {
        content: ' ';
        font-size: 120px;
        line-height: 120px;
        width: 0;
    }
}

::selection {
    background: #f2f2f2;
    color: #fff;
}

/*** blog**/
.blog_holder.single_image_title_post article .single_top_part_holder {
    background: none;
}

.blog_holder.single_image_title_post article h1 {
    color: #000;
    text-transform: none;
}

.blog_holder.single_image_title_post article .single_bottom_part {
    display: none;
}

.post_image .section_inner {
    display: none;
}

.wp-singular .post_text_inner {
    padding-top: 0 !important;
}

.projekt_img_abstand_top {
    margin-top: 0px;
}

/** startseite**/
.home .content .container .container_inner.page_container_inner {
    padding-top: 0;
}

#masonry-startseite .latest_post_holder.boxes .boxes_image a {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);

}

#masonry-startseite .latest_post {
    position: absolute;
    bottom: 0;
    width: 100%;
}

#masonry-startseite .latest_post_holder.boxes .boxes_image {
    height: 100%;
}

#masonry-startseite .latest_post_holder.boxes .boxes_image a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00000070;
    z-index: 10;
    transition: all 0.3s ease;

}

#masonry-startseite .latest_post_holder.boxes .boxes_image a:hover::before {
    background-color: #00000000;

}

/* #masonry-startseite .latest_post_holder.boxes .boxes_image:hover::before {

    background-color: #00000000;


} */

#masonry-startseite .latest_post_holder.boxes .boxes_image a:hover {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}

@media (max-width: 1000px) {
    #masonry-startseite .latest_post_holder h3 a {

        width: calc(100% - 94px);
        min-height: 47px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #masonry-startseite .latest_post_holder h3:before {
        top: -57px;
    }
}

.abstand_top_negativ h1:before,
.wp-singular.page-template-blog-masonry .abstand_top_negativ h1:before {
    content: ' ';
    font-size: 16vw;
    line-height: 16vw;
    width: 0;
}


.post-template-default.single.single-post .abstand_top_negativ h1:before {
    content: ' ';
    font-size: 1vw;
    line-height: 0vw;
    width: 0;
}

.abstand_top_negativ h2,
.abstand_top_negativ h1 {
    font-size: 50px !important;
}

@media (max-width: 768px) {

    .abstand_top_negativ h2,
    .abstand_top_negativ h1 {
        font-size: 36px !important;
        line-height: 1.3 !important;
    }

    h2,
    .h2,
    h2 a,
    body.qode-overridden-elementors-fonts .elementor-widget-heading h2.elementor-heading-title {
        color: #000000;
        font-family: 'DM Serif Text', sans-serif;
        font-size: 30px;
    }

    h3 {
        font-size: 26px;
    }
}

.rot {
    color: #fff;
    text-align: left;
    padding: 0 0 70px 0;
    background-color: #dd0a2c;
}

.abstand-rot {
    padding: 0px 0 70px 0;
}

h1,
.rot h1 {
    font-family: 'DM Serif Text', sans-serif;
    text-align: left;
    color: inherit;
    letter-spacing: 1px;
    font-weight: ;
}

.rot p {
    color: inherit;
}

@media (max-width: 768px) {
    .rot h1 {
        font-size: 36px;
        line-height: 1.3 !important;

    }

    .rot p {
        font-size: 20px;
        line-height: 1.4;
    }
}

@media (max-width: 768px) {
    .not_mobil {
        display: none;
    }
}

@media (min-width: 768px) {
    .not_desktop {
        display: none;
    }
}

.formate_felder_aussen {
    /*     margin-right: -50px;*/

    margin-left: 15px;
}

.roteBox {
    background-color: #fff;
    padding-right: 40px;
    display: flex;
    justify-content: center;
    flex-flow: column;
}

.roteBox {
    color: #fff;
    font-size: 16px;
}

.roteBox h4 {
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 10px;
}

.roteBox .vc_column-inner {
    background-color: #dd0a2c;
    color: #fff;
    font-family: 'Arial';
    box-sizing: border-box;
    padding: 5px;
    padding-top: 18px;
    font-size: 16px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    z-index: 10;
    line-height: 1.3;
}

.zwei_spalten .full_section_inner {
    margin-bottom: 50px;
}

.zwei_spalten .roteBox .vc_column-inner h4 {
    font-size: 18px;
    line-height: 1.4;
    padding-top: 10px;
}

.zwei_spalten .roteBox .vc_column-inner {
    padding: 5px;
    padding-top: 20px;
    font-size: 20px;
    line-height: 1.3;
}

@media screen and (max-width: 768px) {
    .eine_spalte .roteBox {
        padding-right: 0;
    }

    .eine_spalte .roteBox .vc_column-inner h4 {
        font-size: 20px;
        line-height: 1.4;
        padding-top: 10px;
    }

    .eine_spalte .roteBox .vc_column-inner {
        font-size: 20px;
        line-height: 1.4;
        padding-top: 10px;
    }

    .roteBox .icon {
        width: 33%;
    }

    .eine_spalte .full_section_inner {
        margin-bottom: 40px;
    }
}

.roteBox .mp-hidden-text {
    display: none;
    /* Standardmäßig verstecken */
}

.roteBox .show-text-trigger {
    width: 20px;
    height: 20px;
    margin: 0 auto;
    cursor: pointer;
    position: absolute;
    bottom: 8px;
    left: 50%;
    margin-left: -15px;
    z-index: 100;
}

.roteBox .show-text-trigger div {
    width: 100%
}

.roteBox .show-text-trigger img {
    width: 100%;
    margin-top: -8px;
    width: 20px;
    height: 20px;
}

.roteBox .mp-hidden-text {
    position: absolute;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    width: auto;
    color: #fff;
    justify-content: flex-start;
    flex-flow: column;
    padding: 0px;
    text-align: center;
    z-index: 90;
    padding: 20px;
}

.roteBox .mp-hidden-text p {
    color: #fff
}

.roteBox .show-text-trigger:hover+.mp-hidden-text,
/* Zeigt Text beim Hover über Icon */
.roteBox .show-text-trigger:active+.mp-hidden-text {
    /* Oder beim Klick */
    display: flex;
}


.roteBox.pfeil_rechts:after,
.roteBox.pfeil_unten:after,
.roteBox.pfeil_top:before,
.roteBox.pfeil_links:before {
    content: '';
    width: 60px;
    height: 60px;
    rotate: 45deg;
    display: block;
    position: absolute;
    right: 12px;
    background-color: #dd0a2c;
    z-index: -50px;
}

.roteBox.pfeil_unten:after {

    bottom: -30px;
    left: calc(50% - 30px);
    z-index: -100;

}

.roteBox.pfeil_links:before {
    background-color: #dd0a2c;
    left: -29px;
}

.roteBox.pfeil_top:before {
    top: -30px;
    left: calc(50% - 54px);
    z-index: -100;

}

/*rote bix verleinern zwischen 400 und 768px*/

@media (max-width: 768px) {

    .roteBox.vc_column_container>.vc_column-inner {
        width: 70%;
        margin: auto;
    }
}

@media (max-width: 600px) {

    .roteBox.vc_column_container>.vc_column-inner {
        width: 100%;
        margin: auto;
    }
}

/***startseite Projekte**/
.q_masonry_blog {
    margin-bottom: 0;
}

.full_width .grid_section .q_masonry_blog article::before {
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 100;
    transition: background-color 0.7s ease;
}

.full_width .grid_section .q_masonry_blog article:hover::before {
    background-color: rgba(0, 0, 0, 0);

}

.full_width .grid_section .q_masonry_blog article,
.full_width .grid_section .q_masonry_blog_grid_sizer,
.full_width .qode_elementor_container_inner .q_masonry_blog article,
.full_width .qode_elementor_container_inner .q_masonry_blog_grid_sizer,
.full_width div[data-element_type=container].qode_elementor_container_inner .q_masonry_blog article,
.full_width div[data-element_type=container].qode_elementor_container_inner .q_masonry_blog_grid_sizer {
    width: 48%;
}

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

    .full_width .grid_section .q_masonry_blog article,
    .full_width .grid_section .q_masonry_blog_grid_sizer {
        width: 100%
    }
}

.q_masonry_blog article .q_masonry_blog_post_image {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: relative;
}

.q_masonry_blog_post_image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.q_masonry_blog_post_text {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 300;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: flex-end;
    padding: 0 !important;
}

.q_masonry_blog_post_text h3 {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-weight: normal;
    line-height: normal;
    text-transform: none;
    font-weight: normal;
    padding: 10px;
    position: relative;
}

.q_masonry_blog_post_text h3 a {
    color: #fff;
    font-size: 18px;
    background-color: #dd0a2c;
    text-transform: none;
    display: inline-block;
    padding: 10px;


}

.q_masonry_blog_post_text h3::before {
    content: '';
    width: 40px;
    height: 40px;
    rotate: 45deg;
    display: block;
    position: absolute;
    left: 60px;
    top: 0px;
    background-color: #dd0a2c;
    z-index: -1;
}

.q_masonry_blog_post_text .q_masonry_blog_excerpt {
    display: none;
}

/** mehr Projekte**/
.mehr_projekte p {
    text-align: right;
}

.mehr_projekte p a {
    position: relative;
}
.mehr_projekte a,
.blog_load_more_button a {
    background-color: #dd0a2c;
    color: #fff;
    display: inline-block;
    padding: 11px 14px 9px 14px;
    margin: 10px;
    margin-right: 0px;
    font-family: Arial, Helvetica, sans-serif;
    text-transform: none;
    font-size: 18px;
    border-radius: 0;
    letter-spacing: 0!important;
    line-height: 1.3;
    font-weight: normal;
    border: none!important;
}

.mehr_projekte a:hover,.blog_load_more_button a:hover {
    color: #fff;
    background-color: #dd0a2c!important;
    text-decoration: underline!important;
    box-shadow: none!important;
    border: none!important;
}
.blog_load_more_button a {
    height: 24px!important;
    }
.mehr_projekte a::after {
    width: 30px;
    height: 30px;
    rotate: 45deg;
    display: block;
    position: absolute;
    right: 0;
    top: 18px;
    transform: translateY(-50%);
    background-color: #dd0a2c;
    z-index: -1;
    align-self: center;
}

/**+ job start***/

/**** footer***/
.footer_top_holder,
.footer_top_holder p {
    font-size: 18px;
    color: black;
    line-height: 1.8;
}

.footer_bottom_holder,
.footer_bottom_holder a,
.footer_bottom_holder p {
    color: #fff;

}

.footer_bottom_holder a:hover
{
    color: #fff;
    text-decoration: none;

}

.footer_bottom_holder .container,
.footer_bottom {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #dd0a2c !important;
}

footer .column1 {
    position: relative;
    top: 0px;
}

.footer_bottom {

    color: #fff;
}

.wp-block-social-links {
    height: 40px;
    font-size: 8px;
}



.wp-block-social-links .wp-social-link-linkedin a svg,
.wp-block-social-links .wp-social-link-instagram a svg {
    display: none;
}

.wp-block-social-links .wp-social-link-linkedin a,
.wp-block-social-links .wp-social-link-instagram a {
    background-color: #fff;
}

.wp-block-social-links .wp-social-link-linkedin a::before {
    content: '';
    height: 30px;
    width: 30px;
    background-color: #fff;
    background-image: url('icons_orginal/LI-In-Bug.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.wp-block-social-links .wp-social-link-instagram a::before {
    content: '';
    height: 28px;
    width: 28px;
    background-color: #fff;
    background-image: url('icons_orginal/Instagram_Glyph_Gradient.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg {
        fill: #fff;
    } */



#block-14 {
    display: flex;
}


/*** slider beiträge***/
.blog_post_navigation{display:none;}
.metaslider {max-height: 300px!important;}
.metaslider .flex-control-nav {
    border: 0;
    margin: auto;
    list-style-type: none !important;
    list-style: none !important;
    padding: 0 !important;
    bottom: 0 !important;
    margin-bottom: -50px !important;
    line-height: 11px;
    z-index: 2;
    bottom: 0 !important;
    margin-bottom: -50px !important;
    top:330px!important;
}

.metaslider {
    margin-top: 70px !important;
}

.metaslider-flex a:focus,
.metaslider-flex a:active,
.metaslider-flex a:targete,
.metaslider-flex a:hover {
    color: #fff
}

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

    .flex-viewport,
    .slides {
        height: 250px !important;
    }
}

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

    .flex-viewport,
    .slides {
        height: 160px !important;
    }
}

@media screen and (max-width:768px) {
    .flexslider .flex-control-nav {
        top: 130px!important;
    }
    .metaslider {
        height: 120px!important;
}
}
.flexslider .flex-control-nav li a {
    width: 20px;
    height: 20px;
    border: 1px solid #000;
    background-color: #fff;

}

.flex-control-nav.flex-control-paging {
    /*     display: none;
 */
}

.flexslider .flex-control-nav li a:not(.flex-active) {
    background: rgb(255, 255, 255) !important;
}

.flexslider .flex-control-nav li a.flex-active {
    background-color: #dd0a2c !important;
}

.metaslider li a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

@media (max-width: 768px) {
    .flex-control-nav.flex-control-paging {
        width: 100% !important;
    }
}

.slb_controls,
.slb_details {
    display: none !important;
}

.flex-direction-nav li a {
    background: none !important;
    border: none !important;

}

.flexslider .flex-direction-nav li a {
    width: 46px;
    height: 46px;
}

.flexslider .flex-direction-nav li a:after {
    background-color: #fff !important;
}

.flexslider .flex-direction-nav li a.flex-next:after {
    mask-image: url(icons/pfeil-re.svg) !important;
    border-color: RGBA(0, 0, 0, 0);
}

.flexslider .flex-direction-nav li a.flex-prev:after {
    mask-image: url(icons/pfeil-li.svg) !important;
    border-color: RGBA(0, 0, 0, 0);
}

#fancybox-prev,
#fancybox-next {
    top: 50%;
    margin-top: -24px;
    cursor: pointer;
    z-index: 111102;
    display: block;
}

/**fancybox start***/
@media only screen and (max-width: 768px) {
    .ms-carousel-force-height .slides>li.ms-image img {
        /* height: 100%; */
        width: unset !important;
    }
}
.blog_holder article .post_image img{
    height: 100%;
    object-fit: cover;
}
@media only screen and (max-width: 480px) {
    .blog_holder.blog_pinterest, .blog_holder.masonry {
      width: auto!important;
    }
  }
/**job start***/
.page-template-blog-chequered .blog_holder.blog_chequered {
    margin-top: 70px;
}

.page-template-blog-chequered .blog_holder.blog_chequered article {
    hyphens: auto;
    height: auto;
}

.page-template-blog-chequered .blog_holder.blog_chequered h3 a {
    hyphens: auto;
    height: auto;
    font-weight: normal;
    font-size: 18px;

    text-align: center;
    line-height: 1.3em;
    display: block;
    color: #fff;
}


.page-template-blog-chequered .blog_holder.blog_chequered article .date.entry_date.updated {
    display: none;
}

.page-template-blog-chequered .blog_holder.blog_chequered article .post_info {
    display: none;
}

.page-template-blog-chequered .blog_holder.blog_chequered article {
    font-size: 18px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
}

@media (max-width: 768px) {
    .page-template-blog-chequered .blog_holder.blog_chequered article {
        margin-top: 50px;
    }
}

/**job ende***/
/**job ende***/
/**** blog**/
.blog_holder.masonry article {
    width: 100% !important;
    position: relative !important;
    top: 0 !important;
    /*right:!important;*/
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border: 1px solid #e0e0e0 !important;
    box-shadow: 5px 10px 10px rgba(0, 0, 0, 0.3) !important;
    height: 350px;
    margin-bottom: 30px !important;
    opacity: 1 !important;
    visibility: visible !important;
    /* Verhindere Artefakte beim Laden */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: transform;
}

/* Stelle sicher, dass nachgeladene Artikel den gleichen Abstand haben */
.blog_holder.masonry article:not(.hidden-projekt) {
    margin-bottom: 30px !important;
}

/* Entferne zusätzlichen Abstand beim Einblenden */
.blog_holder.masonry article.hidden-projekt {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

/* Stelle sicher, dass nachgeladene Artikel korrekte transform-Eigenschaften haben */
.blog_holder.masonry article:not(.hidden-projekt) {
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    position: relative !important;
    top: 0 !important;
}

/* Stelle sicher, dass Bilder sofort geladen werden */
.blog_holder.masonry article img {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    loading: eager !important;
}

.blog_holder.masonry article img[loading="lazy"] {
    loading: eager !important;
}

.blog_holder.masonry.masonry_load_more article .post_image a {
    width: 100% !important;
    height: 100% !important;
}

.blog_holder.masonry.masonry_load_more article .post_image a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

.blog_holder.masonry.masonry_load_more article .post_image {
    width: 50% !important;
    flex-shrink: 0 !important;

}

.blog_holder.masonry article .post_text {
    width: 50% !important;
    font-size: 18px;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Verhindere Layout-Artefakte beim Laden */
.blog_holder.masonry {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Stelle sicher, dass Isotope den Abstand nicht überschreibt */
.blog_holder.masonry.isotope article,
.blog_holder.masonry.isotope article:not(.hidden-projekt) {
    margin-bottom: 30px !important;
}

.blog_holder.masonry:not(.isotope-ready) article {
    /* Verstecke Artikel nur bis Isotope initialisiert ist */
    opacity: 0;
    transition: opacity 0.3s ease;
}

.blog_holder.masonry.isotope-ready article {
    opacity: 1 !important;
}

.blog_holder.masonry article .post_text h2 {
    padding-top: 20px;
    font-size: 30px;
    padding-bottom: 30px;
}

.start-top h2 {
    color: #fff;
    margin-bottom: 50px;
    font-weight: normal;
    line-height: 1.2 !important;
}

@media (max-width: 1000px) {
    .blog_holder.masonry article {
        width: 100% !important;

        flex-direction: column !important;
        align-items: stretch !important;
        height: auto !important;
    }

    .blog_holder.masonry.masonry_load_more article .post_image a {
        width: 100% !important;
        height: 100% !important;
    }

    .blog_holder.masonry.masonry_load_more article .post_image a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .blog_holder.masonry.masonry_load_more article .post_image {
        width: 100% !important;
    }

    .blog_holder.masonry.masonry_load_more article .post_image {
        margin-bottom: 16px;
    }

    .blog_holder.masonry article .post_text {
        width: auto !important;
        font-size: 16px;
    }

    .blog_holder.masonry article .post_text h2 {
        font-size: 18px;
    }
}

@media (max-width: 600px) {
    .blog_holder.masonry article .post_text {
        line-height: 1.4;
    }
}

/**Projekte**/
.projekte_kat h1 {
    /*     line-height: 70px;
 */
    line-height: 1.2;
}

.projekte_kat h2 {
    font-size: 30px;
    margin-top: 30px;
}

.h2_projekt h2 {
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 30px !important;
}



.h2_pfeil h2 {
    margin: 60px 0 60px 0 !important;
    padding: 20px;
    position: relative;
    display: inline-block !important;
    color: #fff;
    background-color: #dd0a2c;
}

.h2_pfeil h2:after {
    content: '';
    width: 60px;
    height: 60px;
    rotate: 45deg;
    display: block;
    position: absolute;
    left: 60px;
    bottom: -30px;
    background-color: #dd0a2c;
    z-index: -50;
}

@media (max-width: 768px) {
    .h2_projekt h2 {
        font-size: 30px !important;
        line-height: 30px !important;
    }

    .h2_pfeil h2 {
        font-size: 30px !important;
        line-height: 30px !important;
    }
}

/* Weitere Projekte Button */
.weitere-projekte-button-holder {
    text-align: right !important;
    margin-top: 0;
    margin-bottom: 30px;
}

/* Weitere Projekte Button */
.weitere-projekte-button-holder a {
    background-color: #dd0a2c;
    color: #fff;
    display: inline-block;
    padding: 11px 14px 9px 14px;
    margin: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-right: 0px;
    font-family: "Arial", sans-serif
}
.weitere-projekte-button-holder a:hover {
text-decoration: underline!important;
}

.weitere-projekte-button {
    color: #fff;
    background-color: #dd0a2c;
    margin-right: 0px;

}

.weitere-projekte-button::after {
    width: 30px;
    height: 30px;
    rotate: 45deg;
    display: block;
    position: absolute;
    right: 0;
    top: 18px;
    transform: translateY(-50%);
    background-color: #dd0a2c;
    z-index: -1;
    align-self: center;
}

.weitere-projekte-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* Verstecke Projekte nach den ersten 5 */
/* Diese Regel wurde nach oben verschoben, um Konflikte zu vermeiden */

.blog_holder.masonry article {
    font-family: Arial;
    font-size: 18px;
}

.blog_holder.masonry article h2 {
    font-family: Arial;
    font-size: 36px;
    font-weight: normal;
}

.blog_holder.masonry article b {
    font-style: normal !important;
    display: block !important;
    font-weight: bold;

    margin-bottom: 30px;
}

.blog_holder.masonry article .read-more-link {
    margin-top: 20px;
}

.blog_holder.masonry article .read-more-link a {
    background-color: #dd0a2c;
    color: #fff;
    font-weight: normal;
    padding: 11px 14px 9px 14px;
    display: inline-block;
    position: relative;
    padding: 8px 14px;
    margin-left: 0px;
    z-index: 20;
}

.blog_holder.masonry article .read-more-link a:before {
    /*     content: '';
    width: 16px;
    height: 16px;
    rotate: 45deg;
    display: block;
    position: absolute;
    left: -8px;
    top: 10px;
    background-color: #dd0a2c;
    z-index: -1; */
}

.latest_post_holder .latest_post_inner p,
.latest_post_holder .latest_post_inner span {
    display: none;
}

.latest_post_holder ul li {
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
}

.latest_post_holder h3 {
    text-align: center;
}

.latest_post_holder h3 a {
    color: #fff;
    font-size: 18px;
    background-color: #dd0a2c;
    text-transform: none;
    display: inline-block;
    padding: 11px 14px 9px 14px;
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-weight: normal;
    line-height: 1.3;
    z-index: 20;
}

.latest_post_holder h3:before {
    content: '';
    width: 40px;
    height: 40px;
    rotate: 45deg;
    display: block;
    position: absolute;
    left: 60px;
    top: -31px;
    background-color: #dd0a2c;
    z-index: 14;
}

/* Footer Top Full Width Widget Area - gleiche Breite wie section_inner */
.footer_top_full_width_area {
    width: 100%;
    clear: both;
    margin: 0;
    padding: 0;
    display: block;
    box-sizing: border-box;
    position: relative;
}

/* Stil für Widgets innerhalb der Area - gleiche Breite wie section_inner */
.footer_top_full_width_area .footer_top_full_width_widget {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-sizing: border-box;
    padding: 0px;
}

/* Responsive Breiten - gleiche wie container_inner/section_inner */
@media only screen and (max-width: 1200px) {
    .footer_top_full_width_area .footer_top_full_width_widget {
        max-width: 950px;
    }
}

@media only screen and (max-width: 1000px) {
    .footer_top_full_width_area .footer_top_full_width_widget {
        max-width: 768px;
    }
}

@media only screen and (max-width: 768px) {
    .footer_top_full_width_area .footer_top_full_width_widget {
        max-width: 600px;
    }
}

@media only screen and (max-width: 600px) {
    .footer_top_full_width_area .footer_top_full_width_widget {
        max-width: 420px;
    }
}

/* Blog Post Navigation Styles
   ========================================================================== */
.qode-inter-page-navigation-holder {
    display: none;
}

.mp_navigation {
    display: flex;
    justify-content: space-between;
}

.mp_navigation::before {
    content: none;
}

.mp_navigation::after {
    content: none;
}

.blog_post_navigation {
    margin-top: 50px;
}

@media screen and (max-width: 900px) {
    .mp_navigation {
        flex-direction: column;
        align-items: center;
    }

    .blog_post_navigation {
        margin-top: 120px !important;
    }

    .blog_post_navigation .blog_post_prev a,
    .blog_post_navigation .blog_post_next a {
        max-width: 100%;
        margin-bottom: 20px;
    }
}
.wpb_text_column.wpb_content_element.blog_post_next{float:right}
.wpb_text_column.wpb_content_element.blog_post_prev,
.wpb_text_column.wpb_content_element.blog_post_next{
    width: 300px;
    background-color: #dd0a2c;
    font-family: Arial, Helvetica, sans-serif;
    padding: 0 14px;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    display: block;
    position: relative;
    min-height: 66px;
    display: flex;
    align-items: center;
}
.wpb_text_column.wpb_content_element.blog_post_prev{justify-content: flex-end;}
.wpb_text_column.wpb_content_element.blog_post_prev {text-align: right;}
.wpb_text_column.wpb_content_element.blog_post_prev a,
.wpb_text_column.wpb_content_element.blog_post_next a{
    color: #fff;
}
.blog_post_navigation .blog_post_prev a i,
.blog_post_navigation .blog_post_next a i {
    display: none;
}
.wpb_text_column.wpb_content_element.blog_post_prev a:before {
    content: '';
    color: #fff;
    position: absolute;
    display: inline-block;
    background-image: url('icons/pfeil-li.svg');
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    left: 0;
    top: 4px;
    background-size: 35%
}

.wpb_text_column.wpb_content_element.blog_post_next  a:after {
    content: '';
    color: #fff;
    position: absolute;
    display: inline-block;
    background-image: url('icons/pfeil-re.svg');
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    right: 0;
    top: 4px;
    background-size: 35%
}


@media only screen and (max-width: 900px) {
   .blog_post_prev,
.blog_post_next
{margin:30px 0;}
}
.blog_post_navigation .blog_post_prev {
    width: 300px;
    text-align: right;
}

.blog_post_navigation .blog_post_next {
    width: 300px;
}

.blog_post_navigation .blog_post_prev a {
    margin-left: 0px;
    text-align: right;
}

.blog_post_navigation .blog_post_next a {
    margin-right: 0px;

}

.blog_post_navigation .blog_post_prev a div {
    padding-left: 55px;
}

.blog_post_navigation .blog_post_next a div {
    padding-right: 55px;
}

.blog_post_navigation .blog_post_prev a div,
.blog_post_navigation .blog_post_next a div {
    display: block;
    width: calc(100% - 55px);

}

.blog_post_navigation .blog_post_prev a div:before {
    content: '';
    color: #fff;
    position: absolute;
    display: inline-block;
    background-image: url('icons/pfeil-li.svg');
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    left: 0;
    top: 4px;
    background-size: 35%
}

.blog_post_navigation .blog_post_next a div:after {
    content: '';
    color: #fff;
    position: absolute;
    display: inline-block;
    background-image: url('icons/pfeil-re.svg');
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    right: 0;
    top: 4px;
    background-size: 35%
}

.blog_post_navigation .blog_post_prev a {
    cursor: pointer;
}

.blog_post_navigation .blog_post_next a {
    cursor: pointer;
}

@media only screen and (max-width: 400px) {
    .wpb_text_column.wpb_content_element.blog_post_prev,
    .wpb_text_column.wpb_content_element.blog_post_next{
                max-width: 90%!important;
                width: 90%!important;
                margin-bottom: 20px!important;float: none!important;
    }
}

@media (min-width: 768px) {
    .vc_col-sm-3 {
        width: 25%
    }

    .roteBox:nth-child(4) {
        padding-right: 0;
        width: calc(25% - 40px);

    }

}


@media (min-width: 768px) {
    .team_alle .vc_col-sm-3 {
        width: calc(50% - 30px);
    }

    .mehr_projekte.job-link {
        position: absolute;
        top: -105px;
    }
}

@media (min-width: 1300px) {
    .team_alle .vc_col-sm-3 {
        width: calc(25% - 30px);
    }

    .mehr_projekte.job-link {
        position: absolute;
        top: -125px;
    }
}

.team {
    aspect-ratio: 0.86 / 1;
    font-size: 16px;
    margin-right: 30px;
    position: relative;
    margin-bottom: 50px;
}

.team .vc_column-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.team .wpb_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.team .show-text-trigger {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    cursor: pointer;
    position: absolute;
    bottom: 0;
    left: 0%;
    margin-left: 0px;
    z-index: 100;

}

.team .show-text-trigger h3 {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    background-color: #dd0a2c;
    padding: 5px;
    padding-top: 8px;
    padding-bottom: 0;
    text-align: center;
}

.team .show-text-trigger p {
    color: #fff;
    font-size: 14px;
    background-color: #dd0a2c;
    padding: 5px;
    padding-top: 0;
    padding-bottom: 5px;
    text-align: center;
    line-height: 16px;
    hyphens: auto;
}

.team .show-text-trigger a {
    padding: 0;
    color: #fff;
    padding-bottom: 8px;
    display: block;
}

.team .show-text-trigger .wpb_wrapper {
    position: absolute;
    left: 0;
    height: auto;
    width: 100%;
    height: 62px;
    top: calc(100% - 62px);

}

.team .mp-hidden-text {
    display: flex;
    position: absolute;
    /*     aspect-ratio: 1 / 1; */
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: left;

    padding-bottom: 0;
    margin-bottom: 30px;
    font-family: 13px;
    line-height: 18px !important;
    overflow: hidden;
    height: 100%;
    box-sizing: border-box;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    width: 100%;
    z-index: 90;
}

.team .mp-hidden-text p {
    color: #fff;
    font-size: 15px;
    line-height: 18px !important;
    padding: 20px;

}

.team .show-text-trigger:hover+.mp-hidden-text,
/* Zeigt Text beim Hover über Icon */
.team .show-text-trigger:active+.mp-hidden-text {
    /* Oder beim Klick */
    opacity: 1;
}

.form {
    background-color: #f2f2f2;
    padding: 20px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    color: #000;
}

.form_zeile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.form_spalte {
    width: 45%;
    align-items: end;
}

.form_spalte input,
.form_spalte textarea {
    display: inline-block;
    background: none !important;
}

.form_spalte label {
    border: 0;
    border-bottom: black solid 1px;
    display: flex;
    justify-content: space-between;
    align-items: self-end;
}

.form input[type="submit"] {
    background-color: #dd0a2c;
    color: #fff !important;
    border: 0;
    border-radius: 0 !important;
    padding: 11px 14px 9px 14px !important;
    transition: all 0.3s ease;
    margin-top: 10px;
    text-transform: none;
    letter-spacing: 0!important;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.3;
    cursor: pointer;
    font-family: 'Arial', sans-serif;
    height: auto!important;
}

.form input:focus,
.form textarea:focus,
.form select:focus {
    outline: none;
    /* Standard-Rahmen entfernen */
    /* Rahmenfarbe */
    background-color: #dd0a2c;
    padding: 11px 14px 9px 14px !important;

    text-decoration: underline !important;
}
input.wpcf7-form-control.wpcf7-submit:not([disabled]){
    border: none!important;
}
.form input[type="submit"]:hover {
    padding: 11px 14px 9px 14px !important;
    background-color: #dd0a2c !important;
    text-decoration: underline !important;
    box-shadow: none !important;
    border: none !important;
    line-height: 1.3;
}

.button {
    padding-top: 70px;
}

@media screen and (max-width: 768px) {
    .form_zeile {
        flex-direction: column;
        align-items: center;
    }

    .form_spalte {
        width: 100%;
    }

    .form_spalte label {
        margin-top: 20px;
    }
}

/*** mobile**/
@media only screen and (max-width: 678px) {

    .q_logo a,
    .q_logo img {
        height: 35px !important;
    }
}

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

    .q_logo a,
    .q_logo img {
        height: 20px !important;
    }
}

.qode_icon_font_awesome.fa {
    font-size: 20px;
}


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

    .boxed div.section .section_inner,
    .carousel-inner .slider_content_outer,
    .container_inner,
    .container_inner nav.content_menu,
    .elementor-container .elementor-widget-wrap>.qode_elementor_container_inner,
    .elementor-row .elementor-widget-wrap>.qode_elementor_container_inner,
    .footer_bottom_border.in_grid,
    .footer_top_border.in_grid,
    .full_width .parallax_content,
    .qode_elementor_container_inner,
    .steps_holder_inner,
    .title_border_in_grid_holder,
    div.grid_section .section_inner,
    div[data-element_type=container].qode_elementor_container_inner,
    nav.content_menu ul {
        width: 90%;
    }
}


/**menü mobile**/
nav.mobile_menu ul li a,
nav.mobile_menu ul li h3 {
    font-size: 18px;
    font-family: Arial, Helvetica, sans-serif;
}

header .header_inner .container_inner {
    width: 100%;
}