/******************************************************************
Theme Name: Gramcor THeme V2
Theme URI: http://frankescramosa.wordpress.com
Description: 
Author: Frank Vinzon Escramosa
Author URI:  http://frankescramosa.wordpress.com
Version: 1.0 (Development)
License: GNU General Public License & MIT
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: Sass
******************************************************************/


.hp-posts {
    background: #fff;
    padding: 30px 0px 0px;
}

.hp-posts .section-title {
    text-align: center;
}

.hp-posts .content-p {
    text-align: center;
    margin: auto;
    margin-top: 10px;
}

.hp-posts .section-title p {
    margin-bottom: 20px;
    margin-left: 0;
    padding-left: 0;
}

.hp-posts .section-title p::after {
    display: none;
}

.hp-posts .post-img {
    width: 100%;
    height: 588px;
    position: relative;
}

.hp-posts .post-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hp-posts .post-img a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.hp-posts .post-container {
    max-width: calc(345px - 40px);
    flex: 1 1 calc(25% - 40px);
    height: 588px;
    background: black;
    margin: 0 20px;
    margin-bottom: 20px;
    position: relative;
    font-size: 0;
    transition: all ease-in-out 0.35s;
}

@media only screen and (max-width: 1200px) {
    .hp-posts .post-container {
        flex: 1 1 50%;
        max-width: 345px;
    }
}

@media only screen and (max-width: 991px) {
    .hp-posts .post-container {
        flex: 1 1 50%;
        max-width: 345px;
    }
}

@media only screen and (max-width: 767px) {
    .hp-posts .post-container {
        flex: 1 1 100%;
        max-width: 345px;
    }
}

@media only screen and (max-width: 480px) {
    .hp-posts .post-container {
        flex: 1 1 100%;
        max-width: 345px;
    }
}

.hp-posts .post-container:hover {
    opacity: 0.7;
    cursor: pointer;
}

.hp-posts a.watch-vid:hover {
    opacity: 1;
}

.hp-posts .post-btn a {
    justify-content: flex-start;
}

.hp-posts .posts-flex {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    max-width: 1440px;
    margin: 50px auto 75px;
}

.hp-posts .event-title {
    width: 100%;
}

.hp-posts .event-title a {
    color: white;
    width: 100%;
    height: auto;
    display: block;
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 25px;
}

.hp-posts .post-content {
    padding: 0px 15px 30px;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: auto;
    left: 0;
}

.hp-posts .hp-posts-btn a {
    margin: auto;
}

.hp-posts .event-accent {
    max-width: 122px;
}

.post-items {
    align-items: unset !important;
}

.post-items-container {
    position: relative;
    text-align: center;
}

.post-items .item-post {
    text-align: left !important;
    border-radius: 8px;
    background-color: #FFFFFF;
    box-shadow: 0px 0px 17px rgba(2, 6, 19, 0.09);
    overflow: hidden;
    max-width: calc(100% - 30px);
    margin: 12px;
    height: 100%;
}

@media only screen and (max-width: 767px) {
    .post-items .item-post {
        max-width: 444px;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 480px) {
    .post-items .item-post {
        max-width: 100%;
        margin: 0 auto;
    }
}

.post-items .item-post .img-con {
    position: relative;
    display: flex;
    line-height: 0;
    height: 265px;
    padding-top: 58.47826086956522%;
    background: #eee;
    overflow: hidden;
    border-radius: 9px;
}

.post-items .item-post .img-con:hover img {
    transform: scale(1.2);
}

.post-items .item-post .img-con img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 1.1s ease;
    object-fit: cover;
}

.post-items .item-post .s2 {
    padding: 10px 25px 25px;
}

.post-items .item-post .s2 .title {
    font-size: 22px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    height: 60px;
    margin-bottom: 5px;
    color: var(--text-base);
}

.post-items .item-post .s2 .excerpt {
    font-size: 16px;
    line-height: 1.8;
    text-align: justify;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    max-height: 180px;
    margin: 15px auto;
    margin-bottom: 12px;
    color: var(--text-base);
}

@media only screen and (max-width: 767px) {
    .post-items .item-post .s2 .excerpt {
        text-align: left;
    }
}

@media only screen and (max-width: 480px) {
    .post-items .item-post .s2 .excerpt {
        text-align: left;
    }
}

