soames-astro-theme 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +67 -0
  3. package/package.json +68 -0
  4. package/src/components/Bio.tsx +36 -0
  5. package/src/components/BlogSidebar.tsx +48 -0
  6. package/src/components/DocsSidebar.tsx +45 -0
  7. package/src/components/Footer.tsx +59 -0
  8. package/src/components/FooterMenu.tsx +36 -0
  9. package/src/components/Header.tsx +57 -0
  10. package/src/components/HeaderMenu.tsx +77 -0
  11. package/src/components/HeroHeader.tsx +66 -0
  12. package/src/components/Logo.tsx +37 -0
  13. package/src/components/shortcodes/RemoveContentAreaPadding.tsx +13 -0
  14. package/src/components/shortcodes/Shortcodes.tsx +319 -0
  15. package/src/components/shortcodes/SoamesFeature.tsx +54 -0
  16. package/src/components/shortcodes/SoamesGalleryMenu.tsx +90 -0
  17. package/src/components/shortcodes/SoamesIconList.tsx +90 -0
  18. package/src/components/shortcodes/SoamesSoundCloud.tsx +71 -0
  19. package/src/components/shortcodes/SoamesTextBlock.tsx +27 -0
  20. package/src/components/shortcodes/SoamesTextList.tsx +27 -0
  21. package/src/components/shortcodes/SoamesTitle.tsx +24 -0
  22. package/src/components/shortcodes/SoamesTitleBar.tsx +22 -0
  23. package/src/components/shortcodes/SoamesTitleBarLg.tsx +56 -0
  24. package/src/components/shortcodes/SoamesVideo.tsx +35 -0
  25. package/src/components/shortcodes/getAttributes.ts +19 -0
  26. package/src/components/shortcodes/getContent.ts +4 -0
  27. package/src/integration.ts +147 -0
  28. package/src/layouts/Base.astro +93 -0
  29. package/src/lib/wp.ts +351 -0
  30. package/src/routes/[...uri].astro +41 -0
  31. package/src/routes/blog/[...page].astro +88 -0
  32. package/src/routes/blog/post/[...slug].astro +79 -0
  33. package/src/routes/docs/[...slug].astro +58 -0
  34. package/src/routes/docs/index.astro +66 -0
  35. package/src/routes/index.astro +39 -0
  36. package/src/scripts/soames-nav.js +72 -0
  37. package/src/styles/site-overrides.css +4 -0
  38. package/src/styles/soames/base.css +593 -0
  39. package/src/styles/soames/components.css +1556 -0
  40. package/src/styles/soames/layout.css +209 -0
  41. package/src/styles/soames/overrides.css +2138 -0
  42. package/src/styles/soames/typography.css +23 -0
  43. package/src/styles/theme.css +8 -0
  44. package/src/styles/vendor/normalize.css +343 -0
  45. package/src/styles/vendor/wordpress-blocks.css +3451 -0
  46. package/src/theme-shadow.ts +39 -0
