You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

424 lines
8.2 KiB

3 years ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. //
  2. // Main Navigation
  3. // --------------------------------------------------
  4. .nav-main {
  5. @include list-unstyled;
  6. }
  7. // Headings
  8. .nav-main-heading {
  9. padding-top: 1.5rem;
  10. padding-bottom: .2rem;
  11. padding-left: .625rem;
  12. font-size: .75rem;
  13. font-weight: $font-weight-semibold;
  14. text-transform: uppercase;
  15. letter-spacing: .075rem;
  16. color: lighten($body-color, 30%);
  17. }
  18. // Default links
  19. .nav-main-link {
  20. position: relative;
  21. display: flex;
  22. align-items: center;
  23. padding: .5rem .625rem;
  24. margin: 2px 0;
  25. min-height: 2.25rem;
  26. font-size: $font-size-sm;
  27. font-weight: $font-weight-medium;
  28. line-height: 1.25rem;
  29. letter-spacing: .0125em;
  30. color: lighten($body-color, 5%);
  31. border-radius: $border-radius-sm;
  32. .nav-main-link-icon {
  33. flex: 0 0 auto;
  34. display: inline-block;
  35. margin-right: .625rem;
  36. min-width: 1.25rem;
  37. font-size: 1rem;
  38. text-align: center;
  39. color: $main-nav-link-icon-color;
  40. }
  41. .nav-main-link-name {
  42. flex: 1 1 auto;
  43. display: inline-block;
  44. max-width: 100%;
  45. }
  46. .nav-main-link-badge {
  47. flex: 0 0 auto;
  48. display: inline-block;
  49. margin-left: .625rem;
  50. padding-right: .375rem;
  51. padding-left: .375rem;
  52. font-size: .75rem;
  53. min-width: 1.5rem;
  54. }
  55. &:hover,
  56. &.active {
  57. color: $black;
  58. background-color: $main-nav-link-hover-bg;
  59. }
  60. &.nav-main-link-submenu {
  61. padding-right: 2rem;
  62. &::before,
  63. &::after {
  64. position: absolute;
  65. top: 50%;
  66. right: .625rem;
  67. display: block;
  68. margin-top: -.5rem;
  69. width: 1rem;
  70. height: 1rem;
  71. line-height: 1rem;
  72. text-align: center;
  73. font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Pro';
  74. font-weight: 900;
  75. transition: opacity $main-nav-transition, transform $main-nav-transition;
  76. }
  77. &::before {
  78. content: '\f107';
  79. opacity: .3;
  80. }
  81. &::after {
  82. content: '\f106';
  83. opacity: 0;
  84. transform: translateY(-.625rem);
  85. }
  86. }
  87. }
  88. // Sub menus
  89. .nav-main-submenu {
  90. padding-left: 2.5rem;
  91. list-style: none;
  92. height: 0;
  93. overflow: hidden;
  94. background-color: $main-nav-submenu-bg;
  95. @include border-bottom-radius($border-radius-sm);
  96. .nav-main-item {
  97. opacity: 0;
  98. transition: opacity $main-nav-transition, transform $main-nav-transition;
  99. transform: translateX(1rem);
  100. }
  101. .nav-main-heading {
  102. padding-top: 1.25rem;
  103. padding-bottom: .25rem;
  104. }
  105. .nav-main-link {
  106. margin: 0;
  107. padding-top: .375rem;
  108. padding-bottom: .375rem;
  109. padding-left: 0;
  110. font-size: .8125rem;
  111. min-height: 2rem;
  112. color: lighten($body-color, 20%);
  113. &:hover,
  114. &.active {
  115. color: darken($body-color, 7.5%);
  116. background-color: transparent;
  117. }
  118. }
  119. .nav-main-submenu {
  120. padding-left: .75rem;
  121. }
  122. }
  123. // Active sub menu
  124. .nav-main-item.open {
  125. > .nav-main-link-submenu {
  126. color: $black;
  127. background-color: $main-nav-link-hover-bg;
  128. @include border-bottom-radius(0);
  129. &::before {
  130. opacity: 0;
  131. transform: translateY(.625rem);
  132. }
  133. &::after {
  134. opacity: .6;
  135. transform: translateY(0);
  136. }
  137. }
  138. > .nav-main-submenu {
  139. height: auto;
  140. margin-top: -2px;
  141. padding-top: .375rem;
  142. padding-bottom: .375rem;
  143. > .nav-main-item {
  144. opacity: 1;
  145. transform: translateX(0);
  146. }
  147. }
  148. }
  149. .nav-main-submenu .nav-main-item.open .nav-main-link {
  150. background-color: transparent;
  151. }
  152. // Nav Main Horizontal
  153. @include media-breakpoint-up(lg) {
  154. .nav-main-horizontal {
  155. display: flex;
  156. flex-wrap: wrap;
  157. margin-bottom: 0;
  158. // Headings
  159. .nav-main-heading {
  160. display: none;
  161. }
  162. // Nav li items
  163. > .nav-main-item {
  164. position: relative;
  165. display: inline-block;
  166. &:not(:last-child) {
  167. margin-right: .25rem;
  168. }
  169. }
  170. // Sub menus
  171. .nav-main-submenu {
  172. position: absolute;
  173. left: 0;
  174. width: 220px;
  175. padding-left: 0;
  176. z-index: $zindex-dropdown - 5;
  177. box-shadow: 0 .25rem 2rem rgba(0,0,0,.08);
  178. &.nav-main-submenu-right {
  179. left: auto;
  180. right: 0;
  181. }
  182. .nav-main-link {
  183. &.nav-main-link-submenu {
  184. &::before {
  185. content: '\f105';
  186. }
  187. &::after {
  188. content: '\f104';
  189. }
  190. }
  191. }
  192. .nav-main-item {
  193. transform: translateY(-.5rem);
  194. }
  195. .nav-main-link {
  196. padding-left: 1rem;
  197. }
  198. }
  199. // Active sub menu
  200. .nav-main-item.open {
  201. > .nav-main-submenu {
  202. padding-top: .5rem;
  203. padding-bottom: .5rem;
  204. overflow: visible;
  205. > .nav-main-item {
  206. transform: translateY(0);
  207. }
  208. }
  209. }
  210. // Sub menus - 2++ Level
  211. .nav-main-submenu .nav-main-submenu {
  212. top: -.5rem;
  213. left: auto;
  214. right: -100%;
  215. margin-top: 0;
  216. }
  217. // Menu variations
  218. &.nav-main-horizontal-center {
  219. justify-content: center;
  220. }
  221. &.nav-main-horizontal-justify {
  222. > .nav-main-item {
  223. flex: 1 1 auto;
  224. }
  225. }
  226. &.nav-main-hover {
  227. .nav-main-item:hover {
  228. > .nav-main-link-submenu {
  229. color: $black;
  230. background-color: $main-nav-link-hover-bg;
  231. @include border-bottom-radius(0);
  232. &::before {
  233. opacity: 0;
  234. transform: translateY(.625rem);
  235. }
  236. &::after {
  237. opacity: .6;
  238. transform: translateY(0);
  239. }
  240. }
  241. > .nav-main-submenu {
  242. height: auto;
  243. margin-top: -2px;
  244. padding-top: .5rem;
  245. padding-bottom: .5rem;
  246. overflow: visible;
  247. .nav-main-submenu {
  248. margin-top: 0;
  249. }
  250. > .nav-main-item {
  251. opacity: 1;
  252. transform: translateY(0);
  253. }
  254. }
  255. }
  256. }
  257. }
  258. }
  259. // Dark Variation
  260. .nav-main-dark,
  261. .sidebar-dark #sidebar,
  262. .page-header-dark #page-header,
  263. .dark-mode #side-overlay,
  264. .dark-mode #main-container {
  265. // Headings
  266. .nav-main-heading {
  267. color: lighten($sidebar-dark-bg, 30%);
  268. }
  269. // Default links
  270. .nav-main-link {
  271. color: lighten($sidebar-dark-bg, 55%);
  272. > .nav-main-link-icon {
  273. color: $main-nav-link-icon-dark-color;
  274. }
  275. &:hover,
  276. &.active {
  277. color: $white;
  278. background-color: $main-nav-link-dark-hover-bg;
  279. }
  280. }
  281. // Sub menus
  282. .nav-main-submenu {
  283. background-color: $main-nav-submenu-dark-bg;
  284. .nav-main-link {
  285. color: lighten($sidebar-dark-bg, 45%);
  286. &:hover,
  287. &.active {
  288. color: $white;
  289. background-color: transparent;
  290. }
  291. }
  292. }
  293. // Active sub menu
  294. .nav-main-item.open {
  295. > .nav-main-link-submenu {
  296. color: $white;
  297. background-color: $main-nav-link-dark-hover-bg;
  298. }
  299. > .nav-main-submenu {
  300. background-color: $main-nav-submenu-dark-bg;
  301. }
  302. }
  303. .nav-main-submenu .nav-main-item.open .nav-main-link {
  304. background-color: transparent;
  305. }
  306. }
  307. @include media-breakpoint-up(lg) {
  308. .nav-main-dark.nav-main-horizontal,
  309. .sidebar-dark #sidebar .nav-main-horizontal,
  310. .page-header-dark #page-header .nav-main-horizontal {
  311. .nav-main-heading {
  312. color: rgba($white, .5);
  313. }
  314. .nav-main-link {
  315. color: rgba($white, .75);
  316. > .nav-main-link-icon {
  317. color: rgba($white, .4);
  318. }
  319. &:hover,
  320. &.active {
  321. color: $white;
  322. background-color: darken($sidebar-dark-bg, 5%);
  323. }
  324. }
  325. .nav-main-item.open,
  326. .nav-main-item:hover {
  327. > .nav-main-link-submenu {
  328. color: $white;
  329. background-color: darken($sidebar-dark-bg, 5%);
  330. }
  331. > .nav-main-submenu {
  332. background-color: darken($sidebar-dark-bg, 5%);
  333. }
  334. }
  335. .nav-main-submenu .nav-main-item:hover .nav-main-link {
  336. background-color: transparent;
  337. }
  338. }
  339. .page-header-dark #page-header .nav-main-horizontal {
  340. .nav-main-link {
  341. &:hover,
  342. &.active {
  343. background-color: darken($header-dark-bg, 5%);
  344. }
  345. }
  346. .nav-main-item.open,
  347. .nav-main-item:hover {
  348. > .nav-main-link-submenu {
  349. background-color: darken($header-dark-bg, 5%);
  350. }
  351. > .nav-main-submenu {
  352. background-color: darken($header-dark-bg, 5%);
  353. }
  354. }
  355. .nav-main-submenu .nav-main-item:hover .nav-main-link {
  356. background-color: transparent;
  357. }
  358. }
  359. }