Skip to content
Snippets Groups Projects
hero.sass 5.72 KiB
Newer Older
alexisben's avatar
alexisben committed
.hero
alexisben's avatar
alexisben committed
    // Support gradients
    background: $hero-background-color
    // Fallback color
    background-color: $hero-background-color
alexisben's avatar
alexisben committed
    color: $hero-color
    margin-bottom: $spacing-3
alexisben's avatar
alexisben committed
    min-height: $hero-height
    padding-bottom: $spacing-3
alexisben's avatar
alexisben committed
    padding-top: var(--header-height)
alexisben's avatar
alexisben committed
    position: relative
    @include media-breakpoint-up(desktop)
        margin-bottom: $spacing-5
alexisben's avatar
alexisben committed
        min-height: $hero-height-desktop
        padding-bottom: $spacing-5
alexisben's avatar
alexisben committed
    *:focus-visible
alexisben's avatar
alexisben committed
        outline-color: $hero-color
    .content
alexisben's avatar
alexisben committed
        align-items: start
alexisben's avatar
alexisben committed
        .hero-text
        h1
            // posts, projects and events subtitles
            > span
                color: var(--color-text-alt)
                display: block
            + p
                margin-top: $spacing-3
        .btn
            margin-top: $spacing-3
        hgroup.has-lead > p
            @include lead-hero
alexisben's avatar
alexisben committed
        figure
alexisben's avatar
alexisben committed
            position: relative
alexisben's avatar
alexisben committed
            &, img, picture
alexisben's avatar
alexisben committed
                display: block
            img, button
alexisben's avatar
alexisben committed
                width: 100%
                height: auto
alexisben's avatar
alexisben committed
            @include collapsed-figcaption

    .breadcrumb-nav + .content
alexisben's avatar
alexisben committed
        padding-top: 0
    .content + .breadcrumb-nav
    &--no-margin
        margin-bottom: 0
Olivia206's avatar
Olivia206 committed
        & + .document-content
Olivia206's avatar
Olivia206 committed
    &--with-image
        figure
            position: relative
            > a
Olivia206's avatar
Olivia206 committed
                @include stretched-link
    @include media-breakpoint-down(desktop)
alexisben's avatar
alexisben committed
        .content
            padding-top: 0
alexisben's avatar
alexisben committed
        &--with-image
            padding-bottom: 0
alexisben's avatar
alexisben committed
            .content
alexisben's avatar
alexisben committed
                .hero-text
alexisben's avatar
alexisben committed
        &--image-landscape
alexisben's avatar
alexisben committed
            .content
                figure
alexisben's avatar
alexisben committed
                    margin-left: var(--grid-gutter-negative)
                    margin-right: var(--grid-gutter-negative)
alexisben's avatar
alexisben committed
        &--image-portrait, &--image-square
alexisben's avatar
alexisben committed
            .container
                display: flex
                flex-direction: column
            figure
                margin-bottom: calc(#{-$spacing-7} + #{$spacing-4})
alexisben's avatar
alexisben committed
        figure
            > button
                width: 100%
alexisben's avatar
alexisben committed

    @include media-breakpoint-up(desktop)
alexisben's avatar
alexisben committed
        .content
            padding-top: $spacing-5
alexisben's avatar
alexisben committed
        .hero-text
alexisben's avatar
alexisben committed
            width: columns(9)
alexisben's avatar
alexisben committed
        &--with-image
            .content
                display: flex
                justify-content: space-between
alexisben's avatar
alexisben committed
                .hero-text
alexisben's avatar
alexisben committed
                    width: columns(7)
alexisben's avatar
alexisben committed
                figure
alexisben's avatar
alexisben committed
                    width: columns(5)
alexisben's avatar
alexisben committed

alexisben's avatar
alexisben committed
        &--image-portrait, &--image-square
alexisben's avatar
alexisben committed
            .breadcrumb-nav
                -webkit-mask-image: linear-gradient(to right, black 0%, black 90%, transparent 100%)
                mask-image: linear-gradient(to right, black 0%, black 90%, transparent 100%)
                .breadcrumb
alexisben's avatar
alexisben committed
                    padding-right: 10%
alexisben's avatar
alexisben committed
            .content
alexisben's avatar
alexisben committed
                .hero-text
alexisben's avatar
alexisben committed
                    width: columns(8)
alexisben's avatar
alexisben committed
                figure
alexisben's avatar
alexisben committed
                    width: columns(3)
    + .breadcrumb-container
        margin-top: 0
        @include media-breakpoint-down(desktop)
            margin-bottom: $spacing-5

    // Essential container is used in programs and diplomas
    .essential-container
        margin-top: $spacing-5
        .container
            @include media-breakpoint-up(md)
                align-items: start
                display: flex
                justify-content: space-between
        .essential
            @include meta
            color: $header-color
            flex-wrap: wrap
            font-size: $program-essential-font-size
            margin-bottom: 0
            margin-top: 0
            @include media-breakpoint-up(md)
                @include grid(6, false, 0)
                width: columns(6)
                font-size: $program-essential-font-size-desktop
            dt,
            dd
                margin: 0
                padding-bottom: $spacing-2
                padding-top: $spacing-2
                &:last-of-type
                    padding-bottom: 0
            dt
                grid-column: 1/3
                color: var(--color-text-alt)
                @include media-breakpoint-down(md)
                    padding-bottom: 0
            dd
                display: flex
                flex-wrap: wrap
                column-gap: $spacing-2
                grid-column: 3/7
                @include media-breakpoint-down(md)
                    padding-top: 0
                a
                    @include link($hero-color)
        .buttons
            @include meta
            display: flex
            flex-wrap: wrap
            justify-content: space-between
            a.website
                @include button-icon(links-line)
                text-align: left
            a[download]
                @extend .button-alt
                @include button-icon(download-2-line)
                &::after
                    font-size: 1.2em
            @include media-breakpoint-down(md)
                flex-direction: row
                gap: $spacing-3
                button,
                > a
                    width: columns(6)
                button
                    min-width: auto
                .website
                    width: 100%
            @include media-breakpoint-up(md)
                flex-direction: column
                gap: $spacing-3
                button,
                > a
                    max-width: columns(4)
            @include media-breakpoint-up(xl)
                .dropdown-share,
                &
                    --btn-min-width: #{columns(3)}
            @include media-breakpoint-down(desktop)
                margin-top: $spacing-3