.post-items .item-post .s2 .more-link {
    min-height: 36px;
    margin-top: auto;
    font-size: 14px;
    font-weight: 400;
}

.post-items .item-post .s2 .more-link span {
    min-height: 42px;
    width: 42px;
    padding: 8px;
}

.hp-posts-btn {
    margin: auto;
    text-align: center;
}

.single-post .banner-section {
    background-color: #F8F8F8;
    padding: 0;
    min-height: 400px;
    display: flex;
    align-items: center;
}

.single-post .banner-section h1 {
    font-size: 40px;
    line-height: 1.5em;
    margin-bottom: 60px;
}

@media only screen and (max-width: 1024px) {
    .single-post .banner-section h1 {
        font-size: 40px;
    }
}

@media only screen and (max-width: 991px) {
    .single-post .banner-section h1 {
        font-size: 36px;
        margin-bottom: 50px;
    }
}

@media only screen and (max-width: 767px) {
    .single-post .banner-section h1 {
        font-size: 32px;
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 480px) {
    .single-post .banner-section h1 {
        font-size: 28px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 767px) {
    .single-post .banner-section .container {
        padding: 40px;
    }
}

@media only screen and (max-width: 480px) {
    .single-post .banner-section .container {
        padding: 40px;
    }
}

.single-post .inner-content {
    border-radius: 30px;
    box-shadow: 0px 20px 33px 0px rgba(2, 6.000000000000023, 19, 0.09);
    margin: -125px auto 60px;
    background: #fff;
    z-index: 2;
    position: relative;
}

.single-post .inner-content .heading {
    height: 100px;
    background-color: var(--global--color-pink);
    border-radius: 30px 30px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px;
}

.single-post .inner-content .heading p {
    font-size: 16px;
    text-transform: uppercase;
    color: #FFF;
    font-weight: 700;
}

.single-post .inner-content .content {
    padding: 40px 30px;
}

.single-post .inner-content .img-con {
    width: 100%;
    height: 412px;
    border-radius: 25px;
    margin-bottom: 60px;
    box-shadow: 0px 0px 17px 0px rgba(2, 6.000000000000023, 19, 0.09);
}

.single-post .inner-content .img-con img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
}

.single-post .inner-content .post-con p {
    line-height: 1.8em;
    font-size: 18px;
}

@media only screen and (max-width: 767px) {
    .single .container {
        padding: 20px;
    }
}

@media only screen and (max-width: 480px) {
    .single .container {
        padding: 0px;
    }
}

/* BASE FLEX GRID */
.flex-cols {
    display: flex;
    flex-wrap: wrap;
    margin-left: -12px;
    margin-right: -12px;
}

.flex-cols > * {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
}

/* ===== DESKTOP ===== */
.flex-cols.cols-1 > * { width: 100%; }
.flex-cols.cols-2 > * { width: 50%; }
.flex-cols.cols-3 > * { width: 33.3333%; }
.flex-cols.cols-4 > * { width: 25%; }
.flex-cols.cols-5 > * { width: 20%; }
.flex-cols.cols-6 > * { width: 16.6667%; }

/* ===== TABLET ===== */
@media (max-width: 991px) {
    .flex-cols.tablet-cols-1 > * { width: 100%; }
    .flex-cols.tablet-cols-2 > * { width: 50%; }
    .flex-cols.tablet-cols-3 > * { width: 33.3333%; }
    .flex-cols.tablet-cols-4 > * { width: 25%; }
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
    .flex-cols.mobile-cols-1 > * { width: 100%; }
    .flex-cols.mobile-cols-2 > * { width: 50%; }
    .flex-cols.mobile-cols-3 > * { width: 33.3333%; }
}

.flex-cols.gap-0 { margin: 0; }
.flex-cols.gap-0 > * { padding: 0; }

.flex-cols.gap-sm {
    margin-left: -8px;
    margin-right: -8px;
}
.flex-cols.gap-sm > * {
    padding-left: 8px;
    padding-right: 8px;
}

.flex-cols.gap-md {
    margin-left: -12px;
    margin-right: -12px;
}
.flex-cols.gap-md > * {
    padding-left: 12px;
    padding-right: 12px;
}

.flex-cols.gap-lg {
    margin-left: -20px;
    margin-right: -20px;
}
.flex-cols.gap-lg > * {
    padding-left: 20px;
    padding-right: 20px;
}