/* SECTION */

.wp-block-lazyblock-section {
    margin: 2rem auto;
}
.wp-block-lazyblock-section + 
.wp-block-lazyblock-section {
    margin-top: 0;
}
.wp-block-lazyblock-section:last-child {
    margin-bottom: calc( -2rem - 80px );
}

.wp-block-lazyblock-section > section {
    margin: 0 auto;
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
}
.wp-block-lazyblock-section > section.has-background {
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.wp-block-lazyblock-section:not(.alignfull):not(.alignwide) > section.has-background {
    padding-left: 2rem;
    padding-right: 2rem;
}



/* COMMON */

.element-headline , 
.element-description {
    text-align: left;
}

.wp-block-lazyblock-competences-overview ,
.wp-block-lazyblock-services-overview , 
.wp-block-lazyblock-references-overview {
    text-align: center;
}



/* BANNER */

.wp-block-lazyblock-banner {
    margin: 2rem auto;
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
}
.wp-block-lazyblock-banner .banner-area-inner {
    display: flex;
    flex-flow: column;
    gap: 2rem;
}

.wp-block-lazyblock-banner .banner-area-right {
    border-width: 2px;
    border-style: solid;
    border-color: var(--wp--preset--color--gray-lighter);
    border-bottom-width: 0;
    border-left-width: 0;
    border-right-width: 0;
    padding: 1rem 0;
}

@media ( min-width: 769px ) and ( orientation: landscape ) , ( min-width: 1025px ) {

    .wp-block-lazyblock-banner .banner-area-inner {
        flex-flow: row nowrap;
        align-items: center;
        gap: 0;
    }
    .wp-block-lazyblock-banner .banner-area-left {
        text-align: right;
        padding: 0 2rem;
    }
    .wp-block-lazyblock-banner .banner-area-right {
        text-align: left;
        border-top-width: 0;
        border-left-width: 2px;
        padding: 0 2rem;
    }
    .wp-block-lazyblock-banner .fwv-headline {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }

}




/* REFERENCES */ 

.references-container {
    margin: 2rem auto;
}

.references-container .references-row.references-header {
    display: none;
}
.references-container .references-element {
    text-align: left;
    margin-bottom: 2rem;
}
.references-container p.element-headline {
    font-weight: 600;
    text-align: left;
    margin-left: 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--wp--preset--color--gray-light);
}
.references-container * {
    margin-left: 0;
}

@media ( min-width: 769px ) and ( orientation: landscape ) , ( min-width: 1025px ) {

    .references-container {
    }
    .references-container .references-row.references-header {
        display: flex;

    }
    .references-container .references-row {
        display: flex;
        flex-flow: row nowrap;
        gap: 2rem;
        flex: 0 1 auto;
    }
    .references-container .references-element {
        flex-basis: 100%; 
        display: flex;
        flex-flow: column;
        margin: 0;
    }
    .references-container .references-row.references-header .references-element {
        justify-content: flex-end;
    }
    .references-container .references-row.references-body .references-element {
        justify-content: flex-start;
    }

    .references-container p.element-headline {
        font-size: var(--wp--preset--font-size--medium);
        color: var(--wp--preset--color--black);
        padding-bottom: 1rem;
        margin-bottom: 0.5rem;
        width: 100%;
        line-height: 1.35;
    }
    .references-container .references-row.references-body p.element-headline {
        display: none;
    }

}




/* COMMON */

.wp-block-lazyblock-competences-overview ,
.wp-block-lazyblock-services-overview {
    text-align: center;
}
.element-headline , 
.element-description {
    text-align: left;
}

.wp-block-lazyblock-competences-overview .fwv-overview-elements ,
.wp-block-lazyblock-services-overview .fwv-overview-elements {
    margin: 2rem auto;
}

.wp-block-lazyblock-competences-element a ,
.wp-block-lazyblock-services-element a {
    text-decoration: none;
    display: contents !important;
}



/* Competences */

.wp-block-lazyblock-competences-overview .fwv-overview-elements {
    display: flex;
    gap: 2rem;
    flex-flow: row wrap;
    justify-content: flex-start; 
    align-items: flex-start;
}

.wp-block-lazyblock-competences-element {
    position: relative;
    padding: 0;
    margin: 0;
    flex-basis: 100%;
    overflow: hidden;
    background: rgba(0,0,0,1);
    clip-path: polygon( 0% 0% , 100% 0% , 100% calc(100% - 30px) , calc(100% - 30px) 100% , 0% 100% );
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
}
.wp-block-lazyblock-competences-element:before {
    content: ' ';
    width: 1px;
    margin-left: -1px;
    float: left;
    height: 0;
    padding-top: 50%;
}
.wp-block-lazyblock-competences-element::after { 
    content: '';
    display: table;
    clear: both;
}

