.com-content-article.item-page,
.com_content.view-category .page-body{
    padding-top:70px;
    padding-bottom:70px;
}

/* Dienstleistungen Blog Start */
#component {
    overflow-x:hidden;
}
.blog-items.dienstleistungen {
    padding-top:21px;
    margin:0;
}

.blog-items.dienstleistungen .item-image {
   padding-top:20px;
    padding-bottom:20px;
    margin: 15px 0;
    overflow:visible;
    z-index:1;
}

.blog-items.dienstleistungen .item-image img {
   overflow: hidden;
    border-width: 5px;
    border-style: solid;
    margin: 0;
    border-color: #ccc;
    -webkit-border-radius: 50% 50% 50% 50%;
    -moz-border-radius: 50% 50% 50% 50%;
    border-radius: 50% 50% 50% 50%;
    aspect-ratio:1/1;
    width:750px;
    object-fit: cover;
}
.blog-items.dienstleistungen .blog-item {
    position:relative;
    padding-top:30px;
    padding-bottom:30px;
    overflow:visible;
}

.blog-items.dienstleistungen .item-content {
    padding-top:15px;
    padding-bottom:15px;
    z-index:1;
}
.blog-items.dienstleistungen .item-content > div.page-header {
    width:100%;
}
.blog-items.dienstleistungen .item-content > div.page-header + .row {
    width:calc(100% + 30px);
}

.blog-items.dienstleistungen h2 {
    padding-bottom:40px;
}

.blog-items.dienstleistungen h3 {
    font-size: 1.2em;
    line-height: 1.4em;
    font-weight: normal;
    margin: 0;
    padding: 0 0 5px 0;
    font-family: 'Roboto';
    font-weight: bold;
}
.blog-items.dienstleistungen ul {
    padding-bottom:30px;
}

.blog-items.dienstleistungen .blog-item:nth-child(2n+1)::after {
    content:"";
    position:absolute;
    width:100vw;
    height:100%;
    background:#ebebeb;
    left:50%;
    bottom:0;
    margin-left:-50vw;
    z-index:0;
}

@media (min-width: 768px) {
    .blog-items.dienstleistungen .blog-item {
        display:flex;
        flex-wrap:wrap;
        flex-direction:row;
    }
    .blog-items.dienstleistungen .blog-item:nth-child(2n+0) {
        flex-direction: row-reverse;
    }

    .blog-items.dienstleistungen .item-image {
        flex-basis:33.33%;
        max-width:33.33%;
        margin:0;
        padding:30px;
        -ms-flex-align: center !important;
        align-items: center !important;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }
    .blog-items.dienstleistungen .item-content {
        flex-basis:66.66%;
        max-width:66.66%;
        -ms-flex-align: center !important;
        align-items: center !important;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }
}
/* Dienstleistungen Blog End */

/* Referenzen Blog Start */
.blog-items.referenzen {
    padding-top:21px;
    margin:0 0 30px 0;
    position:relative;
}
.blog-items.referenzen .blog-item {
    margin:-7.5px;
    position:relative;
    aspect-ratio:8/6;
    overflow:hidden;
}
.blog-items.referenzen .item-image {
    margin:0;
}
.blog-items.referenzen .item-image a {
    display:block;
}

.blog-items.referenzen .item-image img {
    aspect-ratio:8/6;
    width:1000px;
    object-fit:cover;
    object-position:center;
    margin:0;
}

.blog-items.referenzen .blog-item .item-content {
    position:absolute;
    pointer-events: none;
    display:flex;
    align-items: center;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:0;
    padding: 30px;
    text-align: center;
    justify-content: center;
}
.blog-items.referenzen .blog-item .item-content h2 {
    font-size:1.9rem;
    line-height:1.2em;
}

.blog-items.referenzen .blog-item:hover .item-content {
    opacity:1;
}
.blog-items.referenzen .fields-container {
    display:none;
}

/* Referenzen Blog End */

/* Referenzen Modul Start */
.referenzen.liste {
    margin-top:30px;
}
.referenzen.liste.row {
    margin-right:0;
    margin-left:0;
}
.referenzen.liste.row [class*="col"]{
    padding:0;
}
.referenzen.liste ul li:before {
    display:none;
}

.referenzen.liste .mainimage,
.referenzen.liste .noimage  {
     aspect-ratio:4/3;
     background-size:cover;
     background-repeat:no-repeat;
     background-position:center;
     margin:0;
}
.referenzen.liste .textbox {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    text-align:center;
    opacity:0;
}
.referenzen.liste li:hover .textbox {
    opacity:1;
}

.referenzen.liste .textbox h2{
    text-align:left;
    font-size: 1.9rem;
    line-height: 1.2em;
    padding: 5%;
    margin: 0 0 0 0;
}
.referenzen.liste .introtext {
    padding:0 0 10px 0;
    margin:0px;
}

/* Referenzen Modul End */


.liste li:before {
    display:none!important;
}


/* Detail Referenzen Start */
.referenzendetail .customfieldwrapper {
    flex-grow:1;
    padding:15px;
}
.referenzendetail .item-image  {
    margin-bottom:0;
}
.referenzendetail .item-image  img {
    width:750px;
    max-width:100%;
    aspect-ratio:4/2.8;
    object-fit: cover;
    object-position: center;
}
.referenzendetail .customfield:first-of-type {
    padding-top:15px;
}

.referenzendetail .customfield  {
    padding:7px 0;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color:#ddd;
}
.back{
    display: inline-block;
    padding: 3px;
    font-size: 0.7em;
    line-height: 1em;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 15px;
}
.gallerywrapper {
    padding-top:30px;
    padding-bottom:30px;
}
/* Detail Referenzen End */

