diff --git a/assets/scss/_content_project.scss b/assets/scss/_content_project.scss index 73db1ec2f13..ac198dd8f4c 100644 --- a/assets/scss/_content_project.scss +++ b/assets/scss/_content_project.scss @@ -175,28 +175,36 @@ h6 { } } -/* width */ -::-webkit-scrollbar { - width: 8px; - height: 8px; - background-color: transparent; -} +@media (min-width: 768px) { + /* width */ + ::-webkit-scrollbar { + width: 8px; + height: 8px; + background-color: transparent; + } -/* Track */ -::-webkit-scrollbar-track { - border-radius: 10px; - background-color: transparent; -} + /* Track */ + ::-webkit-scrollbar-track { + border-radius: 10px; + background-color: transparent; + } + + /* Handle */ + ::-webkit-scrollbar-thumb { + background: $primary; + border-radius: 10px; + } -/* Handle */ -::-webkit-scrollbar-thumb { - background: $primary; - border-radius: 10px; + /* Handle on hover */ + ::-webkit-scrollbar-thumb:hover { + background: $secondary; + } } -/* Handle on hover */ -::-webkit-scrollbar-thumb:hover { - background: $secondary; +@media (max-width: 767.98px) { + ::-webkit-scrollbar { + display: none !important; + } } .td-initial table { diff --git a/assets/scss/_elements_project.scss b/assets/scss/_elements_project.scss index 346bbc2aeae..f803ef8de1d 100644 --- a/assets/scss/_elements_project.scss +++ b/assets/scss/_elements_project.scss @@ -42,6 +42,12 @@ div.tip { float: left; margin: 1rem 1.25rem 1rem 0rem; box-shadow: 0px 5px 10px 1px $primary; + + @media (max-width: 768px) { + width: 100%; + float: none; + margin: 1rem 0; + } } .image-right { @@ -49,16 +55,34 @@ div.tip { float: right; margin: 1rem 0rem 1rem 1.25rem; box-shadow: 0px 5px 10px 1px $primary; + + @media (max-width: 768px) { + width: 100%; + float: none; + margin: 1rem 0; + } } .image-right-no-shadow { width: 40%; float: right; margin: 1rem 0rem 1rem 1rem; + + @media (max-width: 768px) { + width: 100%; + float: none; + margin: 1rem 0; + } } .image-left-no-shadow { width: 40%; float: left; margin: 1rem 1rem 1rem 0rem; + + @media (max-width: 768px) { + width: 100%; + float: none; + margin: 1rem 0; + } } .image-center-shadow { display: block; @@ -112,11 +136,16 @@ div.tip { } .pagination-nav { - grid-gap: 1rem; - display: grid; - gap: 1rem; - grid-template-columns: repeat(2, 1fr); + grid-gap: 1rem; + display: grid; + gap: 1rem; + grid-template-columns: repeat(2, 1fr); + + @media (max-width: 576px) { + grid-template-columns: 1fr; + gap: 0.75rem; } +} .pagination-nav__link { diff --git a/assets/scss/_nav.scss b/assets/scss/_nav.scss index 92b64b8ead0..f2eec691f02 100644 --- a/assets/scss/_nav.scss +++ b/assets/scss/_nav.scss @@ -25,6 +25,9 @@ min-height: 4rem; margin: auto; z-index: 32; + box-sizing: border-box; + width: 100%; + padding: 0 !important; .navbar-brand { text-transform: none; @@ -43,6 +46,7 @@ .navbar-nav { padding-top: $spacer * 0.5; white-space: nowrap; + box-sizing: border-box; } .nav-link { @@ -68,9 +72,18 @@ @include media-breakpoint-down(lg) { .td-navbar-nav-scroll { - max-width: fit-content; + width: 100%; + max-width: 100%; + overflow-x: auto; + overflow-y: hidden; height: 3.5rem; font-size: 0.9rem; + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ + + &::-webkit-scrollbar { + display: none !important; /* Chrome, Safari and Opera */ + } } .navbar-brand { @@ -79,7 +92,7 @@ .navbar-nav { padding-bottom: 2rem; - overflow-x: auto; + overflow-x: visible; } } diff --git a/assets/scss/_navbar_project.scss b/assets/scss/_navbar_project.scss index 3533a2ef80b..151c4cd0c37 100644 --- a/assets/scss/_navbar_project.scss +++ b/assets/scss/_navbar_project.scss @@ -1,10 +1,24 @@ .navbar-brand { width: 280.06px; height: auto; + + img { + width: 100%; + height: auto; + } + + @media (max-width: 768px) { + width: 240px; + } + + @media (max-width: 576px) { + width: 200px; + } } .nav-item { margin-right: 0.75rem; + box-sizing: border-box; .current { color: $primary; @@ -27,6 +41,12 @@ // padding: 0; transform: translate(-15%, 2.5rem); border-radius: 0.75rem; + + @media (max-width: 576px) { + width: 150px; + transform: translate(-20%, 2.5rem); + } + &::after{ content: ""; width: 5rem; @@ -42,6 +62,12 @@ flex-direction: column; align-items: center; border-radius: 0.75rem; + + @media (max-width: 576px) { + height: 4rem; + width: 4rem; + } + .logo-container { height: 2rem; width: 2rem; diff --git a/assets/scss/_search_project.scss b/assets/scss/_search_project.scss index ce4cbf8f7d6..4b790e6c8ae 100644 --- a/assets/scss/_search_project.scss +++ b/assets/scss/_search_project.scss @@ -4,6 +4,10 @@ background: transparent; position: relative; width: 100%; + max-width: 100%; + box-sizing: border-box; + margin: 0; + padding: 0; // Search icon &__icon { @@ -36,6 +40,7 @@ &__input { width: 100%; text-indent: 1.25em; + box-sizing: border-box; &:not(:focus) { background: transparent; @@ -52,6 +57,7 @@ .td-navbar & { border: none; color: $navbar-dark-color; + box-sizing: border-box; @include placeholder { color: $navbar-dark-color; @@ -130,9 +136,12 @@ .td-navbar { min-height: 6rem; background-color: $body-bg !important; + box-sizing: border-box; + width: 100%; .td-navbar-nav-scroll { // max-width: fit-content; + box-sizing: border-box; @media (max-width: 991.98px){ padding-bottom: 3rem; } @@ -140,6 +149,7 @@ .navbar-brand { margin: 1.25rem; + flex-shrink: 0; } .td-search { display: flex; @@ -148,11 +158,16 @@ // background-color: #EBC017; background-color: #2e2e31; border-radius: 1rem; + box-sizing: border-box; + margin: 0 0.5rem; + flex: 1; + max-width: calc(100% - 1rem); .td-search__input { width: 100%; text-indent: 1.25em; border-radius: 1rem; + box-sizing: border-box; } .td-search__input:not(:focus) { background: transparent; @@ -169,6 +184,7 @@ .form-control { border: 1px solid #ced4da; + box-sizing: border-box; } input[type="search"]::-webkit-search-cancel-button { filter: invert(55%) sepia(75%) saturate(380%) hue-rotate(135deg) brightness(95%) contrast(90%); diff --git a/assets/scss/_sidebar-tree.scss b/assets/scss/_sidebar-tree.scss index a1e224f67b0..91df72127ed 100644 --- a/assets/scss/_sidebar-tree.scss +++ b/assets/scss/_sidebar-tree.scss @@ -1,6 +1,7 @@ .td-sidebar-nav { $_max-height: calc(100vh - 8.5rem); + padding: 0; padding-right: 0.5rem; margin-right: -15px; margin-left: -15px; @@ -19,7 +20,7 @@ @include media-breakpoint-up(lg) { // There's no search box so add top padding // and adjust max-height: - padding-top: 1rem; + padding-top: 0; @supports (position: sticky) { max-height: calc(#{$_max-height} + 4.5rem); @@ -59,7 +60,8 @@ } a { - color: var(--bs-secondary-color); + color: var(--sidebar-section-title-color); + transition: var(--sidebar-link-transition); } } @@ -68,25 +70,40 @@ padding-bottom: 0.375rem; &__page { - color: var(--bs-body-color); - font-weight: $font-weight-light; + color: var(--sidebar-link-color); + font-weight: var(--sidebar-link-font-weight); + transition: var(--sidebar-link-transition); } } a { + color: var(--sidebar-link-color); + transition: var(--sidebar-link-transition); + &:focus, &:hover { - color: var(--bs-link-color); + color: var(--sidebar-link-hover-color); + background-color: var(--sidebar-link-hover-bg); + border-radius: 4px; + padding: 0.25rem 0.5rem; } &.active { - font-weight: $font-weight-bold; + font-weight: var(--sidebar-active-link-font-weight); + color: var(--sidebar-link-active-color); } } .dropdown { a { - color: var(--bs-tertiary-color); + color: var(--sidebar-secondary-text-color); + transition: var(--sidebar-link-transition); + + &:hover, + &:focus { + color: var(--sidebar-link-hover-color); + background-color: var(--sidebar-link-hover-bg); + } } .nav-link { @@ -119,13 +136,14 @@ @include link-decoration; @include media-breakpoint-up(md) { - padding-top: 4rem; - background-color: var(--bs-body-tertiary-bg); - padding-right: 1rem; - border-right: 1px solid var(--bs-border-color); + padding-top: 0; + background-color: var(--sidebar-bg-color); + padding-right: var(--sidebar-padding-horizontal); + padding-left: var(--sidebar-padding-horizontal); + border-right: var(--sidebar-border-width) solid var(--sidebar-border-color); } - padding-bottom: 1rem; + padding-bottom: var(--sidebar-padding-vertical); &__toggle { line-height: 1; @@ -134,7 +152,8 @@ } &__search { - padding: 1rem 0; + padding: 0 0; + padding-bottom: 1rem; } &__inner { diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index 5a34ccd09be..f6e0050cca3 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -21,6 +21,17 @@ padding: 0 5rem; border-bottom: 1px solid #333; background-color: $dark !important; + box-sizing: border-box; + + @media (max-width: 768px) { + padding: 0 1rem; + min-height: 4rem; + } + + @media (max-width: 576px) { + padding: 0 0.75rem; + min-height: 3.5rem; + } .dropdown-menu { background-color: $dark; @@ -59,6 +70,24 @@ // background-color: linear-gradient(to right, rgba($dark,.2) 30%, rgba($primary,.3) 60%, $primary 90% 100%) 1; } +// Global sizing and overflow fixes +html { + box-sizing: border-box; + width: 100%; + overflow-x: hidden; + overflow-y: auto; + + @media (max-width: 768px) { + scrollbar-width: none; /* Firefox */ + } +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + // Page Layout Sections .td-home { background-color: $dark; @@ -76,6 +105,10 @@ } .td-main main { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 1rem; + @include media-breakpoint-up(md) { padding-top: 4rem; padding-left: 1rem; @@ -84,8 +117,21 @@ } body { - overflow-x: hidden; padding-top: 5.5rem; + margin: 0; + padding: 0; + width: 100%; + box-sizing: border-box; + + @media (max-width: 768px) { + overflow-x: hidden; + padding-top: 4.5rem; + scrollbar-width: none; /* Firefox */ + } + + @media (max-width: 576px) { + padding-top: 4rem; + } } // Main Middle Body @@ -234,9 +280,12 @@ a:not([href]):not([class]):hover { height: calc(100vh - 5.5rem); top: 5.5rem; overflow-y: auto; - padding-top: 1rem; + padding-top: 0rem; margin-top: 0; overflow-x: hidden; + scrollbar-width: thin; /* Firefox */ + scrollbar-color: $primary transparent; /* Firefox */ + &__inner { @include media-breakpoint-up(md) { @supports (position: sticky) { @@ -335,18 +384,17 @@ a:not([href]):not([class]):hover { .td-sidebar-toc { margin-top: 0rem; line-height: 1.25rem; - border-left: 1px solid $border-color; - background-image: linear-gradient(to top, - #1e2117, - #1d1912, - #18120e, - #0f0a09, - #000000); + border-left: var(--sidebar-border-width) solid var(--sidebar-border-color); + background-color: var(--sidebar-bg-color); + padding-left: var(--sidebar-padding-horizontal); + padding-right: var(--sidebar-padding-horizontal); + scrollbar-width: thin; /* Firefox */ + scrollbar-color: $primary transparent; /* Firefox */ @supports (position: sticky) { position: sticky; top: 5.5rem; - padding-top: 1rem; + padding-top: var(--sidebar-padding-vertical); height: calc(100vh - 5.5rem); overflow-y: auto; } @@ -354,17 +402,26 @@ a:not([href]):not([class]):hover { .taxo-categories { margin-top: 2rem; } + + @media screen and (max-width: 768px) { + @supports (position: sticky) { + top: 0; + padding-top: 0; + height: auto; + } + } } .td-page-meta { a { display: block; - color: $gray-400; + color: var(--sidebar-secondary-text-color); line-height: 1.65rem; font-weight: $font-weight-medium; + transition: var(--sidebar-link-transition); &:hover { - color: $white; + color: var(--sidebar-link-hover-color); text-decoration: none; } } @@ -379,16 +436,16 @@ a:not([href]):not([class]):hover { #TableOfContents { a { - color: $lightslategray; + color: var(--sidebar-secondary-text-color); padding: 0.25rem 0.5rem; border-radius: 4px; - transition: background-color 0.2s ease, color 0.2s ease; + transition: var(--sidebar-link-transition); &:hover, &:focus-visible { - color: $white; + color: var(--sidebar-link-hover-color); text-decoration: none; - background-color: rgba($primary, 0.15); + background-color: var(--sidebar-link-hover-bg); } } } @@ -475,6 +532,8 @@ a:not([href]):not([class]):hover { color: $white; transition: color 0.8s; transition: background-color 0.8s; + width: 100%; + max-width: 277px; >img { width: 2rem; @@ -486,7 +545,15 @@ a:not([href]):not([class]):hover { } @media (max-width: 768px) { - width: 277px; + width: 100%; + max-width: 277px; + padding: 1rem; + } + + @media (max-width: 576px) { + width: 100%; + max-width: 100%; + padding: 0.75rem; } } @@ -578,10 +645,7 @@ a:not([href]):not([class]):hover { } @media (max-width: 768px) { - width: 129.14rem; - top: 7rem; - right: -70rem; - position: fixed; + display: none; } } @@ -605,6 +669,10 @@ a:not([href]):not([class]):hover { z-index: -5; } + + @media (max-width: 768px) { + display: none; + } } @keyframes tipsy { @@ -622,6 +690,7 @@ a:not([href]):not([class]):hover { align-items: center; justify-content: space-between; text-align: right; + padding: 0 1rem; h1.dashboard { max-width: 70%; @@ -636,6 +705,7 @@ a:not([href]):not([class]):hover { flex-wrap: wrap; justify-content: center; text-align: center; + padding: 0 0.5rem; h1.dashboard { max-width: 100%; @@ -643,6 +713,10 @@ a:not([href]):not([class]):hover { } } + @media (max-width: 576px) { + padding: 0; + } + a.dash-sign { color: #fffbf1; text-shadow: @@ -665,6 +739,14 @@ a:not([href]):not([class]):hover { @media (max-width: 768px) { margin: 2rem 0 0 0; + padding: 1.5rem; + font-size: 24px; + } + + @media (max-width: 576px) { + margin: 1rem 0 0 0; + padding: 1rem; + font-size: 18px; } } diff --git a/assets/scss/_variables_project.scss b/assets/scss/_variables_project.scss index 79a27e5ad7b..060b8a97a56 100644 --- a/assets/scss/_variables_project.scss +++ b/assets/scss/_variables_project.scss @@ -49,6 +49,34 @@ $td-sidebar-border-color: $border-color; // Righthand sidebar with intra-page table of contents $td-sidebar-toc-bg-color: rgba($dark, 0.5); + +// Variables for Consistent Sidebar Styling +:root { + // Colors + --sidebar-bg-color: rgba(18, 18, 18, 0.7); + --sidebar-border-color: rgba(0, 179, 159, 0.33); + --sidebar-text-color: #cccccc; + --sidebar-link-color: #cccccc; + --sidebar-link-hover-color: #ffffff; + --sidebar-link-active-color: #ffffff; + --sidebar-secondary-text-color: #cccccc; + + // Spacing + --sidebar-padding-vertical: 1rem; + --sidebar-padding-horizontal: 1rem; + --sidebar-border-width: 1px; + + // Fonts + --sidebar-section-title-color: var(--bs-secondary-color); + --sidebar-link-font-weight: 300; + --sidebar-active-link-font-weight: 700; + + // Interactions + --sidebar-link-transition: color 0.2s ease, background-color 0.2s ease; + --sidebar-link-hover-bg: rgba(0, 211, 169, 0.1); + --sidebar-link-focus-bg: rgba(0, 211, 169, 0.15); +} + // Background colors for the sections on home page etc. It is a paint by number // system, starting at 0, where the number is taken from the shortcode's ordinal // if not provided by the user. These colors are all part of the theme palette, @@ -117,6 +145,7 @@ $navbar-dark-hover-color: rgba($white, 0.35) !default; // Layout $site-max-width: 1920px; +$sidebar-top-alignment: 1rem; // Footer