Skip to content
Snippets Groups Projects
posts.sass 9.8 KiB
Newer Older
alexisben's avatar
alexisben committed
.block-posts
alexisben's avatar
alexisben committed
    .top
Olivia206's avatar
Olivia206 committed
        margin-bottom: $spacing2
alexisben's avatar
alexisben committed
        a
alexisben's avatar
alexisben committed
            @include icon(arrow-right, after, true)
            @include hover-translate-icon
alexisben's avatar
alexisben committed
            text-decoration: none
alexisben's avatar
alexisben committed
    .posts
        @include grid(1)
alexisben's avatar
alexisben committed
        @include grid($block-posts-grid-columns, desktop)
alexisben's avatar
alexisben committed
    article
        [itemprop=headline]
alexisben's avatar
alexisben committed
            a
                @include stretched-link
                text-decoration: none
        .post-content
            > * + * 
                margin-top: $spacing0
            .media
                margin-top: 0
alexisben's avatar
alexisben committed
        @include post-time-author-flex

alexisben's avatar
alexisben committed
    &--grid
        @include media-breakpoint-down(desktop)
alexisben's avatar
alexisben committed
            article + article
                margin-top: $spacing3
alexisben's avatar
alexisben committed
        @include in-page-with-sidebar
            .grid
                @include grid(2, desktop, $grid-gutter, half($grid-gutter))
        @include in-page-without-sidebar
            .grid
                @include grid($block-posts-grid-columns)
                .media picture img
                    width: 100%
Olivia206's avatar
Olivia206 committed
        @include media-breakpoint-up(sm)
            article
                .post-meta
                    display: inline
        .post
            .more
                @include icon(arrow-right, after, true)
Olivia206's avatar
Olivia206 committed
            .post-author 
                p::before
                    display: none
Olivia206's avatar
Olivia206 committed
            @include media-breakpoint-down(desktop)
                + .post
                    margin-top: $spacing2
                &-meta
                    .post-author 
                        display: inline-flex
                        &::after
                            content: '—'
                            margin: 0 half($spacing0)
                    .post-categories
                        display: flex
                p[itemprop="articleBody"]
                    margin-top: 0
        @include media-breakpoint-up(desktop)
            .large
                .post
                    flex-direction: row
                    gap: half($grid-gutter)
                    + .post
                        margin-top: $spacing2
Olivia206's avatar
Olivia206 committed
                    p[itemprop="articleBody"]
                        margin-top: $spacing1
Olivia206's avatar
Olivia206 committed
                    &-title
                        @include h2
Olivia206's avatar
Olivia206 committed
                    .post-meta 
                        > *
                            display: inline
                            &:not(:first-child)::before
                                content: '—'
                                margin-right: half($spacing0)
                        > time
                            display: inline-block
                            margin-top: -2px
                    .post-author
                        p
                            display: inline
                        li
                            margin-right: $spacing0
                    .post-categories
                        li
                            display: inline-flex
                            margin-right: $spacing0
                            padding-bottom: 3px
                            &:not(:last-child)::after
                                content: ','
        @include in-page-with-sidebar
            .large
                .post
Olivia206's avatar
Olivia206 committed
                    @include media-breakpoint-down(xl)
                        flex-direction: column
                        gap: unset
Olivia206's avatar
Olivia206 committed
                        p[itemprop="articleBody"]
                            margin-top: $spacing0
