.wpbnmpb2 {

    --bnm-header-font-size: 21px;
    --bnm-header-margin: 0 0 1em;
    --bnm-title-font-size: 24px;
    --bnm-title-font-size-small: 16px;
    --bnm-title-line-height: 1.2;
    --bnm-title-line-height-small: 1.2;
    --bnm-title-margin: 0 0 0.4em 0;
    --bnm-meta-font-size: 14px;
    --bnm-meta-font-size-small: 13px;
    --bnm-meta-spacing: 15px;
    --bnm-meta-margin: 0 0 15px;
    --bnm-category-font-size: 13px;
    --bnm-category-padding: 2px 5px;
    --bnm-category-bg-hover-color: #eee;
    --bnm-category-margin: 0;
    --bnm-excerpt-font-size: 16px;
    --bnm-excerpt-line-height: 1.5;
    --bnm-excerpt-font-size-small: 14px;
    --bnm-excerpt-line-height-small: 1.5;
    --bnm-excerpt-margin: 0 0 20px;
    --bnm-excerpt-margin-small: 0 0 20px;
    --bnm-image-width: 33%;
    --bnm-content-width: 67%;
    --bnm-image-margin: 0 1em 0 0;
    --bnm-col-gap: 40px;
    --bnm-row-gap: 25px;
    //--bnm-border-color: #e0e0e0;

    margin: 0 0 50px 0;

    article {
        word-break: break-word;
        overflow-wrap: break-word;
        position: relative;
    }

    .bnm-pb2-large {
        .entry-title {
            clear: none;
            font-size: var(--bnm-title-font-size);
            line-height: var(--bnm-title-line-height);
            letter-spacing: var(--bnm-title-letter-spacing);
            padding: var(--bnm-title-padding);
            margin: var(--bnm-title-margin);

            a {
                text-decoration: inherit;
                color: var(--bnm-title-color);
                
                &:hover {
                    color:  var(--bnm-title-hover-color);
                }
            }
        }

        .entry-meta,
        .entry-meta a {
            text-decoration: inherit;
            font-size: var(--bnm-meta-font-size);
            line-height: var(--bnm-meta-line-height);
            letter-spacing: var(--bnm-meta-letter-spacing);
        }

        .bnm-post-excerpt {
            color: var(--bnm-excerpt-color);
            font-size: var(--bnm-excerpt-font-size);
            line-height: var(--bnm-excerpt-line-height);
            letter-spacing: var(--bnm-excerpt-letter-spacing);
            padding: var(--bnm-excerpt-padding);
            margin: var(--bnm-excerpt-margin);
        }
    }

    .bnm-pb2-small {         
        
        display: flex;

        .entry-title {
            clear: none;
            font-size: var(--bnm-title-font-size-small); 
            line-height: var(--bnm-title-line-height-small);
            letter-spacing: var(--bnm-title-letter-spacing-small);
            margin: 0 0 8px;

            a {
                text-decoration: inherit;
                color: var(--bnm-title-color);
                
                &:hover {
                    color:  var(--bnm-title-hover-color);
                }
            }
        }
        .entry-meta,
        .entry-meta a {
            font-size: var(--bnm-meta-font-size-small);
            line-height: var(--bnm-meta-line-height-small);
            letter-spacing: var(--bnm-meta-letter-spacing-small);
        }
        .bnm-post-excerpt {
            color: var(--bnm-excerpt-color);
            font-size: var(--bnm-excerpt-font-size-small);
            line-height: var(--bnm-excerpt-line-height-small);
            letter-spacing: var(--bnm-excerpt-letter-spacing-small);
            padding: var(--bnm-excerpt-padding-small);
            margin: var(--bnm-excerpt-margin-small);
        }
        .post-thumbnail {
            flex-basis: var(--bnm-image-width);
            margin: var(--bnm-image-margin);
        }
        .entry-details {
            flex-basis: var(--bnm-content-width);
        }
    }

    .bnm-category-list {
        a {
            color: var(--bnm-category-color);
            display: inline-block;
            font-size: var(--bnm-category-font-size);
            font-weight: bold;
            line-height: var(--bnm-category-line-height);
            letter-spacing: var(--bnm-category-letter-spacing);
            text-decoration: inherit;
            margin: var(--bnm-category-margin);

            &:visited {
                color: var(--bnm-category-color);
            }

            &:hover {
                color: var(--bnm-category-hover-color);
            }
        }
    }

    &.bnm-box-cat {
		.bnm-category-list {
			a {
				background-color: var(--bnm-category-bg-color);
				padding: var(--bnm-category-padding);

				&:hover {
					background-color: var(--bnm-category-bg-hover-color);
				}
			}
		}
	}

    .entry-meta {
        color: var(--bnm-meta-color);
        padding: var(--bnm-meta-padding);
        margin: var(--bnm-meta-margin);

        .byline,
        .posted-on,
        .bnm-comment-count {

            margin-right: var(--bnm-meta-spacing);

            a {
                text-decoration: inherit;
                color: var(--bnm-meta-color);

                &:visited {
                    color: var(--bnm-meta-color);
                }

                &:hover {
                    color: var(--bnm-meta-hover-color);
                }
            }
        }
    }

    .post-thumbnail {
        margin: 0 0 17px 0;
        overflow: hidden;
    
        img {
            max-width: 100%;
            height: auto;
        }
    }

}

.bnm-pb2-posts-grid {
    display: grid;
    overflow: hidden;
    column-gap: var(--bnm-col-gap);
    row-gap: var(--bnm-row-gap);
    
    @media ( min-width: 768px ) {
        grid-template-columns: 1fr 1fr;
    }
}

.bnm-pb2-large,
.bnm-pb2-small {
    display: block;
    width: 100%;
}


.wpbnmpb2.is-style-bnm-borders {
    .bnm-pb2-posts-grid {
        article {
            &::before, &::after {
                content: "";
                position: absolute;
                left: calc(var(--bnm-col-gap) / -2);
                background-color: var(--bnm-border-color);
            }

            &::before {
                height: 1px;
                right: 0;
                left: 0;
                top: calc(var(--bnm-row-gap) / -2);
            }

            &::after {
                height: 100%;
                top: 0;
                width: 1px;
            }
        }
    }
}
