.opus-immo-container, 
.opus-immo-container *, 
.opus-immo-container *::before, 
.opus-immo-container *::after {
    box-sizing: border-box;
}

.opus-immo-container {
    width:100%;
    position:relative;
}
.opus-immo {
    margin-left:-10px;
    margin-right:-10px;
}
.opus-immo .grid-item {
    width:100%;
    padding-left:10px;
    padding-right:10px;
    margin-bottom:20px;
}
.opus-immo__item {
    position:relative;
    z-index:0;
}
.opus-immo__item-lightbox {
    display:block;
}
.opus-immo__item__image {
    width:100%;
    height:auto;
    display:block;
}
.opus-immo__item__text {
    background:rgba(0,0,0,.8);
    color:white;
    opacity:0;
    position:absolute;
    display:flex;
    flex-wrap:nowrap;
    flex-direction: column;
    justify-content: center;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:2;
    transition:opacity .3s ease;
    padding:30px;
    overflow:hidden;
    pointer-events: none;
}
.opus-immo__item__text p:last-child {
    margin-bottom:0;
}
.opus-immo__item:hover .opus-immo__item__text {
    opacity:1;
}
.opus-immo-filter {
    margin-bottom:30px;
    display:flex;
    flex-wrap:wrap;
}
.opus-immo-filter__button {
    border:1px solid black;
    background:transparent;
    color:black;
    padding:8px 15px;
    border-radius:0;
    outline: none;
    box-shadow: none;
    margin:0 5px 5px 0;
    transition-duration:.2s;
    transition-timing-function: ease;
    transition-property: color, background-color, border-color;
}
.opus-immo-filter__button.active {
    border-color:gray;
    color:gray;
}
.opus-immo-filter__button,
.opus-immo-filter__button:hover,
.opus-immo-filter__button:focus {
    outline: none;
    box-shadow: none;
    text-decoration: none;
}
.opus-immo__item__label {
    position:absolute;
    top:0;
    left:0;
    max-width:100%;
    padding:8px 15px;
    background:black;
    color:white;
    display:block;
    z-index:1;
}
.opus-immo-container.align--center .opus-immo-filter {
    justify-content: center;
}
.opus-immo-container.align--center .opus-immo__item__text {
    text-align:center;
}

/* responsive */
@media (min-width:768px){
    .opus-immo .grid-item {width:50%;}
}
@media (min-width:1200px){
    .opus-immo .grid-item {width:25%;}
}
@media (min-width:768px){
    .tablet--column-4 .grid-item {width:25%}
    .tablet--column-3 .grid-item {width:33.333333%}
    .tablet--column-2 .grid-item {width:50%}
}
@media (min-width:992px){
    .tablet-lg--column-4 .grid-item {width:25%}
    .tablet-lg--column-3 .grid-item {width:33.333333%}
    .tablet-lg--column-2 .grid-item {width:50%}
}
@media (min-width:1200px){
    .screen--column-4 .grid-item {width:25%}
    .screen--column-3 .grid-item {width:33.333333%}
    .screen--column-2 .grid-item {width:50%}
}