.wpbnmspp {
    --bnm-header-font-size: 21px;
    --bnm-header-margin: 0 0 1em;
    /*--bnm-title-color: #000000;*/
    /*--bnm-title-hover-color: #444444;*/
    --bnm-title-font-size: 18px;
    --bnm-title-line-height: 1.2;
    --bnm-title-margin: 0 0 7px 0;
    /*--bnm-meta-color: #505050;*/
    /*--bnm-meta-hover-color: #000000;*/
    --bnm-meta-font-size: 13px;
    --bnm-meta-spacing: 15px;
    /*--bnm-meta-margin: 0 0 15px;*/ 
    /*--bnm-category-color: #222222;
    --bnm-category-hover-color: #444444;*/
    --bnm-category-font-size: 12px;
    --bnm-category-padding: 2px 8px;
    --bnm-category-bg-hover-color: #eee;
    --bnm-category-margin: 0;
    --bnm-excerpt-font-size: 16px;
    --bnm-excerpt-line-height: 1.5;
    --bnm-excerpt-margin: 20px 0 20px;
    --bnm-col-gap: 40px;
    --bnm-row-gap: 25px;
    --bnm-image-margin: 0 0 10px;

    --bnm-image-width: 33%;
    --bnm-content-width: 67%;
    //--bnm-border-color: #e0e0e0;
    

    margin: 0 0 50px 0;

    article {
        min-width: 0;
        margin-bottom: 1.5em;
        word-break: break-word;
        overflow-wrap: break-word;
        position: relative;

        &:last-of-type {
            margin-bottom: 0;
        }
    }

    &.is-grid {
        > div {
            display: flex;
            flex-flow: row wrap;
            justify-content: flex-start;
            column-gap: var( --bnm-col-gap );
            row-gap: var( --bnm-row-gap );
            padding: 0;
            list-style: none;
        }

        article {
            flex-basis: 100%;
            margin-bottom: 0;
        }

        .bnm-block-title-wrap {
			margin-bottom: calc( 1.4em - var( --bnm-row-gap ) );
		}
    }

    @media only screen and ( min-width: 600px ) {
        &.columns-3 article,
        &.columns-6 article {
            flex-basis: calc( 33.33% - ( var( --bnm-col-gap ) / 3 * 2 ) );
        }

        &.is-style-bnm-borders.columns-3 article,
		&.is-style-bnm-borders.columns-6 article {
			flex-basis: calc(33.33% - ( 2 * var(--bnm-col-gap) / 3 * 2 ) - 1.1px);
		}

        &.columns-2 article,
        &.columns-4 article,
        &.columns-5 article {
            flex-basis: calc( 50% - ( var( --bnm-col-gap ) / 2 ) );
        }

        &.is-style-bnm-borders.columns-2 article,
		&.is-style-bnm-borders.columns-4 article,
		&.is-style-bnm-borders.columns-5 article {
			flex-basis: calc(50% - ( 2 * var(--bnm-col-gap) / 2 ) - 1.1px);
		}

        &.columns-5 article:last-of-type,
        &.is-style-bnm-borders.columns-5 article:last-of-type {
			flex-basis: 100%;
		}
    }

    @media only screen and ( min-width: 782px ) {
        &.columns-4 article {
            flex-basis: calc( 25% - ( var( --bnm-col-gap ) / 4 * 3 ) );
        }

		&.is-style-bnm-borders.columns-4 article {
			flex-basis: calc(25% - ( 2 * var(--bnm-col-gap) / 4 * 3 ) - 1.1px);
		}    

        &.columns-5 article,
		&.columns-5 article:last-of-type {
			flex-basis: calc( 20% - ( var( --bnm-col-gap ) / 5 * 4 ) );
		}

        &.is-style-bnm-borders.columns-5 article,
		&.is-style-bnm-borders.columns-5 article:last-of-type {
			flex-basis: calc(20% - ( 2 * var(--bnm-col-gap) / 5 * 4 ) - 1.1px);
		}

        &.columns-6 article {
            flex-basis: calc( 16.6666% - ( var( --bnm-col-gap ) / 6 * 5 ) );
        }

        &.is-style-bnm-borders.columns-6 article {
			flex-basis: calc(16.6666% - ( 2 * var(--bnm-col-gap) / 6 * 5 ) - 1.1px);
		}
    }

    /* Image Styles */
    .post-thumbnail {
        margin: var(--bnm-image-margin);
    
        img {
            vertical-align: top;
            width: 100%;
            height: auto;
        }
    }

    &.image-alignleft,
    &.image-alignright {
        .post-has-image {
            display: flex;

            .post-thumbnail {
                flex-basis: 33%;
            }

            .bnm-entry-wrapper {
                flex-basis: 67%;
            }
        }

        &.custom-image-width {
            .post-thumbnail {
                flex-basis: var(--bnm-image-width);
            }

            .bnm-entry-wrapper {
                flex-basis: var(--bnm-content-width);
            }
        }
    }

    &.image-alignleft {
        .post-thumbnail {
            margin-right: 1em;
        }

        &.custom-image-margin .post-thumbnail {
            margin: var(--bnm-image-margin);
        }
    }

	&.image-alignright {
		.post-thumbnail {
			margin-left: 1em;
		}

		.bnm-entry-wrapper {
			order: -1;
		}

        &.custom-image-margin .post-thumbnail {
            margin: var(--bnm-image-margin);
        }
	}

    &.image-alignbehind {
        .post-has-image {
            display: flex;
            align-items: flex-end;
            position: relative;

            .post-thumbnail {
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                right: 0;
                margin: 0;
                overflow: hidden;

                img {
                    height: 100% !important;
                    object-fit: cover !important;
                    margin: 0 !important;
                    max-width: 1000% !important;
                    width: 100% !important;
                }
            }

            .bnm-entry-wrapper {
                background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0) 100%, rgba(0, 0, 0, 0));
                position: relative;
                width: 100%;
                padding: 20px 30px;
            }

            .bnm-entry-wrapper,
            .entry-title a,
            .entry-title a:visited,
            .byline,
            .byline a,
            .byline a:visited,
            .bnm-post-date a,
            .bnm-post-date a:visited,
            .bnm-comment-count a,
            .bnm-comment-count a:visited,
            .bnm-post-excerpt a,
            .bnm-post-excerpt a:visited,
            .bnm-category-list a,
            .bnm-category-list a:visited {
                color: #fff;
            }
        }
    }

    .bnmsp-post .entry-title {
        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);
            position: relative;
            z-index: 2;

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

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

    .entry-meta {
        align-items: center;
        color: var(--bnm-meta-color);
        font-size: var(--bnm-meta-font-size);
        padding: var(--bnm-meta-padding);
        margin: var(--bnm-meta-margin);
        letter-spacing: var(--bnm-meta-letter-spacing);
        line-height: var(--bnm-meta-line-height);
        text-decoration: inherit;

        .byline,
        .posted-on,
        .bnm-comment-count {
            a {
                color: var(--bnm-meta-color);
                text-decoration: inherit;
                font-size: var(--bnm-meta-font-size);
                line-height: var(--bnm-meta-line-height);
                letter-spacing: var(--bnm-meta-letter-spacing);
                position: relative;
                z-index: 2;

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

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

    .byline,
    .posted-on,
    .bnm-comment-count {
        
        margin-right: var(--bnm-meta-spacing);

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

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

    .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-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);
            position: relative;
            z-index: 2;

            &: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);
				}
			}
		}
	}

    &.has-text-align-center {
        .entry-meta {
            justify-content: center;
        }
    }

    &.has-text-align-right {
        .entry-meta {
            justify-content: flex-end;
            text-align: right;
        }
    }

   /* &.is-style-bnm-borders:not(&.is-grid) article:not(:last-child) {
        border-bottom: 1px solid var(--bnm-border-color);
        padding-bottom: 1em;
    }*/

}

