| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451 |
- @use 'sass:math';
- // Contents
- //
- // Navbar
- // Navbar brand
- // Navbar nav
- // Navbar text
- // Responsive navbar
- // Navbar position
- // Navbar themes
- // Navbar
- //
- // Provide a static navbar from which we expand to create full-width, fixed, and
- // other navbar variations.
- .navbar {
- position: relative;
- display: flex;
- flex-wrap: wrap; // allow us to do the line break for collapsing content
- align-items: center;
- justify-content: space-between; // space out brand from logo
- padding-top: $navbar-padding-y;
- padding-right: $navbar-padding-x; // default: null
- padding-bottom: $navbar-padding-y;
- padding-left: $navbar-padding-x; // default: null
- @include gradient-bg();
- margin-top: 1.5rem + $navbar-padding-y;
- outline-offset: 0.5rem;
- outline: 1px solid $light;
- // Because flex properties aren't inherited, we need to redeclare these first
- // few properties so that content nested within behave properly.
- // The `flex-wrap` property is inherited to simplify the expanded navbars
- %container-flex-properties {
- display: flex;
- flex-wrap: inherit;
- align-items: center;
- justify-content: space-between;
- }
- > .container,
- > .container-fluid {
- @extend %container-flex-properties;
- }
- @each $breakpoint, $container-max-width in $container-max-widths {
- > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
- @extend %container-flex-properties;
- }
- }
- .container-fluid {
- position: relative;
- height: ($navbar-toggler-padding-y * 2) + $navbar-toggler-font-size + 1.625rem;
- }
- }
- // Navbar brand
- //
- // Used for brand, project, or site names.
- @font-face {
- font-family: 'Alegreya-Variable';
- src: url(../font/Alegreya-VariableFont_wght.ttf);
- }
- @font-face {
- font-family: 'Alegreya-Italic-Variable';
- src: url(../font/Alegreya-Italic-VariableFont_wght.ttf);
- }
- @font-face {
- font-family: 'Alegreya-Black';
- src: url(../font/Alegreya-Black.ttf);
- }
- @font-face {
- font-family: 'Alegreya-BlackItalic';
- src: url(../font/Alegreya-BlackItalic.ttf);
- }
- @font-face {
- font-family: 'Alegreya-Bold';
- src: url(../font/Alegreya-Bold.ttf);
- }
- @font-face {
- font-family: 'Alegreya-BoldItalic';
- src: url(../font/Alegreya-BoldItalic.ttf);
- }
- @font-face {
- font-family: 'Alegreya-ExtraBold';
- src: url(../font/Alegreya-ExtraBold.ttf);
- }
- @font-face {
- font-family: 'Alegreya-ExtraBoldItalic';
- src: url(../font/Alegreya-ExtraBoldItalic.ttf);
- }
- @font-face {
- font-family: 'Alegreya-Italic';
- src: url(../font/Alegreya-Italic.ttf);
- }
- @font-face {
- font-family: 'Alegreya-Medium';
- src: url(../font/Alegreya-Medium.ttf);
- }
- @font-face {
- font-family: 'Alegreya-MediumItalic';
- src: url(../font/Alegreya-MediumItalic.ttf);
- }
- @font-face {
- font-family: 'Alegreya';
- src: url(../font/Alegreya-Regular.ttf);
- }
- @font-face {
- font-family: 'Alegreya-SemiBold';
- src: url(../font/Alegreya-SemiBold.ttf);
- }
- @font-face {
- font-family: 'Alegreya-SemiBoldItalic';
- src: url(../font/Alegreya-SemiBoldItalic.ttf);
- }
- .navbar-brand {
- &.navbar-brand-logo {
- margin-left: $navbar-brand-margin-end * 2;
- padding-left: 120px;
- font-family: 'Alegreya-Black', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
- // font-weight: bolder;
- color: $primary !important;
- font-size: 2rem;
- &::before {
- content: ' ';
- display: inline-block;
- width: 120px;
- height: 110px;
- position: absolute;
- left: 0;
- margin-left: math.div($navbar-brand-margin-end, 2);
- top: 50%;
- transform: translate(0, -50%);
- background-color: $body-bg;
- border-radius: 50%;
- border: math.div($navbar-brand-margin-end, 2) solid $body-bg;
- box-sizing: content-box;
- }
- &::after {
- content: ' ';
- background-image: url('../img/hbbq_logo.png');
- display: inline-block;
- position: absolute;
- top: 50%;
- left: 0;
- width: 120px;
- height: 120px;
- transform: translate(0, -50%);
- background-size: contain;
- background-repeat: no-repeat;
- background-position: center;
- margin-left: $navbar-brand-margin-end;
- border-bottom-left-radius: 50%;
- border-bottom-right-radius: 50%;
- border-bottom-style: dotted;
- border-color: $light;
- }
- }
- padding-top: $navbar-brand-padding-y;
- padding-bottom: $navbar-brand-padding-y;
- margin-right: $navbar-brand-margin-end;
- @include font-size($navbar-brand-font-size);
- text-decoration: if($link-decoration == none, null, none);
- white-space: nowrap;
- &:hover,
- &:focus {
- text-decoration: if($link-hover-decoration == underline, none, null);
- }
- }
- // Navbar nav
- //
- // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
- .navbar-nav {
- display: flex;
- flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
- padding-left: 0;
- margin-bottom: 0;
- list-style: none;
- .nav-link {
- padding-right: 0;
- padding-left: 0;
- }
- // .dropdown-menu {
- // position: static;
- // }
- }
- // Navbar text
- //
- //
- .navbar-text {
- padding-top: $nav-link-padding-y;
- padding-bottom: $nav-link-padding-y;
- }
- // Responsive navbar
- //
- // Custom styles for responsive collapsing and toggling of navbar contents.
- // Powered by the collapse Bootstrap JavaScript plugin.
- // When collapsed, prevent the toggleable navbar contents from appearing in
- // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
- // on the `.navbar` parent.
- .navbar-collapse {
- flex-basis: 100%;
- flex-grow: 1;
- // For always expanded or extra full navbars, ensure content aligns itself
- // properly vertically. Can be easily overridden with flex utilities.
- align-items: center;
- justify-content: flex-end;
- .navbar-nav {
- align-items: flex-end;
- .nav-item {
- padding-left: $navbar-brand-margin-end;
- .nav-link {
- padding-right: 1rem;
- padding-left: 0.5rem;
- }
- }
- }
- }
- // Button for toggling the navbar when in its collapsed state
- .navbar-toggler {
- padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
- @include font-size($navbar-toggler-font-size);
- line-height: 1;
- background-color: $white; // transparent; // remove default button style
- opacity: 0.5;
- border: 0; // $border-width solid transparent; // remove default button style
- @include border-radius($navbar-toggler-border-radius);
- @include transition($navbar-toggler-transition);
- &:hover {
- text-decoration: none;
- opacity: 1;
- }
- &:focus {
- text-decoration: none;
- outline: 0;
- box-shadow: 0 0 0 $navbar-toggler-focus-width;
- }
- }
- // Keep as a separate element so folks can easily override it with another icon
- // or image file as needed.
- .navbar-toggler-icon {
- display: inline-block;
- width: 1.5em;
- height: 1.5em;
- vertical-align: middle;
- background-repeat: no-repeat;
- background-position: center;
- background-size: 100%;
- }
- .navbar-nav-scroll {
- max-height: var(--#{$variable-prefix}scroll-height, 75vh);
- overflow-y: auto;
- }
- // scss-docs-start navbar-expand-loop
- // Generate series of `.navbar-expand-*` responsive classes for configuring
- // where your navbar collapses.
- .navbar-expand {
- @each $breakpoint in map-keys($grid-breakpoints) {
- $next: breakpoint-next($breakpoint, $grid-breakpoints);
- $infix: breakpoint-infix($next, $grid-breakpoints);
- // stylelint-disable-next-line scss/selector-no-union-class-name
- &#{$infix} {
- @include media-breakpoint-up($next) {
- flex-wrap: nowrap;
- justify-content: flex-start;
- .navbar-nav {
- flex-direction: row;
- .dropdown-menu {
- position: absolute;
- }
- .nav-link {
- padding-right: $navbar-nav-link-padding-x;
- padding-left: $navbar-nav-link-padding-x;
- }
- }
- .navbar-nav-scroll {
- overflow: visible;
- }
- .navbar-collapse {
- display: flex !important; // stylelint-disable-line declaration-no-important
- flex-basis: auto;
- position: absolute;
- right: 0.5rem;
- }
- .navbar-toggler {
- display: none;
- }
- }
- }
- }
- }
- // scss-docs-end navbar-expand-loop
- // Navbar themes
- //
- // Styles for switching between navbars with light or dark background.
- // Dark links against a light background
- .navbar-light {
- .navbar-brand {
- color: $navbar-light-brand-color;
- @include media-breakpoint-down(lg) {
- flex: 1;
- font-size: calc(1rem + 1.5vw);
- white-space: nowrap;
- overflow-x: hidden;
- text-overflow: ellipsis;
- }
- &:hover,
- &:focus {
- color: $navbar-light-brand-hover-color;
- }
- }
- .navbar-nav {
- .nav-link {
- color: $navbar-light-color;
- &:hover,
- &:focus {
- color: $navbar-light-hover-color;
- }
- &.disabled {
- color: $navbar-light-disabled-color;
- }
- }
- .show > .nav-link,
- .nav-link.active {
- color: $navbar-light-active-color;
- }
- }
- .navbar-toggler {
- color: $navbar-light-color;
- border-color: $navbar-light-toggler-border-color;
- }
- .navbar-toggler-icon {
- background-image: escape-svg($navbar-light-toggler-icon-bg);
- }
- .navbar-text {
- color: $navbar-light-color;
- a,
- a:hover,
- a:focus {
- color: $navbar-light-active-color;
- }
- }
- }
- // White links against a dark background
- .navbar-dark {
- .navbar-brand {
- color: $navbar-dark-brand-color;
- &:hover,
- &:focus {
- color: $navbar-dark-brand-hover-color;
- }
- }
- .navbar-nav {
- .nav-link {
- color: $navbar-dark-color;
- &:hover,
- &:focus {
- color: $navbar-dark-hover-color;
- }
- &.disabled {
- color: $navbar-dark-disabled-color;
- }
- }
- .show > .nav-link,
- .nav-link.active {
- color: $navbar-dark-active-color;
- }
- }
- .navbar-toggler {
- color: $navbar-dark-color;
- border-color: $navbar-dark-toggler-border-color;
- }
- .navbar-toggler-icon {
- background-image: escape-svg($navbar-dark-toggler-icon-bg);
- }
- .navbar-text {
- color: $navbar-dark-color;
- a,
- a:hover,
- a:focus {
- color: $navbar-dark-active-color;
- }
- }
- }
|