summary refs log tree commit diff
path: root/src/components/layout/layout.module.css
diff options
context:
space:
mode:
authorAshelyn Rose <git@ashen.earth>2025-03-22 16:24:41 -0600
committerAshelyn Rose <git@ashen.earth>2025-03-22 16:24:41 -0600
commit2bf70606fc62c989973f84f2961df2d42d7f9c04 (patch)
tree8758d4ec6b9688b1fb150a05b95ff7f3932d3c53 /src/components/layout/layout.module.css
parent63e2395caf4ae93ebde96d97e12fc946af1e9ac9 (diff)
Better layout styling
Diffstat (limited to 'src/components/layout/layout.module.css')
-rw-r--r--src/components/layout/layout.module.css50
1 files changed, 36 insertions, 14 deletions
diff --git a/src/components/layout/layout.module.css b/src/components/layout/layout.module.css
index 5b9ccc2..abcf876 100644
--- a/src/components/layout/layout.module.css
+++ b/src/components/layout/layout.module.css
@@ -1,16 +1,36 @@
-main.layout {
-  min-height: 100vh;
-  display: grid;
-  max-width: 1000px;
+.layout {
+  --max-content-width: 800px;
+  --min-content-width: 550px;
+  --nav-width: 200px;
+  --content-margin: 16px;
+  --container-padding: 12px;
+
+  --grid-gutter: calc(var(--content-margin) + var(--container-padding));
+  --grid-min-center-width: calc(var(--min-content-width) + 2 * var(--grid-gutter));
+  --grid-max-center-width: calc(var(--max-content-width) + 2 * var(--grid-gutter));
+
+  --grid-left: min(var(--nav-width), calc(.2 * 100vw));
+  --grid-right: min(var(--nav-width), calc(100vw - 2 * var(--container-padding) - var(--nav-width) - var(--grid-min-center-width)));
+
+  max-width: calc(2 * var(--nav-width) + var(--grid-max-center-width));
+  width: calc(100vw - 2 * var(--container-padding));
   margin: 0 auto;
-  grid-template-columns: 200px 1fr;
-  grid-template-rows: 200px 1fr 100px auto;
+  display: grid;
+  grid-template-columns: var(--grid-left) 1fr var(--grid-right);
+  grid-template-rows: repeat(3, auto);
+  column-gap: var(--grid-gutter);
+  row-gap: var(--grid-gutter);
+}
+
+.layout > *:not(main) {
+  color: white;
 }
 
 .layout header {
   display: flex;
   grid-row: 1 / 2;
-  grid-column: 1 / 3;
+  grid-column: 2 / 3;
+  padding: var(--container-padding) 0;
 }
 
 .layout nav {
@@ -18,17 +38,19 @@ main.layout {
   grid-column: 1 / 2;
 }
 
-.layout article {
+.layout main {
   grid-row: 2 / 3;
   grid-column: 2 / 3;
+  padding: var(--container-padding);
+  margin: 0 -16px;
+  background: white;
+  box-shadow: 0px 0px 8px #00000066;
+  border: solid 12px #ffffffcc;
+  background-clip: padding-box;
 }
 
 .layout footer {
-  grid-column: 1 / 3;
+  grid-column: 2 / 3;
   grid-row: 3 / 4;
-}
-
-.layout::after {
-  grid-column: 1 / 3;
-  grid-row: 4 / 5;
+  padding: var(--container-padding) 0;
 }