.wpbnmspp.is-style-bnm-borders {
	article {
		border: solid var(--bnm-border-color);
		border-width: 0 0 1px;
		box-sizing: content-box;
		padding-bottom: 1em;

		&:last-of-type {
			&:not(:first-of-type) {
				border-bottom: 0;
				padding-right: 0;
			}
		}
	}

	@media only screen and ( min-width: 600px ) {
		&.is-grid article {
			border-width: 0;
			padding-right: 0;
		}

		&.columns-2,
		&.columns-4,
		&.columns-5 {
			article:nth-of-type(odd):not(:last-of-type) {
				border-width: 0 1px 0 0;
				padding-right: var(--bnm-col-gap);
			}
		}

		&.columns-3,
		&.columns-6 {
			article {
				&:nth-of-type(3n + 1):not(:last-of-type),
				&:nth-of-type(3n + 2):not(:last-of-type) {
					border-width: 0 1px 0 0;
					padding-right: var(--bnm-col-gap);
				}
			}
		}
	}

	@media only screen and ( min-width: 782px ) {
		&.is-grid {
			article {
				border-width: 0 1px 0 0;
				padding-right: var(--bnm-col-gap);
			}
		}

		&.is-grid article:last-of-type,
		&.columns-1 article,
		&.columns-2 article:nth-of-type(2n),
		&.columns-3 article:nth-of-type(3n),
		&.columns-4 article:nth-of-type(4n),
		&.columns-5 article:nth-of-type(5n),
		&.columns-6 article:nth-of-type(6n) {
			border: 0;
			padding-right: 0;
		}
	}
}