Skip to content
Snippets Groups Projects
search.sass 6.39 KiB
Newer Older
.pagefind-ui__toggle, 
Olivia206's avatar
Olivia206 committed
.pagefind-ui__button, 
.search__close
    @include button-reset
Olivia206's avatar
Olivia206 committed
    @include meta
Olivia206's avatar
Olivia206 committed
    &:focus
        box-shadow: none
Olivia206's avatar
Olivia206 committed
.pagefind-ui__toggle:not(.pagefind-menu), 
.pagefind-ui__button, 
.search__close
    @include meta
.pagefind-ui__toggle
Olivia206's avatar
Olivia206 committed
    color: $header-color
Olivia206's avatar
Olivia206 committed
    cursor: pointer
    text-align: left
Olivia206's avatar
Olivia206 committed
    box-shadow: none
Olivia206's avatar
Olivia206 committed
    &:not(.toggle-text)
Olivia206's avatar
Olivia206 committed
        @include icon(search-inline, after)
Olivia206's avatar
Olivia206 committed
        &::after
Olivia206's avatar
Olivia206 committed
            margin-left: half($spacing0)
Olivia206's avatar
Olivia206 committed
    &:not(.pagefind-menu)    
        padding: half($spacing0) $spacing0
Olivia206's avatar
Olivia206 committed
    &.toggle-icon::after
        font-size: $h3-size
    &.toggle-both
        .menu & span
            padding-right: 0
    span,
    &::after
        display: inline
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-down(desktop)
        &.pagefind-menu
            padding: $spacing1 0
            width: 100%
    @include media-breakpoint-up(desktop)
        &.toggle-icon::after
            margin-left: 0
.search__close
    @include icon-block(close, after)
Olivia206's avatar
Olivia206 committed
    position: fixed
    right: $spacing3
Olivia206's avatar
Olivia206 committed
    padding: 0
Olivia206's avatar
Olivia206 committed
    z-index: 9
Olivia206's avatar
Olivia206 committed
    &::after
        display: inline-flex
        justify-content: center
        margin-left: $spacing0
        width: px2rem(15)
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-down(desktop)
        right: $spacing1
        top: half($spacing0)
Arnaud Levy's avatar
Arnaud Levy committed
#search
Olivia206's avatar
Olivia206 committed
    background: $color-background
Olivia206's avatar
Olivia206 committed
    color: $color-text
Olivia206's avatar
Olivia206 committed
    height: 100vh
    left: 0
    padding-bottom: $spacing3
    padding-left: $spacing1
Olivia206's avatar
Olivia206 committed
    padding-right: $spacing1
    padding-top: $spacing4
Olivia206's avatar
Olivia206 committed
    position: fixed
    overflow: auto
Olivia206's avatar
Olivia206 committed
    top: 0
    width: 100vw
    z-index: 80
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(desktop)
        padding-right: $spacing3
        padding-left: $spacing3
        padding-top: space(7)
Olivia206's avatar
Olivia206 committed
    &[aria-hidden=true]
        display: none
Olivia206's avatar
Olivia206 committed
    a
        color: $color-text
Arnaud Levy's avatar
Arnaud Levy committed
    .pagefind-ui
Olivia206's avatar
Olivia206 committed
        &::before
            content: ""
            background: $color-background
Olivia206's avatar
Olivia206 committed
            height: space(27)
Olivia206's avatar
Olivia206 committed
            left: 0
Olivia206's avatar
Olivia206 committed
            position: fixed
            top: 0
Olivia206's avatar
Olivia206 committed
            width: 100%
Olivia206's avatar
Olivia206 committed
            z-index: 5
Olivia206's avatar
Olivia206 committed
            @include media-breakpoint-down(desktop)
Olivia206's avatar
Olivia206 committed
                height: space(50)
Olivia206's avatar
Olivia206 committed
        &__form
Olivia206's avatar
Olivia206 committed
            @include icon(search-inline, after)
Olivia206's avatar
Olivia206 committed
            &::after
                color: transparentize($color-text-alt, .4)
Olivia206's avatar
Olivia206 committed
                padding-right: px2rem(2)
Olivia206's avatar
Olivia206 committed
                position: fixed
Olivia206's avatar
Olivia206 committed
                pointer-events: none
Olivia206's avatar
Olivia206 committed
                transform: translate(-6px,20%)
Olivia206's avatar
Olivia206 committed
                z-index: 9
                @include media-breakpoint-down(desktop)
Olivia206's avatar
Olivia206 committed
                    right: $spacing1
Olivia206's avatar
Olivia206 committed
                    top: space(33)
Arnaud Levy's avatar
Arnaud Levy committed
        &__search-input
Olivia206's avatar
Olivia206 committed
            border-left: 0
            border-right: 0
            border-radius: 0
            border-top: 0
Olivia206's avatar
Olivia206 committed
            padding-left: 0
Olivia206's avatar
Olivia206 committed
            padding-right: $spacing1 !important
Olivia206's avatar
Olivia206 committed
            position: fixed
            z-index: 6
