/* elements.css for >Immobilienglück< */

.werbelink {
    float:right;
    line-height: 1;
    padding: 0.625rem 0.3125rem;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 400;
}

.werbelink span {
    font-weight: 600;
}

/* cookieconsent */
.cc-link {
    padding: 0;
    display: inline;
}

/* lightbox - we have fontawesome? awesome! */
@media all {
    .ce-media-image a { position:relative; }

    .ce-media-image a::before {
        content: '\f0c1';
        font-family: FontAwesome;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;

        width: 1rem;
        height: 1rem;
        position: absolute;
        z-index: 1;
        top: auto;
        bottom: 0.3125rem;
        right: 0.3125rem;

        color: rgb(255,255,255);
        text-shadow: 0 0 1px rgb(0,0,0);
        background: none;
    }
    .ce-media-image a {
        text-decoration: none;
    }

    .ce-media-image a.lightbox::before {
        content: '\f00e';
    }
    .ce-media-image .ce-media-caption a::before {
        content: none;
    }
}

/* news */
@media all {

    .news-list-item + .news-list-item {
        border-top: 1px solid rgb(234,234,234);
        padding-top: 3.75rem;
    }
    .news-list-item + .news-list-item.news-list-item-teaser {
        border: none;
        padding-top: 0;
    }

    .news-list .news-date {
        display: inline-block;
        margin-top: 0.3125rem;
    }
    .news-list-link .fa {
        padding-left: 0.5em;
    }

    .news-list-item-teaser {
        width: 100%;
    }
    .modernizr-flexbox .news-list-teaser .ce-textpic-inner {
        display: flex;
        flex-direction: column;
    }

    .modernizr-flexbox .news-list-teaser .news-teaser-text {
        flex-grow: 1;
    }

    .news-list-masonry .has-pagination {
        margin-bottom: 5rem; /*FIXME */
    }

    .news-list-masonry .pagination {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
    }
}