/* Kundenstimmen Blog Start */
.blog-items.kundenstimmen {
    padding-top:21px;
    margin:0;
}
.blog-items.kundenstimmen .blog-item {
    margin-left:-15px;
    margin-right:-15px;
    padding-top:30px;
    padding-bottom:30px;
}

.blog-items.kundenstimmen .blog-item:nth-of-type(odd){
    background-color:#ebebeb;
}
.blog-items.kundenstimmen .blog-item .item-image {
    overflow:visible;
}

.blog-items.kundenstimmen .item-image {
    padding:40px;
}

.blog-items.kundenstimmen .item-image img {
    aspect-ratio:1/1;
    width:750px;
    overflow: hidden;
    border-width: 5px;
    border-style: solid;
    object-fit:cover;
    object-position:center;
    margin:0;
    -webkit-border-radius: 50% 50% 50% 50%;
    -moz-border-radius: 50% 50% 50% 50%;
    border-radius: 50% 50% 50% 50%;
}
.blog-items.kundenstimmen .blog-item .item-content {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-left: 70px;
    position: relative;
    font-size: 1.2em;
    line-height: 1.4em;
}
.blog-items.kundenstimmen .blog-item .item-content h2 {
    display:none;
}

.blog-items.kundenstimmen .blog-item .item-content p:first-of-type::before {
    content: "\"";
    font-size: 12rem;
    line-height: 1em;
    position: absolute;
    margin-top: -12px;
    margin-left: -70px;
}
.kundenstimmen.liste.home {
    padding-bottom:50px;
}
.kundenstimmen.liste.home .articlewrapper {
    margin-bottom:0;
}

@media (min-width: 768px) {
    .blog-items.kundenstimmen .blog-item .container {
        display:flex;
    }
    .blog-items.kundenstimmen .blog-item .item-image {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .blog-items.kundenstimmen .item-content {
        flex: 0 0 66.666666%;
        max-width: 66.666666%;
    }
}
/* Kundenstimmen Blog End */

.showall {
       text-align:center;
}

.showall a {
    display: inline-block;
    margin: 30px auto;
    padding: 10px;
    text-decoration: none;
}


/* Kundenstimmen Modul Start */

.kundenstimmen.liste {
    margin-bottom:-70px;
}
.kundenstimmen.liste ul + p {
    display:none;
}
.kundenstimmen.liste .articlewrapper {
    margin-bottom:40px;
}
.kundenstimmen.liste .imagewrapper{
    text-align:center;
    position: relative;
    z-index: 1;
}

.kundenstimmen.liste .imagewrapper .img {
    aspect-ratio:1/1;
    width:70%;
    object-fit:cover;
    object-position:center top;
    border-radius:50%;
    border-style:solid;
    border-width:10px;
    margin:15%;
    overflow:hidden;
}
.kundenstimmen.liste .imagewrapper .img img {
    aspect-ratio:1/1;
    width:600px;
    object-fit:cover;
    object-position:center top;
}
.kundenstimmen.liste .textwrapper{
    border-radius:20px;
    padding:0 0 0 70px;
    margin-top:-10px;
    position:relative;
}
.kundenstimmen.liste .textwrapper:before {
    content: "\"";
    font-size: 12em;
    line-height: 1em;
    position: absolute;
    top: -14px;
    left: -10px;
}
.kundenstimmen.liste .textwrapper .kundenstimme {
    font-size:1.5rem;
    line-height:1.4em;
    padding-bottom:20px;
}
.kundenstimmen.liste .textwrapper .name {
    font-size:1.5rem;
    line-height:1.4em;
}

/* Kundenstimmen Modul End */

/* Team Modul Start */
.liste.team li{
    padding-bottom:30px;
}

.liste.team .mainimage,
.liste.team .noimage{
    aspect-ratio: 4/6;
    width:700px;
    max-width:100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.liste.team .textbox h2{
    padding: 0;
    margin: 12px 0 7px 0;
    font-size: 15pt;
    line-height: 1.2em;
}
@media (min-width: 996px) {
    .teamoffice h3 {
        width:50%;
        margin-left:auto;
        padding-left:15px;
    }

    .teamoffice  .liste.team li{
        margin-left:auto;
    }
}


/* Team Modul End */

/* Filter Referenzen Start */
.jlcontentfieldsfilter .jlmf-section:last-of-type {
    /* display:none;   */
}
.jlcontentfieldsfilter .jlmf-link {
    display:none;
}
.jlcontentfieldsfilter .jlmf-button {
    font-size:0;
    padding:3px 10px;
    margin-top:30px;
}
.jlcontentfieldsfilter input:focus-visible {
     box-shadow: none!important;
     outline: none;
     border-style:solid;
     border-width:1px;
}
.jlcontentfieldsfilter .jlmf-button:before {
    font-size:1rem;
    content:"Filter anwenden";
    white-space:nowrap;
}

.jlcontentfieldsfilter {
    margin-bottom:30px;
    margin-left:-15px;
        margin-right:-15px;
}
.jlcontentfieldsfilter .jlmf-section   {
        flex-basis:33%;
        padding-left:15px;
        padding-right:15px;
        margin:0 0 10px 0;
    }
.jlcontentfieldsfilter input {
        padding:0 10px 1px 10px;
        height:37px;
    }
@media (min-width: 768px) {
    .jlcontentfieldsfilter {
        display:flex;
        flex: 1 0 100%;
    }
    .jlcontentfieldsfilter .jlmf-section   {
        flex-basis:33%;
    }


}
/* Filter Referenzen Start */
