.content-header,
.posts-wrap,
.posts-list-view {
    padding-left: 20px;
    padding-right: 20px;
    -webkit-transition: opacity .25s ease-in-out;
    -o-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
}

.content-header {
    margin-bottom: 25px;
}

.content-area .page-title {
    font-size: 19px;
    font-family: Roboto, sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.loading {
    opacity: 60%;
    pointer-events: none;
}

.post-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    padding-bottom: 25px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.post-item > *:first-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 55%;
            flex: 0 1 55%;
}

.post-item > *:last-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 45%;
            flex: 0 1 45%;
}

.post-item img {
    height: 224px;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
}

.post-item a {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.post-item h2 {
    font-size: 14px;
    line-height: 1.21em;
    text-transform: uppercase;
    margin-bottom: 7.5px;
}

.post-item p {
    font-size: 13px;
    line-height: 1.31em;
    margin-bottom: 30px;
}

.post-item .read-more,
.posts-list-item > *:last-child {
    margin-bottom: 0;
}

.posts-list-item a,
.posts-list-item h2 {
    text-decoration: underline;
}

.posts-list-item p,
.phone-number,
.website {
    font-size: 17px;
    margin-bottom: 10px;
}

.post-item .read-more a {
    font-size: 10px;
    line-height: 1.7em;
    color: #808285;
    font-weight: 300;
}

.post-item .col-2 {
    padding: 8.5px 0 0 10px;
}

.posts-list-item {
    padding-top: 25px;
    padding-bottom: 25px;
}

.posts-list-item h2 {
    font-size: 15px;
    margin-bottom: 15px;
}

.website,
.phone-number {
    font-weight: 700;
}

.website a,
.phone-number a {
    font-weight: 400;
}

.website a {
    color: #f8c5cc;
}

.phone-number a {
    color: #58595b;
}

.content-header .content-header__col-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.content-header__col-2 .locations-filter {
    height: 100%;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0;
    border: none;
    color: #000;
}

.locations-filter.loading {
    pointer-events: none;
    opacity: 1;
}

.content-header__col-2 .spinner {
    -webkit-transition: opacity .25s ease-in-out;
    -o-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
    opacity: 0;
    max-width: 28.4px;
    height: auto;
    margin-left: 15px;
    position: absolute;
}

.spinner.loading {
    opacity: 1;
}

.content-header .share-icons {
    margin-bottom: 15px;
}

.dropdown-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.dropdown-wrap__inner-wrap {
    position: relative;
}

@media screen and (min-width: 700px) {
    .posts-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }

    .posts-wrap > * {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 50%;
                flex: 0 1 50%;
    }

    .post-item .col-2 {
        padding: 23.5px 0 0 10px;
    }

    .post-item:nth-child(2n + 1) {
        padding-right: 10px;
    }

    .post-item:nth-child(2n) {
        padding-left: 10px;
    }
}

@media screen and (min-width: 922px) {
    
    .content-header__col-2 .spinner {
        margin-left: 0;
        margin-right: 15px;
        left: -43.4px;
    }

    .content-header__col-2 .locations-filter {
        height: unset;
    }
    
    .post-item {
        padding-top: 0;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }

    .post-item.last-row-item {
        margin-right: 0;
    }

    .post-item img {
        margin-bottom: 25.5px;
    }
    
    .post-item h2 {
        margin-bottom: 17px;
    }

    .post-item:first-child {
        padding-top: 0;
    }

    .posts-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .content-header {
        margin-bottom: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }

    .content-area .page-title {
        font-size: 27px;
        margin-bottom: 0;
    }

    .post-item .read-more a {
        font-size: 13px;
    }

    .dropdown-wrap {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }

    .content-header .share-icons {
        margin-left: auto;
        width: 100%;
        margin-top: 0;
    }
}

@media screen and (min-width: 977px) {
    .posts-wrap > * {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 33.33%;
                flex: 0 1 33.33%;
    }

    .posts-wrap {
        margin-right: -30px;
        margin-left: -30px;
    }

    .post-item:nth-child(3n+1) > * {
        margin-left: 0;
    }

    .post-item:nth-child(3n) > * {
        margin-right: 0;
    }

    .post-item > *:first-child,
    .post-item > *:last-child {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%;
    }

    .post-item .col-2 {
        padding: 0;
    }

    .post-item img {
        margin-bottom: 15px;
    }

    .post-item h2 {
        font-size: 18px;
        line-height: .94em;
        margin-bottom: 7.5px;
    }

    .post-item p {
        font-size: 17px;
        line-height: 1.41em;
    }

    .post-item:nth-child(1n) {
        padding: 0 30px 25px;
    }
}

@media screen and (min-width: 1201px) {
    .content-header,
    .posts-wrap,
    .posts-list-view {
        padding-left: 30px;
    }
}