diff --git a/composer.json b/composer.json
index 7af1d7e2e..4891860fd 100644
--- a/composer.json
+++ b/composer.json
@@ -11,17 +11,11 @@
"repositories": [
{
"type": "composer",
- "url": "https://packages.drupal.org/8",
- "exclude": [
- "drupal/phpexcel"
- ]
+ "url": "https://packages.drupal.org/8"
},
{
"type": "composer",
- "url": "https://asset-packagist.org",
- "exclude": [
- "drupal/phpexcel"
- ]
+ "url": "https://asset-packagist.org"
},
{
"type": "package",
@@ -35,10 +29,6 @@
}
}
},
- {
- "type": "git",
- "url": "https://git.drupalcode.org/issue/phpexcel-3148435.git"
- },
{
"type": "package",
"package": {
@@ -68,14 +58,15 @@
"require": {
"composer/installers": "^1.9",
"cweagans/composer-patches": "^1.7",
- "drupal/admin_denied": "^1.1",
+ "drupal/admin_denied": "^2.0.0",
"drupal/admin_toolbar": "^3.0",
- "drupal/allowed_formats": "^1.3",
+ "drupal/allowed_formats": "^2.0",
"drupal/auto_entitylabel": "^3.0@beta",
"drupal/autologout": "^1.4",
+ "drupal/bert": "^2.0",
"drupal/big_pipe_sessionless": "^2.0",
- "drupal/bigint": "^1.1",
- "drupal/cer": "^4.0@alpha",
+ "drupal/bigint": "^2.0",
+ "drupal/cer": "^5.0.0",
"drupal/coder": "^8.3",
"drupal/config_default_image": "^2",
"drupal/config_ignore": "^2.3",
@@ -85,9 +76,9 @@
"drupal/core-project-message": "^9.1",
"drupal/core-recommended": "^9.1",
"drupal/ctools": "^3.7",
- "drupal/editor_advanced_link": "^1.8",
+ "drupal/editor_advanced_link": "^2.2",
"drupal/field_group": "^3.1",
- "drupal/fpa": "^3.0",
+ "drupal/fpa": "^4.0.0",
"drupal/gin": "^3.0-beta5",
"drupal/gin_lb": "^1.0@beta",
"drupal/gin_toolbar": "^1.0",
@@ -98,32 +89,33 @@
"drupal/layout_builder_ipe": "^1.0.x-dev",
"drupal/layout_builder_lock": "^1.1",
"drupal/layout_builder_modal": "^1.1",
- "drupal/layout_builder_operation_link": "^1.0",
+ "drupal/layout_builder_operation_link": "^2.1",
"drupal/layout_builder_restrictions": "^2.8",
- "drupal/maintenance200": "^1.1",
+ "drupal/maintenance200": "^2.1",
"drupal/memcache": "^2.4",
"drupal/menu_item_extras": "^2.16",
"drupal/metatag": "^1.16",
"drupal/migrate_plus": "^6.0",
"drupal/migrate_tools": "^6.0",
- "drupal/multiple_fields_remove_button": "^1.0@alpha",
+ "drupal/multiple_fields_remove_button": "^2.2",
"drupal/page_manager": "^4.0@beta",
"drupal/pathauto": "^1.8",
- "drupal/phpexcel": "dev-3148435-automated-drupal-9",
+ "drupal/phpexcel": "^4.0",
"drupal/publishcontent": "^1.6",
"drupal/queue_ui": "^3.1",
"drupal/rabbit_hole": "^1.0@beta",
"drupal/redirect": "^1.6",
"drupal/redis": "^1.5",
"drupal/seckit": "^2.0",
- "drupal/smugmug_api": "1.x-dev",
- "drupal/social_auth_hid": "^2.6",
+ "drupal/smugmug_api": "^2.0",
+ "drupal/social_auth_hid": "^3.2",
"drupal/stage_file_proxy": "^2.0",
"drupal/tippy": "^1.0",
+ "drupal/upgrade_status": "^4.0",
"drupal/username_enumeration_prevention": "^1.3",
"drupal/view_unpublished": "^1.0",
"drupal/views_autocomplete_filters": "^1.3",
- "drupal/viewsreference": "^1.7",
+ "drupal/viewsreference": "^2.0",
"drupal/warmer": "^2.0",
"drupal/webp": "^1.0-beta7",
"drush/drush": "^11",
@@ -137,7 +129,7 @@
"npm-asset/swiper": "^8.1",
"oomphinc/composer-installers-extender": "^2.0",
"phpoffice/phpspreadsheet": "^1.19",
- "unocha/common_design": "^7.4",
+ "unocha/common_design": "^9",
"unocha/d3-sparkline": "^2.1",
"unocha/ocha_snap": "^8.3",
"wieni/wmbert": "^1.11"
@@ -145,7 +137,7 @@
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.1",
"drupal/core-dev": "^9.3",
- "drupal/devel": "^4.1",
+ "drupal/devel": "^5.0",
"drupal/xhprof": "^1.0@beta",
"drupal/yaml_content": "^1.0@alpha",
"phpcompatibility/php-compatibility": "^9.3",
diff --git a/composer.lock b/composer.lock
index f3290e90c..8d92c1efc 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "611a0fa86e2d545d45eef0ba8820c129",
+ "content-hash": "3df88c61422aa1adf334ee3d0b012f1e",
"packages": [
{
"name": "alchemy/zippy",
@@ -1633,26 +1633,26 @@
},
{
"name": "drupal/admin_denied",
- "version": "1.3.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/admin_denied.git",
- "reference": "8.x-1.3"
+ "reference": "2.0.0"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/admin_denied-8.x-1.3.zip",
- "reference": "8.x-1.3",
- "shasum": "133400906d43a55e8f14ac428b106271e9f19b24"
+ "url": "https://ftp.drupal.org/files/projects/admin_denied-2.0.0.zip",
+ "reference": "2.0.0",
+ "shasum": "6a66e40a4249351a89afba529910e1e5e2f667aa"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.1 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.3",
- "datestamp": "1667786705",
+ "version": "2.0.0",
+ "datestamp": "1674008376",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -1758,26 +1758,26 @@
},
{
"name": "drupal/allowed_formats",
- "version": "1.5.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/allowed_formats.git",
- "reference": "8.x-1.5"
+ "reference": "2.0.0"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/allowed_formats-8.x-1.5.zip",
- "reference": "8.x-1.5",
- "shasum": "dbf61bee7aec87beaa2cf307c1d0d9d5b896328c"
+ "url": "https://ftp.drupal.org/files/projects/allowed_formats-2.0.0.zip",
+ "reference": "2.0.0",
+ "shasum": "ac6c6d398f303608ced7e9cd9d4556a728dc41f0"
},
"require": {
- "drupal/core": "^8.8 || ^9"
+ "drupal/core": "^9.2 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.5",
- "datestamp": "1648060331",
+ "version": "2.0.0",
+ "datestamp": "1669170410",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -1981,6 +1981,54 @@
"source": "https://git.drupalcode.org/project/autologout"
}
},
+ {
+ "name": "drupal/bert",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupalcode.org/project/bert.git",
+ "reference": "2.0.1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/bert-2.0.1.zip",
+ "reference": "2.0.1",
+ "shasum": "e6a7eb31af93a9000377cbbb483267427a717314"
+ },
+ "require": {
+ "drupal/core": "^8.6 || ^9.0 || ^10",
+ "php": ">=7.1.0"
+ },
+ "require-dev": {
+ "composer-runtime-api": "^2.0"
+ },
+ "type": "drupal-module",
+ "extra": {
+ "drupal": {
+ "version": "2.0.1",
+ "datestamp": "1671802157",
+ "security-coverage": {
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "DieterHolvoet",
+ "homepage": "https://www.drupal.org/user/3567222"
+ }
+ ],
+ "description": "A user friendly and customizable entity reference list field widget.",
+ "homepage": "https://www.drupal.org/project/bert",
+ "support": {
+ "source": "https://git.drupalcode.org/project/bert"
+ }
+ },
{
"name": "drupal/big_pipe_sessionless",
"version": "2.1.0",
@@ -2027,26 +2075,26 @@
},
{
"name": "drupal/bigint",
- "version": "1.1.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/bigint.git",
- "reference": "8.x-1.1"
+ "reference": "2.0.0"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/bigint-8.x-1.1.zip",
- "reference": "8.x-1.1",
- "shasum": "7f688cbab5ce8e3cf5270c61d762106dc584d2d6"
+ "url": "https://ftp.drupal.org/files/projects/bigint-2.0.0.zip",
+ "reference": "2.0.0",
+ "shasum": "f00cd070ee648f723244d6776378161d30b4642e"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.1",
- "datestamp": "1598544615",
+ "version": "2.0.0",
+ "datestamp": "1691746300",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -2079,26 +2127,26 @@
},
{
"name": "drupal/cer",
- "version": "4.0.0-alpha3",
+ "version": "5.0.0-beta3",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/cer.git",
- "reference": "8.x-4.0-alpha3"
+ "reference": "5.0.0-beta3"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/cer-8.x-4.0-alpha3.zip",
- "reference": "8.x-4.0-alpha3",
- "shasum": "3c508e842a2c17235e4c9909ab64ef1aeb9d3ebe"
+ "url": "https://ftp.drupal.org/files/projects/cer-5.0.0-beta3.zip",
+ "reference": "5.0.0-beta3",
+ "shasum": "732e95528a8aa0771f38785a5db49861612da150"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.5 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-4.0-alpha3",
- "datestamp": "1620240213",
+ "version": "5.0.0-beta3",
+ "datestamp": "1679926745",
"security-coverage": {
"status": "not-covered",
"message": "Project has not opted into security advisory coverage!"
@@ -3185,26 +3233,30 @@
},
{
"name": "drupal/editor_advanced_link",
- "version": "1.9.0",
+ "version": "2.2.4",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/editor_advanced_link.git",
- "reference": "8.x-1.9"
+ "reference": "2.2.4"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/editor_advanced_link-8.x-1.9.zip",
- "reference": "8.x-1.9",
- "shasum": "ee40ec8c8c7b14c69de3de6a5275959dc32455c4"
+ "url": "https://ftp.drupal.org/files/projects/editor_advanced_link-2.2.4.zip",
+ "reference": "2.2.4",
+ "shasum": "cd0db397827f2e21ec8a68211e8a153463a6c89b"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.2 || ^10"
+ },
+ "require-dev": {
+ "drupal/ckeditor": "*",
+ "phpro/grumphp": "^2.0"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.9",
- "datestamp": "1624032562",
+ "version": "2.2.4",
+ "datestamp": "1688040059",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -3221,7 +3273,7 @@
"homepage": "https://www.drupal.org/user/931394"
}
],
- "description": "Add title, target etc. attributes to Text Editor's link dialog if the text format allows them.",
+ "description": "Editor Advanced link",
"homepage": "https://www.drupal.org/project/editor_advanced_link",
"support": {
"source": "https://git.drupalcode.org/project/editor_advanced_link"
@@ -3344,26 +3396,26 @@
},
{
"name": "drupal/fpa",
- "version": "3.0.3",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/fpa.git",
- "reference": "3.0.3"
+ "reference": "4.0.0"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/fpa-3.0.3.zip",
- "reference": "3.0.3",
- "shasum": "f6a31f2a375fc640c89d08db8a8e43fc8e798f50"
+ "url": "https://ftp.drupal.org/files/projects/fpa-4.0.0.zip",
+ "reference": "4.0.0",
+ "shasum": "889bc7a4c65fa435da61c6583e1aa4d29b1802e1"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.4 || ^10.0"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "3.0.3",
- "datestamp": "1672325784",
+ "version": "4.0.0",
+ "datestamp": "1672325749",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -3980,26 +4032,29 @@
},
{
"name": "drupal/layout_builder_operation_link",
- "version": "1.0.1",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/layout_builder_operation_link.git",
- "reference": "1.0.1"
+ "reference": "2.1.0"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/layout_builder_operation_link-1.0.1.zip",
- "reference": "1.0.1",
- "shasum": "d12911acc73d0c0e2f8dbca08874141a9f98a869"
+ "url": "https://ftp.drupal.org/files/projects/layout_builder_operation_link-2.1.0.zip",
+ "reference": "2.1.0",
+ "shasum": "a4365738225d6f01293646db97e2aed525a69694"
},
"require": {
- "drupal/core": "^8.8.4 || ^9"
+ "drupal/core": "^9 || ^10"
+ },
+ "require-dev": {
+ "drupal/layout_builder_at": "^2.12"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "1.0.1",
- "datestamp": "1625239612",
+ "version": "2.1.0",
+ "datestamp": "1663176795",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -4139,26 +4194,26 @@
},
{
"name": "drupal/maintenance200",
- "version": "1.1.0",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/maintenance200.git",
- "reference": "8.x-1.1"
+ "reference": "8.x-2.1"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/maintenance200-8.x-1.1.zip",
- "reference": "8.x-1.1",
- "shasum": "b01ed2dd4371c9ff24dbbbe235bedfe44f0e008e"
+ "url": "https://ftp.drupal.org/files/projects/maintenance200-8.x-2.1.zip",
+ "reference": "8.x-2.1",
+ "shasum": "fc8ea60619b6b4682bade340e13fb4565d3a7e0c"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.1 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.1",
- "datestamp": "1597142482",
+ "version": "8.x-2.1",
+ "datestamp": "1697195734",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -4178,6 +4233,10 @@
"name": "ben.bunk",
"homepage": "https://www.drupal.org/user/764808"
},
+ {
+ "name": "kemsnake",
+ "homepage": "https://www.drupal.org/user/914800"
+ },
{
"name": "runeasgar",
"homepage": "https://www.drupal.org/user/1105258"
@@ -4543,29 +4602,29 @@
},
{
"name": "drupal/multiple_fields_remove_button",
- "version": "1.0.0-alpha13",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/multiple_fields_remove_button.git",
- "reference": "8.x-1.0-alpha13"
+ "reference": "8.x-2.2"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/multiple_fields_remove_button-8.x-1.0-alpha13.zip",
- "reference": "8.x-1.0-alpha13",
- "shasum": "d7171a7c1cba940320c271432f8e7c432a539989"
+ "url": "https://ftp.drupal.org/files/projects/multiple_fields_remove_button-8.x-2.2.zip",
+ "reference": "8.x-2.2",
+ "shasum": "c62d790c436b67c1316cbf2f289e6420e53d83e5"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^9.2 || ^10"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.0-alpha13",
- "datestamp": "1590964821",
+ "version": "8.x-2.2",
+ "datestamp": "1676661177",
"security-coverage": {
- "status": "not-covered",
- "message": "Alpha releases are not covered by Drupal security advisories."
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
}
}
},
@@ -4734,21 +4793,65 @@
},
{
"name": "drupal/phpexcel",
- "version": "dev-3148435-automated-drupal-9",
+ "version": "4.0.0-beta3",
"source": {
"type": "git",
- "url": "https://git.drupalcode.org/issue/phpexcel-3148435.git",
- "reference": "e22e3f91f8e1b04e27928835e0465422700f98aa"
+ "url": "https://git.drupalcode.org/project/phpexcel.git",
+ "reference": "4.0.0-beta3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/phpexcel-4.0.0-beta3.zip",
+ "reference": "4.0.0-beta3",
+ "shasum": "71b82d4910f76028dbfbe56e0f02ceefb344db95"
},
"require": {
- "phpoffice/phpspreadsheet": "^1.18"
+ "drupal/core": "^9.4 || ^10",
+ "phpoffice/phpspreadsheet": "^1"
},
"type": "drupal-module",
+ "extra": {
+ "drupal": {
+ "version": "4.0.0-beta3",
+ "datestamp": "1689083178",
+ "security-coverage": {
+ "status": "not-covered",
+ "message": "Beta releases are not covered by Drupal security advisories."
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
],
+ "authors": [
+ {
+ "name": "arunkumark",
+ "homepage": "https://www.drupal.org/user/2994023"
+ },
+ {
+ "name": "axelm",
+ "homepage": "https://www.drupal.org/user/1065700"
+ },
+ {
+ "name": "dravenk",
+ "homepage": "https://www.drupal.org/user/3452417"
+ },
+ {
+ "name": "Jamesap",
+ "homepage": "https://www.drupal.org/user/2547544"
+ },
+ {
+ "name": "wadmiraal",
+ "homepage": "https://www.drupal.org/user/440510"
+ }
+ ],
"description": "Provides a simple API for using the PhpSpreadsheet library",
- "time": "2021-07-30T11:08:53+00:00"
+ "homepage": "https://www.drupal.org/project/phpexcel",
+ "support": {
+ "source": "https://git.drupalcode.org/project/phpexcel",
+ "issues": "https://www.drupal.org/project/issues/phpexcel"
+ }
},
{
"name": "drupal/publishcontent",
@@ -5157,26 +5260,29 @@
},
{
"name": "drupal/smugmug_api",
- "version": "dev-1.x",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/smugmug_api.git",
- "reference": "9f4f554b46e9b5bbe519a19520b7087c4b2b132b"
+ "reference": "2.0.1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/smugmug_api-2.0.1.zip",
+ "reference": "2.0.1",
+ "shasum": "f108e35077cdfe402c38e644ae8db893a321db8d"
},
"require": {
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^8 || ^9 || ^10"
},
"type": "drupal-module",
"extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- },
"drupal": {
- "version": "8.x-1.0-alpha2+3-dev",
- "datestamp": "1632737970",
+ "version": "2.0.1",
+ "datestamp": "1695112545",
"security-coverage": {
- "status": "not-covered",
- "message": "Dev releases are not covered by Drupal security advisories."
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
}
}
},
@@ -5350,28 +5456,28 @@
},
{
"name": "drupal/social_auth_hid",
- "version": "2.8.0",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/social_auth_hid.git",
- "reference": "8.x-2.8"
+ "reference": "8.x-3.2"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/social_auth_hid-8.x-2.8.zip",
- "reference": "8.x-2.8",
- "shasum": "37d6689d98cd97d9f914e09d3434d5286555185a"
+ "url": "https://ftp.drupal.org/files/projects/social_auth_hid-8.x-3.2.zip",
+ "reference": "8.x-3.2",
+ "shasum": "6506fb35d8cc4a9abad88217c32af8ff12ad4b11"
},
"require": {
- "drupal/core": "^8.8 || ^9",
+ "drupal/core": "^9 || ^10",
"drupal/social_auth": "^3.0",
"un-ocha/oauth2-hid": "^1.0.2"
},
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-2.8",
- "datestamp": "1641290555",
+ "version": "8.x-3.2",
+ "datestamp": "1653898962",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -5453,6 +5559,58 @@
"source": "https://git.drupalcode.org/project/sophron"
}
},
+ {
+ "name": "drupal/stable",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupalcode.org/project/stable.git",
+ "reference": "2.0.0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/stable-2.0.0.zip",
+ "reference": "2.0.0",
+ "shasum": "1d1ba799280bd6b9a3c46a158e6026663e080f3f"
+ },
+ "require": {
+ "drupal/core": "^9 || ^10"
+ },
+ "type": "drupal-theme",
+ "extra": {
+ "drupal": {
+ "version": "2.0.0",
+ "datestamp": "1663102967",
+ "security-coverage": {
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "bnjmnm",
+ "homepage": "https://www.drupal.org/user/2369194"
+ },
+ {
+ "name": "Cottser",
+ "homepage": "https://www.drupal.org/user/1167326"
+ },
+ {
+ "name": "lauriii",
+ "homepage": "https://www.drupal.org/user/1078742"
+ }
+ ],
+ "description": "A base theme using Drupal 8.0.0's core markup and CSS.",
+ "homepage": "https://www.drupal.org/project/stable",
+ "support": {
+ "source": "https://git.drupalcode.org/project/stable"
+ }
+ },
{
"name": "drupal/stage_file_proxy",
"version": "2.1.1",
@@ -5629,6 +5787,81 @@
"source": "https://git.drupalcode.org/project/token"
}
},
+ {
+ "name": "drupal/upgrade_status",
+ "version": "4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://git.drupalcode.org/project/upgrade_status.git",
+ "reference": "4.0.0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.0.0.zip",
+ "reference": "4.0.0",
+ "shasum": "013afdb46a03c9db0119cb1ce60ca49631d64368"
+ },
+ "require": {
+ "drupal/core": "^9 || ^10",
+ "mathieuviossat/arraytotexttable": "~1.0.0",
+ "mglaman/phpstan-drupal": "^1.0.0",
+ "nikic/php-parser": "^4.0.0",
+ "phpstan/phpstan-deprecation-rules": "^1.0.0",
+ "symfony/process": "^3.4|^4.0|^5.0|^6.0",
+ "webflo/drupal-finder": "^1.2"
+ },
+ "type": "drupal-module",
+ "extra": {
+ "drupal": {
+ "version": "4.0.0",
+ "datestamp": "1678815090",
+ "security-coverage": {
+ "status": "covered",
+ "message": "Covered by Drupal's security advisory policy"
+ }
+ },
+ "drush": {
+ "services": {
+ "drush.services.yml": "^9 || ^10"
+ }
+ }
+ },
+ "notification-url": "https://packages.drupal.org/8/downloads",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "colan",
+ "homepage": "https://www.drupal.org/user/58704"
+ },
+ {
+ "name": "Gábor Hojtsy",
+ "homepage": "https://www.drupal.org/user/4166"
+ },
+ {
+ "name": "herczogzoltan",
+ "homepage": "https://www.drupal.org/user/3528391"
+ },
+ {
+ "name": "sun",
+ "homepage": "https://www.drupal.org/user/54136"
+ },
+ {
+ "name": "webchick",
+ "homepage": "https://www.drupal.org/user/24967"
+ },
+ {
+ "name": "xjm",
+ "homepage": "https://www.drupal.org/user/65776"
+ }
+ ],
+ "description": "Review Drupal major upgrade readiness of the environment and components of the site.",
+ "homepage": "http://drupal.org/project/upgrade_status",
+ "support": {
+ "source": "https://git.drupalcode.org/project/upgrade_status"
+ }
+ },
{
"name": "drupal/username_enumeration_prevention",
"version": "1.3.0",
@@ -5801,57 +6034,38 @@
},
{
"name": "drupal/viewsreference",
- "version": "1.8.0",
+ "version": "2.0.0-beta6",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/viewsreference.git",
- "reference": "8.x-1.8"
+ "reference": "8.x-2.0-beta6"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-1.8.zip",
- "reference": "8.x-1.8",
- "shasum": "8dd6b3828d40f4da413f73f956da528941e2ef52"
+ "url": "https://ftp.drupal.org/files/projects/viewsreference-8.x-2.0-beta6.zip",
+ "reference": "8.x-2.0-beta6",
+ "shasum": "1b094ccb10f4adc0b968a51650c0e2612ee184dd"
},
"require": {
- "drupal/core": "^8.6|^9.0",
- "php": "^7.0|^8.0",
- "squizlabs/php_codesniffer": "*"
+ "drupal/core": "^9.3 || ^10"
},
"conflict": {
"drupal/viewsreferennce": "*"
},
- "require-dev": {
- "composer/installers": "^1.2",
- "drupal/coder": "^8.2",
- "drupal/core-composer-scaffold": "*",
- "webflo/drupal-core-require-dev": "~8.5"
- },
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "8.x-1.8",
- "datestamp": "1652694596",
+ "version": "8.x-2.0-beta6",
+ "datestamp": "1691400463",
"security-coverage": {
- "status": "covered",
- "message": "Covered by Drupal's security advisory policy"
+ "status": "not-covered",
+ "message": "Beta releases are not covered by Drupal security advisories."
}
- },
- "installer-paths": {
- "../build/core": [
- "type:drupal-core"
- ],
- "../build/modules/contrib/{$name}": [
- "type:drupal-module"
- ],
- "../build/themes/contrib/{$name}": [
- "type:drupal-theme"
- ]
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
- "GPL-2.0+"
+ "GPL-2.0-or-later"
],
"authors": [
{
@@ -5871,14 +6085,14 @@
"homepage": "https://www.drupal.org/user/545912"
}
],
- "description": "Views Reference",
+ "description": "Views reference",
"homepage": "http://drupal.org/project/viewsreference",
"keywords": [
"Drupal"
],
"support": {
- "source": "http://cgit.drupalcode.org/viewsreference",
- "issues": "http://drupal.org/project/issues/viewsreference"
+ "source": "https://git.drupalcode.org/project/viewsreference",
+ "issues": "https://www.drupal.org/project/issues/viewsreference"
}
},
{
@@ -6950,6 +7164,96 @@
],
"time": "2023-10-11T20:16:37+00:00"
},
+ {
+ "name": "laminas/laminas-servicemanager",
+ "version": "3.22.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-servicemanager.git",
+ "reference": "b4f547078af2ac3173cbe4a64e8fdfbd626c77ae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/b4f547078af2ac3173cbe4a64e8fdfbd626c77ae",
+ "reference": "b4f547078af2ac3173cbe4a64e8fdfbd626c77ae",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-stdlib": "^3.17",
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "ext-psr": "*",
+ "laminas/laminas-code": "<4.10.0",
+ "zendframework/zend-code": "<3.3.1",
+ "zendframework/zend-servicemanager": "*"
+ },
+ "provide": {
+ "psr/container-implementation": "^1.0"
+ },
+ "replace": {
+ "container-interop/container-interop": "^1.2.0"
+ },
+ "require-dev": {
+ "composer/package-versions-deprecated": "^1.11.99.5",
+ "friendsofphp/proxy-manager-lts": "^1.0.14",
+ "laminas/laminas-code": "^4.10.0",
+ "laminas/laminas-coding-standard": "~2.5.0",
+ "laminas/laminas-container-config-test": "^0.8",
+ "mikey179/vfsstream": "^1.6.11",
+ "phpbench/phpbench": "^1.2.9",
+ "phpunit/phpunit": "^10.4",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.8.0"
+ },
+ "suggest": {
+ "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services"
+ },
+ "bin": [
+ "bin/generate-deps-for-config-factory",
+ "bin/generate-factory-for-class"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ServiceManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Factory-Driven Dependency Injection Container",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "PSR-11",
+ "dependency-injection",
+ "di",
+ "dic",
+ "laminas",
+ "service-manager",
+ "servicemanager"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-servicemanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-servicemanager/issues",
+ "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-servicemanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-10-10T21:23:36+00:00"
+ },
{
"name": "laminas/laminas-stdlib",
"version": "3.18.0",
@@ -7009,6 +7313,66 @@
],
"time": "2023-09-19T10:15:21+00:00"
},
+ {
+ "name": "laminas/laminas-text",
+ "version": "2.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-text.git",
+ "reference": "40f7acdb284d41553d32db811e704d6e15e415b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-text/zipball/40f7acdb284d41553d32db811e704d6e15e415b4",
+ "reference": "40f7acdb284d41553d32db811e704d6e15e415b4",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-servicemanager": "^3.19.0",
+ "laminas/laminas-stdlib": "^3.7.1",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
+ },
+ "conflict": {
+ "zendframework/zend-text": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "phpunit/phpunit": "^9.5",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Text\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Create FIGlets and text-based tables",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "text"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-text/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-text/issues",
+ "rss": "https://github.com/laminas/laminas-text/releases.atom",
+ "source": "https://github.com/laminas/laminas-text"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-12-11T15:36:27+00:00"
+ },
{
"name": "league/container",
"version": "4.2.0",
@@ -7514,6 +7878,161 @@
},
"time": "2022-08-18T16:18:26+00:00"
},
+ {
+ "name": "mathieuviossat/arraytotexttable",
+ "version": "v1.0.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/viossat/arraytotexttable.git",
+ "reference": "dddaf50d2c1d655b985e63337c421b298f7854be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/viossat/arraytotexttable/zipball/dddaf50d2c1d655b985e63337c421b298f7854be",
+ "reference": "dddaf50d2c1d655b985e63337c421b298f7854be",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-text": "^2.10",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "MathieuViossat\\Util\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mathieu Viossat",
+ "email": "mathieu@viossat.fr",
+ "homepage": "https://viossat.fr"
+ }
+ ],
+ "description": "Display arrays in terminal",
+ "homepage": "https://github.com/viossat/arraytotexttable",
+ "keywords": [
+ "array",
+ "ascii",
+ "table",
+ "terminal",
+ "text",
+ "unicode"
+ ],
+ "support": {
+ "issues": "https://github.com/viossat/arraytotexttable/issues",
+ "source": "https://github.com/viossat/arraytotexttable/tree/v1.0.10"
+ },
+ "time": "2023-09-21T16:42:23+00:00"
+ },
+ {
+ "name": "mglaman/phpstan-drupal",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mglaman/phpstan-drupal.git",
+ "reference": "d721420086f146640acecebb7a678661a66e97d5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/d721420086f146640acecebb7a678661a66e97d5",
+ "reference": "d721420086f146640acecebb7a678661a66e97d5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^1.10.1",
+ "phpstan/phpstan-deprecation-rules": "^1.1.4",
+ "symfony/finder": "~3.4.5 ||^4.2 || ^5.0 || ^6.0",
+ "symfony/yaml": "~3.4.5 || ^4.2|| ^5.0 || ^6.0",
+ "webflo/drupal-finder": "^1.2"
+ },
+ "require-dev": {
+ "behat/mink": "^1.8",
+ "composer/installers": "^1.9",
+ "drupal/core-recommended": "^8.8@alpha || ^9.0",
+ "drush/drush": "^9.6 || ^10.0 || ^11",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^6.5 || ^7.5 || ^8.0 || ^9",
+ "slevomat/coding-standard": "^7.1",
+ "squizlabs/php_codesniffer": "^3.3",
+ "symfony/phpunit-bridge": "^3.4.3 || ^4.4 || ^5.4 || ^6.0"
+ },
+ "suggest": {
+ "jangregor/phpstan-prophecy": "Provides a prophecy/prophecy extension for phpstan/phpstan.",
+ "phpstan/phpstan-deprecation-rules": "For catching deprecations, especially in Drupal core.",
+ "phpstan/phpstan-phpunit": "PHPUnit extensions and rules for PHPStan."
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.0-dev"
+ },
+ "installer-paths": {
+ "tests/fixtures/drupal/core": [
+ "type:drupal-core"
+ ],
+ "tests/fixtures/drupal/libraries/{$name}": [
+ "type:drupal-library"
+ ],
+ "tests/fixtures/drupal/modules/contrib/{$name}": [
+ "type:drupal-module"
+ ],
+ "tests/fixtures/drupal/profiles/contrib/{$name}": [
+ "type:drupal-profile"
+ ],
+ "tests/fixtures/drupal/themes/contrib/{$name}": [
+ "type:drupal-theme"
+ ]
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon",
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "mglaman\\PHPStanDrupal\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Glaman",
+ "email": "nmd.matt@gmail.com"
+ }
+ ],
+ "description": "Drupal extension and rules for PHPStan",
+ "support": {
+ "issues": "https://github.com/mglaman/phpstan-drupal/issues",
+ "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mglaman",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/phpstan-drupal",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/mglaman/phpstan-drupal",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-08-24T20:32:56+00:00"
+ },
{
"name": "nikic/php-parser",
"version": "v4.17.1",
@@ -8802,6 +9321,116 @@
},
"time": "2023-09-26T12:28:12+00:00"
},
+ {
+ "name": "phpstan/phpstan",
+ "version": "1.10.38",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5302bb402c57f00fb3c2c015bac86e0827e4b691",
+ "reference": "5302bb402c57f00fb3c2c015bac86e0827e4b691",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-06T14:19:14+00:00"
+ },
+ {
+ "name": "phpstan/phpstan-deprecation-rules",
+ "version": "1.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan-deprecation-rules.git",
+ "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa",
+ "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpstan": "^1.10.3"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-php-parser": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues",
+ "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4"
+ },
+ "time": "2023-08-05T09:02:04+00:00"
+ },
{
"name": "psr/cache",
"version": "1.0.1",
@@ -13109,32 +13738,33 @@
},
{
"name": "unocha/common_design",
- "version": "v7.4.1",
+ "version": "v9.2.1",
"source": {
"type": "git",
"url": "https://github.com/UN-OCHA/common_design.git",
- "reference": "b803f6b303bfcc2a46b5d2d531189832679d820a"
+ "reference": "c52613835d3e10baf03783d3601c030483057684"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/UN-OCHA/common_design/zipball/b803f6b303bfcc2a46b5d2d531189832679d820a",
- "reference": "b803f6b303bfcc2a46b5d2d531189832679d820a",
+ "url": "https://api.github.com/repos/UN-OCHA/common_design/zipball/c52613835d3e10baf03783d3601c030483057684",
+ "reference": "c52613835d3e10baf03783d3601c030483057684",
"shasum": ""
},
"require": {
- "composer/installers": "^1.2"
+ "composer/installers": "^1.2",
+ "drupal/stable": "^2.0"
},
"type": "drupal-theme",
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-only"
],
- "description": "OCHA Common Design base theme for Drupal 8",
+ "description": "OCHA Common Design base theme for Drupal 9+",
"support": {
"issues": "https://github.com/UN-OCHA/common_design/issues",
- "source": "https://github.com/UN-OCHA/common_design/tree/v7.4.1"
+ "source": "https://github.com/UN-OCHA/common_design/tree/v9.2.1"
},
- "time": "2023-01-10T14:13:58+00:00"
+ "time": "2023-10-11T12:36:16+00:00"
},
{
"name": "unocha/d3-sparkline",
@@ -13147,21 +13777,21 @@
},
{
"name": "unocha/ocha_snap",
- "version": "v8.5.0",
+ "version": "v8.7.0",
"source": {
"type": "git",
"url": "https://github.com/UN-OCHA/ocha_snap.git",
- "reference": "de3941cb88ae1393b53502e29417899627aa0793"
+ "reference": "6ac6bd523ea648808b0642525ea8244b9d38b58f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/UN-OCHA/ocha_snap/zipball/de3941cb88ae1393b53502e29417899627aa0793",
- "reference": "de3941cb88ae1393b53502e29417899627aa0793",
+ "url": "https://api.github.com/repos/UN-OCHA/ocha_snap/zipball/6ac6bd523ea648808b0642525ea8244b9d38b58f",
+ "reference": "6ac6bd523ea648808b0642525ea8244b9d38b58f",
"shasum": ""
},
"require": {
"composer/installers": "^1.2",
- "drupal/core": "^8 || ^9"
+ "drupal/core": "^8 || ^9 || ^10"
},
"conflict": {
"drupal/drupal": "*"
@@ -13177,9 +13807,9 @@
],
"support": {
"issues": "https://github.com/UN-OCHA/ocha_snap/issues",
- "source": "https://github.com/UN-OCHA/ocha_snap/tree/v8.5.0"
+ "source": "https://github.com/UN-OCHA/ocha_snap/tree/v8.7.0"
},
- "time": "2022-09-07T08:46:54+00:00"
+ "time": "2023-08-21T14:26:24+00:00"
},
{
"name": "vipnytt/sitemapparser",
@@ -14703,28 +15333,29 @@
},
{
"name": "drupal/devel",
- "version": "4.2.1",
+ "version": "5.1.2",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/devel.git",
- "reference": "4.2.1"
+ "reference": "5.1.2"
},
"dist": {
"type": "zip",
- "url": "https://ftp.drupal.org/files/projects/devel-4.2.1.zip",
- "reference": "4.2.1",
- "shasum": "aa08379bad81cb2e604ee9a0b9e2aabd86fae13f"
+ "url": "https://ftp.drupal.org/files/projects/devel-5.1.2.zip",
+ "reference": "5.1.2",
+ "shasum": "9b35e38bf2043bf87f88585b3d9100f38da8f07f"
},
"require": {
- "doctrine/common": "^2.7",
- "drupal/core": "^8.8 || ^9",
- "symfony/var-dumper": "^4 || ^5"
+ "doctrine/common": "^2.7 || ^3.4",
+ "drupal/core": "^9 || ^10",
+ "php": ">=7.4",
+ "symfony/var-dumper": "^4 || ^5 || ^6"
},
"conflict": {
"kint-php/kint": "<3"
},
"require-dev": {
- "drush/drush": "^10"
+ "drush/drush": "^11"
},
"suggest": {
"kint-php/kint": "Kint provides an informative display of arrays/objects. Useful for debugging and developing."
@@ -14732,8 +15363,8 @@
"type": "drupal-module",
"extra": {
"drupal": {
- "version": "4.2.1",
- "datestamp": "1664317444",
+ "version": "5.1.2",
+ "datestamp": "1686161028",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
@@ -14741,7 +15372,7 @@
},
"drush": {
"services": {
- "drush.services.yml": "^9 || ^10"
+ "drush.services.yml": "^9 || ^10 || ^11"
}
}
},
@@ -17869,14 +18500,10 @@
"minimum-stability": "dev",
"stability-flags": {
"drupal/auto_entitylabel": 10,
- "drupal/cer": 15,
"drupal/gin_lb": 10,
"drupal/layout_builder_ipe": 20,
- "drupal/multiple_fields_remove_button": 15,
"drupal/page_manager": 10,
- "drupal/phpexcel": 20,
"drupal/rabbit_hole": 10,
- "drupal/smugmug_api": 20,
"drupal/xhprof": 10,
"drupal/yaml_content": 15
},
diff --git a/composer.patches.json b/composer.patches.json
index 5223f0524..b1a57f167 100644
--- a/composer.patches.json
+++ b/composer.patches.json
@@ -11,10 +11,6 @@
"Issue #3001188: Make it possible to add relationships to layout builder": "./patches/3001188-make-it-possible-to-add-relationships-to-layout-builder.patch",
"Issue #?? (maybe #2837833): 'Required contexts without a value": "./patches/missing-context-value-in-layout-builder-admin.patch"
},
- "drupal/phpexcel": {
- "Issue #3086234: PhpSpreadsheet support (PHPOffice/PHPExcel deprecated)": "https://www.drupal.org/files/issues/2019-10-07/3086234-phpspreadsheet-support-3.patch",
- "Issue #2839576: Add additional alter hook": "https://www.drupal.org/files/issues/2839576-php-excel-new-hook-1-7.x-3.11.patch"
- },
"drupal/autologout": {
"Issue #3214958: Autologout triggered in background tab, no indication in other open tabs": "https://git.drupalcode.org/project/autologout/-/merge_requests/6.diff"
},
@@ -40,7 +36,7 @@
"Issue #2857247: Support for export filtering via Drush": "https://www.drupal.org/files/issues/2021-08-18/config_ignore_2857247-75.patch"
},
"drupal/config_default_image": {
- "Issue #2921908: Provide a 2nd formatter \"Responsive image or default image\"": "https://www.drupal.org/files/issues/2020-06-11/config_default_image-responsive-2921908-5.patch"
+ "Issue #2921908: Provide a 2nd formatter \"Responsive image or default image\"": "https://www.drupal.org/files/issues/2022-11-21/config_default_image-2921908-7.patch"
},
"drupal/smugmug_api": {
"Issue #3285444: Add support for image search": "https://www.drupal.org/files/issues/2022-06-13/3285444-2.patch"
diff --git a/config/core.entity_form_display.node.article.default.yml b/config/core.entity_form_display.node.article.default.yml
index 22b62cd42..9168fcb92 100644
--- a/config/core.entity_form_display.node.article.default.yml
+++ b/config/core.entity_form_display.node.article.default.yml
@@ -16,12 +16,12 @@ dependencies:
- image.style.thumbnail
- node.type.article
module:
+ - bert
- field_group
- ghi_content
- image
- path
- text
- - wmbert
third_party_settings:
field_group:
group_tabs:
@@ -103,8 +103,8 @@ content:
settings: { }
third_party_settings: { }
field_base_objects:
- type: wmbert
- weight: 26
+ type: bert
+ weight: 51
region: content
settings:
list: title_bundle
diff --git a/config/core.entity_form_display.node.document.default.yml b/config/core.entity_form_display.node.document.default.yml
index 8d479464a..c1d69c24d 100644
--- a/config/core.entity_form_display.node.document.default.yml
+++ b/config/core.entity_form_display.node.document.default.yml
@@ -18,12 +18,12 @@ dependencies:
- image.style.thumbnail
- node.type.document
module:
+ - bert
- field_group
- ghi_content
- image
- path
- text
- - wmbert
third_party_settings:
field_group:
group_tabs:
@@ -104,8 +104,8 @@ content:
settings: { }
third_party_settings: { }
field_base_objects:
- type: wmbert
- weight: 26
+ type: bert
+ weight: 27
region: content
settings:
list: title_bundle
diff --git a/config/core.extension.yml b/config/core.extension.yml
index 53f9e9f3e..3ea763402 100644
--- a/config/core.extension.yml
+++ b/config/core.extension.yml
@@ -7,13 +7,13 @@ module:
admin_toolbar_tools: 0
auto_entitylabel: 0
autologout: 0
+ bert: 0
big_pipe: 0
big_pipe_sessionless: 0
block: 0
block_content: 0
breakpoint: 0
cer: 0
- ckeditor: 0
ckeditor5: 0
config: 0
config_default_image: 0
@@ -114,10 +114,10 @@ module:
system: 0
taxonomy: 0
text: 0
- tippy: 0
token: 0
toolbar: 0
update: 0
+ upgrade_status: 0
user: 0
username_enumeration_prevention: 0
view_unpublished: 0
@@ -126,7 +126,6 @@ module:
warmer: 0
warmer_cdn: 0
webp: 0
- wmbert: 0
pathauto: 1
content_translation: 10
views: 10
diff --git a/config/field.field.node.article.field_base_objects.yml b/config/field.field.node.article.field_base_objects.yml
index aeaaaad73..5387c178c 100644
--- a/config/field.field.node.article.field_base_objects.yml
+++ b/config/field.field.node.article.field_base_objects.yml
@@ -17,7 +17,7 @@ translatable: false
default_value: { }
default_value_callback: ''
settings:
- handler: 'wmbert:base_object'
+ handler: 'bert:base_object'
handler_settings:
target_bundles:
plan: plan
diff --git a/config/field.field.node.document.field_base_objects.yml b/config/field.field.node.document.field_base_objects.yml
index d5c0b8e8a..92b24d9a6 100644
--- a/config/field.field.node.document.field_base_objects.yml
+++ b/config/field.field.node.document.field_base_objects.yml
@@ -17,7 +17,7 @@ translatable: true
default_value: { }
default_value_callback: ''
settings:
- handler: 'wmbert:base_object'
+ handler: 'bert:base_object'
handler_settings:
target_bundles:
plan: plan
diff --git a/config/language/fr/block.block.stark_admin.yml b/config/language/fr/block.block.stark_admin.yml
new file mode 100644
index 000000000..908710d63
--- /dev/null
+++ b/config/language/fr/block.block.stark_admin.yml
@@ -0,0 +1,2 @@
+settings:
+ label: Administration
diff --git a/config/language/fr/system.menu.admin.yml b/config/language/fr/system.menu.admin.yml
index 80570e855..87b5cc2c0 100644
--- a/config/language/fr/system.menu.admin.yml
+++ b/config/language/fr/system.menu.admin.yml
@@ -1 +1,2 @@
+label: Administration
description: 'Liens des tâches d''administration'
diff --git a/config/language/fr/views.view.archive.yml b/config/language/fr/views.view.archive.yml
index 309dc9ea0..b2156f9af 100644
--- a/config/language/fr/views.view.archive.yml
+++ b/config/language/fr/views.view.archive.yml
@@ -16,5 +16,9 @@ display:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
block_1:
display_title: Bloc
+ page_1:
+ display_title: Page
diff --git a/config/language/fr/views.view.block_content.yml b/config/language/fr/views.view.block_content.yml
index 831a1162c..07bf5da4e 100644
--- a/config/language/fr/views.view.block_content.yml
+++ b/config/language/fr/views.view.block_content.yml
@@ -28,6 +28,8 @@ display:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Il n''y a pas de bloc personnalisé disponible.'
@@ -39,6 +41,7 @@ display:
expose:
label: 'Type de bloc'
page_1:
+ display_title: Page
display_options:
menu:
title: 'Bibliothèque de blocs personnalisés'
diff --git a/config/language/fr/views.view.content.yml b/config/language/fr/views.view.content.yml
index cf4bf9826..1a8ff4fe2 100644
--- a/config/language/fr/views.view.content.yml
+++ b/config/language/fr/views.view.content.yml
@@ -33,6 +33,8 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Aucun contenu disponible.'
diff --git a/config/language/fr/views.view.files.yml b/config/language/fr/views.view.files.yml
index 6d5219113..291c7957f 100644
--- a/config/language/fr/views.view.files.yml
+++ b/config/language/fr/views.view.files.yml
@@ -38,6 +38,8 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Aucun fichier disponible.'
diff --git a/config/language/fr/views.view.frontpage.yml b/config/language/fr/views.view.frontpage.yml
index 662e30b7e..78e1e979b 100644
--- a/config/language/fr/views.view.frontpage.yml
+++ b/config/language/fr/views.view.frontpage.yml
@@ -20,6 +20,8 @@ display:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Aucun contenu de page d''accueil n''a été créé pour l''instant. Suivre le Guide utilisateur pour démarrer la construction de votre site.'
@@ -27,3 +29,5 @@ display:
title: 'Welcome to [site:name]'
feed_1:
display_title: Flux
+ page_1:
+ display_title: Page
diff --git a/config/language/fr/views.view.glossary.yml b/config/language/fr/views.view.glossary.yml
index fb85025e9..956dda774 100644
--- a/config/language/fr/views.view.glossary.yml
+++ b/config/language/fr/views.view.glossary.yml
@@ -21,5 +21,9 @@ display:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
attachment_1:
display_title: 'Fichier attaché'
+ page_1:
+ display_title: Page
diff --git a/config/language/fr/views.view.media.yml b/config/language/fr/views.view.media.yml
index 47a3f9492..bd07a6471 100644
--- a/config/language/fr/views.view.media.yml
+++ b/config/language/fr/views.view.media.yml
@@ -10,6 +10,8 @@ display:
label: Vignette
name:
label: 'Nom du média'
+ bundle:
+ label: Type
uid:
label: Auteur
status:
@@ -37,6 +39,8 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Aucun média disponible.'
@@ -44,6 +48,9 @@ display:
name:
expose:
label: 'Nom du média'
+ bundle:
+ expose:
+ label: Type
status:
expose:
label: Vrai
diff --git a/config/language/fr/views.view.media_library.yml b/config/language/fr/views.view.media_library.yml
index 45f2b8c81..767211e91 100644
--- a/config/language/fr/views.view.media_library.yml
+++ b/config/language/fr/views.view.media_library.yml
@@ -15,6 +15,8 @@ display:
submit_button: 'Appliquer les filtres'
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Aucun média disponible.'
@@ -51,6 +53,7 @@ display:
expose:
label: Langue
page:
+ display_title: Page
display_options:
fields:
edit_media:
diff --git a/config/language/fr/views.view.redirect.yml b/config/language/fr/views.view.redirect.yml
index 49d256c52..8ac9ee3fb 100644
--- a/config/language/fr/views.view.redirect.yml
+++ b/config/language/fr/views.view.redirect.yml
@@ -9,6 +9,8 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
pager:
options:
tags:
@@ -61,3 +63,5 @@ display:
empty:
area_text_custom:
content: 'Il n''y a pas encore de redirection.'
+ page_1:
+ display_title: Page
diff --git a/config/language/fr/views.view.taxonomy_term.yml b/config/language/fr/views.view.taxonomy_term.yml
index 0b12e23de..d5c879c73 100644
--- a/config/language/fr/views.view.taxonomy_term.yml
+++ b/config/language/fr/views.view.taxonomy_term.yml
@@ -15,9 +15,13 @@ display:
submit_button: Appliquer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
arguments:
tid:
exception:
title: Tout
feed_1:
display_title: Flux
+ page_1:
+ display_title: Page
diff --git a/config/language/fr/views.view.user_admin_people.yml b/config/language/fr/views.view.user_admin_people.yml
index 96b9ada28..c60f6c808 100644
--- a/config/language/fr/views.view.user_admin_people.yml
+++ b/config/language/fr/views.view.user_admin_people.yml
@@ -39,6 +39,8 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
empty:
area_text_custom:
content: 'Personne n''est disponible.'
@@ -59,6 +61,7 @@ display:
label: Rôle
use_more_text: plus
page_1:
+ display_title: Page
display_options:
menu:
title: Lister
diff --git a/config/tippy.settings.yml b/config/tippy.settings.yml
deleted file mode 100644
index 309dca005..000000000
--- a/config/tippy.settings.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-_core:
- default_config_hash: qjNd-m-sJaRQWc4oLBdMmAVw7Lic2tiG0aAkIPI4HxM
-use_cdn: true
-auto_init: false
-external_location: 'https://unpkg.com/tippy.js@6'
diff --git a/config/upgrade_status.settings.yml b/config/upgrade_status.settings.yml
new file mode 100644
index 000000000..c5e874415
--- /dev/null
+++ b/config/upgrade_status.settings.yml
@@ -0,0 +1,3 @@
+_core:
+ default_config_hash: BqkUHiXXGvu2L7NR_nblxtP6f03MdD16XSMWwVM0QEc
+paths_per_scan: 30
diff --git a/config_dev/language/fr/views.view.watchdog.yml b/config_dev/language/fr/views.view.watchdog.yml
index 1c741dc93..8831e02b3 100644
--- a/config_dev/language/fr/views.view.watchdog.yml
+++ b/config_dev/language/fr/views.view.watchdog.yml
@@ -3,6 +3,10 @@ display:
display_title: Maître
display_options:
fields:
+ type:
+ label: Type
+ timestamp:
+ label: Date
name:
label: Utilisateur
link:
@@ -18,3 +22,11 @@ display:
submit_button: Filtrer
reset_button_label: Réinitialiser
exposed_sorts_label: 'Trier par'
+ sort_asc_label: Asc
+ sort_desc_label: Desc
+ filters:
+ type:
+ expose:
+ label: Type
+ page:
+ display_title: Page
diff --git a/html/modules/custom/ghi_base_objects/ghi_base_objects.info.yml b/html/modules/custom/ghi_base_objects/ghi_base_objects.info.yml
index ae255b6ff..befa1d902 100644
--- a/html/modules/custom/ghi_base_objects/ghi_base_objects.info.yml
+++ b/html/modules/custom/ghi_base_objects/ghi_base_objects.info.yml
@@ -1,7 +1,7 @@
name: 'GHI Base Objects'
type: module
description: 'Provides logic and data migration handling for API base objects'
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
package: 'GHI'
dependencies:
- hpc_common:hpc_common
diff --git a/html/modules/custom/ghi_base_objects/templates/base-object-content-add-list.html.twig b/html/modules/custom/ghi_base_objects/templates/base-object-content-add-list.html.twig
index ed4975a59..6c039523d 100644
--- a/html/modules/custom/ghi_base_objects/templates/base-object-content-add-list.html.twig
+++ b/html/modules/custom/ghi_base_objects/templates/base-object-content-add-list.html.twig
@@ -14,10 +14,10 @@
* @ingroup themeable
*/
#}
-{% spaceless %}
+{% apply spaceless %}
{% for type in types %}
- {{ type.link }}
{% endfor %}
-{% endspaceless %}
+{% endapply %}
diff --git a/html/modules/custom/ghi_blocks/ghi_blocks.info.yml b/html/modules/custom/ghi_blocks/ghi_blocks.info.yml
index 67695b0b2..7a47930ff 100644
--- a/html/modules/custom/ghi_blocks/ghi_blocks.info.yml
+++ b/html/modules/custom/ghi_blocks/ghi_blocks.info.yml
@@ -3,7 +3,7 @@ description: Provide blocks for GHI representing data from the HPC API.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- drupal:layout_builder
diff --git a/html/modules/custom/ghi_blocks/src/Controller/BaseObjectReferenceController.php b/html/modules/custom/ghi_blocks/src/Controller/BaseObjectReferenceController.php
index 85307701f..8f333991f 100644
--- a/html/modules/custom/ghi_blocks/src/Controller/BaseObjectReferenceController.php
+++ b/html/modules/custom/ghi_blocks/src/Controller/BaseObjectReferenceController.php
@@ -25,7 +25,7 @@ class BaseObjectReferenceController extends ControllerBase implements ContainerI
*
* This assumes that the node type in question uses a multi-value entity
* reference field called 'field_base_objects' with the form widget from
- * wmbert.
+ * bert (better entity reference table).
*
* @param array $form
* The form array.
diff --git a/html/modules/custom/ghi_blocks/src/Plugin/Block/Generic/ExternalWidget.php b/html/modules/custom/ghi_blocks/src/Plugin/Block/Generic/ExternalWidget.php
index 1e628c5e0..4b94f0d74 100644
--- a/html/modules/custom/ghi_blocks/src/Plugin/Block/Generic/ExternalWidget.php
+++ b/html/modules/custom/ghi_blocks/src/Plugin/Block/Generic/ExternalWidget.php
@@ -7,6 +7,7 @@
use Drupal\Core\Url;
use Drupal\ghi_blocks\Plugin\Block\GHIBlockBase;
use Drupal\ghi_form_elements\Helpers\FormElementHelper;
+use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Provides an 'External Widget' block.
@@ -33,6 +34,23 @@ class ExternalWidget extends GHIBlockBase {
const MAX_YEAR_RANGE = 10;
const GOOGLE_SHEET = '1MArQSVdbLXLaQ8ixUKo9jIjifTCVDDxTJYbGoRuw3Vw';
+ /**
+ * The extension path resolver.
+ *
+ * @var \Drupal\Core\Extension\ExtensionPathResolver
+ */
+ protected $extensionPathResolver;
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
+ /** @var \Drupal\ghi_blocks\Plugin\Block\Generic\ExternalWidget $instance */
+ $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition);
+ $instance->extensionPathResolver = $container->get('extension.path.resolver');
+ return $instance;
+ }
+
/**
* {@inheritdoc}
*/
@@ -342,7 +360,7 @@ private function processWidget(array $widget_conf) {
* Whether the url should be processed.
*/
private function processParams(array &$params, $process_url = TRUE) {
- $base_url = $this->requestStack->getMasterRequest()->getBaseUrl();
+ $base_url = $this->requestStack->getMainRequest()->getBaseUrl();
// First we deactivate some controls and set the widget into single mode,
// which removes the embed title.
@@ -353,7 +371,7 @@ private function processParams(array &$params, $process_url = TRUE) {
// Then we add an additional CSS reference, which will be included by HDX,
// so that we have some control over the styling.
- $css_url = Url::fromUserInput('/' . drupal_get_path('module', 'ghi_blocks') . '/css/quickcharts.css', [
+ $css_url = Url::fromUserInput('/' . $this->extensionPathResolver->getPath('module', 'ghi_blocks') . '/css/quickcharts.css', [
'absolute' => TRUE,
])->toString();
if (strpos($css_url, 'docksal') || strpos($css_url, 'ahconu.org')) {
diff --git a/html/modules/custom/ghi_blocks/src/Plugin/Block/Plan/PlanEntityLogframe.php b/html/modules/custom/ghi_blocks/src/Plugin/Block/Plan/PlanEntityLogframe.php
index 90bdb8c4a..197f4c6dd 100644
--- a/html/modules/custom/ghi_blocks/src/Plugin/Block/Plan/PlanEntityLogframe.php
+++ b/html/modules/custom/ghi_blocks/src/Plugin/Block/Plan/PlanEntityLogframe.php
@@ -167,7 +167,7 @@ public function buildContent() {
else {
$tables = [
'#lazy_builder' => [
- $this::class . '::lazyBuildTables',
+ static::class . '::lazyBuildTables',
[
$this->getPluginId(),
$this->getUuid(),
diff --git a/html/modules/custom/ghi_blocks/tests/src/Unit/BaseObjectReferenceControllerTest.php b/html/modules/custom/ghi_blocks/tests/src/Unit/BaseObjectReferenceControllerTest.php
index 10f0b6b73..5f0953dbc 100644
--- a/html/modules/custom/ghi_blocks/tests/src/Unit/BaseObjectReferenceControllerTest.php
+++ b/html/modules/custom/ghi_blocks/tests/src/Unit/BaseObjectReferenceControllerTest.php
@@ -11,6 +11,7 @@
use Drupal\layout_builder\SectionStorageInterface;
use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @coversDefaultClass \Drupal\layout_builder\SectionComponent
@@ -18,6 +19,8 @@
*/
class BaseObjectReferenceControllerTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* Tests that base object components can be retrieved from sections.
*/
diff --git a/html/modules/custom/ghi_content/css/admin/remote_content_edit.css b/html/modules/custom/ghi_content/css/admin/remote_content_edit.css
index 9aab58ac6..d52e7ca3e 100644
--- a/html/modules/custom/ghi_content/css/admin/remote_content_edit.css
+++ b/html/modules/custom/ghi_content/css/admin/remote_content_edit.css
@@ -1,4 +1,4 @@
-.node-form .form-type--wmbert .form-type--entity-autocomplete .claro-autocomplete {
+.node-form .form-type--bert .form-type--entity-autocomplete .claro-autocomplete {
margin: 1rem 0;
width: 100%;
}
diff --git a/html/modules/custom/ghi_content/ghi_content.info.yml b/html/modules/custom/ghi_content/ghi_content.info.yml
index d26782ae6..b6b1bc3f8 100644
--- a/html/modules/custom/ghi_content/ghi_content.info.yml
+++ b/html/modules/custom/ghi_content/ghi_content.info.yml
@@ -3,7 +3,7 @@ description: Provides API integration and blocks for GHI representing content fr
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- drupal:file
diff --git a/html/modules/custom/ghi_content/modules/gho_footnotes/gho_footnotes.info.yml b/html/modules/custom/ghi_content/modules/gho_footnotes/gho_footnotes.info.yml
index 48b6e18da..557fcc76a 100644
--- a/html/modules/custom/ghi_content/modules/gho_footnotes/gho_footnotes.info.yml
+++ b/html/modules/custom/ghi_content/modules/gho_footnotes/gho_footnotes.info.yml
@@ -2,4 +2,4 @@ type: module
name: GHO Footnotes
description: 'Provides text footnotes handling for the GHO site.'
package: gho
-core_version_requirement: ^8.9 || ^9
+core_version_requirement: ^9 || ^10
diff --git a/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-backlink.html.twig b/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-backlink.html.twig
index 072ef3e1e..48a465c03 100644
--- a/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-backlink.html.twig
+++ b/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-backlink.html.twig
@@ -8,7 +8,7 @@
2 or 3.
#}
{% set label = 'Jump to reference @index'|t({'@index': index}) %}
-{% spaceless %}
+{% apply spaceless %}
{#
The following markup has the following purpose:
- allow the display of `title` tooltip without having the text repeated
@@ -24,4 +24,4 @@
{{ label }}
-{% endspaceless %}
+{% endapply %}
diff --git a/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-reference.html.twig b/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-reference.html.twig
index 0a3dca908..360c16f10 100644
--- a/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-reference.html.twig
+++ b/html/modules/custom/ghi_content/modules/gho_footnotes/templates/gho-footnote-reference.html.twig
@@ -7,7 +7,7 @@
- index: Index of the footnote
#}
{% set label = 'Jump to footnote @index'|t({'@index': index}) %}
-{% spaceless %}
+{% apply spaceless %}
{#
The use of `` to be closer to standards (of course that depends on
the languages. The text is also a simple number for the same standard reason
@@ -21,4 +21,4 @@
{{ index }}
-{% endspaceless %}
+{% endapply %}
diff --git a/html/modules/custom/ghi_content/src/ContentManager/BaseContentManager.php b/html/modules/custom/ghi_content/src/ContentManager/BaseContentManager.php
index 37c4d1d47..dc9e07b66 100644
--- a/html/modules/custom/ghi_content/src/ContentManager/BaseContentManager.php
+++ b/html/modules/custom/ghi_content/src/ContentManager/BaseContentManager.php
@@ -194,9 +194,9 @@ public function loadNodesForTags(array $tags = NULL, NodeInterface $node = NULL,
// Setup the base query.
$query = $this->entityTypeManager->getStorage('node')->getQuery();
+ $query->accessCheck($published);
if ($published) {
$query->condition('status', NodeInterface::PUBLISHED);
- $query->accessCheck();
}
$query->condition('type', $this->getNodeBundle());
if ($limit !== NULL) {
diff --git a/html/modules/custom/ghi_content/tests/modules/ghi_content_test/ghi_content_test.info.yml b/html/modules/custom/ghi_content/tests/modules/ghi_content_test/ghi_content_test.info.yml
index f366ee4cc..1e9ebeac2 100644
--- a/html/modules/custom/ghi_content/tests/modules/ghi_content_test/ghi_content_test.info.yml
+++ b/html/modules/custom/ghi_content/tests/modules/ghi_content_test/ghi_content_test.info.yml
@@ -3,7 +3,7 @@ description: 'Support module for the GHI Content module tests.'
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_content:ghi_content
\ No newline at end of file
diff --git a/html/modules/custom/ghi_documents/ghi_documents.info.yml b/html/modules/custom/ghi_documents/ghi_documents.info.yml
deleted file mode 100644
index 1f016c596..000000000
--- a/html/modules/custom/ghi_documents/ghi_documents.info.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-name: GHI Documents
-description: Provide logic around documents (obsolete).
-package: GHI
-
-type: module
-core_version_requirement: ^8 || ^9
-
-dependencies:
- - ghi_sections:ghi_sections
- - ghi_content:ghi_content
\ No newline at end of file
diff --git a/html/modules/custom/ghi_documents/ghi_documents.module b/html/modules/custom/ghi_documents/ghi_documents.module
deleted file mode 100644
index 00c5741ae..000000000
--- a/html/modules/custom/ghi_documents/ghi_documents.module
+++ /dev/null
@@ -1,6 +0,0 @@
-@url successful.', [
- '@url' => $sync_manager->getSyncSourceUrl(),
- ]);
- try {
- $connection_status = $sync_manager->checkConnection(TRUE);
- if (!$connection_status) {
- $status_label = t('Connection to @url failed', [
- '@url' => $sync_manager->getSyncSourceUrl(),
- ]);
- }
- }
- catch (SyncException $e) {
- $connection_status = FALSE;
- $status_label = t('Connection to @url failed: @message', [
- '@url' => $sync_manager->getSyncSourceUrl(),
- '@message' => $e->getMessage(),
- ]);
- }
- $requirements[''] = [
- 'title' => t('Hum Insight element sync'),
- 'severity' => $connection_status ? REQUIREMENT_OK : REQUIREMENT_ERROR,
- 'value' => $connection_status ? t('Success') : t('Failed'),
- 'description' => $status_label,
- ];
- }
- return $requirements;
-}
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.libraries.yml b/html/modules/custom/ghi_element_sync/ghi_element_sync.libraries.yml
deleted file mode 100644
index e7f9a4230..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.libraries.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-sync_metadata_form:
- css:
- component:
- css/sync_metadata_form.css: {}
\ No newline at end of file
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.links.menu.yml b/html/modules/custom/ghi_element_sync/ghi_element_sync.links.menu.yml
deleted file mode 100644
index 016daf42f..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.links.menu.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-ghi_element_sync.config:
- title: Plan element sync
- description: 'Configure synchronisation settings for plan elements.'
- route_name: ghi_element_sync.config
- parent: system.admin_config_services
\ No newline at end of file
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.links.task.yml b/html/modules/custom/ghi_element_sync/ghi_element_sync.links.task.yml
deleted file mode 100644
index a21777420..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.links.task.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-entity.node.sync_metadata:
- route_name: ghi_element_sync.node.sync_metadata
- base_route: entity.node.canonical
- title: Sync page metadata
- weight: 199
-entity.node.sync_elements:
- route_name: ghi_element_sync.node.sync
- base_route: entity.node.canonical
- title: Sync page elements
- weight: 200
\ No newline at end of file
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.module b/html/modules/custom/ghi_element_sync/ghi_element_sync.module
deleted file mode 100644
index 6f5da529c..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.module
+++ /dev/null
@@ -1,6 +0,0 @@
-condition('type', ['section', 'plan_cluster'], 'IN');
-
- $result = $query->execute();
- $sandbox['node_ids'] = array_values($result);
-
- $sandbox['total'] = count($sandbox['node_ids']);
- $sandbox['results']['processed'] = 0;
- $sandbox['results']['skipped'] = 0;
- $sandbox['results']['total'] = $sandbox['total'];
- }
-
- /** @var \Drupal\ghi_element_sync\SyncManager $sync_manager */
- $sync_manager = $sandbox['sync_manager'];
- $node = Node::load(array_shift($sandbox['node_ids']));
-
- $messenger = \Drupal::messenger();
-
- try {
- if ($sync_manager->syncNode($node, NULL, $messenger, TRUE, TRUE, TRUE, TRUE)) {
- $sandbox['results']['processed']++;
- }
- else {
- $sandbox['results']['skipped']++;
- }
- $messenger->deleteAll();
- }
- catch (SyncException $e) {
- $sandbox['results']['skipped']++;
- }
-
- $sandbox['#finished'] = ($sandbox['total'] - count($sandbox['node_ids'])) / $sandbox['total'];
- if ($sandbox['#finished'] === 1) {
- $run = TRUE;
- return t('Processed @processed nodes, skipped @skipped of a total of @total nodes.', [
- '@processed' => $sandbox['results']['processed'],
- '@skipped' => $sandbox['results']['skipped'],
- '@total' => $sandbox['results']['total'],
- ]);
- }
-}
-
-/**
- * Update all pages after data structure changes to data points.
- */
-function ghi_element_sync_post_update_sync_elements_0001(&$sandbox) {
- return ghi_element_sync_update_page_elements($sandbox);
-}
-
-/**
- * Update all pages after config map update for plan headline figures.
- */
-function ghi_element_sync_post_update_sync_elements_0002(&$sandbox) {
- return ghi_element_sync_update_page_elements($sandbox);
-}
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.routing.yml b/html/modules/custom/ghi_element_sync/ghi_element_sync.routing.yml
deleted file mode 100644
index 8ceddf458..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.routing.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-ghi_element_sync.node.sync:
- path: '/node/{node}/hpc/sync'
- defaults:
- _form: '\Drupal\ghi_element_sync\Form\SyncNodeForm'
- _title_callback: '\Drupal\ghi_element_sync\SyncController::syncElementsFormTitle'
- options:
- parameters:
- node:
- type: entity:node
- _admin_route: TRUE
- requirements:
- _custom_access: '\Drupal\ghi_element_sync\SyncController::accessElementSyncForm'
- _permission: 'access element sync'
-ghi_element_sync.node.sync_metadata:
- path: '/node/{node}/hpc/sync-metadata'
- defaults:
- _form: '\Drupal\ghi_element_sync\Form\SyncMetadataNodeForm'
- _title_callback: '\Drupal\ghi_element_sync\SyncController::syncMetadataFormTitle'
- options:
- parameters:
- node:
- type: entity:node
- _admin_route: TRUE
- requirements:
- _custom_access: '\Drupal\ghi_element_sync\SyncController::accessElementSyncForm'
- _permission: 'access element sync'
-ghi_element_sync.sync:
- path: '/admin/content/sync-elements'
- defaults:
- _form: '\Drupal\ghi_element_sync\Form\SyncForm'
- _title: 'Sync plan elements for all nodes'
- requirements:
- _permission: 'administer element sync'
-ghi_element_sync.config:
- path: '/admin/config/services/element-sync'
- defaults:
- _form: '\Drupal\ghi_element_sync\Form\ConfigForm'
- _title: 'Plan element sync'
- options:
- _admin_route: TRUE
- requirements:
- _permission: 'administer element sync'
\ No newline at end of file
diff --git a/html/modules/custom/ghi_element_sync/ghi_element_sync.services.yml b/html/modules/custom/ghi_element_sync/ghi_element_sync.services.yml
deleted file mode 100644
index 49035b8c7..000000000
--- a/html/modules/custom/ghi_element_sync/ghi_element_sync.services.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-services:
- ghi_element_sync.sync_elements:
- class: Drupal\ghi_element_sync\SyncManager
- arguments: ['@config.factory', '@plugin.manager.block', '@http_client', '@uuid', '@datetime.time', '@current_user', '@context.handler', '@layout_builder.tempstore_repository', '@plugin.manager.endpoint_query_manager']
\ No newline at end of file
diff --git a/html/modules/custom/ghi_element_sync/src/Form/ConfigForm.php b/html/modules/custom/ghi_element_sync/src/Form/ConfigForm.php
deleted file mode 100644
index 74f9bfafd..000000000
--- a/html/modules/custom/ghi_element_sync/src/Form/ConfigForm.php
+++ /dev/null
@@ -1,131 +0,0 @@
-entityTypeManager = $entity_type_manager;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('entity_type.manager'),
- );
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFormId() {
- return 'ghi_element_sync_config_form';
- }
-
- /**
- * {@inheritdoc}
- */
- public function buildForm(array $form, FormStateInterface $form_state) {
-
- $form = parent::buildForm($form, $form_state);
- $config = $this->config('ghi_element_sync.settings');
-
- $form['sync_source'] = [
- '#type' => 'url',
- '#title' => $this->t('Sync source URL'),
- '#description' => $this->t('Enter the url for this sync source'),
- '#default_value' => $config->get('sync_source') ?? NULL,
- ];
-
- $form['access_key'] = [
- '#type' => 'password',
- '#title' => $this->t('Access key'),
- '#description' => $this->t('Enter the access key for this remote source'),
- '#default_value' => $config->get('access_key') ?? NULL,
- ];
-
- $basic_auth = $config->get('basic_auth') ?? [
- 'user' => NULL,
- 'pass' => NULL,
- ];
-
- $form['basic_auth'] = [
- '#type' => 'details',
- '#title' => $this->t('Basic auth'),
- '#open' => !empty($basic_auth),
- '#tree' => TRUE,
- ];
- $form['basic_auth']['user'] = [
- '#type' => 'textfield',
- '#title' => $this->t('Username'),
- '#description' => $this->t('Enter the basic auth username'),
- '#default_value' => $basic_auth['user'] ?? NULL,
- ];
- $form['basic_auth']['pass'] = [
- '#type' => 'textfield',
- '#title' => $this->t('Password'),
- '#description' => $this->t('Enter the basic auth password'),
- '#default_value' => $basic_auth['pass'] ?? NULL,
- ];
-
- $available_node_types = array_merge(['section'], SubpageHelper::getSubpageTypes());
- $form['node_types'] = [
- '#type' => 'checkboxes',
- '#title' => $this->t('Node types'),
- '#description' => $this->t('Select all node types that should allow to import plan elements from the defined source.'),
- '#options' => array_map(function ($item) {
- return $this->entityTypeManager->getStorage('node_type')->load($item)->get('name');
- }, array_combine($available_node_types, $available_node_types)),
- '#default_value' => $config->get('node_types') ?? [],
- ];
-
- return $form;
- }
-
- /**
- * {@inheritdoc}
- */
- public function submitForm(array &$form, FormStateInterface $form_state) {
- $config = $this->config('ghi_element_sync.settings');
- $config->set('sync_source', $form_state->getValue('sync_source'));
- $config->set('access_key', $form_state->getValue('access_key'));
- $config->set('basic_auth', [
- 'user' => $form_state->getValue(['basic_auth', 'user']),
- 'pass' => $form_state->getValue(['basic_auth', 'pass']),
- ]);
- $config->set('node_types', array_values(array_filter($form_state->getValue('node_types'))));
- $config->save();
- return parent::submitForm($form, $form_state);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function getEditableConfigNames() {
- return [
- 'ghi_element_sync.settings',
- ];
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/Form/SyncForm.php b/html/modules/custom/ghi_element_sync/src/Form/SyncForm.php
deleted file mode 100644
index 4bdc097f2..000000000
--- a/html/modules/custom/ghi_element_sync/src/Form/SyncForm.php
+++ /dev/null
@@ -1,199 +0,0 @@
-syncManager = $sync_manager;
- $this->entityTypeManager = $entity_type_manager;
-
- $this->bundles = $this->syncManager->getAvailableNodeTypes();
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('ghi_element_sync.sync_elements'),
- $container->get('entity_type.manager'),
- );
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFormId() {
- return 'ghi_element_sync_form';
- }
-
- /**
- * {@inheritdoc}
- */
- public function buildForm(array $form, FormStateInterface $form_state, NodeInterface $node = NULL) {
- $form['#node'] = $node;
-
- $bundle_labels = array_map(function ($bundle) {
- return $this->entityTypeManager->getStorage('node_type')->load($bundle)->label();
- }, $this->bundles);
-
- $form['limit'] = [
- '#type' => 'select',
- '#title' => $this->t('Limit'),
- '#description' => $this->t('Optionally limit the element sync process. By default the following node types will be processed: @types. If none is selected, nodes of all bundles will be processed.', [
- '@types' => implode(', ', $bundle_labels),
- ]),
- '#options' => [
- 'none' => $this->t('No limit'),
- 'bundle' => $this->t('Bundle'),
- 'id' => $this->t('ID'),
- ],
- ];
-
- $form['bundle'] = [
- '#type' => 'checkboxes',
- '#title' => $this->t('Bundle'),
- '#description' => $this->t('Select a bundle to limit the synching to specific pages.'),
- '#options' => array_combine($this->bundles, $bundle_labels),
- '#multiple' => TRUE,
- '#states' => [
- 'visible' => [
- ':input[name="limit"]' => ['value' => 'bundle'],
- ],
- ],
- ];
-
- $form['id'] = [
- '#type' => 'textfield',
- '#title' => $this->t('Limit to ids'),
- '#description' => $this->t('Enter a comma separated list of node ids to limit the synching to specific pages.'),
- '#states' => [
- 'visible' => [
- ':input[name="limit"]' => ['value' => 'id'],
- ],
- ],
- ];
-
- $form['sync_elements'] = [
- '#type' => 'checkbox',
- '#title' => $this->t('Sync elements'),
- '#description' => $this->t('Sync all page elements.'),
- '#default_value' => TRUE,
- ];
-
- $form['cleanup'] = [
- '#type' => 'checkbox',
- '#title' => $this->t('Cleanup any existing elements'),
- '#description' => $this->t('Check this if existing elements should be removed before synching from remote.'),
- '#default_value' => FALSE,
- '#states' => [
- 'visible' => [
- ':input[name="sync_elements"]' => ['checked' => TRUE],
- ],
- ],
- ];
-
- $form['sync_metadata'] = [
- '#type' => 'checkbox',
- '#title' => $this->t('Sync metadata'),
- '#description' => $this->t('Sync additional metadata for qualified base objects, e.g. plan status, shortname, etc... Only plan base objects are currently supported.'),
- '#default_value' => TRUE,
- ];
-
- $form['revisions'] = [
- '#type' => 'checkbox',
- '#title' => $this->t('Create new revisions'),
- '#description' => $this->t('Check this if new revisions should be created.'),
- '#default_value' => FALSE,
- ];
-
- $form['submit'] = [
- '#type' => 'submit',
- '#value' => $this->t('Start sync process'),
- ];
- return $form;
- }
-
- /**
- * {@inheritdoc}
- */
- public function submitForm(array &$form, FormStateInterface $form_state) {
-
- $batch_builder = new BatchBuilder();
- $batch_builder
- ->setFinishCallback([SyncBatch::class, 'finish'])
- ->setTitle($this->t('Synching elements'))
- ->setInitMessage($this->t('Starting element sync.'))
- ->setErrorMessage($this->t('Element sync has encountered an error.'));
-
- $limit = $form_state->getValue('limit');
- $bundle = $this->bundles;
- $id = NULL;
- $sync_elements = $form_state->getValue('sync_elements');
- $sync_metadata = $form_state->getValue('sync_metadata');
- $revisions = $form_state->getValue('revisions');
- $cleanup = $form_state->getValue('cleanup');
-
- if ($limit == 'bundle') {
- $bundle = array_keys(array_filter($form_state->getValue('bundle')));
- if (empty($bundle)) {
- $bundle = $this->bundles;
- }
- }
- elseif ($limit == 'id') {
- $id = array_filter(array_map(function ($item) {
- return (int) trim($item);
- }, explode(',', $form_state->getValue('id'))));
- }
-
- $batch_builder->addOperation([SyncBatch::class, 'process'], [
- $this->syncManager,
- $bundle,
- (array) $id,
- $sync_elements,
- $sync_metadata,
- $revisions,
- $cleanup,
- ]);
- batch_set($batch_builder->toArray());
-
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/Form/SyncMetadataNodeForm.php b/html/modules/custom/ghi_element_sync/src/Form/SyncMetadataNodeForm.php
deleted file mode 100644
index 771e56ab1..000000000
--- a/html/modules/custom/ghi_element_sync/src/Form/SyncMetadataNodeForm.php
+++ /dev/null
@@ -1,191 +0,0 @@
-syncManager = $sync_manager;
- $this->entityTypeManager = $entity_type_manager;
- $this->entityFieldManager = $entity_field_manager;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('ghi_element_sync.sync_elements'),
- $container->get('entity_type.manager'),
- $container->get('entity_field.manager'),
- );
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFormId() {
- return 'ghi_element_sync_node_form';
- }
-
- /**
- * {@inheritdoc}
- */
- public function buildForm(array $form, FormStateInterface $form_state, NodeInterface $node = NULL) {
- $form['#node'] = $node;
- $form['#attached']['library'] = ['ghi_element_sync/sync_metadata_form'];
-
- $remote_hero_image_url = NULL;
- $hero_image_sync_state = NULL;
- try {
- $remote_data = $this->syncManager->getRemoteConfigurations($node);
- $remote_hero_image_url = $this->syncManager->getRemoteHeroImageUrl($node);
- $hero_image_sync_state = $this->syncManager->isHeroImageSynced($node);
- }
- catch (SyncException $e) {
- $this->messenger()->addError($this->t('There was a problem accessing the sync source:
@error', [
- '@error' => $e->getMessage(),
- ]));
- $form['sync_elements']['#disabled'] = TRUE;
- }
-
- $base_object = BaseObjectHelper::getBaseObjectFromNode($node);
- $base_object_fields = $this->entityFieldManager->getFieldDefinitions($base_object->getEntityTypeId(), $base_object->bundle());
- $metadata = $remote_data->metadata ?? (object) [];
- $header = [
- 'property' => $this->t('Property'),
- 'remote_value' => $this->t('Remote'),
- 'local_value' => $this->t('Local'),
- 'status' => $this->t('Status'),
- ];
-
- $form['properties'] = [
- '#type' => 'table',
- '#header' => $header,
- '#options' => [],
- ];
-
- $remote_status = $metadata->status ?? NULL;
- $form['properties']['#rows'][] = [
- 'property' => $this->t('Status'),
- 'remote_value' => $remote_status === NULL ? $this->t('Unknown') : ($remote_status == 1 ? $this->t('Published') : $this->t('Unpublished')),
- 'local_value' => $node->isPublished() ? $this->t('Published') : $this->t('Unpublished'),
- 'status' => (bool) $remote_status == $node->isPublished() ? $this->t('In sync') : $this->t('Changed'),
- ];
-
- $form['properties']['#rows'][] = [
- 'property' => $this->t('Hero image'),
- 'remote_value' => $remote_hero_image_url ? [
- 'data' => [
- '#theme' => 'ghi_image',
- '#url' => $remote_hero_image_url,
- '#responsive_image_style' => $this->entityTypeManager->getStorage('responsive_image_style')->load('hero'),
- '#attributes' => [
- 'style' => 'width: 100%',
- ],
- ],
- ] : NULL,
- 'local_value' => [
- 'data' => $node->get('field_hero_image')->view(['label' => 'hidden']),
- ],
- 'status' => $hero_image_sync_state === NULL ? $this->t('Unclear') : ($hero_image_sync_state ? $this->t('In sync') : $this->t('Changed')),
- ];
-
- if ($base_object instanceof Plan) {
- $field_map = $this->syncManager->getMetadataFieldMap($metadata);
- foreach ($field_map as $remote_property => $local_def) {
- if ($remote_property == 'footnotes') {
- foreach ($local_def['properties'] as $footnote_property) {
- $remote_value = $metadata->{$remote_property}->{$footnote_property} ?? NULL;
- $local_value = $this->getFootnoteFromItemList($base_object->{$local_def['field']} ?? NULL, $footnote_property);
- $form['properties']['#rows'][] = [
- 'property' => $base_object_fields[$local_def['field']]->getLabel() . ':' . $footnote_property,
- 'remote_value' => $remote_value,
- 'local_value' => $local_value,
- 'status' => $remote_value == $local_value ? $this->t('In sync') : $this->t('Changed'),
- ];
- }
- }
- else {
- $remote_value = $metadata->{$remote_property} ?? NULL;
- if ($remote_value !== NULL && !empty($local_def['callback'])) {
- $remote_value = $local_def['callback']($remote_value);
- }
- $local_value = $base_object->{$local_def['field']}->{$local_def['property']} ?? NULL;
-
- $field = $base_object_fields[$local_def['field']];
- $is_boolean = $field->getItemDefinition()->getDataType() == 'field_item:boolean';
- $field_settings = $field->getSettings();
-
- $form['properties']['#rows'][] = [
- 'property' => $base_object_fields[$local_def['field']]->getLabel(),
- 'remote_value' => $is_boolean ? ($remote_value ? $field_settings['on_label'] : $field_settings['off_label']) : $remote_value,
- 'local_value' => $is_boolean ? ($local_value ? $field_settings['on_label'] : $field_settings['off_label']) : $local_value,
- 'status' => $remote_value == $local_value ? $this->t('In sync') : $this->t('Changed'),
- ];
- }
- }
- }
-
- $form['actions'] = ['#type' => 'actions'];
- $form['actions']['sync'] = [
- '#type' => 'submit',
- '#value' => $this->t('Sync metadata'),
- ];
-
- return $form;
- }
-
- /**
- * {@inheritdoc}
- */
- public function submitForm(array &$form, FormStateInterface $form_state) {
- $node = $form['#node'];
- $action = end($form_state->getTriggeringElement()['#parents']);
- if ($action == 'sync') {
- $this->syncManager->syncNode($node, NULL, NULL, FALSE, TRUE);
- }
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/Form/SyncNodeForm.php b/html/modules/custom/ghi_element_sync/src/Form/SyncNodeForm.php
deleted file mode 100644
index 091d35095..000000000
--- a/html/modules/custom/ghi_element_sync/src/Form/SyncNodeForm.php
+++ /dev/null
@@ -1,130 +0,0 @@
-syncManager = $sync_manager;
- $this->entityFieldManager = $entity_field_manager;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('ghi_element_sync.sync_elements'),
- $container->get('entity_field.manager'),
- );
- }
-
- /**
- * {@inheritdoc}
- */
- public function getFormId() {
- return 'ghi_element_sync_node_form';
- }
-
- /**
- * {@inheritdoc}
- */
- public function buildForm(array $form, FormStateInterface $form_state, NodeInterface $node = NULL) {
- $form['#node'] = $node;
-
- try {
- $remote_data = $this->syncManager->getRemoteConfigurations($node);
- }
- catch (SyncException $e) {
- $this->messenger()->addError($this->t('There was a problem accessing the sync source:
@error', [
- '@error' => $e->getMessage(),
- ]));
- $form['sync_elements']['#disabled'] = TRUE;
- }
-
- $header = [
- 'source_type' => $this->t('Source type'),
- 'plugin' => $this->t('Plugin'),
- 'syncable' => $this->t('Syncable'),
- 'status' => $this->t('Status'),
- ];
-
- $form['sync_element_select'] = [
- '#type' => 'tableselect',
- '#header' => $header,
- '#options' => [],
- ];
-
- foreach ($remote_data->elements ?? [] as $element) {
- $is_syncable = $this->syncManager->isSyncable($element);
- $has_valid_source = $this->syncManager->hasValidSource($element, $node);
- $row = [];
- $row['source_type'] = $element->type;
- $definition = $this->syncManager->getCorrespondingPluginDefintionForElement($element);
- $row['plugin'] = $definition ? $definition['admin_label'] : $this->t('Unknown');
- $row['syncable'] = $is_syncable && $has_valid_source ? $this->t('Syncable') : $this->t('Not syncable');
- $row['status'] = $this->syncManager->getSyncStatus($element, $node);
-
- $form['sync_element_select']['#options'][$element->uuid] = $row;
- $form['sync_element_select'][$element->uuid] = !$is_syncable || !$has_valid_source ? ['#disabled' => TRUE] : NULL;
- }
-
- $form['actions'] = ['#type' => 'actions'];
- $form['actions']['sync_selected'] = [
- '#type' => 'submit',
- '#value' => $this->t('Sync selected elements'),
- '#disabled' => !empty($form['sync_elements']['#disabled']),
- ];
- $form['actions']['remove_synced'] = [
- '#type' => 'submit',
- '#value' => $this->t('Remove all sync elements'),
- '#disabled' => !empty($form['sync_elements']['#disabled']),
- ];
-
- return $form;
- }
-
- /**
- * {@inheritdoc}
- */
- public function submitForm(array &$form, FormStateInterface $form_state) {
- $node = $form['#node'];
- $selected_source_uuids = array_filter($form_state->getValue('sync_element_select'));
- $action = end($form_state->getTriggeringElement()['#parents']);
- if ($action == 'remove_synced') {
- $this->syncManager->resetNode($node);
- }
- else {
- $this->syncManager->syncNode($node, $action == 'sync_selected' ? $selected_source_uuids : NULL, NULL, TRUE, FALSE);
- }
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/IncompleteElementConfigurationException.php b/html/modules/custom/ghi_element_sync/src/IncompleteElementConfigurationException.php
deleted file mode 100644
index b11000a10..000000000
--- a/html/modules/custom/ghi_element_sync/src/IncompleteElementConfigurationException.php
+++ /dev/null
@@ -1,10 +0,0 @@
-condition('type', $bundle, 'IN');
-
- // Optionally restricted by specific ids.
- if (!empty($ids)) {
- $query->condition('id', $ids, 'IN');
- }
-
- $result = $query->execute();
- $context['sandbox']['node_ids'] = array_values($result);
-
- $context['sandbox']['total'] = count($context['sandbox']['node_ids']);
- $context['results']['processed'] = 0;
- $context['results']['skipped'] = 0;
- $context['results']['total'] = $context['sandbox']['total'];
- $context['results']['errors'] = [];
- }
-
- /** @var \Drupal\ghi_element_sync\SyncManager $sync_manager */
- $sync_manager = $context['sandbox']['sync_manager'];
- $node = Node::load(array_shift($context['sandbox']['node_ids']));
-
- $messenger = \Drupal::messenger();
-
- try {
- if ($sync_manager->syncNode($node, NULL, $messenger, $sync_elements, $sync_metadata, $revisions, $cleanup)) {
- $context['results']['processed']++;
- }
- else {
- $context['results']['skipped']++;
- }
- }
- catch (SyncException $e) {
- $context['results']['errors'][] = t('@bundle @original_id (@node_id): @message', [
- '@bundle' => $node->type->entity->label(),
- '@original_id' => $node->field_original_id->value,
- '@node_id' => $node->id(),
- '@message' => $e->getMessage(),
- ]);
- $context['results']['skipped']++;
- }
-
- $messenger->deleteAll();
-
- // Set progress.
- $context['finished'] = ($context['sandbox']['total'] - count($context['sandbox']['node_ids'])) / $context['sandbox']['total'];
- }
-
- /**
- * Finish batch.
- *
- * @param bool $success
- * Indicate that the batch API tasks were all completed successfully.
- * @param array $results
- * An array of all the results that were updated in update_do_one().
- * @param array $operations
- * A list of the operations that had not been completed by the batch API.
- */
- public static function finish($success, array $results, array $operations) {
- $messenger = \Drupal::messenger();
- if ($success) {
- if (!empty($results['errors'])) {
- foreach ($results['errors'] as $error) {
- $messenger->addError($error);
- }
- $messenger->addWarning(t('The element sync had errors.'));
- }
- $messenger->addStatus(t('Successfully processed @processed nodes, skipped @skipped of a total of @total nodes.', [
- '@processed' => $results['processed'],
- '@skipped' => $results['skipped'],
- '@total' => $results['total'],
- ]));
- }
- else {
- // An error occurred.
- $message = t('An error occurred. Please check the logs.');
- $messenger->addError($message);
- }
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/SyncController.php b/html/modules/custom/ghi_element_sync/src/SyncController.php
deleted file mode 100644
index 81b107585..000000000
--- a/html/modules/custom/ghi_element_sync/src/SyncController.php
+++ /dev/null
@@ -1,94 +0,0 @@
-syncManager = $sync_manager;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('ghi_element_sync.sync_elements'),
- );
- }
-
- /**
- * Access callback for the element sync form.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return \Drupal\Core\Access\AccessResultInterface
- * The access result.
- */
- public function accessElementSyncForm(NodeInterface $node) {
- if (empty($this->syncManager->getSyncSourceUrl())) {
- return AccessResult::forbidden();
- }
- if (!in_array($node->bundle(), $this->syncManager->getAvailableNodeTypes())) {
- return AccessResult::forbidden();
- }
- if (!$node->access('update')) {
- return AccessResult::forbidden();
- }
- $base_object = BaseObjectHelper::getBaseObjectFromNode($node);
- return AccessResult::allowedIf($base_object && in_array($base_object->bundle(), SyncManager::BASE_OBJECT_TYPES_SUPPORTED));
- }
-
- /**
- * Title callback for the sync node form.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return string
- * The page title.
- */
- public function syncElementsFormTitle(NodeInterface $node) {
- return $this->t('Sync elements for @title: @type page', [
- '@title' => $node->label(),
- '@type' => $node->type->entity->label(),
- ]);
- }
-
- /**
- * Title callback for the sync node form.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return string
- * The page title.
- */
- public function syncMetadataFormTitle(NodeInterface $node) {
- return $this->t('Sync metadata for @title: @type page', [
- '@title' => $node->label(),
- '@type' => $node->type->entity->label(),
- ]);
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/SyncException.php b/html/modules/custom/ghi_element_sync/src/SyncException.php
deleted file mode 100644
index 7d8f9812e..000000000
--- a/html/modules/custom/ghi_element_sync/src/SyncException.php
+++ /dev/null
@@ -1,8 +0,0 @@
-config = $config_factory;
- $this->blockManager = $block_manager;
- $this->httpClient = $http_client;
- $this->uuidGenerator = $uuid;
- $this->time = $time;
- $this->currentUser = $user;
- $this->contextHandler = $context_handler;
- $this->layoutTempstoreRepository = $layout_tempstore_repository;
- $this->endpointQueryManager = $endpoint_query_manager;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('config.factory'),
- $container->get('plugin.manager.block'),
- $container->get('http_client'),
- $container->get('uuid'),
- $container->get('datetime.time'),
- $container->get('current_user'),
- $container->get('context.handler'),
- $container->get('layout_builder.tempstore_repository'),
- $container->get('plugin.manager.endpoint_query_manager'),
- );
- }
-
- /**
- * Get a map that relates remote metadata with local field information.
- *
- * @return array
- * A map array for metadata fields.
- */
- public function getMetadataFieldMap($metadata) {
- $map = [
- 'shortname' => [
- 'field' => 'field_short_name',
- 'property' => 'value',
- ],
- 'default_caseload' => [
- 'field' => 'field_plan_caseload',
- 'property' => 'attachment_id',
- ],
- 'document_link' => [
- 'field' => 'field_plan_document_link',
- 'property' => 'uri',
- ],
- 'max_admin_level' => [
- 'field' => 'field_max_admin_level',
- 'property' => 'value',
- ],
- 'decimal_format' => [
- 'field' => 'field_decimal_format',
- 'property' => 'value',
- ],
- 'plan_version' => [
- 'field' => 'field_plan_version_argument',
- 'property' => 'value',
- ],
- 'status_string' => [
- 'field' => 'field_plan_status',
- 'property' => 'value',
- 'callback' => [Plan::class, 'mapPlanStatus'],
- ],
- 'prevent_fts_link' => [
- 'field' => 'field_link_to_fts',
- 'property' => 'value',
- 'callback' => [Plan::class, 'mapFtsLink'],
- ],
- 'visible_on_homepage' => [
- 'field' => 'field_visible_on_global_pages',
- 'property' => 'value',
- ],
- ];
- $map['footnotes'] = [
- 'field' => 'field_footnotes',
- 'properties' => [],
- ];
- foreach (array_keys((array) ($metadata->footnotes ?? [])) as $property) {
- $map['footnotes']['properties'][] = $property;
- }
- return $map;
- }
-
- /**
- * Sync a node form a remote source.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node for which elements should be synced.
- * @param array $source_uuids
- * Optionally limit to specific source uuids.
- * @param \Drupal\Core\Messenger\MessengerInterface $messenger
- * An optional messenger to use for result messages.
- * @param bool $sync_elements
- * Whether elements should be synced.
- * @param bool $sync_metadata
- * Whether metadata should be synced.
- * @param bool $revisions
- * Whether new revisions should be created.
- * @param bool $cleanup
- * Whether existing elements should be cleaned up first.
- *
- * @return bool
- * Indicating whether the node has been sucessfully processed or not.
- *
- * @throws SyncException
- * When an error occurs.
- */
- public function syncNode(NodeInterface $node, array $source_uuids = NULL, MessengerInterface $messenger = NULL, $sync_elements = TRUE, $sync_metadata = TRUE, $revisions = FALSE, $cleanup = FALSE) {
- if ($messenger === NULL) {
- $messenger = $this->messenger();
- }
-
- $base_object = BaseObjectHelper::getBaseObjectFromNode($node);
- if (!in_array($base_object->bundle(), self::BASE_OBJECT_TYPES_SUPPORTED)) {
- return FALSE;
- }
-
- $remote_data = $this->getRemoteConfigurations($node);
- $sections = $this->getNodeSections($node);
- $delta = 0;
-
- if ($cleanup && $sections[$delta]->getComponents()) {
- foreach ($sections[$delta]->getComponents() as $component) {
- $sections[$delta]->removeComponent($component->getUuid());
- }
- }
-
- // For base objects of type plan or governing_entity, we also support the
- // syncing of metadata.
- if (($base_object instanceof Plan || $base_object instanceof GoverningEntity) && $sync_metadata) {
- $metadata = $remote_data->metadata ?? (object) [];
- if ($metadata->status) {
- $node->setPublished();
- }
- else {
- $node->setUnpublished();
- }
-
- // Handle the image. Only act if we have something configured on the
- // remote. Otherwise leave the local setup untouched as we risk to
- // override local customizations.
- $remote_hero_image_attachment_id = $this->getRemoteHeroImageAttachmentId($node);
- if ($remote_hero_image_attachment_id) {
- $node->get('field_hero_image')->setValue([
- 'source' => 'hpc_webcontent_file_attachment',
- 'settings' => [
- 'hpc_webcontent_file_attachment' => [
- 'attachment_id' => $remote_hero_image_attachment_id,
- ],
- ],
- ]);
- }
-
- // GVE only sync the publication status, plans also a couple of
- // additional fields.
- if ($base_object instanceof Plan) {
- $field_map = $this->getMetadataFieldMap($metadata);
- foreach ($field_map as $remote_property => $local_def) {
- if ($remote_property == 'footnotes') {
- $base_object->field_footnotes = [];
- foreach ($local_def['properties'] as $footnote_property) {
- $base_object->field_footnotes[] = [
- 'property' => $footnote_property,
- 'footnote' => $metadata->{$remote_property}->{$footnote_property} ?? NULL,
- ];
- }
- }
- else {
- $value = $metadata->{$remote_property} ?? NULL;
- if ($value !== NULL && !empty($local_def['callback'])) {
- $value = $local_def['callback']($value);
- }
- $base_object->{$local_def['field']}->{$local_def['property']} = $value;
- if ($local_def['property'] == 'uri') {
- $base_object->{$local_def['field']}->options = [];
- }
- }
- }
- }
-
- // @codingStandardsIgnoreStart
- // $base_object->?? = $metadata->plan_version;
- // $base_object->?? = $metadata->prevent_fts_link;
- // @codingStandardsIgnoreEnd
- $base_object->save();
- }
-
- if ($sync_elements) {
- foreach ($remote_data->elements ?? [] as $element) {
- if (!$this->isSyncable($element)) {
- continue;
- }
- if ($source_uuids !== NULL && !in_array($element->uuid, $source_uuids)) {
- continue;
- }
- // Setup the context mapping.
- $definition = $this->getCorrespondingPluginDefintionForElement($element);
- $context_mapping = [
- 'context_mapping' => array_intersect_key([
- 'node' => 'layout_builder.entity',
- ], $definition['context_definitions']),
- ];
- // And make sure that base objects are mapped too.
- $base_objects = BaseObjectHelper::getBaseObjectsFromNode($node);
- foreach ($base_objects as $_base_object) {
- $contexts = [
- EntityContext::fromEntity($_base_object),
- ];
- foreach ($definition['context_definitions'] as $context_key => $context_definition) {
- $matching_contexts = $this->contextHandler->getMatchingContexts($contexts, $context_definition);
- if (empty($matching_contexts)) {
- continue;
- }
- $context_mapping['context_mapping'][$context_key] = $_base_object->getUniqueIdentifier();
- }
- }
-
- try {
- $mapped_config = $this->getMappedConfig($element, $node);
- }
- catch (IncompleteElementConfigurationException $e) {
- continue;
- }
- $existing_component = $this->getExistingSyncedComponent($node, $element);
- if ($existing_component) {
- // Update an existing component.
- $configuration = $mapped_config + $context_mapping + $existing_component->get('configuration');
- $existing_component->setConfiguration($configuration);
- $messenger->addMessage($this->t('Updated %plugin_title', [
- '%plugin_title' => $definition['admin_label'],
- ]), $messenger::TYPE_STATUS, TRUE);
- }
- else {
- // Append a new component.
- $messenger->addMessage($this->t('Added %plugin_title', [
- '%plugin_title' => $definition['admin_label'],
- ]), $messenger::TYPE_STATUS, TRUE);
- $config = array_filter([
- 'id' => $definition['id'],
- 'provider' => $definition['provider'],
- 'data_sources' => $definition['data_sources'] ?? NULL,
- 'sync' => [
- 'source_uuid' => $element->uuid,
- ],
- ]) + $context_mapping;
- $config += $mapped_config;
-
- $component = new SectionComponent($this->uuidGenerator->generate(), 'content', $config);
- $sections[$delta]->appendComponent($component);
- }
-
- }
- }
-
- $node->get(OverridesSectionStorage::FIELD_NAME)->setValue($sections);
- if ($revisions) {
- $node->setNewRevision(TRUE);
- $node->revision_log = $this->t('Synced page elements from @source_url', ['@source_url' => $this->getSyncSourceUrl()]);
- $node->setRevisionCreationTime($this->time->getRequestTime());
- $node->setRevisionUserId($this->currentUser->id());
- }
- $node->save();
-
- $this->layoutManagerDiscardChanges($node, $messenger);
-
- return TRUE;
- }
-
- /**
- * Remove previously synched elements from a node.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node for which elements should be synced.
- *
- * @return bool
- * Indicating whether the node has been sucessfully reset or not.
- *
- * @throws SyncException
- * When an error occurs.
- */
- public function resetNode(NodeInterface $node) {
- $base_object = BaseObjectHelper::getBaseObjectFromNode($node);
- if (!in_array($base_object->bundle(), self::BASE_OBJECT_TYPES_SUPPORTED)) {
- return FALSE;
- }
-
- $remote_data = $this->getRemoteConfigurations($node);
- $sections = $this->getNodeSections($node);
- $delta = 0;
-
- foreach ($remote_data->elements ?? [] as $element) {
- if (!$this->isSyncable($element)) {
- continue;
- }
- $existing_component = $this->getExistingSyncedComponent($node, $element);
- if ($existing_component) {
- $sections[$delta]->removeComponent($existing_component->getUuid());
- }
- }
-
- $this->layoutManagerDiscardChanges($node, $this->messenger());
-
- $node->get(OverridesSectionStorage::FIELD_NAME)->setValue($sections);
- $node->setNewRevision(TRUE);
- $node->revision_log = $this->t('Removed previously synced page elements from @source_url', ['@source_url' => $this->getSyncSourceUrl()]);
- $node->setRevisionCreationTime($this->time->getRequestTime());
- $node->setRevisionUserId($this->currentUser->id());
- $node->save();
-
- return TRUE;
- }
-
- /**
- * Send a query to the remote instance.
- *
- * @param array|string $args
- * An array of arguments that will be added to the base url.
- *
- * @return mixed
- * The data received from the remote.
- *
- * @see self::getRequestUrl()
- */
- public function sendRemoteQuery($args) {
- $settings = $this->getSettings();
- if (empty($settings->get('sync_source'))) {
- throw new SyncException('Error: Source is not configured');
- }
-
- try {
- $args = (array) $args;
- $response = $this->httpClient->request('GET', $this->getRequestUrl($args), $this->getRequestOptions());
- }
- catch (\Exception $e) {
- throw new SyncException($e->getMessage());
- }
-
- $code = $response->getStatusCode();
- if ($code != 200) {
- throw new SyncException('Error: Invalid response');
- }
-
- $body = $response->getBody()->getContents();
- if (empty($body)) {
- throw new SyncException('Error: Empty response');
- }
-
- $data = json_decode($body);
- if (empty($data->status)) {
- throw new SyncException('Error: Access key misconfigured or object not valid');
- }
- return $data;
- }
-
- /**
- * Check the connection to the configured source for plan element sync.
- *
- * @return bool
- * TRUE if a connection can be established, FALSE otherwise.
- */
- public function checkConnection($bubble_exception = FALSE) {
- try {
- $this->sendRemoteQuery('status');
- }
- catch (SyncException $e) {
- if ($bubble_exception) {
- throw $e;
- }
- return FALSE;
- }
- return TRUE;
- }
-
- /**
- * Get all element configurations from the remote.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return object
- * A configuration objects from the remote.
- *
- * @throws \Drupal\ghi_element_sync\SyncException
- * Thrown when the remote source can't be reached or does not respond
- * correctly.
- */
- public function getRemoteConfigurations(NodeInterface $node) {
- $base_object = BaseObjectHelper::getBaseObjectFromNode($node);
- $original_id = $base_object->field_original_id->value;
- $bundle = $base_object->bundle();
- $data = $this->sendRemoteQuery([$original_id, $bundle]);
- if (empty($data)) {
- // No error, but nothing to do either.
- return [];
- }
- return $data;
- }
-
- /**
- * Get the plugin that corresponds to the element from the remote system.
- *
- * @param object $element
- * The element object from the remote.
- *
- * @return mixed
- * A plugin definition, or NULL if the element type is invalid.
- */
- public function getCorrespondingPluginDefintionForElement($element) {
- $definitions = $this->blockManager->getDefinitions();
- if (!property_exists($element, 'type')) {
- return NULL;
- }
- if (isset($definitions[$element->type])) {
- return $definitions[$element->type];
- }
- // If there is no direct match, see if we can find a plugin that wants to
- // handle this element type.
- $definitions = array_filter($definitions, function ($definition) use ($element) {
- return array_key_exists('valid_source_elements', $definition) && in_array($element->type, $definition['valid_source_elements']);
- });
- return !empty($definitions) && count($definitions) == 1 ? reset($definitions) : NULL;
- }
-
- /**
- * Checks if the given element is syncable.
- *
- * @param object $element
- * The element object from the remote.
- *
- * @return bool
- * Whether the element is syncable.
- */
- public function isSyncable($element) {
- $definition = $this->getCorrespondingPluginDefintionForElement($element);
- if (!$definition) {
- return FALSE;
- }
- $class = $definition['class'];
- return in_array('Drupal\ghi_element_sync\SyncableBlockInterface', class_implements($class));
- }
-
- /**
- * Checks if the given element has a valid source that allows synching.
- *
- * @param object $element
- * The element object from the remote.
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return bool
- * Whether the element has a valid source.
- */
- public function hasValidSource($element, NodeInterface $node) {
- if (!$this->isSyncable($element)) {
- return FALSE;
- }
- try {
- $mapped_config = $this->getMappedConfig($element, $node, TRUE);
- }
- catch (IncompleteElementConfigurationException $e) {
- return FALSE;
- }
- return !empty($mapped_config);
- }
-
- /**
- * Get the current sync status.
- *
- * @param object $element
- * The element object from the remote.
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return string
- * A string representing the sync status.
- */
- public function getSyncStatus($element, NodeInterface $node) {
- if (!$this->isSyncable($element)) {
- return '';
- }
- $existing_component = $this->getExistingSyncedComponent($node, $element);
- if (!$existing_component) {
- return $this->t('Not synced');
- }
- try {
- $mapped_config = $this->getMappedConfig($element, $node, TRUE);
- }
- catch (IncompleteElementConfigurationException $e) {
- $mapped_config = NULL;
- }
- if ($mapped_config === NULL) {
- return $this->t('Invalid source');
- }
- $remote_hash = md5(serialize($mapped_config['hpc']));
- $local_hash = md5(serialize($existing_component->get('configuration')['hpc']));
- return $remote_hash == $local_hash ? $this->t('In sync') : $this->t('Changed');
- }
-
- /**
- * Get the mapped config for the given element.
- *
- * @param object $element
- * The source element.
- * @param \Drupal\node\NodeInterface $node
- * The node object that is the sync target.
- * @param bool $dry_run
- * Whether this is a test or a real mapping.
- *
- * @return array
- * A mapped config array.
- *
- * @throws \Drupal\ghi_element_sync\IncompleteElementConfigurationException;
- */
- private function getMappedConfig($element, NodeInterface $node, $dry_run = FALSE) {
- $definition = $this->getCorrespondingPluginDefintionForElement($element);
- if (!$definition) {
- return NULL;
- }
- $class = $definition['class'];
- $config = json_decode(json_encode($element->configuration));
-
- $common_config = [];
- $widget_options = $config->widget_options ?? NULL;
- $widget_visibility = $widget_options ? ($widget_options->widget_visibility ?? NULL) : NULL;
- if (!empty($widget_visibility) && $widget_visibility != 'public') {
- $common_config['visibility_status'] = 'hidden';
- }
- return $class::mapConfig($config, $node, $element->type, $dry_run) + $common_config;
- }
-
- /**
- * Find a section component corresponding to the given source element.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- * @param object $element
- * The configuration object from the sync source.
- *
- * @return \Drupal\layout_builder\SectionComponent|null
- * Either a matching component, or NULL.
- */
- private function getExistingSyncedComponent(NodeInterface $node, $element) {
- $section_storage = $this->getSectionStorageForEntity($node);
- $sections = $section_storage->getSections();
- foreach ($sections[0]->getComponents() as $component) {
- $configuration = $component->get('configuration');
- if (!empty($configuration['sync']) && !empty($configuration['sync']['source_uuid']) && $configuration['sync']['source_uuid'] == $element->uuid) {
- return $component;
- }
- }
- return NULL;
- }
-
- /**
- * Get sections for the given node.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return \Drupal\layout_builder\Section[]
- * An array of layout builder sections.
- */
- private function getNodeSections(NodeInterface $node) {
- $section_storage = $this->getSectionStorageForEntity($node);
- if (!$section_storage) {
- return NULL;
- }
- $sections = $section_storage->getSections();
- return $sections;
- }
-
- /**
- * Get the hero image attachment id on the remote if available.
- *
- * Beause their is no dedicated field on the remote pages that designates a
- * hero image, we "guess", by looking at the configued page elements on the
- * remote. If the first element is of type plan_webcontent_file, then we
- * assume that this is the hero image.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return int|null
- * An attachment id or NULL.
- */
- public function getRemoteHeroImageAttachmentId(NodeInterface $node) {
- $remote_data = $this->getRemoteConfigurations($node);
- $elements = $remote_data->elements ?? [];
- $first_element = reset($elements);
- if (!$first_element || $first_element->type != 'plan_webcontent_file') {
- return NULL;
- }
- return $first_element->configuration?->attachment_id;
- }
-
- /**
- * Get the urr of the hero image on the remote if available.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return string|null
- * A url string or NULL.
- */
- public function getRemoteHeroImageUrl(NodeInterface $node) {
- $attachment_id = $this->getRemoteHeroImageAttachmentId($node);
- if (!$attachment_id) {
- return NULL;
- }
- /** @var \Drupal\ghi_plans\Plugin\EndpointQuery\AttachmentQuery $attachment_query */
- $attachment_query = $this->endpointQueryManager->createInstance('attachment_query');
- $attachment = $attachment_query->getAttachment($attachment_id);
- return $attachment instanceof FileAttachment ? $attachment->getUrl() : NULL;
- }
-
- /**
- * Check if the hero image is in sync.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node object.
- *
- * @return bool
- * TRUE if in sync, FALSE otherwise.
- */
- public function isHeroImageSynced(NodeInterface $node) {
- $remote_attachment_id = $this->getRemoteHeroImageAttachmentId($node);
- $local_hero_image_conf = $node->get('field_hero_image')->get(0)->getValue();
- $local_source = !empty($local_hero_image_conf['source']) ? $local_hero_image_conf['source'] : NULL;
- if ($remote_attachment_id && (!$local_source || $local_source != 'hpc_webcontent_file_attachment')) {
- // If we have a remote id and no local file attachment is configured,
- // it's out of sync.
- return FALSE;
- }
- if (empty($local_hero_image_conf['settings']['hpc_webcontent_file_attachment'])) {
- // No settings for the local hero image means it's using default
- // fallbacks, so there probably is an image visible, but not sure.
- return NULL;
- }
- $local_attachment_id = $local_hero_image_conf['settings']['hpc_webcontent_file_attachment']['attachment_id'] ?? NULL;
- return $remote_attachment_id == $local_attachment_id;
- }
-
- /**
- * Clear layout builders shared temp store.
- *
- * @param \Drupal\node\NodeInterface $node
- * The node for which elements should be synced.
- * @param \Drupal\Core\Messenger\MessengerInterface $messenger
- * A messenger to use for result messages.
- */
- private function layoutManagerDiscardChanges(NodeInterface $node, MessengerInterface $messenger) {
- $section_storage = $this->getSectionStorageForEntity($node);
- // @todo See if the view mode can be retrieved somehow.
- $section_storage->setContextValue('view_mode', 'default');
- $this->layoutTempstoreRepository->delete($section_storage);
- $messenger->addMessage($this->t('Cleared layout builder temporary storage'));
- }
-
- /**
- * Get the sync settings.
- *
- * @return \Drupal\Core\Config\ImmutableConfig
- * A settings object.
- */
- private function getSettings() {
- return $this->config->get('ghi_element_sync.settings');
- }
-
- /**
- * Get the sync source URL.
- *
- * @return string
- * The sync source url.
- */
- public function getSyncSourceUrl() {
- return $this->getSettings()->get('sync_source');
- }
-
- /**
- * Get the request url for a remote query.
- *
- * @param array $args
- * The args that will be added to the plan elements export endpoint.
- *
- * @return string
- * The request url as a string.
- */
- public function getRequestUrl(array $args) {
- $source_url = rtrim($this->getSyncSourceUrl(), '/');
- return $source_url . '/admin/hpc/plan-elements/export/' . implode('/', $args) . '?time=' . microtime(TRUE);
- }
-
- /**
- * Get the request options.
- *
- * This includes authentication headers and an secret cookie for additional
- * authentication.
- *
- * @return array
- * An array of headers.
- */
- public function getRequestOptions() {
- $headers = [];
- $settings = $this->getSettings();
- $basic_auth = $settings->get('basic_auth');
- if ($basic_auth && !empty($basic_auth['user']) && !empty($basic_auth['pass'])) {
- $headers['Authorization'] = 'Basic ' . base64_encode($basic_auth['user'] . ':' . $basic_auth['pass']);
- }
-
- $cookies = [
- 'access_key' => $settings->get('access_key'),
- ];
- $jar = CookieJar::fromArray($cookies, parse_url($settings->get('sync_source'), PHP_URL_HOST));
- return [
- 'headers' => $headers,
- 'cookies' => $jar,
- ];
- }
-
- /**
- * Get the available node types for syncing.
- *
- * @return array
- * An array of node type names.
- */
- public function getAvailableNodeTypes() {
- return $this->getSettings()->get('node_types') ?? [];
- }
-
-}
diff --git a/html/modules/custom/ghi_element_sync/src/SyncableBlockInterface.php b/html/modules/custom/ghi_element_sync/src/SyncableBlockInterface.php
deleted file mode 100644
index 0ae55969c..000000000
--- a/html/modules/custom/ghi_element_sync/src/SyncableBlockInterface.php
+++ /dev/null
@@ -1,32 +0,0 @@
-getMasterRequest();
+ $request = $request_stack->getMainRequest();
/** @var \Drupal\node\Entity\Node $node */
$node = $request->attributes->has('node') ? $request->attributes->get('node') : NULL;
if (!$node instanceof NodeInterface || !$node->getFieldDefinitions() || !$node->access()) {
diff --git a/html/modules/custom/ghi_local_tasks/ghi_local_tasks.info.yml b/html/modules/custom/ghi_local_tasks/ghi_local_tasks.info.yml
index 5cb8b485c..3bf15d97d 100644
--- a/html/modules/custom/ghi_local_tasks/ghi_local_tasks.info.yml
+++ b/html/modules/custom/ghi_local_tasks/ghi_local_tasks.info.yml
@@ -3,7 +3,7 @@ description: Provide improved local tasks in the admin toolbar.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- gin_toolbar:gin_toolbar
diff --git a/html/modules/custom/ghi_menu/ghi_menu.info.yml b/html/modules/custom/ghi_menu/ghi_menu.info.yml
index c59395858..8163fe191 100644
--- a/html/modules/custom/ghi_menu/ghi_menu.info.yml
+++ b/html/modules/custom/ghi_menu/ghi_menu.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around menus.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_sections:ghi_sections
\ No newline at end of file
diff --git a/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.info.yml b/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.info.yml
index 587876ca1..931bc8a46 100644
--- a/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.info.yml
+++ b/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around plan clusters.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_subpages:ghi_subpages
diff --git a/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.post_update.php b/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.post_update.php
index 0ba109e39..7be76671b 100644
--- a/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.post_update.php
+++ b/html/modules/custom/ghi_plan_clusters/ghi_plan_clusters.post_update.php
@@ -16,6 +16,7 @@ function ghi_plan_clusters_post_update_assure_section_reference() {
->getQuery()
->condition('type', 'plan_cluster')
->notExists('field_entity_reference')
+ ->accessCheck(FALSE)
->execute();
if (empty($nids)) {
return;
diff --git a/html/modules/custom/ghi_plans/ghi_plans.info.yml b/html/modules/custom/ghi_plans/ghi_plans.info.yml
index 25c63ea1c..2d6c88b04 100644
--- a/html/modules/custom/ghi_plans/ghi_plans.info.yml
+++ b/html/modules/custom/ghi_plans/ghi_plans.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around plans and related objects.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- hpc_api:hpc_api
diff --git a/html/modules/custom/ghi_sections/ghi_sections.info.yml b/html/modules/custom/ghi_sections/ghi_sections.info.yml
index 59a5ff88e..ddf73a204 100644
--- a/html/modules/custom/ghi_sections/ghi_sections.info.yml
+++ b/html/modules/custom/ghi_sections/ghi_sections.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around page sections based on API base objects.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- drupal:layout_builder
diff --git a/html/modules/custom/ghi_subpages/ghi_subpages.deploy.php b/html/modules/custom/ghi_subpages/ghi_subpages.deploy.php
index 3373aa816..e67f1b00a 100644
--- a/html/modules/custom/ghi_subpages/ghi_subpages.deploy.php
+++ b/html/modules/custom/ghi_subpages/ghi_subpages.deploy.php
@@ -13,7 +13,7 @@
function ghi_subpages_deploy_create_standard_subpages(&$sandbox) {
if (!isset($sandbox['sections'])) {
// Get existing content of type "section".
- $sections = \Drupal::entityQuery('node')->condition('type', 'section')->execute();
+ $sections = \Drupal::entityQuery('node')->condition('type', 'section')->accessCheck(FALSE)->execute();
$sandbox['sections'] = $sections;
}
@@ -31,7 +31,7 @@ function ghi_subpages_deploy_create_standard_subpages(&$sandbox) {
function ghi_subpages_deploy_queue_logframes(&$sandbox) {
// Queue all logframes for rebuilding.
/** @var \Drupal\node\NodeInterface[] $nodes */
- $node_ids = \Drupal::entityQuery('node')->condition('type', 'logframe')->execute();
+ $node_ids = \Drupal::entityQuery('node')->condition('type', 'logframe')->accessCheck(FALSE)->execute();
foreach ($node_ids as $node_id) {
\Drupal::queue('ghi_subpages_logframe_rebuild_queue')->createItem((object) [
'entity_id' => $node_id,
@@ -48,7 +48,7 @@ function ghi_subpages_deploy_queue_logframes(&$sandbox) {
*/
function ghi_subpages_deploy_update_subpage_url_aliases(&$sandbox) {
if (!isset($sandbox['nodes'])) {
- $sandbox['nodes'] = \Drupal::entityQuery('node')->condition('type', SubpageManager::SUPPORTED_SUBPAGE_TYPES, 'IN')->execute();
+ $sandbox['nodes'] = \Drupal::entityQuery('node')->condition('type', SubpageManager::SUPPORTED_SUBPAGE_TYPES, 'IN')->accessCheck(FALSE)->execute();
drupal_flush_all_caches();
\Drupal::service('pathauto.generator')->resetCaches();
}
diff --git a/html/modules/custom/ghi_subpages/ghi_subpages.info.yml b/html/modules/custom/ghi_subpages/ghi_subpages.info.yml
index 135dee2ab..b1390c943 100644
--- a/html/modules/custom/ghi_subpages/ghi_subpages.info.yml
+++ b/html/modules/custom/ghi_subpages/ghi_subpages.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around subpages for sections and global sections.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_sections:ghi_sections
diff --git a/html/modules/custom/ghi_subpages/src/Controller/SubpagesAdminController.php b/html/modules/custom/ghi_subpages/src/Controller/SubpagesAdminController.php
index 7220eec9d..623867eb4 100644
--- a/html/modules/custom/ghi_subpages/src/Controller/SubpagesAdminController.php
+++ b/html/modules/custom/ghi_subpages/src/Controller/SubpagesAdminController.php
@@ -5,10 +5,8 @@
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Controller\ControllerBase;
use Drupal\ghi_subpages\SubpageTrait;
-use Drupal\node\Access\NodeAddAccessCheck;
use Drupal\node\NodeInterface;
use Drupal\node\NodeTypeInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Controller for autocomplete plan loading.
@@ -17,29 +15,6 @@ class SubpagesAdminController extends ControllerBase {
use SubpageTrait;
- /**
- * The node add access check service.
- *
- * @var \Drupal\node\Access\NodeAddAccessCheck
- */
- private $nodeAddAccessCheck;
-
- /**
- * Public constructor.
- */
- public function __construct(NodeAddAccessCheck $node_add_access_check) {
- $this->nodeAddAccessCheck = $node_add_access_check;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function create(ContainerInterface $container) {
- return new static(
- $container->get('access_check.node.add')
- );
- }
-
/**
* Access callback for the subpages page.
*
@@ -79,7 +54,7 @@ public function nodeCreateAccess(NodeTypeInterface $node_type) {
return AccessResult::forbidden();
}
// Fall back to node type access check.
- return $this->nodeAddAccessCheck->access($this->currentUser(), $node_type);
+ return $this->entityTypeManager()->getAccessControlHandler('node')->createAccess($node_type->id(), $this->currentUser(), [], TRUE);
}
/**
diff --git a/html/modules/custom/ghi_subpages/src/LogframeRebuildBatch.php b/html/modules/custom/ghi_subpages/src/LogframeRebuildBatch.php
index 2c5bf201a..88583f415 100644
--- a/html/modules/custom/ghi_subpages/src/LogframeRebuildBatch.php
+++ b/html/modules/custom/ghi_subpages/src/LogframeRebuildBatch.php
@@ -27,7 +27,7 @@ public static function process(LogframeManager $logframe_manager, &$context) {
$query = \Drupal::entityQuery('node')
->condition('type', 'logframe');
- $result = $query->execute();
+ $result = $query->accessCheck(FALSE)->execute();
$context['sandbox']['node_ids'] = array_values($result);
$context['sandbox']['total'] = count($context['sandbox']['node_ids']);
diff --git a/html/modules/custom/ghi_subpages_custom/ghi_subpages_custom.info.yml b/html/modules/custom/ghi_subpages_custom/ghi_subpages_custom.info.yml
index e7165ed29..76c11f932 100644
--- a/html/modules/custom/ghi_subpages_custom/ghi_subpages_custom.info.yml
+++ b/html/modules/custom/ghi_subpages_custom/ghi_subpages_custom.info.yml
@@ -3,7 +3,7 @@ description: Provide logic around custom subpages.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_sections:ghi_sections
diff --git a/html/modules/custom/ghi_teams/ghi_teams.info.yml b/html/modules/custom/ghi_teams/ghi_teams.info.yml
index e3809f79b..6ed48a2f4 100644
--- a/html/modules/custom/ghi_teams/ghi_teams.info.yml
+++ b/html/modules/custom/ghi_teams/ghi_teams.info.yml
@@ -3,7 +3,7 @@ description: Provide logic teams and content access based on team association.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- drupal:taxonomy
diff --git a/html/modules/custom/ghi_teams/ghi_teams.post_update.php b/html/modules/custom/ghi_teams/ghi_teams.post_update.php
index 8f28c74f3..0d900a293 100644
--- a/html/modules/custom/ghi_teams/ghi_teams.post_update.php
+++ b/html/modules/custom/ghi_teams/ghi_teams.post_update.php
@@ -15,6 +15,7 @@ function ghi_teams_post_update_set_new_roles() {
->getStorage('user')
->getQuery()
->condition('roles', 'editor')
+ ->accessCheck(FALSE)
->execute();
if (empty($uids_editor)) {
return;
diff --git a/html/modules/custom/ghi_templates/ghi_templates.info.yml b/html/modules/custom/ghi_templates/ghi_templates.info.yml
index 7a6fecb59..3fe34ba79 100644
--- a/html/modules/custom/ghi_templates/ghi_templates.info.yml
+++ b/html/modules/custom/ghi_templates/ghi_templates.info.yml
@@ -3,7 +3,7 @@ description: Provide templating for GHI layout builder pages.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- drupal:layout_builder
diff --git a/html/modules/custom/ghi_user/ghi_user.info.yml b/html/modules/custom/ghi_user/ghi_user.info.yml
index 666719d3b..4cda4aa1d 100644
--- a/html/modules/custom/ghi_user/ghi_user.info.yml
+++ b/html/modules/custom/ghi_user/ghi_user.info.yml
@@ -3,7 +3,7 @@ description: Provide user logic specific to GHI.
package: GHI
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- ghi_subpages:ghi_subpages
\ No newline at end of file
diff --git a/html/modules/custom/hpc_api/hpc_api.info.yml b/html/modules/custom/hpc_api/hpc_api.info.yml
index c59f1e239..06d0453ab 100644
--- a/html/modules/custom/hpc_api/hpc_api.info.yml
+++ b/html/modules/custom/hpc_api/hpc_api.info.yml
@@ -4,7 +4,7 @@ package: HPC
configure: hpc_api.config
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- migrate_plus:migrate_plus
\ No newline at end of file
diff --git a/html/modules/custom/hpc_api/src/GeoJsonService.php b/html/modules/custom/hpc_api/src/GeoJsonService.php
index 57cf257df..aa6e36280 100644
--- a/html/modules/custom/hpc_api/src/GeoJsonService.php
+++ b/html/modules/custom/hpc_api/src/GeoJsonService.php
@@ -31,7 +31,7 @@ public function getGeoJson($filepath, $refresh = FALSE) {
// First see if we have a local copy already.
$local_path = self::GEO_JSON_DIR . '/' . basename($filepath);
if (file_exists($local_path) && !$refresh) {
- if (filemtime($local_path) < REQUEST_TIME - self::GEO_JSON_LIFETIME) {
+ if (filemtime($local_path) < \Drupal::time()->getRequestTime() - self::GEO_JSON_LIFETIME) {
$this->getGeoJson($filepath_remote, TRUE);
}
else {
diff --git a/html/modules/custom/hpc_api/tests/src/Unit/EndpointQueryTest.php b/html/modules/custom/hpc_api/tests/src/Unit/EndpointQueryTest.php
index 0db64d41f..fce00cce5 100644
--- a/html/modules/custom/hpc_api/tests/src/Unit/EndpointQueryTest.php
+++ b/html/modules/custom/hpc_api/tests/src/Unit/EndpointQueryTest.php
@@ -13,6 +13,7 @@
use Drupal\Tests\UnitTestCase;
use GuzzleHttp\Psr7\Response;
use Prophecy\Argument;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_api\Query\EndpointQuery
@@ -21,6 +22,8 @@
*/
class EndpointQueryTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The endpoint query instance.
*
diff --git a/html/modules/custom/hpc_common/hpc_common.info.yml b/html/modules/custom/hpc_common/hpc_common.info.yml
index accfb2cd7..54f09caf5 100644
--- a/html/modules/custom/hpc_common/hpc_common.info.yml
+++ b/html/modules/custom/hpc_common/hpc_common.info.yml
@@ -1,9 +1,8 @@
name: 'HPC Common'
type: module
description: 'Common base definitions for HPC features in Drupal 8'
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
package: 'HPC'
dependencies:
- drupal:node
- - hpc_api:hpc_api
- - tippy:tippy
\ No newline at end of file
+ - hpc_api:hpc_api
\ No newline at end of file
diff --git a/html/modules/custom/hpc_common/hpc_common.libraries.yml b/html/modules/custom/hpc_common/hpc_common.libraries.yml
index e1f7ff58b..bfc3ec17f 100644
--- a/html/modules/custom/hpc_common/hpc_common.libraries.yml
+++ b/html/modules/custom/hpc_common/hpc_common.libraries.yml
@@ -6,11 +6,25 @@ icon:
css:
theme:
css/icon.css: {}
+
+# atomiks.github.io/tippyjs
+tippy.js:
+ remote: https://github.com/atomiks/tippyjs
+ license: &tippy_license
+ name: MIT
+ url: https://github.com/atomiks/tippyjs/blob/master/LICENSE
+ gpl-compatible: true
+ version: 6
+ js:
+ https://unpkg.com/tippy.js@6: { type: external, minified: true, attributes: { defer: false, async: false } }
+ dependencies:
+ - core/popperjs
+
tooltip:
js:
js/tooltip.js: {}
dependencies:
- - tippy/tippy.js
+ - hpc_common/tippy.js
popover:
css:
theme:
@@ -26,4 +40,4 @@ sparkline:
js/sparkline.js: {}
dependencies:
- hpc_common/d3
- - tippy/tippy.js
\ No newline at end of file
+ - hpc_common/tippy.js
\ No newline at end of file
diff --git a/html/modules/custom/hpc_common/src/Helpers/NodeHelper.php b/html/modules/custom/hpc_common/src/Helpers/NodeHelper.php
index ad5ad4f21..4144741e0 100644
--- a/html/modules/custom/hpc_common/src/Helpers/NodeHelper.php
+++ b/html/modules/custom/hpc_common/src/Helpers/NodeHelper.php
@@ -117,6 +117,7 @@ public static function getNodesFromTitle($title, $bundle, $operator = 'CONTAINS'
->condition('title', $title, $operator)
->condition('type', $bundle)
->sort('nid', 'DESC')
+ ->accessCheck()
->execute();
$nodes = Node::loadMultiple($nids);
$nodes = array_filter($nodes, function ($node) {
@@ -193,6 +194,7 @@ public static function getTitleFromOriginalId($original_id, $bundle) {
public static function getOriginalIdFromTitle($title, $bundle) {
$query = \Drupal::entityQuery('node');
$query->condition('title', $title)->condition('type', $bundle);
+ $query->accessCheck();
$result = $query->execute();
if (empty($result)) {
return NULL;
diff --git a/html/modules/custom/hpc_common/src/Helpers/TaxonomyHelper.php b/html/modules/custom/hpc_common/src/Helpers/TaxonomyHelper.php
index cb3137911..406c16973 100644
--- a/html/modules/custom/hpc_common/src/Helpers/TaxonomyHelper.php
+++ b/html/modules/custom/hpc_common/src/Helpers/TaxonomyHelper.php
@@ -321,6 +321,7 @@ public static function getTermIdsByFieldValue($field_name, $value, $vid) {
$result = $query
->condition($field_name, $value)
->condition('vid', $vid)
+ ->accessCheck()
->execute();
if (empty($result)) {
diff --git a/html/modules/custom/hpc_common/src/Helpers/ThemeHelper.php b/html/modules/custom/hpc_common/src/Helpers/ThemeHelper.php
index f33be2aa1..8e402a912 100644
--- a/html/modules/custom/hpc_common/src/Helpers/ThemeHelper.php
+++ b/html/modules/custom/hpc_common/src/Helpers/ThemeHelper.php
@@ -141,7 +141,9 @@ public static function getNumberSuffix($scale, $abbreviation = TRUE) {
* Get the URI to the FTS icon.
*/
public static function getUriToFtsIcon() {
- return '/' . drupal_get_path('module', 'hpc_common') . '/assets/fts-logo-mobile.png';
+ /** @var \Drupal\Core\Extension\ExtensionPathResolver $path_resolver */
+ $path_resolver = \Drupal::service('extension.path.resolver');
+ return '/' . $path_resolver->getPath('module', 'hpc_common') . '/assets/fts-logo-mobile.png';
}
/**
diff --git a/html/modules/custom/hpc_common/src/Plugin/HPCBlockBase.php b/html/modules/custom/hpc_common/src/Plugin/HPCBlockBase.php
index 4334d0cfd..1c5d8eaf8 100644
--- a/html/modules/custom/hpc_common/src/Plugin/HPCBlockBase.php
+++ b/html/modules/custom/hpc_common/src/Plugin/HPCBlockBase.php
@@ -77,7 +77,7 @@ abstract class HPCBlockBase extends BlockBase implements HPCPluginInterface, Con
/**
* The request stack.
*
- * @var \Symfony\Component\HttpFoundation\RequestStack
+ * @var \Drupal\Core\Http\RequestStack
*/
protected $requestStack;
diff --git a/html/modules/custom/hpc_common/templates/hpc-markup-wrapper.html.twig b/html/modules/custom/hpc_common/templates/hpc-markup-wrapper.html.twig
index 89494a5ec..bcdbff80f 100644
--- a/html/modules/custom/hpc_common/templates/hpc-markup-wrapper.html.twig
+++ b/html/modules/custom/hpc_common/templates/hpc-markup-wrapper.html.twig
@@ -1,7 +1,7 @@
-{% spaceless %}
+{% apply spaceless %}
{% if markup_element is not empty %}
<{{ markup_element }} class="{{ class }}">{{ output }}{{ markup_element }}>
{% else %}
{{ output }}
{% endif %}
-{% endspaceless %}
\ No newline at end of file
+{% endapply %}
\ No newline at end of file
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/BlockHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/BlockHelperTest.php
index 9f92b1869..ed4d16d84 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/BlockHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/BlockHelperTest.php
@@ -7,12 +7,15 @@
use Drupal\hpc_common\Helpers\BlockHelper;
use Drupal\hpc_common\Plugin\HPCBlockBase;
use Drupal\Tests\UnitTestCase;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_common\Helpers\BlockHelper
*/
class BlockHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The block helper class.
*
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/ContextHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/ContextHelperTest.php
index 1d072e1ee..17dae98c9 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/ContextHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/ContextHelperTest.php
@@ -6,12 +6,15 @@
use Drupal\hpc_common\Helpers\ContextHelper;
use Drupal\node\Entity\Node;
use Drupal\Tests\UnitTestCase;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_common\Helpers\ContextHelper
*/
class ContextHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The context helper class.
*
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/NodeHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/NodeHelperTest.php
index 42e1e4a55..97e5dadbc 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/NodeHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/NodeHelperTest.php
@@ -13,12 +13,15 @@
use Drupal\node\NodeStorageInterface;
use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_common\Helpers\NodeHelper
*/
class NodeHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The node helper class.
*
@@ -392,6 +395,7 @@ public function testGetOriginalIdFromTitle($title, $bundle, $original_id, $nid,
// Mock entityQuery methods.
$this->entityQuery->condition(Argument::any(), Argument::any())->willReturn($this->entityQuery);
+ $this->entityQuery->accessCheck()->willReturn($this->entityQuery);
$this->entityQuery->execute()->willReturn($query_result);
// Get the nodeStorage in entityTypeManager.
@@ -454,6 +458,7 @@ public function testGetNodesFromTitle() {
// Mock entityQuery methods.
$this->entityQuery->condition(Argument::any(), Argument::any(), Argument::any())->willReturn($this->entityQuery);
$this->entityQuery->sort(Argument::any(), Argument::any())->willReturn($this->entityQuery);
+ $this->entityQuery->accessCheck()->willReturn($this->entityQuery);
$this->entityQuery->execute()->willReturn(['1', '2', '3']);
// Get the nodeStorage in entityTypeManager.
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/RequestHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/RequestHelperTest.php
index b8cb3f557..5edc96a24 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/RequestHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/RequestHelperTest.php
@@ -6,6 +6,7 @@
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\hpc_common\Helpers\RequestHelper;
use Drupal\Tests\UnitTestCase;
+use Prophecy\PhpUnit\ProphecyTrait;
use Symfony\Component\HttpFoundation\ParameterBag;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
@@ -15,6 +16,8 @@
*/
class RequestHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The request helper class.
*
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/TaxonomyHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/TaxonomyHelperTest.php
index f70ee0bce..5fc24bb9e 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/TaxonomyHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/TaxonomyHelperTest.php
@@ -10,12 +10,15 @@
use Drupal\taxonomy\Entity\Term;
use Drupal\taxonomy\TermStorageInterface;
use Drupal\Tests\UnitTestCase;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_common\Helpers\TaxonomyHelper
*/
class TaxonomyHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The taxonomy helper class.
*
@@ -303,6 +306,7 @@ public function testGetTermIdsByFieldValue($field_name, $value, $vid, $query_res
// Mock entityQuery methods.
$this->entityQuery->condition($field_name, $value)->willReturn($this->entityQuery);
$this->entityQuery->condition('vid', $vid)->willReturn($this->entityQuery);
+ $this->entityQuery->accessCheck()->willReturn($this->entityQuery);
$this->entityQuery->execute()->willReturn($query_result);
// Mock getQuery.
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/ThemeHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/ThemeHelperTest.php
index f18e06278..843d3025d 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/ThemeHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/ThemeHelperTest.php
@@ -6,6 +6,7 @@
use Drupal\Core\Render\RendererInterface;
use Drupal\hpc_common\Helpers\ThemeHelper;
use Drupal\Tests\UnitTestCase;
+use Prophecy\PhpUnit\ProphecyTrait;
use Twig\Environment;
/**
@@ -13,6 +14,8 @@
*/
class ThemeHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The theme helper class.
*
diff --git a/html/modules/custom/hpc_common/tests/src/Unit/UserHelperTest.php b/html/modules/custom/hpc_common/tests/src/Unit/UserHelperTest.php
index fbb755df1..389553ad9 100644
--- a/html/modules/custom/hpc_common/tests/src/Unit/UserHelperTest.php
+++ b/html/modules/custom/hpc_common/tests/src/Unit/UserHelperTest.php
@@ -7,12 +7,15 @@
use Drupal\hpc_common\Helpers\UserHelper;
use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
+use Prophecy\PhpUnit\ProphecyTrait;
/**
* @covers Drupal\hpc_common\Helpers\UserHelper
*/
class UserHelperTest extends UnitTestCase {
+ use ProphecyTrait;
+
/**
* The user helper class.
*
diff --git a/html/modules/custom/hpc_downloads/hpc_downloads.info.yml b/html/modules/custom/hpc_downloads/hpc_downloads.info.yml
index 79db156e5..c5af9820c 100644
--- a/html/modules/custom/hpc_downloads/hpc_downloads.info.yml
+++ b/html/modules/custom/hpc_downloads/hpc_downloads.info.yml
@@ -1,7 +1,7 @@
name: 'HPC Downloads'
type: module
description: 'Downloads for HPC blocks in Drupal 8'
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
package: 'HPC'
configure: hpc_downloads.config
diff --git a/html/modules/custom/hpc_downloads/src/Controller/DownloadReportController.php b/html/modules/custom/hpc_downloads/src/Controller/DownloadReportController.php
index ba1133e3d..01fc1de77 100644
--- a/html/modules/custom/hpc_downloads/src/Controller/DownloadReportController.php
+++ b/html/modules/custom/hpc_downloads/src/Controller/DownloadReportController.php
@@ -6,6 +6,7 @@
use Drupal\Component\Utility\Unicode;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\File\FileSystemInterface;
+use Drupal\Core\File\FileUrlGeneratorInterface;
use Drupal\Core\Link;
use Drupal\Core\Render\Markup;
use Drupal\Core\Url;
@@ -28,11 +29,19 @@ class DownloadReportController extends ControllerBase {
*/
private $fileSystem;
+ /**
+ * The file url generator service.
+ *
+ * @var \Drupal\Core\File\FileUrlGenerator
+ */
+ private $fileUrlGenerator;
+
/**
* Public constructor.
*/
- public function __construct(FileSystemInterface $file_system) {
+ public function __construct(FileSystemInterface $file_system, FileUrlGeneratorInterface $file_url_generator) {
$this->fileSystem = $file_system;
+ $this->fileUrlGenerator = $file_url_generator;
}
@@ -42,6 +51,7 @@ public function __construct(FileSystemInterface $file_system) {
public static function create(ContainerInterface $container) {
return new static(
$container->get('file_system'),
+ $container->get('file_url_generator'),
);
}
@@ -69,7 +79,7 @@ public function buildFileListPage() {
$download_record = DownloadRecord::loadRecord(['file_path' => $file->uri]);
$row = [];
- $row[] = Link::fromTextAndUrl($filename, Url::fromUri(file_create_url($file->uri)));
+ $row[] = Link::fromTextAndUrl($filename, Url::fromUri($this->fileUrlGenerator->generate($file->uri)));
$row[] = date('d.m.Y H:i:s', filectime($filepath));
$row[] = format_size(filesize($filepath));
$row[] = $download_record ? $this->t('Yes') : $this->t('No');
@@ -112,7 +122,7 @@ public function buildRecordListPage() {
$row = [];
$row[] = Link::fromTextAndUrl($record->id, Url::fromRoute('hpc_downloads.reports.download_records.view', ['id' => $record->id]));
- $row[] = $file_exists ? Link::fromTextAndUrl($filename, Url::fromUri(file_create_url($record->file_path))) : $record->file_path;
+ $row[] = $file_exists ? Link::fromTextAndUrl($filename, Url::fromUri($this->fileUrlGenerator->generate($record->file_path))) : $record->file_path;
$row[] = $this->getSourceLink($record->url);
$row[] = $this->getUserName($record->uid);
$row[] = $this->getStatusLabel($record->status);
diff --git a/html/modules/custom/hpc_downloads/src/DownloadMethods/Excel.php b/html/modules/custom/hpc_downloads/src/DownloadMethods/Excel.php
index 06a541451..a297c9c77 100644
--- a/html/modules/custom/hpc_downloads/src/DownloadMethods/Excel.php
+++ b/html/modules/custom/hpc_downloads/src/DownloadMethods/Excel.php
@@ -8,6 +8,7 @@
use Drupal\hpc_downloads\DownloadRecord;
use Drupal\hpc_downloads\Helpers\FileHelper;
+use Drupal\phpexcel\PHPExcel;
/**
* Create Excel files.
@@ -437,15 +438,16 @@ public static function writeFile(array $download_record, array $data, array $opt
// For huge data sets, e.g. in custom search, PHP Excel might get problems
// processing all the data. To prevent this, we disable timeouts here.
set_time_limit(0);
- module_load_include('inc', 'phpexcel');
+ /** @var \Drupal\phpexcel\PHPExcel $phpexcel */
+ $phpexcel = \Drupal::service('phpexcel');
// This is very slow for larger documents, or for documents with a lot of
// columns, like in data search.
ini_set('memory_limit', '512M');
- $status = phpexcel_export($data['header'], $data['rows'], \Drupal::service('file_system')->realpath($options['temp_name']), $options);
+ $status = $phpexcel->export($data['header'], $data['rows'], \Drupal::service('file_system')->realpath($options['temp_name']), $options);
set_time_limit(30);
- return self::finaliseFileGeneration($status == PHPEXCEL_SUCCESS, $options, $download_record);
+ return self::finaliseFileGeneration($status == PHPExcel::PHPEXCEL_SUCCESS, $options, $download_record);
}
/**
diff --git a/html/modules/custom/hpc_downloads/src/DownloadSource/ViewsQueryBatchedSource.php b/html/modules/custom/hpc_downloads/src/DownloadSource/ViewsQueryBatchedSource.php
index 0884c9a8f..48bb73452 100644
--- a/html/modules/custom/hpc_downloads/src/DownloadSource/ViewsQueryBatchedSource.php
+++ b/html/modules/custom/hpc_downloads/src/DownloadSource/ViewsQueryBatchedSource.php
@@ -408,7 +408,8 @@ public static function prepareDataBatch(HPCBatchedDownloadExcelInterface $handle
* The batch contexts.
*/
public static function segmentBatch(HPCBatchedDownloadExcelInterface $handler, array $download_record, array &$context) {
- module_load_include('inc', 'phpexcel');
+ /** @var \Drupal\phpexcel\PHPExcel $phpexcel */
+ $phpexcel = \Drupal::service('phpexcel');
// Prepare the rows.
$limit = \Drupal::config('hpc_downloads.settings')->get('excel_segment_size');
@@ -437,7 +438,7 @@ public static function segmentBatch(HPCBatchedDownloadExcelInterface $handler, a
$initial_data[$sheet_key] = $sheet_key == 'Meta data' ? $sheet_data : [];
}
ini_set('memory_limit', '512M');
- phpexcel_export($build['header'], $initial_data, $temp_file, $options);
+ $phpexcel->export($build['header'], $initial_data, $temp_file, $options);
// Remove the meta data sheet.
array_shift($build['rows']);
@@ -526,7 +527,8 @@ public static function segmentBatch(HPCBatchedDownloadExcelInterface $handler, a
* The batch contexts.
*/
public static function writeBatch(HPCBatchedDownloadExcelInterface $handler, array $download_record, array &$context) {
- module_load_include('inc', 'phpexcel');
+ /** @var \Drupal\phpexcel\PHPExcel $phpexcel */
+ $phpexcel = \Drupal::service('phpexcel');
$options = $context['results']['options'];
$temp_file = $context['results']['temp_file'];
@@ -554,7 +556,7 @@ public static function writeBatch(HPCBatchedDownloadExcelInterface $handler, arr
// Write the current data to the file.
ini_set('memory_limit', '512M');
- phpexcel_export($options['header'], $sheets, $temp_file, $options);
+ $phpexcel->export($options['header'], $sheets, $temp_file, $options);
// Inform the batch engine that we are not finished,
// and provide an estimation of the completion level we reached.
diff --git a/html/modules/custom/hpc_security/hpc_security.info.yml b/html/modules/custom/hpc_security/hpc_security.info.yml
index 4de9718cc..d6eaa52cb 100644
--- a/html/modules/custom/hpc_security/hpc_security.info.yml
+++ b/html/modules/custom/hpc_security/hpc_security.info.yml
@@ -1,7 +1,7 @@
name: 'HPC Security'
type: module
description: 'Security features for HPC Drupal sites'
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
package: 'HPC'
dependencies:
diff --git a/html/modules/custom/page_manager_publishable_variants/page_manager_publishable_variants.info.yml b/html/modules/custom/page_manager_publishable_variants/page_manager_publishable_variants.info.yml
index ca4b44ed5..b0cbf8f71 100644
--- a/html/modules/custom/page_manager_publishable_variants/page_manager_publishable_variants.info.yml
+++ b/html/modules/custom/page_manager_publishable_variants/page_manager_publishable_variants.info.yml
@@ -3,7 +3,7 @@ description: Provides a "published" feature for page manager variants.
package: Layout
type: module
-core_version_requirement: ^8 || ^9
+core_version_requirement: ^9 || ^10
dependencies:
- page_manager:page_manager
\ No newline at end of file
diff --git a/html/themes/custom/common_design_subtheme/common_design_subtheme.info.yml b/html/themes/custom/common_design_subtheme/common_design_subtheme.info.yml
index fc3baa7b2..3b828dab1 100644
--- a/html/themes/custom/common_design_subtheme/common_design_subtheme.info.yml
+++ b/html/themes/custom/common_design_subtheme/common_design_subtheme.info.yml
@@ -1,7 +1,7 @@
name: OCHA Common Design sub theme
type: theme
description: OCHA Common Design sub theme
-core_version_requirement: ^8.8 || ^9
+core_version_requirement: ^9 || ^10
base theme: common_design
logo: 'img/logos/logo-humanitarian-action.svg'
diff --git a/html/themes/custom/common_design_subtheme/common_design_subtheme.libraries.yml b/html/themes/custom/common_design_subtheme/common_design_subtheme.libraries.yml
index 227d5bbbb..da6330203 100644
--- a/html/themes/custom/common_design_subtheme/common_design_subtheme.libraries.yml
+++ b/html/themes/custom/common_design_subtheme/common_design_subtheme.libraries.yml
@@ -41,8 +41,8 @@ ghi-table-search:
css:
theme:
components/ghi-table-search/ghi-table-search.css: {}
- dependencies:
- - core/jquery.ui
+ # dependencies:
+ # - core/jquery.ui
ghi-table-progress-indicator:
css:
@@ -110,8 +110,8 @@ ghi-scrollable-table:
components/ghi-scrollable-table/ghi-scrollable-table.css: {}
js:
components/ghi-scrollable-table/ghi-scrollable-table.js: {}
- dependencies:
- - core/jquery.ui
+ # dependencies:
+ # - core/jquery.ui
# Copy libraries from GHO
datawrapper-responsive-iframe:
diff --git a/html/themes/custom/common_design_subtheme/components/gho-page-node/gho-page-node.css b/html/themes/custom/common_design_subtheme/components/gho-page-node/gho-page-node.css
index c6f915246..0107a89a0 100644
--- a/html/themes/custom/common_design_subtheme/components/gho-page-node/gho-page-node.css
+++ b/html/themes/custom/common_design_subtheme/components/gho-page-node/gho-page-node.css
@@ -1,7 +1,7 @@
/* Reset the max-width and paddings of the main content area so that it uses the
* full width allowing elements like hero images to also use the full width. */
-.path-frontpage .cd-layout-container main.cd-container,
-.path-node .cd-layout-container main.cd-container {
+.path-frontpage .cd-page-layout-container main.cd-container,
+.path-node .cd-page-layout-container main.cd-container {
max-width: var(--cd-max-body-width);
padding-right: 0;
padding-left: 0;
diff --git a/html/themes/custom/common_design_subtheme/css/styles.css b/html/themes/custom/common_design_subtheme/css/styles.css
index 8a17e2d9e..71a360c22 100644
--- a/html/themes/custom/common_design_subtheme/css/styles.css
+++ b/html/themes/custom/common_design_subtheme/css/styles.css
@@ -1 +1 @@
-@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400%3B500%3B700&display=swap";@import"https://fonts.googleapis.com/css?family=Roboto:ital,wght@0,300%3B0,400%3B0,500%3B0,700%3B0,900%3B1,400%3B1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400%3B700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400%3B700&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons&display=swap";:root{--cd-ocha-blue: #1f69b3;--cd-blue--dark: #144372;--cd-blue--bright: #82b5e9;--cd-blue--light: #d4e5f7;--cd-highlight-red: #e56a54;--cd-contrast-red: #e00000;--cd-white: #fff;--cd-grey--lighter: #f5f5f5;--cd-grey--light: #eee;--cd-grey--mid: #595959;--cd-grey--dark: #4d4d4d;--cd-default-text-color: var(--cd-grey--dark);--cd-default-border-color: #dfdede;--cd-default-background-color: var(--cd-grey--lighter);--cd-black: #000;--cd-blue-grey: #e6ecf1;--cd-blue-grey--dark: #d3dde5;--cd-blue-grey--light: #ebf0f4;--cd-rgb-ocha-blue: 2, 108, 182;--cd-rgb-grey--mid: 89, 89, 89;--cd-rgb-grey--dark: 74, 74, 74;--cd-rgb-highlight-red: 229, 106, 84;--cd-rgb-blue-grey--dark: 211, 221, 229;--cd-max-page-width: 1400px;--cd-max-body-width: 1300px;--cd-max-width: 1220px;--cd-max-content-width: 820px;--cd-container-padding: 0.75rem;--cd-container-padding-tablet: 1.5rem;--cd-container-padding-xlarge: 3rem;--cd-flow-space: 1rem;--cd-bumper-space: 1rem;--cd-footer-row-number: 5;--cd-red: #cd3a1f;--cd-red--light: #f8d8d3;--cd-orange: #db7b18;--cd-orange--light: #fae6d1;--cd-yellow: #d5de26;--cd-yellow--light: #f7f8d3;--cd-green: #7fb92f;--cd-green--light: #e8f5d6;--cd-font-size--tiny: 0.75rem;--cd-font-size--small: 0.875rem;--cd-font-size--default: 1rem;--cd-font-size--base: 1.125rem;--cd-font-size--medium: 1.375rem;--cd-font-size--large: 1.625rem;--cd-font-size--2xbase: 1.875rem;--cd-font-size--2xmedium: 2.375rem;--cd-font-size--2xlarge: 2.875rem;--cd-font: helvetica, arial, sans-serif;--cd-font--system: system-ui;--cd-font--noto: "Noto Sans", sans-serif;--cd-font--noto-kufi: "Noto Kufi Arabic", sans-serif;--cd-font--roboto: "Roboto", helvetica, arial, sans-serif;--cd-font--roboto-condensed: "Roboto Condensed", helvetica, arial, sans-serif;--cd-font--roboto-slab: "Roboto Slab", helvetica, arial, sans-serif}@supports(display: grid){@media(min-width: 768px){.cd-layout-container{grid-template-rows:115px auto 1fr auto;grid-auto-rows:auto}}}@media(min-width: 1024px){.cd-layout-with-sidebar-first .cd-layout-sidebar-first,.cd-layout-with-sidebar-second .cd-layout-sidebar-second{flex-basis:200px}}.cd-layout-with-sidebar-both .cd-layout-sidebar-first{margin-bottom:1rem}@media(min-width: 768px){.cd-layout-with-sidebar-both .cd-layout-sidebar-first{flex-basis:200px}}@media(min-width: 1024px){.cd-layout-with-sidebar-both .cd-layout-sidebar-first{margin-bottom:0}}@media(min-width: 1024px){.cd-layout-two-col .cd-layout-sidebar-first{flex-basis:200px;margin-top:0}}.cd-global-header__dropdown{z-index:1002;background:var(--cd-grey--light)}.cd-global-header button[aria-expanded=true]::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--cd-grey--light)}.cd-header button:focus{outline:none}.cd-global-header{background:var(--cd-grey--lighter);background-image:linear-gradient(-180deg, var(--cd-grey--lighter) 67%, var(--cd-grey--light) 97%)}.cd-global-header .cd-global-header__actions,.cd-global-header .cd-global-header__actions>*{background:rgba(0,0,0,0)}.cd-global-header svg{fill:var(--ghi-default-text-color) !important}.cd-global-header a,.cd-global-header *{color:var(--ghi-default-text-color)}.cd-global-header .menu>li:last-child{padding-right:0}.cd-global-header .menu>li a{color:var(--ghi-default-text-color)}.cd-global-header .menu>li a::after{background:var(--cd-default-border-color)}.cd-global-header .menu>li:last-child a{padding-right:0}.cd-global-header .menu>li:last-child a::after{display:none}.cd-site-header{border-bottom:0}.cd-site-header .cd-nav>.menu>li:last-child{padding-right:0}.cd-site-header__inner{height:80px}@supports(display: grid){.cd-site-header__inner{grid-template-rows:80px;grid-template-columns:2fr 1fr}@media(min-width: 768px){.cd-site-header__inner{grid-template-columns:260px 1fr}}}.cd-language-switcher__btn:focus{outline:none}.cd-user-menu__dropdown li a:focus{outline:none}.region-header-logo{display:flex}.region-header-logo .cd-site-logo{width:100%;height:auto;margin:0 0 0 -1.5rem;padding-left:.5rem;text-decoration:none;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--base);font-weight:bold;line-height:1.3rem}.region-header-logo .cd-site-logo:focus{outline:none}@supports(display: flex){.region-header-logo .cd-site-logo{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}}@media(max-width: 767px){.region-header-logo .cd-site-logo{margin:1.2rem 0;background:url("../../../custom/common_design_subtheme/img/logos/logo-humanitarian-action.svg") center no-repeat;background:linear-gradient(transparent, transparent),url("../../../custom/common_design_subtheme/img/logos/logo-humanitarian-action.svg") center no-repeat;background-position:0 center}}@media(min-width: 768px){.region-header-logo .cd-site-logo img{width:auto;height:40px}}.region-header-logo .cd-site-slogan{margin:.7rem 0 0 2rem;line-height:.8rem}.menu--main button[aria-expanded] .cd-icon--arrow-down{fill:#fed83d}.cd-nav__btn{height:80px;white-space:nowrap}.cd-nav__btn[aria-expanded] .cd-icon--arrow-down{fill:#fed83d}.cd-nav__btn[aria-expanded=true]::before{bottom:0;height:4px;background:#fed83d}.cd-site-header__nav-holder .cd-nav a,.cd-site-header__nav-holder .cd-nav span,.cd-site-header__nav-holder .cd-nav button{display:block;padding:15px 30px;text-align:left;text-decoration:none;color:var(--ghi-default-text-color)}.cd-site-header__nav-holder .cd-nav a>span,.cd-site-header__nav-holder .cd-nav span>span,.cd-site-header__nav-holder .cd-nav button>span{padding:0}html[dir=rtl] .cd-site-header__nav-holder .cd-nav a,html[dir=rtl] .cd-site-header__nav-holder .cd-nav span,html[dir=rtl] .cd-site-header__nav-holder .cd-nav button{text-align:right}.cd-site-header__nav-holder .cd-nav a:hover,.cd-site-header__nav-holder .cd-nav a:focus,.cd-site-header__nav-holder .cd-nav span:hover,.cd-site-header__nav-holder .cd-nav span:focus,.cd-site-header__nav-holder .cd-nav button:hover,.cd-site-header__nav-holder .cd-nav button:focus{color:var(--ghi-default-text-color);outline:none;background:var(--ghi-primary-background-color)}@supports(display: flex){.cd-site-header__nav-holder .cd-nav a,.cd-site-header__nav-holder .cd-nav span,.cd-site-header__nav-holder .cd-nav button{display:flex}}.cd-site-header__nav-holder .cd-nav button{width:100%;white-space:nowrap;border:0 none;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>button{text-transform:none;font-weight:700}.cd-site-header__nav-holder .menu .menu a,.cd-site-header__nav-holder .menu .menu span,.cd-site-header__nav-holder .menu .menu button{font-weight:normal}.cd-site-header__nav-holder .menu .menu li:hover a,.cd-site-header__nav-holder .menu .menu li:hover a span,.cd-site-header__nav-holder .menu .menu a:hover,.cd-site-header__nav-holder .menu .menu a:hover span,.cd-site-header__nav-holder .menu .menu a:focus,.cd-site-header__nav-holder .menu .menu a:focus span{color:var(--cd-ocha-orange--dark);background:var(--ghi-primary-background-color) !important}@media(max-width: 1023px){.gin--horizontal-toolbar .cd-site-header__nav-holder .cd-nav[data-cd-hidden=false]{top:calc(var(--ginHorizontalToolbarOffset) + 35px + 80px)}}@media(max-width: 1023px){.cd-site-header__nav-holder .cd-nav>ul>li>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li>button.is-active::before{background:#fed83d}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--collapsed>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--collapsed>button.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--expanded>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--expanded>button.is-active::before{background:rgba(254,216,61,.2)}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail button::before{background:rgba(254,216,61,.2)}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail button.is-active::before{background:#fed83d}.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail button::before{background:rgba(254,216,61,.6)}.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail button.is-active::before{background:#fed83d}}@media(min-width: 1024px){.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button{position:relative;display:flex;align-items:center;height:80px;transition:background .3s ease;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button::before{position:absolute;right:-1px;bottom:0;left:-1px;width:calc(100% + 2px);height:4px;content:"";transition:background .3s ease;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:focus,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:focus,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:focus{background:var(--ghi-primary-background-color)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:focus::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:focus::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:focus::before{background:var(--cd-primary-color)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item.menu-item--active-trail button::before{background:var(--cd-primary-color)}.cd-site-header__nav-holder .cd-nav>.menu>li>.menu{top:80px}.cd-site-header__nav-holder .cd-nav>.menu>li>.menu>li.menu-item--active-trail{border-left:6px solid var(--cd-primary-color)}}.cd-ocha-dropdown__link a:hover{color:inherit !important}.cd-ocha-dropdown__link a:focus{outline:none}.cd-search__btn{color:var(--ghi-yellow)}.cd-search__btn svg{fill:var(--ghi-yellow)}.cd-search__btn:hover,.cd-search__btn:focus{color:var(--cd-primary-color)}.cd-search__btn:hover svg,.cd-search__btn:focus svg{fill:var(--cd-primary-color)}.cd-search__btn:focus{color:#fed83d}.cd-search__btn:focus svg{fill:#fed83d}.cd-search__btn[aria-expanded=true]{color:#fed83d}.cd-search__btn[aria-expanded=true] svg{fill:#fed83d}.cd-search__submit:focus{background-color:#fed83d}.cd-user-menu__item:focus,.cd-global-header .menu>li a:focus,.cd-global-header .menu>li button:focus{outline:none}.cd-footer{color:var(--ghi-default-text-color);background:var(--ghi-yellow)}.cd-footer svg{fill:var(--ghi-default-text-color)}.cd-footer a{color:var(--ghi-default-text-color)}.cd-footer a:focus{outline:3px solid var(--cd-blue--bright)}.cd-soft-footer{background:rgba(var(--cd-rgb-ocha-blue), 0.9)}.cd-soft-footer a:focus{outline:3px solid var(--cd-blue--bright)}.region-meta--frontend{z-index:100;display:none}.layout--twocol-section .layout__region--first{padding-right:1rem}.layout--twocol-section.has-second-region:not(.has-both-regions) .layout__region--second{margin-left:25%}.material-icons{display:inline-block;white-space:nowrap;letter-spacing:normal;text-transform:none;word-wrap:normal;direction:ltr;font-family:"Material Icons",sans-serif;font-size:24px;font-weight:normal;font-style:normal;line-height:1;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}#main-content{position:relative;max-width:var(--cd-max-page-width);padding-top:0}#main-content .layout--onecol .layout__region>div:not(.content-width),#main-content .region-content>div:not(.content-width){max-width:var(--cd-max-page-width)}#main-content .layout--onecol .layout__region>.content-width,#main-content .region-content>.content-width{max-width:calc(var(--content-width) + 24px) !important;margin-right:auto !important;margin-left:auto !important;padding-right:var(--cd-container-padding) !important;padding-left:var(--cd-container-padding) !important}#main-content .layout--onecol .layout__region .content-width .content-width,#main-content .region-content .content-width .content-width{padding-right:0 !important;padding-left:0 !important}@media(min-width: 768px){#main-content .layout--onecol .layout__region .content-width,#main-content .region-content .content-width{max-width:calc(var(--content-width) + 48px) !important;padding-right:var(--cd-container-padding-xlarge) !important;padding-left:var(--cd-container-padding-xlarge) !important}}#main-content .region-content>form.confirmation.cd-container{margin-top:4rem;margin-bottom:4rem}.node--unpublished{background-color:unset}.user-logged-in main[class*="--unpublished"]{margin-top:4px;margin-bottom:4px;outline:4px dashed #ffc310}body.path-error main .cd-layout-content-wrapper{width:100%;max-width:var(--cd-max-width);margin-top:1rem;margin-right:auto;margin-left:auto;padding:4rem var(--cd-container-padding)}@media(min-width: 768px){body.path-error main .cd-layout-content-wrapper{padding:0 var(--cd-container-padding-tablet)}}@media(min-width: 1200px){body.path-error main .cd-layout-content-wrapper{padding:4rem 3rem}}:root{--content-width: 1220px;--reading-width: 820px}a{color:var(--ghi-default-text-color)}a:hover,a:focus{color:var(--ghi-default-text-color)}input::-moz-placeholder{font-size:80%;font-style:italic}input::placeholder{font-size:80%;font-style:italic}.cd-button,.btn--download,.ghi-download__btn{padding:.8rem 1.5rem;text-decoration:none;text-transform:uppercase;color:var(--ghi-default-text-color) !important;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:bold}.cd-button.btn--centered,.btn--download.btn--centered,.ghi-download__btn.btn--centered{text-align:center}.cd-button:hover,.cd-button:focus,.btn--download:hover,.btn--download:focus,.ghi-download__btn:hover,.ghi-download__btn:focus{color:var(--ghi-default-text-color);background-color:var(--ghi-primary-button-color-hover)}.cd-button.expand-table,.cd-button.read-more,.cd-button.external,.btn--download.expand-table,.btn--download.read-more,.btn--download.external,.ghi-download__btn.expand-table,.ghi-download__btn.read-more,.ghi-download__btn.external{position:relative;max-width:-moz-fit-content;max-width:fit-content;padding-right:2.5rem;color:var(--ghi-default-text-color)}.cd-button.expand-table:before,.cd-button.read-more:before,.cd-button.external:before,.btn--download.expand-table:before,.btn--download.read-more:before,.btn--download.external:before,.ghi-download__btn.expand-table:before,.ghi-download__btn.read-more:before,.ghi-download__btn.external:before{position:absolute;top:calc(50% - 10px);right:1rem;padding:10px;content:"";background-repeat:no-repeat}.cd-button.expand-table,.btn--download.expand-table,.ghi-download__btn.expand-table{margin-bottom:2rem}.cd-button.expand-table:before,.btn--download.expand-table:before,.ghi-download__btn.expand-table:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/arrow_downward/default/20px.svg")}.cd-button.read-more:before,.btn--download.read-more:before,.ghi-download__btn.read-more:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/arrow_forward/default/20px.svg")}.cd-button.external:before,.btn--download.external:before,.ghi-download__btn.external:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/open_in_new/default/20px.svg")}.ghi-dropdown__btn{color:inherit !important;border:0;background-color:rgba(0,0,0,0);font-size:inherit}.ghi-dropdown__btn+div.cd-dropdown{position:absolute;border:1px solid var(--cd-default-border-color);background-color:var(--cd-white)}.ghi-dropdown__btn+div.cd-dropdown>div.ghi-dropdown--content{display:flex;flex-direction:column}.ghi-dropdown__btn+div.cd-dropdown>div.ghi-dropdown--content a{color:var(--ghi-default-text-color)}button.ghi-download__btn,button.btn--download{transition:background-color .6s ease-out,color .6s ease-out;text-align:center;border:0;border:2px solid rgba(0,0,0,0);border-radius:3px;box-shadow:none;line-height:1.15;-webkit-appearance:none}button.ghi-download__btn svg.cd-icon,button.btn--download svg.cd-icon{fill:var(--ghi-default-text-color)}button.ghi-download__btn:before,button.btn--download:before{position:absolute;top:calc(50% - 10px);left:1rem;padding:10px;content:"";background-repeat:no-repeat}button.ghi-download__btn+.cd-dropdown,button.btn--download+.cd-dropdown,button.ghi-dropdown__btn+.cd-dropdown{position:absolute}button.ghi-download__btn+.cd-dropdown div,button.btn--download+.cd-dropdown div,button.ghi-dropdown__btn+.cd-dropdown div{display:inline-block;width:auto;padding:.2rem;border:1px solid var(--cd-default-border-color);border-radius:3px;background-color:var(--cd-white)}button.ghi-download__btn+.cd-dropdown div a,button.btn--download+.cd-dropdown div a,button.ghi-dropdown__btn+.cd-dropdown div a{display:block;padding:.1rem;text-decoration:none;font-size:var(--cd-font-size--tiny)}ul li:empty{display:none}.gin--horizontal-toolbar #toolbar-administration{z-index:201 !important}.fts-icon,.cd-figure-list--large .fts-icon{height:1rem}.download-icon{display:block;width:20px;height:20px;background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg");background-repeat:no-repeat}tbody td[data-sort-type=numeric]{text-align:right}tbody td .fts-icon{height:1rem;vertical-align:middle}tbody td .cluster-icon{float:left;width:2rem;height:1rem}tbody td .cluster-icon svg{position:relative;top:10%;left:0;width:1.2rem;height:1.2rem}svg.ghi-icons-sprite{display:none;overflow:hidden}svg.icon{display:inline-block;width:1rem;height:1rem;pointer-events:none}.toggle svg.icon{width:.5rem;height:.5rem;cursor:pointer;pointer-events:all;fill:var(--ghi-default-text-color)}.toggle.open svg.icon{transform:rotate(180deg)}.js input.form-autocomplete{background-color:rgba(0,0,0,0) !important;background-image:url("data:image/svg+xml,%3csvg width='40' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 1C3.46.827-.188 5.787 1.313 10.068c1.176 4.384 6.993 6.417 10.637 3.7.326-.39.565.276.846.442l3.74 3.739 1.413-1.414-4.35-4.35c2.811-3.468 1.15-9.247-3.062-10.71A7.003 7.003 0 008 1zm0 2c3.242-.123 5.849 3.42 4.777 6.477-.842 3.132-4.994 4.58-7.6 2.65-2.745-1.73-2.9-6.125-.285-8.044A5.006 5.006 0 018 3z' fill='%23868686'/%3e%3c/svg%3e") !important;background-repeat:no-repeat !important;background-position:100% center !important}.js input.form-autocomplete.ui-autocomplete-loading{background-image:url("../img/misc/spinner-ltr.gif") !important}.has-layout-builder-ipe-actions .gho-footnote-list__wrapper{bottom:64px !important}body.toolbar-horizontal .gin-secondary-toolbar,.layout-builder-ipe-actions{z-index:1002 !important}body.toolbar-horizontal #toolbar-administration{z-index:1003 !important}body.layout-builder-ipe-editing .dialog-off-canvas-main-canvas{padding-top:3rem}.layout-builder--content-preview-disabled .layout-builder-block.content-width{margin-right:auto;margin-left:auto}#layout-builder-modal .cd-alert{margin-top:0;margin-right:21px;margin-bottom:1rem;margin-left:30px;padding:.5rem}#layout-builder-modal .cd-alert>div{align-items:center}.cd-site-header__nav-holder{z-index:199}.cd-site-header__nav-holder .block-sections-by-term.label-visible h2{position:static !important;display:block;clip:auto;width:auto;height:auto;font-size:var(--cd-font-size--base)}@media(max-width: 1023px){.cd-site-header__nav-holder .block-sections-by-term.label-visible h2{padding:15px 30px}}.cd-site-header__nav-holder nav[role=navigation]>ul>li>span{font-weight:bold}.cd-site-header__nav-holder nav[role=navigation]>ul>li>span:focus,.cd-site-header__nav-holder nav[role=navigation]>ul>li>span:hover{color:inherit;background:inherit}.cd-site-header__nav-holder nav[role=navigation]>ul>li>ul>li>span{opacity:.5}@media(max-width: 1023px){.cd-site-header__nav-holder nav[role=navigation]{margin:0;padding:0}}@media(min-width: 1024px){.cd-site-header__nav-holder nav[role=navigation].cd-nav{position:unset}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item:not(:last-child).right-border{border-right:1px solid var(--ghi-default-border-color)}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain{position:absolute;z-index:199;left:0;width:100%;background-color:var(--cd-default-background-color)}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul{flex-direction:column;max-height:450px;margin:2rem 0}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li{max-width:180px}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>span{padding:0}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul{margin:.5rem 0 2rem 0}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span{display:inline-block;margin-bottom:3px}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:focus,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:hover,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span:focus,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span:hover{color:inherit;background:inherit}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:focus,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:hover{margin-bottom:2px;border-bottom:1px solid var(--cd-primary-color)}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term.label-visible h2{margin-top:2rem}.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term nav[role=navigation]>ul li span,.cd-site-header__nav-holder nav[role=navigation].cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term nav[role=navigation]>ul li a{padding:0}.cd-site-header__nav-holder nav[role=navigation] li.menu-item.menu-item--expanded{position:relative}}.toolbar-fixed .region-page-title a[name=page-title],.toolbar-fixed .region-page-subtitle a[name=page-title],.toolbar-fixed .region-page-navigation a[name=page-title]{position:relative;top:-80px;display:block;visibility:hidden}.region-page-title.region-page-navigation,.region-page-subtitle.region-page-navigation,.region-page-navigation.region-page-navigation{border-top:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-white)}.region-page-title.region-page-title .region-wrapper-inner,.region-page-title.region-page-subtitle .region-wrapper-inner,.region-page-title.region-page-navigation .block-wrapper__inner,.region-page-subtitle.region-page-title .region-wrapper-inner,.region-page-subtitle.region-page-subtitle .region-wrapper-inner,.region-page-subtitle.region-page-navigation .block-wrapper__inner,.region-page-navigation.region-page-title .region-wrapper-inner,.region-page-navigation.region-page-subtitle .region-wrapper-inner,.region-page-navigation.region-page-navigation .block-wrapper__inner{max-width:calc(var(--content-width) + 24px);margin-right:auto;margin-left:auto;padding-right:var(--cd-container-padding);padding-left:var(--cd-container-padding)}.region-page-title.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-title.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-title.region-page-navigation .block-wrapper__inner>.block-section-navigation,.region-page-subtitle.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-subtitle.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-subtitle.region-page-navigation .block-wrapper__inner>.block-section-navigation,.region-page-navigation.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-navigation.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-navigation.region-page-navigation .block-wrapper__inner>.block-section-navigation{position:unset}@media(min-width: 768px){.region-page-title.region-page-title .region-wrapper-inner,.region-page-title.region-page-subtitle .region-wrapper-inner,.region-page-title.region-page-navigation .block-wrapper__inner,.region-page-subtitle.region-page-title .region-wrapper-inner,.region-page-subtitle.region-page-subtitle .region-wrapper-inner,.region-page-subtitle.region-page-navigation .block-wrapper__inner,.region-page-navigation.region-page-title .region-wrapper-inner,.region-page-navigation.region-page-subtitle .region-wrapper-inner,.region-page-navigation.region-page-navigation .block-wrapper__inner{max-width:calc(var(--content-width) + 48px);padding-right:var(--cd-container-padding-xlarge);padding-left:var(--cd-container-padding-xlarge)}}.region-page-title .block-wrapper--sectionnavigation,.region-page-subtitle .block-wrapper--sectionnavigation,.region-page-navigation .block-wrapper--sectionnavigation{position:relative}.region-page-title .region-wrapper-inner{display:flex;gap:1rem;margin:2rem 0 0}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton{margin-left:auto}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton a.link--download-dialog{white-space:nowrap}.region-page-title .region-wrapper-inner .cd-page-title,.region-page-title .region-wrapper-inner .block-section-switcher,.region-page-title .region-wrapper-inner .block-download-button{padding:0}.region-page-title .region-wrapper-inner .cd-page-title.block-download-button,.region-page-title .region-wrapper-inner .block-section-switcher.block-download-button,.region-page-title .region-wrapper-inner .block-download-button.block-download-button{margin-top:2.2rem}.region-page-title .region-wrapper-inner .cd-page-title.has-subtitle,.region-page-title .region-wrapper-inner .block-section-switcher.has-subtitle,.region-page-title .region-wrapper-inner .block-download-button.has-subtitle{margin-bottom:1rem}@media(max-width: 767px){.region-page-title{margin-top:2rem !important}.region-page-title .region-wrapper-inner{flex-direction:column-reverse}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton{margin:0}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton .block-download-button{margin:0}}.region-page-title+.region-page-subtitle{margin-top:-2rem}.region-page-title+.region-page-subtitle .region-wrapper-inner{display:flex;gap:1rem}.region-page-title+.region-page-subtitle .region-wrapper-inner #block-sectionmetadata,.region-page-title+.region-page-subtitle .region-wrapper-inner #block-documentmetadata{margin:.5rem 0 2rem 0;text-transform:uppercase;font-size:var(--cd-font-size--small)}body.force-letterbox main>.page-image img,body.force-letterbox main>.field--type-ghi-hero-image img{height:400px;-o-object-fit:cover;object-fit:cover}.tooltip{z-index:1004;cursor:pointer;vertical-align:middle}.tooltip svg{fill:var(--cd-primary-color)}.tippy-box .tippy-content>.content{padding:0 1rem}.tippy-box .tippy-content a.fts-link{display:inline-block;margin-bottom:.5rem}.tippy-box .tippy-content a.fts-link img{height:20px;vertical-align:middle}td.project-counter .tippy-box .tippy-content{min-width:20rem}.d3-sparkline-tooltip{pointer-events:none}.d3-sparkline-tooltip .tippy-box{top:-0.5rem}.d3-sparkline-tooltip .tippy-box .tippy-content{margin-bottom:-1rem}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .title{text-align:left}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items{margin-top:.5rem}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper{display:flex}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper .label{width:50%;text-align:left;color:var(--cd-white);font-size:100%;line-height:inherit}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper .value{width:50%;text-align:right}.d3-sparkline-tooltip .tippy-box .tippy-arrow::before{left:45%}:root{--ghi-yellow: #fed83d;--ghi-grey--dark: #4d4d4d;--ghi-yellow--light: #fffbec;--ghi-yellow--light-chart: #f8ecb4;--ghi-grey: #dfdede;--ghi-grey--light: #eee;--ghi-grey--medium: #ccc;--ghi-grey--background: #f5f5f5;--ghi-orange-dark: #feba00;--cd-ocha-orange: #fecb00;--cd-ocha-orange--dark: var(--ghi-orange-dark);--cd-primary-color: var(--ghi-yellow);--cd-primary-color--dark: var(--cd-ocha-orange--dark);--cd-tag--color: #9e9e9e;--ghi-default-text-color: var(--ghi-grey--dark);--ghi-default-border-color: var(--ghi-grey--light);--ghi-default-border-color-background: var(--ghi-grey);--ghi-default-background-color: var(--ghi-grey--background);--ghi-primary-background-color: var(--ghi-yellow--light);--ghi-widget-color--light: var(--ghi-grey--light);--ghi-widget-color--dark: var(--ghi-orange-dark);--ghi-progress-color-fg: var(--ghi-yellow);--ghi-progress-color-bg: var(--ghi-yellow--light-chart);--ghi-status-color-unpublished: var(--cd-primary-color);--ghi-status-color-published: #abea3a;--ghi-primary-button-color: var(--ghi-yellow);--ghi-primary-button-color-hover: var(--ghi-orange-dark);--hpc-brown: #464646;--hpc-dark-brown: #2f2f2f;--hpc-orange: #ee7325;--hpc-orange-light: var(--cd-orange--light);--hpc-grey: #ebebeb;--hpc-blue-light: #e6ecf1;--green: #62b445;--hpc-border-color: #e1e1e1;--cd-font-size--extra-tiny: 0.625rem;--ghi-ui-dialog-border-radius: 1rem;--colorGinWarningLight: #efcf64;--colorGinWarningBackground: #605328;--colorGinDangerLight: #f39b9d;--colorGinDangerBackground: #583333;--colorGinGreenLight: #32cea4;--colorGinGreenBackground: #145242}.ghi-block-article-collection .block-content>a.external{margin-top:2rem}.ghi-block-article-collection .article-collection{margin-top:2rem}.ghi-block-article-collection .article-collection-cards .ghi-grid-item{padding:0}.ghi-block-article-collection .article-collection-cards .ghi-grid-item.featured{background-color:var(--cd-primary-color)}.ghi-block-article-collection .article-collection-cards .ghi-grid-item .field--type-image{width:100%}.block-article-title{background-color:var(--ghi-default-background-color)}.block-article-title .article-title-wrapper{margin:0 auto;padding-top:3.6rem;padding-bottom:3.6rem}.block-article-title .article-title-wrapper.has-title-prefix{padding-top:2.6rem;padding-bottom:3.3rem}.block-article-title .article-title-wrapper>*{margin:0}.block-article-title .article-title-wrapper p{font-size:var(--cd-font-size--small)}.block-article-title .article-title-wrapper p a{text-decoration:none}.block-article-title .article-title-wrapper p .chapter{font-weight:lighter}.ghi-block,.ghi-block.ui-state-drop,.block-layout-builder,.block-layout-builder.ui-state-drop{margin-top:4.5rem;padding-top:1rem;padding-bottom:1rem;line-height:1.5}.ghi-block.ghi-block-paragraph,.ghi-block.ui-state-drop.ghi-block-paragraph,.block-layout-builder.ghi-block-paragraph,.block-layout-builder.ui-state-drop.ghi-block-paragraph{margin-top:2.5rem}.ghi-block:not(.paragraph--gho-text),.ghi-block.ui-state-drop:not(.paragraph--gho-text),.block-layout-builder:not(.paragraph--gho-text),.block-layout-builder.ui-state-drop:not(.paragraph--gho-text){page-break-inside:avoid !important}.ghi-block.paragraph--gho-text .gho-text__text>p,.ghi-block.ui-state-drop.paragraph--gho-text .gho-text__text>p,.block-layout-builder.paragraph--gho-text .gho-text__text>p,.block-layout-builder.ui-state-drop.paragraph--gho-text .gho-text__text>p{page-break-inside:avoid !important}#main-content.has-subpage-title .layout__region .ghi-block:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .ghi-block:first-child,#main-content.has-subpage-title .layout__region .ghi-block.ui-state-drop:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .ghi-block.ui-state-drop:first-child,#main-content.has-subpage-title .layout__region .block-layout-builder:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .block-layout-builder:first-child,#main-content.has-subpage-title .layout__region .block-layout-builder.ui-state-drop:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .block-layout-builder.ui-state-drop:first-child{margin-top:0;padding-top:0}.ghi-block.ghi-block--hidden-preview>*:not(.contextual),.ghi-block.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual),.block-layout-builder.ghi-block--hidden-preview>*:not(.contextual),.block-layout-builder.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual){opacity:.5}.hpc-form-wrapper .ghi-block.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .ghi-block.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .block-layout-builder.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .block-layout-builder.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual){opacity:1}body.page-node-type-article .layout__region--content>.ghi-block.block:first-child,body.page-node-type-article .layout__region--content>.ghi-block.ui-state-drop.block:first-child,body.page-node-type-article .layout__region--content>.block-layout-builder.block:first-child,body.page-node-type-article .layout__region--content>.block-layout-builder.ui-state-drop.block:first-child{margin-top:2.5rem}.layout__region--content>.ghi-block.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.ghi-block.ui-state-drop.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.block-layout-builder.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.block-layout-builder.ui-state-drop.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe){margin-top:0;padding-top:4.5rem;background-color:var(--ghi-default-background-color)}.ghi-block>div.block-content,.ghi-block.ui-state-drop>div.block-content,.block-layout-builder>div.block-content,.block-layout-builder.ui-state-drop>div.block-content{position:relative}.ghi-block>div.block-content:not(.content-width),.ghi-block.ui-state-drop>div.block-content:not(.content-width),.block-layout-builder>div.block-content:not(.content-width),.block-layout-builder.ui-state-drop>div.block-content:not(.content-width){margin-right:0 !important;margin-left:0 !important}.ghi-block>div.block-comment,.ghi-block.ui-state-drop>div.block-comment,.block-layout-builder>div.block-comment,.block-layout-builder.ui-state-drop>div.block-comment{padding:1rem 0;text-align:justify;font-size:var(--cd-font-size--small)}.ghi-block>div.block-links,.ghi-block.ui-state-drop>div.block-links,.block-layout-builder>div.block-links,.block-layout-builder.ui-state-drop>div.block-links{padding:.75rem 0;border-top:1px solid var(--cd-default-border-color);font-size:var(--cd-font-size--small)}.ghi-block>div.block-links>div.block-links--inner,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner,.block-layout-builder>div.block-links>div.block-links--inner,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner{display:flex;justify-content:space-between}.ghi-block>div.block-links>div.block-links--inner a,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner a,.block-layout-builder>div.block-links>div.block-links--inner a,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner a{text-decoration:none;line-height:1rem}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog{position:relative;padding-left:1.5rem}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before{position:absolute;top:calc(50% - 10px);left:0;padding:10px;content:"";background:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg") no-repeat}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:focus{color:var(--ghi-default-text-color)}.ghi-block>div.block-links>div.block-links--inner .block-admin-links,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links{display:flex;align-items:baseline;gap:.5rem}.ghi-block>div.block-links>div.block-links--inner .block-admin-links a,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links a,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links a,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links a{position:relative;top:2px;font-size:var(--cd-font-size--base)}.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]{position:relative;top:-1px;padding:0;transition:none;color:inherit;border:0;background-color:inherit}.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus{color:var(--cd-primary-color--dark);border:0;outline:0}.ghi-block>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title{padding-bottom:0}.ghi-block>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content{padding-top:0}.ghi-block-document-chapter{position:relative}.ghi-block-document-chapter .block-content .chapter-summary{margin:2rem 0}.block-generic-document-link-button button{padding:.8rem 1.5rem .8rem 2.5rem}.block-generic-document-link-button button:before{left:1rem;padding:10px;content:"";background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg");background-repeat:no-repeat}.ghi-block-generic-document-links .block-content ul{display:flex;flex-direction:column;-webkit-padding-start:0;padding-inline-start:0;gap:.5rem}.ghi-block-generic-document-links .block-content ul li{display:flex;margin:0;padding:0;list-style-type:none;vertical-align:top}.ghi-block-generic-document-links .block-content ul li .document-link-box{position:relative;width:100%;padding:2rem;background-color:var(--ghi-default-background-color)}.ghi-block-generic-document-links .block-content ul li .document-link-box .title-wrapper .title{display:inline-block;width:100%;margin:0;padding:0;font-size:var(--cd-font-size--medium);font-weight:bold}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons{position:relative;z-index:1;width:100%;margin-bottom:2rem}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons button{padding:0;text-transform:none;color:var(--ghi-default-text-color);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--default)}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons .cd-dropdown div a{font-size:var(--cd-font-size--tiny)}.ghi-block-generic-document-links .block-content ul li .document-link-box .meta{margin-top:1rem;font-size:var(--cd-font-size--tiny)}.ghi-block-generic-document-links .block-content ul li .document-link-box .meta:before{display:block;width:15%;padding-top:1.5rem;content:" ";border-top:4px solid var(--ghi-yellow)}@media(min-width: 768px){.ghi-block-generic-document-links .block-content ul li{flex:0 1 calc(50% - .25rem)}}@media(min-width: 768px){.ghi-block-generic-document-links .block-content ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:.5rem}}.ghi-block-document-subheading{position:relative}.ghi-block-document-subheading a[name]{position:absolute;top:0;left:0}.ghi-block-plan-entity-types .item-list--entity-types{display:flex;flex-direction:column;gap:.5rem}.ghi-block-plan-entity-types .item-list--entity-types>div{display:flex;gap:2rem;padding:2rem 1rem;background-color:var(--ghi-default-background-color)}.ghi-block-plan-entity-types .item-list--entity-types>div p{align-self:center;margin:0;padding:0}.ghi-block-plan-entity-types .item-list--entity-types>div .label{white-space:nowrap;font-size:var(--cd-font-size--2xlarge);font-weight:bold}.ghi-block-plan-entity-types .item-list--entity-types>div .description{font-size:var(--cd-font-size--default)}.ghi-block-generic-external-widget.up-2 .block-content{display:flex;flex-wrap:wrap;justify-content:space-between}.ghi-block-generic-external-widget.up-2 .block-content .iframe-wrapper{width:100% !important}@media(min-width: 768px){.ghi-block-generic-external-widget.up-2 .block-content{display:flex;justify-content:space-between}.ghi-block-generic-external-widget.up-2 .block-content .iframe-wrapper{width:49% !important}}.ghi-block ul.plan-headline-figures{-webkit-margin-before:0;margin-block-start:0;-webkit-margin-after:0;margin-block-end:0;padding:0}.ghi-block ul.plan-headline-figures li{padding:1rem 1.5rem}.hid-session-information>div>div>p{-webkit-margin-before:.5rem;margin-block-start:.5rem}.hid-session-information .info{margin-bottom:1rem}.ghi-block-global-key-figures.has-year-switcher .cd-block-title,.ghi-block-plan-headline-figures.has-year-switcher .cd-block-title{display:flex;gap:1rem}.ghi-block-global-key-figures.has-year-switcher .cd-block-title .section-switcher-wrapper,.ghi-block-plan-headline-figures.has-year-switcher .cd-block-title .section-switcher-wrapper{top:-0.35rem}.ghi-block-global-key-figures .tab-container-wrapper,.ghi-block-plan-headline-figures .tab-container-wrapper{margin-top:-2rem;padding-top:1rem}.ghi-block-global-key-figures .tab-navigation-wrapper,.ghi-block-plan-headline-figures .tab-navigation-wrapper{margin-top:1rem}.ghi-block-global-key-figures .tab-details .key-figures,.ghi-block-plan-headline-figures .tab-details .key-figures{display:flex;flex-wrap:wrap;row-gap:1rem;margin-bottom:0;margin-left:-1.5rem;padding-top:1rem;padding-bottom:0;padding-left:0;list-style:none;-webkit-clip-path:inset(0 0 0 1.5rem);clip-path:inset(0 0 0 1.5rem)}.ghi-block-global-key-figures .tab-details .key-figures li,.ghi-block-plan-headline-figures .tab-details .key-figures li{position:relative;flex-basis:auto;flex-grow:0;padding:0 1.5rem;border:0}.ghi-block-global-key-figures .tab-details .key-figures li:first-child,.ghi-block-plan-headline-figures .tab-details .key-figures li:first-child{padding-left:1.5rem}.ghi-block-global-key-figures .tab-details .key-figures li::before,.ghi-block-plan-headline-figures .tab-details .key-figures li::before{position:absolute;left:0;width:1px;height:90%;content:" ";background-color:var(--ghi-default-border-color)}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__label,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__label{font-weight:normal}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value{color:var(--ghi-default-text-color)}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value>div,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value>div{display:flex;gap:.5rem}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value>div a,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value>div a{text-decoration:none}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value i[data-toggle=tooltip],.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value i[data-toggle=tooltip]{vertical-align:top}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value .material-icon,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value .material-icon{font-size:var(--cd-font-size--large);font-weight:normal}.ghi-block-global-key-figures .tab-details>a.external,.ghi-block-plan-headline-figures .tab-details>a.external{margin-top:2rem}.ghi-block-global-key-figures .block-comment .block-comment-inner,.ghi-block-plan-headline-figures .block-comment .block-comment-inner{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--cd-default-border-color)}.ghi-block-paragraph{position:relative}.ghi-block-paragraph .block-content.gho-text,.ghi-block-paragraph .block-content.gho-aside{margin-top:0}.ghi-block-paragraph .block-content>div>a.read-more{margin-top:2rem}.ghi-block-paragraph .block-content.gho-paragraph-promoted{background-color:rgba(0,0,0,0)}.ghi-block-paragraph.block-highlighted{padding-top:3rem !important}.ghi-block-paragraph.gho-paragraph-promoted{padding-top:3rem !important;background-color:var(--ghi-default-background-color)}.ghi-block-paragraph.gho-paragraph-promoted .block-content{padding-top:0;padding-bottom:3rem}.ghi-block-paragraph.gho-paragraph-promoted::before{position:absolute;left:0;height:100%;content:"";border-left:4px solid var(--cd-primary-color)}.block-plan-attachment-map .form-type-select{margin:0}.block-plan-attachment-map .form-type-select .selectric-wrapper{display:inline-block}.block-plan-attachment-map .form-type-select .selectric{display:inline-block;overflow:visible;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}.block-plan-attachment-map .form-type-select .selectric .label{display:inline-block;height:auto !important;margin:0;padding-right:24px;white-space:nowrap;color:var(--hpc-orange);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--base);font-weight:bold}.block-plan-attachment-map .form-type-select .selectric .label:after{display:none}.block-plan-attachment-map .form-type-select .selectric .icon{position:absolute;top:13px;right:6px;width:12px;height:12px;fill:var(--hpc-orange)}.block-plan-attachment-map .form-type-select .selectric-items{position:absolute;z-index:1;top:0;left:-19px;width:auto !important;border-radius:3px;background-color:var(--cd-white)}.block-plan-attachment-map .form-type-select .selectric-items ul li{padding:8px 18px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--base);font-weight:bold}.block-plan-attachment-map .form-type-select .selectric-items ul li.selected{color:var(--hpc-orange);background-color:rgba(0,0,0,0)}.block-plan-attachment-map .form-type-select .selectric-items ul.selectric-group li{padding-left:2rem;font-weight:normal}.block-plan-attachment-map .form-type-select .selectric-items ul.selectric-group li.selectric-group-label{padding-left:18px;font-weight:bold}.block-plan-attachment-map div.block-links .download-link-wrapper{top:-2rem;margin-top:0}.block-plan-attachment-map:not(.has-comment) div.block-links{border-top:0}.block-plan-attachment-map .plan-attachment-map-wrapper .map-tabs--inner{padding-left:1rem}.block-plan-attachment-map .plan-attachment-map-wrapper .map-container .leaflet-container{width:100%;height:100%}.block-plan-attachment-map.has-attachment-switcher .map-tabs,.block-plan-attachment-map.has-attachment-switcher .download-link-wrapper{top:.3rem;margin-top:0}.block-plan-attachment-map .modal.right:not(.visible),.block-plan-attachment-map .leaflet-sidebar.right:not(.visible){right:-600px}.block-plan-attachment-map .modal .modal-inner,.block-plan-attachment-map .leaflet-sidebar .modal-inner{overflow-y:auto;max-height:350px}.block-plan-attachment-map .modal .modal-inner .title,.block-plan-attachment-map .leaflet-sidebar .modal-inner .title{color:var(--hpc-orange);font-size:1.4rem}.block-plan-attachment-map .modal table.plan-attachment-modal-table,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table{margin-bottom:.5rem}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody{border-top:none}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr{margin-bottom:8px;vertical-align:top;border-bottom:1px solid var(--cd-default-border-color)}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr:last-child,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr:last-child{border-bottom:0}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr td,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr td{padding:0;text-align:right;color:var(--hpc-brown);border:none;background:none;font-size:var(--cd-font-size--small);font-weight:600}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr td:first-child,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr td:first-child{text-align:left;font-weight:400}.configuration-container .pane-plan-attachment-map .map-wrapper-outer{margin-top:4rem}.configuration-container .pane-plan-attachment-map .map-wrapper-outer .map-tabs{top:2rem;right:1rem;margin-right:0}.configuration-container .pane-plan-attachment-map .map-wrapper-outer.has-attachment-switcher{margin-top:0}.configuration-container .pane-plan-attachment-map .map-wrapper-outer.has-attachment-switcher .map-tabs{top:2.5rem}.ghi-block-plan-cluster-header .block-content{display:flex;justify-content:space-between}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts{margin-top:-3rem;margin-bottom:2rem;margin-left:auto;padding:1rem 3rem}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts h3{margin-top:0;font-size:var(--cd-font-size--medium)}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts .cluster-header-contacts-item{font-size:var(--cd-font-size--default)}.block-plan-entity-attachments-table .select2-container{width:auto !important}.block-plan-entity-attachments-table td.group-name{font-weight:bold}.block-plan-operational-presence-map .pane-content{margin-top:.5rem}.block-plan-operational-presence-map .pane-content .pane-plan-operational-presence-map{display:flex;justify-content:space-between}.block-plan-operational-presence-map .pane-content .download-link-wrapper{top:-2rem;margin-top:0}.block-plan-operational-presence-map .pane-title{margin-bottom:0}.block-plan-operational-presence-map .pane-title .collapsed-text a.read-more{position:relative;top:-1rem}@media(min-width: 768px){.block-plan-operational-presence-map .pane-title{max-width:80%}}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container{position:relative;width:100%;min-height:400px;margin:0;padding:0;border:1px solid var(--hpc-border-color)}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend{position:absolute;z-index:90;top:10px;right:10px;font-size:var(--cd-font-size--small)}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul{display:flex;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-after:0;margin-block-end:0;padding:5px;list-style-type:none;border:1px solid var(--hpc-border-color);border-radius:3px;background-color:#fff}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li{margin-right:.5rem}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li:last-child{margin-right:0}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li .legend-marker{display:inline-block;width:10px;height:10px;margin-right:5px;border:1px solid var(--hpc-border-color);border-radius:50%}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .leaflet-container{width:100%;height:100%}.block-plan-operational-presence-map .leaflet-sidebar{width:350px !important}.block-plan-operational-presence-map .modal .modal-content,.block-plan-operational-presence-map .leaflet-sidebar .modal-content{max-width:350px}.block-plan-operational-presence-map .modal .modal-inner,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner{overflow-y:auto;max-height:350px}.block-plan-operational-presence-map .modal .modal-inner .title-heading,.block-plan-operational-presence-map .modal .map-plan-card-container .title-heading,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .title-heading,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .title-heading{text-transform:uppercase;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny)}.block-plan-operational-presence-map .modal .modal-inner .title,.block-plan-operational-presence-map .modal .map-plan-card-container .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .title{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--medium);font-weight:500}.block-plan-operational-presence-map .modal .modal-inner .content,.block-plan-operational-presence-map .modal .map-plan-card-container .content,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content{border-top:none !important}.block-plan-operational-presence-map .modal .modal-inner .content .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .title{text-transform:uppercase;font-size:var(--cd-font-size--small);font-weight:bold}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper{position:relative;margin-bottom:.5rem;font-size:var(--cd-font-size--small)}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper{position:relative;top:3px;display:inline-block;width:26px;height:26px;margin-right:.5rem;border:1px solid #000;border-radius:50%}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon{display:inline-block;width:26px;height:26px}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg{top:5%;left:20%;width:13px;height:13px}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper span.toggle{position:absolute;top:0;right:0;display:inline-block}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper{display:none;padding-top:1rem;padding-left:2.2rem}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper .title{text-transform:uppercase;font-size:var(--cd-font-size--tiny);font-weight:bold}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper ul{-webkit-padding-start:1rem;padding-inline-start:1rem;font-size:var(--cd-font-size--tiny)}.block-plan-operational-presence-map .modal .modal-inner .content a.fts-link,.block-plan-operational-presence-map .modal .map-plan-card-container .content a.fts-link,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content a.fts-link,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content a.fts-link{display:inline-block;margin-bottom:.5rem}.block-plan-operational-presence-map .modal .modal-inner .content a.fts-link img,.block-plan-operational-presence-map .modal .map-plan-card-container .content a.fts-link img,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content a.fts-link img,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content a.fts-link img{position:relative;top:.5rem;left:.2rem;height:20px}.configuration-container .pane-plan-operational-presence-map{position:relative}.configuration-container .pane-plan-operational-presence-map .map-wrapper-outer.has-view-switcher,.configuration-container .pane-plan-operational-presence-map .map-wrapper-outer.has-object-switcher{margin-top:5rem}.ghi-block-plan-organizations-table tbody td.entity-name{white-space:unset !important}@media(min-width: 768px){.ghi-block-plan-organizations-table thead th.cd-table--name{min-width:200px}}.ghi-block-global-key-figures+.ghi-block-global-plan-overview-map{margin-top:0}.ghi-block-global-plan-overview-map{position:relative;clear:both}.ghi-block-global-plan-overview-map .overlay{position:absolute;top:0;bottom:0;width:100%;opacity:.25}.ghi-block-global-plan-overview-map .map-container{margin-bottom:1rem;padding:0 .5rem}.ghi-block-global-plan-overview-map .map-container .leaflet-container{position:relative;min-height:400px;border-width:1px;border-style:solid;border-color:var(--hpc-border-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-bottom{width:100%}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-control-attribution{float:none;width:100%;margin-right:auto;margin-left:auto;padding:.5rem;text-align:center}@media(max-width: 575px){.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-control-attribution{padding-bottom:.3rem}}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-header .title{margin-bottom:0;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--base);font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-header .title a{color:var(--ghi-default-text-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .modal-inner{padding:1.2rem 1.6rem .5rem 1.4rem;cursor:default}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content strong{font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper{margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--ghi-default-border-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row{display:flex;justify-content:space-between;width:100%}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .label{position:relative;display:inline;margin-bottom:3px;text-align:left;font-size:var(--cd-font-size--small);font-weight:normal}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value{display:flex;gap:.3rem;font-size:var(--cd-font-size--small);font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value i.tooltip.info{position:relative;top:3px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value i.tooltip.monitoring-period{position:relative;top:1px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value .hpc-percent-progress-bar-wrapper{margin-top:2px;cursor:default}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .note{font-size:var(--cd-font-size--tiny)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status{margin:4px 0 4px 4px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .label{display:flex;gap:.5rem;font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .value{text-transform:none}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .value>div{display:flex;gap:.5rem}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg g path:nth-of-type(1){fill:var(--ghi-grey--medium) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg[plan-type=hrp] g path:nth-of-type(1){fill:var(--cd-primary-color) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg[plan-type=fa] g path:nth-of-type(1){fill:var(--ghi-widget-color--dark) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane text.donut-label{font-family:var(--cd-font--roboto);font-weight:500}@media(min-width: 768px){.ghi-block-global-plan-overview-map .map-container .leaflet-container{min-height:500px;border:0 none}}@media(min-width: 768px){.ghi-block-global-plan-overview-map .map-container{padding:0}}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend{top:unset;right:unset;bottom:3rem;left:1rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul{flex-direction:column;gap:.1rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item{margin:0;gap:.5rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon{width:1rem;height:1rem;margin-top:0}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-hrp{background-color:var(--cd-primary-color) !important}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-fa{background-color:var(--ghi-widget-color--dark) !important}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-other{background-color:var(--ghi-grey--medium) !important}.ghi-block-global-plan-table .metadata{width:100%;margin-top:1.5rem;margin-bottom:-1.5rem;text-align:right;font-size:var(--cd-font-size--tiny)}.ghi-block-global-plan-table table tbody td[data-column=name]{display:flex;justify-content:space-between}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle]{width:auto !important;min-width:4rem;height:auto !important;max-height:1.5rem;text-align:center;color:var(--cd-white);background-color:#87cfad;font-size:var(--cd-font-size--small);font-weight:normal}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-hrp{background-color:#5090cd}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-fa{background-color:#8869ae}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-rrp{background-color:#e66751}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-non-hrp{padding:0 5px;background-color:#777}.ghi-block-global-plan-table table tbody td[data-column=status]>div{display:flex;justify-content:space-between}.ghi-block-global-plan-table table tbody td a{word-break:normal}.ghi-block-global-plan-table table tbody td a.fts-plan-link{text-decoration:none}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table{position:relative;z-index:1;margin-top:-1rem;padding-bottom:0;background-color:var(--ghi-default-background-color)}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links{position:relative;z-index:1;border-top:0;border-bottom:0;background-color:var(--cd-white)}#layout-builder .ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment,#layout-builder .ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links{background-color:inherit}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment.block-comment,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links.block-comment{margin-top:2rem}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment.block-comment:before,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links.block-comment:before{border-bottom:0}.ghi-block-plan-webcontent-text .block-content{padding-top:1rem}.ghi-block-section-collection .block-content>a.external{margin-top:2rem}.ghi-block-section-collection .section-collection{margin-top:2rem}.ghi-block-section-collection .section-collection .ghi-grid-item{padding:0}.ghi-block-section-collection .section-collection .ghi-grid-item .field--type-image{width:100%}.block-wrapper--sectionswitcher,.ghi-block.has-year-switcher{z-index:1}.block-wrapper--sectionswitcher .section-switcher-wrapper,.ghi-block.has-year-switcher .section-switcher-wrapper{position:relative;z-index:1}.block-wrapper--sectionswitcher .section-switcher-wrapper .section-switcher-single,.block-wrapper--sectionswitcher .section-switcher-wrapper button,.ghi-block.has-year-switcher .section-switcher-wrapper .section-switcher-single,.ghi-block.has-year-switcher .section-switcher-wrapper button{display:inline-block;padding:.5rem 1.2rem;text-transform:uppercase;color:var(--ghi-default-text-color);border:0;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:bold}.block-wrapper--sectionswitcher .section-switcher-wrapper button,.ghi-block.has-year-switcher .section-switcher-wrapper button{transition:background-color .6s ease-out,color .6s ease-out}.block-wrapper--sectionswitcher .section-switcher-wrapper button:hover,.block-wrapper--sectionswitcher .section-switcher-wrapper button:focus,.ghi-block.has-year-switcher .section-switcher-wrapper button:hover,.ghi-block.has-year-switcher .section-switcher-wrapper button:focus{background-color:var(--ghi-primary-button-color-hover)}.block-wrapper--sectionswitcher .section-switcher-wrapper button svg,.ghi-block.has-year-switcher .section-switcher-wrapper button svg{fill:var(--ghi-default-text-color)}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown{position:absolute;left:0;min-width:5.25rem;background-color:var(--ghi-primary-background-color)}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul{margin:.5rem 0;padding:0}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li{padding:.5rem 1.2rem;list-style-type:none;white-space:nowrap;font-size:var(--cd-font-size--small);font-weight:bold}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a,.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:focus,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:focus{text-decoration:none;color:var(--ghi-default-text-color);font-weight:normal}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:hover{color:var(--ghi-primary-button-color-hover)}@media(min-width: 1024px){.block-wrapper--sectionswitcher .section-switcher-wrapper,.ghi-block.has-year-switcher .section-switcher-wrapper{top:.25rem}}.block-subpage-title{background-color:var(--ghi-default-background-color)}.block-subpage-title h2{margin:0 auto;padding-top:3rem;padding-bottom:3rem}.cluster-icon svg{position:relative;top:20%;left:20%}.cluster-icon svg *{fill:var(--hpc-brown)}.cluster-item.active .cluster-icon svg *{fill:var(--cd-white)}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas){border:1px solid var(--cd-default-border-color) !important;border-radius:5px !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar{height:3rem !important;padding:1rem !important;border-top-left-radius:inherit !important;border-top-right-radius:inherit !important;background-color:var(--ghi-default-background-color) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar .ui-dialog-title{color:var(--ghi-default-text-color) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar button.ui-dialog-titlebar-close{top:.5rem;right:.5rem;margin:0;transform:none;opacity:.8;border:none;background:none}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar button.ui-dialog-titlebar-close span.ui-button-icon{top:0;left:0;width:100%;height:100%;margin:0;transform:none;background-color:var(--ghi-default-text-color) !important;-webkit-mask-image:url("../../../contrib/gin/dist/media/sprite.svg#close-view");mask-image:url("../../../contrib/gin/dist/media/sprite.svg#close-view");-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center center;mask-position:center center}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal{padding:1rem !important;color:var(--ghi-default-text-color) !important;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit;background:var(--cd-white) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper{font-size:var(--cd-font-size--small)}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-content p{margin:0;line-height:1.2rem}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-content>div{display:flex;flex-direction:column;gap:1rem}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid gray;line-height:1.2rem}ul.links--entity-navigation{display:flex;align-items:center;margin:0;padding:0;gap:2rem}ul.links--entity-navigation>li>.link-wrapper,ul.links--entity-navigation>li>button{position:relative;display:flex;align-items:center;height:3.5rem}ul.links--entity-navigation>li.active>.link-wrapper::before,ul.links--entity-navigation>li.active>button::before,ul.links--entity-navigation>li>button[aria-expanded=true]::before{position:absolute;right:-1px;bottom:-1px;left:-1px;width:calc(100% + 2px);height:4px;content:"";transition:background .3s ease;border-bottom:4px solid var(--ghi-yellow)}ul.links--entity-navigation li{list-style-type:none}ul.links--entity-navigation li a{text-decoration:none;color:var(--hpc-dark-brown)}ul.links--entity-navigation li a.header-link{border-bottom:1px solid var(--ghi-default-border-color-background)}ul.links--entity-navigation li a.active{font-weight:bold}ul.links--entity-navigation li.expandable.dropdown{position:relative}ul.links--entity-navigation li.expandable.active>button[data-cd-toggler]{font-weight:bold}ul.links--entity-navigation li.expandable>button[data-cd-toggler]{padding:0;text-transform:none;border:0;background-color:rgba(0,0,0,0)}ul.links--entity-navigation li.expandable>button[data-cd-toggler] svg.cd-dropdown__icon{fill:var(--ghi-primary-button-color)}ul.links--entity-navigation li.expandable a{padding:.5rem 0;white-space:nowrap;font-size:var(--cd-font-size--default)}ul.links--entity-navigation li.expandable a:hover{color:var(--ghi-primary-button-color-hover)}ul.links--entity-navigation li.expandable.dropdown>div[data-cd-hidden=false]{position:absolute;z-index:201;top:3.5rem;left:-1.5rem;display:flex;flex-direction:column;padding:.5rem 1.5rem;background-color:var(--ghi-primary-background-color)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]{position:absolute;z-index:201;top:3.5rem;right:0;left:0;padding-top:1rem;padding-bottom:1rem;background-color:var(--ghi-primary-background-color)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer{max-width:calc(var(--content-width) + 24px);margin-right:auto;margin-left:auto;padding-right:var(--cd-container-padding);padding-left:var(--cd-container-padding)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header{margin-bottom:1rem;padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--ghi-default-border-color-background)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header h3{margin-bottom:0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header h3 a{font-size:var(--cd-font-size--2xbase)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header .metadata{font-size:var(--cd-font-size--small)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner{display:flex;gap:1rem;flex-direction:row}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper{display:inline-block;width:auto}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group{display:inline-block;width:auto}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group>p{display:inline-block;width:auto;font-weight:bold}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul{-webkit-padding-start:0;padding-inline-start:0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul li{width:80%;padding:.5rem 0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul li a{white-space:unset}@media(min-width: 768px){ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer{max-width:calc(var(--content-width) + 48px);padding-right:var(--cd-container-padding-xlarge);padding-left:var(--cd-container-padding-xlarge)}}.ghi-image-wrapper{position:relative}.ghi-image-wrapper div.image-caption-wrapper,.ghi-image-wrapper div.image-credit-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;text-align:right;opacity:.9}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper,.link-carousel-wrapper .ghi-image-wrapper div.image-credit-wrapper{max-height:568px}.ghi-image-wrapper div.image-caption-wrapper div.image-caption{position:absolute;right:1.9rem;bottom:2rem;display:inline-block;max-width:400px;padding:1rem 2rem;text-align:left;color:var(--ghi-default-text-color);background-color:var(--cd-white);font-size:var(--cd-font-size--tiny)}.ghi-image-wrapper div.image-caption-wrapper div.image-caption .location{margin:0 0 .5rem 0;font-size:var(--cd-font-size--tiny);font-weight:700}.ghi-image-wrapper div.image-caption-wrapper div.image-caption p{margin:0}.ghi-image-wrapper div.image-caption-wrapper div.image-caption .credits{font-style:italic}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption{position:absolute;right:calc(1.9rem + 2px);bottom:calc(2rem + 2px);display:inline-block;width:1.5rem;height:1.5rem;padding:0 !important;background-color:var(--cd-white);font-size:var(--cd-font-size--small);line-height:1.5rem}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus,.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover{background-color:var(--cd-primary-color)}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus+.image-caption,.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover+.image-caption{display:inline-block}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption::after{display:block;content:"i";text-align:center;font-weight:700}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper div.image-caption:hover{display:inline-block}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper div.image-caption{display:none}@media(max-width: 767px){.ghi-image-wrapper div.image-caption-wrapper a.expand-caption{position:absolute;right:calc(1.9rem + 2px);bottom:calc(2rem + 2px);display:inline-block;width:1.5rem;height:1.5rem;padding:0 !important;background-color:var(--cd-white);font-size:var(--cd-font-size--small);line-height:1.5rem}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus,.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover{background-color:var(--cd-primary-color)}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus+.image-caption,.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover+.image-caption{display:inline-block}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption::after{display:block;content:"i";text-align:center;font-weight:700}.ghi-image-wrapper div.image-caption-wrapper div.image-caption:hover{display:inline-block}.ghi-image-wrapper div.image-caption-wrapper div.image-caption{display:none}}.ghi-image-wrapper div.image-credit-wrapper a.expand-caption{display:none}.ghi-image-wrapper div.image-credit-wrapper div.image-credit{position:absolute;right:1.9rem;bottom:2rem;display:inline-block;padding:.1rem .5rem;color:var(--cd-white);background-color:var(--cd-black);font-size:var(--cd-font-size--tiny)}.block-document-meta-data>ul,.block-section-meta-data>ul,article.node--type-article .node__meta .node__submitted>ul,article.node--type-document .node__meta .node__submitted>ul,.megamenu .megamenu-header>ul{display:flex;flex-wrap:wrap;row-gap:1rem;margin-top:0;margin-bottom:0;margin-left:-0.5rem;padding:0;list-style:none;-webkit-clip-path:inset(-3rem -3rem 0 0.5rem);clip-path:inset(-3rem -3rem 0 0.5rem)}.block-document-meta-data>ul>li,.block-section-meta-data>ul>li,article.node--type-article .node__meta .node__submitted>ul>li,article.node--type-document .node__meta .node__submitted>ul>li,.megamenu .megamenu-header>ul>li{position:relative;flex-basis:auto;flex-grow:0;padding:0 .5rem;border:0}.block-document-meta-data>ul>li:first-child,.block-section-meta-data>ul>li:first-child,article.node--type-article .node__meta .node__submitted>ul>li:first-child,article.node--type-document .node__meta .node__submitted>ul>li:first-child,.megamenu .megamenu-header>ul>li:first-child{padding-left:.5rem}.block-document-meta-data>ul>li::before,.block-section-meta-data>ul>li::before,article.node--type-article .node__meta .node__submitted>ul>li::before,article.node--type-document .node__meta .node__submitted>ul>li::before,.megamenu .megamenu-header>ul>li::before{position:absolute;left:0;width:1px;height:90%;content:" ";background-color:var(--ghi-default-border-color)}.modal-content table{width:100%}.leaflet-modal{z-index:10 !important}.leaflet-modal .overlay{background-color:rgba(0,0,0,0)}.leaflet-modal .modal{overflow:hidden;max-height:600px;padding:0 1.5rem}.leaflet-modal .modal-content{max-width:250px;padding:0;border:1px solid var(--hpc-border-color);border-radius:4px;background-color:var(--cd-white);font-size:var(--cd-font-size--base)}.leaflet-modal .modal-content .modal-inner{position:relative;padding:.5rem 1rem;line-height:24px}.leaflet-modal .modal-content .modal-inner i.close{position:absolute;top:-1rem;right:-1rem;opacity:1;color:var(--cd-primary-color);border-radius:50%;background-color:var(--cd-white);font-size:2rem}.leaflet-modal .modal-content .modal-inner div.title{margin-bottom:10px;font-weight:bold}.leaflet-modal .modal-content .modal-inner div.content{padding-top:.5rem;border-top:1px solid var(--hpc-border-color)}.leaflet-modal .modal-content .modal-inner div.monitoring-period{margin-top:5px;padding-top:5px;color:var(--ghi-default-text-color);border-top:1px solid var(--hpc-border-color);font-size:var(--cd-font-size--small)}.hpc-pie-chart-wrapper svg{width:20px;height:20px;transform:rotate(-90deg);border:1px solid var(--ghi-widget-color--dark);border-radius:50%;fill:var(--ghi-widget-color--light)}.hpc-pie-chart-wrapper svg circle{fill:var(--ghi-widget-color--light);stroke:var(--ghi-widget-color--dark);stroke-width:32;stroke-dasharray:100 100}.plan-entity-contribution-wrapper{display:flex;align-items:center;font-size:var(--cd-font-size--small)}.plan-entity-contribution-wrapper>span{font-weight:700}.plan-entity-contribution-wrapper ul{display:inline-flex;-webkit-padding-start:.5rem;padding-inline-start:.5rem;list-style-type:none;gap:.5rem}.plan-entity-contribution-wrapper ul li{display:flex;gap:3px}.plan-entity-contribution-wrapper ul li span.check-circle{color:var(--green)}.plan-status{width:1rem;height:1rem;border-radius:50%}.plan-status.plan-status-header-icon{background-color:var(--ghi-default-text-color)}.plan-status.unpublished{background-color:var(--ghi-status-color-unpublished)}.plan-status.published{background-color:var(--ghi-status-color-published)}.hpc-progress-bar-wrapper{display:inline-block;overflow:hidden;width:100%;height:14px;border:1px solid var(--ghi-widget-color--dark);background-color:var(--ghi-widget-color--light)}.hpc-progress-bar-wrapper .hpc-progress-bar-inner{height:100%;background-color:var(--ghi-widget-color--dark)}.project-data-popover table th{text-align:center}.project-data-popover table tr td{text-align:center}.project-data-popover table tr td:first-child{white-space:nowrap}.project-data-popover table tr td ul{-webkit-padding-start:unset;padding-inline-start:unset;list-style-type:none}.select-wrappers{position:absolute;top:-1.8rem;right:0;display:inline-block;margin:0}.select-wrappers>div.ajax-switcher-wrapper{display:inline-block}.select-wrappers>div.ajax-switcher-wrapper>form{display:inline-block;margin:0 0 0 1rem}div.ajax-switcher-wrapper>form{display:inline-block;margin:0 1rem 0 0}div.ajax-switcher-wrapper>form .form-item{display:inline-block}div.ajax-switcher-wrapper>form .select2,div.ajax-switcher-wrapper>form .select2-selection--single{display:inline-block;overflow:visible;width:auto !important;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}div.ajax-switcher-wrapper>form .select2 .select2-selection__rendered,div.ajax-switcher-wrapper>form .select2-selection--single .select2-selection__rendered{display:inline-block;height:auto !important;margin:0;padding-right:24px;padding-left:0;white-space:nowrap;color:var(--ghi-default-text-color);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--small);font-weight:bold}div.ajax-switcher-wrapper>form .select2 .select2-selection__rendered:after,div.ajax-switcher-wrapper>form .select2-selection--single .select2-selection__rendered:after{display:none}div.ajax-switcher-wrapper>form .select2 .icon,div.ajax-switcher-wrapper>form .select2-selection--single .icon{position:absolute;top:13px;right:6px;width:12px;height:12px;fill:var(--ghi-default-text-color)}.select2-dropdown.select2-dropdown--below{border-top:.5px solid}.select2-dropdown .select2-results{width:auto !important;border-radius:3px;background-color:var(--cd-white)}.select2-dropdown .select2-results ul li{padding:8px 18px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--small);font-weight:normal}.select2-dropdown .select2-results ul li.select2-results__option--highlighted{color:var(--cd-primary-color);background-color:rgba(0,0,0,0)}.select2-dropdown .select2-results ul.selectric-group li{padding-left:2rem;font-weight:normal}.select2-dropdown .select2-results ul.selectric-group li.selectric-group-label{padding-left:18px;font-weight:bold}#main-content .table-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper,.ghi-modal-dialog .table-wrapper{overflow-x:auto;max-width:calc(100vw - 1rem - 2*var(--cd-container-padding)) !important;margin-right:-5px}#main-content .table-wrapper table.ghi-table,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table,.ghi-modal-dialog .table-wrapper table.ghi-table{font-size:var(--cd-font-size--default)}#main-content .table-wrapper table.ghi-table.soft-limit,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.soft-limit,.ghi-modal-dialog .table-wrapper table.ghi-table.soft-limit{margin-bottom:2rem}#main-content .table-wrapper table.ghi-table.soft-limit+a.expand-table,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.soft-limit+a.expand-table,.ghi-modal-dialog .table-wrapper table.ghi-table.soft-limit+a.expand-table{display:block;margin-right:auto;margin-left:auto}.ghi-block #main-content .table-wrapper table.ghi-table,.ghi-block .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table,.ghi-block .ghi-modal-dialog .table-wrapper table.ghi-table{margin-bottom:0}#main-content .table-wrapper table.ghi-table th,#main-content .table-wrapper table.ghi-table td,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem 2rem}body.path-frontpage #main-content .table-wrapper table.ghi-table th,body.path-overview #main-content .table-wrapper table.ghi-table th,body.path-frontpage #main-content .table-wrapper table.ghi-table td,body.path-overview #main-content .table-wrapper table.ghi-table td,body.path-frontpage .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,body.path-overview .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,body.path-frontpage .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,body.path-overview .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,body.path-frontpage .ghi-modal-dialog .table-wrapper table.ghi-table th,body.path-overview .ghi-modal-dialog .table-wrapper table.ghi-table th,body.path-frontpage .ghi-modal-dialog .table-wrapper table.ghi-table td,body.path-overview .ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem 1rem}#main-content .table-wrapper table.ghi-table th.entity-name,#main-content .table-wrapper table.ghi-table th.cd-table--amount,#main-content .table-wrapper table.ghi-table th.cd-table--currency,#main-content .table-wrapper table.ghi-table th.cd-table--percentage,#main-content .table-wrapper table.ghi-table td.entity-name,#main-content .table-wrapper table.ghi-table td.cd-table--amount,#main-content .table-wrapper table.ghi-table td.cd-table--currency,#main-content .table-wrapper table.ghi-table td.cd-table--percentage,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.entity-name,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--amount,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--currency,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--percentage,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.entity-name,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--amount,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--currency,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--percentage,.ghi-modal-dialog .table-wrapper table.ghi-table th.entity-name,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--amount,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--currency,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--percentage,.ghi-modal-dialog .table-wrapper table.ghi-table td.entity-name,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--amount,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--currency,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--percentage{text-align:left;white-space:nowrap}#main-content .table-wrapper table.ghi-table th.cd-table--chart,#main-content .table-wrapper table.ghi-table td.cd-table--chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--chart,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--chart,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--chart{text-align:center}#main-content .table-wrapper table.ghi-table th.not-available,#main-content .table-wrapper table.ghi-table td.not-available,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.not-available,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.not-available,.ghi-modal-dialog .table-wrapper table.ghi-table th.not-available,.ghi-modal-dialog .table-wrapper table.ghi-table td.not-available{font-style:italic}#main-content .table-wrapper table.ghi-table th[data-formatting=numeric-full],#main-content .table-wrapper table.ghi-table td[data-formatting=numeric-full],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th[data-formatting=numeric-full],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td[data-formatting=numeric-full],.ghi-modal-dialog .table-wrapper table.ghi-table th[data-formatting=numeric-full],.ghi-modal-dialog .table-wrapper table.ghi-table td[data-formatting=numeric-full]{text-align:right}#main-content .table-wrapper table.ghi-table th:first-child,#main-content .table-wrapper table.ghi-table td:first-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th:first-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table th:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:first-child{padding-left:0}#main-content .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),#main-content .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart),.ghi-modal-dialog .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),.ghi-modal-dialog .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart){padding-right:0}#main-content .table-wrapper table.ghi-table.cd-table--responsive td:before,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.cd-table--responsive td:before,.ghi-modal-dialog .table-wrapper table.ghi-table.cd-table--responsive td:before{top:1.5rem;font-size:inherit}#main-content .table-wrapper table.ghi-table thead th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table thead th,.ghi-modal-dialog .table-wrapper table.ghi-table thead th{white-space:nowrap;text-transform:uppercase;color:var(--ghi-default-text-color);border-bottom:1px solid var(--cd-default-border-color);background:rgba(0,0,0,0);font-size:var(--cd-font-size--small)}#main-content .table-wrapper table.ghi-table.sortable th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th{cursor:pointer}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse{padding-right:5px}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span{display:inline-block;width:2rem;color:var(--cd-primary-color)}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after{position:relative;top:4px;left:5px;display:inline-block;width:11px;height:19px;content:" ";background-size:contain}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after{background-image:url("../img/table/ghi_sorting.svg")}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after{background-image:url("../img/table/ghi_sorting_up.svg")}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after{background-image:url("../img/table/ghi_sorting_down.svg")}#main-content .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,#main-content .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind{display:none}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-nosort,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-nosort,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-nosort{cursor:initial}#main-content .table-wrapper table.ghi-table tbody tr,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody tr,.ghi-modal-dialog .table-wrapper table.ghi-table tbody tr{border-bottom:1px solid var(--cd-default-border-color)}#main-content .table-wrapper table.ghi-table tbody tr:last-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody tr:last-child,.ghi-modal-dialog .table-wrapper table.ghi-table tbody tr:last-child{border-bottom:0}#main-content .table-wrapper table.ghi-table tbody td:first-child.subrow,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td:first-child.subrow,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td:first-child.subrow{padding-left:2rem}#main-content .table-wrapper table.ghi-table tbody td .tooltip,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td .tooltip,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td .tooltip{margin-left:.3rem}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart{white-space:nowrap}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper{display:inline-flex;width:auto;height:100%;margin-left:5px;aspect-ratio:1/1;vertical-align:middle}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar{white-space:nowrap}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper{margin-left:5px}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart{width:10rem;padding:.5rem .75rem .5rem 0}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline{display:inline-block;width:100%}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"],.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"]{r:4px;fill:#fed83d}#main-content .table-wrapper table.ghi-table tbody div.modal-link,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody div.modal-link,.ghi-modal-dialog .table-wrapper table.ghi-table tbody div.modal-link{display:inline-block;vertical-align:middle}#main-content .table-wrapper table.ghi-table tbody div.modal-link a,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody div.modal-link a,.ghi-modal-dialog .table-wrapper table.ghi-table tbody div.modal-link a{text-decoration:none}@media(min-width: 768px){#main-content .table-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper,.ghi-modal-dialog .table-wrapper{max-width:calc(100vw - 1rem - 2*var(--cd-container-padding-xlarge)) !important}}.ghi-modal-dialog .table-wrapper table.ghi-table{margin-bottom:0}.ghi-modal-dialog .table-wrapper table.ghi-table th{white-space:nowrap;color:var(--ghi-default-text-color);background-color:inherit}.ghi-modal-dialog .table-wrapper table.ghi-table.has-totals-row th{border-bottom:0}.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td,.ghi-modal-dialog .table-wrapper table.ghi-table td a{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--small)}.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem .5rem 1.5rem 2rem}.ghi-modal-dialog .table-wrapper table.ghi-table th:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:first-child{padding-left:.5rem}.ghi-modal-dialog .table-wrapper table.ghi-table th:last-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:last-child{padding-right:.5rem}.ghi-modal-dialog .table-wrapper table.ghi-table tr.totals-row,.ghi-modal-dialog .table-wrapper table.ghi-table tfoot tr{border-bottom:0;background-color:var(--cd-default-background-color)}.ghi-modal-dialog .table-wrapper table.ghi-table tr.totals-row td,.ghi-modal-dialog .table-wrapper table.ghi-table tfoot tr td{font-weight:700}.ajax-progress-fullscreen{z-index:1052;top:0;left:0;width:100%;height:100%;pointer-events:unset;opacity:.7;background-color:var(--cd-tag--color)}.ui-dialog{z-index:301}.ui-dialog .ui-dialog-title{margin-top:0 !important;margin-bottom:0 !important}.ui-dialog .ui-dialog-title .cluster-icon{display:inline-block;width:1rem;margin-right:.5rem;color:#fff}.ui-dialog .ui-dialog-title .cluster-icon svg *{fill:var(--cd-white)}.ui-dialog .ui-dialog-content{position:static !important;color:inherit !important}.ui-dialog.download-dialog .ui-dialog-content{overflow:inherit !important}.ui-dialog.ajax-block-error .ui-dialog-content{margin-top:2rem;margin-bottom:2rem}.ui-dialog.ghi-modal-dialog{max-width:1280px;margin:1rem;border:0 none !important;border-radius:var(--ghi-ui-dialog-border-radius);background:var(--ghi-grey--background) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar{padding:24px;border:1px solid var(--cd-default-border-color);border-top-left-radius:var(--ghi-ui-dialog-border-radius);border-top-right-radius:var(--ghi-ui-dialog-border-radius);background:var(--cd-white) !important;line-height:1.2}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{top:20px;right:18px;box-sizing:border-box;width:2em;margin:0;transform:none;white-space:nowrap;text-indent:-9999px;opacity:.8;border:none;background:none}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-button-icon{top:0;left:0;width:100%;height:100%;margin:0;transform:none;background-color:var(--cd-primary-color) !important;-webkit-mask-image:url("/themes/contrib/gin/dist/media/sprite.svg#close-view");mask-image:url("/themes/contrib/gin/dist/media/sprite.svg#close-view");-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center center;mask-position:center center;background-image:none}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title{color:var(--ghi-default-text-color) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .cluster-icon{display:inline-block;width:1rem;margin-right:1rem;color:#fff}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .cluster-icon svg *{fill:var(--ghi-default-text-color)}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .title-additional-info{float:right;margin-right:3rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content{border-right:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-default-border-color);border-left:1px solid var(--cd-default-border-color);border-bottom-right-radius:var(--ghi-ui-dialog-border-radius);border-bottom-left-radius:var(--ghi-ui-dialog-border-radius);background:var(--cd-white) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-content a{color:var(--ghi-default-text-color)}.ui-dialog.ghi-modal-dialog .ui-dialog-content a.fts-link{display:inline-block;margin:1rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content a.fts-link img{height:20px;vertical-align:middle}.ui-dialog.ghi-modal-dialog .ui-dialog-content ul,.ui-dialog.ghi-modal-dialog .ui-dialog-content ol{-webkit-padding-start:2rem;padding-inline-start:2rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content ul li,.ui-dialog.ghi-modal-dialog .ui-dialog-content ol li{padding:.5rem 0}.ghi-modal-dialog+.ui-widget-overlay{z-index:300;opacity:.9;background:var(--ghi-grey--background) !important}article.node--view-mode-grid{display:flex;flex-direction:column;height:100%;border:1px solid var(--cd-default-border-color)}article.node--view-mode-grid .cd-teaser__image{max-width:unset;margin-top:0;margin-bottom:0}article.node--view-mode-grid .cd-teaser__container{display:flex;flex-direction:column;justify-content:space-between;padding:0 1rem}article.node--view-mode-grid .cd-teaser__container a{text-decoration:none}article.node--view-mode-grid .cd-teaser__container .cd-teaser__title--wrapper{font-size:var(--cd-font-size--default)}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description{min-height:7rem;padding-top:1rem;padding-bottom:1rem;line-height:1.2rem}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description:before{display:block;width:12%;padding-top:1rem;content:" ";border-top:3px solid var(--ghi-yellow)}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description .cd-teaser__date{font-size:var(--cd-font-size--small)}body.page-node-type-article .region-page-title .title-prefix,body.page-node-type-document .region-page-title .title-prefix{display:inline-block;margin-top:1rem;padding:.5rem 1rem;text-transform:uppercase;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:700}body.page-node-type-article article.node--view-mode-full .document-summary,body.page-node-type-document article.node--view-mode-full .document-summary{margin-bottom:4.5rem}body.page-node-type-article article.node--view-mode-full footer.node__meta,body.page-node-type-document article.node--view-mode-full footer.node__meta{padding:1rem 0;border-top:1px solid var(--ghi-default-border-color);border-bottom:1px solid var(--ghi-default-border-color)}body.page-node-type-article article.node--view-mode-full footer.node__meta .node__submitted,body.page-node-type-document article.node--view-mode-full footer.node__meta .node__submitted{display:flex;gap:1rem;font-size:var(--cd-font-size--small)}body.page-node-type-article article.node--view-mode-full .content-wrapper,body.page-node-type-document article.node--view-mode-full .content-wrapper{margin-top:4.5rem}body.page-node-type-article article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium.align-right,body.page-node-type-document article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium.align-right{margin-bottom:1rem;margin-left:2rem;text-align:center;line-height:.7rem}body.page-node-type-article article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium .field--name-field-credits,body.page-node-type-document article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium .field--name-field-credits{width:auto;padding:.9rem .9rem;word-wrap:break-word;background-color:var(--ghi-yellow);font-size:var(--cd-font-size--small);font-weight:bold}body.path-overview #main-content,body.path-frontpage #main-content{padding-right:0;padding-left:0}body.path-overview #main-content .ghi-block:first-child,body.path-frontpage #main-content .ghi-block:first-child{margin-top:0;padding-top:0}.ghi-block-global-homepages>.cd-block-title{margin-bottom:.5rem;font-size:var(--cd-font-size--2xbase);font-weight:700}.ghi-block-global-homepages .ghi-block:first-child{margin-top:0;padding-top:0}.ghi-block-global-homepages .ghi-block:first-child .cd-block-title{font-size:var(--cd-font-size--2xbase);font-weight:400}body.page-node-type-homepage .ghi-block:first-child{margin-top:2rem}.snap-png-header{display:none}html.snap--pdf #toolbar-administration,html.snap--pdf .cd-global-header,html.snap--pdf .cd-site-header__actions,html.snap--pdf .layout-builder-ipe-actions,html.snap--pdf .block-wrapper--downloadbutton,html.snap--pdf .block-links{display:none}html.snap--pdf .table-wrapper table.soft-limit+a.expand-table{display:none !important}html.snap--pdf .table-wrapper table.soft-limit tr{display:table-row !important}html.snap--pdf .table-wrapper .modal-link{display:none !important}html.snap--pdf .dialog-off-canvas-main-canvas>.cd-layout-container{grid-template-rows:80px auto 1fr auto}.snap-png-header{display:none}html.snap--png .snap-png-header{position:relative;display:block;width:100%;color:var(--ghi-default-text-color);background-color:var(--cd-white)}html.snap--png .snap-png-header:before{position:absolute;z-index:-1;top:-1rem;right:calc(-7rem - 2px);bottom:0;left:calc(-7rem - 2px);height:calc(100% + 1rem);content:"";border-top:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-default-border-color);background-color:inherit}html.snap--png .block-links,html.snap--png .table-search-input-wrapper.empty,html.snap--png .cd-block-title{display:none !important}html.snap--png .header{width:100%}html.snap--png .caption-wrapper{float:left;width:70%}html.snap--png .caption{margin-top:2rem;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--2xbase);line-height:1.4rem}html.snap--png .link{text-decoration:none;color:var(--ghi-default-text-color) !important;font-size:var(--cd-font-size--tiny)}html.snap--png .logo{float:right;width:30%;padding-top:2rem;text-align:right}html.snap--png .title-wrapper{width:100%;margin-bottom:1rem;border-bottom:1px solid var(--cd-default-border-color);font-size:18px}html.snap--png .title{float:left;width:80%}html.snap--png .date{float:right;width:20%;text-align:right}html.snap--png .ghi-block{background-color:#fff}.leaflet-container{font:inherit}.leaflet-container .leaflet-pane{z-index:0}.leaflet-container .leaflet-pane .leaflet-tile-container img{mix-blend-mode:unset}.leaflet-control-container .leaflet-sidebar,.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{z-index:100}.leaflet-control-container .leaflet-sidebar{height:93%;padding:1px}.leaflet-control-container .leaflet-control-attribution{font-size:11px}.leaflet-control-container .leaflet-top.leaflet-left{width:50%}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control{z-index:101;color:var(--ghi-default-text-color);border:1px solid var(--cd-default-border-color);border-radius:0;box-shadow:none;font-size:var(--cd-font-size--default)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-zoom a{font-size:var(--cd-font-size--default);line-height:26px}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search{position:absolute;left:2.5rem;width:17rem;padding:4px 0}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search input.search-input{display:block !important;width:75%;margin:4px 1rem 4px 1rem;padding:0;border:1px solid var(--cd-default-border-color);border:none;font-size:var(--cd-font-size--small)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search input.search-input:focus{outline:none}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search a.search-button,.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search a.search-button:hover{position:absolute;top:2px;right:0;margin:3px 0;background-color:rgba(0,0,0,0);background-image:url("../img/icons/search.svg");background-position:center center;background-size:12px 12px}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search .search-alert{padding:.5rem 1rem;color:inherit;border-top:1px solid var(--cd-blue-grey);border-radius:0;font-weight:normal}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip{position:relative;width:100%;max-height:250px;margin-bottom:0;padding-top:4px;border-top:1px solid var(--cd-blue-grey);border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:rgba(0,0,0,0);box-shadow:none}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip{margin:0;padding:.5rem 1rem;border-radius:0;background:var(--cd-white);font-size:var(--cd-font-size--small)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip .subline{color:var(--cd-grey--mid);font-size:var(--cd-font-size--tiny)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip.hover{background-color:var(--cd-blue-grey--light)}.leaflet-bar-horizontal a{float:left;border-right:1px solid #ccc;border-bottom-width:0}.leaflet-bar-horizontal a:hover{border-bottom-width:0}.leaflet-bar-horizontal a:first-child{border-top-left-radius:4px;border-top-right-radius:0;border-bottom-left-radius:4px}.leaflet-bar-horizontal a:last-child{border-right-width:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}.leaflet-bar-horizontal.admin-level-select a{background-color:var(--cd-grey--light)}.leaflet-bar-horizontal.admin-level-select a.active{background-color:var(--cd-white)}.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-pane,.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-top,.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-bottom{opacity:.7}.map-wrapper-outer .leaflet-control-container .admin-level-select a.disabled{cursor:default;opacity:.2}.map-wrapper-outer .leaflet-control-container .leaflet-control.donut-control{top:.8rem;right:.1rem;border:none}.map-wrapper-outer .leaflet-control-container .leaflet-control.donut-control .donut-control-icon{cursor:pointer}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar{width:auto;font-size:var(--cd-font-size--base)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar a.close{z-index:800;width:auto;height:auto;margin:0;text-indent:0;opacity:1 !important;color:var(--cd-primary-color);background:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container{overflow:hidden;padding:0}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container{display:flex;flex-direction:column;height:100%;line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-header{height:auto;margin-bottom:.5rem;padding:1rem 1rem .5rem 1rem;color:var(--ghi-default-text-color);border:none;font:inherit}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-header div.title{font-size:var(--cd-font-size--base);font-weight:bold;line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-content{overflow:auto;height:100%;padding:0 1rem;border:none;box-shadow:none;font-size:var(--cd-font-size--small)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container{width:375px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation{position:relative;left:-0.5rem;display:flex;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny);line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation .link{cursor:pointer;color:var(--cd-primary-color);font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation .link.disabled{cursor:default;color:var(--hpc-grey)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.admin-area{line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title{font-size:var(--cd-font-size--base);font-weight:700}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.tag-line{font-size:var(--cd-font-size--tiny);font-weight:400}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.admin-area{padding-bottom:.5rem;text-transform:uppercase;border-bottom:1px solid #e1e1e1;font-size:var(--cd-font-size--extra-tiny);font-size:10px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.section-header{display:flex;gap:.5rem;align-items:center;margin-bottom:0;text-transform:uppercase;font-size:var(--cd-font-size--small);font-weight:700;line-height:16px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.section-header span{display:inline-block}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.monitoring-period{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--small)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible{display:flex;justify-content:space-between}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper>div,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible>div{display:inline-block}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-color-code,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-color-code{position:relative;top:-0.1rem;display:inline-block;width:.5rem;height:.5rem;margin-top:0;margin-right:.4rem;border-radius:50%}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-label,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-label{margin-right:1rem}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-value,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-value{font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper{margin-top:1rem;padding:.5rem 0}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper .measurement-bar-chart-container svg{pointer-events:all}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper .measurement-bar-chart-container svg g{pointer-events:all}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container{width:400px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item{display:flex}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item label.form-label{width:40%;margin-bottom:0;padding-top:3px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item>div{width:60%}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric{display:block;overflow:visible;padding:0;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .label{height:auto !important;height:30px;margin:0;padding:0 24px 0 9px;white-space:nowrap;color:var(--cd-primary-color);border-bottom:1px solid var(--hpc-orange);border-radius:0;background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--small);font-size:inherit;font-weight:bold;line-height:30px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .label:after{display:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .icon{position:absolute;top:12px;right:6px;width:10px;height:10px;fill:var(--hpc-orange)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items{position:absolute;z-index:1;top:0;border-radius:3px;background-color:var(--cd-white)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items ul li{padding:5px 8px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--small);font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items ul li.selected{color:var(--cd-primary-color);background-color:rgba(0,0,0,0)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-wrapper.selectric-open .label{border-bottom:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form button.apply-donut-settings{margin-top:0;margin-bottom:.5rem;padding:6px 8px;color:var(--cd-white);background-color:var(--cd-primary-color)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar.visible~.leaflet-right{right:0 !important}.map-wrapper-outer .map-tabs{height:auto;background-color:var(--ghi-default-text-color)}.map-wrapper-outer .map-tabs ul{display:flex;height:100%;margin:0;padding:0;gap:2rem;list-style-type:none}.map-wrapper-outer .map-tabs ul li{position:relative;height:2.5rem;padding:.5rem 0;color:var(--cd-white);font-size:var(--cd-font-size--small)}.map-wrapper-outer .map-tabs ul li a{cursor:pointer;text-decoration:none;color:var(--cd-white) !important;font-size:inherit}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown{position:absolute;z-index:101;top:2.5rem;left:-0.3rem;border-top:0}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content{display:flex;flex-direction:column;padding:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content a{display:inline-block;padding:.3rem;white-space:nowrap;color:var(--ghi-default-text-color) !important}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content a:hover{cursor:pointer;background-color:var(--ghi-yellow)}.map-wrapper-outer .map-tabs ul li.active{border-bottom:4px solid var(--ghi-yellow)}.map-wrapper-outer .donut{margin-top:.5rem}.map-wrapper-outer .donut .map-legend{position:absolute;z-index:90;top:1rem;right:1rem;padding:.5rem;background:var(--cd-white)}.map-wrapper-outer .donut .map-legend .legend-caption{margin:0 0 .5rem 0;font-size:var(--cd-font-size--tiny)}.map-wrapper-outer .donut .map-legend ul{display:flex;margin:0;padding:0;border-radius:3px}.map-wrapper-outer .donut .map-legend ul li.legend-item{display:flex;margin:0 1rem 0 0;padding:2px}.map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon{width:.5rem;height:.5rem;margin-top:.3rem;margin-right:.4rem;border-radius:50%}.map-wrapper-outer .donut .map-legend ul li.legend-item .legend-label{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny)}.map-wrapper-outer .donut .map-legend ul li.legend-item:last-child{margin-right:0}.map-wrapper-outer .donut .has-donut-control .map-legend{right:3rem}.map-wrapper-outer .donut svg.donut .empty path{display:none}@media(max-width: 575px){.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs{position:relative;top:-1rem;margin-right:.5rem}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul{margin:0}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li{padding:0;background-color:rgba(0,0,0,0)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.desktop{display:none}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.mobile{display:inline-block;width:3rem;height:3rem}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.mobile .icon{width:3rem;height:3rem;padding:.5rem;border-radius:3px;background-color:var(--cd-grey--light);fill:var(--cd-grey--mid)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li.active a.mobile .icon{background-color:var(--cd-primary-color);fill:var(--cd-white)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .download-link-wrapper{margin-top:.7rem;margin-bottom:-0.7rem}}.map-wrapper-outer .map-container{position:relative;width:100%;min-height:500px;margin:0;padding:0;border:1px solid var(--hpc-border-color)}.map-wrapper-outer .map-container>.leaflet-container{min-height:500px}.map-wrapper-outer .map-container .download-link-wrapper{float:right;margin-left:1rem}@media(max-width: 575px){.map-wrapper-outer .map-container .download-link-wrapper{margin-left:.5rem}}.map-wrapper-outer .map-container .map-circle-tooltip,.map-wrapper-outer .map-container .measurement-bar-chart-tooltip{padding:5px 10px;color:var(--cd-white);border-radius:5px;background-color:var(--cd-black);font-size:12px;line-height:1.2rem}.map-wrapper-outer .map-container .map-circle-tooltip div,.map-wrapper-outer .map-container .measurement-bar-chart-tooltip div{display:flex;justify-content:space-between}.cd-page-title{border-bottom:0}.cd-tag{margin:0;padding:0;text-transform:unset;color:var(--ghi-default-text-color);background-color:unset;font-size:var(--cd-font-size--small)}@media(min-width: 1440px){.cd-teaser__image{max-width:100%}}footer.ghi-social-links--inline{width:auto;margin-top:2px}footer.ghi-social-links--fixed{position:fixed;top:50%;right:0;display:inline-block;width:auto}footer.ghi-social-links--fixed>.ghi-social-links__wrapper{display:inline-block;width:-moz-fit-content;width:fit-content;padding:0;background-color:var(--cd-black)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul{display:inline-flex;flex-direction:column;gap:0;align-items:center}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li{margin-top:.3rem;margin-left:0 !important;padding:.3rem;border-bottom:1px solid var(--cd-white)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a{display:inline-block;overflow:hidden;width:2rem;height:2rem;padding:0}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a svg{position:relative;display:block;width:100%;height:100%}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a svg path{fill:var(--cd-white);scale:2.3}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--twitter{position:relative;top:.6rem;left:.25rem}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--twitter svg path{scale:1.3}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg{left:-4px}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg,footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--linkedin svg{background-color:var(--cd-white)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg path,footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--linkedin svg path{fill:var(--cd-black)}#main-content .gho-footnote-list__wrapper[data-visible]{width:calc(100% + 68px);padding:1rem 0 1rem 114px;transform:translateX(-114px)}#main-content [dir=rtl] .gho-footnote-list__wrapper[data-visible]{padding:1rem 114px 1rem 0;transform:translateX(114px)}@media screen and (max-width: 768px){#main-content .gho-footnote-list__wrapper[data-visible]{width:calc(100% + 102px)}}.ghi-block .gho-related-articles{margin:0;padding:0;border-top:0}@media screen and (min-width: 768px){.gho-related-article .field--name-field-image{width:calc(40% - 2.25rem);min-width:320px}}.preview-content.ghi-grid .paragraph--type--bottom-figure-row>*>*{zoom:inherit}.preview-content .paragraph.gho-bottom-figure-row{margin-top:0}.paragraph--gho-needs-and-requirements-paragraph+.paragraph--gho-bottom-figure-row{margin-top:0}.paragraph--gho-needs-and-requirements-paragraph+.paragraph--gho-bottom-figure-row .gho-bottom-figure-row::before{content:none}#layout-builder .contextual-region.layout-builder-block,#layout-builder .contextual-region.layout-builder-block.focus{margin-top:4.5rem;padding:2rem !important;border-radius:2px;outline-width:1px !important;outline-style:solid !important;outline-color:var(--colorGinFormElementBorder);outline-offset:0}#layout-builder .contextual-region.layout-builder-block.content-width,#layout-builder .contextual-region.layout-builder-block.focus.content-width{padding-right:2rem !important;padding-left:2rem !important}#layout-builder .contextual-region.layout-builder-block .contextual>button{display:none !important;clip:unset !important}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links{top:-2.5rem !important;right:2rem;display:flex;flex-direction:row-reverse;padding:.5em 0;background:none;background-color:rgba(0,0,0,0) !important;box-shadow:none !important}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li{position:relative;display:block;margin-left:.5rem}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a{padding:0 .25em 0 .25em;padding-left:20px;color:var(--colorGinFormElementBorder) !important;background-color:rgba(0,0,0,0) !important;font-size:.75em !important;line-height:19px}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:focus,#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:hover{color:var(--colorGinPrimary) !important;box-shadow:none}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:focus:after,#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:hover:after{z-index:-1;content:"";background-color:var(--colorGinPrimary) !important;background-repeat:no-repeat;background-position:center;background-size:17px 17px}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:after{position:absolute;top:0;left:0;width:17px;height:17px;content:"&";background-color:var(--colorGinFormElementBorder);-webkit-mask-size:17px 17px;mask-size:17px 17px;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-update a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ccircle fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3cpath fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ccircle fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3cpath fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-remove a:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.24996 13.4583C4.24996 14.2375 4.88746 14.875 5.66663 14.875H11.3333C12.1125 14.875 12.75 14.2375 12.75 13.4583V4.95833H4.24996V13.4583ZM5.66663 6.375H11.3333V13.4583H5.66663V6.375ZM10.9791 2.83333L10.2708 2.125H6.72913L6.02079 2.83333H3.54163V4.25H13.4583V2.83333H10.9791Z' fill='white'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.24996 13.4583C4.24996 14.2375 4.88746 14.875 5.66663 14.875H11.3333C12.1125 14.875 12.75 14.2375 12.75 13.4583V4.95833H4.24996V13.4583ZM5.66663 6.375H11.3333V13.4583H5.66663V6.375ZM10.9791 2.83333L10.2708 2.125H6.72913L6.02079 2.83333H3.54163V4.25H13.4583V2.83333H10.9791Z' fill='white'/%3E%3C/svg%3E%0A")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-show-config a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-hide a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-unhide{display:none}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-unhide a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3e%3ccircle fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3e%3ccircle fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3c/svg%3e")}#layout-builder .contextual-region.ghi-block--hidden .layout-builder-block-hide{display:none !important}#layout-builder .contextual-region.ghi-block--hidden .layout-builder-block-unhide{display:block !important}#layout-builder .contextual-region.layout-builder-block:focus,#layout-builder .contextual-region.layout-builder-block:hover{outline-width:2px !important;outline-color:var(--colorGinPrimary)}#layout-builder .contextual-region.layout-builder-block:focus ul.contextual-links,#layout-builder .contextual-region.layout-builder-block:hover ul.contextual-links{display:flex}#layout-builder .contextual-region.layout-builder-block:focus ul.contextual-links li:hover a,#layout-builder .contextual-region.layout-builder-block:hover ul.contextual-links li:hover a{color:var(--colorGinPrimary) !important}.ui-widget-content .layout-builder-configure-block div[data-block-preview] a{color:var(--ghi-default-text-color)}.ui-widget-content .layout-builder-configure-block div[data-block-preview][data-block-preview=plan_webcontent_file]{padding:0}
+@import"https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400%3B500%3B700&display=swap";@import"https://fonts.googleapis.com/css?family=Roboto:ital,wght@0,300%3B0,400%3B0,500%3B0,700%3B0,900%3B1,400%3B1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400%3B700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400%3B700&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons&display=swap";:root{--cd-ocha-blue: #1f69b3;--cd-blue--dark: #144372;--cd-blue--bright: #82b5e9;--cd-blue--light: #d4e5f7;--cd-highlight-red: #e56a54;--cd-contrast-red: #e00000;--cd-white: #fff;--cd-grey--lighter: #f5f5f5;--cd-grey--light: #eee;--cd-grey--mid: #595959;--cd-grey--dark: #4d4d4d;--cd-default-text-color: var(--cd-grey--dark);--cd-default-border-color: #dfdede;--cd-default-background-color: var(--cd-grey--lighter);--cd-black: #000;--cd-blue-grey: #e6ecf1;--cd-blue-grey--dark: #d3dde5;--cd-blue-grey--light: #ebf0f4;--cd-rgb-ocha-blue: 2, 108, 182;--cd-rgb-grey--mid: 89, 89, 89;--cd-rgb-grey--dark: 74, 74, 74;--cd-rgb-highlight-red: 229, 106, 84;--cd-rgb-blue-grey--dark: 211, 221, 229;--cd-max-page-width: 1400px;--cd-max-body-width: 1300px;--cd-max-width: 1220px;--cd-max-content-width: 820px;--cd-container-padding: 0.75rem;--cd-container-padding-tablet: 1.5rem;--cd-container-padding-xlarge: 3rem;--cd-flow-space: 1rem;--cd-bumper-space: 1rem;--cd-footer-row-number: 5;--cd-red: #cd3a1f;--cd-red--light: #f8d8d3;--cd-orange: #db7b18;--cd-orange--light: #fae6d1;--cd-yellow: #d5de26;--cd-yellow--light: #f7f8d3;--cd-green: #7fb92f;--cd-green--light: #e8f5d6;--cd-font-size--tiny: 0.75rem;--cd-font-size--small: 0.875rem;--cd-font-size--default: 1rem;--cd-font-size--base: 1.125rem;--cd-font-size--medium: 1.375rem;--cd-font-size--large: 1.625rem;--cd-font-size--2xbase: 1.875rem;--cd-font-size--2xmedium: 2.375rem;--cd-font-size--2xlarge: 2.875rem;--cd-font: helvetica, arial, sans-serif;--cd-font--system: system-ui;--cd-font--noto: "Noto Sans", sans-serif;--cd-font--noto-kufi: "Noto Kufi Arabic", sans-serif;--cd-font--roboto: "Roboto", helvetica, arial, sans-serif;--cd-font--roboto-condensed: "Roboto Condensed", helvetica, arial, sans-serif;--cd-font--roboto-slab: "Roboto Slab", helvetica, arial, sans-serif}.dialog-off-canvas-main-canvas{height:100%;min-height:100vh}.cd-page-layout-container{display:grid;grid-template-areas:"header" "highlighted" "main" "soft-footer" "footer"}@supports(display: grid){@media(min-width: 768px){.cd-page-layout-container{grid-template-rows:115px auto 1fr auto;grid-auto-rows:auto}}}@media(min-width: 1024px){.cd-layout-with-sidebar-first .cd-layout-sidebar-first,.cd-layout-with-sidebar-second .cd-layout-sidebar-second{flex-basis:200px}}.cd-layout-with-sidebar-both .cd-layout-sidebar-first{margin-bottom:1rem}@media(min-width: 768px){.cd-layout-with-sidebar-both .cd-layout-sidebar-first{flex-basis:200px}}@media(min-width: 1024px){.cd-layout-with-sidebar-both .cd-layout-sidebar-first{margin-bottom:0}}@media(min-width: 1024px){.cd-layout-two-col .cd-layout-sidebar-first{flex-basis:200px;margin-top:0}}.cd-global-header__dropdown{z-index:1002;background:var(--cd-grey--light)}.cd-global-header button[aria-expanded=true]::before{border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--cd-grey--light)}.cd-header button:focus{outline:none}.cd-global-header{background:var(--cd-grey--lighter);background-image:linear-gradient(-180deg, var(--cd-grey--lighter) 67%, var(--cd-grey--light) 97%)}.cd-global-header .cd-global-header__actions,.cd-global-header .cd-global-header__actions>*{background:rgba(0,0,0,0)}.cd-global-header svg{fill:var(--ghi-default-text-color) !important}.cd-global-header a,.cd-global-header *{color:var(--ghi-default-text-color)}.cd-global-header .menu>li:last-child{padding-right:0}.cd-global-header .menu>li a{color:var(--ghi-default-text-color)}.cd-global-header .menu>li a::after{background:var(--cd-default-border-color)}.cd-global-header .menu>li:last-child a{padding-right:0}.cd-global-header .menu>li:last-child a::after{display:none}.cd-site-header{border-bottom:0}.cd-site-header .cd-nav>.menu>li:last-child{padding-right:0}.cd-site-header__inner{display:grid;height:80px}@supports(display: grid){.cd-site-header__inner{grid-template-rows:80px;grid-template-columns:2fr 1fr}@media(min-width: 768px){.cd-site-header__inner{grid-template-columns:260px 1fr}}}.cd-language-switcher__btn:focus{outline:none}.cd-user-menu__dropdown li a:focus{outline:none}.region-header-logo{display:flex}.region-header-logo .cd-site-logo{width:100%;height:auto;margin:0 0 0 -1.5rem;padding-left:.5rem;text-decoration:none;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--base);font-weight:bold;line-height:1.3rem}.region-header-logo .cd-site-logo:focus{outline:none}@supports(display: flex){.region-header-logo .cd-site-logo{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}}@media(max-width: 767px){.region-header-logo .cd-site-logo{margin:1.2rem 0;background:url("../../../custom/common_design_subtheme/img/logos/logo-humanitarian-action.svg") center no-repeat;background:linear-gradient(transparent, transparent),url("../../../custom/common_design_subtheme/img/logos/logo-humanitarian-action.svg") center no-repeat;background-position:0 center}}@media(min-width: 768px){.region-header-logo .cd-site-logo img{width:auto;height:40px}}.region-header-logo .cd-site-slogan{margin:.7rem 0 0 2rem;line-height:.8rem}.menu--main button[aria-expanded] .cd-icon--arrow-down{fill:#fed83d}.cd-nav-level-0__btn{height:80px;white-space:nowrap}.cd-nav-level-0__btn[aria-expanded] .cd-icon--arrow-down{fill:#fed83d}.cd-nav-level-0__btn[aria-expanded=true]::before{bottom:0;height:4px;background:#fed83d}.cd-site-header__nav-holder .cd-nav a,.cd-site-header__nav-holder .cd-nav span,.cd-site-header__nav-holder .cd-nav button{display:block;padding:15px 30px;text-align:left;text-decoration:none;color:var(--ghi-default-text-color)}.cd-site-header__nav-holder .cd-nav a>span,.cd-site-header__nav-holder .cd-nav span>span,.cd-site-header__nav-holder .cd-nav button>span{padding:0}html[dir=rtl] .cd-site-header__nav-holder .cd-nav a,html[dir=rtl] .cd-site-header__nav-holder .cd-nav span,html[dir=rtl] .cd-site-header__nav-holder .cd-nav button{text-align:right}.cd-site-header__nav-holder .cd-nav a:hover,.cd-site-header__nav-holder .cd-nav a:focus,.cd-site-header__nav-holder .cd-nav span:hover,.cd-site-header__nav-holder .cd-nav span:focus,.cd-site-header__nav-holder .cd-nav button:hover,.cd-site-header__nav-holder .cd-nav button:focus{color:var(--ghi-default-text-color);outline:none;background:var(--ghi-primary-background-color)}@supports(display: flex){.cd-site-header__nav-holder .cd-nav a,.cd-site-header__nav-holder .cd-nav span,.cd-site-header__nav-holder .cd-nav button{display:flex}}.cd-site-header__nav-holder .cd-nav button{width:100%;white-space:nowrap;border:0 none;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>button>a,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>button>span,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>button>button{text-transform:none;font-weight:700}.cd-site-header__nav-holder .menu .menu a,.cd-site-header__nav-holder .menu .menu span,.cd-site-header__nav-holder .menu .menu button{height:auto;white-space:normal;font-weight:normal}.cd-site-header__nav-holder .menu .menu li:hover a,.cd-site-header__nav-holder .menu .menu li:hover a span,.cd-site-header__nav-holder .menu .menu a:hover,.cd-site-header__nav-holder .menu .menu a:hover span,.cd-site-header__nav-holder .menu .menu a:focus,.cd-site-header__nav-holder .menu .menu a:focus span{color:var(--cd-ocha-orange--dark);background:var(--ghi-primary-background-color) !important}@media(max-width: 1023px){.gin--horizontal-toolbar .cd-site-header__nav-holder .cd-nav[data-cd-hidden=false]{top:calc(var(--ginHorizontalToolbarOffset) + 35px + 80px)}}@media(max-width: 1023px){.cd-site-header__nav-holder .cd-nav>ul>li>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li>button.is-active::before{background:#fed83d}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--collapsed>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--collapsed>button.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--expanded>a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--expanded>button.is-active::before{background:rgba(254,216,61,.2)}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail button::before{background:rgba(254,216,61,.2)}.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li.menu-item--active-trail button.is-active::before{background:#fed83d}.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail button::before{background:rgba(254,216,61,.6)}.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail a.is-active::before,.cd-site-header__nav-holder .cd-nav>ul>li>ul>li.menu-item--active-trail button.is-active::before{background:#fed83d}}@media(min-width: 1024px){.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button{position:relative;display:flex;align-items:center;height:80px;transition:background .3s ease;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button::before{position:absolute;right:-1px;bottom:0;left:-1px;width:calc(100% + 2px);height:4px;content:"";transition:background .3s ease;background:rgba(0,0,0,0)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:focus,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:focus,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:hover,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button.is-active,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:focus{background:var(--ghi-primary-background-color)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>a:focus::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item>span:focus::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:hover::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button.is-active::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item button:focus::before{background:var(--cd-primary-color)}.cd-site-header__nav-holder .cd-nav>.menu>.menu-item.menu-item--active-trail a::before,.cd-site-header__nav-holder .cd-nav>.menu>.menu-item.menu-item--active-trail button::before{background:var(--cd-primary-color)}.cd-site-header__nav-holder .cd-nav>.menu>li>.menu{top:80px}.cd-site-header__nav-holder .cd-nav>.menu>li>.menu>li.menu-item--active-trail{border-left:6px solid var(--cd-primary-color)}}.cd-ocha-dropdown__link a:hover{color:inherit !important}.cd-ocha-dropdown__link a:focus{outline:none}.cd-search__btn{color:var(--ghi-yellow)}.cd-search__btn svg{fill:var(--ghi-yellow)}.cd-search__btn:hover,.cd-search__btn:focus{color:var(--cd-primary-color)}.cd-search__btn:hover svg,.cd-search__btn:focus svg{fill:var(--cd-primary-color)}.cd-search__btn:focus{color:#fed83d}.cd-search__btn:focus svg{fill:#fed83d}.cd-search__btn[aria-expanded=true]{color:#fed83d}.cd-search__btn[aria-expanded=true] svg{fill:#fed83d}.cd-search__submit:focus{background-color:#fed83d}.cd-user-menu__item:focus,.cd-global-header .menu>li a:focus,.cd-global-header .menu>li button:focus{outline:none}.cd-footer{color:var(--ghi-default-text-color);background:var(--ghi-yellow)}.cd-footer svg{fill:var(--ghi-default-text-color)}.cd-footer a{color:var(--ghi-default-text-color)}.cd-footer a:focus{outline:3px solid var(--cd-blue--bright)}.cd-soft-footer{background:rgba(var(--cd-rgb-ocha-blue), 0.9)}.cd-soft-footer a:focus{outline:3px solid var(--cd-blue--bright)}.region-meta--frontend{z-index:100;display:none}.layout--twocol-section .layout__region--first{padding-right:1rem}.layout--twocol-section.has-second-region:not(.has-both-regions) .layout__region--second{margin-left:25%}.material-icons{display:inline-block;white-space:nowrap;letter-spacing:normal;text-transform:none;word-wrap:normal;direction:ltr;font-family:"Material Icons",sans-serif;font-size:24px;font-weight:normal;font-style:normal;line-height:1;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}#main-content{position:relative;max-width:var(--cd-max-page-width);padding-top:0}#main-content .layout--onecol .layout__region>div:not(.content-width),#main-content .region-content>div:not(.content-width){max-width:var(--cd-max-page-width)}#main-content .layout--onecol .layout__region>.content-width,#main-content .region-content>.content-width{max-width:calc(var(--content-width) + 24px) !important;margin-right:auto !important;margin-left:auto !important;padding-right:var(--cd-container-padding) !important;padding-left:var(--cd-container-padding) !important}#main-content .layout--onecol .layout__region .content-width .content-width,#main-content .region-content .content-width .content-width{padding-right:0 !important;padding-left:0 !important}@media(min-width: 768px){#main-content .layout--onecol .layout__region .content-width,#main-content .region-content .content-width{max-width:calc(var(--content-width) + 48px) !important;padding-right:var(--cd-container-padding-xlarge) !important;padding-left:var(--cd-container-padding-xlarge) !important}}#main-content .region-content>form.confirmation.cd-container{margin-top:4rem;margin-bottom:4rem}.node--unpublished{background-color:unset}.user-logged-in main[class*="--unpublished"]{margin-top:4px;margin-bottom:4px;outline:4px dashed #ffc310}body.path-error main .cd-layout-content-wrapper{width:100%;max-width:var(--cd-max-width);margin-top:1rem;margin-right:auto;margin-left:auto;padding:4rem var(--cd-container-padding)}@media(min-width: 768px){body.path-error main .cd-layout-content-wrapper{padding:0 var(--cd-container-padding-tablet)}}@media(min-width: 1200px){body.path-error main .cd-layout-content-wrapper{padding:4rem 3rem}}:root{--content-width: 1220px;--reading-width: 820px}a{color:var(--ghi-default-text-color)}a:hover,a:focus{color:var(--ghi-default-text-color)}input::-moz-placeholder{font-size:80%;font-style:italic}input::placeholder{font-size:80%;font-style:italic}.cd-button,.btn--download,.ghi-download__btn{padding:.8rem 1.5rem;text-decoration:none;text-transform:uppercase;color:var(--ghi-default-text-color) !important;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:bold}.cd-button.btn--centered,.btn--download.btn--centered,.ghi-download__btn.btn--centered{text-align:center}.cd-button:hover,.cd-button:focus,.btn--download:hover,.btn--download:focus,.ghi-download__btn:hover,.ghi-download__btn:focus{color:var(--ghi-default-text-color);background-color:var(--ghi-primary-button-color-hover)}.cd-button.expand-table,.cd-button.read-more,.cd-button.external,.btn--download.expand-table,.btn--download.read-more,.btn--download.external,.ghi-download__btn.expand-table,.ghi-download__btn.read-more,.ghi-download__btn.external{position:relative;max-width:-moz-fit-content;max-width:fit-content;padding-right:2.5rem;color:var(--ghi-default-text-color)}.cd-button.expand-table:before,.cd-button.read-more:before,.cd-button.external:before,.btn--download.expand-table:before,.btn--download.read-more:before,.btn--download.external:before,.ghi-download__btn.expand-table:before,.ghi-download__btn.read-more:before,.ghi-download__btn.external:before{position:absolute;top:calc(50% - 10px);right:1rem;padding:10px;content:"";background-repeat:no-repeat}.cd-button.expand-table,.btn--download.expand-table,.ghi-download__btn.expand-table{margin-bottom:2rem}.cd-button.expand-table:before,.btn--download.expand-table:before,.ghi-download__btn.expand-table:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/arrow_downward/default/20px.svg")}.cd-button.read-more:before,.btn--download.read-more:before,.ghi-download__btn.read-more:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/arrow_forward/default/20px.svg")}.cd-button.external:before,.btn--download.external:before,.ghi-download__btn.external:before{background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/open_in_new/default/20px.svg")}.ghi-dropdown__btn{color:inherit !important;border:0;background-color:rgba(0,0,0,0);font-size:inherit}.ghi-dropdown__btn+div.cd-dropdown{position:absolute;border:1px solid var(--cd-default-border-color);background-color:var(--cd-white)}.ghi-dropdown__btn+div.cd-dropdown>div.ghi-dropdown--content{display:flex;flex-direction:column}.ghi-dropdown__btn+div.cd-dropdown>div.ghi-dropdown--content a{color:var(--ghi-default-text-color)}button.ghi-download__btn,button.btn--download{transition:background-color .6s ease-out,color .6s ease-out;text-align:center;border:0;border:2px solid rgba(0,0,0,0);border-radius:3px;box-shadow:none;line-height:1.15;-webkit-appearance:none}button.ghi-download__btn svg.cd-icon,button.btn--download svg.cd-icon{fill:var(--ghi-default-text-color)}button.ghi-download__btn:before,button.btn--download:before{position:absolute;top:calc(50% - 10px);left:1rem;padding:10px;content:"";background-repeat:no-repeat}button.ghi-download__btn+.cd-dropdown,button.btn--download+.cd-dropdown,button.ghi-dropdown__btn+.cd-dropdown{position:absolute}button.ghi-download__btn+.cd-dropdown div,button.btn--download+.cd-dropdown div,button.ghi-dropdown__btn+.cd-dropdown div{display:inline-block;width:auto;padding:.2rem;border:1px solid var(--cd-default-border-color);border-radius:3px;background-color:var(--cd-white)}button.ghi-download__btn+.cd-dropdown div a,button.btn--download+.cd-dropdown div a,button.ghi-dropdown__btn+.cd-dropdown div a{display:block;padding:.1rem;text-decoration:none;font-size:var(--cd-font-size--tiny)}ul li:empty{display:none}.gin--horizontal-toolbar #toolbar-administration{z-index:201 !important}.fts-icon,.cd-figure-list--large .fts-icon{height:1rem}.download-icon{display:block;width:20px;height:20px;background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg");background-repeat:no-repeat}tbody td[data-sort-type=numeric]{text-align:right}tbody td .fts-icon{height:1rem;vertical-align:middle}tbody td .cluster-icon{float:left;width:2rem;height:1rem}tbody td .cluster-icon svg{position:relative;top:10%;left:0;width:1.2rem;height:1.2rem}svg.ghi-icons-sprite{display:none;overflow:hidden}svg.icon{display:inline-block;width:1rem;height:1rem;pointer-events:none}.toggle svg.icon{width:.5rem;height:.5rem;cursor:pointer;pointer-events:all;fill:var(--ghi-default-text-color)}.toggle.open svg.icon{transform:rotate(180deg)}.js input.form-autocomplete{background-color:rgba(0,0,0,0) !important;background-image:url("data:image/svg+xml,%3csvg width='40' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M8 1C3.46.827-.188 5.787 1.313 10.068c1.176 4.384 6.993 6.417 10.637 3.7.326-.39.565.276.846.442l3.74 3.739 1.413-1.414-4.35-4.35c2.811-3.468 1.15-9.247-3.062-10.71A7.003 7.003 0 008 1zm0 2c3.242-.123 5.849 3.42 4.777 6.477-.842 3.132-4.994 4.58-7.6 2.65-2.745-1.73-2.9-6.125-.285-8.044A5.006 5.006 0 018 3z' fill='%23868686'/%3e%3c/svg%3e") !important;background-repeat:no-repeat !important;background-position:100% center !important}.js input.form-autocomplete.ui-autocomplete-loading{background-image:url("../img/misc/spinner-ltr.gif") !important}.has-layout-builder-ipe-actions .gho-footnote-list__wrapper{bottom:64px !important}body.toolbar-horizontal .gin-secondary-toolbar,.layout-builder-ipe-actions{z-index:1002 !important}body.toolbar-horizontal #toolbar-administration{z-index:1003 !important}body.layout-builder-ipe-editing .dialog-off-canvas-main-canvas{padding-top:3rem}.layout-builder--content-preview-disabled .layout-builder-block.content-width{margin-right:auto;margin-left:auto}#layout-builder-modal .cd-alert{margin-top:0;margin-right:21px;margin-bottom:1rem;margin-left:30px;padding:.5rem}#layout-builder-modal .cd-alert>div{align-items:center}.cd-site-header__nav-holder{z-index:199}.cd-site-header__nav-holder .block-sections-by-term.label-visible h2{position:static !important;display:block;clip:auto;width:auto;height:auto;font-size:var(--cd-font-size--base)}@media(max-width: 1023px){.cd-site-header__nav-holder .block-sections-by-term.label-visible h2{padding:15px 30px}}.cd-site-header__nav-holder nav.cd-nav>ul>li>span{font-weight:bold}.cd-site-header__nav-holder nav.cd-nav>ul>li>span:focus,.cd-site-header__nav-holder nav.cd-nav>ul>li>span:hover{color:inherit;background:inherit}.cd-site-header__nav-holder nav.cd-nav>ul>li>ul>li>span{opacity:.5}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation] ul{padding:0;list-style:none}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation] ul li>span{font-weight:bold}@media(max-width: 1023px){.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]{margin:0;padding:0}}@media(max-width: 1023px){.cd-site-header__nav-holder nav.cd-nav{margin:0;padding:0}}@media(min-width: 1024px){.cd-site-header__nav-holder nav.cd-nav{position:unset}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item:not(:last-child).right-border{border-right:1px solid var(--ghi-default-border-color)}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain{position:absolute;z-index:199;left:0;width:100%;background-color:var(--cd-default-background-color)}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul{flex-direction:column;max-height:450px;margin:2rem 0}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li{max-width:180px}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>span{padding:0}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul{margin:.5rem 0 2rem 0}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span{display:inline-block;margin-bottom:3px}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:focus,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:hover,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span:focus,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul span:hover{color:inherit;background:inherit}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:focus,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain nav[role=navigation]>ul>li>ul a:hover{margin-bottom:2px;border-bottom:1px solid var(--cd-primary-color)}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term.label-visible h2{margin-top:2rem}.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term nav[role=navigation]>ul li span,.cd-site-header__nav-holder nav.cd-nav ul.menu li.menu-item .menu-link-contentmain .block-sections-by-term nav[role=navigation]>ul li a{padding:0}.cd-site-header__nav-holder nav.cd-nav li.menu-item.menu-item--expanded{position:relative}}.toolbar-fixed .region-page-title a[name=page-title],.toolbar-fixed .region-page-subtitle a[name=page-title],.toolbar-fixed .region-page-navigation a[name=page-title]{position:relative;top:-80px;display:block;visibility:hidden}.region-page-title.region-page-navigation,.region-page-subtitle.region-page-navigation,.region-page-navigation.region-page-navigation{border-top:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-white)}.region-page-title.region-page-title .region-wrapper-inner,.region-page-title.region-page-subtitle .region-wrapper-inner,.region-page-title.region-page-navigation .block-wrapper__inner,.region-page-subtitle.region-page-title .region-wrapper-inner,.region-page-subtitle.region-page-subtitle .region-wrapper-inner,.region-page-subtitle.region-page-navigation .block-wrapper__inner,.region-page-navigation.region-page-title .region-wrapper-inner,.region-page-navigation.region-page-subtitle .region-wrapper-inner,.region-page-navigation.region-page-navigation .block-wrapper__inner{max-width:calc(var(--content-width) + 24px);margin-right:auto;margin-left:auto;padding-right:var(--cd-container-padding);padding-left:var(--cd-container-padding)}.region-page-title.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-title.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-title.region-page-navigation .block-wrapper__inner>.block-section-navigation,.region-page-subtitle.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-subtitle.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-subtitle.region-page-navigation .block-wrapper__inner>.block-section-navigation,.region-page-navigation.region-page-title .region-wrapper-inner>.block-section-navigation,.region-page-navigation.region-page-subtitle .region-wrapper-inner>.block-section-navigation,.region-page-navigation.region-page-navigation .block-wrapper__inner>.block-section-navigation{position:unset}@media(min-width: 768px){.region-page-title.region-page-title .region-wrapper-inner,.region-page-title.region-page-subtitle .region-wrapper-inner,.region-page-title.region-page-navigation .block-wrapper__inner,.region-page-subtitle.region-page-title .region-wrapper-inner,.region-page-subtitle.region-page-subtitle .region-wrapper-inner,.region-page-subtitle.region-page-navigation .block-wrapper__inner,.region-page-navigation.region-page-title .region-wrapper-inner,.region-page-navigation.region-page-subtitle .region-wrapper-inner,.region-page-navigation.region-page-navigation .block-wrapper__inner{max-width:calc(var(--content-width) + 48px);padding-right:var(--cd-container-padding-xlarge);padding-left:var(--cd-container-padding-xlarge)}}.region-page-title .block-wrapper--sectionnavigation,.region-page-subtitle .block-wrapper--sectionnavigation,.region-page-navigation .block-wrapper--sectionnavigation{position:relative}.region-page-title .region-wrapper-inner{display:flex;gap:1rem;margin:2rem 0 0}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton{margin-left:auto}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton a.link--download-dialog{white-space:nowrap}.region-page-title .region-wrapper-inner .cd-page-title,.region-page-title .region-wrapper-inner .block-section-switcher,.region-page-title .region-wrapper-inner .block-download-button{padding:0}.region-page-title .region-wrapper-inner .cd-page-title.block-download-button,.region-page-title .region-wrapper-inner .block-section-switcher.block-download-button,.region-page-title .region-wrapper-inner .block-download-button.block-download-button{margin-top:2.2rem}.region-page-title .region-wrapper-inner .cd-page-title.has-subtitle,.region-page-title .region-wrapper-inner .block-section-switcher.has-subtitle,.region-page-title .region-wrapper-inner .block-download-button.has-subtitle{margin-bottom:1rem}@media(max-width: 767px){.region-page-title{margin-top:2rem !important}.region-page-title .region-wrapper-inner{flex-direction:column-reverse}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton{margin:0}.region-page-title .region-wrapper-inner .block-wrapper--downloadbutton .block-download-button{margin:0}}.region-page-title+.region-page-subtitle{margin-top:-2rem}.region-page-title+.region-page-subtitle .region-wrapper-inner{display:flex;gap:1rem}.region-page-title+.region-page-subtitle .region-wrapper-inner #block-sectionmetadata,.region-page-title+.region-page-subtitle .region-wrapper-inner #block-documentmetadata{margin:.5rem 0 2rem 0;text-transform:uppercase;font-size:var(--cd-font-size--small)}body.force-letterbox main>.page-image img,body.force-letterbox main>.field--type-ghi-hero-image img{height:400px;-o-object-fit:cover;object-fit:cover}.tooltip{z-index:1004;cursor:pointer;vertical-align:middle}.tooltip svg{fill:var(--cd-primary-color)}.tippy-box .tippy-content>.content{padding:0 1rem}.tippy-box .tippy-content a.fts-link{display:inline-block;margin-bottom:.5rem}.tippy-box .tippy-content a.fts-link img{height:20px;vertical-align:middle}td.project-counter .tippy-box .tippy-content{min-width:20rem}.d3-sparkline-tooltip{pointer-events:none}.d3-sparkline-tooltip .tippy-box{top:-0.5rem}.d3-sparkline-tooltip .tippy-box .tippy-content{margin-bottom:-1rem}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .title{text-align:left}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items{margin-top:.5rem}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper{display:flex}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper .label{width:50%;text-align:left;color:var(--cd-white);font-size:100%;line-height:inherit}.d3-sparkline-tooltip .tippy-box .tippy-content .hpc-sparkline-tooltip .items .item-wrapper .value{width:50%;text-align:right}.d3-sparkline-tooltip .tippy-box .tippy-arrow::before{left:45%}:root{--ghi-yellow: #fed83d;--ghi-grey--dark: #4d4d4d;--ghi-yellow--light: #fffbec;--ghi-yellow--light-chart: #f8ecb4;--ghi-grey: #dfdede;--ghi-grey--light: #eee;--ghi-grey--medium: #ccc;--ghi-grey--background: #f5f5f5;--ghi-orange-dark: #feba00;--cd-ocha-orange: #fecb00;--cd-ocha-orange--dark: var(--ghi-orange-dark);--cd-primary-color: var(--ghi-yellow);--cd-primary-color--dark: var(--cd-ocha-orange--dark);--cd-tag--color: #9e9e9e;--ghi-default-text-color: var(--ghi-grey--dark);--ghi-default-border-color: var(--ghi-grey--light);--ghi-default-border-color-background: var(--ghi-grey);--ghi-default-background-color: var(--ghi-grey--background);--ghi-primary-background-color: var(--ghi-yellow--light);--ghi-widget-color--light: var(--ghi-grey--light);--ghi-widget-color--dark: var(--ghi-orange-dark);--ghi-progress-color-fg: var(--ghi-yellow);--ghi-progress-color-bg: var(--ghi-yellow--light-chart);--ghi-status-color-unpublished: var(--cd-primary-color);--ghi-status-color-published: #abea3a;--ghi-primary-button-color: var(--ghi-yellow);--ghi-primary-button-color-hover: var(--ghi-orange-dark);--hpc-brown: #464646;--hpc-dark-brown: #2f2f2f;--hpc-orange: #ee7325;--hpc-orange-light: var(--cd-orange--light);--hpc-grey: #ebebeb;--hpc-blue-light: #e6ecf1;--green: #62b445;--hpc-border-color: #e1e1e1;--cd-font-size--extra-tiny: 0.625rem;--ghi-ui-dialog-border-radius: 1rem;--colorGinWarningLight: #efcf64;--colorGinWarningBackground: #605328;--colorGinDangerLight: #f39b9d;--colorGinDangerBackground: #583333;--colorGinGreenLight: #32cea4;--colorGinGreenBackground: #145242}.ghi-block-article-collection .block-content>a.external{margin-top:2rem}.ghi-block-article-collection .article-collection{margin-top:2rem}.ghi-block-article-collection .article-collection-cards .ghi-grid-item{padding:0}.ghi-block-article-collection .article-collection-cards .ghi-grid-item.featured{background-color:var(--cd-primary-color)}.ghi-block-article-collection .article-collection-cards .ghi-grid-item .field--type-image{width:100%}.block-article-title{background-color:var(--ghi-default-background-color)}.block-article-title .article-title-wrapper{margin:0 auto;padding-top:3.6rem;padding-bottom:3.6rem}.block-article-title .article-title-wrapper.has-title-prefix{padding-top:2.6rem;padding-bottom:3.3rem}.block-article-title .article-title-wrapper>*{margin:0}.block-article-title .article-title-wrapper p{font-size:var(--cd-font-size--small)}.block-article-title .article-title-wrapper p a{text-decoration:none}.block-article-title .article-title-wrapper p .chapter{font-weight:lighter}.ghi-block,.ghi-block.ui-state-drop,.block-layout-builder,.block-layout-builder.ui-state-drop{margin-top:4.5rem;padding-top:1rem;padding-bottom:1rem;line-height:1.5}.ghi-block.ghi-block-paragraph,.ghi-block.ui-state-drop.ghi-block-paragraph,.block-layout-builder.ghi-block-paragraph,.block-layout-builder.ui-state-drop.ghi-block-paragraph{margin-top:2.5rem}.ghi-block:not(.paragraph--gho-text),.ghi-block.ui-state-drop:not(.paragraph--gho-text),.block-layout-builder:not(.paragraph--gho-text),.block-layout-builder.ui-state-drop:not(.paragraph--gho-text){page-break-inside:avoid !important}.ghi-block.paragraph--gho-text .gho-text__text>p,.ghi-block.ui-state-drop.paragraph--gho-text .gho-text__text>p,.block-layout-builder.paragraph--gho-text .gho-text__text>p,.block-layout-builder.ui-state-drop.paragraph--gho-text .gho-text__text>p{page-break-inside:avoid !important}#main-content.has-subpage-title .layout__region .ghi-block:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .ghi-block:first-child,#main-content.has-subpage-title .layout__region .ghi-block.ui-state-drop:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .ghi-block.ui-state-drop:first-child,#main-content.has-subpage-title .layout__region .block-layout-builder:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .block-layout-builder:first-child,#main-content.has-subpage-title .layout__region .block-layout-builder.ui-state-drop:first-child:not(.block-plan-entity-logframe),body.page-node-type-global-section #main-content .layout__region .block-layout-builder.ui-state-drop:first-child{margin-top:0;padding-top:0}.ghi-block.ghi-block--hidden-preview>*:not(.contextual),.ghi-block.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual),.block-layout-builder.ghi-block--hidden-preview>*:not(.contextual),.block-layout-builder.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual){opacity:.5}.hpc-form-wrapper .ghi-block.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .ghi-block.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .block-layout-builder.ghi-block--hidden-preview>*:not(.contextual),.hpc-form-wrapper .block-layout-builder.ui-state-drop.ghi-block--hidden-preview>*:not(.contextual){opacity:1}body.page-node-type-article .layout__region--content>.ghi-block.block:first-child,body.page-node-type-article .layout__region--content>.ghi-block.ui-state-drop.block:first-child,body.page-node-type-article .layout__region--content>.block-layout-builder.block:first-child,body.page-node-type-article .layout__region--content>.block-layout-builder.ui-state-drop.block:first-child{margin-top:2.5rem}.layout__region--content>.ghi-block.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.ghi-block.ui-state-drop.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.block-layout-builder.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe),.layout__region--content>.block-layout-builder.ui-state-drop.block.block-highlighted:not(.content-width):first-child.block-highlighted:not(.content-width):not(.block-plan-entity-logframe){margin-top:0;padding-top:4.5rem;background-color:var(--ghi-default-background-color)}.ghi-block>div.block-content,.ghi-block.ui-state-drop>div.block-content,.block-layout-builder>div.block-content,.block-layout-builder.ui-state-drop>div.block-content{position:relative}.ghi-block>div.block-content:not(.content-width),.ghi-block.ui-state-drop>div.block-content:not(.content-width),.block-layout-builder>div.block-content:not(.content-width),.block-layout-builder.ui-state-drop>div.block-content:not(.content-width){margin-right:0 !important;margin-left:0 !important}.ghi-block>div.block-comment,.ghi-block.ui-state-drop>div.block-comment,.block-layout-builder>div.block-comment,.block-layout-builder.ui-state-drop>div.block-comment{padding:1rem 0;text-align:justify;font-size:var(--cd-font-size--small)}.ghi-block>div.block-links,.ghi-block.ui-state-drop>div.block-links,.block-layout-builder>div.block-links,.block-layout-builder.ui-state-drop>div.block-links{padding:.75rem 0;border-top:1px solid var(--cd-default-border-color);font-size:var(--cd-font-size--small)}.ghi-block>div.block-links>div.block-links--inner,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner,.block-layout-builder>div.block-links>div.block-links--inner,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner{display:flex;justify-content:space-between}.ghi-block>div.block-links>div.block-links--inner a,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner a,.block-layout-builder>div.block-links>div.block-links--inner a,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner a{text-decoration:none;line-height:1rem}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog{position:relative;padding-left:1.5rem}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a.link--download-dialog:before{position:absolute;top:calc(50% - 10px);left:0;padding:10px;content:"";background:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg") no-repeat}.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.ghi-block>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.block-layout-builder>div.block-links>div.block-links--inner .block-download-links .download-item a:focus,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:hover,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-download-links .download-item a:focus{color:var(--ghi-default-text-color)}.ghi-block>div.block-links>div.block-links--inner .block-admin-links,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links{display:flex;align-items:baseline;gap:.5rem}.ghi-block>div.block-links>div.block-links--inner .block-admin-links a,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links a,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links a,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links a{position:relative;top:2px;font-size:var(--cd-font-size--base)}.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover],.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]{position:relative;top:-1px;padding:0;transition:none;color:inherit;border:0;background-color:inherit}.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.ghi-block>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:hover,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links button[data-toggle=popover]:focus{color:var(--cd-primary-color--dark);border:0;outline:0}.ghi-block>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .title{padding-bottom:0}.ghi-block>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.ghi-block.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.block-layout-builder>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content,.block-layout-builder.ui-state-drop>div.block-links>div.block-links--inner .block-admin-links .tippy-box .block-configuration.content{padding-top:0}.ghi-block-document-chapter{position:relative}.ghi-block-document-chapter .block-content .chapter-summary{margin:2rem 0}.block-generic-document-link-button button{padding:.8rem 1.5rem .8rem 2.5rem}.block-generic-document-link-button button:before{left:1rem;padding:10px;content:"";background-image:url("https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/download/default/20px.svg");background-repeat:no-repeat}.ghi-block-generic-document-links .block-content ul{display:flex;flex-direction:column;-webkit-padding-start:0;padding-inline-start:0;gap:.5rem}.ghi-block-generic-document-links .block-content ul li{display:flex;margin:0;padding:0;list-style-type:none;vertical-align:top}.ghi-block-generic-document-links .block-content ul li .document-link-box{position:relative;width:100%;padding:2rem;background-color:var(--ghi-default-background-color)}.ghi-block-generic-document-links .block-content ul li .document-link-box .title-wrapper .title{display:inline-block;width:100%;margin:0;padding:0;font-size:var(--cd-font-size--medium);font-weight:bold}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons{position:relative;z-index:1;width:100%;margin-bottom:2rem}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons button{padding:0;text-transform:none;color:var(--ghi-default-text-color);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--default)}.ghi-block-generic-document-links .block-content ul li .document-link-box .buttons .cd-dropdown div a{font-size:var(--cd-font-size--tiny)}.ghi-block-generic-document-links .block-content ul li .document-link-box .meta{margin-top:1rem;font-size:var(--cd-font-size--tiny)}.ghi-block-generic-document-links .block-content ul li .document-link-box .meta:before{display:block;width:15%;padding-top:1.5rem;content:" ";border-top:4px solid var(--ghi-yellow)}@media(min-width: 768px){.ghi-block-generic-document-links .block-content ul li{flex:0 1 calc(50% - .25rem)}}@media(min-width: 768px){.ghi-block-generic-document-links .block-content ul{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:.5rem}}.ghi-block-document-subheading{position:relative}.ghi-block-document-subheading a[name]{position:absolute;top:0;left:0}.ghi-block-plan-entity-types .item-list--entity-types{display:flex;flex-direction:column;gap:.5rem}.ghi-block-plan-entity-types .item-list--entity-types>div{display:flex;gap:2rem;padding:2rem 1rem;background-color:var(--ghi-default-background-color)}.ghi-block-plan-entity-types .item-list--entity-types>div p{align-self:center;margin:0;padding:0}.ghi-block-plan-entity-types .item-list--entity-types>div .label{white-space:nowrap;font-size:var(--cd-font-size--2xlarge);font-weight:bold}.ghi-block-plan-entity-types .item-list--entity-types>div .description{font-size:var(--cd-font-size--default)}.ghi-block-generic-external-widget.up-2 .block-content{display:flex;flex-wrap:wrap;justify-content:space-between}.ghi-block-generic-external-widget.up-2 .block-content .iframe-wrapper{width:100% !important}@media(min-width: 768px){.ghi-block-generic-external-widget.up-2 .block-content{display:flex;justify-content:space-between}.ghi-block-generic-external-widget.up-2 .block-content .iframe-wrapper{width:49% !important}}.ghi-block ul.plan-headline-figures{-webkit-margin-before:0;margin-block-start:0;-webkit-margin-after:0;margin-block-end:0;padding:0}.ghi-block ul.plan-headline-figures li{padding:1rem 1.5rem}.hid-session-information>div>div>p{-webkit-margin-before:.5rem;margin-block-start:.5rem}.hid-session-information .info{margin-bottom:1rem}.ghi-block-global-key-figures.has-year-switcher .cd-block-title,.ghi-block-plan-headline-figures.has-year-switcher .cd-block-title{display:flex;gap:1rem}.ghi-block-global-key-figures.has-year-switcher .cd-block-title .section-switcher-wrapper,.ghi-block-plan-headline-figures.has-year-switcher .cd-block-title .section-switcher-wrapper{top:-0.35rem}.ghi-block-global-key-figures .tab-container-wrapper,.ghi-block-plan-headline-figures .tab-container-wrapper{margin-top:-2rem;padding-top:1rem}.ghi-block-global-key-figures .tab-navigation-wrapper,.ghi-block-plan-headline-figures .tab-navigation-wrapper{margin-top:1rem}.ghi-block-global-key-figures .tab-details .key-figures,.ghi-block-plan-headline-figures .tab-details .key-figures{display:flex;flex-wrap:wrap;row-gap:1rem;margin-bottom:0;margin-left:-1.5rem;padding-top:1rem;padding-bottom:0;padding-left:0;list-style:none;-webkit-clip-path:inset(0 0 0 1.5rem);clip-path:inset(0 0 0 1.5rem)}.ghi-block-global-key-figures .tab-details .key-figures li,.ghi-block-plan-headline-figures .tab-details .key-figures li{position:relative;flex-basis:auto;flex-grow:0;padding:0 1.5rem;border:0}.ghi-block-global-key-figures .tab-details .key-figures li:first-child,.ghi-block-plan-headline-figures .tab-details .key-figures li:first-child{padding-left:1.5rem}.ghi-block-global-key-figures .tab-details .key-figures li::before,.ghi-block-plan-headline-figures .tab-details .key-figures li::before{position:absolute;left:0;width:1px;height:90%;content:" ";background-color:var(--ghi-default-border-color)}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__label,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__label{font-weight:normal}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value{color:var(--ghi-default-text-color)}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value>div,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value>div{display:flex;gap:.5rem}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value>div a,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value>div a{text-decoration:none}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value i[data-toggle=tooltip],.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value i[data-toggle=tooltip]{vertical-align:top}.ghi-block-global-key-figures .tab-details .key-figures li .cd-figure-list__value .material-icon,.ghi-block-plan-headline-figures .tab-details .key-figures li .cd-figure-list__value .material-icon{font-size:var(--cd-font-size--large);font-weight:normal}.ghi-block-global-key-figures .tab-details>a.external,.ghi-block-plan-headline-figures .tab-details>a.external{margin-top:2rem}.ghi-block-global-key-figures .block-comment .block-comment-inner,.ghi-block-plan-headline-figures .block-comment .block-comment-inner{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--cd-default-border-color)}.ghi-block-paragraph{position:relative}.ghi-block-paragraph .block-content.gho-text,.ghi-block-paragraph .block-content.gho-aside{margin-top:0}.ghi-block-paragraph .block-content>div>a.read-more{margin-top:2rem}.ghi-block-paragraph .block-content.gho-paragraph-promoted{background-color:rgba(0,0,0,0)}.ghi-block-paragraph.block-highlighted{padding-top:3rem !important}.ghi-block-paragraph.gho-paragraph-promoted{padding-top:3rem !important;background-color:var(--ghi-default-background-color)}.ghi-block-paragraph.gho-paragraph-promoted .block-content{padding-top:0;padding-bottom:3rem}.ghi-block-paragraph.gho-paragraph-promoted::before{position:absolute;left:0;height:100%;content:"";border-left:4px solid var(--cd-primary-color)}.block-plan-attachment-map .form-type-select{margin:0}.block-plan-attachment-map .form-type-select .selectric-wrapper{display:inline-block}.block-plan-attachment-map .form-type-select .selectric{display:inline-block;overflow:visible;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}.block-plan-attachment-map .form-type-select .selectric .label{display:inline-block;height:auto !important;margin:0;padding-right:24px;white-space:nowrap;color:var(--hpc-orange);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--base);font-weight:bold}.block-plan-attachment-map .form-type-select .selectric .label:after{display:none}.block-plan-attachment-map .form-type-select .selectric .icon{position:absolute;top:13px;right:6px;width:12px;height:12px;fill:var(--hpc-orange)}.block-plan-attachment-map .form-type-select .selectric-items{position:absolute;z-index:1;top:0;left:-19px;width:auto !important;border-radius:3px;background-color:var(--cd-white)}.block-plan-attachment-map .form-type-select .selectric-items ul li{padding:8px 18px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--base);font-weight:bold}.block-plan-attachment-map .form-type-select .selectric-items ul li.selected{color:var(--hpc-orange);background-color:rgba(0,0,0,0)}.block-plan-attachment-map .form-type-select .selectric-items ul.selectric-group li{padding-left:2rem;font-weight:normal}.block-plan-attachment-map .form-type-select .selectric-items ul.selectric-group li.selectric-group-label{padding-left:18px;font-weight:bold}.block-plan-attachment-map div.block-links .download-link-wrapper{top:-2rem;margin-top:0}.block-plan-attachment-map:not(.has-comment) div.block-links{border-top:0}.block-plan-attachment-map .plan-attachment-map-wrapper .map-tabs--inner{padding-left:1rem}.block-plan-attachment-map .plan-attachment-map-wrapper .map-container .leaflet-container{width:100%;height:100%}.block-plan-attachment-map.has-attachment-switcher .map-tabs,.block-plan-attachment-map.has-attachment-switcher .download-link-wrapper{top:.3rem;margin-top:0}.block-plan-attachment-map .modal.right:not(.visible),.block-plan-attachment-map .leaflet-sidebar.right:not(.visible){right:-600px}.block-plan-attachment-map .modal .modal-inner,.block-plan-attachment-map .leaflet-sidebar .modal-inner{overflow-y:auto;max-height:350px}.block-plan-attachment-map .modal .modal-inner .title,.block-plan-attachment-map .leaflet-sidebar .modal-inner .title{color:var(--hpc-orange);font-size:1.4rem}.block-plan-attachment-map .modal table.plan-attachment-modal-table,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table{margin-bottom:.5rem}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody{border-top:none}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr{margin-bottom:8px;vertical-align:top;border-bottom:1px solid var(--cd-default-border-color)}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr:last-child,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr:last-child{border-bottom:0}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr td,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr td{padding:0;text-align:right;color:var(--hpc-brown);border:none;background:none;font-size:var(--cd-font-size--small);font-weight:600}.block-plan-attachment-map .modal table.plan-attachment-modal-table tbody tr td:first-child,.block-plan-attachment-map .leaflet-sidebar table.plan-attachment-modal-table tbody tr td:first-child{text-align:left;font-weight:400}.configuration-container .pane-plan-attachment-map .map-wrapper-outer{margin-top:4rem}.configuration-container .pane-plan-attachment-map .map-wrapper-outer .map-tabs{top:2rem;right:1rem;margin-right:0}.configuration-container .pane-plan-attachment-map .map-wrapper-outer.has-attachment-switcher{margin-top:0}.configuration-container .pane-plan-attachment-map .map-wrapper-outer.has-attachment-switcher .map-tabs{top:2.5rem}.ghi-block-plan-cluster-header .block-content{display:flex;justify-content:space-between}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts{margin-top:-3rem;margin-bottom:2rem;margin-left:auto;padding:1rem 3rem}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts h3{margin-top:0;font-size:var(--cd-font-size--medium)}.ghi-block-plan-cluster-header .block-content .cluster-header-contacts .cluster-header-contacts-item{font-size:var(--cd-font-size--default)}.block-plan-entity-attachments-table .select2-container{width:auto !important}.block-plan-entity-attachments-table td.group-name{font-weight:bold}.block-plan-operational-presence-map .pane-content{margin-top:.5rem}.block-plan-operational-presence-map .pane-content .pane-plan-operational-presence-map{display:flex;justify-content:space-between}.block-plan-operational-presence-map .pane-content .download-link-wrapper{top:-2rem;margin-top:0}.block-plan-operational-presence-map .pane-title{margin-bottom:0}.block-plan-operational-presence-map .pane-title .collapsed-text a.read-more{position:relative;top:-1rem}@media(min-width: 768px){.block-plan-operational-presence-map .pane-title{max-width:80%}}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container{position:relative;width:100%;min-height:400px;margin:0;padding:0;border:1px solid var(--hpc-border-color)}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend{position:absolute;z-index:90;top:10px;right:10px;font-size:var(--cd-font-size--small)}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul{display:flex;-webkit-margin-before:0;margin-block-start:0;-webkit-margin-after:0;margin-block-end:0;padding:5px;list-style-type:none;border:1px solid var(--hpc-border-color);border-radius:3px;background-color:#fff}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li{margin-right:.5rem}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li:last-child{margin-right:0}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .map-legend ul li .legend-marker{display:inline-block;width:10px;height:10px;margin-right:5px;border:1px solid var(--hpc-border-color);border-radius:50%}.block-plan-operational-presence-map .plan-operational-presence-map-wrapper .map-container .leaflet-container{width:100%;height:100%}.block-plan-operational-presence-map .leaflet-sidebar{width:350px !important}.block-plan-operational-presence-map .modal .modal-content,.block-plan-operational-presence-map .leaflet-sidebar .modal-content{max-width:350px}.block-plan-operational-presence-map .modal .modal-inner,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner{overflow-y:auto;max-height:350px}.block-plan-operational-presence-map .modal .modal-inner .title-heading,.block-plan-operational-presence-map .modal .map-plan-card-container .title-heading,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .title-heading,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .title-heading{text-transform:uppercase;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny)}.block-plan-operational-presence-map .modal .modal-inner .title,.block-plan-operational-presence-map .modal .map-plan-card-container .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .title{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--medium);font-weight:500}.block-plan-operational-presence-map .modal .modal-inner .content,.block-plan-operational-presence-map .modal .map-plan-card-container .content,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content{border-top:none !important}.block-plan-operational-presence-map .modal .modal-inner .content .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .title{text-transform:uppercase;font-size:var(--cd-font-size--small);font-weight:bold}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper{position:relative;margin-bottom:.5rem;font-size:var(--cd-font-size--small)}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper{position:relative;top:3px;display:inline-block;width:26px;height:26px;margin-right:.5rem;border:1px solid #000;border-radius:50%}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon{display:inline-block;width:26px;height:26px}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .cluster-icon-wrapper .cluster-icon svg{top:5%;left:20%;width:13px;height:13px}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper span.toggle,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper span.toggle{position:absolute;top:0;right:0;display:inline-block}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper{display:none;padding-top:1rem;padding-left:2.2rem}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper .title,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper .title{text-transform:uppercase;font-size:var(--cd-font-size--tiny);font-weight:bold}.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .modal .modal-inner .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .modal .map-plan-card-container .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content .cluster-wrapper .projects-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .organizations-wrapper ul,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content .cluster-wrapper .projects-wrapper ul{-webkit-padding-start:1rem;padding-inline-start:1rem;font-size:var(--cd-font-size--tiny)}.block-plan-operational-presence-map .modal .modal-inner .content a.fts-link,.block-plan-operational-presence-map .modal .map-plan-card-container .content a.fts-link,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content a.fts-link,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content a.fts-link{display:inline-block;margin-bottom:.5rem}.block-plan-operational-presence-map .modal .modal-inner .content a.fts-link img,.block-plan-operational-presence-map .modal .map-plan-card-container .content a.fts-link img,.block-plan-operational-presence-map .leaflet-sidebar .modal-inner .content a.fts-link img,.block-plan-operational-presence-map .leaflet-sidebar .map-plan-card-container .content a.fts-link img{position:relative;top:.5rem;left:.2rem;height:20px}.configuration-container .pane-plan-operational-presence-map{position:relative}.configuration-container .pane-plan-operational-presence-map .map-wrapper-outer.has-view-switcher,.configuration-container .pane-plan-operational-presence-map .map-wrapper-outer.has-object-switcher{margin-top:5rem}.ghi-block-plan-organizations-table tbody td.entity-name{white-space:unset !important}@media(min-width: 768px){.ghi-block-plan-organizations-table thead th.cd-table--name{min-width:200px}}.ghi-block-global-key-figures+.ghi-block-global-plan-overview-map{margin-top:0}.ghi-block-global-plan-overview-map{position:relative;clear:both}.ghi-block-global-plan-overview-map .overlay{position:absolute;top:0;bottom:0;width:100%;opacity:.25}.ghi-block-global-plan-overview-map .map-container{margin-bottom:1rem;padding:0 .5rem}.ghi-block-global-plan-overview-map .map-container .leaflet-container{position:relative;min-height:400px;border-width:1px;border-style:solid;border-color:var(--hpc-border-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-bottom{width:100%}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-control-attribution{float:none;width:100%;margin-right:auto;margin-left:auto;padding:.5rem;text-align:center}@media(max-width: 575px){.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .leaflet-control-attribution{padding-bottom:.3rem}}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-header .title{margin-bottom:0;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--base);font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-header .title a{color:var(--ghi-default-text-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .modal-inner{padding:1.2rem 1.6rem .5rem 1.4rem;cursor:default}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content strong{font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper{margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--ghi-default-border-color)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row{display:flex;justify-content:space-between;width:100%}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .label{position:relative;display:inline;margin-bottom:3px;text-align:left;font-size:var(--cd-font-size--small);font-weight:normal}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value{display:flex;gap:.3rem;font-size:var(--cd-font-size--small);font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value i.tooltip.info{position:relative;top:3px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value i.tooltip.monitoring-period{position:relative;top:1px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .value .hpc-percent-progress-bar-wrapper{margin-top:2px;cursor:default}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row .note{font-size:var(--cd-font-size--tiny)}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status{margin:4px 0 4px 4px}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .label{display:flex;gap:.5rem;font-weight:bold}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .value{text-transform:none}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-control-container .modal-content .section-wrapper .section-row.section-row-plan-status .value>div{display:flex;gap:.5rem}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg g path:nth-of-type(1){fill:var(--ghi-grey--medium) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg[plan-type=hrp] g path:nth-of-type(1){fill:var(--cd-primary-color) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane svg svg[plan-type=fa] g path:nth-of-type(1){fill:var(--ghi-widget-color--dark) !important}.ghi-block-global-plan-overview-map .map-container .leaflet-container .leaflet-overlay-pane text.donut-label{font-family:var(--cd-font--roboto);font-weight:500}@media(min-width: 768px){.ghi-block-global-plan-overview-map .map-container .leaflet-container{min-height:500px;border:0 none}}@media(min-width: 768px){.ghi-block-global-plan-overview-map .map-container{padding:0}}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend{top:unset;right:unset;bottom:3rem;left:1rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul{flex-direction:column;gap:.1rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item{margin:0;gap:.5rem}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon{width:1rem;height:1rem;margin-top:0}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-hrp{background-color:var(--cd-primary-color) !important}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-fa{background-color:var(--ghi-widget-color--dark) !important}.ghi-block-global-plan-overview-map .map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon.legend-icon-other{background-color:var(--ghi-grey--medium) !important}.ghi-block-global-plan-table .metadata{width:100%;margin-top:1.5rem;margin-bottom:-1.5rem;text-align:right;font-size:var(--cd-font-size--tiny)}.ghi-block-global-plan-table table tbody td[data-column=name]{display:flex;justify-content:space-between}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle]{width:auto !important;min-width:4rem;height:auto !important;max-height:1.5rem;text-align:center;color:var(--cd-white);background-color:#87cfad;font-size:var(--cd-font-size--small);font-weight:normal}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-hrp{background-color:#5090cd}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-fa{background-color:#8869ae}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-rrp{background-color:#e66751}.ghi-block-global-plan-table table tbody td[data-column=name] .tooltip.plan-type-icon[data-toggle].plan-type-non-hrp{padding:0 5px;background-color:#777}.ghi-block-global-plan-table table tbody td[data-column=status]>div{display:flex;justify-content:space-between}.ghi-block-global-plan-table table tbody td a{word-break:normal}.ghi-block-global-plan-table table tbody td a.fts-plan-link{text-decoration:none}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table{position:relative;z-index:1;margin-top:-1rem;padding-bottom:0;background-color:var(--ghi-default-background-color)}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links{position:relative;z-index:1;border-top:0;border-bottom:0;background-color:var(--cd-white)}#layout-builder .ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment,#layout-builder .ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links{background-color:inherit}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment.block-comment,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links.block-comment{margin-top:2rem}.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-comment.block-comment:before,.ghi-block-global-plan-overview-map+.ghi-block-global-plan-table .block-links.block-comment:before{border-bottom:0}.ghi-block-plan-webcontent-text .block-content{padding-top:1rem}.ghi-block-section-collection .block-content>a.external{margin-top:2rem}.ghi-block-section-collection .section-collection{margin-top:2rem}.ghi-block-section-collection .section-collection .ghi-grid-item{padding:0}.ghi-block-section-collection .section-collection .ghi-grid-item .field--type-image{width:100%}.block-wrapper--sectionswitcher,.ghi-block.has-year-switcher{z-index:1}.block-wrapper--sectionswitcher .section-switcher-wrapper,.ghi-block.has-year-switcher .section-switcher-wrapper{position:relative;z-index:1}.block-wrapper--sectionswitcher .section-switcher-wrapper .section-switcher-single,.block-wrapper--sectionswitcher .section-switcher-wrapper button,.ghi-block.has-year-switcher .section-switcher-wrapper .section-switcher-single,.ghi-block.has-year-switcher .section-switcher-wrapper button{display:inline-block;padding:.5rem 1.2rem;text-transform:uppercase;color:var(--ghi-default-text-color);border:0;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:bold}.block-wrapper--sectionswitcher .section-switcher-wrapper button,.ghi-block.has-year-switcher .section-switcher-wrapper button{transition:background-color .6s ease-out,color .6s ease-out}.block-wrapper--sectionswitcher .section-switcher-wrapper button:hover,.block-wrapper--sectionswitcher .section-switcher-wrapper button:focus,.ghi-block.has-year-switcher .section-switcher-wrapper button:hover,.ghi-block.has-year-switcher .section-switcher-wrapper button:focus{background-color:var(--ghi-primary-button-color-hover)}.block-wrapper--sectionswitcher .section-switcher-wrapper button svg,.ghi-block.has-year-switcher .section-switcher-wrapper button svg{fill:var(--ghi-default-text-color)}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown{position:absolute;left:0;min-width:5.25rem;background-color:var(--ghi-primary-background-color)}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul{margin:.5rem 0;padding:0}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li{padding:.5rem 1.2rem;list-style-type:none;white-space:nowrap;font-size:var(--cd-font-size--small);font-weight:bold}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a,.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:focus,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:focus{text-decoration:none;color:var(--ghi-default-text-color);font-weight:normal}.block-wrapper--sectionswitcher .section-switcher-wrapper .cd-dropdown ul li a:hover,.ghi-block.has-year-switcher .section-switcher-wrapper .cd-dropdown ul li a:hover{color:var(--ghi-primary-button-color-hover)}@media(min-width: 1024px){.block-wrapper--sectionswitcher .section-switcher-wrapper,.ghi-block.has-year-switcher .section-switcher-wrapper{top:.25rem}}.block-subpage-title{background-color:var(--ghi-default-background-color)}.block-subpage-title h2{margin:0 auto;padding-top:3rem;padding-bottom:3rem}.cluster-icon svg{position:relative;top:20%;left:20%}.cluster-icon svg *{fill:var(--hpc-brown)}.cluster-item.active .cluster-icon svg *{fill:var(--cd-white)}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas){border:1px solid var(--cd-default-border-color) !important;border-radius:5px !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar{height:3rem !important;padding:1rem !important;border-top-left-radius:inherit !important;border-top-right-radius:inherit !important;background-color:var(--ghi-default-background-color) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar .ui-dialog-title{color:var(--ghi-default-text-color) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar button.ui-dialog-titlebar-close{top:.5rem;right:.5rem;margin:0;transform:none;opacity:.8;border:none;background:none}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) .ui-dialog-titlebar button.ui-dialog-titlebar-close span.ui-button-icon{top:0;left:0;width:100%;height:100%;margin:0;transform:none;background-color:var(--ghi-default-text-color) !important;-webkit-mask-image:url("../../../contrib/gin/dist/media/sprite.svg#close-view");mask-image:url("../../../contrib/gin/dist/media/sprite.svg#close-view");-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center center;mask-position:center center}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal{padding:1rem !important;color:var(--ghi-default-text-color) !important;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit;background:var(--cd-white) !important}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper{font-size:var(--cd-font-size--small)}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-content p{margin:0;line-height:1.2rem}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-content>div{display:flex;flex-direction:column;gap:1rem}.download-dialog.ui-dialog:not(.ui-dialog-off-canvas) #drupal-modal .hpc-download-dialog-wrapper .hpc-download-dialog-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid gray;line-height:1.2rem}ul.links--entity-navigation{display:flex;align-items:center;margin:0;padding:0;gap:2rem}ul.links--entity-navigation>li>.link-wrapper,ul.links--entity-navigation>li>button{position:relative;display:flex;align-items:center;height:3.5rem}ul.links--entity-navigation>li.active>.link-wrapper::before,ul.links--entity-navigation>li.active>button::before,ul.links--entity-navigation>li>button[aria-expanded=true]::before{position:absolute;right:-1px;bottom:-1px;left:-1px;width:calc(100% + 2px);height:4px;content:"";transition:background .3s ease;border-bottom:4px solid var(--ghi-yellow)}ul.links--entity-navigation li{list-style-type:none}ul.links--entity-navigation li a{text-decoration:none;color:var(--hpc-dark-brown)}ul.links--entity-navigation li a.header-link{border-bottom:1px solid var(--ghi-default-border-color-background)}ul.links--entity-navigation li a.active{font-weight:bold}ul.links--entity-navigation li.expandable.dropdown{position:relative}ul.links--entity-navigation li.expandable.active>button[data-cd-toggler]{font-weight:bold}ul.links--entity-navigation li.expandable>button[data-cd-toggler]{padding:0;text-transform:none;border:0;background-color:rgba(0,0,0,0)}ul.links--entity-navigation li.expandable>button[data-cd-toggler] svg.cd-dropdown__icon{fill:var(--ghi-primary-button-color)}ul.links--entity-navigation li.expandable a{padding:.5rem 0;white-space:nowrap;font-size:var(--cd-font-size--default)}ul.links--entity-navigation li.expandable a:hover{color:var(--ghi-primary-button-color-hover)}ul.links--entity-navigation li.expandable.dropdown>div[data-cd-hidden=false]{position:absolute;z-index:201;top:3.5rem;left:-1.5rem;display:flex;flex-direction:column;padding:.5rem 1.5rem;background-color:var(--ghi-primary-background-color)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]{position:absolute;z-index:201;top:3.5rem;right:0;left:0;padding-top:1rem;padding-bottom:1rem;background-color:var(--ghi-primary-background-color)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer{max-width:calc(var(--content-width) + 24px);margin-right:auto;margin-left:auto;padding-right:var(--cd-container-padding);padding-left:var(--cd-container-padding)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header{margin-bottom:1rem;padding-top:1rem;padding-bottom:1rem;border-bottom:1px solid var(--ghi-default-border-color-background)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header h3{margin-bottom:0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header h3 a{font-size:var(--cd-font-size--2xbase)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-header .metadata{font-size:var(--cd-font-size--small)}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner{display:flex;gap:1rem;flex-direction:row}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper{display:inline-block;width:auto}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group{display:inline-block;width:auto}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group>p{display:inline-block;width:auto;font-weight:bold}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul{-webkit-padding-start:0;padding-inline-start:0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul li{width:80%;padding:.5rem 0}ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer .megamenu-wrapper-inner .megamenu-group-wrapper .megamenu-group ul li a{white-space:unset}@media(min-width: 768px){ul.links--entity-navigation li.expandable.megamenu>div[data-cd-hidden=false]>div.megamenu-wrapper-outer{max-width:calc(var(--content-width) + 48px);padding-right:var(--cd-container-padding-xlarge);padding-left:var(--cd-container-padding-xlarge)}}.ghi-image-wrapper{position:relative}.ghi-image-wrapper div.image-caption-wrapper,.ghi-image-wrapper div.image-credit-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;text-align:right;opacity:.9}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper,.link-carousel-wrapper .ghi-image-wrapper div.image-credit-wrapper{max-height:568px}.ghi-image-wrapper div.image-caption-wrapper div.image-caption{position:absolute;right:1.9rem;bottom:2rem;display:inline-block;max-width:400px;padding:1rem 2rem;text-align:left;color:var(--ghi-default-text-color);background-color:var(--cd-white);font-size:var(--cd-font-size--tiny)}.ghi-image-wrapper div.image-caption-wrapper div.image-caption .location{margin:0 0 .5rem 0;font-size:var(--cd-font-size--tiny);font-weight:700}.ghi-image-wrapper div.image-caption-wrapper div.image-caption p{margin:0}.ghi-image-wrapper div.image-caption-wrapper div.image-caption .credits{font-style:italic}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption{position:absolute;right:calc(1.9rem + 2px);bottom:calc(2rem + 2px);display:inline-block;width:1.5rem;height:1.5rem;padding:0 !important;background-color:var(--cd-white);font-size:var(--cd-font-size--small);line-height:1.5rem}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus,.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover{background-color:var(--cd-primary-color)}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus+.image-caption,.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover+.image-caption{display:inline-block}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper a.expand-caption::after{display:block;content:"i";text-align:center;font-weight:700}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper div.image-caption:hover{display:inline-block}.link-carousel-wrapper .ghi-image-wrapper div.image-caption-wrapper div.image-caption{display:none}@media(max-width: 767px){.ghi-image-wrapper div.image-caption-wrapper a.expand-caption{position:absolute;right:calc(1.9rem + 2px);bottom:calc(2rem + 2px);display:inline-block;width:1.5rem;height:1.5rem;padding:0 !important;background-color:var(--cd-white);font-size:var(--cd-font-size--small);line-height:1.5rem}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus,.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover{background-color:var(--cd-primary-color)}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:focus+.image-caption,.ghi-image-wrapper div.image-caption-wrapper a.expand-caption:hover+.image-caption{display:inline-block}.ghi-image-wrapper div.image-caption-wrapper a.expand-caption::after{display:block;content:"i";text-align:center;font-weight:700}.ghi-image-wrapper div.image-caption-wrapper div.image-caption:hover{display:inline-block}.ghi-image-wrapper div.image-caption-wrapper div.image-caption{display:none}}.ghi-image-wrapper div.image-credit-wrapper a.expand-caption{display:none}.ghi-image-wrapper div.image-credit-wrapper div.image-credit{position:absolute;right:1.9rem;bottom:2rem;display:inline-block;padding:.1rem .5rem;color:var(--cd-white);background-color:var(--cd-black);font-size:var(--cd-font-size--tiny)}.block-document-meta-data>ul,.block-section-meta-data>ul,article.node--type-article .node__meta .node__submitted>ul,article.node--type-document .node__meta .node__submitted>ul,.megamenu .megamenu-header>ul{display:flex;flex-wrap:wrap;row-gap:1rem;margin-top:0;margin-bottom:0;margin-left:-0.5rem;padding:0;list-style:none;-webkit-clip-path:inset(-3rem -3rem 0 0.5rem);clip-path:inset(-3rem -3rem 0 0.5rem)}.block-document-meta-data>ul>li,.block-section-meta-data>ul>li,article.node--type-article .node__meta .node__submitted>ul>li,article.node--type-document .node__meta .node__submitted>ul>li,.megamenu .megamenu-header>ul>li{position:relative;flex-basis:auto;flex-grow:0;padding:0 .5rem;border:0}.block-document-meta-data>ul>li:first-child,.block-section-meta-data>ul>li:first-child,article.node--type-article .node__meta .node__submitted>ul>li:first-child,article.node--type-document .node__meta .node__submitted>ul>li:first-child,.megamenu .megamenu-header>ul>li:first-child{padding-left:.5rem}.block-document-meta-data>ul>li::before,.block-section-meta-data>ul>li::before,article.node--type-article .node__meta .node__submitted>ul>li::before,article.node--type-document .node__meta .node__submitted>ul>li::before,.megamenu .megamenu-header>ul>li::before{position:absolute;left:0;width:1px;height:90%;content:" ";background-color:var(--ghi-default-border-color)}.modal-content table{width:100%}.leaflet-modal{z-index:10 !important}.leaflet-modal .overlay{background-color:rgba(0,0,0,0)}.leaflet-modal .modal{overflow:hidden;max-height:600px;padding:0 1.5rem}.leaflet-modal .modal-content{max-width:250px;padding:0;border:1px solid var(--hpc-border-color);border-radius:4px;background-color:var(--cd-white);font-size:var(--cd-font-size--base)}.leaflet-modal .modal-content .modal-inner{position:relative;padding:.5rem 1rem;line-height:24px}.leaflet-modal .modal-content .modal-inner i.close{position:absolute;top:-1rem;right:-1rem;opacity:1;color:var(--cd-primary-color);border-radius:50%;background-color:var(--cd-white);font-size:2rem}.leaflet-modal .modal-content .modal-inner div.title{margin-bottom:10px;font-weight:bold}.leaflet-modal .modal-content .modal-inner div.content{padding-top:.5rem;border-top:1px solid var(--hpc-border-color)}.leaflet-modal .modal-content .modal-inner div.monitoring-period{margin-top:5px;padding-top:5px;color:var(--ghi-default-text-color);border-top:1px solid var(--hpc-border-color);font-size:var(--cd-font-size--small)}.hpc-pie-chart-wrapper svg{width:20px;height:20px;transform:rotate(-90deg);border:1px solid var(--ghi-widget-color--dark);border-radius:50%;fill:var(--ghi-widget-color--light)}.hpc-pie-chart-wrapper svg circle{fill:var(--ghi-widget-color--light);stroke:var(--ghi-widget-color--dark);stroke-width:32;stroke-dasharray:100 100}.plan-entity-contribution-wrapper{display:flex;align-items:center;font-size:var(--cd-font-size--small)}.plan-entity-contribution-wrapper>span{font-weight:700}.plan-entity-contribution-wrapper ul{display:inline-flex;-webkit-padding-start:.5rem;padding-inline-start:.5rem;list-style-type:none;gap:.5rem}.plan-entity-contribution-wrapper ul li{display:flex;gap:3px}.plan-entity-contribution-wrapper ul li span.check-circle{color:var(--green)}.plan-status{width:1rem;height:1rem;border-radius:50%}.plan-status.plan-status-header-icon{background-color:var(--ghi-default-text-color)}.plan-status.unpublished{background-color:var(--ghi-status-color-unpublished)}.plan-status.published{background-color:var(--ghi-status-color-published)}.hpc-progress-bar-wrapper{display:inline-block;overflow:hidden;width:100%;height:14px;border:1px solid var(--ghi-widget-color--dark);background-color:var(--ghi-widget-color--light)}.hpc-progress-bar-wrapper .hpc-progress-bar-inner{height:100%;background-color:var(--ghi-widget-color--dark)}.project-data-popover table th{text-align:center}.project-data-popover table tr td{text-align:center}.project-data-popover table tr td:first-child{white-space:nowrap}.project-data-popover table tr td ul{-webkit-padding-start:unset;padding-inline-start:unset;list-style-type:none}.select-wrappers{position:absolute;top:-1.8rem;right:0;display:inline-block;margin:0}.select-wrappers>div.ajax-switcher-wrapper{display:inline-block}.select-wrappers>div.ajax-switcher-wrapper>form{display:inline-block;margin:0 0 0 1rem}div.ajax-switcher-wrapper>form{display:inline-block;margin:0 1rem 0 0}div.ajax-switcher-wrapper>form .form-item{display:inline-block}div.ajax-switcher-wrapper>form .select2,div.ajax-switcher-wrapper>form .select2-selection--single{display:inline-block;overflow:visible;width:auto !important;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}div.ajax-switcher-wrapper>form .select2 .select2-selection__rendered,div.ajax-switcher-wrapper>form .select2-selection--single .select2-selection__rendered{display:inline-block;height:auto !important;margin:0;padding-right:24px;padding-left:0;white-space:nowrap;color:var(--ghi-default-text-color);background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--small);font-weight:bold}div.ajax-switcher-wrapper>form .select2 .select2-selection__rendered:after,div.ajax-switcher-wrapper>form .select2-selection--single .select2-selection__rendered:after{display:none}div.ajax-switcher-wrapper>form .select2 .icon,div.ajax-switcher-wrapper>form .select2-selection--single .icon{position:absolute;top:13px;right:6px;width:12px;height:12px;fill:var(--ghi-default-text-color)}.select2-dropdown.select2-dropdown--below{border-top:.5px solid}.select2-dropdown .select2-results{width:auto !important;border-radius:3px;background-color:var(--cd-white)}.select2-dropdown .select2-results ul li{padding:8px 18px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--small);font-weight:normal}.select2-dropdown .select2-results ul li.select2-results__option--highlighted{color:var(--cd-primary-color);background-color:rgba(0,0,0,0)}.select2-dropdown .select2-results ul.selectric-group li{padding-left:2rem;font-weight:normal}.select2-dropdown .select2-results ul.selectric-group li.selectric-group-label{padding-left:18px;font-weight:bold}#main-content .table-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper,.ghi-modal-dialog .table-wrapper{overflow-x:auto;max-width:calc(100vw - 1rem - 2*var(--cd-container-padding)) !important;margin-right:-5px}#main-content .table-wrapper table.ghi-table,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table,.ghi-modal-dialog .table-wrapper table.ghi-table{font-size:var(--cd-font-size--default)}#main-content .table-wrapper table.ghi-table.soft-limit,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.soft-limit,.ghi-modal-dialog .table-wrapper table.ghi-table.soft-limit{margin-bottom:2rem}#main-content .table-wrapper table.ghi-table.soft-limit+a.expand-table,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.soft-limit+a.expand-table,.ghi-modal-dialog .table-wrapper table.ghi-table.soft-limit+a.expand-table{display:block;margin-right:auto;margin-left:auto}.ghi-block #main-content .table-wrapper table.ghi-table,.ghi-block .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table,.ghi-block .ghi-modal-dialog .table-wrapper table.ghi-table{margin-bottom:0}#main-content .table-wrapper table.ghi-table th,#main-content .table-wrapper table.ghi-table td,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem 2rem}body.path-frontpage #main-content .table-wrapper table.ghi-table th,body.path-overview #main-content .table-wrapper table.ghi-table th,body.path-frontpage #main-content .table-wrapper table.ghi-table td,body.path-overview #main-content .table-wrapper table.ghi-table td,body.path-frontpage .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,body.path-overview .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th,body.path-frontpage .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,body.path-overview .layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td,body.path-frontpage .ghi-modal-dialog .table-wrapper table.ghi-table th,body.path-overview .ghi-modal-dialog .table-wrapper table.ghi-table th,body.path-frontpage .ghi-modal-dialog .table-wrapper table.ghi-table td,body.path-overview .ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem 1rem}#main-content .table-wrapper table.ghi-table th.entity-name,#main-content .table-wrapper table.ghi-table th.cd-table--amount,#main-content .table-wrapper table.ghi-table th.cd-table--currency,#main-content .table-wrapper table.ghi-table th.cd-table--percentage,#main-content .table-wrapper table.ghi-table td.entity-name,#main-content .table-wrapper table.ghi-table td.cd-table--amount,#main-content .table-wrapper table.ghi-table td.cd-table--currency,#main-content .table-wrapper table.ghi-table td.cd-table--percentage,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.entity-name,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--amount,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--currency,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--percentage,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.entity-name,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--amount,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--currency,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--percentage,.ghi-modal-dialog .table-wrapper table.ghi-table th.entity-name,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--amount,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--currency,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--percentage,.ghi-modal-dialog .table-wrapper table.ghi-table td.entity-name,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--amount,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--currency,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--percentage{text-align:left;white-space:nowrap}#main-content .table-wrapper table.ghi-table th.cd-table--chart,#main-content .table-wrapper table.ghi-table td.cd-table--chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.cd-table--chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.cd-table--chart,.ghi-modal-dialog .table-wrapper table.ghi-table th.cd-table--chart,.ghi-modal-dialog .table-wrapper table.ghi-table td.cd-table--chart{text-align:center}#main-content .table-wrapper table.ghi-table th.not-available,#main-content .table-wrapper table.ghi-table td.not-available,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th.not-available,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td.not-available,.ghi-modal-dialog .table-wrapper table.ghi-table th.not-available,.ghi-modal-dialog .table-wrapper table.ghi-table td.not-available{font-style:italic}#main-content .table-wrapper table.ghi-table th[data-formatting=numeric-full],#main-content .table-wrapper table.ghi-table td[data-formatting=numeric-full],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th[data-formatting=numeric-full],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td[data-formatting=numeric-full],.ghi-modal-dialog .table-wrapper table.ghi-table th[data-formatting=numeric-full],.ghi-modal-dialog .table-wrapper table.ghi-table td[data-formatting=numeric-full]{text-align:right}#main-content .table-wrapper table.ghi-table th:first-child,#main-content .table-wrapper table.ghi-table td:first-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th:first-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table th:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:first-child{padding-left:0}#main-content .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),#main-content .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart),.ghi-modal-dialog .table-wrapper table.ghi-table th:last-child:not(.cd-table--chart),.ghi-modal-dialog .table-wrapper table.ghi-table td:last-child:not(.cd-table--chart){padding-right:0}#main-content .table-wrapper table.ghi-table.cd-table--responsive td:before,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.cd-table--responsive td:before,.ghi-modal-dialog .table-wrapper table.ghi-table.cd-table--responsive td:before{top:1.5rem;font-size:inherit}#main-content .table-wrapper table.ghi-table thead th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table thead th,.ghi-modal-dialog .table-wrapper table.ghi-table thead th{white-space:nowrap;text-transform:uppercase;color:var(--ghi-default-text-color);border-bottom:1px solid var(--cd-default-border-color);background:rgba(0,0,0,0);font-size:var(--cd-font-size--small)}#main-content .table-wrapper table.ghi-table.sortable th,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th{cursor:pointer}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort),.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse{padding-right:5px}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted>span,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse>span{display:inline-block;width:2rem;color:var(--cd-primary-color)}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-nosort)::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted::after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse::after{position:relative;top:4px;left:5px;display:inline-block;width:11px;height:19px;content:" ";background-size:contain}#main-content .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th:not(.sorttable-sorted):not(.sorttable-sorted-reverse):not(.sorttable-nosort):after{background-image:url("../img/table/ghi_sorting.svg")}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted:after{background-image:url("../img/table/ghi_sorting_up.svg")}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-sorted-reverse:after{background-image:url("../img/table/ghi_sorting_down.svg")}#main-content .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,#main-content .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th #sorttable-sortfwdind,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th #sorttable-sortrevind{display:none}#main-content .table-wrapper table.ghi-table.sortable th.sorttable-nosort,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table.sortable th.sorttable-nosort,.ghi-modal-dialog .table-wrapper table.ghi-table.sortable th.sorttable-nosort{cursor:initial}#main-content .table-wrapper table.ghi-table tbody tr,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody tr,.ghi-modal-dialog .table-wrapper table.ghi-table tbody tr{border-bottom:1px solid var(--cd-default-border-color)}#main-content .table-wrapper table.ghi-table tbody tr:last-child,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody tr:last-child,.ghi-modal-dialog .table-wrapper table.ghi-table tbody tr:last-child{border-bottom:0}#main-content .table-wrapper table.ghi-table tbody td:first-child.subrow,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td:first-child.subrow,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td:first-child.subrow{padding-left:2rem}#main-content .table-wrapper table.ghi-table tbody td .tooltip,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td .tooltip,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td .tooltip{margin-left:.3rem}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart{white-space:nowrap}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-pie-chart .hpc-pie-chart-wrapper{display:inline-flex;width:auto;height:100%;margin-left:5px;aspect-ratio:1/1;vertical-align:middle}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar{white-space:nowrap}#main-content .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.data-point--widget-progressbar .hpc-progress-bar-wrapper{margin-left:5px}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart{width:10rem;padding:.5rem .75rem .5rem 0}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline,.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline{display:inline-block;width:100%}#main-content .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"],.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"],.ghi-modal-dialog .table-wrapper table.ghi-table tbody td.spark-line-chart span.sparkline svg circle[r="2"]{r:4px;fill:#fed83d}#main-content .table-wrapper table.ghi-table tbody div.modal-link,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody div.modal-link,.ghi-modal-dialog .table-wrapper table.ghi-table tbody div.modal-link{display:inline-block;vertical-align:middle}#main-content .table-wrapper table.ghi-table tbody div.modal-link a,.layout-builder-configure-block div[data-block-preview] .table-wrapper table.ghi-table tbody div.modal-link a,.ghi-modal-dialog .table-wrapper table.ghi-table tbody div.modal-link a{text-decoration:none}@media(min-width: 768px){#main-content .table-wrapper,.layout-builder-configure-block div[data-block-preview] .table-wrapper,.ghi-modal-dialog .table-wrapper{max-width:calc(100vw - 1rem - 2*var(--cd-container-padding-xlarge)) !important}}.ghi-modal-dialog .table-wrapper table.ghi-table{margin-bottom:0}.ghi-modal-dialog .table-wrapper table.ghi-table th{white-space:nowrap;color:var(--ghi-default-text-color);background-color:inherit}.ghi-modal-dialog .table-wrapper table.ghi-table.has-totals-row th{border-bottom:0}.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td,.ghi-modal-dialog .table-wrapper table.ghi-table td a{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--small)}.ghi-modal-dialog .table-wrapper table.ghi-table th,.ghi-modal-dialog .table-wrapper table.ghi-table td{padding:1.5rem .5rem 1.5rem 2rem}.ghi-modal-dialog .table-wrapper table.ghi-table th:first-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:first-child{padding-left:.5rem}.ghi-modal-dialog .table-wrapper table.ghi-table th:last-child,.ghi-modal-dialog .table-wrapper table.ghi-table td:last-child{padding-right:.5rem}.ghi-modal-dialog .table-wrapper table.ghi-table tr.totals-row,.ghi-modal-dialog .table-wrapper table.ghi-table tfoot tr{border-bottom:0;background-color:var(--cd-default-background-color)}.ghi-modal-dialog .table-wrapper table.ghi-table tr.totals-row td,.ghi-modal-dialog .table-wrapper table.ghi-table tfoot tr td{font-weight:700}.ajax-progress-fullscreen{z-index:1052;top:0;left:0;width:100%;height:100%;pointer-events:unset;opacity:.7;background-color:var(--cd-tag--color)}.ui-dialog{z-index:301}.ui-dialog .ui-dialog-title{margin-top:0 !important;margin-bottom:0 !important}.ui-dialog .ui-dialog-title .cluster-icon{display:inline-block;width:1rem;margin-right:.5rem;color:#fff}.ui-dialog .ui-dialog-title .cluster-icon svg *{fill:var(--cd-white)}.ui-dialog .ui-dialog-content{position:static !important;color:inherit !important}.ui-dialog.download-dialog .ui-dialog-content{overflow:inherit !important}.ui-dialog.ajax-block-error .ui-dialog-content{margin-top:2rem;margin-bottom:2rem}.ui-dialog.ghi-modal-dialog{max-width:1280px;margin:1rem;border:0 none !important;border-radius:var(--ghi-ui-dialog-border-radius);background:var(--ghi-grey--background) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar{padding:24px;border:1px solid var(--cd-default-border-color);border-top-left-radius:var(--ghi-ui-dialog-border-radius);border-top-right-radius:var(--ghi-ui-dialog-border-radius);background:var(--cd-white) !important;line-height:1.2}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close{top:20px;right:18px;box-sizing:border-box;width:2em;margin:0;transform:none;white-space:nowrap;text-indent:-9999px;opacity:.8;border:none;background:none}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-button-icon{top:0;left:0;width:100%;height:100%;margin:0;transform:none;background-color:var(--cd-primary-color) !important;-webkit-mask-image:url("/themes/contrib/gin/dist/media/sprite.svg#close-view");mask-image:url("/themes/contrib/gin/dist/media/sprite.svg#close-view");-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center center;mask-position:center center;background-image:none}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title{color:var(--ghi-default-text-color) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .cluster-icon{display:inline-block;width:1rem;margin-right:1rem;color:#fff}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .cluster-icon svg *{fill:var(--ghi-default-text-color)}.ui-dialog.ghi-modal-dialog .ui-dialog-titlebar .ui-dialog-title .title-additional-info{float:right;margin-right:3rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content{border-right:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-default-border-color);border-left:1px solid var(--cd-default-border-color);border-bottom-right-radius:var(--ghi-ui-dialog-border-radius);border-bottom-left-radius:var(--ghi-ui-dialog-border-radius);background:var(--cd-white) !important}.ui-dialog.ghi-modal-dialog .ui-dialog-content a{color:var(--ghi-default-text-color)}.ui-dialog.ghi-modal-dialog .ui-dialog-content a.fts-link{display:inline-block;margin:1rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content a.fts-link img{height:20px;vertical-align:middle}.ui-dialog.ghi-modal-dialog .ui-dialog-content ul,.ui-dialog.ghi-modal-dialog .ui-dialog-content ol{-webkit-padding-start:2rem;padding-inline-start:2rem}.ui-dialog.ghi-modal-dialog .ui-dialog-content ul li,.ui-dialog.ghi-modal-dialog .ui-dialog-content ol li{padding:.5rem 0}.ghi-modal-dialog+.ui-widget-overlay{z-index:300;opacity:.9;background:var(--ghi-grey--background) !important}article.node--view-mode-grid{display:flex;flex-direction:column;height:100%;border:1px solid var(--cd-default-border-color)}article.node--view-mode-grid .cd-teaser__image{max-width:unset;margin-top:0;margin-bottom:0}article.node--view-mode-grid .cd-teaser__container{display:flex;flex-direction:column;justify-content:space-between;padding:0 1rem}article.node--view-mode-grid .cd-teaser__container a{text-decoration:none}article.node--view-mode-grid .cd-teaser__container .cd-teaser__title--wrapper{font-size:var(--cd-font-size--default)}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description{min-height:7rem;padding-top:1rem;padding-bottom:1rem;line-height:1.2rem}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description:before{display:block;width:12%;padding-top:1rem;content:" ";border-top:3px solid var(--ghi-yellow)}article.node--view-mode-grid .cd-teaser__container .cd-teaser__description .cd-teaser__date{font-size:var(--cd-font-size--small)}body.page-node-type-article .region-page-title .title-prefix,body.page-node-type-document .region-page-title .title-prefix{display:inline-block;margin-top:1rem;padding:.5rem 1rem;text-transform:uppercase;background-color:var(--ghi-primary-button-color);font-size:var(--cd-font-size--small);font-weight:700}body.page-node-type-article article.node--view-mode-full .document-summary,body.page-node-type-document article.node--view-mode-full .document-summary{margin-bottom:4.5rem}body.page-node-type-article article.node--view-mode-full footer.node__meta,body.page-node-type-document article.node--view-mode-full footer.node__meta{padding:1rem 0;border-top:1px solid var(--ghi-default-border-color);border-bottom:1px solid var(--ghi-default-border-color)}body.page-node-type-article article.node--view-mode-full footer.node__meta .node__submitted,body.page-node-type-document article.node--view-mode-full footer.node__meta .node__submitted{display:flex;gap:1rem;font-size:var(--cd-font-size--small)}body.page-node-type-article article.node--view-mode-full .content-wrapper,body.page-node-type-document article.node--view-mode-full .content-wrapper{margin-top:4.5rem}body.page-node-type-article article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium.align-right,body.page-node-type-document article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium.align-right{margin-bottom:1rem;margin-left:2rem;text-align:center;line-height:.7rem}body.page-node-type-article article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium .field--name-field-credits,body.page-node-type-document article.node--view-mode-full .paragraph--type--text .gho-text__text a>.media--view-mode-thumbnail-medium .field--name-field-credits{width:auto;padding:.9rem .9rem;word-wrap:break-word;background-color:var(--ghi-yellow);font-size:var(--cd-font-size--small);font-weight:bold}body.path-overview #main-content,body.path-frontpage #main-content{padding-right:0;padding-left:0}body.path-overview #main-content .ghi-block:first-child,body.path-frontpage #main-content .ghi-block:first-child{margin-top:0;padding-top:0}.ghi-block-global-homepages>.cd-block-title{margin-bottom:.5rem;font-size:var(--cd-font-size--2xbase);font-weight:700}.ghi-block-global-homepages .ghi-block:first-child{margin-top:0;padding-top:0}.ghi-block-global-homepages .ghi-block:first-child .cd-block-title{font-size:var(--cd-font-size--2xbase);font-weight:400}body.page-node-type-homepage .ghi-block:first-child{margin-top:2rem}.snap-png-header{display:none}html.snap--pdf #toolbar-administration,html.snap--pdf .cd-global-header,html.snap--pdf .cd-site-header__actions,html.snap--pdf .layout-builder-ipe-actions,html.snap--pdf .block-wrapper--downloadbutton,html.snap--pdf .block-links{display:none}html.snap--pdf .table-wrapper table.soft-limit+a.expand-table{display:none !important}html.snap--pdf .table-wrapper table.soft-limit tr{display:table-row !important}html.snap--pdf .table-wrapper .modal-link{display:none !important}html.snap--pdf .dialog-off-canvas-main-canvas>.cd-page-layout-container{grid-template-rows:80px auto 1fr auto}.snap-png-header{display:none}html.snap--png .snap-png-header{position:relative;display:block;width:100%;color:var(--ghi-default-text-color);background-color:var(--cd-white)}html.snap--png .snap-png-header:before{position:absolute;z-index:-1;top:-1rem;right:calc(-7rem - 2px);bottom:0;left:calc(-7rem - 2px);height:calc(100% + 1rem);content:"";border-top:1px solid var(--cd-default-border-color);border-bottom:1px solid var(--cd-default-border-color);background-color:inherit}html.snap--png .block-links,html.snap--png .table-search-input-wrapper.empty,html.snap--png .cd-block-title{display:none !important}html.snap--png .header{width:100%}html.snap--png .caption-wrapper{float:left;width:70%}html.snap--png .caption{margin-top:2rem;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--2xbase);line-height:1.4rem}html.snap--png .link{text-decoration:none;color:var(--ghi-default-text-color) !important;font-size:var(--cd-font-size--tiny)}html.snap--png .logo{float:right;width:30%;padding-top:2rem;text-align:right}html.snap--png .title-wrapper{width:100%;margin-bottom:1rem;border-bottom:1px solid var(--cd-default-border-color);font-size:18px}html.snap--png .title{float:left;width:80%}html.snap--png .date{float:right;width:20%;text-align:right}html.snap--png .ghi-block{background-color:#fff}.leaflet-container{font:inherit}.leaflet-container .leaflet-pane{z-index:0}.leaflet-container .leaflet-pane .leaflet-tile-container img{mix-blend-mode:unset}.leaflet-control-container .leaflet-sidebar,.leaflet-control-container .leaflet-top,.leaflet-control-container .leaflet-bottom{z-index:100}.leaflet-control-container .leaflet-sidebar{height:93%;padding:1px}.leaflet-control-container .leaflet-control-attribution{font-size:11px}.leaflet-control-container .leaflet-top.leaflet-left{width:50%}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control{z-index:101;color:var(--ghi-default-text-color);border:1px solid var(--cd-default-border-color);border-radius:0;box-shadow:none;font-size:var(--cd-font-size--default)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-zoom a{font-size:var(--cd-font-size--default);line-height:26px}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search{position:absolute;left:2.5rem;width:17rem;padding:4px 0}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search input.search-input{display:block !important;width:75%;margin:4px 1rem 4px 1rem;padding:0;border:1px solid var(--cd-default-border-color);border:none;font-size:var(--cd-font-size--small)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search input.search-input:focus{outline:none}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search a.search-button,.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search a.search-button:hover{position:absolute;top:2px;right:0;margin:3px 0;background-color:rgba(0,0,0,0);background-image:url("../img/icons/search.svg");background-position:center center;background-size:12px 12px}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search .search-alert{padding:.5rem 1rem;color:inherit;border-top:1px solid var(--cd-blue-grey);border-radius:0;font-weight:normal}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip{position:relative;width:100%;max-height:250px;margin-bottom:0;padding-top:4px;border-top:1px solid var(--cd-blue-grey);border-bottom-right-radius:4px;border-bottom-left-radius:4px;background-color:rgba(0,0,0,0);box-shadow:none}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip{margin:0;padding:.5rem 1rem;border-radius:0;background:var(--cd-white);font-size:var(--cd-font-size--small)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip .subline{color:var(--cd-grey--mid);font-size:var(--cd-font-size--tiny)}.leaflet-control-container .leaflet-top.leaflet-left .leaflet-control-search ul.search-tooltip .search-tip.hover{background-color:var(--cd-blue-grey--light)}.leaflet-bar-horizontal a{float:left;border-right:1px solid #ccc;border-bottom-width:0}.leaflet-bar-horizontal a:hover{border-bottom-width:0}.leaflet-bar-horizontal a:first-child{border-top-left-radius:4px;border-top-right-radius:0;border-bottom-left-radius:4px}.leaflet-bar-horizontal a:last-child{border-right-width:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0}.leaflet-bar-horizontal.admin-level-select a{background-color:var(--cd-grey--light)}.leaflet-bar-horizontal.admin-level-select a.active{background-color:var(--cd-white)}.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-pane,.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-top,.map-wrapper-outer .leaflet-container.leaflet-map-disabled .leaflet-bottom{opacity:.7}.map-wrapper-outer .leaflet-control-container .admin-level-select a.disabled{cursor:default;opacity:.2}.map-wrapper-outer .leaflet-control-container .leaflet-control.donut-control{top:.8rem;right:.1rem;border:none}.map-wrapper-outer .leaflet-control-container .leaflet-control.donut-control .donut-control-icon{cursor:pointer}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar{width:auto;font-size:var(--cd-font-size--base)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar a.close{z-index:800;width:auto;height:auto;margin:0;text-indent:0;opacity:1 !important;color:var(--cd-primary-color);background:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container{overflow:hidden;padding:0}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container{display:flex;flex-direction:column;height:100%;line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-header{height:auto;margin-bottom:.5rem;padding:1rem 1rem .5rem 1rem;color:var(--ghi-default-text-color);border:none;font:inherit}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-header div.title{font-size:var(--cd-font-size--base);font-weight:bold;line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .modal-content{overflow:auto;height:100%;padding:0 1rem;border:none;box-shadow:none;font-size:var(--cd-font-size--small)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container{width:375px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation{position:relative;left:-0.5rem;display:flex;color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny);line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation .link{cursor:pointer;color:var(--cd-primary-color);font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header .navigation .link.disabled{cursor:default;color:var(--hpc-grey)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.admin-area{line-height:24px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.title{font-size:var(--cd-font-size--base);font-weight:700}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.tag-line{font-size:var(--cd-font-size--tiny);font-weight:400}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-header div.admin-area{padding-bottom:.5rem;text-transform:uppercase;border-bottom:1px solid #e1e1e1;font-size:var(--cd-font-size--extra-tiny);font-size:10px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.section-header{display:flex;gap:.5rem;align-items:center;margin-bottom:0;text-transform:uppercase;font-size:var(--cd-font-size--small);font-weight:700;line-height:16px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.section-header span{display:inline-block}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content div.monitoring-period{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--small)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible{display:flex;justify-content:space-between}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper>div,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible>div{display:inline-block}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-color-code,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-color-code{position:relative;top:-0.1rem;display:inline-block;width:.5rem;height:.5rem;margin-top:0;margin-right:.4rem;border-radius:50%}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-label,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-label{margin-right:1rem}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .map-card-metric-wrapper .metric-value,.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .ratio-visible .metric-value{font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper{margin-top:1rem;padding:.5rem 0}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper .measurement-bar-chart-container svg{pointer-events:all}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-container .modal-content .monitoring-period-wrapper .measurement-bar-chart-container svg g{pointer-events:all}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container{width:400px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item{display:flex}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item label.form-label{width:40%;margin-bottom:0;padding-top:3px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item>div{width:60%}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric{display:block;overflow:visible;padding:0;white-space:nowrap;border:none;background-color:rgba(0,0,0,0)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .label{height:auto !important;height:30px;margin:0;padding:0 24px 0 9px;white-space:nowrap;color:var(--cd-primary-color);border-bottom:1px solid var(--hpc-orange);border-radius:0;background-color:rgba(0,0,0,0);font-size:var(--cd-font-size--small);font-size:inherit;font-weight:bold;line-height:30px}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .label:after{display:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric .icon{position:absolute;top:12px;right:6px;width:10px;height:10px;fill:var(--hpc-orange)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items{position:absolute;z-index:1;top:0;border-radius:3px;background-color:var(--cd-white)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items ul li{padding:5px 8px;white-space:nowrap;border-top:none;border-bottom:none;font-size:var(--cd-font-size--small);font-weight:bold}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-items ul li.selected{color:var(--cd-primary-color);background-color:rgba(0,0,0,0)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form .form-item .selectric-wrapper.selectric-open .label{border-bottom:none}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar .leaflet-sidebar-container .map-plan-card-settings-container .donut-control-form button.apply-donut-settings{margin-top:0;margin-bottom:.5rem;padding:6px 8px;color:var(--cd-white);background-color:var(--cd-primary-color)}.map-wrapper-outer .leaflet-control-container .leaflet-sidebar.visible~.leaflet-right{right:0 !important}.map-wrapper-outer .map-tabs{height:auto;background-color:var(--ghi-default-text-color)}.map-wrapper-outer .map-tabs ul{display:flex;height:100%;margin:0;padding:0;gap:2rem;list-style-type:none}.map-wrapper-outer .map-tabs ul li{position:relative;height:2.5rem;padding:.5rem 0;color:var(--cd-white);font-size:var(--cd-font-size--small)}.map-wrapper-outer .map-tabs ul li a{cursor:pointer;text-decoration:none;color:var(--cd-white) !important;font-size:inherit}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown{position:absolute;z-index:101;top:2.5rem;left:-0.3rem;border-top:0}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content{display:flex;flex-direction:column;padding:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content a{display:inline-block;padding:.3rem;white-space:nowrap;color:var(--ghi-default-text-color) !important}.map-wrapper-outer .map-tabs ul li .ghi-dropdown__btn+div.cd-dropdown div.ghi-dropdown--content a:hover{cursor:pointer;background-color:var(--ghi-yellow)}.map-wrapper-outer .map-tabs ul li.active{border-bottom:4px solid var(--ghi-yellow)}.map-wrapper-outer .donut{margin-top:.5rem}.map-wrapper-outer .donut .map-legend{position:absolute;z-index:90;top:1rem;right:1rem;padding:.5rem;background:var(--cd-white)}.map-wrapper-outer .donut .map-legend .legend-caption{margin:0 0 .5rem 0;font-size:var(--cd-font-size--tiny)}.map-wrapper-outer .donut .map-legend ul{display:flex;margin:0;padding:0;border-radius:3px}.map-wrapper-outer .donut .map-legend ul li.legend-item{display:flex;margin:0 1rem 0 0;padding:2px}.map-wrapper-outer .donut .map-legend ul li.legend-item .legend-icon{width:.5rem;height:.5rem;margin-top:.3rem;margin-right:.4rem;border-radius:50%}.map-wrapper-outer .donut .map-legend ul li.legend-item .legend-label{color:var(--ghi-default-text-color);font-size:var(--cd-font-size--tiny)}.map-wrapper-outer .donut .map-legend ul li.legend-item:last-child{margin-right:0}.map-wrapper-outer .donut .has-donut-control .map-legend{right:3rem}.map-wrapper-outer .donut svg.donut .empty path{display:none}@media(max-width: 575px){.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs{position:relative;top:-1rem;margin-right:.5rem}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul{margin:0}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li{padding:0;background-color:rgba(0,0,0,0)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.desktop{display:none}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.mobile{display:inline-block;width:3rem;height:3rem}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li a.mobile .icon{width:3rem;height:3rem;padding:.5rem;border-radius:3px;background-color:var(--cd-grey--light);fill:var(--cd-grey--mid)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .item-list ul li.active a.mobile .icon{background-color:var(--cd-primary-color);fill:var(--cd-white)}.map-wrapper-outer body:not(.download-type-pdf) .donut .map-tabs .download-link-wrapper{margin-top:.7rem;margin-bottom:-0.7rem}}.map-wrapper-outer .map-container{position:relative;width:100%;min-height:500px;margin:0;padding:0;border:1px solid var(--hpc-border-color)}.map-wrapper-outer .map-container>.leaflet-container{min-height:500px}.map-wrapper-outer .map-container .download-link-wrapper{float:right;margin-left:1rem}@media(max-width: 575px){.map-wrapper-outer .map-container .download-link-wrapper{margin-left:.5rem}}.map-wrapper-outer .map-container .map-circle-tooltip,.map-wrapper-outer .map-container .measurement-bar-chart-tooltip{padding:5px 10px;color:var(--cd-white);border-radius:5px;background-color:var(--cd-black);font-size:12px;line-height:1.2rem}.map-wrapper-outer .map-container .map-circle-tooltip div,.map-wrapper-outer .map-container .measurement-bar-chart-tooltip div{display:flex;justify-content:space-between}.cd-page-title{border-bottom:0}.cd-tag{margin:0;padding:0;text-transform:unset;color:var(--ghi-default-text-color);background-color:unset;font-size:var(--cd-font-size--small)}@media(min-width: 1440px){.cd-teaser__image{max-width:100%}}footer.ghi-social-links--inline{width:auto;margin-top:2px}footer.ghi-social-links--fixed{position:fixed;top:50%;right:0;display:inline-block;width:auto}footer.ghi-social-links--fixed>.ghi-social-links__wrapper{display:inline-block;width:-moz-fit-content;width:fit-content;padding:0;background-color:var(--cd-black)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul{display:inline-flex;flex-direction:column;gap:0;align-items:center}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li{margin-top:.3rem;margin-left:0 !important;padding:.3rem;border-bottom:1px solid var(--cd-white)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a{display:inline-block;overflow:hidden;width:2rem;height:2rem;padding:0}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a svg{position:relative;display:block;width:100%;height:100%}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a svg path{fill:var(--cd-white);scale:2.3}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--twitter{position:relative;top:.6rem;left:.25rem}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--twitter svg path{scale:1.3}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg{left:-4px}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg,footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--linkedin svg{background-color:var(--cd-white)}footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--facebook svg path,footer.ghi-social-links--fixed>.ghi-social-links__wrapper ul li a.ghi-social-links__link--linkedin svg path{fill:var(--cd-black)}#main-content .gho-footnote-list__wrapper[data-visible]{width:calc(100% + 68px);padding:1rem 0 1rem 114px;transform:translateX(-114px)}#main-content [dir=rtl] .gho-footnote-list__wrapper[data-visible]{padding:1rem 114px 1rem 0;transform:translateX(114px)}@media screen and (max-width: 768px){#main-content .gho-footnote-list__wrapper[data-visible]{width:calc(100% + 102px)}}.ghi-block .gho-related-articles{margin:0;padding:0;border-top:0}@media screen and (min-width: 768px){.gho-related-article .field--name-field-image{width:calc(40% - 2.25rem);min-width:320px}}.preview-content.ghi-grid .paragraph--type--bottom-figure-row>*>*{zoom:inherit}.preview-content .paragraph.gho-bottom-figure-row{margin-top:0}.paragraph--gho-needs-and-requirements-paragraph+.paragraph--gho-bottom-figure-row{margin-top:0}.paragraph--gho-needs-and-requirements-paragraph+.paragraph--gho-bottom-figure-row .gho-bottom-figure-row::before{content:none}#layout-builder .contextual-region.layout-builder-block,#layout-builder .contextual-region.layout-builder-block.focus{margin-top:4.5rem;padding:2rem !important;border-radius:2px;outline-width:1px !important;outline-style:solid !important;outline-color:var(--colorGinFormElementBorder);outline-offset:0}#layout-builder .contextual-region.layout-builder-block.content-width,#layout-builder .contextual-region.layout-builder-block.focus.content-width{padding-right:2rem !important;padding-left:2rem !important}#layout-builder .contextual-region.layout-builder-block .contextual>button{display:none !important;clip:unset !important}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links{top:-2.5rem !important;right:2rem;display:flex;flex-direction:row-reverse;padding:.5em 0;background:none;background-color:rgba(0,0,0,0) !important;box-shadow:none !important}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li{position:relative;display:block;margin-left:.5rem}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a{padding:0 .25em 0 .25em;padding-left:20px;color:var(--colorGinFormElementBorder) !important;background-color:rgba(0,0,0,0) !important;font-size:.75em !important;line-height:19px}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:focus,#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:hover{color:var(--colorGinPrimary) !important;box-shadow:none}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:focus:after,#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:hover:after{z-index:-1;content:"";background-color:var(--colorGinPrimary) !important;background-repeat:no-repeat;background-position:center;background-size:17px 17px}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li a:after{position:absolute;top:0;left:0;width:17px;height:17px;content:"&";background-color:var(--colorGinFormElementBorder);-webkit-mask-size:17px 17px;mask-size:17px 17px;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-update a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ccircle fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3cpath fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3ccircle fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3cpath fill='none' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 010 2.83 2 2 0 01-2.83 0l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-2 2 2 2 0 01-2-2v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83 0 2 2 0 010-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 01-2-2 2 2 0 012-2h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 010-2.83 2 2 0 012.83 0l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 012-2 2 2 0 012 2v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 0 2 2 0 010 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 012 2 2 2 0 01-2 2h-.09a1.65 1.65 0 00-1.51 1z'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-remove a:after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.24996 13.4583C4.24996 14.2375 4.88746 14.875 5.66663 14.875H11.3333C12.1125 14.875 12.75 14.2375 12.75 13.4583V4.95833H4.24996V13.4583ZM5.66663 6.375H11.3333V13.4583H5.66663V6.375ZM10.9791 2.83333L10.2708 2.125H6.72913L6.02079 2.83333H3.54163V4.25H13.4583V2.83333H10.9791Z' fill='white'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.24996 13.4583C4.24996 14.2375 4.88746 14.875 5.66663 14.875H11.3333C12.1125 14.875 12.75 14.2375 12.75 13.4583V4.95833H4.24996V13.4583ZM5.66663 6.375H11.3333V13.4583H5.66663V6.375ZM10.9791 2.83333L10.2708 2.125H6.72913L6.02079 2.83333H3.54163V4.25H13.4583V2.83333H10.9791Z' fill='white'/%3E%3C/svg%3E%0A")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-show-config a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-hide a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22'/%3e%3c/svg%3e")}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-unhide{display:none}#layout-builder .contextual-region.layout-builder-block .contextual>ul.contextual-links li.layout-builder-block-unhide a:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3e%3ccircle fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3e%3ccircle fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' cx='12' cy='12' r='3'/%3e%3c/svg%3e")}#layout-builder .contextual-region.ghi-block--hidden .layout-builder-block-hide{display:none !important}#layout-builder .contextual-region.ghi-block--hidden .layout-builder-block-unhide{display:block !important}#layout-builder .contextual-region.layout-builder-block:focus,#layout-builder .contextual-region.layout-builder-block:hover{outline-width:2px !important;outline-color:var(--colorGinPrimary)}#layout-builder .contextual-region.layout-builder-block:focus ul.contextual-links,#layout-builder .contextual-region.layout-builder-block:hover ul.contextual-links{display:flex}#layout-builder .contextual-region.layout-builder-block:focus ul.contextual-links li:hover a,#layout-builder .contextual-region.layout-builder-block:hover ul.contextual-links li:hover a{color:var(--colorGinPrimary) !important}.ui-widget-content .layout-builder-configure-block div[data-block-preview] a{color:var(--ghi-default-text-color)}.ui-widget-content .layout-builder-configure-block div[data-block-preview][data-block-preview=plan_webcontent_file]{padding:0}
diff --git a/html/themes/custom/common_design_subtheme/sass/cd/_cd-layout.scss b/html/themes/custom/common_design_subtheme/sass/cd/_cd-layout.scss
index 97f6f5330..5a3de339b 100644
--- a/html/themes/custom/common_design_subtheme/sass/cd/_cd-layout.scss
+++ b/html/themes/custom/common_design_subtheme/sass/cd/_cd-layout.scss
@@ -1,4 +1,17 @@
-.cd-layout-container {
+.dialog-off-canvas-main-canvas {
+ height: 100%;
+ min-height: 100vh;
+}
+
+.cd-page-layout-container {
+ display: grid;
+ grid-template-areas:
+ "header"
+ "highlighted"
+ "main"
+ "soft-footer"
+ "footer";
+
@supports (display: grid) {
@include tablet {
grid-template-rows: 115px auto 1fr auto;
diff --git a/html/themes/custom/common_design_subtheme/sass/cd/_cd-variables.scss b/html/themes/custom/common_design_subtheme/sass/cd/_cd-variables.scss
index 5e66c80ab..aaa8afff8 100644
--- a/html/themes/custom/common_design_subtheme/sass/cd/_cd-variables.scss
+++ b/html/themes/custom/common_design_subtheme/sass/cd/_cd-variables.scss
@@ -69,7 +69,7 @@
--cd-flow-space: 1rem;
--cd-bumper-space: 1rem;
- // Adjust this depending on number of rows in .cd-layout-container.
+ // Adjust this depending on number of rows in .cd-page-layout-container.
// This ensures the footer is always the last element.
--cd-footer-row-number: 5;
diff --git a/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-header.scss b/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-header.scss
index fe89afadf..8a1ad7cbd 100644
--- a/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-header.scss
+++ b/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-header.scss
@@ -56,6 +56,7 @@
}
.cd-site-header__inner {
+ display: grid;
height: $cd-site-header-height;
@supports (display: grid) {
diff --git a/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-nav.scss b/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-nav.scss
index f4b69232b..9dc4f5fc5 100644
--- a/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-nav.scss
+++ b/html/themes/custom/common_design_subtheme/sass/cd/cd-header/_cd-nav.scss
@@ -1,7 +1,7 @@
//——————————————————————————————————————————————————————————————————————————————
// Common Design: Main Navigation
//——————————————————————————————————————————————————————————————————————————————
-.cd-nav__btn {
+.cd-nav-level-0__btn {
height: $cd-site-header-height;
white-space: nowrap;
@@ -57,9 +57,9 @@
}
// First level.
- > .menu > .menu-item > a,
- > .menu > .menu-item > span,
- > .menu > .menu-item > button {
+ > .menu > .menu-item > button > a,
+ > .menu > .menu-item > button > span,
+ > .menu > .menu-item > button > button {
text-transform: none;
font-weight: 700;
}
@@ -70,6 +70,8 @@
a,
span,
button {
+ height: auto;
+ white-space: normal;
font-weight: normal;
}
diff --git a/html/themes/custom/common_design_subtheme/sass/ghi/_ghi-menu.scss b/html/themes/custom/common_design_subtheme/sass/ghi/_ghi-menu.scss
index 23df2a8ef..78e7b2fcb 100644
--- a/html/themes/custom/common_design_subtheme/sass/ghi/_ghi-menu.scss
+++ b/html/themes/custom/common_design_subtheme/sass/ghi/_ghi-menu.scss
@@ -17,7 +17,7 @@
}
}
- nav[role="navigation"] {
+ nav.cd-nav {
& > ul > li {
@@ -39,76 +39,91 @@
}
}
+ ul.menu li.menu-item .menu-link-contentmain nav[role="navigation"] {
+
+ ul {
+ padding: 0;
+ list-style: none;
+
+ li > span {
+ font-weight: bold;
+ }
+ }
+
+ @include max-width(lg) {
+ margin: 0;
+ padding: 0;
+ }
+ }
+
@include max-width(lg) {
margin: 0;
padding: 0;
}
@include desktop {
- &.cd-nav {
- position: unset;
+ position: unset;
- ul.menu li.menu-item {
+ ul.menu li.menu-item {
- &:not(:last-child).right-border {
- border-right: 1px solid var(--ghi-default-border-color);
- }
+ &:not(:last-child).right-border {
+ border-right: 1px solid var(--ghi-default-border-color);
+ }
- .menu-link-contentmain {
- position: absolute;
- z-index: z-index(main-menu);
- left: 0;
- width: 100%;
- background-color: var(--cd-default-background-color);
+ .menu-link-contentmain {
+ position: absolute;
+ z-index: z-index(main-menu);
+ left: 0;
+ width: 100%;
+ background-color: var(--cd-default-background-color);
- nav[role="navigation"] > ul {
- flex-direction: column;
- max-height: 450px;
- margin: 2rem 0;
+ nav[role="navigation"] > ul {
+ flex-direction: column;
+ max-height: 450px;
+ margin: 2rem 0;
- & > li {
- max-width: 180px;
+ & > li {
+ max-width: 180px;
- & > span {
- padding: 0;
- }
+ & > span {
+ padding: 0;
+ }
- & > ul {
- margin: 0.5rem 0 2rem 0;
+ & > ul {
+ margin: 0.5rem 0 2rem 0;
- a,
- span {
- display: inline-block;
- margin-bottom: 3px;
+ a,
+ span {
+ display: inline-block;
+ margin-bottom: 3px;
- &:focus,
- &:hover {
- color: inherit;
- background: inherit;
- }
+ &:focus,
+ &:hover {
+ color: inherit;
+ background: inherit;
}
+ }
- a:focus,
- a:hover {
- margin-bottom: 2px;
- border-bottom: 1px solid var(--cd-primary-color);
- }
+ a:focus,
+ a:hover {
+ margin-bottom: 2px;
+ border-bottom: 1px solid var(--cd-primary-color);
}
}
}
+ }
- .block-sections-by-term {
+ .block-sections-by-term {
- &.label-visible h2 {
- margin-top: 2rem;
- }
+ &.label-visible h2 {
+ margin-top: 2rem;
+ }
- nav[role="navigation"] > ul li {
+ nav[role="navigation"] > ul li {
- span,
- a {
- padding: 0;
- }
+ span,
+ a {
+ padding: 0;
}
}
}
diff --git a/html/themes/custom/common_design_subtheme/sass/ghi/downloads/_snap-pdf.scss b/html/themes/custom/common_design_subtheme/sass/ghi/downloads/_snap-pdf.scss
index 990adf081..3c61c481c 100644
--- a/html/themes/custom/common_design_subtheme/sass/ghi/downloads/_snap-pdf.scss
+++ b/html/themes/custom/common_design_subtheme/sass/ghi/downloads/_snap-pdf.scss
@@ -28,7 +28,7 @@ html.snap--pdf {
display: none !important;
}
- .dialog-off-canvas-main-canvas > .cd-layout-container {
+ .dialog-off-canvas-main-canvas > .cd-page-layout-container {
grid-template-rows: 80px auto 1fr auto;
}
}
diff --git a/html/themes/custom/common_design_subtheme/templates/layout/maintenance-page.html.twig b/html/themes/custom/common_design_subtheme/templates/layout/maintenance-page.html.twig
index 376a9bcac..6240afa9f 100644
--- a/html/themes/custom/common_design_subtheme/templates/layout/maintenance-page.html.twig
+++ b/html/themes/custom/common_design_subtheme/templates/layout/maintenance-page.html.twig
@@ -9,7 +9,7 @@
* @see template_preprocess_maintenance_page()
*/
#}
-