_nav.scss 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. //
  2. // Main navbar
  3. //
  4. .td-navbar-cover {
  5. @include media-breakpoint-up(md) {
  6. background: transparent !important;
  7. .nav-link {
  8. text-shadow: 1px 1px 2px $dark;
  9. }
  10. }
  11. &.navbar-bg-onscroll .nav-link {
  12. text-shadow: none;
  13. }
  14. }
  15. .navbar-bg-onscroll {
  16. background: $primary !important;
  17. opacity: inherit;
  18. }
  19. .td-navbar {
  20. @extend .navbar;
  21. @extend .navbar-expand;
  22. background: $primary;
  23. min-height: 4rem;
  24. margin: 0;
  25. z-index: 32;
  26. .navbar-brand {
  27. text-transform: none;
  28. &__name {
  29. font-weight: $font-weight-bold;
  30. }
  31. svg {
  32. display: inline-block;
  33. margin: 0 10px;
  34. height: 30px;
  35. }
  36. }
  37. .navbar-nav {
  38. padding-top: $spacer * 0.5;
  39. white-space: nowrap;
  40. }
  41. .nav-link {
  42. text-transform: none;
  43. font-weight: $font-weight-bold;
  44. }
  45. // For .td-search__input styling, see _search.scss
  46. .dropdown {
  47. min-width: 50px;
  48. }
  49. @include media-breakpoint-up(md) {
  50. position: fixed;
  51. top: 0;
  52. width: 100%;
  53. .nav-item {
  54. padding-inline-end: $spacer * 0.5;
  55. }
  56. .navbar-nav {
  57. padding-top: 0 !important;
  58. }
  59. }
  60. @include media-breakpoint-down(lg) {
  61. .td-navbar-nav-scroll {
  62. max-width: 100%;
  63. height: 2.5rem;
  64. overflow: hidden;
  65. font-size: 0.9rem;
  66. }
  67. .navbar-brand {
  68. margin-right: 0;
  69. }
  70. .navbar-nav {
  71. padding-bottom: 2rem;
  72. overflow-x: auto;
  73. }
  74. }
  75. .td-light-dark-menu {
  76. .bi {
  77. // Adapted from: https://github.com/twbs/bootstrap/blob/main/site/layouts/_default/examples.html
  78. width: 1em;
  79. height: 1em;
  80. vertical-align: -.125em;
  81. fill: currentcolor;
  82. }
  83. &.dropdown {
  84. @include media-breakpoint-down(lg) {
  85. position: unset;
  86. }
  87. }
  88. }
  89. }
  90. // Icons
  91. #main_navbar {
  92. li i {
  93. padding-right: 0.5em;
  94. &::before {
  95. display: inline-block;
  96. text-align: center;
  97. min-width: 1em;
  98. }
  99. }
  100. .alert {
  101. background-color: inherit;
  102. padding: 0;
  103. color: $secondary;
  104. border: 0;
  105. font-weight: inherit;
  106. &::before {
  107. display: inline-block;
  108. font-style: normal;
  109. font-variant: normal;
  110. text-rendering: auto;
  111. -webkit-font-smoothing: antialiased;
  112. font-family: $font-awesome-font-name;
  113. font-weight: 900;
  114. content: "\f0d9";
  115. padding-left: 0.5em;
  116. padding-right: 0.5em;
  117. }
  118. }
  119. }
  120. // Foldable sidebar menu
  121. nav.foldable-nav {
  122. &#td-section-nav {
  123. position: relative;
  124. }
  125. &#td-section-nav label {
  126. margin-bottom: 0;
  127. width: 100%;
  128. }
  129. .td-sidebar-nav__section,
  130. .with-child ul {
  131. list-style: none;
  132. padding: 0;
  133. margin: 0;
  134. }
  135. .ul-1 > li {
  136. padding-left: 1.5em;
  137. }
  138. ul.foldable {
  139. display: none;
  140. }
  141. input:checked ~ ul.foldable {
  142. display: block;
  143. }
  144. input[type="checkbox"] {
  145. display: none;
  146. }
  147. .with-child,
  148. .without-child {
  149. position: relative;
  150. padding-left: 1.5em;
  151. }
  152. .ul-1 .with-child > label::before {
  153. display: inline-block;
  154. font-style: normal;
  155. font-variant: normal;
  156. text-rendering: auto;
  157. -webkit-font-smoothing: antialiased;
  158. font-family: $font-awesome-font-name;
  159. font-weight: 900;
  160. content: "\f0da";
  161. position: absolute;
  162. left: 0.1em;
  163. padding-left: 0.4em;
  164. padding-right: 0.4em;
  165. font-size: 1em;
  166. color: var(--bs-secondary-color);
  167. transition: all 0.5s;
  168. &:hover {
  169. transform: rotate(90deg);
  170. }
  171. }
  172. .ul-1 .with-child > input:checked ~ label::before {
  173. color: var(--bs-secondary-color);
  174. transform: rotate(90deg);
  175. transition: transform 0.5s;
  176. }
  177. .with-child ul {
  178. margin-top: 0.1em;
  179. }
  180. }
  181. @media (hover: hover) and (pointer: fine) {
  182. nav.foldable-nav {
  183. .ul-1 .with-child > label:hover::before {
  184. color: var(--bs-link-color);
  185. transition: color 0.3s;
  186. }
  187. .ul-1 .with-child > input:checked ~ label:hover::before {
  188. color: var(--bs-link-color);
  189. transition: color 0.3s;
  190. }
  191. }
  192. }