arclight 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/.all-contributorsrc +450 -0
  3. data/.babelrc +3 -0
  4. data/.codeclimate.yml +5 -0
  5. data/.eslintrc +3 -0
  6. data/.rubocop.yml +19 -0
  7. data/.rubocop_todo.yml +15 -135
  8. data/.travis.yml +2 -2
  9. data/CONTRIBUTORS.md +79 -0
  10. data/README.md +21 -24
  11. data/Rakefile +0 -1
  12. data/app/assets/images/blacklight/bookmark.svg +1 -0
  13. data/app/assets/images/blacklight/collection.svg +5 -0
  14. data/app/assets/images/blacklight/compact.svg +1 -25
  15. data/app/assets/images/blacklight/container.svg +5 -0
  16. data/app/assets/images/blacklight/ead.svg +1 -0
  17. data/app/assets/images/blacklight/file.svg +5 -0
  18. data/app/assets/images/blacklight/folder.svg +1 -0
  19. data/app/assets/images/blacklight/list.svg +1 -0
  20. data/app/assets/images/blacklight/minus.svg +1 -0
  21. data/app/assets/images/blacklight/online.svg +5 -0
  22. data/app/assets/images/blacklight/pdf.svg +1 -0
  23. data/app/assets/images/blacklight/plus.svg +1 -0
  24. data/app/assets/images/blacklight/repository.svg +1 -0
  25. data/app/assets/javascripts/arclight/arclight.js +1 -3
  26. data/app/assets/javascripts/arclight/collection_navigation.js +36 -53
  27. data/app/assets/javascripts/arclight/collection_scrollspy.js +1 -1
  28. data/app/assets/javascripts/arclight/context_navigation.js +374 -0
  29. data/app/assets/javascripts/arclight/truncator.js.erb +8 -2
  30. data/app/assets/stylesheets/arclight/application.scss +3 -1
  31. data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +23 -0
  32. data/app/assets/stylesheets/arclight/modules/context_navigation.scss +75 -0
  33. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +28 -35
  34. data/app/assets/stylesheets/arclight/modules/highlights.scss +2 -1
  35. data/app/assets/stylesheets/arclight/modules/layout.scss +128 -14
  36. data/app/assets/stylesheets/arclight/modules/mastheads.scss +27 -5
  37. data/app/assets/stylesheets/arclight/modules/repositories.scss +1 -5
  38. data/app/assets/stylesheets/arclight/modules/repository_card.scss +6 -7
  39. data/app/assets/stylesheets/arclight/modules/search_results.scss +145 -24
  40. data/app/assets/stylesheets/arclight/modules/show_collection.scss +38 -59
  41. data/app/assets/stylesheets/arclight/responsive.scss +13 -0
  42. data/app/assets/stylesheets/arclight/variables.scss +21 -1
  43. data/app/controllers/concerns/arclight/ead_format_helpers.rb +225 -0
  44. data/app/controllers/concerns/arclight/field_config_helpers.rb +23 -7
  45. data/app/factories/blacklight_field_configuration_factory.rb +1 -0
  46. data/app/helpers/arclight_helper.rb +197 -35
  47. data/app/models/arclight/document_downloads.rb +125 -0
  48. data/app/models/arclight/parent.rb +4 -2
  49. data/app/models/arclight/parents.rb +6 -4
  50. data/app/models/arclight/requests/aeon_external_request.rb +42 -0
  51. data/app/models/arclight/requests/aeon_web_ead.rb +47 -0
  52. data/app/models/arclight/requests/google_form.rb +2 -2
  53. data/app/models/concerns/arclight/catalog.rb +14 -2
  54. data/app/models/concerns/arclight/search_behavior.rb +27 -12
  55. data/app/models/concerns/arclight/solr_document.rb +29 -7
  56. data/app/views/arclight/_requests.html.erb +7 -0
  57. data/app/views/arclight/repositories/_in_person_repository.html.erb +1 -1
  58. data/app/views/arclight/repositories/_repository.html.erb +2 -2
  59. data/app/views/arclight/repositories/_repository_contact.html.erb +9 -0
  60. data/app/views/arclight/repositories/index.html.erb +3 -0
  61. data/app/views/arclight/repositories/show.html.erb +5 -4
  62. data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +9 -0
  63. data/app/views/arclight/requests/_aeon_web_ead.html.erb +7 -0
  64. data/app/views/arclight/requests/_google_form.html.erb +2 -1
  65. data/app/views/arclight/viewers/_oembed.html.erb +2 -1
  66. data/app/views/catalog/_access_contents.html.erb +15 -0
  67. data/app/views/catalog/_arclight_abstract_or_scope.html.erb +5 -0
  68. data/app/views/catalog/_arclight_bookmark_control.html.erb +38 -0
  69. data/app/views/catalog/_arclight_document_header_icon.html.erb +1 -0
  70. data/app/views/catalog/_arclight_index_compact_default.html.erb +18 -11
  71. data/app/views/catalog/_arclight_index_default.html.erb +45 -0
  72. data/app/views/catalog/_arclight_index_group_document_compact_default.html.erb +19 -0
  73. data/app/views/catalog/_arclight_index_group_document_default.html.erb +18 -0
  74. data/app/views/catalog/_arclight_online_content_indicator.html.erb +1 -3
  75. data/app/views/catalog/_collection_contents.html.erb +2 -10
  76. data/app/views/catalog/_collection_context.html.erb +15 -0
  77. data/app/views/catalog/_collection_context_nav.html.erb +12 -0
  78. data/app/views/catalog/_collection_online_contents.html.erb +3 -3
  79. data/app/views/catalog/_component_context.html.erb +5 -0
  80. data/app/views/catalog/_containers.html.erb +3 -0
  81. data/app/views/catalog/_context_sidebar.html.erb +2 -2
  82. data/app/views/catalog/_document_downloads.html.erb +14 -0
  83. data/app/views/catalog/_group.html.erb +21 -0
  84. data/app/views/catalog/_group_header_compact_default.html.erb +15 -0
  85. data/app/views/catalog/_group_header_default.html.erb +20 -0
  86. data/app/views/catalog/_group_toggle.html.erb +10 -0
  87. data/app/views/catalog/_home.html.erb +1 -1
  88. data/app/views/catalog/_index_breadcrumb_default.html.erb +5 -2
  89. data/app/views/catalog/_index_collection_context_default.html.erb +53 -0
  90. data/app/views/catalog/_index_header.html.erb +3 -3
  91. data/app/views/catalog/_index_online_contents_default.html.erb +1 -1
  92. data/app/views/catalog/_online_content_label.html.erb +5 -0
  93. data/app/views/catalog/_search_form.html.erb +34 -0
  94. data/app/views/catalog/_search_results.html.erb +1 -4
  95. data/app/views/catalog/_show_actions_box_default.html.erb +27 -0
  96. data/app/views/catalog/_show_breadcrumbs_default.html.erb +5 -20
  97. data/app/views/catalog/_show_collection.html.erb +42 -24
  98. data/app/views/catalog/_show_default.html.erb +63 -35
  99. data/app/views/catalog/_show_upper_metadata_default.html.erb +1 -1
  100. data/app/views/catalog/_sort_and_per_page.html.erb +8 -0
  101. data/app/views/catalog/_within_collection_dropdown.html.erb +26 -0
  102. data/app/views/shared/_breadcrumbs.html.erb +4 -4
  103. data/app/views/shared/_context_sidebar.html.erb +2 -2
  104. data/app/views/shared/_header_navbar.html.erb +13 -17
  105. data/app/views/shared/_show_breadcrumbs.html.erb +27 -0
  106. data/arclight.gemspec +5 -6
  107. data/config/i18n-tasks.yml +2 -1
  108. data/config/locales/arclight.en.yml +54 -21
  109. data/config/repositories.yml +0 -0
  110. data/lib/arclight/engine.rb +22 -12
  111. data/lib/arclight/hash_absolute_xpath.rb +11 -7
  112. data/lib/arclight/level_label.rb +46 -0
  113. data/lib/arclight/normalized_date.rb +2 -2
  114. data/lib/arclight/normalized_id.rb +1 -0
  115. data/lib/arclight/normalized_title.rb +1 -0
  116. data/lib/arclight/repository.rb +58 -5
  117. data/lib/arclight/traject/ead2_config.rb +178 -159
  118. data/lib/arclight/traject/nokogiri_namespaceless_reader.rb +22 -0
  119. data/lib/arclight/version.rb +1 -1
  120. data/lib/arclight/viewers/oembed.rb +1 -0
  121. data/lib/arclight/year_range.rb +9 -1
  122. data/lib/generators/arclight/install_generator.rb +5 -1
  123. data/lib/generators/arclight/templates/catalog_controller.rb +128 -100
  124. data/lib/generators/arclight/templates/config/downloads.yml +12 -0
  125. data/lib/generators/arclight/templates/config/repositories.yml +20 -2
  126. data/lib/generators/arclight/update_generator.rb +1 -1
  127. data/lib/tasks/index.rake +18 -20
  128. data/package.json +8 -1
  129. data/solr/conf/schema.xml +51 -292
  130. data/solr/conf/solrconfig.xml +40 -125
  131. data/tasks/arclight.rake +1 -0
  132. data/vendor/assets/javascripts/responsiveTruncator.js +2 -2
  133. metadata +71 -44
  134. data/app/assets/javascripts/arclight/collection_context.js +0 -18
  135. data/app/assets/javascripts/arclight/component_ancestors.js +0 -56
  136. data/app/assets/javascripts/arclight/search_results.js +0 -15
  137. data/app/assets/stylesheets/arclight/modules/sidebar.scss +0 -21
  138. data/app/views/catalog/_collection_count.html.erb +0 -7
  139. data/app/views/catalog/_collection_downloads.html.erb +0 -15
  140. data/app/views/catalog/_collection_overview.html.erb +0 -7
  141. data/app/views/catalog/_component_contents.html.erb +0 -16
  142. data/app/views/catalog/_component_overview.html.erb +0 -40
  143. data/app/views/catalog/_index_header_hierarchy_default.html.erb +0 -42
  144. data/app/views/catalog/_index_hierarchy_default.html.erb +0 -28
  145. data/app/views/catalog/_results_histogram.html.erb +0 -15
  146. data/app/views/catalog/_show_component_sidebar.html.erb +0 -12
  147. data/app/views/catalog/_show_sidebar.html.erb +0 -22
  148. data/lib/arclight/custom_component.rb +0 -99
  149. data/lib/arclight/custom_document.rb +0 -93
  150. data/lib/arclight/indexer.rb +0 -9
  151. data/lib/arclight/shared_indexing_behavior.rb +0 -97
  152. data/lib/arclight/shared_terminology_behavior.rb +0 -65
  153. data/lib/arclight/solr_ead_indexer_ext.rb +0 -155
