// The basic two column layout :root { --sidebar-width: #{rem($nav-width-md)}; @include mq(lg) { --sidebar-width: calc( (100% - #{rem($nav-width + $content-width)}) / 2 + #{rem($nav-width)} ); } } body { position: relative; padding-bottom: $sp-10; overflow-y: scroll; @include mq(md) { display: grid; grid-template-columns: rem($nav-width-md) 1fr; position: static; padding-bottom: 0; } @include mq(lg) { grid-template-columns: minmax(rem($nav-width), var(--sidebar-width)) 1fr; } } .side-bar { z-index: 0; display: flex; flex-wrap: wrap; background-color: $sidebar-color; @include mq(md) { flex-flow: column nowrap; position: fixed; width: var(--sidebar-width); height: 100%; border-right: $border $border-color; align-items: flex-end; } @include mq(lg) { min-width: rem($nav-width); } } .main { @include mq(md) { grid-column-start: 2; position: relative; max-width: rem($content-width); } } .main-content-wrap { @include container; padding-top: $gutter-spacing-sm; padding-bottom: $gutter-spacing-sm; @include mq(md) { padding-top: $gutter-spacing; padding-bottom: $gutter-spacing; } } .main-header { z-index: 0; display: none; background-color: $sidebar-color; @include mq(md) { display: flex; justify-content: space-between; height: rem($header-height); background-color: $body-background-color; border-bottom: $border $border-color; } &.nav-open { display: block; @include mq(md) { display: flex; } } } .site-nav, .site-header, .site-footer { width: 100%; @include mq(lg) { width: rem($nav-width); } } .site-nav { display: none; &.nav-open { display: block; } @include mq(md) { display: block; padding-top: $sp-8; padding-bottom: $gutter-spacing-sm; overflow-y: auto; flex: 1 1 auto; } } .site-header { display: flex; min-height: rem($header-height); align-items: center; @include mq(md) { height: rem($header-height); max-height: rem($header-height); border-bottom: $border $border-color; } } .site-title { @include container; flex-grow: 1; display: flex; height: 100%; align-items: center; padding-top: $sp-3; padding-bottom: $sp-3; color: $body-heading-color; @include fs-6; @include mq(md) { padding-top: $sp-2; padding-bottom: $sp-2; } } @if variable-exists(logo) { .site-logo { width: 100%; height: 100%; background-image: url($logo); background-repeat: no-repeat; background-position: left center; background-size: contain; } } .site-button { display: flex; height: 100%; padding: $gutter-spacing-sm; align-items: center; } @include mq(md) { .site-header .site-button { display: none; } } .site-title:hover { background-image: linear-gradient( -90deg, rgba($feedback-color, 1) 0%, rgba($feedback-color, 0.8) 80%, rgba($feedback-color, 0) 100% ); } .site-button:hover { background-image: linear-gradient( -90deg, rgba($feedback-color, 1) 0%, rgba($feedback-color, 0.8) 100% ); } .site-footer { @include container; position: absolute; bottom: 0; left: 0; padding-top: $sp-4; padding-bottom: $sp-4; color: $grey-dk-000; @include fs-2; @include mq(md) { position: static; justify-self: end; } } .icon { width: $sp-5; height: $sp-5; color: $link-color; }