Olivia206's avatar
Olivia206 committed
                    @include media-breakpoint-up(xl)
                        .media,
                        .post-content
                            width: calc(#{col(4, 8)} + #{half($grid-gutter)})
        @include in-page-without-sidebar
            .large
                .post
                    gap: $grid-gutter
                    .media
                        width: col(6)
                    .post-content
                        width: col(5)
                p[itemprop="articleBody"]
                    margin-top: calc(#{$spacing1} + #{$spacing0})
alexisben's avatar
alexisben committed
    &--list
        article
            border-bottom: 1px solid $color-border
            .media
                background: none
                margin: 0
                &, img
                    aspect-ratio: auto
        @include media-breakpoint-down(desktop)
alexisben's avatar
alexisben committed
            article
                position: relative
                padding-bottom: half($spacing3)
                + article
                    margin-top: half($spacing3)
                .post-content
                    display: flex
                    flex-direction: column
alexisben's avatar
alexisben committed
                    padding-top: $spacing0
                    [itemprop=headline]
alexisben's avatar
alexisben committed
                        margin-bottom: 0
alexisben's avatar
alexisben committed
                    .post-categories
                        margin-bottom: 0
                    p[itemprop="articleBody"]
alexisben's avatar
alexisben committed
                        margin-top: half($spacing0)
                .media
alexisben's avatar
alexisben committed
                    order: -1
                    max-width: 33%
        @include media-breakpoint-up(desktop)
            article
                display: flex
                flex-direction: row

alexisben's avatar
alexisben committed
        @include in-page-with-sidebar
            article
                padding-bottom: $spacing1
                + article
                    margin-top: $spacing1
                .media
                    width: calc(#{col(2, 8)} + #{half($grid-gutter)})
                .post-content
                    width: col(6, 8)
                    margin-left: half($grid-gutter)

        @include in-page-without-sidebar
alexisben's avatar
alexisben committed
            article
                border-bottom: 1px solid $color-border
                gap: $grid-gutter
                padding-bottom: $spacing3
                position: relative
                .media
                    width: col(3)
                .post-content
                    width: col(6)
                + article
                    margin-top: $spacing3
                .post-meta
                    position: absolute
                    right: 0
                    top: 0
                    margin-top: 0.3em
alexisben's avatar
alexisben committed

    &--highlight
        .highlight-post
            [itemprop=headline]
alexisben's avatar
alexisben committed
                margin-bottom: $spacing0
            .media
                margin-bottom: $spacing0
                background: none
        .list
            margin-top: half($spacing3)
            border-top: 1px solid $color-border
            article
                border-bottom: 1px solid $color-border
                position: relative
                padding-bottom: half($spacing3)
                margin-top: half($spacing3)
        article
            > * + * 
                margin-top: $spacing0
            .media
                margin-top: 0

        @include media-breakpoint-down(desktop)
            .list
                border-top: 1px solid $color-border
                p[itemprop="articleBody"]
                    margin-top: 0

        @include media-breakpoint-up(desktop)
            .highlight
                [itemprop=headline]
                    [itemprop=headline]
alexisben's avatar
alexisben committed
        @include in-page-with-sidebar
            .highlight-post
                .post
                    flex-direction: row
                    .media
                        width: calc(#{col(3, 8)} + #{half($grid-gutter)})
                        margin-bottom: 0
                    .post-content
                        width: col(5, 8)
                        margin-left: half($grid-gutter)
            .list
                article
                    @include grid(8, desktop, 0, 0)
                    [itemprop=headline]
alexisben's avatar
alexisben committed
                        grid-column: 1 / 7
alexisben's avatar
alexisben committed
                    .post-categories
                        grid-column: 1 / 7
alexisben's avatar
alexisben committed
                    .post-meta
alexisben's avatar
alexisben committed
                        grid-row: 1
alexisben's avatar
alexisben committed
                        grid-column: 7 / 9
                        text-align: right
                        order: 2
alexisben's avatar
alexisben committed
                        display: block
alexisben's avatar
alexisben committed
                        margin-top: 0
alexisben's avatar
alexisben committed
                        .post-author p::before
                            content: ''
                    p[itemprop="articleBody"]
alexisben's avatar
alexisben committed
                        grid-column: 1 / 7
                        order: 3

        @include in-page-without-sidebar
alexisben's avatar
alexisben committed
            .highlight
alexisben's avatar
alexisben committed
            .list
                border-top: 0
                margin-top: 0
                article:first-child
alexisben's avatar
alexisben committed
                    margin-top: 0
    &--alternate .alternate
        .post .media img
            aspect-ratio: unset
alexisben's avatar
alexisben committed
        
        @include media-breakpoint-up(desktop)
            .post
                &.right
                    margin-left: auto
Olivia206's avatar
Olivia206 committed
                &.portrait
                    + .portrait
                        margin-top: -30%
Olivia206's avatar
Olivia206 committed
                    + .square,
                    + .landscape
                        margin-top: -15%
                    + .post:not(.portrait, .square, .landscape)
                        margin-top: -5%
        @include media-breakpoint-down(desktop)
            .post 
                .post-meta
                    margin-top: half($spacing0)
                .media
                    margin-bottom: $spacing0
                + .post
                    margin-top: $spacing3
alexisben's avatar
alexisben committed
        @include in-page-with-sidebar
            .post
                width: col(4,8)

        @include in-page-without-sidebar
            width: col(10)
            margin-left: auto
            margin-right: auto
            .post
                width: col(4, 10)

// Move this part to blocks/categories when categories block is ready
.block-posts
    .categories--grid
        li
            background: $color-background-alt
            padding: $spacing1
            position: relative
            a
                @include h3
                font-weight: bold
                text-decoration: none
                @include stretched-link
            p
                display: block