@@ -10,8 +10,8 @@ Blacklight.onLoad(function () {
10
10
  });
11
11
 
12
12
  // When elements get loaded from hierarchy
13
- $('.al-contents').on('navigation.contains.elements', function () {
14
- $('a[data-toggle="pill"]').on('shown.bs.tab', function () {
13
+ $('.al-contents, .context-navigator').on('navigation.contains.elements', function (e) {
14
+ $('a[data-toggle="tab"]').on('shown.bs.tab', function () {
15
15
  $('[data-arclight-truncate="true"]').each(function (_, el) {
16
16
  $(el).responsiveTruncate({
17
17
  more: "<%= I18n.t 'arclight.truncation.view_more' %>",
@@ -19,5 +19,11 @@ Blacklight.onLoad(function () {
19
19
  });
20
20
  });
21
21
  });
22
+ $(e.target).find('[data-arclight-truncate="true"]').each(function (_, el) {
23
+ $(el).responsiveTruncate({
24
+ more: "<%= I18n.t 'arclight.truncation.view_more' %>",
25
+ less: "<%= I18n.t 'arclight.truncation.view_less' %>"
26
+ });
27
+ });
22
28
  });
23
29
  });
@@ -1,7 +1,9 @@
1
1
  @import 'bootstrap/functions';
2
2
  @import 'bootstrap/variables';
3
+ @import 'bootstrap/mixins/breakpoints';
3
4
  @import 'bootstrap_overrides';
4
5
  @import 'variables';
6
+ @import 'responsive';
5
7
  @import 'modules/collection_search';
6
8
  @import 'modules/highlights';
7
9
  @import 'modules/hierarchy_and_online_contents';
@@ -11,4 +13,4 @@
11
13
  @import 'modules/repository_card.scss';
12
14
  @import 'modules/search_results';
13
15
  @import 'modules/show_collection';
14
- @import 'modules/sidebar';
16
+ @import 'modules/context_navigation'
@@ -1,3 +1,26 @@
1
1
  .nav.nav-pills {
2
2
  margin-bottom: $spacer;
3
3
  }
4
+
5
+ .nav.nav-tabs {
6
+ margin-bottom: 0;
7
+ flex-wrap: nowrap;
8
+ & .nav-item .nav-link:not(.active) {
9
+ background: $gray-100;
10
+ border-color: $nav-tabs-border-color;
11
+ }
12
+ & .nav-item .nav-link {
13
+ height: 100%;
14
+ }
15
+ & .nav-item {
16
+ overflow-wrap: break-word;
17
+ }
18
+ }
19
+
20
+ .tab-pane {
21
+ border-style: solid;
22
+ border-width: 0 1px 1px 1px;
23
+ border-color: $nav-tabs-border-color;
24
+ border-radius: 0px 0px $nav-tabs-border-radius $nav-tabs-border-radius;
25
+ padding: $spacer*2;
26
+ }
@@ -0,0 +1,75 @@
1
+ #contents > .context-navigator,
2
+ #collection-context > .context-navigator {
3
+ padding-left: $spacer;
4
+ }
5
+
6
+ ul.al-context-nav-parent {
7
+ padding-left: 0px;
8
+ }
9
+
10
+ li.al-collection-context {
11
+ flex-grow: 1;
12
+ margin-right: 0;
13
+ margin-left: 0;
14
+ padding-left: 15px;
15
+ max-width: 100%;
16
+
17
+ .al-collection-context-collapsible {
18
+ width: 100%;
19
+ }
20
+
21
+ .blacklight-icons {
22
+ padding-top: $spacer * .25;
23
+ }
24
+
25
+ .al-number-of-children-badge {
26
+ font-size: 12px;
27
+ vertical-align: middle;
28
+ }
29
+
30
+ .documentHeader {
31
+ flex-grow: 1;
32
+ margin-bottom: $spacer;
33
+ width: 100%;
34
+ }
35
+
36
+ .document-title-heading {
37
+ font-size: 1.25rem;
38
+ }
39
+
40
+ .col.col-no-left-padding.d-flex.flex-wrap {
41
+ flex-grow: 1;
42
+ }
43
+ .order-2 .row {
44
+ margin-left: 0;
45
+ }
46
+
47
+ .al-document-abstract-or-scope {
48
+ max-width: 45em;
49
+ }
50
+
51
+ .blacklight-icons svg {
52
+ fill: $gray-600;
53
+ }
54
+
55
+ .al-online-content-icon svg {
56
+ fill: $green;
57
+ }
58
+ @media (max-width: 767px) {
59
+ padding-left: 0;
60
+ .al-document-abstract-or-scope {
61
+ max-width: 25em;
62
+ }
63
+ }
64
+ }
65
+
66
+ @media (max-width: 767px) {
67
+ .blacklight-catalog.blacklight-catalog-show {
68
+ #context {
69
+ padding: 10px;
70
+ }
71
+ }
72
+ ul.al-context-nav-parent {
73
+ padding-left: 40px;
74
+ }
75
+ }
@@ -1,4 +1,3 @@
1
- .documents-hierarchy,
2
1
  .documents-online_contents {
3
2
  .document-title-heading {
4
3
  font-size: $h5-font-size;
@@ -10,16 +9,6 @@
10
9
  }
11
10
  }
12
11
 
13
- .al-toggle-view-all {
14
- color: $gray-600;
15
-
16
- &:before {
17
- color: $gray-600;
18
- content: "\2022";
19
- padding-right: 3px;
20
- }
21
- }
22
-
23
12
  .al-hierarchy-children-status {
24
13
  font-size: $h6-font-size;
25
14
  margin-top: 6px;
@@ -31,17 +20,11 @@
31
20
  font-size: $font-size-sm;
32
21
  }
33
22
 
34
- // Component title + children badge
35
- .documentHeader {
36
- border-bottom: $border-width dashed #ccc;
37
- margin-bottom: ($spacer / 2);
38
- margin-top: ($spacer * 2);
39
- }
40
-
41
23
  // Headings and text
42
24
  .al-document-abstract-or-scope {
43
25
  font-size: 0.85rem;
44
- line-height: 1.25;
26
+ line-height: 1.5;
27
+ max-width: 45em;
45
28
  }
46
29
 
47
30
  .al-hierarchy-sub-heading {
@@ -53,16 +36,13 @@
53
36
 
54
37
  // Series level
55
38
  .blacklight-series .document-title-heading,
39
+ .blacklight-subseries .document-title-heading,
56
40
  .blacklight-file .document-title-heading,
57
41
  .blacklight-binder .document-title-heading,
58
42
  .blacklight-other .document-title-heading {
59
43
  font-size: $h5-font-size;
60
44
  font-weight: 400;
61
45
  margin-bottom: ($spacer / 2);
62
-
63
- > a {
64
- color: $gray-900;
65
- }
66
46
  }
67
47
 
68
48
  .blacklight-series,
@@ -109,7 +89,7 @@
109
89
  }
110
90
  }
111
91
 
112
- .al-hierarchy-highlight {
92
+ .al-hierarchy-highlight > .documentHeader {
113
93
  background: $mark-bg;
114
94
  }
115
95
 
@@ -130,13 +110,25 @@
130
110
  }
131
111
  }