@media ( min-width: 600px ) {
    .wp-block-lazyblock-competences-element {
        flex-basis: calc( 50% - 2rem );
    }
    .wp-block-lazyblock-competences-element:before {
        padding-top: 66.66%;
    }
}
@media ( min-width: 769px ) and ( orientation: landscape ) , ( min-width: 1025px ) {
    .wp-block-lazyblock-competences-element {
        flex-basis: calc( 33.33% - 2rem );
    }
}


.wp-block-lazyblock-competences-element .element-image { 
    position: absolute; 
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.wp-block-lazyblock-competences-element .element-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}
.wp-block-lazyblock-competences-element .element-image:after {
    content: ' ';
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.35);
    background: linear-gradient(0deg, rgba(0,0,0,0.6666) 0%, rgba(0,0,0,0.15) 33.33%, rgba(0,0,0,0) 100%);
}

.wp-block-lazyblock-competences-element .element-headline-description {
    position: absolute;
    z-index: 1;
    margin: 0 0 0.5rem 0;
    bottom: 0;
    top: auto;
    left: 0;
    right: auto;
}
.wp-block-lazyblock-competences-element .element-headline {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--white);
    font-weight: bold;
    font-weight: 600;
    padding: 0 1rem 0.5rem 1.5rem;
    margin: 0;
    line-height: 1.25;
}
.wp-block-lazyblock-competences-element .element-description {
    display: none;
}

@media ( hover:hover ) {
    .wp-block-lazyblock-competences-element .element-image {
        transition: opacity 350ms ease-in-out;
    }
    .wp-block-lazyblock-competences-element:hover .element-image {
        opacity: 0.66;
    }
    .wp-block-lazyblock-competences-element .element-image img {
        transition: transform 1000ms ease-in-out;
    }
    .wp-block-lazyblock-competences-element:hover .element-image img {
        transform: scale(125%);
    }

}



/* Services */

.wp-block-lazyblock-services-overview .fwv-overview-elements {
    display: flex;
    gap: 0;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.wp-block-lazyblock-services-element {
    position: relative;
    padding: 0;
    margin: 0;
    flex-basis: 100%;
    width: 100%;
    overflow: hidden;
    display: flex;
    gap: 0;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.wp-block-lazyblock-services-element > div {
    position: relative;
    flex-basis: 100%;
}

.wp-block-lazyblock-services-element > .element-image {
    z-index: 0;
}
.wp-block-lazyblock-services-element > .element-headline-description {
    z-index: 1;

}
.wp-block-lazyblock-services-element > div:before {
    content: ' ';
    width: 1px;
    margin-left: -1px;
    float: left;
    height: 0;
}

.wp-block-lazyblock-services-element > .element-image:before {
    padding-top: 50%;
}

.wp-block-lazyblock-services-element > div:after {
    content: '';
    display: table;
    clear: both;
}

.wp-block-lazyblock-services-element .element-image {
    overflow: hidden;
}
.wp-block-lazyblock-services-element .element-image img {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.wp-block-lazyblock-services-element .element-headline-description .inner {
    padding-top: 1rem; 
    padding-bottom: 3.5rem;
}
.wp-block-lazyblock-services-element .element-headline {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--black);
    font-weight: bold;
    font-weight: 600;
    margin: 0;
    line-height: 1.25;
}
.wp-block-lazyblock-competences-element .element-headline-description {
    margin: 0;
}


@media ( min-width: 600px ) {
    .wp-block-lazyblock-services-element {
        flex-flow: row nowrap; 
        align-items: stretch;
    }
    .wp-block-lazyblock-services-element:nth-child(even) {
        flex-direction: row-reverse;
    }
    .wp-block-lazyblock-services-element > div {
        flex-basis: 50%;
    }
    .wp-block-lazyblock-services-element > div:before {
        padding-top: 66.66%;
    }

    .wp-block-lazyblock-services-element .element-headline-description .inner {
        padding-left: 1rem;
        padding-right: 0;
    }
    .wp-block-lazyblock-services-element:nth-child(even) .element-headline-description .inner {
        padding-right: 2rem;
        padding-left: 0;
    }

    .wp-block-lazyblock-services-element .element-headline-description .inner {
        padding-top: 2rem; 
        padding-bottom: 2.5rem;
    }

}
@media ( min-width: 769px ) and ( orientation: landscape ) , ( min-width: 1025px ) {
    .wp-block-lazyblock-services-element > div:before {
        padding-top: 50%;
    }

    .wp-block-lazyblock-services-element .element-headline-description .inner {
        padding-left: 2rem;
        padding-right: 0;
    }
    .wp-block-lazyblock-services-element:nth-child(even) .element-headline-description .inner {
        padding-right: 4rem;
        padding-left: 0;
    }
}

@media ( hover:hover ) {
    .wp-block-lazyblock-services-element .element-image img {
        transition: transform 1000ms ease-in-out;
    }
    .wp-block-lazyblock-services-element:hover .element-image img {
        transform: scale(125%);
    }

}
