/**********************************************************************

    ██████╗  ██████╗ ███████╗████████╗    ██████╗  ██████╗ ██╗  ██╗
    ██╔══██╗██╔═══██╗██╔════╝╚══██╔══╝    ██╔══██╗██╔═══██╗╚██╗██╔╝
    ██████╔╝██║   ██║███████╗   ██║       ██████╔╝██║   ██║ ╚███╔╝
    ██╔═══╝ ██║   ██║╚════██║   ██║       ██╔══██╗██║   ██║ ██╔██╗
    ██║     ╚██████╔╝███████║   ██║       ██████╔╝╚██████╔╝██╔╝ ██╗
    ╚═╝      ╚═════╝ ╚══════╝   ╚═╝       ╚═════╝  ╚═════╝ ╚═╝  ╚═╝

 **********************************************************************/




/* Backend styles. */
.is-root-container .post-box a {
    pointer-events: none;
}

/* Main styles. */
.post-box {
}

    .post-box a.post-box__link {
        display: block;
        width: 100%;
        color: var(--nvm-color-text);
        border-bottom: none;
        transition-property: opacity;
        transition-delay: 0s;
        transition-duration: 0.3s;
        transition-timing-function: ease-in;
    }
    
    .post-box a.post-box__link:is( :hover ) {
        border-bottom: none;
        opacity: 0.8;
    }

    .post-box:not( .orientation-overlapping ) .post-content {
        background: var(--brand-color-white);
        padding: calc(var(--nvm-grid-gutter)*0.5) 0;
    }

    .post-box.orientation-vertical .post-content {
    }

    .post-box.orientation-reverse-vertical .post-content {
    }

    .post-box.orientation-horizontal .post-content {
    }

    .post-box.orientation-overlapping .post-content {
        position: relative;
        aspect-ratio: 4/3;
    }

    .post-box:not( .orientation-overlapping, .beach-box, .village-box ) .post-content {
        --nvm-grid-gutter: 60px;
        container: content-container / inline-size;
    }

        @container content-container ( max-width: 600px ) {
            .post-box:not( .orientation-overlapping, .beach-box, .village-box ) .post-content .post-content__intro,
            .post-box:not( .orientation-overlapping, .beach-box, .village-box ) .post-content .post-content__media,
            .post-box:not( .orientation-overlapping, .beach-box, .village-box ) .post-content .post-content__text,
            .post-box:not( .orientation-overlapping, .beach-box, .village-box ) .post-content .post-content__info-box {
                padding-left: 30px !important;
                padding-right: 30px !important;
            }
        }

        .post-box.orientation-overlapping .post-content .post-content__media {
            position: absolute;
            width: 100%;
            height: 100%;
            padding: 0;
        }

            .post-box.orientation-overlapping .post-content .post-content__media .image,
            .post-box.orientation-overlapping .post-content .post-content__media .image .image-box,
            .post-box.orientation-overlapping .post-content .post-content__media .video .video-box,
            .post-box.orientation-overlapping .post-content .post-content__media .video {
                height: 100% !important;
            }

        .post-box.orientation-overlapping .post-content .post-content__text {
            position: absolute;
            bottom: 0;
            width: 100%;
            background: rgba( var(--brand-white), 0.8 );
        }

        .post-box.orientation-overlapping .post-content .post-content__intro,
        .post-box.orientation-overlapping .post-content .post-content__info-box {
            display: none;
        }

        .post-box .post-content .post-content__intro {
        }

            .post-box .post-content .post-content__intro .date {
                display: flex;
                justify-content: space-between;
                font-family: var(--nvm-font-serif);
                font-weight: 400;
                font-style: italic;
                font-size: 30px;
            }

            .post-box .post-content .post-content__intro .taxonomies {
                width: fit-content;
                font-family: var(--nvm-font-serif);
                font-weight: 400;
                font-style: italic;
                font-size: 16px;
                
            }

                .post-box .post-content .post-content__intro .date span,
                .post-box .post-content .post-content__intro .taxonomies span {
                    font-weight: 400;
                    font-style: italic;
                }

                .post-box .post-content .post-content__intro .taxonomies .taxes-label {
                }

                    .post-box .post-content .post-content__intro .taxonomies span.taxes-item {
                        color: var(--brand-color-white);
                        background: var(--brand-color-blue);
                        padding: 0px 6px;
                    }

            .post-box:not( .no-date ) .post-content .post-content__intro .taxonomies {
                margin-top: calc(var(--nvm-text-rhythm)*0.25);
            }

        .post-box .post-content .post-content__media {
        }

            .post-box .post-content .post-content__media .image {
            }

            .post-box .post-content .post-content__media .video {
                aspect-ratio: 4/3;
                object-fit: cover;
            }
        
        .post-box .post-content .post-content__text {
        }

            .post-box .post-content .post-content__text .title {
                font-family: var(--nvm-font-sans-serif);
                font-weight: 700;
                font-size: clamp(20px, 16px + 1.2vw, 30px);
            }

            .post-box .post-content .post-content__text .excerpt {
                font-weight: 400;
                font-size: 16px;
                line-height: 22px;
            }

            .post-box:not( .orientation-overlapping ) .post-content .post-content__text .excerpt {
                margin: var(--nvm-text-rhythm) 0 0 0;
            }

            .post-box .post-content .post-content__intro,
            .post-box:not( .orientation-overlapping ) .post-content .post-content__media,
            .post-box:not( .orientation-overlapping ) .post-content .post-content__text {
                margin: 0 0 var(--nvm-text-rhythm) 0;
            }

            .post-box.no-date.no-intro-taxes .post-content .post-content__intro {
                margin: 0;
            }

            .post-box:is( .orientation-overlapping ) .post-content .post-content__text .title {
                padding: 0.35em;
            }

            .post-box:is( .orientation-overlapping ) .post-content .post-content__text .excerpt {
                padding: 0 0.35em 0.35em 0.35em;
                margin-top: 0;
            }

        .post-box .post-content .post-content__info-box {
            display: flex;
            justify-content: space-between;
        }

            .post-box .post-content .post-content__info-box  .taxonomies {
                flex-basis: 40%;
                font-family: var(--nvm-font-serif);
                font-weight: 700;
                font-style: italic;
                font-size: 16px;
            }

            .post-box .post-content .post-content__info-box  .cta-text {
                font-weight: 600;
                font-size: 14px;
                text-decoration: underline;
                color: var(--brand-color-blue);
                margin-top: 0;
            }

            .post-box .post-content .post-content__info-box  .cta-text .decorative-icon {
                margin-left: 20px;
            }

