Skip to content
Snippets Groups Projects
pages.sass 6.74 KiB
Newer Older
alexisben's avatar
alexisben committed
.block-pages
alexisben's avatar
alexisben committed
    .top
alexisben's avatar
alexisben committed
        @include top-flex
        a
            text-decoration: none
alexisben's avatar
alexisben committed
    .grid, .cards
alexisben's avatar
alexisben committed
        article
alexisben's avatar
alexisben committed
            position: relative
alexisben's avatar
alexisben committed
            display: flex
            flex-direction: column
            .media
alexisben's avatar
alexisben committed
                @include handle-svg-fit
alexisben's avatar
alexisben committed
                order: -1
                margin-bottom: $spacing1
alexisben's avatar
alexisben committed
                img
                    display: block
                    aspect-ratio: 16/9
                    object-fit: cover
alexisben's avatar
alexisben committed
                    width: 100%
alexisben's avatar
alexisben committed
        h3
            @include h3
alexisben's avatar
alexisben committed
            a
alexisben's avatar
alexisben committed
                @include stretched-link(before)
                text-decoration: none
alexisben's avatar
alexisben committed
            + p
alexisben's avatar
alexisben committed
                margin-top: $spacing0

    @include media-breakpoint-up(desktop)
alexisben's avatar
alexisben committed
        .top
alexisben's avatar
alexisben committed
            margin-bottom: $spacing2

    @include media-breakpoint-down(desktop)
alexisben's avatar
alexisben committed
        .top
alexisben's avatar
alexisben committed
            .block-title
alexisben's avatar
alexisben committed
                @include h5
alexisben's avatar
alexisben committed
        .description
            @include h2
        article
            margin-top: $spacing1

    @include in-page-without-sidebar
alexisben's avatar
alexisben committed
            a
                @include icon(arrow, after, true)
                @include hover-translate-icon
            .description
                @include h2
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
    &--grid
alexisben's avatar
alexisben committed
        .grid
alexisben's avatar
alexisben committed
            a
alexisben's avatar
alexisben committed
                @include icon(arrow, after, true)
alexisben's avatar
alexisben committed
                @include hover-translate-icon(after)
        @include media-breakpoint-up(desktop)
alexisben's avatar
alexisben committed
            .grid
alexisben's avatar
alexisben committed
                @include grid(2, desktop)
alexisben's avatar
alexisben committed
                @include in-page-with-sidebar
alexisben's avatar
alexisben committed
                    grid-column-gap: half($grid-gutter) !important
alexisben's avatar
alexisben committed
                @include in-page-without-sidebar
alexisben's avatar
alexisben committed
                    @include grid(3, desktop)
alexisben's avatar
alexisben committed

    &--cards
        background-color: $block-pages-card-background
        padding-bottom: $grid-gutter
        padding-top: $grid-gutter
alexisben's avatar
alexisben committed
        *:not(.heading) + &
            margin-top: 0
alexisben's avatar
alexisben committed
        .blocks &:last-of-type
            margin-bottom: 0
alexisben's avatar
alexisben committed
        .cards
alexisben's avatar
alexisben committed
            @include grid(2, desktop)
alexisben's avatar
alexisben committed
            @include in-page-with-sidebar
                grid-gap: half($grid-gutter) !important
            @include in-page-without-sidebar
alexisben's avatar
alexisben committed
                @include grid(3, desktop)
alexisben's avatar
alexisben committed
        // TODO: move this //
        .block-gallery + &,
        .block-pages--cards + &
            margin-top: 0
        // ----------------- //
        .card
            padding: $spacing1
            background-color: $block-pages-card-page-background
            transition: background 0.3s, color 0.3s
            display: flex
            flex: auto
            flex-direction: column
            min-height: 320px
            &,
            a
                color: $block-pages-card-page-color
            .media
                margin-bottom: 0
                margin-left: -$spacing1
                margin-right: -$spacing1
                margin-top: -$spacing1
                img
                    min-width: 100%
alexisben's avatar
alexisben committed
            .more
alexisben's avatar
alexisben committed
                @include arrow-right-hover
alexisben's avatar
alexisben committed
                @include icon-block(arrow-right, after)
alexisben's avatar
alexisben committed
                @include link($block-pages-card-page-color)
alexisben's avatar
alexisben committed
                @include text-underline
alexisben's avatar
alexisben committed
                position: relative
                margin-top: auto
                padding-top: $spacing1
                display: flex
                justify-content: space-between
                align-items: center
            &:hover
                .more:after
                    opacity: 1
                    transform: translateX(0)
            a,
            .more
                transition: text-decoration-color .3s ease, color .3s ease
            &:hover
                background-color: $block-pages-card-page-background-hover
alexisben's avatar
alexisben committed
                &, a, .more
alexisben's avatar
alexisben committed
                    color: $block-pages-card-page-color-hover
                .more
                    text-decoration-color: $block-pages-card-page-color-hover
alexisben's avatar
alexisben committed
    &--list
        ul
            @include list-reset
            li
                display: block
                line-height: 1
                + li
                    margin-top: $spacing0
                a
alexisben's avatar
alexisben committed
                    @include icon(arrow, before, true)
alexisben's avatar
alexisben committed
                        padding-right: $spacing0
alexisben's avatar
alexisben committed
                    @include hover-translate-icon(before, 5)
                    @include link
                    text-decoration-color: rgba(0,0,0,0)
        @include media-breakpoint-down(desktop)
alexisben's avatar
alexisben committed
            .top
                margin-bottom: $spacing0
            ul
                margin-top: $spacing1
alexisben's avatar
alexisben committed
        @include in-page-with-sidebar
            .block-content
                .top
                    margin-bottom: $spacing1
                .description
                    margin-bottom: $spacing1
                ul
                    @include grid(2, desktop)
                    grid-row-gap: $spacing0 !important
                    grid-column-gap: half($grid-gutter) !important
                    li
                        margin-top: 0
alexisben's avatar
alexisben committed
            .block-title
                a
                    @include stretched-link(before)
            .block-content
                @include grid
alexisben's avatar
alexisben committed
                // grid-column-gap: $spacing1
                // grid-row-gap: $spacing1
                .top
                    display: block
                    grid-column: 1 / 8
                    margin-bottom: 0
alexisben's avatar
alexisben committed
                    .block-title
                        width: auto
                .top:not(.hidden) + .description
                    grid-column: 1 / 8
                    grid-row: 2 / 3
                // Default behavior (without page description)
                ul
                    @include grid(4, desktop)
                    grid-column: 1 / 13
                    li
                        margin-top: 0
                // If page description
                .description + ul
                    grid-column: 9 / 13
                    grid-row: 2 / 3
                    display: block
                    li + li
                        margin-top: $spacing0
alexisben's avatar
alexisben committed

    &--alternate
alexisben's avatar
alexisben committed
        .grid
alexisben's avatar
alexisben committed
            article .media img
                aspect-ratio: unset
alexisben's avatar
alexisben committed
        @include media-breakpoint-up(desktop)
            article
                width: col(4, 8)
                &:not(:first-child)
                    margin-top: -5%
                &:nth-child(even)
                    margin-left: auto
                &.image-portrait
                    + .image-portrait
                        margin-top: -30%
                    + .image-square,
                    + .image-landscape
                        margin-top: -15%
        @include in-page-without-sidebar
            .top
                .description
                    @include body-text
            .grid
                width: col(10)
                margin-left: auto
                margin-right: auto
                article
                    width: col(4, 10)