/* pagination news & search */
@media all {

    .pagination {
        margin-bottom: 0.9375rem;
    }

    .pagination .pagination-count {
        margin-bottom: 0;
    }

    .pagination ul {
        display: block;
        margin: 0 -0.3125rem;
        padding:0;
    }

    .pagination li {
        display: block;
        float:left;
        line-height: 1;
        padding: 0.3125rem;
    }

    .pagination span,
    .pagination a {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 75%;
        color: rgb(95,167,54);
        text-decoration: none;
        text-align: center;
        line-height: 1;
        width: 2.5rem;
        height:2.5rem;
        padding: 0.4375rem 0;
        border: 1px solid currentColor;
        border-radius: 50%;
    }
    .pagination a:not(.fa)::before { content: none; }

    .pagination .fa {
        margin: 0;
        padding: 0;
    }

    .pagination .current {
        background: currentColor;
        background-clip: padding-box;
    }
    .pagination .current b {
        color: rgb(255,255,255);
    }

    .pagination .paginator-ellip {
        border: none;
        padding: 0;
        width: auto;
    }
    .ce-frame-containerGreyText .ce-element{
        margin-bottom:0;
        width:100%;
    }
    .ce-frame-containerGreyText > div{
        margin-bottom: 3.75rem;
    }
    .ce-frame-containerGreyText .ce-gallery{
        padding:0;
    }
    .ce-frame-containerGreyText .ce-gallery .ce-column{
        margin-bottom: 0;
    }
    .ce-element {
        margin-bottom: 2.8125rem;
    }
    .ce-layout-quoteimage{
        margin-bottom:0;
    }
    .ce-frame-containerGreyText .ce-header{
        max-width:100%;
    }
    .ce-frame-containerGreyText .ce-col:first-child{
        position:relative;
        margin-bottom:1.25rem;
    }
    .ce-frame-containerGreyText .ce-col:first-child > div{
        padding:1.25rem;
    }
    .ce-frame-containerGreyText .ce-col:first-child::after{
        content:"";
        display:block;
        position: absolute;
        top:0;
        left:0;
        bottom:0;
        right:0;
        background-color:rgb(234,234,234);
        z-index:-1;
    }
    .ce-frame-containerGreyText .ce-col:first-child::before{
        content:"\f10e";
        font-family: FontAwesome;
        position: absolute;
        top:-3rem;
        font-size:3.5rem;
        color:rgb(95,167,54);
    }
    .ce-grid-fullwidth-bg{
        min-height:50vh;
    }
    .ce-space-after-extra-small > div{
        margin-bottom:0;
    }
    footer .ce-element{
        margin-bottom:0.625rem;
    }
    .ce-layout-quotesign .ce-bodytext{
        position: relative;
    }
    .ce-layout-quotesign .ce-bodytext::before{
        content:"\f10e";
        font-family: FontAwesome;
        position: absolute;
        top:-3rem;
        font-size:2.5rem;
        color:rgb(95,167,54);
    }
    .ce-layout-quoteimage{
        position: relative;
    }
    .ce-layout-quoteimage .ce-gallery .ce-row,
    .ce-layout-quoteimage .ce-intext.ce-left .ce-gallery,
    .ce-layout-quoteimage .ce-intext.ce-left .ce-column,
    .ce-layout-quoteimage .ce-intext.ce-right .ce-gallery,
    .ce-layout-quoteimage .ce-intext.ce-right .ce-column{
        margin:0;
        padding:0;
    }
    .ce-layout-quoteimage .ce-textpic{
        display:flex;
        flex-direction: column-reverse;
    }
    .ce-layout-quoteimage .ce-intext.ce-left .ce-gallery,
    .ce-layout-quoteimage .ce-intext.ce-right .ce-gallery{
        margin:0 auto;
    }
    .ce-frame-inverted > div:not(.ce-header){
        background-color:rgb(95,167,54);
    }
    .copyright{
        float:left;
        display:block;
        padding:0.625rem 0.3125rem;
        color:rgb(255,255,255);
        line-height: 1;
        margin-right: 1.25rem;
    }
    .ce-frame-inverted > div:not(.ce-header),
    .ce-frame-inverted .ce-header > :not(.ce-header-subheader){
        text-shadow: none;
        color:rgb(255,255,255);
    }
    .ooiframe,
    .contact-mapouter{
        margin-bottom:3.75rem;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-layout-box-inner{
        display:flex;
        flex-direction: column-reverse;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-layout-box-inner > .ce-header,
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-layout-box-inner > .ce-header > *{
        max-width:100%;
        margin:0;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-layout-box-inner > .ce-header{
        padding:.625rem 0;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-layout-box-inner .ce-gallery{
        margin-top:-1.25rem;
        padding:0;
    }
    .ce-layout-box-outer{
        box-shadow:0 0rem 1.25rem 0.25rem rgba(0,0,0,0.1)
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer{
        transition:ease all 0.25s;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer:hover{
        background:rgb(95,167,54);
    }
    .ce-layout-box-inner {
        padding: 0.9375rem 0.625rem;
    }
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer:hover .ce-header,
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer:hover .ce-header > *, 
    .ce-grid-align-medium-top .ce-layout-box-outer .ce-teaserlink-outer .ce-header a:not(.btn):hover{
        color:rgb(255,255,255);
        text-decoration: none;
    }

    .ce-menu-subpages-teaser {
        display:grid;
        gap:2.5rem;
    }

    .ce-menu-subpages-teaser > div{
        margin:0;
    }
    .ce-menu-subpages-teaser .ce-header,
    .ce-menu-subpages-teaser .ce-teaserlink-outer{
        margin:0;
        text-transform: uppercase;
    }

    .ce-menu-subpages-teaser .ce-gallery{
        margin-top:-1.25rem;
    }
    
    .ce-menu-subpages-teaser .ce-layout-box-outer .ce-header > *,
    .ce-menu-subpages-teaser .ce-layout-box-outer {
        transition:ease all 0.2s;
    }
    
    .ce-menu-subpages-teaser .ce-layout-box-outer:hover,
    .ce-menu-subpages-teaser .ce-layout-box-outer:focus {
        background-color:rgb(95,167,54);
    }
    
    .ce-menu-subpages-teaser .ce-layout-box-outer:hover .ce-header > *,
    .ce-menu-subpages-teaser .ce-layout-box-outer:focus .ce-header > *{
        color:rgb(255,255,255);
    }
}

@media all and (min-width: 30em) {
    .ce-layout-box-inner {
        padding: 1.25rem 1.25rem 0.625rem;
    }
}

@media all and (min-width: 47.5em), print {

    .ce-div {
        position: relative;
        overflow: hidden; 
        height:0.9375rem;
    }

    .ce-div::before {
        content: "";
        display: block;
        border-radius: 25%;
        position: absolute;
        left: 2.5rem;
        right: 2.5rem;
        bottom: 100%;
        height: 1.25rem;
        box-shadow: 0 0 1.25rem rgba(0,0,0,0.25);
    }

    .ce-media-image a::before {
        right: 0.625rem;
        bottom: 0.625rem;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -0.625rem;
    }
    .news-list-item-teaser {
        width: 50%;
        float: left;
        padding: 0 0.625rem;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(2n+1) {
        clear: left;
    }
    .ce-frame-containerGreyText > .ce-grid-medium{
        display:flex;
    }
    .ce-frame-containerGreyText .ce-col{
        display:flex;
        align-items:center;
    }
    .ce-frame-containerGreyText .ce-col:first-child{
        margin-bottom:0;        
    }
    .ce-frame-containerGreyText .ce-col:first-child::after{
        left:-100%;
        right:0.625rem;
    }
    .ce-frame-containerGreyText .ce-col:first-child::before{
        top:-4rem;
        font-size:5rem;
        color:rgb(95,167,54);
    }
    .ce-menu-subpages-teaser {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* desktop */
@media all and (min-width: 62.5em) {

    .news-list-item + .news-list-item {
        padding-top: 5rem;
    }

    /* news teaser */
    .news-list-teaser {
        margin: 0 -1.25rem;
    }
    .news-list-item-teaser {
        width: 33.3333%;
        float: left;
        padding: 0 1.25rem;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(2n+1) {
        clear: none;
    }
    .news-list-teaser .news-list-item-teaser:nth-child(3n+1) {
        clear: left;
    }
    .ce-element {
        margin-bottom: 4.0625rem;
    }
    .ce-layout-quoteimage {
        margin-bottom:0;
    }
    .ce-frame-containerGreyText > div{
        margin-bottom:5rem;
    }
    .ce-frame-containerGreyText .ce-col:first-child::after{
        right:1.25rem;
    }
    .ce-frame-containerGreyText .ce-col .ce-element > div{
        width:100%;
    }
    footer .ce-element{
        margin-bottom:1.875rem;
    }
    .ooiframe,
    .contact-mapouter{
        margin-bottom:5rem;
    }

}

/* desktop - xlarge */
@media (min-width:82.5em) {
    .ce-layout-quotesign .ce-bodytext::before{
        content:"\f10e";
        top:-4rem;
        right:calc(100% + 1rem);
        font-size:3.5rem;
    }
    .ce-layout-quoteimage {
        margin-bottom: 4.0625rem;
    }
    .ce-layout-quoteimage .ce-gallery{
        position: absolute;
        z-index:-1;
        bottom:-4.0625rem;
    }
    .ce-layout-quoteimage .ce-left .ce-gallery{
        left:-11rem;
    }
    .ce-layout-quoteimage .ce-right .ce-gallery{
        right:-11rem;
    }
}