/* Post Box Simple styles */
.post-box.simple {
}

    .post-box.simple:not( .orientation-overlapping ) .post-content {
        padding: 0 !important;
    }

        .post-box.simple .post-content .post-content__media {
            padding-left: 0 !important;
            padding-right: 0 !important;
            margin: 0 !important;
        }

        .post-box.simple:is( .orientation-reverse-vertical ) .post-content .post-content__media {
            padding-left: 35px !important;
            padding-right: 35px !important;
            margin: 0 0 35px 0 !important;
        }

            .post-box.simple.orientation-horizontal .post-content .post-content__media .image,
            .post-box.simple.orientation-horizontal .post-content .post-content__media .video {
                height: 100%;
            }

                .post-box.simple.orientation-reverse-vertical .post-content .post-content__media .image .image-box,
                .post-box.simple.orientation-reverse-vertical .post-content .post-content__media .video .video-box {
                    aspect-ratio: 1/1.1;
                }

                .post-box.simple.orientation-horizontal .post-content .post-content__media .image .image-box,
                .post-box.simple.orientation-horizontal .post-content .post-content__media .video .video-box {
                    height: 100% !important;
                    aspect-ratio: 1/1;
                }

                    .post-box.simple.orientation-horizontal .post-content .post-content__media .image .image-box img,
                    .post-box.simple.orientation-horizontal .post-content .post-content__media .video .video-box video {
                        height: 100% !important;
                        aspect-ratio: 1/1;
                    }

        .post-box.simple:not( .orientation-horizontal, .orientation-overlapping ) .post-content .post-content__text {
            padding-top: 35px !important;
            padding-left: 35px !important;
            padding-right: 35px !important;
            margin: 0 0 40px 0 !important;
        }

        .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text {
            padding-top: 30px !important;
            padding-bottom: 30px !important;
            padding-left: 30px !important;
            padding-right: 30px !important;
            margin: 0 !important;
        }

        .post-box.simple:is( .orientation-reverse-vertical ) .post-content .post-content__text {
            margin: 0 0 35px 0 !important;
        }

            .post-box.simple .post-content .post-content__text .subtitle {
                width: fit-content;
                font-family: var(--nvm-font-serif);
                font-size: 16px;
                font-style: italic;
                font-weight: 400;
                color: var(--brand-color-white);
                background: var(--brand-color-blue);
                padding-inline: 4px;
            }

            .post-box.simple .post-content .post-content__text:has( .subtitle ) .title {
                margin-top: 15px;
            }

            .post-box.simple:is( .orientation-reverse-vertical ) .post-content .post-content__text .excerpt {
                margin: 35px 0 0 0 !important;
            }

            .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text:has( .subtitle ) .title,
            .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text .excerpt,
            .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text .cta-text {
                margin: 30px 0 0 0 !important;
            }

            .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text .cta-text {
                font-weight: 600;
                font-size: 14px;
                text-decoration: underline;
                color: var(--brand-color-blue);
            }

                .post-box.simple:is( .orientation-horizontal ) .post-content .post-content__text .cta-text .decorative-icon {
                    margin-left: 20px;
                }

        .post-box.simple:not( .orientation-overlapping ) .post-content .post-content__info-box {
            padding-bottom: 35px !important;
            padding-left: 35px !important;
            padding-right: 35px !important;
        }

/* Hiding post box elements. */
.post-box.no-media .post-content .post-content__media,
.post-box.no-date .post-content .post-content__intro .date,
.post-box.no-taxes .post-content .post-content__intro .taxonomies,
.post-box.no-intro-taxes .post-content .post-content__intro .taxonomies,
.post-box.no-excerpt .post-content .post-content__text .excerpt,
.post-box.simple.no-subtitle .post-content .post-content__text .subtitle,
.post-box.simple.no-cta-text .post-content .post-content__text .cta-text,
.post-box.no-info-taxes .post-content .post-content__info-box .taxonomies,
.post-box.no-cta-text .post-content .post-content__info-box .cta-text,
.post-box.no-taxes .post-content .post-content__info-box .taxonomies,
.post-box .sr-only {
    display: none;
}