132
112
 
113
+ // Scope content
114
+ .al-document-abstract-or-scope {
115
+ font-size: 0.85rem;
116
+ line-height: 1.5;
117
+ max-width: 45em;
118
+ margin-bottom: $spacer;
119
+ }
120
+
133
121
  // Component show page, Collection context section
134
122
  #collection-context {
135
123
  h1 {
136
124
  font-size: $h5-font-size;
137
125
  }
138
126
 
139
- .documents-hierarchy,
127
+ ul {
128
+ list-style: none;
129
+ flex-grow: 1;
130
+ }
131
+
140
132
  .documents-online_contents {
141
133
  .documentHeader {
142
134
  margin-top: 1.5rem;
@@ -145,25 +137,26 @@
145
137
 
146
138
  // Top-level context
147
139
  .al-hierarchy-level-0 .document-title-heading {
148
- // background-color: red;
149
140
  font-size: $h5-font-size;
150
- font-weight: 400;
151
141
  margin-bottom: ($spacer / 2);
152
-
153
- > a {
154
- color: $gray-900;
155
- }
156
142
  }
157
143
 
158
144
  // All subsequent levels
159
145
  @for $i from 1 through 12 {
160
146
  .al-hierarchy-level-#{$i} .document-title-heading {
161
147
  font-size: $h6-font-size;
162
- font-weight: 400;
148
+ }
149
+ }
163
150
 
164
- > a {
165
- color: $gray-900;
166
- }
151
+ .prev-siblings li, li.al-collection-context {
152
+ visibility: visible;
153
+ opacity: 1;
154
+ transition: visibility 0s, height 0.5s, opacity 0.5s linear;
155
+
156
+ &.collapsed {
157
+ visibility: hidden;
158
+ height: 0;
159
+ opacity: 0;
167
160
  }
168
161
  }
169
162
  }
