diff --git a/assets/sass/_vars.scss b/assets/sass/_vars.scss
index cae690a..21d06e7 100644
--- a/assets/sass/_vars.scss
+++ b/assets/sass/_vars.scss
@@ -25,3 +25,6 @@ $warningColor: desaturate($warningText, 50%);
$error: #ff0000;
$errorText: darken($error, 30%);
$errorColor: desaturate($errorText, 50%);
+
+// Responsivity
+$menuLayoutSwitchTreshold: 700px;
diff --git a/assets/sass/layout.scss b/assets/sass/layout.scss
index 9cc7bfd..3537169 100644
--- a/assets/sass/layout.scss
+++ b/assets/sass/layout.scss
@@ -51,32 +51,71 @@ header {
}
}
- nav ul {
- display: flex;
- flex-direction: row;
- margin: 0;
- padding: 0;
+ nav {
+ ul {
+ display: flex;
+ flex-direction: row;
+ margin: 0;
+ padding: 0;
- font-size: 20px;
+ font-size: 20px;
- li {
- list-style: none;
+ li {
+ list-style: none;
- a, span {
- display: flex;
- flex-direction: row;
- align-items: center;
- height: 64px;
- padding: 0 24px;
+ a, span {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ height: 64px;
+ padding: 0 24px;
- .feather {
- --icon-size: 24px;
- margin-right: 10px;
+ .feather {
+ --icon-size: 24px;
+ margin-right: 10px;
+ }
+ }
+
+ a:hover {
+ background-color: rgba(255, 255, 255, 0.07);
+ }
+ }
+ }
+
+ .hamburger {
+ display: none;
+ }
+ }
+
+ @media (max-width: $menuLayoutSwitchTreshold) {
+ flex-direction: row-reverse;
+
+ nav {
+ flex: 1;
+ .hamburger {
+ display: block;
+ padding: 0 16px;
+ cursor: pointer;
+
+ width: max-content;
+
+ &:hover {
+ width: auto;
}
}
- a:hover {
- background-color: rgba(255, 255, 255, 0.07);
+ ul {
+ flex-direction: column;
+ position: absolute;
+ left: 0;
+ transform: translateX(-100%);
+ transition: transform ease-out 150ms;
+
+ background-color: $headerBackground;
+ }
+
+ .hamburger:hover + ul, ul:hover {
+ transform: translateX(0%);
}
}
}
diff --git a/views/layouts/base.njk b/views/layouts/base.njk
index 97f72d7..7aafc89 100644
--- a/views/layouts/base.njk
+++ b/views/layouts/base.njk
@@ -14,6 +14,7 @@
{% block header %}
{{ app.name }}