*,
*:before,
*:after {
    box-sizing: border-box;
}
body {
    margin: 0;
    overflow-x: hidden;
}
.blog-filter {
    padding: 30px 0;
}
.blog-filter > div {
    display: flex;
    flex-flow: row wrap;
    gap: 5px;
}
.blog-filter > div a button {
    font-size: 18px;
    border: 2px solid transparent;
    background-color: #ddd;
    border-radius: 15px;
}
.blog-filter > div a.active button {
    background-color: #ddd;
    border: 2px solid;
}
.blog-grid-wrap {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: center;
    gap: 15px;
}
.blog-grid-wrap .blog_entry {
    border: 3px solid;
    border-radius: 10px;
    flex: 100% 1 1;
    overflow: hidden;
    order: 1;
}
.blog-grid-wrap .blog_entry .blog-img-container img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.blog-grid-wrap .blog_entry .blog-content {
    padding: 15px 25px;
}
.blog-grid-wrap .blog_entry .blog_share ul {
    display: flex;
    flex-flow: row wrap;
    list-style: none;
    padding: 10px 0 0;
    margin: 0;
}
.blog-grid-wrap .blog_entry .blog_share ul li {
    padding: 5px;
}
.blog-grid-wrap .blog_entry .blog_share ul li a {
    font-size: 20px;
}
.blog-grid-wrap .blog_entry .blog_share ul li.blog_social_share {
    flex: 100% 0 0;
}
.page-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}
.page-selector span {
    display: inline-block;
}
.page-selector span#active_page_num {
    padding: 3px;
    background-color: #ddd;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
}
.page-selector span#total_pages {
    padding: 3px;
    margin-right: 8px;
}
.page-selector .blog-pagination-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #ddd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    margin: 0 3px;
}
@media (min-width: 768px) {
    .blog-grid-wrap {
        flex-flow: row wrap;
    }
    .blog-grid-wrap .blog_entry {
        flex: calc(50% - 15px) 1 1;
    }
    .blog-grid-wrap .blog_entry .blog-img-container img {
        height: 300px;
    }
}
@media (min-width: 992px) {
    .blog-grid-wrap {
        flex-flow: row wrap;
        justify-content: flex-start;
        margin-right: -15px;
    }
    .blog-grid-wrap .blog_entry {
        flex: calc(33.33% - 15px) 0 1;
    }
}