@@ -3,8 +3,9 @@
3
3
  padding-left: 10px;
4
4
  font-size: $font-size-sm;
5
5
  font-style: italic;
6
+ margin-bottom: $spacer;
6
7
  em {
7
- background-color: yellow;
8
+ background-color: $background-highlight;
8
9
  font-weight: bold;
9
10
  }
10
11
  }
@@ -8,9 +8,67 @@
8
8
  background-color: transparent;
9
9
  margin-bottom: 0;
10
10
  padding: 0;
11
+
12
+ .breadcrumb-item + .breadcrumb-item {
13
+ padding-top: 2px;
14
+
15
+ &::before {
16
+ content: '';
17
+ }
18
+ }
19
+ }
20
+
21
+ .breadcrumb-home-link {
22
+ margin-bottom: ($spacer / 4);
23
+ }
24
+ .al-show-actions-box {
25
+ border: $default-border-styling;
26
+ background-color: $gray-200;
27
+ font-size: $font-size-sm;
28
+ height: 100%;
29
+ margin-bottom: $spacer * 2;
30
+ padding: ($spacer * .5) $spacer ($spacer * .75);
31
+
32
+ @media (max-width: 767px) {
33
+ margin-top: $spacer;
34
+ }
35
+
36
+ .al-collection-id {
37
+ margin-bottom: $spacer * .75;
38
+ }
39
+
40
+ &-options {
41
+ display: flex;
42
+ align-items: center;
43
+ }
44
+
45
+ &-downloads {
46
+ padding-top: $spacer * .25;
47
+ white-space: nowrap;
48
+
49
+ &-container {
50
+ margin-top: $spacer * .5;
51
+ }
52
+
53
+ &-file {
54
+ &.blacklight-icons {
55
+ margin-right: $spacer * .5;
56
+
57
+ svg {
58
+ fill: $secondary;
59
+ }
60
+ }
61
+ }
62
+ }
11
63
  }