@@ -0,0 +1,39 @@
1
+ ---
2
+ // Front page (parity with gatsby-node.js "/"): if a WP page has uri "/", render it
3
+ // with the HeroHeader + content (like the Gatsby page template); otherwise fall
4
+ // back to the blog archive (first page).
5
+ import Base from "@theme/layouts/Base.astro";
6
+ import HeroHeader from "@theme/components/HeroHeader";
7
+ import Shortcodes from "@theme/components/shortcodes/Shortcodes";
8
+ import RemoveContentAreaPadding from "@theme/components/shortcodes/RemoveContentAreaPadding";
9
+ import { getPages, getPosts } from "../lib/wp";
10
+
11
+ const pages = await getPages();
12
+ const front = pages.find((p) => p.uri === "/");
13
+ const posts = front ? [] : await getPosts();
14
+ ---
15
+ {front ? (
16
+ <Base pageTitle={front.title} description={front.excerpt} isHomePage={true}>
17
+ <HeroHeader
18
+ title={front.title}
19
+ subhead={front.excerpt}
20
+ backgroundImage={front.featuredImage?.sourceUrl ?? null}
21
+ overlayOpacity={front.overlayOpacity}
22
+ />
23
+ {front.content && (
24
+ <section id="soames-gatsby-content-container" class="soames-gatsby-content">
25
+ <RemoveContentAreaPadding />
26
+ <Shortcodes html={front.content} />
27
+ </section>
28
+ )}
29
+ </Base>
30
+ ) : (
31
+ <Base pageTitle="Home" isHomePage={true}>
32
+ <h1>Blog</h1>
33
+ <ul class="post-list">
34
+ {posts.map((post) => (
35
+ <li><a href={`/blog/post/${post.slug}/`}>{post.title}</a></li>
36
+ ))}
37
+ </ul>
38
+ </Base>
39
+ )}
@@ -0,0 +1,72 @@
1
+ // Vanilla replacement for the theme's two jQuery files
2
+ // (soames-nav-dropdown.js + soames-navbar-dropdown.js) — NO jQuery.
3
+ //
4
+ // Bootstrap 5's bundle (loaded separately) handles the mobile hamburger collapse
5
+ // and Popper. This script covers the two remaining bespoke behaviors:
6
+ // 1) Submenu dropdowns: markup uses `[data-toggle="dropdown-submenu"]` with a
7
+ // parent <li> that gets the `.open` class toggled (NOT Bootstrap's own
8
+ // data-bs-* API). Toggle on click; close others; close on outside-click/ESC.
9
+ // 2) Navbar scroll state: add `.navbar-short` (and toggle `.bg-color` on
10
+ // transparent bars) once the page is scrolled, matching the old behavior.
11
+ (function () {
12
+ "use strict";
13
+
14
+ function initSubmenus() {
15
+ var toggles = document.querySelectorAll('[data-toggle="dropdown-submenu"]');
16
+ if (!toggles.length) return;
17
+
18
+ function closeAll(except) {
19
+ document.querySelectorAll(".nav-item.dropdown.open, .dropdown.open").forEach(function (li) {
20
+ if (li !== except) {
21
+ li.classList.remove("open");
22
+ var t = li.querySelector('[data-toggle="dropdown-submenu"]');
23
+ if (t) t.setAttribute("aria-expanded", "false");
24
+ }
25
+ });
26
+ }
27
+
28
+ toggles.forEach(function (toggle) {
29
+ toggle.addEventListener("click", function (e) {
30
+ e.preventDefault();
31
+ e.stopPropagation();
32
+ var li = toggle.parentNode;
33
+ var isOpen = li.classList.contains("open");
34
+ closeAll(li);
35
+ li.classList.toggle("open", !isOpen);
36
+ toggle.setAttribute("aria-expanded", String(!isOpen));
37
+ });
38
+ });
39
+
40
+ document.addEventListener("click", function () { closeAll(null); });
41
+ document.addEventListener("keydown", function (e) {
42
+ if (e.key === "Escape") closeAll(null);
43
+ });
44
+ }
45
+
46
+ function initScrollState() {
47
+ var bars = document.querySelectorAll(".navbar-fixed-top");
48
+ if (!bars.length) return;
49
+ var onScroll = function () {
50
+ var scrolled = (window.pageYOffset || document.documentElement.scrollTop) > 0;
51
+ bars.forEach(function (bar) {
52
+ bar.classList.toggle("navbar-short", scrolled);
53
+ if (bar.classList.contains("transparent") && !bar.classList.contains("opened")) {
54
+ bar.classList.toggle("bg-color", !scrolled);
55
+ }
56
+ });
57
+ };
58
+ window.addEventListener("scroll", onScroll, { passive: true });
59
+ onScroll();
60
+ }
61
+
62
+ function init() {
63
+ initSubmenus();
64
+ initScrollState();
65
+ }
66
+
67
+ if (document.readyState === "loading") {
68
+ document.addEventListener("DOMContentLoaded", init);
69
+ } else {
70
+ init();
71
+ }
72
+ })();
@@ -0,0 +1,4 @@
1
+ /* Empty placeholder. A consuming site provides its own global CSS overrides by
2
+ * shadowing this file at src/overrides/styles/site-overrides.css — the theme-shadow
3
+ * resolver swaps it in. Base.astro imports it LAST so site rules win the cascade.
4
+ * (Successor to the Gatsby site pattern: import '../../styles/overrides.css'.) */
@@ -0,0 +1,593 @@
1
+ .navbar-dropdown {
2
+ left: 0;
3
+ padding: 0;
4
+ position: absolute;
5
+ right: 0;
6
+ top: 0;
7
+ transition: all 0.45s ease;
8
+ z-index: 1030;
9
+ background: #bc361b;
10
+ }
11
+
12
+ .navbar-dropdown .navbar-logo {
13
+ margin-right: 0.8rem;
14
+ transition: margin 0.3s ease-in-out;
15
+ vertical-align: middle;
16
+ }
17
+
18
+ .navbar-dropdown .navbar-logo img {
19
+ height: 3.125rem;
20
+ transition: all 0.3s ease-in-out;
21
+ }
22
+
23
+ .navbar-dropdown .navbar-logo.soames-iconfont {
24
+ font-size: 3.125rem;
25
+ line-height: 3.125rem;
26
+ }
27
+
28
+ .navbar-dropdown .navbar-caption {
29
+ font-weight: 700;
30
+ white-space: normal;
31
+ vertical-align: -4px;
32
+ line-height: 3.125rem !important;
33
+ }
34
+
35
+ .navbar-dropdown .navbar-caption,
36
+ .navbar-dropdown .navbar-caption:hover {
37
+ color: inherit;
38
+ text-decoration: none;
39
+ }
40
+
41
+ .navbar-dropdown .soames-iconfont+.navbar-caption {
42
+ vertical-align: -1px;
43
+ }
44
+
45
+ .navbar-dropdown.navbar-fixed-top {
46
+ position: fixed;
47
+ }
48
+
49
+ .navbar-dropdown .navbar-brand span {
50
+ vertical-align: -4px;
51
+ }
52
+
53
+ .navbar-dropdown.bg-color.transparent {
54
+ background: none;
55
+ }
56
+
57
+ .navbar-dropdown.navbar-short .navbar-brand {
58
+ padding: 0.625rem 0;
59
+ }
60
+
61
+ .navbar-dropdown.navbar-short .navbar-brand span {
62
+ vertical-align: -1px;
63
+ }
64
+
65
+ .navbar-dropdown.navbar-short .navbar-caption {
66
+ line-height: 2.375rem !important;
67
+ vertical-align: -2px;
68
+ }
69
+
70
+ .navbar-dropdown.navbar-short .navbar-logo {
71
+ margin-right: 0.5rem;
72
+ }
73
+
74
+ .navbar-dropdown.navbar-short .navbar-logo img {
75
+ height: 2.375rem;
76
+ }
77
+
78
+ .navbar-dropdown.navbar-short .navbar-logo.soames-iconfont {
79
+ font-size: 2.375rem;
80
+ line-height: 2.375rem;
81
+ }
82
+
83
+ .navbar-dropdown.navbar-short .soames-table-cell {
84
+ height: 3.625rem;
85
+ }
86
+
87
+ .navbar-dropdown .navbar-close {
88
+ left: 0.6875rem;
89
+ position: fixed;
90
+ top: 0.75rem;
91
+ z-index: 1000;
92
+ }
93
+
94
+ .navbar-dropdown .hamburger-icon {
95
+ content: "";
96
+ display: inline-block;
97
+ vertical-align: middle;
98
+ width: 16px;
99
+ -webkit-box-shadow: 0 -6px 0 1px #bc361b, 0 0 0 1px #bc361b, 0 6px 0 1px #bc361b;
100
+ -moz-box-shadow: 0 -6px 0 1px #bc361b, 0 0 0 1px #bc361b, 0 6px 0 1px #bc361b;
101
+ box-shadow: 0 -6px 0 1px #bc361b, 0 0 0 1px #bc361b, 0 6px 0 1px #bc361b;
102
+ }
103
+
104
+ .dropdown-menu .dropdown-toggle[data-toggle="dropdown-submenu"]::after {
105
+ border-bottom: 0.35em solid transparent;
106
+ border-left: 0.35em solid;
107
+ border-right: 0;
108
+ border-top: 0.35em solid transparent;
109
+ margin-left: 0.3rem;
110
+ }
111
+
112
+ .dropdown-menu .dropdown-item:focus {
113
+ outline: 0;
114
+ }
115
+
116
+ .nav-dropdown {
117
+ font-size: 0.75rem;
118
+ font-weight: 500;
119
+ height: auto !important;
120
+ }
121
+
122
+ .nav-dropdown .nav-btn {
123
+ padding-left: 1rem;
124
+ }
125
+
126
+ .nav-dropdown .link {
127
+ margin: .667em 1.667em;
128
+ font-weight: 500;
129
+ padding: 0;
130
+ transition: color .2s ease-in-out;
131
+ }
132
+
133
+ .nav-dropdown .link.dropdown-toggle {
134
+ margin-right: 2.583em;
135
+ }
136
+
137
+ .nav-dropdown .link.dropdown-toggle::after {
138
+ margin-left: .25rem;
139
+ border-top: 0.35em solid;
140
+ border-right: 0.35em solid transparent;
141
+ border-left: 0.35em solid transparent;
142
+ border-bottom: 0;
143
+ }
144
+
145
+ .nav-dropdown .link.dropdown-toggle[aria-expanded="true"] {
146
+ margin: 0;
147
+ padding: 0.667em 3.263em 0.667em 1.667em;
148
+ }
149
+
150
+ .nav-dropdown .link::after,
151
+ .nav-dropdown .dropdown-item::after {
152
+ color: inherit;
153
+ }
154
+
155
+ .nav-dropdown .btn {
156
+ font-size: 0.75rem;
157
+ font-weight: 700;
158
+ letter-spacing: 0;
159
+ margin-bottom: 0;
160
+ padding-left: 1.25rem;
161
+ padding-right: 1.25rem;
162
+ }
163
+
164
+ .nav-dropdown .dropdown-menu {
165
+ border-radius: 0;
166
+ border: 0;
167
+ left: 0;
168
+ margin: 0;
169
+ padding-bottom: 1.25rem;
170
+ padding-top: 1.25rem;
171
+ position: relative;
172
+ }
173
+
174
+ .nav-dropdown .dropdown-submenu {
175
+ margin-left: 0.125rem;
176
+ top: 0;
177
+ }
178
+
179
+ .nav-dropdown .dropdown-item {
180
+ font-weight: 500;
181
+ line-height: 2;
182
+ padding: 0.3846em 4.615em 0.3846em 1.5385em;
183
+ position: relative;
184
+ transition: color .2s ease-in-out, background-color .2s ease-in-out;
185
+ }
186
+
187
+ .nav-dropdown .dropdown-item::after {
188
+ margin-top: -0.3077em;
189
+ position: absolute;
190
+ right: 1.1538em;
191
+ top: 50%;
192
+ }
193
+
194
+ .nav-dropdown .dropdown-item:focus,
195
+ .nav-dropdown .dropdown-item:hover {
196
+ background: none;
197
+ }
198
+
199
+ @media (max-width: 767px) {
200
+ .nav-dropdown.navbar-toggleable-sm {
201
+ bottom: 0;
202
+ display: none;
203
+ left: 0;
204
+ overflow-x: hidden;
205
+ position: fixed;
206
+ top: 0;
207
+ transform: translateX(-100%);
208
+ -ms-transform: translateX(-100%);
209
+ -webkit-transform: translateX(-100%);
210
+ width: 18.75rem;
211
+ z-index: 999;
212
+ }
213
+ }
214
+
215
+ .nav-dropdown.navbar-toggleable-xl {
216
+ bottom: 0;
217
+ display: none;
218
+ left: 0;
219
+ overflow-x: hidden;
220
+ position: fixed;
221
+ top: 0;
222
+ transform: translateX(-100%);
223
+ -ms-transform: translateX(-100%);
224
+ -webkit-transform: translateX(-100%);
225
+ width: 18.75rem;
226
+ z-index: 999;
227
+ }
228
+
229
+ .nav-dropdown-sm {
230
+ display: block !important;
231
+ overflow-x: hidden;
232
+ overflow: auto;
233
+ padding-top: 3.875rem;
234
+ }
235
+
236
+ .nav-dropdown-sm::after {
237
+ content: "";
238
+ display: block;
239
+ height: 3rem;
240
+ width: 100%;
241
+ }
242
+
243
+ .nav-dropdown-sm.collapse.in~.navbar-close {
244
+ display: block !important;
245
+ }
246
+
247
+ .nav-dropdown-sm.collapsing,
248
+ .nav-dropdown-sm.collapse.in {
249
+ transform: translateX(0);
250
+ -ms-transform: translateX(0);
251
+ -webkit-transform: translateX(0);
252
+ transition: all 0.25s ease-out;
253
+ -webkit-transition: all 0.25s ease-out;
254
+ background: #bc361b;
255
+ }
256
+
257
+ .nav-dropdown-sm.collapsing[aria-expanded="false"] {
258
+ transform: translateX(-100%);
259
+ -ms-transform: translateX(-100%);
260
+ -webkit-transform: translateX(-100%);
261
+ }
262
+
263
+ .nav-dropdown-sm .nav-item {
264
+ display: block;
265
+ margin-left: 0 !important;
266
+ padding-left: 0;
267
+ }
268
+
269
+ .nav-dropdown-sm .link,
270
+ .nav-dropdown-sm .dropdown-item {
271
+ border-top: 1px dotted rgba(255, 255, 255, 0.1);
272
+ font-size: 0.8125rem;
273
+ line-height: 1.6;
274
+ margin: 0 !important;
275
+ padding: 0.875rem 2.4rem 0.875rem 1.5625rem !important;
276
+ position: relative;
277
+ white-space: normal;
278
+ }
279
+
280
+ .nav-dropdown-sm .link:focus,
281
+ .nav-dropdown-sm .link:hover,
282
+ .nav-dropdown-sm .dropdown-item:focus,
283
+ .nav-dropdown-sm .dropdown-item:hover {
284
+ background: rgba(0, 0, 0, 0.2) !important;
285
+ color: #c0a375;
286
+ }
287
+
288
+ .nav-dropdown-sm .nav-btn {
289
+ position: relative;
290
+ padding: 1.5625rem 1.5625rem 0 1.5625rem;
291
+ }
292
+
293
+ .nav-dropdown-sm .nav-btn::before {
294
+ border-top: 1px dotted rgba(255, 255, 255, 0.1);
295
+ content: "";
296
+ left: 0;
297
+ position: absolute;
298
+ top: 0;
299
+ width: 100%;
300
+ }
301
+
302
+ .nav-dropdown-sm .nav-btn+.nav-btn {
303
+ padding-top: 0.625rem;
304
+ }
305
+
306
+ .nav-dropdown-sm .nav-btn+.nav-btn::before {
307
+ display: none;
308
+ }
309
+
310
+ .nav-dropdown-sm .btn {
311
+ padding: 0.625rem 0;
312
+ }
313
+
314
+ .nav-dropdown-sm .dropdown-toggle[data-toggle="dropdown-submenu"]::after {
315
+ margin-left: .25rem;
316
+ border-top: 0.35em solid;
317
+ border-right: 0.35em solid transparent;
318
+ border-left: 0.35em solid transparent;
319
+ border-bottom: 0;
320
+ }
321
+
322
+ .nav-dropdown-sm .dropdown-toggle[data-toggle="dropdown-submenu"][aria-expanded="true"]::after {
323
+ border-top: 0;
324
+ border-right: 0.35em solid transparent;
325
+ border-left: 0.35em solid transparent;
326
+ border-bottom: 0.35em solid;
327
+ }
328
+
329
+ .nav-dropdown-sm .dropdown-menu {
330
+ margin: 0;
331
+ padding: 0;
332
+ position: relative;
333
+ top: 0;
334
+ left: 0;
335
+ width: 100%;
336
+ border: 0;
337
+ float: none;
338
+ border-radius: 0;
339
+ background: none;
340
+ }
341
+
342
+ .nav-dropdown-sm .dropdown-submenu {
343
+ left: 100%;
344
+ margin-left: 0.125rem;
345
+ margin-top: -1.25rem;
346
+ top: 0;
347
+ }
348
+
349
+ .navbar-toggleable-sm .nav-dropdown .dropdown-menu {
350
+ position: absolute;
351
+ }
352
+
353
+ .navbar-toggleable-sm .nav-dropdown .dropdown-submenu {
354
+ left: 100%;
355
+ margin-left: 0.125rem;
356
+ margin-top: -1.25rem;
357
+ top: 0;
358
+ }
359
+
360
+ .navbar-toggleable-sm.opened .nav-dropdown .dropdown-menu {
361
+ position: relative;
362
+ }
363
+
364
+ .navbar-toggleable-sm.opened .nav-dropdown .dropdown-submenu {
365
+ left: 0;
366
+ margin-left: 00rem;
367
+ margin-top: 0rem;
368
+ top: 0;
369
+ }
370
+
371
+ .is-builder .nav-dropdown.collapsing {
372
+ transition: none !important;
373
+ }
374
+
375
+ /*# sourceMappingURL=style.css.map */
376
+
377
+ html,
378
+ body {
379
+ height: auto;
380
+ min-height: 100vh;
381
+ overscroll-behavior: none;
382
+ }
383
+
384
+ body {
385
+ font-style: normal;
386
+ line-height: 1.5;
387
+ color: #232323;
388
+ position: relative;
389
+ margin: 0;
390
+ }
391
+
392
+ section,
393
+ .container,
394
+ .container-fluid {
395
+ position: relative;
396
+ word-wrap: break-word;
397
+ }
398
+
399
+ a.soames-iconfont:hover {
400
+ text-decoration: none;
401
+ }
402
+
403
+ .article {
404
+ background-color: white;
405
+ }
406
+
407
+ .article .lead p,
408
+ .article .lead ul,
409
+ .article .lead ol,
410
+ .article .lead pre,
411
+ .article .lead blockquote {
412
+ margin-bottom: 0;
413
+ }
414
+
415
+ ul,
416
+ ol,
417
+ pre,
418
+ blockquote {
419
+ margin-bottom: 2.3125rem;
420
+ }
421
+
422
+ pre {
423
+ background: #f4f4f4;
424
+ padding: 10px 24px;
425
+ white-space: pre-wrap;
426
+ }
427
+
428
+ .inactive {
429
+ -webkit-user-select: none;
430
+ -moz-user-select: none;
431
+ -ms-user-select: none;
432
+ user-select: none;
433
+ pointer-events: none;
434
+ -webkit-user-drag: none;
435
+ user-drag: none;
436
+ }
437
+
438
+ .soames-section__comments .row {
439
+ justify-content: center;
440
+ -webkit-justify-content: center;
441
+ }
442
+
443
+ a {
444
+ font-style: normal;
445
+ font-weight: 400;
446
+ cursor: pointer;
447
+ }
448
+
449
+ a,
450
+ a:hover {
451
+ text-decoration: none;
452
+ }
453
+
454
+ figure {
455
+ margin-bottom: 0;
456
+ }
457
+
458
+ h1,
459
+ h2,
460
+ h3,
461
+ h4,
462
+ h5,
463
+ h6,
464
+ .h1,
465
+ .h2,
466
+ .h3,
467
+ .h4,
468
+ .h5,
469
+ .h6,
470
+ .display-1,
471
+ .display-2,
472
+ .display-3,
473
+ .display-4 {
474
+ line-height: 1;
475
+ word-break: break-word;
476
+ word-wrap: break-word;
477
+ }
478
+
479
+ .soames-section-title {
480
+ font-style: normal;
481
+ line-height: 1.2;
482
+ color: #ffffff;
483
+ }
484
+
485
+ .soames-section-subtitle {
486
+ line-height: 1.3;
487
+ color: #ffffff;
488
+ }
489
+
490
+ .soames-text {
491
+ font-style: normal;
492
+ line-height: 1.6;
493
+ }
494
+
495
+ b,
496
+ strong {
497
+ font-weight: bold;
498
+ }
499
+
500
+ blockquote {
501
+ padding: 10px 0 10px 20px;
502
+ position: relative;
503
+ border-left: 2px solid;
504
+ border-color: #ff3366;
505
+ }
506
+
507
+ input:-webkit-autofill,
508
+ input:-webkit-autofill:hover,
509
+ input:-webkit-autofill:focus,
510
+ input:-webkit-autofill:active {
511
+ transition-delay: 9999s;
512
+ transition-property: background-color, color;
513
+ }
514
+
515
+ textarea[type='hidden'] {
516
+ display: none;
517
+ }
518
+
519
+ section {
520
+ background-position: 50% 50%;
521
+ background-repeat: no-repeat;
522
+ background-size: cover;
523
+ }
524
+
525
+ section .soames-background-video,
526
+ section .soames-background-video-preview {
527
+ position: absolute;
528
+ bottom: 0;
529
+ left: 0;
530
+ right: 0;
531
+ top: 0;
532
+ }
533
+
534
+ .hidden {
535
+ visibility: hidden;
536
+ }
537
+
538
+ .soames-z-index20 {
539
+ z-index: 20;
540
+ }
541
+
542
+ /*! Base colors */
543
+ .soames-white {
544
+ color: #ffffff;
545
+ }
546
+
547
+ .soames-black {
548
+ color: #000000;
549
+ }
550
+
551
+ .soames-bg-white {
552
+ background-color: #ffffff;
553
+ }
554
+
555
+ .soames-bg-black {
556
+ background-color: #000000;
557
+ }
558
+
559
+ /*! Text-aligns */
560
+ .align-left {
561
+ text-align: left;
562
+ }
563
+
564
+ .align-center {
565
+ text-align: center;
566
+ }
567
+
568
+ .align-right {
569
+ text-align: right;
570
+ }
571
+
572
+ /*! Map */
573
+ .map {
574
+ height: 25rem;
575
+ position: relative;
576
+ }
577
+
578
+ .map iframe {
579
+ width: 100%;
580
+ height: 100%;
581
+ }
582
+
583
+ .soames-overlay {
584
+ background-color: #000;
585
+ bottom: 0;
586
+ left: 0;
587
+ opacity: .5;
588
+ position: absolute;
589
+ right: 0;
590
+ top: 0;
591
+ z-index: 0;
592
+ pointer-events: none;
593
+ }