Olivia206's avatar
Olivia206 committed
            @include media-breakpoint-down(desktop)
                margin-bottom: $spacing1
            &:focus,
            &:focus-visible
                border-bottom: 2px solid $color-text
                outline: none
        &__button[type="button"]
Olivia206's avatar
Olivia206 committed
            @include button-reset
            @include link($color-text)
            margin-top: $spacing2
            padding: 0
Olivia206's avatar
Olivia206 committed
        &__message
            @include meta
            color: $color-text-alt
Olivia206's avatar
Olivia206 committed
            text-align: right
Olivia206's avatar
Olivia206 committed
            z-index: 11
            position: fixed
Olivia206's avatar
Olivia206 committed
            top: space(20)
        &__search-clear,
        &__suppressed
            display: none
            pointer-events: none
Arnaud Levy's avatar
Arnaud Levy committed
        &__drawer
            position: relative
Olivia206's avatar
Olivia206 committed
        &__result
            list-style: none
            position: relative
            &-thumb
                grid-column: 1/4
                > *
                    aspect-ratio: 3/2
                    object-fit: cover
Olivia206's avatar
Olivia206 committed
                @include media-breakpoint-down(desktop)
Olivia206's avatar
Olivia206 committed
                    display: none
            + li
                margin-top: half($spacing3)
Olivia206's avatar
Olivia206 committed
            @include media-breakpoint-up(desktop)
Olivia206's avatar
Olivia206 committed
                @include grid
                &-inner
                    grid-column: 4/13
        &__result-excerpt mark
Olivia206's avatar
Olivia206 committed
                background-color: $color-accent
                color: $color-background
Olivia206's avatar
Olivia206 committed
        &__result-title a
            @include h4
            @include stretched-link
Olivia206's avatar
Olivia206 committed
        @include media-breakpoint-up(desktop)
Olivia206's avatar
Olivia206 committed
            &__form
Olivia206's avatar
Olivia206 committed
                position: relative
Olivia206's avatar
Olivia206 committed
                width: col(8)
Olivia206's avatar
Olivia206 committed
                &::after
Olivia206's avatar
Olivia206 committed
                    left: calc(#{col(8)} - #{space(8)})
                    top: space(9)
Olivia206's avatar
Olivia206 committed
            &__search-input,
            &__message
Olivia206's avatar
Olivia206 committed
                width: calc(#{col(8,12)} - #{space(21.5)})
Olivia206's avatar
Olivia206 committed
            &__results-area
                padding-top: space(26)
Olivia206's avatar
Olivia206 committed
        @include media-breakpoint-down(desktop)
Olivia206's avatar
Olivia206 committed
            &__search-input,
            &__message
Olivia206's avatar
Olivia206 committed
                width: calc(100% - #{$spacing2})
Olivia206's avatar
Olivia206 committed
            &__message
                top: space(44)
            &__results-area
Olivia206's avatar
Olivia206 committed
                padding-top: space(17)
Olivia206's avatar
Olivia206 committed
.menu .nav-level-1 > li .pagefind-ui__toggle:not(.toggle-icon)::after
    margin-left: 0
.pagefind-fixed
Olivia206's avatar
Olivia206 committed
    align-items: center
    background: $color-background-alt
    bottom: 0
Olivia206's avatar
Olivia206 committed
    color: $color-text
    display: flex
    justify-content: space-between
    left: $spacing3
    position: fixed
    z-index: 10
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-up(desktop)
        &:not(.toggle-icon)
            min-width: calc(#{$spacing3} * 3)
Olivia206's avatar
Olivia206 committed
        &.toggle-icon:not(:hover)
            padding-left: 0
            padding-right: 0
Olivia206's avatar
Olivia206 committed
            justify-content: center
        &.toggle-icon
Olivia206's avatar
Olivia206 committed
            min-height: px2rem(37)
            width: px2rem(50)
            &:hover,
            &:focus
                width: calc(#{$spacing3} * 3)
                span
                    display: inline
Olivia206's avatar
Olivia206 committed
    @include media-breakpoint-down(desktop)
        left: 0
        width: 100vw
        &.in-page-with-toc
            background: $color-background
            border-top: 1px solid #eee
            bottom: px2rem(44)
Olivia206's avatar
Olivia206 committed
            
footer#document-footer .footer-search
    .pagefind-footer
Olivia206's avatar
Olivia206 committed
        color: $footer-color
        padding: 0
Olivia206's avatar
Olivia206 committed
        &.toggle-icon
            transform: translateX(-35%)
        &::after
            margin-top: px2rem(3)
    #search
Olivia206's avatar
Olivia206 committed
        margin-top: 0
        a
Olivia206's avatar
Olivia206 committed
            color: $color-text

.nav-search
    display: flex
Olivia206's avatar
Olivia206 committed
.menu .nav-level-1 > li .pagefind-ui__toggle span
    display: inline
@include media-breakpoint-up(desktop)
    .menu .nav-level-1 > li .pagefind-ui__toggle.toggle-icon span
        display: none