12
64
 
13
- .al-show-breadcrumb h1 { font-size: 1.5rem; }
65
+ .al-show-breadcrumb h1 {
66
+ font-size: 1.5rem;
67
+
68
+ &.media .col {
69
+ padding-top: $spacer * .25;
70
+ }
71
+ }
14
72
 
15
73
  .breadcrumb-item {
16
74
  flex: 1 0 100%;
@@ -22,26 +80,48 @@
22
80
  }
23
81
  }
24
82
 
83
+ // Show page breadcrumbs
25
84
  @for $i from 1 to 14 {
26
- .breadcrumb-item.breadcrumb-item-#{$i} {
27
- padding-left: ($i - 1) * 10px !important;
85
+ .breadcrumb-item.breadcrumb-item-#{$i}.media {
86
+ padding-left: 0;
87
+
88
+ @media (max-width: 767px) {
89
+ &::before {
90
+ padding-right: 0;
91
+ }
92
+ }
93
+
94
+ @media (min-width: 768px) {
95
+ padding-left: ($i - 1) * 10px;
96
+ }
28
97
  }
29
98
  }
30
99
 
31
- // Collapse arrow indicators
32
- .al-toggle-view-more,
33
- .al-toggle-view-all {
34
- &[aria-expanded="true"] {
35
- &::after {
36
- content: '\25BC';
37
- margin-left: 6px;
100
+ // Show page metadata.
101
+ // Indent to match terminal show page breadcrumb.
102
+ @for $i from 1 to 14 {
103
+ .al-metadata-section.breadcrumb-item-#{$i} {
104
+ padding-left: 0;
105
+
106
+ @media (min-width: 768px) {
107
+ padding-left: ($i * 10) + 10px;
38
108
  }
39
109
  }
110
+ }
40
111
 
41
- &::after {
42
- content: '\25B6';
43
- margin-left: 6px;
112
+ // Collapse +/- indicators
113
+ .al-toggle-view-children {
114
+ &:not(.collapsed) {
115
+ & {
116
+ content: image-url('blacklight/minus.svg');
117
+ }
44
118
  }
119
+
120
+ content: image-url('blacklight/plus.svg');
121
+ }
122
+
123
+ .al-toggle-children-container {
124
+ margin-left: -1.5rem;
45
125
  }
46
126
 
47
127
  .bookmark-toggle .toggle-bookmark {
@@ -52,7 +132,6 @@
52
132
 
53
133
  .bookmark-toggle {
54
134
  display: inline;
55
- float: right;
56
135
  }
57
136
 
58
137
  .al-hierarchy-side-content {
@@ -75,3 +154,38 @@
75
154
  content: "\0229F";
76
155
  }
77
156
  }
157
+
158
+
159
+ dl dd {
160
+ overflow-wrap: break-word;
161
+ }
162
+
163
+ dl.deflist dt {
164
+ text-align: left;
165
+ }
166
+
167
+ .chronlist-head, .list-head {
168
+ caption-side: top;
169
+ font-size: 1.25rem;
170
+ font-weight: 500;
171
+ margin-bottom: 1rem;
172
+ }
173
+
174
+ .chronlist th,
175
+ .chronlist-item-date {
176
+ font-weight: 500;
177
+ }
178
+
179
+ .chronlist-item-date {
180
+ width: 15ch;
181
+ }
182
+
183
+ .chronlist-item-event {
184
+ div:not(:last-child) {
185
+ margin-bottom: 0.75rem;
186
+ }
187
+ }
188
+
189
+ .text-underline {
190
+ text-decoration: underline;
191
+ }