Skip to content
Snippets Groups Projects
pages.sass 6.22 KiB
Newer Older
alexisben's avatar
alexisben committed
.block-pages
alexisben's avatar
alexisben committed
    .top
        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
            h2
alexisben's avatar
alexisben committed
                @include h5
alexisben's avatar
alexisben committed
        .description
            @include h2
        article
            margin-top: $spacing1

    @include in-page-without-sidebar
        @include media-breakpoint-up(desktop)
alexisben's avatar
alexisben committed
            .top
                @include grid
alexisben's avatar
alexisben committed
                h2
alexisben's avatar
alexisben committed
                    grid-column: 1 / 5
                    a
alexisben's avatar
alexisben committed
                        @include icon(arrow, after, true)
                        @include hover-translate-icon
                        align-items: flex-end
                        display: flex
                        text-decoration: none
alexisben's avatar
alexisben committed
            .description
                @include h2
                grid-column: 5 / 13
                margin-top: -0.25em
alexisben's avatar
alexisben committed
                font-style: $h2-size-desktop
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
        .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
        @include media-breakpoint-up(desktop)
alexisben's avatar
alexisben committed
            @include in-page-without-sidebar
                h2
                    a
                        @include stretched-link(before)
alexisben's avatar
alexisben committed
                .block-content
                    @include grid
                    grid-row-gap: $spacing1
                    .top
                        display: block
Arnaud Levy's avatar
Arnaud Levy committed
                        grid-column: 1 / 8
alexisben's avatar
alexisben committed
                        margin-bottom: 0
alexisben's avatar
alexisben committed
                    .top:not(.hidden) + .description
Arnaud Levy's avatar
Arnaud Levy committed
                        grid-column: 1 / 8
alexisben's avatar
alexisben committed
                        grid-row: 2 / 3
                    // Default behavior (without page description)
                    ul
alexisben's avatar
alexisben committed
                        @include grid(4, desktop)
alexisben's avatar
alexisben committed
                        grid-column: 1 / 13
                        li
                            margin-top: 0
                    // If page description
                    .description + ul
Arnaud Levy's avatar
Arnaud Levy committed
                        grid-column: 9 / 13
alexisben's avatar
alexisben committed
                        grid-row: 2 / 3
                        display: block
                        li + li
                            margin-top: $spacing0