summary refs log tree commit diff
path: root/src/components/layout/layout.module.css
blob: 7a6a8184cc4e5db4a8dcbfafc1e6c64efbcec624 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.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;
  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: 2 / 3;
  padding: var(--container-padding) 0;
}

.layout header a#siteTitle {
  color: inherit;
  text-decoration: none;
  font-family: var(--font-family-heading);

  &:hover {
    text-decoration: initial;
  }
}

.layout nav {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}

.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 main h1,
.layout main h2,
.layout main h3,
.layout main h4,
.layout main h5,
.layout main h6 {
  font-family: var(--font-family-heading);
}

.layout footer {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  padding: var(--container-padding) 0;
}