-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathutilities.css
154 lines (135 loc) · 4.07 KB
/
utilities.css
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*! Crucial.CSS Utilities v1.0.8 | MIT License | https://github.com/saltnpixels/curcial.css */
/* Vertical Spacing. Adds universal spacing on all inner items. Great for articles */
.vertical-spacing * + * {
margin-top: var(--vertical-spacing);
}
.vertical-spacing p + p {
margin-top: 1.5em;
}
/* hide from browsers, show on screen reader */
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
color: white;
background-color: black;
height: 1px;
overflow: hidden;
position: absolute !important;
width: 1px;
word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
/*
Special div to fix overflow-x on the whole page.
This should be on the body or right inside the body
*/
.page-wrap {
overflow-x: clip; /* stops overflow */
transform: translate3d(0, 0, 0); /* quirky fix overflow-x on mobile. Can also use position relative; */
height: 100%; /* needed for position sticky items inside */
}
/* basic padded container, centered with a max-width */
.container {
width: 100%;
max-width: var(--container-width);
margin-left: auto;
margin-right: auto;
padding-left: var(--container-padding);
padding-right: var(--container-padding);
}
/* basic padded container */
.container-fluid {
width: 100%;
margin-left: auto;
margin-right: auto;
padding-left: var(--container-padding);
padding-right: var(--container-padding);
}
/* container that is constrained only on one side */
.container-left,
.container-right {
width: 100%;
max-width: calc(
var(--container-width) + ((100% - var(--container-width)) / 2)
);
margin-right: auto;
margin-left: 0;
padding-left: 0;
padding-right: var(--container-padding);
}
/* container that is constrained to one side (right override) */
.container-right {
margin-left: auto;
margin-right: 0;
padding-right: 0;
padding-left: var(--container-padding);
}
/* special container for articles and holding lots of content with various-width components */
.container-content {
padding-left: var(--container-padding);
padding-right: var(--container-padding);
width: 100%;
}
/* in case a container content is inside another container, dont add padding */
.container-fluid > .container-content,
.container > .container-content {
padding-right: 0;
padding-left: 0;
}
/* the magic, all inner elements have a max width and are centered */
.container-content > * {
max-width: min(var(--container-content-width), 100%);
margin-right: auto;
margin-left: auto;
}
/* these special classes do not get a max width at all and "break out" of the container */
.container-content > .full-width,
.container-content > .alignfull,
.container-content > .container-fluid {
width: auto;
max-width: none;
padding-right: 0;
padding-left: 0;
margin-left: calc(-1 * var(--container-padding));
margin-right: calc(-1 * var(--container-padding));
}
/* container fluid can have back it's padding */
.container-content > .container-fluid {
padding-left: var(--container-padding);
padding-right: var(--container-padding);
}
/* these elements break out only enough to get a normal container size */
.container-content > .alignwide,
.container-content > .container {
width: 100%;
padding-right: 0;
padding-left: 0;
margin-right: auto;
margin-left: auto;
max-width: calc(var(--container-width) - (var(--container-padding) * 2));
}
.card-grid {
--card-min: 250px;
--card-max: 1fr;
--card-stretch: auto-fill; /* can be auto-fit too */
display: grid;
grid-template-columns: repeat(
var(--card-stretch),
minmax(min(var(--card-min), 100%), var(--card-max))
);
gap: var(--gap);
justify-content: center;
}
:root {
/* spacing variables */
--gutter: 15px;
--gap: calc(2 * var(--gutter));
--vertical-spacing: 30px;
/* container variables */
--container-width: 1200px;
--container-padding: var(--gap); /* used on left/right side of containers */
--container-content-width: 70rem; /* holds article text for nice reading */
/* z-index variables */
--z-index-top: 99;
--z-index-overlay: 95;
--z-index-header: 80;
--z-index-behind: -1;
}