Services
diff --git a/src/partials/_nav_dropdown.scss b/src/partials/_nav_dropdown.scss
new file mode 100644
index 0000000..5e79eed
--- /dev/null
+++ b/src/partials/_nav_dropdown.scss
@@ -0,0 +1,39 @@
+.nav_dropdown {
+ .dropdown_header {
+ display: grid;
+ grid-template-columns: 1fr min-content;
+ align-items: center;
+
+ ion-icon {
+ /*
+ This one aligns visually odd if trying to use the same margins as it's neighbouring nav_title class.
+ */
+ margin-right: 0.5rem;
+
+ align-self: center;
+ transition-duration: 0.25s;
+ }
+ }
+
+ .dropdown_body {
+ display: none;
+ border-bottom-left-radius: var(--border-radius-small);
+ border-bottom-right-radius: var(--border-radius-small);
+ background-color: var(--background-1);
+ }
+}
+
+.nav_dropdown:hover {
+ .dropdown_header {
+ transform: var(--transform-scale-x);
+
+ ion-icon {
+ rotate: 90deg;
+ transition-duration: 0.25s;
+ }
+ }
+
+ .dropdown_body {
+ display: grid;
+ }
+}
diff --git a/src/partials/_nav_menu.scss b/src/partials/_nav_menu.scss
index 28c3a43..2f02458 100644
--- a/src/partials/_nav_menu.scss
+++ b/src/partials/_nav_menu.scss
@@ -1,3 +1,6 @@
+@use "nav_dropdown";
+@use "nav_title";
+
.nav_menu {
/*
Remove default padding and style applied to ul for bullets.
@@ -22,8 +25,7 @@
transition: var(--transition-fade);
}
- .dropdown:hover .nav_body,
- .dropdown .nav_body:hover,
+ .nav_dropdown:hover .nav_body,
.nav_body:hover {
transform: var(--transform-scale-x);
transition: var(--transition-cut);
@@ -34,66 +36,4 @@
transition: var(--transition-cut);
}
}
-
- .dropdown {
- .dropdown_header {
- display: grid;
- grid-template-columns: 1fr min-content;
- align-items: center;
-
- ion-icon {
- /*
- This one aligns visually odd if trying to use the same margins as it's neighbouring nav_title class.
- */
- margin-right: 0.5rem;
-
- align-self: center;
- transition-duration: 0.25s;
- }
- }
-
- .dropdown_body {
- display: none;
- border-bottom-left-radius: var(--border-radius-small);
- border-bottom-right-radius: var(--border-radius-small);
- background-color: var(--background-1);
- }
- }
-
- .dropdown:hover {
- .dropdown_header {
- transform: var(--transform-scale-x);
-
- ion-icon {
- rotate: 90deg;
- transition-duration: 0.25s;
- }
- }
-
- .dropdown_body {
- display: grid;
- }
- }
-
- .nav_body,
- .dropdown .nav_body,
- .dropdown .dropdown_body {
- .nav_title {
- /* Need to force inheritence, otherwise
would require overrides for all color states from base styling for element. */
- color: inherit;
-
- text-decoration: none;
- font-family: var(--font-family-generic);
- font-weight: bold;
- white-space: nowrap;
- margin: 0 var(--spacing-horizontal);
- transition: var(--transition-fade);
- text-transform: uppercase;
- }
-
- .nav_title:hover {
- color: var(--highlight-hover);
- transition: var(--transition-cut);
- }
- }
}
diff --git a/src/partials/_nav_title.scss b/src/partials/_nav_title.scss
new file mode 100644
index 0000000..0c4ac10
--- /dev/null
+++ b/src/partials/_nav_title.scss
@@ -0,0 +1,17 @@
+.nav_title {
+ /* Need to force inheritence, otherwise would require overrides for all color states from base styling for element. */
+ color: inherit;
+
+ text-decoration: none;
+ font-family: var(--font-family-generic);
+ font-weight: bold;
+ white-space: nowrap;
+ margin: 0 var(--spacing-horizontal);
+ transition: var(--transition-fade);
+ text-transform: uppercase;
+}
+
+.nav_title:hover {
+ color: var(--highlight-hover);
+ transition: var(--transition-cut);
+}