diff --git a/config/staging/block.custom.home_card_cta.json b/config/staging/block.custom.home_card_cta.json
new file mode 100644
index 000000000..a7ae0b365
--- /dev/null
+++ b/config/staging/block.custom.home_card_cta.json
@@ -0,0 +1,12 @@
+{
+ "_config_name": "block.custom.home_card_cta",
+ "delta": "home_card_cta",
+ "info": "Home Card - CTA",
+ "title": "",
+ "description": "",
+ "body": {
+ "value": "Explore more features",
+ "format": "full_html"
+ },
+ "default_langcode": "und"
+}
diff --git a/config/staging/block.custom.home_card_d7.json b/config/staging/block.custom.home_card_d7.json
new file mode 100644
index 000000000..5d1efec18
--- /dev/null
+++ b/config/staging/block.custom.home_card_d7.json
@@ -0,0 +1,12 @@
+{
+ "_config_name": "block.custom.home_card_d7",
+ "delta": "home_card_d7",
+ "info": "Home Card - D7",
+ "title": "Upgrade from Drupal 7 with ease",
+ "description": "",
+ "body": {
+ "value": "
\r\n Backdrop has a built-in upgrade path from Drupal 7 and will feel familiar to anyone migrating.\r\n
",
+ "format": "filtered_html"
+ },
+ "default_langcode": "und"
+}
diff --git a/config/staging/block.custom.home_card_functionality.json b/config/staging/block.custom.home_card_functionality.json
new file mode 100644
index 000000000..60c844fb9
--- /dev/null
+++ b/config/staging/block.custom.home_card_functionality.json
@@ -0,0 +1,12 @@
+{
+ "_config_name": "block.custom.home_card_functionality",
+ "delta": "home_card_functionality",
+ "info": "Home Card - Functionality",
+ "title": "Add more functionality quickly and easily",
+ "description": "",
+ "body": {
+ "value": "\r\n Browse and install add-ons right from your site, created by a large, active, open source community.\r\n
",
+ "format": "filtered_html"
+ },
+ "default_langcode": "und"
+}
diff --git a/config/staging/block.custom.home_card_manage_content.json b/config/staging/block.custom.home_card_manage_content.json
new file mode 100644
index 000000000..28b4a65cb
--- /dev/null
+++ b/config/staging/block.custom.home_card_manage_content.json
@@ -0,0 +1,12 @@
+{
+ "_config_name": "block.custom.home_card_manage_content",
+ "delta": "home_card_manage_content",
+ "info": "Home Card - Manage Content",
+ "title": "Create and manage your own content",
+ "description": "",
+ "body": {
+ "value": "\r\n No need to be a web programmer to simply create, publish, and maintain your site’s content. \r\n
",
+ "format": "filtered_html"
+ },
+ "default_langcode": "und"
+}
diff --git a/config/staging/block.custom.home_card_performance.json b/config/staging/block.custom.home_card_performance.json
new file mode 100644
index 000000000..03becd1a8
--- /dev/null
+++ b/config/staging/block.custom.home_card_performance.json
@@ -0,0 +1,12 @@
+{
+ "_config_name": "block.custom.home_card_performance",
+ "delta": "home_card_performance",
+ "info": "Home Card - Performance",
+ "title": "Serve pages fast, even on shared hosting",
+ "description": "",
+ "body": {
+ "value": "\r\n With a commitment to performance, you can expect to see your pages fly!\r\n
",
+ "format": "filtered_html"
+ },
+ "default_langcode": "und"
+}
diff --git a/config/staging/block.custom.resources.json b/config/staging/block.custom.resources.json
index bb52a83c0..9386e892d 100644
--- a/config/staging/block.custom.resources.json
+++ b/config/staging/block.custom.resources.json
@@ -4,7 +4,7 @@
"info": "Resources",
"title": "Resources",
"body": {
- "value": "",
+ "value": "",
"format": "full_html"
},
"description": "",
diff --git a/config/staging/field.bundle.taxonomy_term.organization.json b/config/staging/field.bundle.taxonomy_term.organization.json
index e76a3990b..f5382d679 100644
--- a/config/staging/field.bundle.taxonomy_term.organization.json
+++ b/config/staging/field.bundle.taxonomy_term.organization.json
@@ -15,6 +15,13 @@
"weight": "2"
}
},
- "display": []
+ "display": {
+ "description": {
+ "default": {
+ "weight": "0",
+ "visible": true
+ }
+ }
+ }
}
}
diff --git a/config/staging/layout.layout.home.json b/config/staging/layout.layout.home.json
index 1bac3bd64..370f2161b 100644
--- a/config/staging/layout.layout.home.json
+++ b/config/staging/layout.layout.home.json
@@ -8,7 +8,7 @@
"module": null,
"weight": -9,
"storage": 1,
- "layout_template": "borg_sutro",
+ "layout_template": "borg_sutro_grid",
"disabled": false,
"settings": {
"title": "",
@@ -29,17 +29,20 @@
"af96a11b-a617-457e-8e00-e6a56cf0f640"
],
"top2": [
- "231ef900-0d0f-4d58-a43f-636a2b11e958"
+ "56fbf81f-ffaa-4e4b-be06-6fe88d598872"
],
"top3": [
- "e66902ae-5fac-47b7-8500-b84bff8c4dd9"
+ "55c7ed91-2227-4fca-8828-404c2beef9d6"
],
- "content": [],
- "half1": [
+ "top4": [
+ "305bb9ac-2a47-4c96-b602-2ec6d07e9949",
+ "f6eb4543-8e49-46d2-aa60-968e3c0ab21d"
+ ],
+ "content": [
"712c691e-6273-4634-8000-d97d82d86e88"
],
+ "half1": [],
"half2": [
- "78355c13-bb46-4609-a607-7fa6192a1afd",
"f763943b-8712-44ff-ba00-e45044734b4b",
"a2d68242-5eb9-422e-8700-0fa9e7c6b9a1"
],
@@ -47,13 +50,13 @@
"65611a78-5d6e-4d50-8705-058169d6120c",
"1bcb4583-cc63-43dc-8908-08af956e6975"
],
- "below1": [
- "67447c68-4227-4401-ad00-f50c7b1a6690"
- ],
+ "below1": [],
"below2": [
"a9d84586-db47-4e43-a75d-93e603166bfb"
],
"bottom": [
+ "72cf526c-2292-46bd-a017-2395ee4c228b",
+ "67447c68-4227-4401-ad00-f50c7b1a6690",
"ab1a0052-0f34-4e5d-ba00-00f61a41f411"
],
"footer": [
@@ -208,149 +211,137 @@
}
},
"af96a11b-a617-457e-8e00-e6a56cf0f640": {
- "plugin": "layout:custom_block",
+ "plugin": "block:home_card_performance",
"data": {
"status": 1,
- "module": "layout",
- "delta": "custom_block",
+ "module": "block",
+ "delta": "home_card_performance",
"settings": {
"title_display": "default",
- "title": "What is Backdrop CMS?",
"style": "default",
- "block_settings": [],
+ "block_settings": {
+ "delta": "home_card_performance",
+ "description": "",
+ "reusable": true
+ },
"contexts": [],
- "content": "\r\n Backdrop is a free and Open Source Content Management System that helps you build modern, comprehensive websites on a reasonable budget.\r\n
\r\n\r\n A fork of the successful Drupal project, it's an excellent alternative for organizations of all sizes.\r\n
",
- "format": "filtered_html",
- "admin_label": "",
- "admin_description": ""
+ "admin_label": "Home Card - Performance",
+ "admin_description": "",
+ "title": ""
},
"uuid": "af96a11b-a617-457e-8e00-e6a56cf0f640",
"style": {
"plugin": "default",
"data": {
"settings": {
- "classes": ""
+ "classes": "dark-hero-card dark-hero-card--performance"
}
}
}
}
},
- "231ef900-0d0f-4d58-a43f-636a2b11e958": {
- "plugin": "views:showcase-block_2",
+ "56fbf81f-ffaa-4e4b-be06-6fe88d598872": {
+ "plugin": "block:home_card_functionality",
"data": {
"status": 1,
- "module": "views",
- "delta": "showcase-block_2",
+ "module": "block",
+ "delta": "home_card_functionality",
"settings": {
- "link_to_view": 0,
- "more_link": false,
- "use_pager": false,
- "pager_id": 0,
- "items_per_page": "1",
- "offset": 0,
- "path": "showcase",
- "fields_override": null,
"title_display": "default",
- "title": "",
"style": "default",
- "block_settings": [],
+ "block_settings": {
+ "delta": "home_card_functionality",
+ "description": "",
+ "reusable": true
+ },
"contexts": [],
- "allowed": [],
- "path_override": false,
- "exposed": [],
- "admin_label": "",
- "admin_description": ""
+ "admin_label": "Home Card - Functionality",
+ "admin_description": "",
+ "title": ""
},
- "uuid": "231ef900-0d0f-4d58-a43f-636a2b11e958",
+ "uuid": "56fbf81f-ffaa-4e4b-be06-6fe88d598872",
"style": {
"plugin": "default",
"data": {
"settings": {
- "classes": ""
+ "classes": "dark-hero-card dark-hero-card--functionality"
}
}
}
}
},
- "e66902ae-5fac-47b7-8500-b84bff8c4dd9": {
- "plugin": "block:backdrop_live",
+ "55c7ed91-2227-4fca-8828-404c2beef9d6": {
+ "plugin": "block:home_card_d7",
"data": {
"status": 1,
"module": "block",
- "delta": "backdrop_live",
+ "delta": "home_card_d7",
"settings": {
"title_display": "default",
- "title": "",
"style": "default",
"block_settings": {
- "delta": "backdrop_live",
- "description": "Promote Backdrop LIVE",
+ "delta": "home_card_d7",
+ "description": "",
"reusable": true
},
"contexts": [],
- "admin_label": "",
- "admin_description": ""
+ "admin_label": "Home Card - D7",
+ "admin_description": "",
+ "title": ""
},
- "uuid": "e66902ae-5fac-47b7-8500-b84bff8c4dd9",
+ "uuid": "55c7ed91-2227-4fca-8828-404c2beef9d6",
"style": {
"plugin": "default",
"data": {
"settings": {
- "classes": ""
+ "classes": "dark-hero-card dark-hero-card--d7"
}
}
}
}
},
- "712c691e-6273-4634-8000-d97d82d86e88": {
- "plugin": "system:main",
+ "305bb9ac-2a47-4c96-b602-2ec6d07e9949": {
+ "plugin": "block:home_card_manage_content",
"data": {
"status": 1,
- "module": "system",
- "delta": "main",
+ "module": "block",
+ "delta": "home_card_manage_content",
"settings": {
"title_display": "default",
- "title": "",
- "style": "dynamic",
+ "style": "default",
"block_settings": [],
- "contexts": []
+ "contexts": [],
+ "admin_label": "Home Card - Manage Content",
+ "admin_description": "",
+ "title": ""
},
- "uuid": "712c691e-6273-4634-8000-d97d82d86e88",
+ "uuid": "305bb9ac-2a47-4c96-b602-2ec6d07e9949",
"style": {
- "plugin": "dynamic",
+ "plugin": "default",
"data": {
"settings": {
- "classes": "l-content-wrapper",
- "wrapper_tag": "div",
- "title_tag": "h2",
- "title_classes": "block-title",
- "content_tag": "div",
- "content_classes": ""
+ "classes": "dark-hero-card dark-hero-card--content"
}
}
}
}
},
- "78355c13-bb46-4609-a607-7fa6192a1afd": {
- "plugin": "block:books",
+ "f6eb4543-8e49-46d2-aa60-968e3c0ab21d": {
+ "plugin": "block:home_card_cta",
"data": {
"status": 1,
"module": "block",
- "delta": "books",
+ "delta": "home_card_cta",
"settings": {
"title_display": "default",
- "title": "",
"style": "default",
- "block_settings": {
- "delta": "books",
- "description": "",
- "reusable": true
- },
+ "block_settings": [],
"contexts": [],
- "admin_label": "",
- "admin_description": ""
+ "admin_label": "Home Card - CTA",
+ "admin_description": "",
+ "title": ""
},
- "uuid": "78355c13-bb46-4609-a607-7fa6192a1afd",
+ "uuid": "f6eb4543-8e49-46d2-aa60-968e3c0ab21d",
"style": {
"plugin": "default",
"data": {
@@ -361,10 +352,39 @@
}
}
},
+ "712c691e-6273-4634-8000-d97d82d86e88": {
+ "plugin": "system:main",
+ "data": {
+ "status": 1,
+ "module": "system",
+ "delta": "main",
+ "settings": {
+ "title_display": "default",
+ "title": "",
+ "style": "dynamic",
+ "block_settings": [],
+ "contexts": []
+ },
+ "uuid": "712c691e-6273-4634-8000-d97d82d86e88",
+ "style": {
+ "plugin": "dynamic",
+ "data": {
+ "settings": {
+ "classes": "l-content-wrapper",
+ "wrapper_tag": "div",
+ "title_tag": "h2",
+ "title_classes": "block-title",
+ "content_tag": "div",
+ "content_classes": ""
+ }
+ }
+ }
+ }
+ },
"f763943b-8712-44ff-ba00-e45044734b4b": {
"plugin": "block:resources",
"data": {
- "status": 1,
+ "status": 0,
"module": "block",
"delta": "resources",
"settings": {
@@ -394,7 +414,7 @@
"a2d68242-5eb9-422e-8700-0fa9e7c6b9a1": {
"plugin": "layout:custom_block",
"data": {
- "status": 1,
+ "status": 0,
"module": "layout",
"delta": "custom_block",
"settings": {
@@ -420,7 +440,7 @@
"65611a78-5d6e-4d50-8705-058169d6120c": {
"plugin": "views:showcase-block_1",
"data": {
- "status": 1,
+ "status": 0,
"module": "views",
"delta": "showcase-block_1",
"settings": {
@@ -455,7 +475,7 @@
"1bcb4583-cc63-43dc-8908-08af956e6975": {
"plugin": "borg_project_metrics:backdrop_project_metrics",
"data": {
- "status": 1,
+ "status": 0,
"module": "borg_project_metrics",
"delta": "backdrop_project_metrics",
"settings": {
@@ -476,20 +496,20 @@
}
}
},
- "67447c68-4227-4401-ad00-f50c7b1a6690": {
- "plugin": "views:news-block",
+ "a9d84586-db47-4e43-a75d-93e603166bfb": {
+ "plugin": "views:supporters_home-block_2",
"data": {
- "status": 1,
+ "status": 0,
"module": "views",
- "delta": "news-block",
+ "delta": "supporters_home-block_2",
"settings": {
- "link_to_view": null,
+ "link_to_view": 0,
"more_link": false,
"use_pager": false,
"pager_id": 0,
- "items_per_page": "1",
+ "items_per_page": "16",
"offset": 0,
- "path": "news",
+ "path": null,
"fields_override": null,
"title_display": "default",
"title": "",
@@ -500,7 +520,7 @@
"path_override": false,
"exposed": []
},
- "uuid": "67447c68-4227-4401-ad00-f50c7b1a6690",
+ "uuid": "a9d84586-db47-4e43-a75d-93e603166bfb",
"style": {
"plugin": "default",
"data": {
@@ -511,20 +531,46 @@
}
}
},
- "a9d84586-db47-4e43-a75d-93e603166bfb": {
- "plugin": "views:supporters_home-block_2",
+ "72cf526c-2292-46bd-a017-2395ee4c228b": {
+ "plugin": "borg_blocks:audiences",
+ "data": {
+ "status": 1,
+ "module": "borg_blocks",
+ "delta": "audiences",
+ "settings": {
+ "title_display": "default",
+ "title": "",
+ "style": "default",
+ "block_settings": [],
+ "contexts": [],
+ "admin_label": "",
+ "admin_description": ""
+ },
+ "uuid": "72cf526c-2292-46bd-a017-2395ee4c228b",
+ "style": {
+ "plugin": "default",
+ "data": {
+ "settings": {
+ "classes": ""
+ }
+ }
+ }
+ }
+ },
+ "67447c68-4227-4401-ad00-f50c7b1a6690": {
+ "plugin": "views:news-block",
"data": {
"status": 1,
"module": "views",
- "delta": "supporters_home-block_2",
+ "delta": "news-block",
"settings": {
- "link_to_view": 0,
+ "link_to_view": null,
"more_link": false,
"use_pager": false,
"pager_id": 0,
- "items_per_page": "16",
+ "items_per_page": "1",
"offset": 0,
- "path": null,
+ "path": "news",
"fields_override": null,
"title_display": "default",
"title": "",
@@ -535,7 +581,7 @@
"path_override": false,
"exposed": []
},
- "uuid": "a9d84586-db47-4e43-a75d-93e603166bfb",
+ "uuid": "67447c68-4227-4401-ad00-f50c7b1a6690",
"style": {
"plugin": "default",
"data": {
@@ -549,7 +595,7 @@
"ab1a0052-0f34-4e5d-ba00-00f61a41f411": {
"plugin": "borg_blocks:upgrade",
"data": {
- "status": 1,
+ "status": 0,
"module": "borg_blocks",
"delta": "upgrade",
"settings": {
diff --git a/config/staging/menu.menu.menu-cms-audiences.json b/config/staging/menu.menu.menu-cms-audiences.json
new file mode 100644
index 000000000..83480f46f
--- /dev/null
+++ b/config/staging/menu.menu.menu-cms-audiences.json
@@ -0,0 +1,6 @@
+{
+ "_config_name": "menu.menu.menu-cms-audiences",
+ "title": "CMS Audiences",
+ "menu_name": "menu-cms-audiences",
+ "description": "Shown on homepage"
+}
diff --git a/config/staging/system.core.json b/config/staging/system.core.json
index ad563b0e7..3fd7cb52c 100644
--- a/config/staging/system.core.json
+++ b/config/staging/system.core.json
@@ -46,7 +46,8 @@
"2": "main-menu",
"3": "management",
"5": "user-menu",
- "7": "menu-footer-menu"
+ "7": "menu-footer-menu",
+ "8": "menu-cms-audiences"
},
"menu_route_handler": "layout_route_handler",
"file_default_scheme": "public",
diff --git a/config/staging/views.view.news.json b/config/staging/views.view.news.json
index bf8562c98..e9fa2d1c6 100644
--- a/config/staging/views.view.news.json
+++ b/config/staging/views.view.news.json
@@ -151,10 +151,10 @@
"separator": ", ",
"field_api_classes": 0
},
- "view_node": {
- "id": "view_node",
- "table": "views_entity_node",
- "field": "view_node",
+ "field_image": {
+ "id": "field_image",
+ "table": "field_data_field_image",
+ "field": "field_image",
"relationship": "none",
"group_type": "group",
"ui_name": "",
@@ -166,7 +166,7 @@
"make_link": 0,
"path": "",
"absolute": 0,
- "external": false,
+ "external": 0,
"replace_spaces": 0,
"path_case": "none",
"trim_whitespace": 0,
@@ -200,7 +200,24 @@
"hide_empty": 0,
"empty_zero": 0,
"hide_alter_empty": 1,
- "text": "Read more"
+ "click_sort_column": "fid",
+ "type": "image",
+ "settings": {
+ "image_style": "hero_featured",
+ "image_link": "content",
+ "image_float": "",
+ "image_load": "lazy"
+ },
+ "group_column": "",
+ "group_columns": [],
+ "group_rows": true,
+ "delta_limit": "all",
+ "delta_offset": 0,
+ "delta_reversed": false,
+ "delta_first_last": false,
+ "multi_type": "separator",
+ "separator": ", ",
+ "field_api_classes": 0
}
},
"filters": {
diff --git a/config/staging/views.view.showcase.json b/config/staging/views.view.showcase.json
index 7ef0f7285..15cd4d673 100644
--- a/config/staging/views.view.showcase.json
+++ b/config/staging/views.view.showcase.json
@@ -617,7 +617,9 @@
"fields": false,
"header": true,
"pager": false,
- "pager_options": false
+ "pager_options": false,
+ "arguments": false,
+ "relationships": false
},
"pager": {
"type": "full",
@@ -644,7 +646,27 @@
}
}
},
- "pager_options": null
+ "pager_options": null,
+ "arguments": {
+ "name": {
+ "id": "name",
+ "table": "taxonomy_term_data",
+ "field": "name",
+ "relationship": "field_organization_tid"
+ }
+ },
+ "relationships": {
+ "field_organization_tid": {
+ "id": "field_organization_tid",
+ "table": "field_data_field_organization",
+ "field": "field_organization_tid",
+ "relationship": "none",
+ "group_type": "group",
+ "ui_name": "",
+ "label": "term from field_organization",
+ "required": 0
+ }
+ }
}
},
"feed_1": {
diff --git a/www/layouts/borg_sutro_grid/borg-sutro.png b/www/layouts/borg_sutro_grid/borg-sutro.png
new file mode 100644
index 000000000..ba3aeb461
Binary files /dev/null and b/www/layouts/borg_sutro_grid/borg-sutro.png differ
diff --git a/www/layouts/borg_sutro_grid/borg_sutro_grid.css b/www/layouts/borg_sutro_grid/borg_sutro_grid.css
new file mode 100644
index 000000000..e3cb72726
--- /dev/null
+++ b/www/layouts/borg_sutro_grid/borg_sutro_grid.css
@@ -0,0 +1,11 @@
+.l-top__wrapper {
+ @media (min-width: 48em) {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 2rem;
+ }
+ @media (min-width: 75em) {
+ display: grid;
+ grid-template-columns: repeat(4, minmax(0, 1fr));
+ }
+}
diff --git a/www/layouts/borg_sutro_grid/borg_sutro_grid.info b/www/layouts/borg_sutro_grid/borg_sutro_grid.info
new file mode 100644
index 000000000..d042892d0
--- /dev/null
+++ b/www/layouts/borg_sutro_grid/borg_sutro_grid.info
@@ -0,0 +1,32 @@
+type = layout
+name = Borg Sutro Grid
+backdrop = 1.x
+
+; Specify regions for this layout.
+regions[header] = Header
+regions[top] = Top
+
+regions[top1] = Top 1
+regions[top2] = Top 2
+regions[top3] = Top 3
+regions[top4] = Top 4
+
+regions[content] = Content
+regions[half1] = Half First Top
+regions[half2] = Half Second Top
+
+regions[below] = Below
+regions[below1] = Half First Below
+regions[below2] = Half Second Below
+
+regions[bottom] = Bottom
+regions[footer] = Footer
+
+; The default region automatically receives the "Main Content" block if needed.
+default region = content
+
+; Preview
+preview = borg-sutro.png
+
+; Stylesheet
+stylesheets[all][] = borg_sutro_grid.css
\ No newline at end of file
diff --git a/www/layouts/borg_sutro_grid/layout--borg-sutro-grid.tpl.php b/www/layouts/borg_sutro_grid/layout--borg-sutro-grid.tpl.php
new file mode 100644
index 000000000..0a14e755d
--- /dev/null
+++ b/www/layouts/borg_sutro_grid/layout--borg-sutro-grid.tpl.php
@@ -0,0 +1,146 @@
+
+>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/www/modules/custom/borg_blocks/borg_blocks.module b/www/modules/custom/borg_blocks/borg_blocks.module
index 3c2509ecc..27bb58383 100644
--- a/www/modules/custom/borg_blocks/borg_blocks.module
+++ b/www/modules/custom/borg_blocks/borg_blocks.module
@@ -16,6 +16,10 @@ function borg_blocks_block_info() {
'info' => t('Tagline & Download'),
'description' => t('Tagline and download'),
);
+ $blocks['audiences'] = array(
+ 'info' => t('Backdrop for Audiences'),
+ 'description' => t('Homepage block'),
+ );
$blocks['greeting'] = array(
'info' => t('Greeting'),
'description' => t('Backdrop CMS greeting block.'),
@@ -70,6 +74,11 @@ function borg_blocks_block_view($delta = '', $settings = array(), $contexts = ar
}
break;
+ case 'audiences':
+ $block['subject'] = NULL;
+ $block['content'] = borg_blocks_audiences($settings);
+ break;
+
case 'upgrade':
$block['subject'] = t('Upgrade from Drupal 7');
@@ -95,45 +104,119 @@ function borg_blocks_block_view($delta = '', $settings = array(), $contexts = ar
function borg_blocks_tagline($settings) {
$version = check_plain($settings['version']);
- $demo_attributes = array('class' => array('button', 'demo'));
+ $button_class_name = 'borg__button';
if (module_exists('tugboat')) {
- $demo_text = t('Demo Backdrop');
- $demo_link = l($demo_text, 'demo', array('attributes' => $demo_attributes, 'html' => TRUE));
+ $demo_text = t('Demo Backdrop CMS');
+ $demo_link = l($demo_text, 'demo',
+ array(
+ 'attributes' => array(
+ 'class' => array(
+ $button_class_name,
+ $button_class_name . '--primary',
+ )
+ ),
+ 'html' => TRUE,
+ )
+ );
}
else {
$pantheon_url = 'https://dashboard.pantheon.io/sites/create?upstream_id=bf703821-4c18-45a1-88b8-3d9ec302273d';
$demo_text = t('Backdrop on Pantheon');
- $demo_link = l($demo_text, $pantheon_url, array('attributes' => $demo_attributes, 'html' => TRUE));
+ $demo_link = l($demo_text, $pantheon_url,
+ array(
+ 'attributes' => array(
+ 'class' => array(
+ $button_class_name,
+ $button_class_name . '--primary',
+ )
+ ),
+ 'html' => TRUE,
+ )
+ );
+
}
$dl_url = 'https://github.com/backdrop/backdrop/releases/download/' . $version . '/backdrop.zip';
- $dl_text = t('Download Backdrop') . ' v ' . $version . '';
- $dl_attributes = array('class' => array('button', 'download'));
- $download_link = l($dl_text, $dl_url, array('attributes' => $dl_attributes, 'html' => TRUE));
-
- //$output = 'Backdrop CMS
';
- $output = 'Backdrop CMS
';
- $output .= 'Put your content center stage.
';
- //$output .= 'Backdrop is the free and Open Source Content Management System
that helps you build modern, comprehensive websites for businesses and non-profits.
';
-
- $output .= '';
- $output .= $demo_link;
- $output .= '
';
- $output .= l(t('more ways to try'), 'try-backdrop');
- $output .= '
';
- $output .= '
';
+ $dl_text = t('Download Backdrop CMS') . ' v ' . $version . '';
+
+ $download_link = l($dl_text, $dl_url,
+ array(
+ 'attributes' => array(
+ 'class' => array(
+ $button_class_name,
+ $button_class_name . '--secondary',
+ )
+ ),
+ 'html' => TRUE,
+ )
+ );
+ $output =
+ '' .
+ ''. t('Backdrop CMS') . ' ' .
+ ''. t('Put your content center stage') . '' .
+ '
' .
+ '' .
+ t('A free and Open Source Content Management System that helps you build modern, comprehensive websites on a reasonable budget.') .
+ '
';
- $requirements = l(t('requirements'), 'requirements');
- $installing = l(t('installing'), 'installation');
- $upgrading = l(t('upgrading'), 'upgrade');
+ $output .= '';
+ $output .= '- ' . $demo_link . '
';
+ $output .= '- ' . $download_link . '
';
+ $output .= '
';
- $output .= '';
- $output .= $download_link;
- $output .= '
';
- $output .= $requirements . ' | ' . $installing . ' | ' . $upgrading;
- $output .= '
';
- $output .= '
';
+ return $output;
+}
+
+function borg_blocks_audiences($settings) {
+ $button_class_name = 'borg__button';
+
+ $output =
+ ''.
+ t('Sites Showcase') .
+ ' ' .
+ '' .
+ t('A flexible CMS for any person or organization') .
+ '
' .
+ '' .
+ t('A flexible CMS for any person or organization') .
+ '
' .
+ t('Backdrop CMS is being used across more than 3,600+ sites for both individuals and organization of all kinds.') .
+ '
' .
+ l(
+ t('See the Showcase'),
+ 'showcase',
+ array(
+ 'attributes' => array(
+ 'class' => array(
+ $button_class_name,
+ $button_class_name . '--primary',
+ )
+ ),
+ )
+ ) .
+ '
';
+
+ $output .= '';
+ $audiences_menu = menu_load_links('menu-cms-audiences');
+ foreach ($audiences_menu as $key => $audiences_menu_item) {
+ if (!empty($audiences_menu_item['hidden'])) {
+ break;
+ }
+ $mlid = $audiences_menu_item['mlid'];
+
+ $options = $audiences_menu_item['options'];
+ $options['attributes']['class'][] = 'audiences-block__organization-link';
+ $options['attributes']['class'][] = 'audiences-block__organization-link--' . $mlid;
+ $options['attributes']['class'][] = 'chonky-link-bar';
+
+ $output .=
+ '- ' .
+ l($audiences_menu_item['link_title'], $audiences_menu_item['link_path'], $options) .
+ '
';
+ }
+
+ $output .= '
';
return $output;
}
diff --git a/www/themes/backdropcms/css/borg-components.css b/www/themes/backdropcms/css/borg-components.css
index 081948f8d..087ee6042 100644
--- a/www/themes/backdropcms/css/borg-components.css
+++ b/www/themes/backdropcms/css/borg-components.css
@@ -5,102 +5,6 @@
******************************************************************************/
-/*******************************************************************************
- * Custom tagline block.
- ******************************************************************************/
-.block-borg-blocks-tagline {
- text-align: center;
- padding: 30px 0;
-}
-.block-borg-blocks-tagline h1 {
- margin: 1rem 0;
- font-size: 2.66rem;
- font-weight: normal;
- color: #000;
-}
-body.front .block-borg-blocks-tagline h2 {
- margin: 0 0 1em 0;
- line-height: 1.125em;
- font-weight: 300;
- color: #000;
-}
-.block-borg-blocks-tagline p {
- font-size: 1.66rem;
-}
-.block-borg-blocks-tagline .tagline-section {
- text-align: left;
- margin: 15px auto;
- max-width: 315px;
-}
-.block-borg-blocks-tagline a.button {
- font-size: 1.25rem; /* 20px */
- background-color: rgba(255, 255, 255, .3);
- text-transform: none;
- border: 2px solid #000;
- margin: 10px 5px 5px 0;
-}
-.block-borg-blocks-tagline a.button:hover {
- background-color: rgba(255, 255, 255, .6);
-}
-.block-borg-blocks-tagline a.button span.version {
- font-size: 1rem; /* 16px */
-}
-.block-borg-blocks-tagline .subtext {
- font-size: 1rem; /* 16px */
- margin-top: 0;
- margin-left: 25px;
-}
-.block-borg-blocks-tagline .subtext a {
- font-weight: 300;
- color: #fff;
- text-decoration: underline;
-}
-.block-borg-blocks-tagline .subtext a:hover {
- text-decoration: none;
-}
-
-@media (min-width: 25em) { /* 400px @ 16px font size */
- .block-borg-blocks-tagline .subtext {
- text-align: left;
- }
-}
-@media (min-width: 48em) { /* 768px @ 16px font size -- MD */
- .block-borg-blocks-tagline {
- padding-top: 50px;
- padding-bottom: 15px;
- }
- .block-borg-blocks-tagline h2 {
- margin: 0 0 1em 0;
- }
- .block-borg-blocks-tagline .tagline-section {
- display: inline-block;
- padding: 0 15px;
- }
- .block-borg-blocks-tagline .subtext {
- margin-top: 0;
- }
-}
-@media (min-width: 62em) { /* 992px @ 16px font size -- LG */
- .block-borg-blocks-tagline {
- padding-bottom: 30px;
- }
- .block-borg-blocks-tagline h1 {
- font-size: 4.25rem;
- margin: 1rem 0 .75rem 0;
- }
- .block-borg-blocks-tagline h2 {
- font-size: 3rem;
- }
- .block-borg-blocks-tagline a.button {
- font-size: 1.5rem; /* 24px */
- }
- .block-borg-blocks-tagline a.button span.version,
- .block-borg-blocks-tagline .subtext {
- font-size: 1.125rem; /* 18px */
- }
-}
-
-
/*******************************************************************************
* Spacer classes
*******************************************************************************/
diff --git a/www/themes/backdropcms/css/components-views.css b/www/themes/backdropcms/css/components-views.css
index c36072807..0f52ca19c 100644
--- a/www/themes/backdropcms/css/components-views.css
+++ b/www/themes/backdropcms/css/components-views.css
@@ -162,6 +162,7 @@
text-decoration: underline;
}
.block-views-news-block .feed-icon {
+ overflow: hidden; /* Prevents horizontal scrollbar */
text-align: right;
position: relative;
top: -10px;
diff --git a/www/themes/backdropcms/css/page-front.css b/www/themes/backdropcms/css/page-front.css
new file mode 100644
index 000000000..744fc5711
--- /dev/null
+++ b/www/themes/backdropcms/css/page-front.css
@@ -0,0 +1,752 @@
+/*******************************************************************************
+ * page-front.css
+ *
+ * Contains styles only needed for the front page of the site.
+ *
+ * These elements were separated from the compontents.css file because there is
+ * a lot of code in here that's not needed for most of the site, so it didn't
+ * need to be loaded all the time.
+ ******************************************************************************/
+
+body[class] {
+ --layout__max-width: 1440px;
+ --section__padding: 32px;
+ font-family: "IBM Plex Sans", "Open Sans", Helvetica, sans-serif;
+ font-optical-sizing: auto;
+ font-variation-settings: "wdth" 100;
+}
+@media (min-width: 48em) {
+ body {
+ --section__padding: 64px;
+ }
+}
+
+.layout--grid-2025 .container {
+ max-width: 100%;
+}
+
+article.node {
+ max-width: 100%;
+}
+article.node .content .field {
+ padding: 0;
+ margin: 0;
+}
+
+.section-wrapper {
+ --container__padding: 48px;
+
+ box-sizing: border-box;
+ max-width: var(--layout__max-width);
+ margin-inline: auto;
+ padding: var(--container__padding);
+}
+
+.section-wrapper[class] p {
+ max-width: 100%;
+ line-height: inherit;
+}
+
+.visual-tag,
+.block-views-news-block .block-title {
+ display: block;
+ width: min-content;
+ height: min-content;
+ margin: 0;
+ padding: 0.571em 1.143em;
+ border: 1px solid var(--color__accent--primary);
+ font-family: "IBM Plex Mono", Consolas, 'Courier New', Courier, monospace;
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 1.143;
+ white-space: nowrap;
+}
+
+/**
+ * Hero Tagline section
+ */
+.tagline-block__headline-wrapper {
+ color: #fff;
+}
+
+.block-borg-blocks-tagline {
+ position: relative;
+ z-index: 0;
+ color: #fff;
+ background: #000 url(../images/diagonal-grid.svg) center bottom;
+ background-size: 580px;
+}
+
+.block-borg-blocks-tagline p {
+ margin: 0;
+ padding: 0;
+ font: inherit;
+}
+
+/* Gradients to overlay background image */
+.block-borg-blocks-tagline:before,
+.block-borg-blocks-tagline .block-content:before,
+.block-borg-blocks-tagline .block-content:after {
+ content: '';
+ position: absolute;
+ z-index: -1;
+ display: block;
+}
+
+.block-borg-blocks-tagline:before {
+ top: 0;
+ right:0;
+ bottom: 0;
+ left: 0;
+ background: linear-gradient(to bottom, #0005 75%, #000);
+}
+
+.block-borg-blocks-tagline .block-content:before {
+ top: 0;
+ left: 0;
+ bottom: 0;
+ width: 144px;
+ background: linear-gradient(to left, #0000, #000c);
+}
+
+.block-borg-blocks-tagline .block-content:after {
+ top: 0;
+ right: 0;
+ bottom: 0;
+ width: 144px;
+ background: linear-gradient(to right, #0000, #000c);
+}
+
+.block-borg-blocks-tagline .block-content {
+ display: flex;
+ flex-direction: column;
+ gap: 2rem;
+ margin: 0 auto;
+ padding: 7.5rem 2rem;
+ /* 28px at desktop in mockup */
+ font-size: clamp(18px, 2.5vw ,1.75rem);
+ text-align: center;
+ /* This media query should match the width on .tagline-block__headline-wrapper */
+ @media (min-width: 30em) {
+ width: min-content;
+ }
+}
+
+.tagline-block__visual-tag {
+ margin: 0 auto;
+ border-color: 1px solid #01FDA6;
+ background: #0008;
+}
+
+.tagline-block__headline-wrapper[class] {
+ display: flex;
+ flex-direction: column;
+ gap: 2rem;
+ margin: 0 auto;
+ /* 100px at desktop in mock */
+ font-size: clamp(1.5em, 8vw, 3.57em);
+ line-height: 0.96;
+ font-weight: 600;
+ color: #fff;
+ @media (min-width: 30em) {
+ width: 10em;
+ }
+ @media (min-width: 48em) {
+ /* 100px at desktop in mock */
+ font-size: 3.57em;
+ }
+}
+
+.block-borg-blocks-tagline .block-content p {
+ font: inherit;
+}
+
+.tagline-block__ctas {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.75rem;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ justify-content: center;
+}
+
+/**
+ * Borg Buttons
+ */
+.borg__button {
+ display: inline-block;
+ font-size: 1.125rem;
+ padding: 0.6em 1.111em;
+ color: #fff;
+ background: #000;
+}
+
+.borg__button:hover,
+.borg__button:focus {
+ color: #fff;
+ background: #222;
+}
+
+.borg__button--primary {
+ background: var(--color__accent--primary);
+}
+
+.borg__button--primary:hover,
+.borg__button--primary:focus {
+ background: var(--color__accent--primary--dark);
+}
+
+
+/**
+ * Dark Hero Cards
+ */
+.l-top-cards {
+ background: #000;
+}
+
+.l-top__wrapper {
+ --dark-hero-card__max-width: 18em;
+ display: flex;
+ flex-direction: column;
+ gap: 2rem;
+ max-width: var(--layout__max-width);
+ margin-inline: auto;
+ padding: 0 var(--section__padding);
+ color: #fff;
+}
+@media (min-width: 48em) {
+ .l-top__wrapper {
+ display: grid;
+ justify-content: center;
+ grid-template-columns: repeat(2, minmax(0, var(--dark-hero-card__max-width)));
+ /* 1.78em is measured height of the CTA */
+ padding: 0 var(--section__padding) calc(var(--section__padding) + 1.78em + 24px);
+ }
+}
+@media (min-width: 75em) {
+ .l-top__wrapper {
+ grid-template-columns: repeat(4, minmax(0, var(--dark-hero-card__max-width)));
+ }
+}
+
+.l-top__item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+}
+
+.dark-hero-card {
+ --dark-hero-card__border-color: #303030;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+ max-width: var(--dark-hero-card__max-width);
+ height: 100%;
+ margin-inline: auto;
+ padding: 32px;
+ border: 1px solid var(--dark-hero-card__border-color);
+ font-size: 1rem;
+ line-height: 1.5;
+}
+
+.dark-hero-card:before {
+ content: '';
+ display: block;
+ width: 40px;
+ height: 40px;
+ margin: 0 auto;
+ background: var(--color__accent--primary--light);
+ mask-repeat: no-repeat;
+ mask-size: contain;
+}
+
+.dark-hero-card:after {
+ content: '';
+ position: absolute;
+ bottom: -1px;
+ right: -1px;
+ width: 0;
+ height: 0;
+ border: 12px solid #000;
+ border-top-color: var(--dark-hero-card__border-color);
+ border-left-color: var(--dark-hero-card__border-color);
+}
+
+.dark-hero-card--performance:before {
+ mask-image: url(../images/rocket-launch.svg);
+}
+
+.dark-hero-card--functionality:before {
+ mask-image: url(../images/puzzle-piece.svg);
+}
+
+.dark-hero-card--d7:before {
+ mask-image: url(../images/drop.svg);
+}
+
+.dark-hero-card--content:before {
+ mask-image: url(../images/browser.svg);
+}
+
+.dark-hero-card h2 {
+ font-size: 20px;
+ line-height: 1.2;
+ font-weight: 700;
+ margin: 0;
+ padding: 0;
+}
+
+.dark-hero-card p {
+ margin: 0;
+ font: inherit;
+}
+
+.dark-hero-card p + p {
+ margin-top: 0.75em;
+}
+
+.block-block-home-card-cta {
+ text-align: right;
+}
+
+.block-block-home-card-cta {
+ margin-top: 1rem;
+ margin-bottom: 0.5rem;
+ @media (min-width: 48em) {
+ position: absolute;
+ top: calc(100% + 24px);
+ right: 0;
+ }
+}
+
+.top-cards__cta {
+ display: inline-block;
+ padding: 0.25em 0;
+ font-weight: 600;
+ color: inherit;
+ box-shadow: inset 0 -1px 0 0 var(--color__accent--primary--light);
+}
+
+.top-cards__cta:hover,
+.top-cards__cta:focus {
+ color: inherit;
+ box-shadow: inset 0 -2px 0 0 var(--color__accent--primary--light);
+}
+
+/**
+ * Chonky Link bar
+ */
+.chonky-link-bar__outer-wrapper {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ font-size: 1.5rem;
+}
+
+.chonky-link-bar__item + .chonky-link-bar__item {
+ border-top: 1px solid #EAE1FF;
+}
+
+.chonky-link-bar {
+ display: block;
+ padding: 1.4em 1em;
+ color: inherit;
+ font-weight: 600;
+}
+
+.chonky-link-bar:hover,
+.chonky-link-bar:focus {
+ background: #F9F8FB;
+ box-shadow: inset 0 -4px 0 0 var(--color__accent--primary);
+ color: inherit;
+}
+
+/**
+ * Audiences Section
+ */
+.block-borg-blocks-audiences {
+ padding: 60px var(--section__padding) 60px;
+}
+@media (min-width: 64em) {
+ .block-borg-blocks-audiences {
+ padding: 120px var(--section__padding) 120px;
+ }
+}
+
+.block-borg-blocks-audiences .block-content {
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem 2rem;
+ max-width: var(--layout__max-width);
+ margin-inline: auto;
+}
+@media (min-width: 64em) {
+ .block-borg-blocks-audiences .block-content {
+ display: grid;
+ justify-content: center;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ grid-template-rows: min-content min-content 1fr;
+ grid-auto-rows: min-content;
+ padding: 0 0 calc(var(--section__padding) + 1.78em + 24px);
+ }
+}
+/* @media (min-width: 75em) {
+ .block-borg-blocks-audiences {
+ }
+} */
+
+.audiences-block__title,
+.audiences-block__body {
+ grid-column: 1;
+}
+@media (min-width: 64em) {
+ .audiences-block__title,
+ .audiences-block__body {
+ padding-right: 3rem;
+ }
+}
+@media (min-width: 75em) {
+ .audiences-block__title,
+ .audiences-block__body {
+ padding-right: 6rem;
+ }
+}
+
+.audiences-block__title {
+ margin: 0;
+}
+
+.audiences-block__body {
+ font-size: 1.25rem;
+}
+
+.audiences-block__body .borg__button {
+ margin-top: 40px;
+}
+
+.audiences-block__organizations {
+ grid-row: 1 / span 3;
+ grid-column: 2;
+ padding-top: 1.5em; /* On top of 1.5em gap */
+}
+@media (min-width: 64em) {
+ .audiences-block__organizations {
+ padding-top: 0;
+ }
+}
+
+.audiences-block__organization-item {
+ margin: 0;
+ padding: 0;
+}
+
+.audiences-block__organization-link {
+ display: flex;
+ align-items: center;
+ line-height: 1.6;
+}
+
+.audiences-block__organization-link:before {
+ content: '';
+ display: inline-block;
+ width: 1.6em;
+ height: 1.6em;
+ margin-right: 0.5em;
+ background-color: var(--color__accent--primary);
+ mask-size: contain;
+ mask-repeat: no-repeat;
+}
+
+.audiences-block__organization-link--1355:before {
+ mask-image: url(../images/community.svg);
+}
+
+.audiences-block__organization-link--1356:before {
+ mask-image: url(../images/graduation-cap.svg);
+}
+
+.audiences-block__organization-link--1357:before {
+ mask-image: url(../images/book.svg);
+}
+
+.audiences-block__organization-link--1358:before {
+ mask-image: url(../images/business.svg);
+}
+
+.audiences-block__organization-link--1359:before {
+ mask-image: url(../images/newspaper.svg);
+}
+
+/**
+ * News
+ */
+.block-views-news-block {
+ --container__padding: 48px;
+
+ padding-inline: var(--section__padding);
+}
+
+.block-views-news-block .section-wrapper {
+ padding-top: 0;
+ max-width: 540px;
+ border: 1px solid #EAE1FF;
+ background: #F9F8FB;
+ padding-inline: calc(var(--section__padding) * 0.75);
+}
+@media (min-width: 48em) {
+ .block-views-news-block .section-wrapper {
+ padding: var(--container__padding);
+ padding-right: 0;
+ max-width: var(--layout__max-width);
+ }
+}
+
+.block-views-news-block .section-wrapper {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+}
+
+@media (min-width: 48em) {
+ .block-views-news-block .section-wrapper {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 1rem 2rem;
+ grid-auto-rows: repeat(2, min-content);
+ align-items: start;
+ }
+}
+
+/* Has .visual-tag styles */
+.block-views-news-block .block-title {
+ margin-top: 1rem;
+ background: #fff;
+}
+@media (min-width: 48em) {
+ .block-views-news-block .block-title {
+ margin-top: 0;
+ grid-row: 1;
+ grid-column: 1;
+ }
+}
+
+@media (min-width: 48em) {
+ .block-views-news-block .latest-news__title,
+ .block-views-news-block .views-row .latest-news__body {
+ margin-right: 2rem;
+ }
+}
+
+.block-views-news-block .latest-news__title {
+ grid-column: 1 / span 2;
+ grid-row: 2;
+ margin-block: 0;
+ font-size: 32px;
+ line-height: 1.2;
+ font-weight: 700;
+ color: #000;
+}
+@media (min-width: 64em) {
+ .block-views-news-block .latest-news__title {
+ font-size: 40px;
+ }
+}
+
+
+.block-views-news-block .latest-news__title a {
+ color: inherit;
+ text-decoration: none;
+}
+
+.block-views-news-block .latest-news__title a:hover,
+.block-views-news-block .latest-news__title a:focus {
+ box-shadow: inset 0 -2px 0 0 var(--color__accent--primary);
+}
+
+.block-views-news-block .latest-news__body {
+ grid-column: 1 / span 2;
+ grid-row: 3;
+}
+
+.block-views-news-block .latest-news__body,
+.block-views-news-block .latest-news__body p {
+ font-size: 16px;
+ line-height: 1.6;
+}
+@media (min-width: 64em) {
+ .block-views-news-block .latest-news__body,
+ .block-views-news-block .latest-news__body p {
+ font-size: 20px;
+ }
+}
+
+.block-views-news-block .latest-news__body .field-content :first-child {
+ margin-top: 0;
+}
+
+.block-views-news-block .latest-news__body .field-content :last-child {
+ margin-bottom: 0;
+}
+
+.block-views-news-block .latest-news__image {
+ order: -1;
+ position: relative;
+ left: calc(var(--container__padding) * -0.5);
+ width: calc(100% + var(--container__padding));
+ height: calc(100% + var(--container__padding));
+}
+@media (min-width: 48em) {
+ .block-views-news-block .latest-news__image {
+ grid-column: 3;
+ grid-row: 1 / span 3;
+ top: calc(var(--container__padding) * -1);
+ left: auto;
+ width: 100%;
+ height: calc(100% + var(--container__padding) * 2);
+ }
+}
+
+.block-views-news-block .latest-news__image a,
+.block-views-news-block .latest-news__image img {
+ display: block;
+}
+
+@media (min-width: 48em) {
+ .block-views-news-block .latest-news__image img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
+}
+
+/**
+ * Backdrop Resources
+ */
+.bd-resources__outer-wrapper {
+ background: #F9F8FB;
+}
+.bd-resources {
+ font-size: 16px;
+ line-height: 1.6;
+}
+@media (min-width: 48em) {
+ .bd-resources {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 2rem;
+ padding-block: 120px;
+ font-size: 18px;
+ }
+}
+@media (min-width: 64em) {
+ .bd-resources {
+ font-size: 20px;
+ }
+}
+
+.bd-resources__body {
+ display: flex;
+ align-items: start;
+ flex-direction: column;
+ gap: 24px;
+}
+@media (min-width: 48em) {
+ .bd-resources__body {
+ padding-right: 32px;
+ }
+}
+@media (min-width: 64em) {
+ .bd-resources__body {
+ padding-right: 96px;
+ }
+}
+
+.bd-resources__title {
+ margin: 0;
+ padding: 0;
+ font-size: 2em;
+ line-height: 1.2;
+ font-weight: 700;
+}
+
+.bd-resources__body ul {
+ padding: 0;
+ list-style: none;
+}
+
+.bd-resources__body li {
+ position: relative;
+ padding-left: 1.8em;
+ margin: 0 0 0.6em;
+}
+
+.bd-resources__body li:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: block;
+ width: 1.2em;
+ height: 1.2em;
+ background-color: var(--color__accent--primary);
+ mask-image: url(../images/checkmark.svg);
+ mask-size: cover;
+ mask-repeat: no-repeat;
+}
+
+.bd-resources__links {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+.bd-resources__links li {
+ margin: 0;
+ padding: 0;
+ line-height: inherit;
+}
+
+.bd-resources__links[class] a {
+ display: block;
+ padding: 1.6em 0 1.2em;
+ box-shadow: inset 0 -2px 0 #EAE1FF;
+ color: inherit;
+ text-decoration: none;
+}
+
+.bd-resources__links[class] a:hover,
+.bd-resources__links[class] a:focus {
+ box-shadow: inset 0 -4px 0 var(--color__accent--primary);
+}
+
+.bd-resources__resource-name {
+ font-size: 1.2em;
+ font-weight: 700;
+ color: var(--color__accent--primary);
+}
+.bd-resources__links[class] a:hover .bd-resources__resource-name,
+.bd-resources__links[class] a:focus .bd-resources__resource-name {
+ color: inherit;
+}
+
+.bd-resources__resource-name:after {
+ content: '';
+ display: inline-block;
+ width: 0.75em;
+ height: 0.75em;
+ margin-left: 0.333em;
+ background-color: var(--color__accent--primary);
+ mask-image: url(../images/arrow-right.svg);
+ mask-size: contain;
+ mask-repeat: no-repeat;
+}
+
+.bd-resources__links[class] a:hover .bd-resources__resource-name:after,
+.bd-resources__links[class] a:focus .bd-resources__resource-name:after {
+ margin-left: 0.4em;
+}
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/arrow-right.svg b/www/themes/backdropcms/images/arrow-right.svg
new file mode 100644
index 000000000..52a1077c8
--- /dev/null
+++ b/www/themes/backdropcms/images/arrow-right.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/book.svg b/www/themes/backdropcms/images/book.svg
new file mode 100644
index 000000000..6c21eba94
--- /dev/null
+++ b/www/themes/backdropcms/images/book.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/browser.svg b/www/themes/backdropcms/images/browser.svg
new file mode 100644
index 000000000..5ed484ee2
--- /dev/null
+++ b/www/themes/backdropcms/images/browser.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/business.svg b/www/themes/backdropcms/images/business.svg
new file mode 100644
index 000000000..3abf96451
--- /dev/null
+++ b/www/themes/backdropcms/images/business.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/checkmark.svg b/www/themes/backdropcms/images/checkmark.svg
new file mode 100644
index 000000000..f3b497ad9
--- /dev/null
+++ b/www/themes/backdropcms/images/checkmark.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/community.svg b/www/themes/backdropcms/images/community.svg
new file mode 100644
index 000000000..da6c92a5c
--- /dev/null
+++ b/www/themes/backdropcms/images/community.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/diagonal-grid.svg b/www/themes/backdropcms/images/diagonal-grid.svg
new file mode 100755
index 000000000..a933e84bc
--- /dev/null
+++ b/www/themes/backdropcms/images/diagonal-grid.svg
@@ -0,0 +1,85 @@
+
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/drop.svg b/www/themes/backdropcms/images/drop.svg
new file mode 100644
index 000000000..0d20b4dcd
--- /dev/null
+++ b/www/themes/backdropcms/images/drop.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/graduation-cap.svg b/www/themes/backdropcms/images/graduation-cap.svg
new file mode 100644
index 000000000..ce0ea15ec
--- /dev/null
+++ b/www/themes/backdropcms/images/graduation-cap.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/newspaper.svg b/www/themes/backdropcms/images/newspaper.svg
new file mode 100644
index 000000000..f3a98f71d
--- /dev/null
+++ b/www/themes/backdropcms/images/newspaper.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/puzzle-piece.svg b/www/themes/backdropcms/images/puzzle-piece.svg
new file mode 100644
index 000000000..c763a6376
--- /dev/null
+++ b/www/themes/backdropcms/images/puzzle-piece.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/images/rocket-launch.svg b/www/themes/backdropcms/images/rocket-launch.svg
new file mode 100644
index 000000000..0e9b18492
--- /dev/null
+++ b/www/themes/backdropcms/images/rocket-launch.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/www/themes/backdropcms/template.php b/www/themes/backdropcms/template.php
index 50bb2a5aa..615820201 100644
--- a/www/themes/backdropcms/template.php
+++ b/www/themes/backdropcms/template.php
@@ -18,6 +18,8 @@
* @see page.tpl.php
*/
function backdropcms_preprocess_page(&$variables) {
+ $path = backdrop_get_path('theme', 'backdropcms');
+
$variables['fp'] = '';
$user_pages = array('login', 'register', 'password');
if (arg(0) == 'user') {
@@ -42,6 +44,11 @@ function backdropcms_preprocess_page(&$variables) {
';
}
}
+
+ if (backdrop_is_front_page()) {
+ backdrop_add_css($path . '/css/page-front.css');
+ }
+
}
/**
@@ -58,6 +65,28 @@ function backdropcms_preprocess_node(&$variables) {
}
}
+/**
+ * Implements template_preprocess_block().
+ */
+function backdropcms_preprocess_block(&$variables) {
+ if ($variables['title'] == 'Latest News') {
+ // Massively simplifying the markup of this block so CSS layout is easier to accomplish
+ // Getting the single result from the view, and rendering it without views markup bloat
+ $data = views_get_view_result('news', 'block');
+
+ $content =
+ '' . $data[0]->node_title . '
' .
+ '' .
+ $data[0]->field_body[0]['rendered']['#markup'] .
+ '
' .
+ '' .
+ render($data[0]->field_field_image[0]['rendered']) .
+ '
';
+
+ $variables['content'] = $content;
+ }
+}
+
/******************************************************************************
* Theme function overrides
******************************************************************************/
diff --git a/www/themes/backdropcms/templates/block--views--news-block.tpl.php b/www/themes/backdropcms/templates/block--views--news-block.tpl.php
new file mode 100644
index 000000000..65afe243f
--- /dev/null
+++ b/www/themes/backdropcms/templates/block--views--news-block.tpl.php
@@ -0,0 +1,24 @@
+
+
diff --git a/www/themes/backdropcms/templates/page.tpl.php b/www/themes/backdropcms/templates/page.tpl.php
index 3737c470d..50cc34538 100644
--- a/www/themes/backdropcms/templates/page.tpl.php
+++ b/www/themes/backdropcms/templates/page.tpl.php
@@ -11,6 +11,8 @@
+
+
diff --git a/www/themes/borg/css/base.css b/www/themes/borg/css/base.css
index a2223b067..7bfd5648a 100644
--- a/www/themes/borg/css/base.css
+++ b/www/themes/borg/css/base.css
@@ -14,6 +14,13 @@ body {
min-width: 320px;
}
+body {
+ --color__accent--primary: #4D00FF;
+ --color__accent--primary--dark: #3909a9;
+ --color__accent--primary--light: #B79CF6;
+ --color__accent--secondary: #01FDA6;
+}
+
@media (max-width: 47.9375em) { /* 767px @ 16px font size -- MD */
/* Larger font for smaller screens */
body {
diff --git a/www/themes/borg/css/menu-dropdown.theme.css b/www/themes/borg/css/menu-dropdown.theme.css
index 95e895fbe..b4d68025b 100644
--- a/www/themes/borg/css/menu-dropdown.theme.css
+++ b/www/themes/borg/css/menu-dropdown.theme.css
@@ -61,6 +61,22 @@
text-align: center;
text-shadow: none;
}
+@media (min-width: 48em) {
+ .menu-dropdown a span.sub-arrow {
+ top: 50%;
+ right: 10px;
+ width: 0.5em;
+ height: 0.5em;
+ margin-top: 0;
+ border: 1px solid transparent;
+ border-right-color: var(--color__accent--primary--light);
+ border-bottom-color: var(--color__accent--primary--light);
+ transform: translate(0, -50%) rotate(45deg);
+ background: transparent;
+ border-radius: 0;
+ }
+}
+
.menu-dropdown span.sub-arrow:before {
display: block;
content: '+';
@@ -144,22 +160,6 @@
.js .menu-dropdown li.has-children > a {
padding-right: 28px;
}
- .menu-dropdown a span.sub-arrow {
- top: 50%;
- margin-top: -2px;
- right: 10px;
- width: 0;
- height: 0;
- border-width: 5px;
- border-style: solid dashed dashed dashed;
- border-color: #fff transparent transparent transparent;
- background: transparent;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- -ms-border-radius: 0;
- -o-border-radius: 0;
- border-radius: 0;
- }
.menu-dropdown a.highlighted span.sub-arrow:before {
display: none;
}
diff --git a/www/themes/borg/template.php b/www/themes/borg/template.php
index d7469f81e..b9d2e2444 100644
--- a/www/themes/borg/template.php
+++ b/www/themes/borg/template.php
@@ -87,10 +87,23 @@ function borg_preprocess_page(&$variables) {
$arg0 = check_plain(arg(0));
$arg1 = check_plain(arg(1));
$arg2 = check_plain(arg(2));
- // Add the Source Sans Pro font.
- backdrop_add_css('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700', array('type' => 'external'));
- // Add FontAwesome.
- backdrop_add_js('https://use.fontawesome.com/baf3c35582.js', array('type' => 'external'));
+
+ // Load new font if we're on the homepage of the marketing site
+ if ($variables['is_front'] && strpos(path_to_theme(), 'backdropcms')) {
+ // Add the IBM Plex variable fonts
+ backdrop_add_css(
+ 'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap',
+ array('type' => 'external')
+ );
+ //
+ }
+ else {
+ // Add the Source Sans Pro font.
+ backdrop_add_css('https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700', array('type' => 'external'));
+ // Add FontAwesome.
+ backdrop_add_js('https://use.fontawesome.com/baf3c35582.js', array('type' => 'external'));
+ }
+
// Add a body class based on the admin bar.
if (module_exists('admin_bar') && user_access('admin_bar')) {