diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 91edd72bf9..a367baad58 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -34,7 +34,7 @@ jobs:
       #- name: Make sure configuration was exported in correct language (en or und)
       #  run: |
       #    OUTPUT=$(grep -oP '^langcode: \b(?!(?:en|und)\b)\w+' conf -R || true)
-      #
+
       #    if [ ! -z "$OUTPUT" ]; then
       #      echo "Found configuration that does not match the pattern 'langcode: (en|und)':" >> $GITHUB_STEP_SUMMARY
       #      echo "$OUTPUT" >> $GITHUB_STEP_SUMMARY
diff --git a/.github/workflows/update-config.yml b/.github/workflows/update-config.yml
index 1a7d61f701..d36258dd60 100644
--- a/.github/workflows/update-config.yml
+++ b/.github/workflows/update-config.yml
@@ -24,6 +24,12 @@ jobs:
     steps:
       - uses: actions/checkout@v4
 
+      - name: Check if required secrets are set
+        env:
+          AUTOMATIC_UPDATE_TOKEN: ${{ secrets.AUTOMATIC_UPDATE_TOKEN }}
+        if: env.AUTOMATIC_UPDATE_TOKEN == ''
+        run: exit 1
+
       - name: Download latest dump
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -77,6 +83,7 @@ jobs:
         uses: peter-evans/create-pull-request@v6
         with:
           commit-message: Update configuration
+          token: ${{ secrets.AUTOMATIC_UPDATE_TOKEN }}
           title: Automatic update
           labels: auto-update
           body: |
diff --git a/.platform/schema b/.platform/schema
index f11c82a4cb..9a037142aa 100644
--- a/.platform/schema
+++ b/.platform/schema
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/compose.override.yml b/compose.override.yml
index fe608792e8..381542bd74 100644
--- a/compose.override.yml
+++ b/compose.override.yml
@@ -1,7 +1,7 @@
 services:
   e2e:
     container_name: "${COMPOSE_PROJECT_NAME}-e2e"
-    image: mcr.microsoft.com/playwright:v1.41.0-jammy
+    image: mcr.microsoft.com/playwright:v1.48.0-jammy
     ipc: host
     network_mode: host
     tty: true
diff --git a/composer.json b/composer.json
index 4054766f3a..5247d4dba9 100644
--- a/composer.json
+++ b/composer.json
@@ -6,7 +6,7 @@
     "homepage": "https://github.com/City-of-Helsinki/drupal-helfi-platform",
     "minimum-stability": "dev",
     "prefer-stable": true,
-    "version": "2024.14",
+    "version": "2024.16",
     "require": {
         "ext-json": "*",
         "composer/installers": "^1.9",
@@ -56,7 +56,6 @@
         "drupal/potx": "^1.0",
         "drupal/purge_users": "^3.1",
         "drupal/radioactivity": "^4.0",
-        "drupal/raven": "^5.0",
         "drupal/redis": "^1.7",
         "drupal/remove_http_headers": "^2.0.1",
         "drupal/restui": "^1.21",
diff --git a/composer.lock b/composer.lock
index 8667022bd0..e1cda871e5 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": "ce4104284d63679dfc9b04271c9f9c5a",
+    "content-hash": "8c0754a03ad8e1e9a27cbc8b5220de66",
     "packages": [
         {
             "name": "asm89/stack-cors",
@@ -1037,16 +1037,16 @@
         },
         {
             "name": "consolidation/output-formatters",
-            "version": "4.5.0",
+            "version": "4.6.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/consolidation/output-formatters.git",
-                "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540"
+                "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/7a611b01eb48eb19cd54672339fc08c0985bf540",
-                "reference": "7a611b01eb48eb19cd54672339fc08c0985bf540",
+                "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5fd5656718d7068a02d046f418a7ba873d5abbfe",
+                "reference": "5fd5656718d7068a02d046f418a7ba873d5abbfe",
                 "shasum": ""
             },
             "require": {
@@ -1085,9 +1085,9 @@
             "description": "Format text by applying transformations provided by plug-in formatters.",
             "support": {
                 "issues": "https://github.com/consolidation/output-formatters/issues",
-                "source": "https://github.com/consolidation/output-formatters/tree/4.5.0"
+                "source": "https://github.com/consolidation/output-formatters/tree/4.6.0"
             },
-            "time": "2024-04-02T15:18:52+00:00"
+            "time": "2024-10-18T14:02:48+00:00"
         },
         {
             "name": "consolidation/robo",
@@ -3113,16 +3113,16 @@
         },
         {
             "name": "drupal/core",
-            "version": "10.3.6",
+            "version": "10.3.10",
             "source": {
                 "type": "git",
                 "url": "https://github.com/drupal/core.git",
-                "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6"
+                "reference": "3ebb71e9c4ef0c13f683353547551fca49f9a144"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/drupal/core/zipball/168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6",
-                "reference": "168ec99f2012aeb4e93c6c7dd4a90dc919ae96c6",
+                "url": "https://api.github.com/repos/drupal/core/zipball/3ebb71e9c4ef0c13f683353547551fca49f9a144",
+                "reference": "3ebb71e9c4ef0c13f683353547551fca49f9a144",
                 "shasum": ""
             },
             "require": {
@@ -3168,7 +3168,7 @@
                 "symfony/serializer": "^6.4",
                 "symfony/validator": "^6.4",
                 "symfony/yaml": "^6.4",
-                "twig/twig": "^3.14.0"
+                "twig/twig": "^3.14.2"
             },
             "conflict": {
                 "drush/drush": "<12.4.3"
@@ -3271,9 +3271,9 @@
             ],
             "description": "Drupal is an open source content management platform powering millions of websites and applications.",
             "support": {
-                "source": "https://github.com/drupal/core/tree/10.3.6"
+                "source": "https://github.com/drupal/core/tree/10.3.10"
             },
-            "time": "2024-10-03T08:58:13+00:00"
+            "time": "2024-11-22T12:51:33+00:00"
         },
         {
             "name": "drupal/core-composer-scaffold",
@@ -5404,6 +5404,10 @@
                     "name": "Sascha Eggenberger (saschaeggi)",
                     "homepage": "https://www.drupal.org/u/saschaeggi",
                     "role": "Maintainer"
+                },
+                {
+                    "name": "saschaeggi",
+                    "homepage": "https://www.drupal.org/user/1999056"
                 }
             ],
             "description": "Gin Toolbar for Frontend use",
@@ -5482,16 +5486,16 @@
         },
         {
             "name": "drupal/hdbt",
-            "version": "6.7.11",
+            "version": "6.7.19",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git",
-                "reference": "5f9902895d8690e0167af2b8df37e84798c1ab8b"
+                "reference": "2fadf070e0fee0baf582073856f47f9c62669d17"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/5f9902895d8690e0167af2b8df37e84798c1ab8b",
-                "reference": "5f9902895d8690e0167af2b8df37e84798c1ab8b",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/2fadf070e0fee0baf582073856f47f9c62669d17",
+                "reference": "2fadf070e0fee0baf582073856f47f9c62669d17",
                 "shasum": ""
             },
             "require": {
@@ -5510,10 +5514,10 @@
                 "Drupal"
             ],
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.7.11",
+                "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.7.19",
                 "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues"
             },
-            "time": "2024-10-11T08:54:21+00:00"
+            "time": "2024-10-23T10:00:39+00:00"
         },
         {
             "name": "drupal/hdbt_admin",
@@ -5604,16 +5608,16 @@
         },
         {
             "name": "drupal/helfi_api_base",
-            "version": "2.7.14",
+            "version": "2.7.11",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base.git",
-                "reference": "d149db10862c62980427c0ad124d0e54c7b97902"
+                "reference": "77ba93f8f9b02bb3e74344e1de0c50caf4d1557c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/d149db10862c62980427c0ad124d0e54c7b97902",
-                "reference": "d149db10862c62980427c0ad124d0e54c7b97902",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/77ba93f8f9b02bb3e74344e1de0c50caf4d1557c",
+                "reference": "77ba93f8f9b02bb3e74344e1de0c50caf4d1557c",
                 "shasum": ""
             },
             "require": {
@@ -5643,10 +5647,10 @@
             ],
             "description": "Helfi - API Base",
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.7.14",
+                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.7.11",
                 "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/issues"
             },
-            "time": "2024-11-07T10:23:06+00:00"
+            "time": "2024-10-23T08:01:57+00:00"
         },
         {
             "name": "drupal/helfi_atv",
@@ -5714,16 +5718,16 @@
         },
         {
             "name": "drupal/helfi_azure_fs",
-            "version": "2.0.7",
+            "version": "2.0.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-azure-fs.git",
-                "reference": "f35b0a703e2da09374c4ca137dd6519274db552a"
+                "reference": "c1ce8909d3ab797bd75e391ed6d80c06b82799c9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-azure-fs/zipball/f35b0a703e2da09374c4ca137dd6519274db552a",
-                "reference": "f35b0a703e2da09374c4ca137dd6519274db552a",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-azure-fs/zipball/c1ce8909d3ab797bd75e391ed6d80c06b82799c9",
+                "reference": "c1ce8909d3ab797bd75e391ed6d80c06b82799c9",
                 "shasum": ""
             },
             "require": {
@@ -5740,9 +5744,6 @@
             "type": "drupal-module",
             "extra": {
                 "patches": {
-                    "drupal/core": {
-                        "UHF-10533 D10.3 images": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-module-helfi-azure-fs/f933226cdd9b046d76757d4f885d3d3567365264/patches/UHF-10533-d10-images.patch"
-                    },
                     "twistor/flysystem-stream-wrapper": {
                         "PHP 8.2 support (https://www.drupal.org/project/flysystem/issues/3387094)": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-module-helfi-azure-fs/ddb222622b92d1c2b7db975a84167a00579a1ad0/patches/3387094-add-context-property-to-stream-wrapper.patch"
                     },
@@ -5756,10 +5757,10 @@
             ],
             "description": "Helfi - Azure FS",
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-azure-fs/tree/2.0.7",
+                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-azure-fs/tree/2.0.8",
                 "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-azure-fs/issues"
             },
-            "time": "2024-10-11T07:42:06+00:00"
+            "time": "2024-10-23T12:15:22+00:00"
         },
         {
             "name": "drupal/helfi_drupal_tools",
@@ -5767,12 +5768,12 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-tools.git",
-                "reference": "8df65343c4ff937dcf143827e3182f10b8b1b4b6"
+                "reference": "53ad81c4249c6dd38deea3f6014ad0b1be47f2db"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/8df65343c4ff937dcf143827e3182f10b8b1b4b6",
-                "reference": "8df65343c4ff937dcf143827e3182f10b8b1b4b6",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/53ad81c4249c6dd38deea3f6014ad0b1be47f2db",
+                "reference": "53ad81c4249c6dd38deea3f6014ad0b1be47f2db",
                 "shasum": ""
             },
             "require": {
@@ -5844,7 +5845,7 @@
                 "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main",
                 "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues"
             },
-            "time": "2024-09-24T07:18:32+00:00"
+            "time": "2024-10-23T10:28:01+00:00"
         },
         {
             "name": "drupal/helfi_formtool_embed",
@@ -5950,16 +5951,16 @@
         },
         {
             "name": "drupal/helfi_platform_config",
-            "version": "4.6.15",
+            "version": "4.6.20",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git",
-                "reference": "96e619f1399be1140cef46c5dd67cce2a035613e"
+                "reference": "f5451a53f0e83dcf1fc811c9ced0687f43cd4b7f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/96e619f1399be1140cef46c5dd67cce2a035613e",
-                "reference": "96e619f1399be1140cef46c5dd67cce2a035613e",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/f5451a53f0e83dcf1fc811c9ced0687f43cd4b7f",
+                "reference": "f5451a53f0e83dcf1fc811c9ced0687f43cd4b7f",
                 "shasum": ""
             },
             "require": {
@@ -6078,23 +6079,23 @@
             ],
             "description": "HELfi platform config",
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.6.15",
+                "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.6.20",
                 "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues"
             },
-            "time": "2024-10-14T06:10:36+00:00"
+            "time": "2024-10-24T12:01:48+00:00"
         },
         {
             "name": "drupal/helfi_proxy",
-            "version": "3.3.0",
+            "version": "3.3.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-proxy.git",
-                "reference": "efdf8d46f8b0f0114ab079f61661d1909b2a870e"
+                "reference": "0372472dbcc0ae1cea760a8d455b729ead9978f6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-proxy/zipball/efdf8d46f8b0f0114ab079f61661d1909b2a870e",
-                "reference": "efdf8d46f8b0f0114ab079f61661d1909b2a870e",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-proxy/zipball/0372472dbcc0ae1cea760a8d455b729ead9978f6",
+                "reference": "0372472dbcc0ae1cea760a8d455b729ead9978f6",
                 "shasum": ""
             },
             "require": {
@@ -6123,10 +6124,10 @@
             ],
             "description": "Provides various fixes so we can serve multiple Drupal instances in one domain.",
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-proxy/tree/3.3.0",
+                "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-proxy/tree/3.3.1",
                 "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-proxy/issues"
             },
-            "time": "2024-06-26T05:50:50+00:00"
+            "time": "2024-10-25T05:12:00+00:00"
         },
         {
             "name": "drupal/helfi_tpr",
@@ -6983,17 +6984,17 @@
         },
         {
             "name": "drupal/linkit",
-            "version": "6.1.5",
+            "version": "6.1.6",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/linkit.git",
-                "reference": "6.1.5"
+                "reference": "6.1.6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/linkit-6.1.5.zip",
-                "reference": "6.1.5",
-                "shasum": "ce2e0f545e5213874e658a44ed3ef606b80b760d"
+                "url": "https://ftp.drupal.org/files/projects/linkit-6.1.6.zip",
+                "reference": "6.1.6",
+                "shasum": "113d8e569cfb92f8d7feb0a2f7713953c0715e92"
             },
             "require": {
                 "drupal/core": "^10.1"
@@ -7005,8 +7006,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "6.1.5",
-                    "datestamp": "1728680387",
+                    "version": "6.1.6",
+                    "datestamp": "1729189029",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -8296,20 +8297,20 @@
         },
         {
             "name": "drupal/raven",
-            "version": "5.0.19",
+            "version": "6.0.10",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/raven.git",
-                "reference": "5.0.19"
+                "reference": "6.0.10"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/raven-5.0.19.zip",
-                "reference": "5.0.19",
-                "shasum": "7ff86084a389c0740a42aa1d23b5fbcaa1a42d9f"
+                "url": "https://ftp.drupal.org/files/projects/raven-6.0.10.zip",
+                "reference": "6.0.10",
+                "shasum": "df0cce5b87bd76ce933d88afd91ebcd75741d329"
             },
             "require": {
-                "drupal/core": "^10.1 || ^11",
+                "drupal/core": "^10.2 || ^11",
                 "sentry/sentry": "^4.9"
             },
             "require-dev": {
@@ -8320,8 +8321,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "5.0.19",
-                    "datestamp": "1728261182",
+                    "version": "6.0.10",
+                    "datestamp": "1728022661",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -8514,7 +8515,7 @@
             ],
             "authors": [
                 {
-                    "name": "Heine",
+                    "name": "heine",
                     "homepage": "https://www.drupal.org/user/17943"
                 },
                 {
@@ -9516,30 +9517,30 @@
         },
         {
             "name": "drupal/tfa",
-            "version": "1.8.0",
+            "version": "1.9.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/tfa.git",
-                "reference": "8.x-1.8"
+                "reference": "8.x-1.9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/tfa-8.x-1.8.zip",
-                "reference": "8.x-1.8",
-                "shasum": "fda56a048fc15d2d24601981785d3974cd29acd9"
+                "url": "https://ftp.drupal.org/files/projects/tfa-8.x-1.9.zip",
+                "reference": "8.x-1.9",
+                "shasum": "1d42020673e8c29259dd9b6b2a7c1f974e66a415"
             },
             "require": {
                 "chillerlan/php-qrcode": "^1.0.9 || ^2.0 || ^3.2 || ^4.0",
                 "christian-riesen/otp": "^2.1",
-                "drupal/core": "^8 || ^9 || ^10",
+                "drupal/core": "^8 || ^9 || ^10 || ^11",
                 "drupal/encrypt": "~3.0",
                 "php": ">=7.0"
             },
             "require-dev": {
                 "drupal/encrypt": "*",
                 "drupal/key": "*",
-                "drupal/services": "^4 || ^5",
-                "drush/drush": "^10 || ^11 || ^12",
+                "drupal/services": "*",
+                "drush/drush": "^10 || ^11 || ^12 || ^13",
                 "mglaman/phpstan-drupal": "^1.1",
                 "phpstan/extension-installer": "^1.2",
                 "phpstan/phpstan": "^1.9",
@@ -9549,8 +9550,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-1.8",
-                    "datestamp": "1727892298",
+                    "version": "8.x-1.9",
+                    "datestamp": "1729138391",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
@@ -10072,42 +10073,39 @@
         },
         {
             "name": "drupal/views_bulk_operations",
-            "version": "4.2.7",
+            "version": "4.3.1",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/views_bulk_operations.git",
-                "reference": "4.2.7"
+                "reference": "4.3.1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-4.2.7.zip",
-                "reference": "4.2.7",
-                "shasum": "25c9fa531ac49664a361fdd2202eec0a6e53bc61"
+                "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-4.3.1.zip",
+                "reference": "4.3.1",
+                "shasum": "1089fe41ddb01313f34d55e19e8f3a5157889430"
             },
             "require": {
-                "drupal/core": "^9.4 || ^10 || ^11",
-                "php": ">=7.4.0"
+                "drupal/core": "^10.3 || ^11"
+            },
+            "conflict": {
+                "drush/drush": "<12.5.1"
             },
             "require-dev": {
-                "drush/drush": "^12"
+                "drush/drush": "^12 || ^13"
             },
             "suggest": {
-                "drush/drush": "^11 || ^12"
+                "drush/drush": "^12 || ^13"
             },
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "4.2.7",
-                    "datestamp": "1717665214",
+                    "version": "4.3.1",
+                    "datestamp": "1729683242",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
                     }
-                },
-                "drush": {
-                    "services": {
-                        "drush.services.yml": "^10 || ^11"
-                    }
                 }
             },
             "notification-url": "https://packages.drupal.org/8/downloads",
@@ -11071,29 +11069,29 @@
         },
         {
             "name": "fileeye/mimemap",
-            "version": "2.1.2",
+            "version": "2.2.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/FileEye/MimeMap.git",
-                "reference": "2cb60da59d5c6fb881a78b481d513c4c68a1a93c"
+                "reference": "c8c686cc6f77316b23128a83334877debf645dfb"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/2cb60da59d5c6fb881a78b481d513c4c68a1a93c",
-                "reference": "2cb60da59d5c6fb881a78b481d513c4c68a1a93c",
+                "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/c8c686cc6f77316b23128a83334877debf645dfb",
+                "reference": "c8c686cc6f77316b23128a83334877debf645dfb",
                 "shasum": ""
             },
             "require": {
-                "php": ">=7.4"
+                "php": ">=8.1"
             },
             "require-dev": {
                 "composer-runtime-api": "^2.0.0",
-                "sebastian/comparator": ">=4",
-                "sebastian/diff": ">=4",
-                "symfony/console": ">=5.4",
-                "symfony/filesystem": ">=5.4",
-                "symfony/var-dumper": ">=5.4",
-                "symfony/yaml": ">=5.4"
+                "sebastian/comparator": ">=5",
+                "sebastian/diff": ">=5",
+                "symfony/console": ">=6.4",
+                "symfony/filesystem": ">=6.4",
+                "symfony/var-dumper": ">=6.4",
+                "symfony/yaml": ">=6.4"
             },
             "bin": [
                 "bin/fileeye-mimemap"
@@ -11123,9 +11121,9 @@
             ],
             "support": {
                 "issues": "https://github.com/FileEye/MimeMap/issues",
-                "source": "https://github.com/FileEye/MimeMap/tree/2.1.2"
+                "source": "https://github.com/FileEye/MimeMap/tree/2.2.0"
             },
-            "time": "2024-06-29T16:52:07+00:00"
+            "time": "2024-10-20T18:59:36+00:00"
         },
         {
             "name": "fileeye/pel",
@@ -11647,16 +11645,16 @@
         },
         {
             "name": "guzzlehttp/promises",
-            "version": "2.0.3",
+            "version": "2.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/promises.git",
-                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
+                "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
-                "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+                "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
+                "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
                 "shasum": ""
             },
             "require": {
@@ -11710,7 +11708,7 @@
             ],
             "support": {
                 "issues": "https://github.com/guzzle/promises/issues",
-                "source": "https://github.com/guzzle/promises/tree/2.0.3"
+                "source": "https://github.com/guzzle/promises/tree/2.0.4"
             },
             "funding": [
                 {
@@ -11726,7 +11724,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-07-18T10:29:17+00:00"
+            "time": "2024-10-17T10:06:22+00:00"
         },
         {
             "name": "guzzlehttp/psr7",
@@ -11970,16 +11968,16 @@
         },
         {
             "name": "league/container",
-            "version": "4.2.2",
+            "version": "4.2.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/thephpleague/container.git",
-                "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88"
+                "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/thephpleague/container/zipball/ff346319ca1ff0e78277dc2311a42107cc1aab88",
-                "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88",
+                "url": "https://api.github.com/repos/thephpleague/container/zipball/72f9bebe7bd623007782a40f5ec305661ab706d8",
+                "reference": "72f9bebe7bd623007782a40f5ec305661ab706d8",
                 "shasum": ""
             },
             "require": {
@@ -12040,7 +12038,7 @@
             ],
             "support": {
                 "issues": "https://github.com/thephpleague/container/issues",
-                "source": "https://github.com/thephpleague/container/tree/4.2.2"
+                "source": "https://github.com/thephpleague/container/tree/4.2.3"
             },
             "funding": [
                 {
@@ -12048,7 +12046,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2024-03-13T13:12:53+00:00"
+            "time": "2024-10-23T12:06:58+00:00"
         },
         {
             "name": "league/flysystem",
@@ -13481,16 +13479,16 @@
         },
         {
             "name": "pear/pear-core-minimal",
-            "version": "v1.10.15",
+            "version": "v1.10.16",
             "source": {
                 "type": "git",
                 "url": "https://github.com/pear/pear-core-minimal.git",
-                "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c"
+                "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/ce0adade8b97561656ace07cdaac4751c271ea8c",
-                "reference": "ce0adade8b97561656ace07cdaac4751c271ea8c",
+                "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/c0f51b45f50683bf5bbf558036854ebc9b54d033",
+                "reference": "c0f51b45f50683bf5bbf558036854ebc9b54d033",
                 "shasum": ""
             },
             "require": {
@@ -13526,7 +13524,7 @@
                 "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR",
                 "source": "https://github.com/pear/pear-core-minimal"
             },
-            "time": "2024-03-16T18:41:45+00:00"
+            "time": "2024-11-24T22:27:58+00:00"
         },
         {
             "name": "pear/pear_exception",
@@ -15263,16 +15261,16 @@
         },
         {
             "name": "symfony/console",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/console.git",
-                "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765"
+                "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765",
-                "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765",
+                "url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
+                "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd",
                 "shasum": ""
             },
             "require": {
@@ -15337,7 +15335,7 @@
                 "terminal"
             ],
             "support": {
-                "source": "https://github.com/symfony/console/tree/v6.4.12"
+                "source": "https://github.com/symfony/console/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -15353,20 +15351,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-11-06T14:19:14+00:00"
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/dependency-injection.git",
-                "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e"
+                "reference": "70ab1f65a4516ef741e519ea938e6aa465e6aa36"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e",
-                "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e",
+                "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/70ab1f65a4516ef741e519ea938e6aa465e6aa36",
+                "reference": "70ab1f65a4516ef741e519ea938e6aa465e6aa36",
                 "shasum": ""
             },
             "require": {
@@ -15418,7 +15416,7 @@
             "description": "Allows you to standardize and centralize the way objects are constructed in your application",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/dependency-injection/tree/v6.4.12"
+                "source": "https://github.com/symfony/dependency-injection/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -15434,7 +15432,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-11-09T06:56:25+00:00"
         },
         {
             "name": "symfony/deprecation-contracts",
@@ -15505,16 +15503,16 @@
         },
         {
             "name": "symfony/error-handler",
-            "version": "v6.4.10",
+            "version": "v6.4.14",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/error-handler.git",
-                "reference": "231f1b2ee80f72daa1972f7340297d67439224f0"
+                "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0",
-                "reference": "231f1b2ee80f72daa1972f7340297d67439224f0",
+                "url": "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9",
+                "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9",
                 "shasum": ""
             },
             "require": {
@@ -15560,7 +15558,7 @@
             "description": "Provides tools to manage errors and ease debugging PHP code",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/error-handler/tree/v6.4.10"
+                "source": "https://github.com/symfony/error-handler/tree/v6.4.14"
             },
             "funding": [
                 {
@@ -15576,20 +15574,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-07-26T12:30:32+00:00"
+            "time": "2024-11-05T15:34:40+00:00"
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "v6.4.8",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/event-dispatcher.git",
-                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b"
+                "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b",
-                "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b",
+                "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
+                "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e",
                 "shasum": ""
             },
             "require": {
@@ -15640,7 +15638,7 @@
             "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8"
+                "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15656,7 +15654,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-05-31T14:49:08+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/event-dispatcher-contracts",
@@ -15736,16 +15734,16 @@
         },
         {
             "name": "symfony/filesystem",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/filesystem.git",
-                "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12"
+                "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12",
-                "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12",
+                "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3",
+                "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3",
                 "shasum": ""
             },
             "require": {
@@ -15782,7 +15780,7 @@
             "description": "Provides basic utilities for the filesystem",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/filesystem/tree/v6.4.12"
+                "source": "https://github.com/symfony/filesystem/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15798,20 +15796,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-16T16:01:33+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/finder",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/finder.git",
-                "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453"
+                "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
-                "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453",
+                "url": "https://api.github.com/repos/symfony/finder/zipball/daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
+                "reference": "daea9eca0b08d0ed1dc9ab702a46128fd1be4958",
                 "shasum": ""
             },
             "require": {
@@ -15846,7 +15844,7 @@
             "description": "Finds files and directories via an intuitive fluent interface",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/finder/tree/v6.4.11"
+                "source": "https://github.com/symfony/finder/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -15862,20 +15860,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-13T14:27:37+00:00"
+            "time": "2024-10-01T08:30:56+00:00"
         },
         {
             "name": "symfony/http-foundation",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-foundation.git",
-                "reference": "133ac043875f59c26c55e79cf074562127cce4d2"
+                "reference": "9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2",
-                "reference": "133ac043875f59c26c55e79cf074562127cce4d2",
+                "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6",
+                "reference": "9b3165eb2f04aeaa1a5a2cfef73e63fe3b22dff6",
                 "shasum": ""
             },
             "require": {
@@ -15885,12 +15883,12 @@
                 "symfony/polyfill-php83": "^1.27"
             },
             "conflict": {
-                "symfony/cache": "<6.3"
+                "symfony/cache": "<6.4.12|>=7.0,<7.1.5"
             },
             "require-dev": {
                 "doctrine/dbal": "^2.13.1|^3|^4",
                 "predis/predis": "^1.1|^2.0",
-                "symfony/cache": "^6.3|^7.0",
+                "symfony/cache": "^6.4.12|^7.1.5",
                 "symfony/dependency-injection": "^5.4|^6.0|^7.0",
                 "symfony/expression-language": "^5.4|^6.0|^7.0",
                 "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
@@ -15923,7 +15921,7 @@
             "description": "Defines an object-oriented layer for the HTTP specification",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-foundation/tree/v6.4.12"
+                "source": "https://github.com/symfony/http-foundation/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -15939,20 +15937,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-11-08T16:09:24+00:00"
         },
         {
             "name": "symfony/http-kernel",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/http-kernel.git",
-                "reference": "96df83d51b5f78804f70c093b97310794fd6257b"
+                "reference": "b002a5b3947653c5aee3adac2a024ea615fd3ff5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b",
-                "reference": "96df83d51b5f78804f70c093b97310794fd6257b",
+                "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b002a5b3947653c5aee3adac2a024ea615fd3ff5",
+                "reference": "b002a5b3947653c5aee3adac2a024ea615fd3ff5",
                 "shasum": ""
             },
             "require": {
@@ -16037,7 +16035,7 @@
             "description": "Provides a structured process for converting a Request into a Response",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/http-kernel/tree/v6.4.12"
+                "source": "https://github.com/symfony/http-kernel/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -16053,20 +16051,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-21T06:02:57+00:00"
+            "time": "2024-11-13T13:57:37+00:00"
         },
         {
             "name": "symfony/mailer",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mailer.git",
-                "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26"
+                "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26",
-                "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26",
+                "url": "https://api.github.com/repos/symfony/mailer/zipball/c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
+                "reference": "c2f7e0d8d7ac8fe25faccf5d8cac462805db2663",
                 "shasum": ""
             },
             "require": {
@@ -16117,7 +16115,7 @@
             "description": "Helps sending emails",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/mailer/tree/v6.4.12"
+                "source": "https://github.com/symfony/mailer/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16133,20 +16131,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-08T12:30:05+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/mime",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/mime.git",
-                "reference": "abe16ee7790b16aa525877419deb0f113953f0e1"
+                "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1",
-                "reference": "abe16ee7790b16aa525877419deb0f113953f0e1",
+                "url": "https://api.github.com/repos/symfony/mime/zipball/1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
+                "reference": "1de1cf14d99b12c7ebbb850491ec6ae3ed468855",
                 "shasum": ""
             },
             "require": {
@@ -16202,7 +16200,7 @@
                 "mime-type"
             ],
             "support": {
-                "source": "https://github.com/symfony/mime/tree/v6.4.12"
+                "source": "https://github.com/symfony/mime/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -16218,7 +16216,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-10-25T15:07:50+00:00"
         },
         {
             "name": "symfony/options-resolver",
@@ -17146,16 +17144,16 @@
         },
         {
             "name": "symfony/process",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/process.git",
-                "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3"
+                "reference": "3cb242f059c14ae08591c5c4087d1fe443564392"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3",
-                "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3",
+                "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392",
+                "reference": "3cb242f059c14ae08591c5c4087d1fe443564392",
                 "shasum": ""
             },
             "require": {
@@ -17187,7 +17185,7 @@
             "description": "Executes commands in sub-processes",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/process/tree/v6.4.12"
+                "source": "https://github.com/symfony/process/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -17203,20 +17201,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-17T12:47:12+00:00"
+            "time": "2024-11-06T14:19:14+00:00"
         },
         {
             "name": "symfony/psr-http-message-bridge",
-            "version": "v6.4.11",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/psr-http-message-bridge.git",
-                "reference": "74835ba54eca99a38f374f7a6d932fa510124773"
+                "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/74835ba54eca99a38f374f7a6d932fa510124773",
-                "reference": "74835ba54eca99a38f374f7a6d932fa510124773",
+                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9cf83326a1074f83a738fc5320945abf7fb7fec",
+                "reference": "c9cf83326a1074f83a738fc5320945abf7fb7fec",
                 "shasum": ""
             },
             "require": {
@@ -17270,7 +17268,7 @@
                 "psr-7"
             ],
             "support": {
-                "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.11"
+                "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -17286,20 +17284,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-14T13:55:58+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "symfony/routing",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/routing.git",
-                "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f"
+                "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f",
-                "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f",
+                "url": "https://api.github.com/repos/symfony/routing/zipball/640a74250d13f9c30d5ca045b6aaaabcc8215278",
+                "reference": "640a74250d13f9c30d5ca045b6aaaabcc8215278",
                 "shasum": ""
             },
             "require": {
@@ -17353,7 +17351,7 @@
                 "url"
             ],
             "support": {
-                "source": "https://github.com/symfony/routing/tree/v6.4.12"
+                "source": "https://github.com/symfony/routing/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -17369,20 +17367,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:32:26+00:00"
+            "time": "2024-10-01T08:30:56+00:00"
         },
         {
             "name": "symfony/serializer",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/serializer.git",
-                "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c"
+                "reference": "9d862d66198f3c2e30404228629ef4c18d5d608e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/serializer/zipball/10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c",
-                "reference": "10ae9c1b90f4809ccb7277cc8fe8d80b3af4412c",
+                "url": "https://api.github.com/repos/symfony/serializer/zipball/9d862d66198f3c2e30404228629ef4c18d5d608e",
+                "reference": "9d862d66198f3c2e30404228629ef4c18d5d608e",
                 "shasum": ""
             },
             "require": {
@@ -17451,7 +17449,7 @@
             "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/serializer/tree/v6.4.12"
+                "source": "https://github.com/symfony/serializer/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -17467,7 +17465,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-10-23T13:25:59+00:00"
         },
         {
             "name": "symfony/service-contracts",
@@ -17554,16 +17552,16 @@
         },
         {
             "name": "symfony/string",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/string.git",
-                "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b"
+                "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b",
-                "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b",
+                "url": "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
+                "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
                 "shasum": ""
             },
             "require": {
@@ -17620,7 +17618,7 @@
                 "utf8"
             ],
             "support": {
-                "source": "https://github.com/symfony/string/tree/v6.4.12"
+                "source": "https://github.com/symfony/string/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -17636,7 +17634,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:15:52+00:00"
+            "time": "2024-11-13T13:31:12+00:00"
         },
         {
             "name": "symfony/translation",
@@ -17813,16 +17811,16 @@
         },
         {
             "name": "symfony/validator",
-            "version": "v6.4.12",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/validator.git",
-                "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0"
+                "reference": "7541055cdaf54ff95f0735bf703d313374e8b20b"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/validator/zipball/6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0",
-                "reference": "6da1f0a1ee73d060a411d832cbe0539cfe9bbaa0",
+                "url": "https://api.github.com/repos/symfony/validator/zipball/7541055cdaf54ff95f0735bf703d313374e8b20b",
+                "reference": "7541055cdaf54ff95f0735bf703d313374e8b20b",
                 "shasum": ""
             },
             "require": {
@@ -17890,7 +17888,7 @@
             "description": "Provides tools to validate values",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/validator/tree/v6.4.12"
+                "source": "https://github.com/symfony/validator/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -17906,20 +17904,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-20T08:18:25+00:00"
+            "time": "2024-11-08T15:28:48+00:00"
         },
         {
             "name": "symfony/var-dumper",
-            "version": "v6.4.11",
+            "version": "v6.4.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-dumper.git",
-                "reference": "ee14c8254a480913268b1e3b1cba8045ed122694"
+                "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694",
-                "reference": "ee14c8254a480913268b1e3b1cba8045ed122694",
+                "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
+                "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80",
                 "shasum": ""
             },
             "require": {
@@ -17975,7 +17973,7 @@
                 "dump"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-dumper/tree/v6.4.11"
+                "source": "https://github.com/symfony/var-dumper/tree/v6.4.15"
             },
             "funding": [
                 {
@@ -17991,20 +17989,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-08-30T16:03:21+00:00"
+            "time": "2024-11-08T15:28:48+00:00"
         },
         {
             "name": "symfony/var-exporter",
-            "version": "v7.1.2",
+            "version": "v7.1.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/var-exporter.git",
-                "reference": "b80a669a2264609f07f1667f891dbfca25eba44c"
+                "reference": "90173ef89c40e7c8c616653241048705f84130ef"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c",
-                "reference": "b80a669a2264609f07f1667f891dbfca25eba44c",
+                "url": "https://api.github.com/repos/symfony/var-exporter/zipball/90173ef89c40e7c8c616653241048705f84130ef",
+                "reference": "90173ef89c40e7c8c616653241048705f84130ef",
                 "shasum": ""
             },
             "require": {
@@ -18051,7 +18049,7 @@
                 "serialize"
             ],
             "support": {
-                "source": "https://github.com/symfony/var-exporter/tree/v7.1.2"
+                "source": "https://github.com/symfony/var-exporter/tree/v7.1.6"
             },
             "funding": [
                 {
@@ -18067,20 +18065,20 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-06-28T08:00:31+00:00"
+            "time": "2024-09-25T14:20:29+00:00"
         },
         {
             "name": "symfony/yaml",
-            "version": "v6.4.12",
+            "version": "v6.4.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/yaml.git",
-                "reference": "762ee56b2649659380e0ef4d592d807bc17b7971"
+                "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/yaml/zipball/762ee56b2649659380e0ef4d592d807bc17b7971",
-                "reference": "762ee56b2649659380e0ef4d592d807bc17b7971",
+                "url": "https://api.github.com/repos/symfony/yaml/zipball/e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
+                "reference": "e99b4e94d124b29ee4cf3140e1b537d2dad8cec9",
                 "shasum": ""
             },
             "require": {
@@ -18123,7 +18121,7 @@
             "description": "Loads and dumps YAML files",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/yaml/tree/v6.4.12"
+                "source": "https://github.com/symfony/yaml/tree/v6.4.13"
             },
             "funding": [
                 {
@@ -18139,7 +18137,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-17T12:47:12+00:00"
+            "time": "2024-09-25T14:18:03+00:00"
         },
         {
             "name": "t4web/composer-lock-parser",
@@ -18242,16 +18240,16 @@
         },
         {
             "name": "twig/twig",
-            "version": "v3.14.0",
+            "version": "v3.15.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/twigphp/Twig.git",
-                "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72"
+                "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
-                "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
+                "url": "https://api.github.com/repos/twigphp/Twig/zipball/2d5b3964cc21d0188633d7ddce732dc8e874db02",
+                "reference": "2d5b3964cc21d0188633d7ddce732dc8e874db02",
                 "shasum": ""
             },
             "require": {
@@ -18305,7 +18303,7 @@
             ],
             "support": {
                 "issues": "https://github.com/twigphp/Twig/issues",
-                "source": "https://github.com/twigphp/Twig/tree/v3.14.0"
+                "source": "https://github.com/twigphp/Twig/tree/v3.15.0"
             },
             "funding": [
                 {
@@ -18317,7 +18315,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2024-09-09T17:55:12+00:00"
+            "time": "2024-11-17T15:59:19+00:00"
         },
         {
             "name": "twistor/flysystem-stream-wrapper",
@@ -20607,16 +20605,16 @@
         },
         {
             "name": "php-http/discovery",
-            "version": "1.19.4",
+            "version": "1.20.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-http/discovery.git",
-                "reference": "0700efda8d7526335132360167315fdab3aeb599"
+                "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599",
-                "reference": "0700efda8d7526335132360167315fdab3aeb599",
+                "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
+                "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
                 "shasum": ""
             },
             "require": {
@@ -20680,9 +20678,9 @@
             ],
             "support": {
                 "issues": "https://github.com/php-http/discovery/issues",
-                "source": "https://github.com/php-http/discovery/tree/1.19.4"
+                "source": "https://github.com/php-http/discovery/tree/1.20.0"
             },
-            "time": "2024-03-29T13:00:05+00:00"
+            "time": "2024-10-02T11:20:13+00:00"
         },
         {
             "name": "php-http/guzzle7-adapter",
@@ -20748,16 +20746,16 @@
         },
         {
             "name": "php-http/httplug",
-            "version": "2.4.0",
+            "version": "2.4.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-http/httplug.git",
-                "reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
+                "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
-                "reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
+                "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4",
+                "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4",
                 "shasum": ""
             },
             "require": {
@@ -20799,9 +20797,9 @@
             ],
             "support": {
                 "issues": "https://github.com/php-http/httplug/issues",
-                "source": "https://github.com/php-http/httplug/tree/2.4.0"
+                "source": "https://github.com/php-http/httplug/tree/2.4.1"
             },
-            "time": "2023-04-14T15:10:03+00:00"
+            "time": "2024-09-23T11:39:58+00:00"
         },
         {
             "name": "php-http/promise",
@@ -20910,16 +20908,16 @@
         },
         {
             "name": "phpdocumentor/reflection-docblock",
-            "version": "5.4.1",
+            "version": "5.6.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c"
+                "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
-                "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
+                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c",
+                "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c",
                 "shasum": ""
             },
             "require": {
@@ -20928,17 +20926,17 @@
                 "php": "^7.4 || ^8.0",
                 "phpdocumentor/reflection-common": "^2.2",
                 "phpdocumentor/type-resolver": "^1.7",
-                "phpstan/phpdoc-parser": "^1.7",
+                "phpstan/phpdoc-parser": "^1.7|^2.0",
                 "webmozart/assert": "^1.9.1"
             },
             "require-dev": {
-                "mockery/mockery": "~1.3.5",
+                "mockery/mockery": "~1.3.5 || ~1.6.0",
                 "phpstan/extension-installer": "^1.1",
                 "phpstan/phpstan": "^1.8",
                 "phpstan/phpstan-mockery": "^1.1",
                 "phpstan/phpstan-webmozart-assert": "^1.2",
                 "phpunit/phpunit": "^9.5",
-                "vimeo/psalm": "^5.13"
+                "psalm/phar": "^5.26"
             },
             "type": "library",
             "extra": {
@@ -20968,29 +20966,29 @@
             "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
             "support": {
                 "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
-                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1"
+                "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0"
             },
-            "time": "2024-05-21T05:55:05+00:00"
+            "time": "2024-11-12T11:25:25+00:00"
         },
         {
             "name": "phpdocumentor/type-resolver",
-            "version": "1.8.2",
+            "version": "1.10.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpDocumentor/TypeResolver.git",
-                "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+                "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
-                "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+                "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+                "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
                 "shasum": ""
             },
             "require": {
                 "doctrine/deprecations": "^1.0",
                 "php": "^7.3 || ^8.0",
                 "phpdocumentor/reflection-common": "^2.0",
-                "phpstan/phpdoc-parser": "^1.13"
+                "phpstan/phpdoc-parser": "^1.18|^2.0"
             },
             "require-dev": {
                 "ext-tokenizer": "*",
@@ -21026,9 +21024,9 @@
             "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
             "support": {
                 "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
-                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+                "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
             },
-            "time": "2024-02-23T11:10:43+00:00"
+            "time": "2024-11-09T15:12:26+00:00"
         },
         {
             "name": "phpspec/prophecy",
@@ -23647,6 +23645,6 @@
     "platform": {
         "ext-json": "*"
     },
-    "platform-dev": [],
+    "platform-dev": {},
     "plugin-api-version": "2.6.0"
 }
diff --git a/conf/cmi/core.entity_form_display.paragraph.curated_event_list.default.yml b/conf/cmi/core.entity_form_display.paragraph.curated_event_list.default.yml
new file mode 100644
index 0000000000..2514fff17a
--- /dev/null
+++ b/conf/cmi/core.entity_form_display.paragraph.curated_event_list.default.yml
@@ -0,0 +1,38 @@
+uuid: b5c5ed81-d651-4db2-8d72-a67e7b66390e
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.paragraph.curated_event_list.field_all_events_link
+    - field.field.paragraph.curated_event_list.field_events
+    - paragraphs.paragraphs_type.curated_event_list
+  module:
+    - link
+_core:
+  default_config_hash: xbLWsjGFnK8aSW5O_r3mVF5bAlCp8J6wP5mGihlXLfU
+id: paragraph.curated_event_list.default
+targetEntityType: paragraph
+bundle: curated_event_list
+mode: default
+content:
+  field_all_events_link:
+    type: link_default
+    weight: 1
+    region: content
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+  field_events:
+    type: entity_reference_autocomplete
+    weight: 0
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 5
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden:
+  created: true
+  status: true
diff --git a/conf/cmi/core.entity_view_display.linkedevents_event.linkedevents_event.default.yml b/conf/cmi/core.entity_view_display.linkedevents_event.linkedevents_event.default.yml
new file mode 100644
index 0000000000..78ab301eea
--- /dev/null
+++ b/conf/cmi/core.entity_view_display.linkedevents_event.linkedevents_event.default.yml
@@ -0,0 +1,75 @@
+uuid: 22363443-8bc6-4b97-980f-6bfb225edb1b
+langcode: en
+status: true
+dependencies:
+  config:
+    - responsive_image.styles.card_teaser
+  module:
+    - datetime
+    - external_entities
+    - imagecache_external
+    - linkit
+_core:
+  default_config_hash: HLUzZHxqtb77OIc2B344fWXiNo5fO78woa0r4KmRGcA
+id: linkedevents_event.linkedevents_event.default
+targetEntityType: linkedevents_event
+bundle: linkedevents_event
+mode: default
+content:
+  end_time:
+    type: datetime_default
+    label: hidden
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 3
+    region: content
+  external_link:
+    type: linkit
+    label: hidden
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+      linkit_profile: default
+    third_party_settings: {  }
+    weight: 4
+    region: content
+  langcode:
+    type: string_default
+    label: hidden
+    settings: {  }
+    third_party_settings: {  }
+    weight: 5
+    region: content
+  main_image:
+    type: imagecache_external_responsive_image
+    label: hidden
+    settings:
+      imagecache_external_link: ''
+      imagecache_external_responsive_style: card_teaser
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  start_time:
+    type: datetime_default
+    label: hidden
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 2
+    region: content
+  title:
+    type: string
+    label: hidden
+    settings:
+      link_to_entity: false
+    third_party_settings: {  }
+    weight: 0
+    region: content
+hidden:
+  search_api_excerpt: true
diff --git a/conf/cmi/core.entity_view_display.paragraph.curated_event_list.default.yml b/conf/cmi/core.entity_view_display.paragraph.curated_event_list.default.yml
new file mode 100644
index 0000000000..966ffdd46e
--- /dev/null
+++ b/conf/cmi/core.entity_view_display.paragraph.curated_event_list.default.yml
@@ -0,0 +1,40 @@
+uuid: 313ec60d-d84a-4e82-9ae3-ee3221c0e631
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.paragraph.curated_event_list.field_all_events_link
+    - field.field.paragraph.curated_event_list.field_events
+    - paragraphs.paragraphs_type.curated_event_list
+  module:
+    - link
+_core:
+  default_config_hash: kSyBcsfddKV9vQJsToglwPaZvKFQSf3GDFPLqkzIfTQ
+id: paragraph.curated_event_list.default
+targetEntityType: paragraph
+bundle: curated_event_list
+mode: default
+content:
+  field_all_events_link:
+    type: link
+    label: hidden
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  field_events:
+    type: entity_reference_entity_view
+    label: hidden
+    settings:
+      view_mode: default
+      link: false
+    third_party_settings: {  }
+    weight: 0
+    region: content
+hidden:
+  search_api_excerpt: true
diff --git a/conf/cmi/core.extension.yml b/conf/cmi/core.extension.yml
index 22d09b7a54..3794c42554 100644
--- a/conf/cmi/core.extension.yml
+++ b/conf/cmi/core.extension.yml
@@ -54,12 +54,13 @@ module:
   grants_admin_applications: 0
   grants_applicant_info: 0
   grants_application_search: 0
-  grants_attachments: 0
   grants_audit_log: 0
   grants_budget_components: 0
   grants_club_section: 0
+  grants_events: 0
   grants_front_banner: 0
   grants_industries: 0
+  grants_logger: 0
   grants_mandate: 0
   grants_members: 0
   grants_metadata: 0
@@ -103,6 +104,7 @@ module:
   helfi_paragraphs_columns: 0
   helfi_paragraphs_contact_card_listing: 0
   helfi_paragraphs_content_cards: 0
+  helfi_paragraphs_curated_event_list: 0
   helfi_paragraphs_hearings: 0
   helfi_paragraphs_hero: 0
   helfi_paragraphs_image: 0
@@ -217,9 +219,10 @@ module:
   webform_translation_permissions: 0
   webform_ui: 0
   webform_views: 0
-  grants_handler: 1
+  grants_attachments: 1
   menu_admin_per_menu: 1
   pathauto: 1
+  grants_handler: 2
   content_translation: 10
   externalauth: 10
   views: 10
diff --git a/conf/cmi/external_entities.external_entity_type.linkedevents_event.yml b/conf/cmi/external_entities.external_entity_type.linkedevents_event.yml
new file mode 100644
index 0000000000..819ef5ee38
--- /dev/null
+++ b/conf/cmi/external_entities.external_entity_type.linkedevents_event.yml
@@ -0,0 +1,38 @@
+uuid: 66fe8cbc-203c-40aa-ac7b-6e0e89470312
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: Ll_0kw3O6gGsRvmdTi7l4K2pwhUrL0yQT4uPcttspmA
+id: linkedevents_event
+label: 'LinkedEvents: Event'
+label_plural: 'LinkedEvents: Events'
+description: 'Event entities from https://api.hel.fi/linkedevents.'
+read_only: true
+generate_aliases: false
+field_mapper_id: jsonpath
+field_mapper_config:
+  field_mappings:
+    id:
+      value: $.id
+    uuid:
+      value: $.id
+    title:
+      value: $.title
+    main_image:
+      uri: '$.images[0].url'
+      title: '$.images[0].alt_text'
+    start_time:
+      value: $.start_time
+    end_time:
+      value: $.end_time
+    external_link:
+      uri: $.external_link
+      title: $.clean_title
+storage_client_id: linkedevents_events
+storage_client_config: null
+persistent_cache_max_age: 0
+annotation_entity_type_id: null
+annotation_bundle_id: null
+annotation_field_name: null
+inherits_annotation_fields: false
diff --git a/conf/cmi/field.field.node.landing_page.field_content.yml b/conf/cmi/field.field.node.landing_page.field_content.yml
index f79d0bf279..54981785dd 100644
--- a/conf/cmi/field.field.node.landing_page.field_content.yml
+++ b/conf/cmi/field.field.node.landing_page.field_content.yml
@@ -9,6 +9,7 @@ dependencies:
     - paragraphs.paragraphs_type.chart
     - paragraphs.paragraphs_type.columns
     - paragraphs.paragraphs_type.content_cards
+    - paragraphs.paragraphs_type.curated_event_list
     - paragraphs.paragraphs_type.event_list
     - paragraphs.paragraphs_type.from_library
     - paragraphs.paragraphs_type.front_banner
@@ -65,6 +66,7 @@ settings:
       service_list_search: service_list_search
       unit_search: unit_search
       unit_contact_card: unit_contact_card
+      curated_event_list: curated_event_list
     negate: 0
     target_bundles_drag_drop:
       banner:
@@ -79,6 +81,9 @@ settings:
       content_cards:
         weight: 1
         enabled: true
+      curated_event_list:
+        weight: 15
+        enabled: true
       event_list:
         weight: 13
         enabled: true
diff --git a/conf/cmi/field.field.paragraph.curated_event_list.field_all_events_link.yml b/conf/cmi/field.field.paragraph.curated_event_list.field_all_events_link.yml
new file mode 100644
index 0000000000..78d0b93564
--- /dev/null
+++ b/conf/cmi/field.field.paragraph.curated_event_list.field_all_events_link.yml
@@ -0,0 +1,30 @@
+uuid: b144b934-3c5a-4c5b-ae89-b477bfb8367d
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_all_events_link
+    - paragraphs.paragraphs_type.curated_event_list
+  module:
+    - link
+_core:
+  default_config_hash: FfVydFQYnAcPJkSaTbBQoyzqe8k11WrSJ5tSxAt8b1k
+id: paragraph.curated_event_list.field_all_events_link
+field_name: field_all_events_link
+entity_type: paragraph
+bundle: curated_event_list
+label: 'All events link'
+description: "Add a link to the tapahtumat.hel.fi website. You may also filter the events in the event calendar as desired and copy the page's URL.\r\n<br><br>\r\nAlso provide a text for the link, eg. <i>View all events.</i>"
+required: false
+translatable: false
+default_value:
+  -
+    attributes: {  }
+    uri: 'https://tapahtumat.hel.fi'
+    title: 'View all events'
+    options: {  }
+default_value_callback: ''
+settings:
+  title: 2
+  link_type: 16
+field_type: link
diff --git a/conf/cmi/field.field.paragraph.curated_event_list.field_events.yml b/conf/cmi/field.field.paragraph.curated_event_list.field_events.yml
new file mode 100644
index 0000000000..896f3cdee2
--- /dev/null
+++ b/conf/cmi/field.field.paragraph.curated_event_list.field_events.yml
@@ -0,0 +1,28 @@
+uuid: 41acbd4d-63ba-4cb7-919c-d6435553d4a9
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_events
+    - paragraphs.paragraphs_type.curated_event_list
+_core:
+  default_config_hash: XaOHQv-1E_t55GwYhhyvtA03_7mWbdEbmXA3YhGrHiA
+id: paragraph.curated_event_list.field_events
+field_name: field_events
+entity_type: paragraph
+bundle: curated_event_list
+label: Events
+description: "Pick events to display in the list. You may either search event by their name <i>or</i> enter their ID. \r\n <br><br>\r\nYou can find the ID of an event on tapahtumat.hel.fi site from the URL of the page. For example, in the url <a>https://tapahtumat.hel.fi/fi/events/helsinki:agiy4m4ida</a> the <b>helsinki:agiy4m4ida</b> part is the ID of the event.\r\n <br><br>\r\nThe page will display the top three events. You can arrange the events by dragging. Expired events will be automatically removed from the page."
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:linkedevents_event'
+  handler_settings:
+    target_bundles: null
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+field_type: entity_reference
diff --git a/conf/cmi/field.storage.paragraph.field_all_events_link.yml b/conf/cmi/field.storage.paragraph.field_all_events_link.yml
new file mode 100644
index 0000000000..046d3b06b4
--- /dev/null
+++ b/conf/cmi/field.storage.paragraph.field_all_events_link.yml
@@ -0,0 +1,21 @@
+uuid: 1dd4d7e6-e3be-490e-9309-e9380e0c33b4
+langcode: en
+status: true
+dependencies:
+  module:
+    - link
+    - paragraphs
+_core:
+  default_config_hash: 7QiTeiuYd-9Za2xvC3WVShDfIhAcgIpMYzIV4PX2NLQ
+id: paragraph.field_all_events_link
+field_name: field_all_events_link
+entity_type: paragraph
+type: link
+settings: {  }
+module: link
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/conf/cmi/field.storage.paragraph.field_events.yml b/conf/cmi/field.storage.paragraph.field_events.yml
new file mode 100644
index 0000000000..aff4e3ba3e
--- /dev/null
+++ b/conf/cmi/field.storage.paragraph.field_events.yml
@@ -0,0 +1,22 @@
+uuid: a381685c-627a-4ba4-8be3-5bb2d2a705bd
+langcode: en
+status: true
+dependencies:
+  module:
+    - external_entities
+    - paragraphs
+_core:
+  default_config_hash: 5xBhIfvn2RSNE7qg7Ep4BljIMo7j78jrEekdHV_eCgo
+id: paragraph.field_events
+field_name: field_events
+entity_type: paragraph
+type: entity_reference
+settings:
+  target_type: linkedevents_event
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/conf/cmi/grants_metadata.settings.yml b/conf/cmi/grants_metadata.settings.yml
index 0fbb803dbb..1b97e04b44 100644
--- a/conf/cmi/grants_metadata.settings.yml
+++ b/conf/cmi/grants_metadata.settings.yml
@@ -299,7 +299,6 @@ third_party_options:
     52: 'Liikunnan erityisavustus 2'
     53: 'Kulttuurin ja vapaa-ajan erityisavustus 1'
     54: 'Kulttuurin ja vapaa-ajan erityisavustus 2'
-
 langcode: en
 config_import_ignore:
   - 53
diff --git a/conf/cmi/language/en/webform.webform.liikunta_suunnistuskartta_avustu.yml b/conf/cmi/language/en/webform.webform.liikunta_suunnistuskartta_avustu.yml
index 2a002764f5..207508f0c9 100644
--- a/conf/cmi/language/en/webform.webform.liikunta_suunnistuskartta_avustu.yml
+++ b/conf/cmi/language/en/webform.webform.liikunta_suunnistuskartta_avustu.yml
@@ -75,7 +75,7 @@ elements: |
       <p>All the attachments listed below must be submitted for the processing of the grant application. The grant application may be rejected if the attachments are not submitted. If any of the attachments is missing, let us know in the Further clarification on attachments section of the application.
       </p>
       <h4>Required attachments</h4>
-      <p>For the processing of the grant application, the required attachments are the confirmed attachments approved and signed by the community at its meeting for the previous accounting period and for the operating year for which the grant is being applied for. The attachments concerning the previous accounting period are the financial statements, the annual report, the audit or performance audit report and the minutes of the annual meeting. The attachments for the year for which the grant is being applied for are the budget and action plan.</p>
+      <p>Invoices and receipts for the cost of producing orienteering maps must be submitted only upon request.</p>
       <h4>Submission of several attachments as a single file</h4>
       <p>If you wish, you can submit several attachments as a single file under Financial statements or Budget. In this case, under the other attachment headings, indicate &ldquo;The attachment has been submitted as a single file or with another application.&rdquo;</p>
       <h4>Attachments previously submitted to the City of Helsinki</h4>
diff --git a/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_all_events_link.yml b/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_all_events_link.yml
new file mode 100644
index 0000000000..baa2627931
--- /dev/null
+++ b/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_all_events_link.yml
@@ -0,0 +1,5 @@
+label: 'Kaikki tapahtumat -linkki'
+description: "Lisää likki tapahtumat.hel.fi -sivulle. Voit halutessasi tehdä tapahtumakalenterissa haluamasi tapahtumien rajauksen ja kopioida sivun URL-osoitteen.\r\nLisää myös teksti linkille, esimerkiksi. <i>Katso kaikki tapahtumat</i>"
+default_value:
+  -
+    title: 'Katso kaikki tapahtumat'
diff --git a/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_events.yml b/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_events.yml
new file mode 100644
index 0000000000..65cac6a6ed
--- /dev/null
+++ b/conf/cmi/language/fi/field.field.paragraph.curated_event_list.field_events.yml
@@ -0,0 +1,2 @@
+label: Tapahtumat
+description: "Valitse tapahtumat, jotka näytetään listassa. Voit hakea tapahtumaa sen nimellä <i>tai</i> tapahtuman ID:llä.\r\n<br><br>\r\nLöydät tapahtuman ID:n tapahtumat.hel.fi-sivun osoitteesta: esimerkiksi osoitteessa <a>https://tapahtumat.hel.fi/fi/events/helsinki:agiy4m4ida</a> kohta <b>helsinki:agiy4m4ida</b> on tapahtuman ID.\r\n<br><br>\r\nSivulla näytetään kolme ylintä tapahtumaa. Voit järjestää tapahtumia raahaamalla. Vanhentuneet tapahtumat poistuvat sivulta automaattisesti."
diff --git a/conf/cmi/language/fi/paragraphs.paragraphs_type.curated_event_list.yml b/conf/cmi/language/fi/paragraphs.paragraphs_type.curated_event_list.yml
new file mode 100644
index 0000000000..7d8f759d86
--- /dev/null
+++ b/conf/cmi/language/fi/paragraphs.paragraphs_type.curated_event_list.yml
@@ -0,0 +1,2 @@
+label: 'Kuratoitu tapahtumalista'
+description: 'Manuaalisesti ylläpidettävä tapahtumalista tapahtumille Linked Events -rajapinnasta.'
diff --git a/conf/cmi/language/sv/webform.webform.liikunta_suunnistuskartta_avustu.yml b/conf/cmi/language/sv/webform.webform.liikunta_suunnistuskartta_avustu.yml
index b77a129bba..6b16f2a791 100644
--- a/conf/cmi/language/sv/webform.webform.liikunta_suunnistuskartta_avustu.yml
+++ b/conf/cmi/language/sv/webform.webform.liikunta_suunnistuskartta_avustu.yml
@@ -77,7 +77,7 @@ elements: |
     '#markup': |-
       <p>Alla bilagor som anges nedan m&aring;ste l&auml;mnas in f&ouml;r behandling av ans&ouml;kan om underst&ouml;d. Ans&ouml;kan om underst&ouml;d kan avsl&aring;s om bilagorna inte har l&auml;mnats in. Om n&aring;gon av bilagorna saknas, meddela oss om det i punkten Ytterligare information om bilagor i ans&ouml;kan.</p>
       <h4>Erforderliga bilagor</h4>
-      <p>F&ouml;r behandling av ans&ouml;kan om underst&ouml;d beh&ouml;vs styrkta bilagor fr&aring;n den f&ouml;reg&aring;ende r&auml;kenskapsperioden som samfundet har godk&auml;nt och undertecknat vid sitt m&ouml;te samt bilagor f&ouml;r det verksamhets&aring;r f&ouml;r vilket underst&ouml;det ans&ouml;ks. Bilagorna fr&aring;n den f&ouml;reg&aring;ende r&auml;kenskapsperioden &auml;r: bokslut, verksamhetsber&auml;ttelse, revisionsber&auml;ttelse och protokoll fr&aring;n &aring;rsst&auml;mman. Bilagorna f&ouml;r det &aring;r f&ouml;r vilket underst&ouml;det ans&ouml;ks &auml;r: budget och verksamhetsplan.</p>
+      <p>Fakturorna och kvittona över kostnaderna för framställning av orienteringskartor ska lämnas endast separat på begäran.</p>
       <h4>Inl&auml;mning av flera bilagor i en fil</h4>
       <p>Om du vill kan du l&auml;mna in flera bilagor i en fil i punkten Bokslut eller budget. Ange i detta fall vid andra bilagor att &rdquo;Bilagan har l&auml;mnats in som en fil eller i samband med en annan ans&ouml;kan&rdquo;.</p>
       <h4>Bilagor som tidigare l&auml;mnats in till Helsingfors stad</h4>
diff --git a/conf/cmi/paragraphs.paragraphs_type.curated_event_list.yml b/conf/cmi/paragraphs.paragraphs_type.curated_event_list.yml
new file mode 100644
index 0000000000..b729b022a5
--- /dev/null
+++ b/conf/cmi/paragraphs.paragraphs_type.curated_event_list.yml
@@ -0,0 +1,12 @@
+uuid: 5b0c689e-1733-47ff-ba7c-63923e4f2116
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: OdlftsJm7cyT434X7pj43aSTgKo7t5f7eYxG3ShBimY
+id: curated_event_list
+label: 'Curated event list'
+icon_uuid: null
+icon_default: null
+description: 'Event list with curated event picks loaded from Linked Events API.'
+behavior_plugins: {  }
diff --git a/conf/cmi/raven.settings.yml b/conf/cmi/raven.settings.yml
index 983d704b24..d2afac6392 100644
--- a/conf/cmi/raven.settings.yml
+++ b/conf/cmi/raven.settings.yml
@@ -4,14 +4,14 @@ client_key: ''
 environment: ''
 release: ''
 log_levels:
-  1: 1
-  2: 2
-  3: 3
-  4: 4
-  5: 0
-  6: 0
-  7: 0
-  8: 0
+  emergency: true
+  alert: true
+  critical: true
+  error: true
+  warning: false
+  notice: false
+  info: false
+  debug: false
 stack: true
 timeout: 2.0
 message_limit: 2048
diff --git a/conf/cmi/responsive_image.styles.unit_contact_card.yml b/conf/cmi/responsive_image.styles.unit_contact_card.yml
index 3893c27faa..3b41081f10 100644
--- a/conf/cmi/responsive_image.styles.unit_contact_card.yml
+++ b/conf/cmi/responsive_image.styles.unit_contact_card.yml
@@ -3,72 +3,72 @@ langcode: en
 status: true
 dependencies:
   config:
-    - image.style.1.5_1120w_746h_LQ
-    - image.style.1.5_1200w_800h_LQ
-    - image.style.1.5_1298w_866h_LQ
-    - image.style.1.5_1470w_980h_LQ
-    - image.style.1.5_1854w_1236h_LQ
-    - image.style.1.5_560w_373h
-    - image.style.1.5_600w_400h
-    - image.style.1.5_649w_433h
-    - image.style.1.5_735w_490h
-    - image.style.1.5_927w_618h
+    - image.style.1.5_1022w_682h_LQ
+    - image.style.1.5_217w_145h
+    - image.style.1.5_264w_176h
+    - image.style.1.5_341w_227h
+    - image.style.1.5_378w_252h
+    - image.style.1.5_434w_290h_LQ
+    - image.style.1.5_511w_341h
+    - image.style.1.5_528w_352h_LQ
+    - image.style.1.5_682w_454h_LQ
+    - image.style.1.5_756w_504h_LQ
   module:
     - helfi_image_styles
 _core:
-  default_config_hash: j4r0g0EtcwDoFwxEuB3RGVktSuN6LWThnZBfw2SpG6g
+  default_config_hash: VnnwBYRxRNKSPg5iTbuRmMLcv0ZtU6Tjd4crcbDTeCs
 id: unit_contact_card
 label: 'Unit Contact Card'
 image_style_mappings:
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_649w_433h
+    image_mapping: 1.5_378w_252h
     breakpoint_id: helfi_image_styles.xl
     multiplier: 1x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_1298w_866h_LQ
+    image_mapping: 1.5_756w_504h_LQ
     breakpoint_id: helfi_image_styles.xl
     multiplier: 2x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_600w_400h
+    image_mapping: 1.5_341w_227h
     breakpoint_id: helfi_image_styles.l
     multiplier: 1x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_1200w_800h_LQ
+    image_mapping: 1.5_682w_454h_LQ
     breakpoint_id: helfi_image_styles.l
     multiplier: 2x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_927w_618h
+    image_mapping: 1.5_264w_176h
     breakpoint_id: helfi_image_styles.m
     multiplier: 1x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_1854w_1236h_LQ
+    image_mapping: 1.5_528w_352h_LQ
     breakpoint_id: helfi_image_styles.m
     multiplier: 2x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_735w_490h
+    image_mapping: 1.5_217w_145h
     breakpoint_id: helfi_image_styles.s
     multiplier: 1x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_1470w_980h_LQ
+    image_mapping: 1.5_434w_290h_LQ
     breakpoint_id: helfi_image_styles.s
     multiplier: 2x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_560w_373h
+    image_mapping: 1.5_511w_341h
     breakpoint_id: helfi_image_styles.xs
     multiplier: 1x
   -
     image_mapping_type: image_style
-    image_mapping: 1.5_1120w_746h_LQ
+    image_mapping: 1.5_1022w_682h_LQ
     breakpoint_id: helfi_image_styles.xs
     multiplier: 2x
 breakpoint_group: helfi_image_styles
-fallback_image_style: 1.5_735w_490h
+fallback_image_style: 1.5_378w_252h
diff --git a/conf/cmi/user.role.ad_user.yml b/conf/cmi/user.role.ad_user.yml
index d1c3ef4d7b..89763b05b0 100644
--- a/conf/cmi/user.role.ad_user.yml
+++ b/conf/cmi/user.role.ad_user.yml
@@ -6,6 +6,7 @@ dependencies:
     - taxonomy.vocabulary.news_tags
   module:
     - file
+    - raven
     - taxonomy
 id: ad_user
 label: 'AD User'
@@ -14,3 +15,4 @@ is_admin: null
 permissions:
   - 'delete own files'
   - 'edit terms in news_tags'
+  - 'send performance traces to sentry'
diff --git a/conf/cmi/user.role.admin.yml b/conf/cmi/user.role.admin.yml
index c3ee3c3409..601310a188 100644
--- a/conf/cmi/user.role.admin.yml
+++ b/conf/cmi/user.role.admin.yml
@@ -56,6 +56,7 @@ dependencies:
     - path
     - pathauto
     - publication_date
+    - raven
     - redirect
     - responsive_image
     - role_delegation
@@ -283,6 +284,7 @@ permissions:
   - 'revert service revisions'
   - 'schedule publishing of nodes'
   - 'select account cancellation method'
+  - 'send performance traces to sentry'
   - 'set announcement published on date'
   - 'set landing_page published on date'
   - 'set page published on date'
diff --git a/conf/cmi/user.role.anonymous.yml b/conf/cmi/user.role.anonymous.yml
index 3aa3993dde..60e2693019 100644
--- a/conf/cmi/user.role.anonymous.yml
+++ b/conf/cmi/user.role.anonymous.yml
@@ -8,16 +8,19 @@ dependencies:
     - helfi_api_base
     - helfi_tpr
     - media
+    - raven
     - system
 _core:
   default_config_hash: EDyVdaROG6pYzyEct43c01Wq4gpATszrk-qR6gqnQ84
 id: anonymous
-label: 'Anonyymi käyttäjä'
+label: 'Anonymous user'
 weight: -10
 is_admin: false
 permissions:
   - 'access content'
   - 'display eu cookie compliance popup'
+  - 'send javascript errors to sentry'
+  - 'send performance traces to sentry'
   - 'view helfi_announcements external entity'
   - 'view helfi_news external entity'
   - 'view helfi_news_groups external entity'
diff --git a/conf/cmi/user.role.authenticated.yml b/conf/cmi/user.role.authenticated.yml
index ecda6e3ca1..d1d55248c8 100644
--- a/conf/cmi/user.role.authenticated.yml
+++ b/conf/cmi/user.role.authenticated.yml
@@ -16,11 +16,13 @@ dependencies:
     - helfi_tpr
     - media
     - node
+    - paragraphs
+    - raven
     - system
 _core:
   default_config_hash: 83Nuup-6oYkkdAsvg3nrR2pBOgtTXEV1JrzpCCLkYLM
 id: authenticated
-label: 'Sisäänkirjautunut käyttäjä'
+label: 'Authenticated user'
 weight: -9
 is_admin: false
 permissions:
@@ -29,6 +31,8 @@ permissions:
   - 'delete own files'
   - 'display eu cookie compliance popup'
   - 'edit own address content'
+  - 'send javascript errors to sentry'
+  - 'send performance traces to sentry'
   - 'use text format full_html'
   - 'use text format minimal'
   - 'use text format webform_default'
@@ -42,3 +46,4 @@ permissions:
   - 'view remote entities'
   - 'view tpr_service'
   - 'view tpr_unit'
+  - 'view unpublished paragraphs'
diff --git a/conf/cmi/user.role.content_producer.yml b/conf/cmi/user.role.content_producer.yml
index 8f35351246..c674e78fd1 100644
--- a/conf/cmi/user.role.content_producer.yml
+++ b/conf/cmi/user.role.content_producer.yml
@@ -35,6 +35,7 @@ dependencies:
     - path
     - pathauto
     - publication_date
+    - raven
     - scheduler
     - system
     - taxonomy
@@ -125,6 +126,7 @@ permissions:
   - 'revert page revisions'
   - 'revert service revisions'
   - 'schedule publishing of nodes'
+  - 'send performance traces to sentry'
   - 'set announcement published on date'
   - 'set landing_page published on date'
   - 'set page published on date'
diff --git a/conf/cmi/user.role.content_producer_industry.yml b/conf/cmi/user.role.content_producer_industry.yml
index 5e7d0b7534..09c3a0656a 100644
--- a/conf/cmi/user.role.content_producer_industry.yml
+++ b/conf/cmi/user.role.content_producer_industry.yml
@@ -18,6 +18,7 @@ dependencies:
     - override_node_options
     - paragraphs
     - path
+    - raven
     - scheduler
     - system
     - taxonomy
@@ -51,6 +52,7 @@ permissions:
   - 'override service published option'
   - 'revert service revisions'
   - 'schedule publishing of nodes'
+  - 'send performance traces to sentry'
   - 'translate editable entities'
   - 'translate interface'
   - 'update media'
diff --git a/conf/cmi/user.role.editor.yml b/conf/cmi/user.role.editor.yml
index 603f3c5a78..22a63ffb9f 100644
--- a/conf/cmi/user.role.editor.yml
+++ b/conf/cmi/user.role.editor.yml
@@ -32,6 +32,7 @@ dependencies:
     - paragraphs_library
     - path
     - publication_date
+    - raven
     - redirect
     - scheduler
     - system
@@ -132,6 +133,7 @@ permissions:
   - 'revert news_item revisions'
   - 'revert page revisions'
   - 'schedule publishing of nodes'
+  - 'send performance traces to sentry'
   - 'set announcement published on date'
   - 'set landing_page published on date'
   - 'set news_item published on date'
diff --git a/conf/cmi/user.role.grants_admin.yml b/conf/cmi/user.role.grants_admin.yml
index 715c5b5df6..11293a7ac7 100644
--- a/conf/cmi/user.role.grants_admin.yml
+++ b/conf/cmi/user.role.grants_admin.yml
@@ -44,6 +44,7 @@ dependencies:
     - path
     - pathauto
     - publication_date
+    - raven
     - role_delegation
     - scheduler
     - system
@@ -214,13 +215,13 @@ permissions:
   - 'revert service revisions'
   - 'schedule publishing of nodes'
   - 'select account cancellation method'
+  - 'send performance traces to sentry'
   - 'set announcement published on date'
   - 'set landing_page published on date'
   - 'set news_item published on date'
   - 'set page published on date'
   - 'translate announcement node'
   - 'translate any webform'
-  - 'translate article node'
   - 'translate avustuslaji taxonomy_term'
   - 'translate block_content'
   - 'translate configuration'
diff --git a/conf/cmi/user.role.grants_producer.yml b/conf/cmi/user.role.grants_producer.yml
index fe781261f6..9f11962e68 100644
--- a/conf/cmi/user.role.grants_producer.yml
+++ b/conf/cmi/user.role.grants_producer.yml
@@ -3,15 +3,29 @@ langcode: en
 status: true
 dependencies:
   config:
+    - media.type.file
+    - media.type.image
+    - media.type.remote_video
     - node.type.landing_page
     - node.type.page
     - node.type.service
+    - taxonomy.vocabulary.avustuslaji
+    - taxonomy.vocabulary.keywords
+    - taxonomy.vocabulary.news_tags
+    - taxonomy.vocabulary.target_group
+    - taxonomy.vocabulary.ukk_kategoriat
+    - taxonomy.vocabulary.unit_type
   module:
+    - block_content
+    - content_translation
     - file
     - locale
     - media
+    - menu_link_content
     - path
+    - raven
     - system
+    - taxonomy
     - toolbar
     - view_unpublished
     - webform
@@ -28,8 +42,8 @@ permissions:
   - 'delete own files'
   - 'edit any webform'
   - 'edit terms in news_tags'
+  - 'send performance traces to sentry'
   - 'translate any webform'
-  - 'translate article node'
   - 'translate avustuslaji taxonomy_term'
   - 'translate block_content'
   - 'translate editable entities'
diff --git a/conf/cmi/user.role.grants_producer_industry.yml b/conf/cmi/user.role.grants_producer_industry.yml
index ad77327c2f..bae9d5d196 100644
--- a/conf/cmi/user.role.grants_producer_industry.yml
+++ b/conf/cmi/user.role.grants_producer_industry.yml
@@ -11,6 +11,7 @@ dependencies:
     - locale
     - media
     - path
+    - raven
     - system
     - toolbar
     - view_unpublished
@@ -26,6 +27,7 @@ permissions:
   - 'create url aliases'
   - 'delete own files'
   - 'edit any webform'
+  - 'send performance traces to sentry'
   - 'translate interface'
   - 'view any unpublished landing_page content'
   - 'view any unpublished page content'
diff --git a/conf/cmi/user.role.helsinkiprofiili.yml b/conf/cmi/user.role.helsinkiprofiili.yml
index 315cafb3c8..cb6fb13043 100644
--- a/conf/cmi/user.role.helsinkiprofiili.yml
+++ b/conf/cmi/user.role.helsinkiprofiili.yml
@@ -7,6 +7,7 @@ dependencies:
     - grants_mandate
     - grants_oma_asiointi
     - grants_profile
+    - raven
     - webform
 id: helsinkiprofiili
 label: HelsinkiProfiili
@@ -18,5 +19,6 @@ permissions:
   - 'delete own files'
   - 'edit own webform submission'
   - 'get mandates from dvv'
+  - 'send performance traces to sentry'
   - 'view own grants_profile'
   - 'view own webform submission'
diff --git a/conf/cmi/user.role.json_api_user.yml b/conf/cmi/user.role.json_api_user.yml
index 9871557ef6..7ee500c140 100644
--- a/conf/cmi/user.role.json_api_user.yml
+++ b/conf/cmi/user.role.json_api_user.yml
@@ -4,6 +4,7 @@ status: true
 dependencies:
   module:
     - file
+    - raven
     - webform
 id: json_api_user
 label: 'JSON API User'
@@ -12,3 +13,4 @@ is_admin: null
 permissions:
   - 'access any webform configuration'
   - 'delete own files'
+  - 'send performance traces to sentry'
diff --git a/conf/cmi/user.role.performance_test_user.yml b/conf/cmi/user.role.performance_test_user.yml
index b19cd6f36e..bc331adc52 100644
--- a/conf/cmi/user.role.performance_test_user.yml
+++ b/conf/cmi/user.role.performance_test_user.yml
@@ -4,9 +4,11 @@ status: true
 dependencies:
   module:
     - file
+    - raven
 id: performance_test_user
 label: 'Performance test user'
 weight: 8
 is_admin: null
 permissions:
   - 'delete own files'
+  - 'send performance traces to sentry'
diff --git a/conf/cmi/user.role.read_only.yml b/conf/cmi/user.role.read_only.yml
index dfdf13bb4b..bc79e76464 100644
--- a/conf/cmi/user.role.read_only.yml
+++ b/conf/cmi/user.role.read_only.yml
@@ -11,6 +11,7 @@ dependencies:
     - helfi_tpr
     - node
     - paragraphs
+    - raven
     - view_unpublished
 id: read_only
 label: 'Vain luku'
@@ -18,6 +19,7 @@ weight: -7
 is_admin: null
 permissions:
   - 'delete own files'
+  - 'send performance traces to sentry'
   - 'view any unpublished announcement content'
   - 'view any unpublished landing_page content'
   - 'view any unpublished page content'
diff --git a/conf/cmi/user.role.survey_editor.yml b/conf/cmi/user.role.survey_editor.yml
index 7ba1bc811e..87fcad06df 100644
--- a/conf/cmi/user.role.survey_editor.yml
+++ b/conf/cmi/user.role.survey_editor.yml
@@ -8,6 +8,7 @@ dependencies:
     - content_translation
     - node
     - publication_date
+    - raven
 _core:
   default_config_hash: CliaTgzCQcvNF9ot3u_EbHnydymXh8bvNgNFlSffj9s
 id: survey_editor
@@ -22,6 +23,7 @@ permissions:
   - 'edit any survey content'
   - 'edit own survey content'
   - 'revert survey revisions'
+  - 'send performance traces to sentry'
   - 'set survey published on date'
   - 'translate survey node'
   - 'view survey revisions'
diff --git a/conf/cmi/webform.webform.liikunta_suunnistuskartta_avustu.yml b/conf/cmi/webform.webform.liikunta_suunnistuskartta_avustu.yml
index 38e0fbcce9..72c30e2971 100644
--- a/conf/cmi/webform.webform.liikunta_suunnistuskartta_avustu.yml
+++ b/conf/cmi/webform.webform.liikunta_suunnistuskartta_avustu.yml
@@ -266,7 +266,7 @@ elements: |-
         '#markup': |-
           <p>Avustushakemuksen käsittelyä varten tulee toimittaa kaikki alla luetellut liitteet. Avustushakemus voidaan hylätä, jos liitteitä ei ole toimitettu. Mikäli joku liitteistä puuttuu kerro siitä hakemuksen Lisäselvitys liitteistä -kohdassa.
           </p><h4>Vaaditut liitteet</h4>
-          <p>Avustushakemuksen k&auml;sittely&auml; varten tarvitaan vahvistettuja, yhteis&ouml;n kokouksessaan hyv&auml;ksymi&auml; ja allekirjoittamia, liitteit&auml; edelliselt&auml; p&auml;&auml;ttyneelt&auml; tilikaudelta sek&auml; liitteit&auml; sille toimintavuodelle, jolle avustusta haetaan. Edellist&auml; tilikautta koskevat liitteet ovat: tilinp&auml;&auml;t&ouml;s, toimintakertomus ja tilin- tai toiminnantarkastuskertomus sek&auml; vuosikokouksen p&ouml;yt&auml;kirja. Liitteet vuodelle, jolle avustusta haetaan ovat: talousarvio ja toimintasuunnitelma.</p>
+          <p>Suunnistuskarttojen valmistuskustannuksiin liittyvät laskut ja kuitit toimitetaan ainoastaan erikseen pyydettäessä.</p>
           <h4>Usean liitteen toimittaminen yhten&auml; tiedostona</h4>
           <p>Voit halutessasi toimittaa useampia liitteit&auml; yhten&auml; tiedostona Tilinp&auml;&auml;t&ouml;s tai talousarvio -liitekohdassa. Merkitse t&auml;ll&ouml;in muiden liiteotsikoiden kohdalla &rdquo;Liite on toimitettu yhten&auml; tiedostona tai toisen hakemuksen yhteydess&auml;&rdquo;.</p>
           <h4>Helsingin kaupungille aiemmin toimitetut liitteet</h4>
@@ -279,7 +279,7 @@ elements: |-
           <div class="hds-notification__label"><span>Liitteiden sisältöä ei voi tarkastella jälkikäteen</span></div>
 
           <div class="hds-notification__body"><p>Huomioithan, että et pysty avaamaan liitteitä sen jälkeen, kun olet liittänyt ne lomakkeelle. Näet liitteestä ainoastaan sen tiedostonimen.</p>
-          <p>Vaikka et voi tarkastella liitteiden sisältä jälkikäteen, lomakkeelle liitetyt liitteet lähtevät lomakkeen muiden tietojen mukana avustushakemuksen käsittelijälle.</p></div>
+          <p>Vaikka et voi tarkastella liitteiden sisältöä jälkikäteen, lomakkeelle liitetyt liitteet lähtevät lomakkeen muiden tietojen mukana avustushakemuksen käsittelijälle.</p></div>
           </div>
           </div>
       extra_info:
diff --git a/docker/openshift/crons/base.sh b/docker/openshift/crons/base.sh
deleted file mode 100644
index 1e4a42bd25..0000000000
--- a/docker/openshift/crons/base.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-echo "Starting cron: $(date)"
-
-# You can add any additional cron "daemons" here:
-#
-# exec "/crons/some-command.sh" &
-#
-# Example cron (docker/openshift/crons/some-command.sh):
-# @code
-# #!/bin/bash
-# while true
-# do
-#   drush some-command
-#   sleep 600
-# done
-# @endcode
-
-# Uncomment this to enable TPR migration cron
-exec "/crons/migrate-tpr.sh" &
-# Uncomment this to enable Varnish purge cron
-exec "/crons/purge-queue.sh" &
-# Uncomment this to enable automatic translation updates.
-exec "/crons/update-translations.sh" &
-# Uncomment this to enable content scheduler
-# exec "/crons/content-scheduler.sh" &
-exec "/crons/pubsub.sh" &
-
-while true
-do
-  echo "Running cron: $(date)\n"
-  drush cron
-  # Sleep for 10 minutes.
-  sleep 600
-done
diff --git a/docker/openshift/crons/migrate-hearings.sh b/docker/openshift/crons/migrate-hearings.sh
deleted file mode 100644
index 9cbea08544..0000000000
--- a/docker/openshift/crons/migrate-hearings.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-echo "Starting hearings migration: $(date)"
-
-while true
-do
-  drush mim helfi_hearings --reset-threshold 43200 --interval 1800
-  sleep 900
-done
diff --git a/docker/openshift/crons/pubsub.sh b/docker/openshift/crons/pubsub.sh
index c20c01a4ca..7589ed46fa 100644
--- a/docker/openshift/crons/pubsub.sh
+++ b/docker/openshift/crons/pubsub.sh
@@ -1,10 +1,15 @@
 #!/bin/bash
 
-#echo "Running PubSub daemon: $(date +'%Y-%m-%dT%H:%M:%S%:z')"
+if [ -z "$DRUPAL_PUBSUB_VAULT" ]; then
+  echo "PubSub is not configured, exiting."
+  exit 0
+fi
 
-#while true
-#do
+echo "Running PubSub daemon: $(date +'%Y-%m-%dT%H:%M:%S%:z')"
+
+while true
+do
   # PubSub process exists with success return code after
   # certain number of messages and should then be restarted.
-#  drush helfi:azure:pubsub-listen || exit 1
-#done
+  drush helfi:azure:pubsub-listen || exit 1
+done
diff --git a/e2e/package-lock.json b/e2e/package-lock.json
index 73356a29a2..5c07515962 100644
--- a/e2e/package-lock.json
+++ b/e2e/package-lock.json
@@ -10,7 +10,7 @@
       "license": "ISC",
       "devDependencies": {
         "@faker-js/faker": "^8.3.1",
-        "@playwright/test": "^1.41.2",
+        "@playwright/test": "^1.48.0",
         "@types/lodash.clonedeep": "^4.5.9",
         "@types/node": "^20.11.7",
         "dotenv": "^16.4.1",
@@ -34,18 +34,19 @@
       }
     },
     "node_modules/@playwright/test": {
-      "version": "1.41.2",
-      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.41.2.tgz",
-      "integrity": "sha512-qQB9h7KbibJzrDpkXkYvsmiDJK14FULCCZgEcoe2AvFAS64oCirWTwzTlAYEbKaRxWs5TFesE1Na6izMv3HfGg==",
+      "version": "1.48.0",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.0.tgz",
+      "integrity": "sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w==",
       "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "playwright": "1.41.2"
+        "playwright": "1.48.0"
       },
       "bin": {
         "playwright": "cli.js"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       }
     },
     "node_modules/@types/lodash": {
@@ -90,6 +91,7 @@
       "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
       "dev": true,
       "hasInstallScript": true,
+      "license": "MIT",
       "optional": true,
       "os": [
         "darwin"
@@ -105,33 +107,35 @@
       "dev": true
     },
     "node_modules/playwright": {
-      "version": "1.41.2",
-      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.41.2.tgz",
-      "integrity": "sha512-v0bOa6H2GJChDL8pAeLa/LZC4feoAMbSQm1/jF/ySsWWoaNItvrMP7GEkvEEFyCTUYKMxjQKaTSg5up7nR6/8A==",
+      "version": "1.48.0",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.0.tgz",
+      "integrity": "sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA==",
       "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "playwright-core": "1.41.2"
+        "playwright-core": "1.48.0"
       },
       "bin": {
         "playwright": "cli.js"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       },
       "optionalDependencies": {
         "fsevents": "2.3.2"
       }
     },
     "node_modules/playwright-core": {
-      "version": "1.41.2",
-      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.41.2.tgz",
-      "integrity": "sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==",
+      "version": "1.48.0",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.0.tgz",
+      "integrity": "sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==",
       "dev": true,
+      "license": "Apache-2.0",
       "bin": {
         "playwright-core": "cli.js"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       }
     },
     "node_modules/undici-types": {
diff --git a/e2e/package.json b/e2e/package.json
index 73004b3bb6..98ce4905cf 100644
--- a/e2e/package.json
+++ b/e2e/package.json
@@ -13,7 +13,7 @@
   "license": "ISC",
   "devDependencies": {
     "@faker-js/faker": "^8.3.1",
-    "@playwright/test": "^1.41.2",
+    "@playwright/test": "^1.48.0",
     "@types/lodash.clonedeep": "^4.5.9",
     "@types/node": "^20.11.7",
     "dotenv": "^16.4.1",
diff --git a/public/modules/custom/grants_admin_applications/src/Form/AtvFormBase.php b/public/modules/custom/grants_admin_applications/src/Form/AtvFormBase.php
index 30a0f35e80..75d6cbdae4 100644
--- a/public/modules/custom/grants_admin_applications/src/Form/AtvFormBase.php
+++ b/public/modules/custom/grants_admin_applications/src/Form/AtvFormBase.php
@@ -10,9 +10,9 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\grants_attachments\AttachmentFixerService;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\ApplicationGetterService;
 use Drupal\grants_handler\ApplicationHelpers;
-use Drupal\grants_handler\EventsService;
 use Drupal\grants_handler\Helpers;
 use Drupal\grants_handler\MessageService;
 use Drupal\helfi_atv\AtvDocument;
@@ -62,7 +62,7 @@ public static function create(ContainerInterface $container): self {
       $container->get('database'),
       $container->get('grants_handler.application_getter_service'),
       $container->get('http_client'),
-      $container->get('grants_handler.events_service'),
+      $container->get('grants_events.events_service'),
       $container->get('helfi_atv.atv_service'),
       $container->get('grants_handler.message_service'),
       $container->get('current_user'),
@@ -200,7 +200,27 @@ public function sendApplicationToIntegrations(AtvDocument $atvDoc, string $appli
         ->error('Application resending failed: @error', ['@error' => $e->getMessage()]);
       $this->messenger()
         ->addError($this->t('Application resending failed: @error', ['@error' => $e->getMessage()]));
+
+      \Sentry\captureException($e);
     }
   }
 
+  /**
+   * Handle exceptions.
+   *
+   * @param string $message
+   *   Log message prefix.
+   * @param \Throwable $e
+   *   The exception.
+   */
+  protected function handleException(string $message, \Throwable $e): void {
+    $uuid = Uuid::uuid4()->toString();
+    $this->messenger()
+      ->addError('Error has occurred and has been logged. ID: @uuid', ['@uuid' => $uuid]);
+    $this->logger(self::LOGGER_CHANNEL)->error(
+      "$message: @error, ID: @uuid",
+      ['@error' => $e->getMessage(), '@uuid' => $uuid]
+    );
+  }
+
 }
diff --git a/public/modules/custom/grants_admin_applications/src/Form/ResendApplicationsForm.php b/public/modules/custom/grants_admin_applications/src/Form/ResendApplicationsForm.php
index aaf6143b45..abe6d2b072 100644
--- a/public/modules/custom/grants_admin_applications/src/Form/ResendApplicationsForm.php
+++ b/public/modules/custom/grants_admin_applications/src/Form/ResendApplicationsForm.php
@@ -374,13 +374,7 @@ public function getStatus(array $form, FormStateInterface $formState): void {
       }
     }
     catch (\Exception $e) {
-      $uuid = Uuid::uuid4()->toString();
-      $this->messenger()
-        ->addError('Error has occured and has been logged. ID: @uuid', ['@uuid' => $uuid]);
-      $this->logger(self::LOGGER_CHANNEL)->error(
-        'Error: status check: @error, ID: @uuid',
-        ['@error' => $e->getMessage(), '@uuid' => $uuid]
-      );
+      $this->handleException("Error: status check", $e);
     }
   }
 
@@ -411,7 +405,7 @@ public function resendApplicationCallback(array $form, FormStateInterface $formS
       $formState->setRebuild();
     }
     catch (GuzzleException | \Exception $e) {
-      $this->handleException($e);
+      $this->handleException("Error: Admin application forms - Resend error", $e);
     }
   }
 
@@ -449,25 +443,6 @@ private function handleApplicationNotFound(string $applicationId, FormStateInter
     $formState->setRebuild();
   }
 
-  /**
-   * Handle exceptions.
-   *
-   * @param \Exception $e
-   *   The exception.
-   *
-   * @return void
-   *   Void.
-   */
-  private function handleException(\Exception $e): void {
-    $uuid = Uuid::uuid4()->toString();
-    $this->messenger()
-      ->addError('Error has occurred and has been logged. ID: @uuid', ['@uuid' => $uuid]);
-    $this->logger(self::LOGGER_CHANNEL)->error(
-      'Error: Admin application forms - Resend error: @error, ID: @uuid',
-      ['@error' => $e->getMessage(), '@uuid' => $uuid]
-    );
-  }
-
   /**
    * Ajax callback event.
    *
diff --git a/public/modules/custom/grants_admin_applications/src/Form/SubmittedApplicationsForm.php b/public/modules/custom/grants_admin_applications/src/Form/SubmittedApplicationsForm.php
index 9b61b295f9..44aa1ecd3e 100644
--- a/public/modules/custom/grants_admin_applications/src/Form/SubmittedApplicationsForm.php
+++ b/public/modules/custom/grants_admin_applications/src/Form/SubmittedApplicationsForm.php
@@ -9,7 +9,6 @@
 use Drupal\grants_handler\Helpers;
 use Drupal\helfi_atv\AtvDocument;
 use GuzzleHttp\Exception\GuzzleException;
-use Ramsey\Uuid\Uuid;
 use Symfony\Component\HttpFoundation\Request;
 
 /**
@@ -194,12 +193,7 @@ public function resendApplicationCallback(array $form, FormStateInterface $formS
       $this->sendApplicationToIntegrations($atvDoc, $transactionId);
     }
     catch (GuzzleException | \Exception $e) {
-      $uuid = Uuid::uuid4()->toString();
-      $this->messenger()->addError('Error has occured and has been logged. ID: @uuid', ['@uuid' => $uuid]);
-      $this->logger(self::LOGGER_CHANNEL)->error(
-        'Error: Admin application forms - Resend error: @error, ID: @uuid',
-        ['@error' => $e->getMessage(), '@uuid' => $uuid]
-      );
+      $this->handleException('Error: Admin application forms - Resend error', $e);
     }
   }
 
@@ -289,12 +283,7 @@ function (array $doc) {
       $formState->setRebuild();
     }
     catch (\Exception $e) {
-      $uuid = Uuid::uuid4()->toString();
-      $this->messenger()->addError('Error has occured and has been logged. ID: @uuid', ['@uuid' => $uuid]);
-      $this->logger(self::LOGGER_CHANNEL)->error(
-        'Error: status check: @error, ID: @uuid',
-        ['@error' => $e->getMessage(), '@uuid' => $uuid]
-      );
+      $this->handleException('Error: status check', $e);
     }
     catch (GuzzleException $e) {
     }
diff --git a/public/modules/custom/grants_attachments/grants_attachments.info.yml b/public/modules/custom/grants_attachments/grants_attachments.info.yml
index abda7bddc3..399ac80f5f 100644
--- a/public/modules/custom/grants_attachments/grants_attachments.info.yml
+++ b/public/modules/custom/grants_attachments/grants_attachments.info.yml
@@ -6,7 +6,7 @@ core_version_requirement: ^9 || ^10
 dependencies:
   - webform
   - grants_metadata
-  - grants_handler
+  - grants_events
 
 'interface translation project': grants_attachments
 'interface translation server pattern': modules/custom/grants_attachments/translations/%language.po
diff --git a/public/modules/custom/grants_attachments/grants_attachments.services.yml b/public/modules/custom/grants_attachments/grants_attachments.services.yml
index e4c6f27dc7..b86c338f44 100644
--- a/public/modules/custom/grants_attachments/grants_attachments.services.yml
+++ b/public/modules/custom/grants_attachments/grants_attachments.services.yml
@@ -26,11 +26,12 @@ services:
       '@helfi_atv.atv_service',
       '@grants_profile.service',
       '@grants_metadata.atv_schema',
-      '@grants_handler.events_service',
       '@helfi_audit_log.audit_log',
       '@entity_type.manager',
       '@grants_metadata.application_data_service'
     ]
+    calls:
+      - [ setEventsService, [ '@?grants_events.events_service' ] ]
 
   grants_attachments.attachment_fixer_service:
     class: Drupal\grants_attachments\AttachmentFixerService
diff --git a/public/modules/custom/grants_attachments/src/AttachmentHandler.php b/public/modules/custom/grants_attachments/src/AttachmentHandler.php
index 63f8319e17..5730e689e3 100644
--- a/public/modules/custom/grants_attachments/src/AttachmentHandler.php
+++ b/public/modules/custom/grants_attachments/src/AttachmentHandler.php
@@ -12,10 +12,10 @@
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\TempStore\TempStoreException;
 use Drupal\grants_attachments\Plugin\WebformElement\GrantsAttachments;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\ApplicationHelpers;
 use Drupal\grants_handler\DebuggableTrait;
 use Drupal\grants_handler\EventException;
-use Drupal\grants_handler\EventsService;
 use Drupal\grants_handler\Helpers;
 use Drupal\grants_metadata\ApplicationDataService;
 use Drupal\grants_metadata\AtvSchema;
@@ -67,6 +67,13 @@ class AttachmentHandler {
    */
   protected EntityStorageInterface $fileStorage;
 
+  /**
+   * Events service.
+   *
+   * @var \Drupal\grants_events\EventsService
+   */
+  protected EventsService $eventService;
+
   /**
    * Constructs an AttachmentHandler object.
    *
@@ -82,8 +89,6 @@ class AttachmentHandler {
    *   Profile service.
    * @param \Drupal\grants_metadata\AtvSchema $atvSchema
    *   ATV schema.
-   * @param \Drupal\grants_handler\EventsService $eventService
-   *   Events service.
    * @param \Drupal\helfi_audit_log\AuditLogService $auditLogService
    *   Audit log mandate errors.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entityTypeManager
@@ -101,7 +106,6 @@ public function __construct(
     protected AtvService $atvService,
     protected GrantsProfileService $grantsProfileService,
     protected AtvSchema $atvSchema,
-    protected EventsService $eventService,
     protected AuditLogService $auditLogService,
     EntityTypeManagerInterface $entityTypeManager,
     protected ApplicationDataService $applicationDataService,
@@ -113,6 +117,16 @@ public function __construct(
     $this->setDebug(NULL);
   }
 
+  /**
+   * Set the getter service.
+   *
+   * @param \Drupal\grants_events\EventsService $eventsService
+   *   Events service.
+   */
+  public function setEventsService(EventsService $eventsService): void {
+    $this->eventService = $eventsService;
+  }
+
   /**
    * Get file fields.
    *
diff --git a/public/modules/custom/grants_attachments/src/Controller/GrantsAttachmentsController.php b/public/modules/custom/grants_attachments/src/Controller/GrantsAttachmentsController.php
index c5a4ff4910..65d79e1993 100644
--- a/public/modules/custom/grants_attachments/src/Controller/GrantsAttachmentsController.php
+++ b/public/modules/custom/grants_attachments/src/Controller/GrantsAttachmentsController.php
@@ -7,10 +7,10 @@
 use Drupal\Core\Messenger\MessengerTrait;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\grants_attachments\Plugin\WebformElement\GrantsAttachments;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\ApplicationGetterService;
 use Drupal\grants_handler\ApplicationStatusService;
 use Drupal\grants_handler\ApplicationUploaderService;
-use Drupal\grants_handler\EventsService;
 use Drupal\grants_metadata\ApplicationDataService;
 use Drupal\helfi_atv\AtvService;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -34,7 +34,7 @@ class GrantsAttachmentsController extends ControllerBase {
    *   The helfi_atv service.
    * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
    *   Drupal requests.
-   * @param \Drupal\grants_handler\EventsService $eventsService
+   * @param \Drupal\grants_events\EventsService $eventsService
    *   Use submission events productively.
    * @param \Drupal\grants_handler\ApplicationStatusService $applicationStatusService
    *   Application status service.
@@ -62,7 +62,7 @@ public static function create(ContainerInterface $container): static {
     return new static(
       $container->get('helfi_atv.atv_service'),
       $container->get('request_stack'),
-      $container->get('grants_handler.events_service'),
+      $container->get('grants_events.events_service'),
       $container->get('grants_handler.application_status_service'),
       $container->get('grants_metadata.application_data_service'),
       $container->get('grants_handler.application_getter_service'),
diff --git a/public/modules/custom/grants_attachments/src/Plugin/WebformElement/GrantsAttachments.php b/public/modules/custom/grants_attachments/src/Plugin/WebformElement/GrantsAttachments.php
index ea2359470f..0511df78b9 100644
--- a/public/modules/custom/grants_attachments/src/Plugin/WebformElement/GrantsAttachments.php
+++ b/public/modules/custom/grants_attachments/src/Plugin/WebformElement/GrantsAttachments.php
@@ -5,7 +5,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\grants_attachments\AttachmentHandler;
 use Drupal\grants_attachments\Element\GrantsAttachments as ElementGrantsAttachments;
-use Drupal\grants_handler\EventsService;
+use Drupal\grants_events\EventsService;
 use Drupal\webform\Plugin\WebformElement\WebformCompositeBase;
 use Drupal\webform\WebformSubmissionInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -79,7 +79,7 @@ final class GrantsAttachments extends WebformCompositeBase {
   /**
    * Events service.
    *
-   * @var \Drupal\grants_handler\EventsService
+   * @var \Drupal\grants_events\EventsService
    */
   protected EventsService $eventsService;
 
@@ -93,7 +93,7 @@ public static function create(
     $plugin_definition,
   ): GrantsAttachments {
     $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition);
-    $instance->eventsService = $container->get('grants_handler.events_service');
+    $instance->eventsService = $container->get('grants_events.events_service');
     return $instance;
   }
 
diff --git a/public/modules/custom/grants_events/grants_events.info.yml b/public/modules/custom/grants_events/grants_events.info.yml
new file mode 100644
index 0000000000..e88ed228ff
--- /dev/null
+++ b/public/modules/custom/grants_events/grants_events.info.yml
@@ -0,0 +1,5 @@
+name: 'grants_events'
+type: module
+description: 'Handle application events'
+package: helfi
+core_version_requirement: ^10 || ^11
diff --git a/public/modules/custom/grants_events/grants_events.module b/public/modules/custom/grants_events/grants_events.module
new file mode 100644
index 0000000000..f55bd612b0
--- /dev/null
+++ b/public/modules/custom/grants_events/grants_events.module
@@ -0,0 +1,6 @@
+<?php
+
+/**
+ * @file
+ * Primary module hooks for grants_events module.
+ */
diff --git a/public/modules/custom/grants_events/grants_events.services.yml b/public/modules/custom/grants_events/grants_events.services.yml
new file mode 100644
index 0000000000..64915d6bca
--- /dev/null
+++ b/public/modules/custom/grants_events/grants_events.services.yml
@@ -0,0 +1,4 @@
+services:
+  grants_events.events_service:
+    class: Drupal\grants_events\EventsService
+    arguments: [ '@http_client', '@logger.factory' ]
diff --git a/public/modules/custom/grants_events/src/EventException.php b/public/modules/custom/grants_events/src/EventException.php
new file mode 100644
index 0000000000..9aedeb3a43
--- /dev/null
+++ b/public/modules/custom/grants_events/src/EventException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Drupal\grants_events;
+
+/**
+ * Exception for Event exceptions.
+ */
+class EventException extends \Exception {
+
+}
diff --git a/public/modules/custom/grants_events/src/EventsService.php b/public/modules/custom/grants_events/src/EventsService.php
new file mode 100644
index 0000000000..8e88fd2f7d
--- /dev/null
+++ b/public/modules/custom/grants_events/src/EventsService.php
@@ -0,0 +1,248 @@
+<?php
+
+namespace Drupal\grants_events;
+
+use Drupal\Component\Serialization\Json;
+use Drupal\Core\Logger\LoggerChannelFactoryInterface;
+use Drupal\Core\Logger\LoggerChannelInterface;
+use Drupal\grants_handler\DebuggableTrait;
+use Drupal\grants_metadata\AtvSchema;
+use GuzzleHttp\Client;
+use GuzzleHttp\Exception\GuzzleException;
+use Ramsey\Uuid\Uuid;
+
+/**
+ * Send event updates to documents via integration.
+ */
+class EventsService {
+
+  use DebuggableTrait;
+
+  /**
+   * The HTTP client.
+   *
+   * @var \GuzzleHttp\Client
+   */
+  protected Client $httpClient;
+
+  /**
+   * Logger.
+   *
+   * @var \Drupal\Core\Logger\LoggerChannelInterface|\Drupal\Core\Logger\LoggerChannelFactoryInterface
+   */
+  protected LoggerChannelInterface|LoggerChannelFactoryInterface $logger;
+
+  /**
+   * API endopoint.
+   *
+   * @var string
+   */
+  protected string $endpoint;
+
+  /**
+   * Api username.
+   *
+   * @var string
+   */
+  protected string $username;
+
+  /**
+   * Api password.
+   *
+   * @var string
+   */
+  protected string $password;
+
+  /**
+   * Event types that are supported.
+   *
+   * @var array|string[]
+   */
+  public array $eventTypes = [
+    'AVUSTUS2_MSG_OK' => 'AVUSTUS2_MSG_OK',
+    'AVUSTUS2_ATT_OK' => 'AVUSTUS2_ATT_OK',
+    'STATUS_UPDATE' => 'STATUS_UPDATE',
+    'MESSAGE_AVUS2' => 'MESSAGE_AVUS2',
+    'MESSAGE_APP' => 'MESSAGE_APP',
+    'MESSAGE_READ' => 'MESSAGE_READ',
+    'MESSAGE_RESEND' => 'MESSAGE_RESEND',
+    'HANDLER_ATT_OK' => 'HANDLER_ATT_OK',
+    'HANDLER_ATT_DELETE' => 'HANDLER_ATT_DELETE',
+    'HANDLER_RESEND_APP' => 'HANDLER_RESEND_APP',
+    'HANDLER_APP_COPIED' => 'HANDLER_APP_COPIED',
+    'INTEGRATION_INFO_ATT_OK' => 'INTEGRATION_INFO_ATT_OK',
+    'INTEGRATION_INFO_APP_OK' => 'INTEGRATION_INFO_APP_OK',
+    'EVENT_INFO' => 'EVENT_INFO',
+    'HANDLER_ATT_DELETED' => 'HANDLER_ATT_DELETED',
+    'INTEGRATION_ERROR_AVUS2' => 'INTEGRATION_ERROR_AVUS2',
+    'INTEGRATION_ERROR_ATV_ATT' => 'INTEGRATION_ERROR_ATV_ATT',
+  ];
+
+  /**
+   * Constructs a MessageService object.
+   *
+   * @param \GuzzleHttp\Client $http_client
+   *   Client to post data.
+   * @param \Drupal\Core\Logger\LoggerChannelFactory $loggerFactory
+   *   Log things.
+   */
+  public function __construct(
+    Client $http_client,
+    LoggerChannelFactoryInterface $loggerFactory,
+  ) {
+    $this->httpClient = $http_client;
+    $this->logger = $loggerFactory->get('grants_handler_events_service');
+
+    $this->endpoint = getenv('AVUSTUS2_EVENT_ENDPOINT');
+    $this->username = getenv('AVUSTUS2_USERNAME');
+    $this->password = getenv('AVUSTUS2_PASSWORD');
+
+    $this->setDebug(NULL);
+
+  }
+
+  /**
+   * Get event types.
+   *
+   * @return array|string[]
+   *   Event types.
+   */
+  public function getEventTypes(): array {
+    return $this->eventTypes;
+  }
+
+  /**
+   * Log event to document via event integration.
+   *
+   * @param string $applicationNumber
+   *   Application to be logged.
+   * @param string $eventType
+   *   Type of event, must be configured in this class as active one.
+   * @param string $eventDescription
+   *   Free message to be added.
+   * @param string $eventTarget
+   *   Target ID for event.
+   * @param array $eventData
+   *   If we have already built-up event data, use this.
+   *
+   * @return array|null
+   *   EventID if success, otherways NULL
+   *
+   * @throws \Drupal\grants_events\EventException
+   */
+  public function logEvent(
+    string $applicationNumber,
+    string $eventType,
+    string $eventDescription,
+    string $eventTarget,
+    array $eventData = [],
+  ): ?array {
+
+    if (empty($eventData)) {
+      $eventData = self::getEventData($eventType, $applicationNumber, $eventDescription, $eventTarget);
+    }
+
+    $eventDataJson = Json::encode($eventData);
+
+    if (TRUE === $this->debug) {
+      $this->logger->debug(
+        'Event ID: %eventId, JSON:  %json',
+        [
+          '%eventId' => $eventData['eventID'],
+          '%json' => $eventDataJson,
+        ]);
+    }
+
+    try {
+
+      $res = $this->httpClient->post($this->endpoint, [
+        'auth' => [$this->username, $this->password, "Basic"],
+        'body' => $eventDataJson,
+      ]);
+
+      if ($res->getStatusCode() == 200) {
+        $this->logger->info('Event logged: %eventId, message sent.', ['%eventId' => $eventData['eventID']]);
+        return $eventData;
+      }
+
+    }
+    catch (\Exception $e) {
+      throw new EventException($e->getMessage());
+    }
+    catch (GuzzleException $e) {
+      throw new EventException($e->getMessage());
+    }
+
+    return NULL;
+  }
+
+  /**
+   * Filter events by given key.
+   *
+   * @param array $events
+   *   Events to be filtered.
+   * @param string $typeKey
+   *   Event type wanted.
+   *
+   * @return array
+   *   Filtered events.
+   */
+  public function filterEvents(array $events, string $typeKey): array {
+    $messageEvents = array_filter($events, function ($event) use ($typeKey) {
+      if ($event['eventType'] == $this->eventTypes[$typeKey]) {
+        return TRUE;
+      }
+      return FALSE;
+    });
+
+    return [
+      'events' => $messageEvents,
+      'event_targets' => array_column($messageEvents, 'eventTarget'),
+      'event_ids' => array_column($messageEvents, 'eventID'),
+    ];
+  }
+
+  /**
+   * Build event object/array from given data.
+   *
+   * @param string $eventType
+   *   Type of event, must be in self::$eventTypes.
+   * @param string $applicationNumber
+   *   Application number for event.
+   * @param string $eventDescription
+   *   Event description.
+   * @param string $eventTarget
+   *   Eent target.
+   *
+   * @return array
+   *   Event data in array.
+   *
+   * @throws \Drupal\grants_events\EventException
+   */
+  public function getEventData(string $eventType, string $applicationNumber, string $eventDescription, string $eventTarget): array {
+    $eventData = [];
+
+    if (!in_array($eventType, $this->eventTypes)) {
+      throw new EventException('Not valid event type: ' . $eventType);
+    }
+    else {
+      $eventData['eventType'] = $eventType;
+    }
+
+    $eventData['eventID'] = Uuid::uuid4()->toString();
+    $eventData['caseId'] = $applicationNumber;
+    $eventData['eventDescription'] = AtvSchema::sanitizeInput($eventDescription);
+    $eventData['eventTarget'] = $eventTarget;
+
+    if (!isset($eventData['eventSource'])) {
+      $eventData['eventSource'] = getenv('EVENTS_SOURCE');
+    }
+
+    $dt = new \DateTime();
+    $dt->setTimezone(new \DateTimeZone('Europe/Helsinki'));
+
+    $eventData['timeCreated'] = $eventData['timeUpdated'] = $dt->format('Y-m-d\TH:i:s');
+    return $eventData;
+  }
+
+}
diff --git a/public/modules/custom/grants_handler/grants_handler.install b/public/modules/custom/grants_handler/grants_handler.install
index edab455b4e..92f47b12dd 100644
--- a/public/modules/custom/grants_handler/grants_handler.install
+++ b/public/modules/custom/grants_handler/grants_handler.install
@@ -216,6 +216,8 @@ function grants_handler_schema(): array {
  *   Name of field.
  * @param int $new_length
  *   New length for field.
+ *
+ * @throws \Exception
  */
 function _module_change_text_field_max_length($entity_type_id, $field_name, $new_length) {
   $name = 'field.storage.' . $entity_type_id . "." . $field_name;
@@ -369,3 +371,18 @@ function grants_handler_update_9008(&$sandbox) {
     ->schema()
     ->createTable('grants_handler_locks', $schema['grants_handler_locks']);
 }
+
+/**
+ * Install grants_events module.
+ */
+function grants_handler_update_9009(&$sandbox): void {
+  // Enable the grants_attachments module.
+  \Drupal::service('module_installer')->install(['grants_events']);
+}
+
+/**
+ * Manually trigger locale translation.
+ */
+function grants_handler_update_9010(&$sandbox): void {
+  _locale_parse_js_file('modules/custom/grants_handler/js/webform.form.unsaved.js');
+}
diff --git a/public/modules/custom/grants_handler/grants_handler.libraries.yml b/public/modules/custom/grants_handler/grants_handler.libraries.yml
index bde18246cc..9ba38aff5b 100644
--- a/public/modules/custom/grants_handler/grants_handler.libraries.yml
+++ b/public/modules/custom/grants_handler/grants_handler.libraries.yml
@@ -53,3 +53,11 @@ application-timeout-message:
   dependencies:
     - core/jquery
     - core/drupalSettings
+
+# Grants Dialog
+grants-dialog:
+  version: 1.0.0
+  js:
+    js/grants-dialog.js: { }
+  dependencies:
+    - core/drupal
diff --git a/public/modules/custom/grants_handler/grants_handler.module b/public/modules/custom/grants_handler/grants_handler.module
index 9ba74435cf..39f5111cd1 100644
--- a/public/modules/custom/grants_handler/grants_handler.module
+++ b/public/modules/custom/grants_handler/grants_handler.module
@@ -1289,8 +1289,8 @@ function grants_handler_preprocess_webform_submission_handler_details(&$variable
   $submission = $variables['submission'];
   $submissionData = $submission->getData();
 
-  /** @var \Drupal\grants_handler\EventsService $eventService */
-  $eventService = \Drupal::service('grants_handler.events_service');
+  /** @var \Drupal\grants_events\EventsService $eventService */
+  $eventService = \Drupal::service('grants_events.events_service');
 
   $handlerEvents = array_filter($submissionData['events'], function ($event) use ($eventService) {
     if ($event['eventType'] == $eventService->getEventTypes()['EVENT_INFO']) {
@@ -1314,7 +1314,7 @@ function grants_handler_preprocess_webform_submission_attachment_list(&$variable
   $submissionData = $submission->getData();
 
   // Get submission events.
-  $eventService = \Drupal::service('grants_handler.events_service');
+  $eventService = \Drupal::service('grants_events.events_service');
   $attachmentEventsHandler = $eventService->filterEvents($submissionData['events'], 'HANDLER_ATT_OK');
 
   $attachments = [];
@@ -2100,3 +2100,11 @@ function grants_handler_options_list_alter(array &$options, array $context): voi
     }
   }
 }
+
+/**
+ * Implements hook_preprocess_HOOK().
+ */
+function grants_handler_preprocess_webform(array &$variables) {
+  $variables['#attached']['library'][] = 'grants_handler/grants-dialog';
+  $variables['#attached']['library'][] = 'hdbt/focus-trap';
+}
diff --git a/public/modules/custom/grants_handler/grants_handler.services.yml b/public/modules/custom/grants_handler/grants_handler.services.yml
index 7f6beb7e17..c054cdd8b7 100644
--- a/public/modules/custom/grants_handler/grants_handler.services.yml
+++ b/public/modules/custom/grants_handler/grants_handler.services.yml
@@ -11,11 +11,12 @@ services:
         '@helfi_helsinki_profiili.userdata',
         '@http_client',
         '@logger.factory',
-        '@grants_handler.events_service',
         '@helfi_atv.atv_service',
         '@current_user',
         '@grants_handler.application_status_service'
     ]
+    calls:
+      - [ setEventsService, [ '@?grants_events.events_service' ] ]
 
   grants_handler.navigation_helper:
     class: Drupal\grants_handler\GrantsHandlerNavigationHelper
@@ -28,10 +29,6 @@ services:
         '@datetime.time'
     ]
 
-  grants_handler.events_service:
-    class: Drupal\grants_handler\EventsService
-    arguments: [ '@http_client', '@logger.factory' ]
-
   grants_handler.form_lock_service:
     class: Drupal\grants_handler\FormLockService
     arguments: [
diff --git a/public/modules/custom/grants_handler/js/grants-dialog.js b/public/modules/custom/grants_handler/js/grants-dialog.js
new file mode 100644
index 0000000000..925eead272
--- /dev/null
+++ b/public/modules/custom/grants_handler/js/grants-dialog.js
@@ -0,0 +1,110 @@
+(function (Drupal) {
+  Drupal.dialogFunctions = {
+
+    /**
+     * Creates a dialog and appends it to the body.
+     *
+     * @param {string} dialogContent - The title displayed at the top of the
+     *   dialog.
+     * @param {string} actionButtonText - The text for the "leave" button.
+     * @param {string} backButtonText - The text for the "back" button.
+     * @param {string} closeButtonText - The text for the "close" button that
+     *   closes the dialog.
+     * @param {Function} actionButtonCallback - The function to execute when
+     *   the "action" button is clicked.
+     */
+    createDialog: (dialogContent, actionButtonText, backButtonText, closeButtonText, actionButtonCallback = null) => {
+      const dialogTitle = Drupal.t('Attention', {}, { context: 'grants_handler' });
+      const actionButtonHTML = actionButtonText && `<button class="dialog__action-button" id="helfi-dialog__action-button" data-hds-component="button" data-hds-variant="primary">${actionButtonText}</button>`;
+      const backButtonHTML = backButtonText && `<button class="dialog__action-button" id="helfi-dialog__back-button" data-hds-component="button" data-hds-variant="secondary">${backButtonText}</button>`;
+      const closeButtonHTML = closeButtonText && `<button class="dialog__close-button" id="helfi-dialog__close-button"><span class="is-hidden">${closeButtonText}</span></button>`;
+
+      const dialogHTML = `
+        <div class="dialog__container" id="helfi-dialog__container">
+          <div class="dialog__overlay"></div>
+          <dialog class="dialog" id="helfi-dialog" aria-labelledby="helfi-dialog__title" aria-modal="true">
+            <div class="dialog__header">
+              ${closeButtonHTML}
+              <h2 class="dialog__title" id="helfi-dialog__title">${dialogTitle}</h2>
+            </div>
+            <div class="dialog__content">
+             ${dialogContent}
+            </div>
+            <div class="dialog__actions">
+              ${actionButtonHTML}
+              ${backButtonHTML}
+            </div>
+          </dialog>
+        </div>
+      `;
+
+      // TODO: Surveys use very similar javascript dialog implementation.
+      // This and the survey implementation could possibly be merged with some
+      // refactoring.
+
+      // Add the dialog to the body
+      document.body.insertAdjacentHTML('beforeend', dialogHTML);
+
+      Drupal.dialogFunctions.setBodyPaddingRight(true);
+
+      Drupal.dialogFunctions.toggleNoScroll(true);
+
+      const actionButton = document.getElementById('helfi-dialog__action-button');
+      const backButton = document.getElementById('helfi-dialog__back-button');
+      const closeButton = document.getElementById('helfi-dialog__close-button');
+      const dialog = document.getElementById('helfi-dialog__container');
+      const dialogFocusTrap = window.focusTrap.createFocusTrap('#helfi-dialog__container', {
+        initialFocus: () => '#helfi-dialog__title'
+      });
+
+      // Activate the focus trap so that the user needs to react to the dialog.
+      dialogFocusTrap.activate();
+
+      // Add click event listener to action button
+      if (actionButtonCallback && actionButtonText) {
+        actionButton.addEventListener('click', actionButtonCallback);
+      }
+
+      // Add click event listener to back button
+      backButton.addEventListener('click', () => {
+        dialogFocusTrap.deactivate();
+        Drupal.dialogFunctions.removeDialog(dialog);
+      });
+
+      // Add click event listener to close button
+      closeButton.addEventListener('click', () => {
+        dialogFocusTrap.deactivate();
+        Drupal.dialogFunctions.removeDialog(dialog);
+      });
+
+      // Add event listener to ESC button to remove the dialog
+      document.body.addEventListener('keydown', function (event) {
+        if (event.key === 'Escape') {
+          Drupal.dialogFunctions.removeDialog(dialog);
+        }
+      });
+    },
+
+    setBodyPaddingRight: (enable) => {
+      if (enable) {
+        document.body.style.paddingRight = `${
+          window.innerWidth - document.documentElement.clientWidth
+        }px`;
+      }
+      else {
+        document.body.style.removeProperty('padding-right');
+      }
+    },
+
+    toggleNoScroll: (enable) => {
+      const root = document.documentElement;
+      root.classList.toggle('noscroll', enable);
+    },
+
+    removeDialog: (dialog) => {
+      dialog.remove();
+      Drupal.dialogFunctions.toggleNoScroll(false);
+      Drupal.dialogFunctions.setBodyPaddingRight(false);
+    }
+  }
+})(Drupal);
diff --git a/public/modules/custom/grants_handler/js/webform.form.unsaved.js b/public/modules/custom/grants_handler/js/webform.form.unsaved.js
index 3e4ae31671..99e66c6b8d 100644
--- a/public/modules/custom/grants_handler/js/webform.form.unsaved.js
+++ b/public/modules/custom/grants_handler/js/webform.form.unsaved.js
@@ -46,6 +46,7 @@
       // Set the current unsaved flag state.
       unsaved = value;
     },
+
     attach: function (context) {
       // Detect general unsaved changes.
       // Look for the 'data-webform-unsaved' attribute which indicates that
@@ -109,34 +110,24 @@
       }
     }
   };
+
   $('a').on('click', function (event) {
     let containingElement = document.querySelector('form');
     if (unsaved && !containingElement.contains(event.target) && !event.target.getAttribute('href').startsWith('#')) {
       event.preventDefault();
-      const $previewDialog = $('<div></div>').appendTo('body');
-      Drupal.dialog($previewDialog, {
-        title: Drupal.t('Are you sure you want to leave? Leave without saving.'),
-        width: '33%',
-        closeText: Drupal.t('Close', {}, { context: 'grants_handler' }),
-        buttons: [
-          {
-            text: Drupal.t('Leave the application'),
-            click() {
-              unsaved = false;
-              $(this).dialog('close');
-              modal = true;
-              window.top.location.href = event.currentTarget.href;
-            },
-          },
-          {
-            text: Drupal.t('Back to application'),
-            buttonType: 'secondary',
-            click() {
-              $(this).dialog('close');
-            },
-          },
-        ],
-      }).showModal();
+
+      return Drupal.dialogFunctions.createDialog(
+        Drupal.t('You have unsaved changes. Are you sure you want to leave?', {}, { context: 'grants_handler' }),
+        Drupal.t('Leave the application', {}, { context: 'grants_handler' }),
+        Drupal.t('Back to application', {}, { context: 'grants_handler' }),
+        Drupal.t('Close', {}, { context: 'grants_handler' }),
+        () => {
+          unsaved = false;
+          const dialog = document.getElementById('helfi-dialog__container');
+          Drupal.dialogFunctions.removeDialog(dialog);
+          window.top.location.href = event.currentTarget.href;
+        }
+      );
     }
   });
 
@@ -144,7 +135,7 @@
   $(window).on('beforeunload', function (event) {
     if (unsaved) {
       // Show a confirmation dialog when the user tries to refresh or leave the page
-      const message = Drupal.t('You have unsaved changes. Are you sure you want to leave?');
+      const message = Drupal.t('You have unsaved changes. Are you sure you want to leave?', {}, { context: 'grants_handler' });
       event.preventDefault();
       event.returnValue = message; // For most browsers
       return message; // For older browsers
@@ -155,35 +146,27 @@
   $(document).on('keydown', function (e) {
     if (unsaved && (e.which === 116 || (e.which === 82 && (e.ctrlKey || e.metaKey)))) {
       e.preventDefault(); // Prevent F5 and Ctrl+R / Cmd+R refresh
-      const $previewDialog = $('<div></div>').appendTo('body');
-      Drupal.dialog($previewDialog, {
-        title: Drupal.t('You have unsaved changes. Are you sure you want to refresh?'),
-        width: '33%',
-        closeText: Drupal.t('Close', {}, { context: 'grants_handler' }),
-        buttons: [
-          {
-            text: Drupal.t('Refresh the page'),
-            click() {
-              unsaved = false;
-              $(this).dialog('close');
-              location.reload(); // Perform the refresh
-            },
-          },
-          {
-            text: Drupal.t('Back to application'),
-            buttonType: 'secondary',
-            click() {
-              $(this).dialog('close');
-            },
-          },
-        ],
-      }).showModal();
+
+      return Drupal.dialogFunctions.createDialog(
+        Drupal.t('You have unsaved changes. Are you sure you want to refresh?', {}, { context: 'grants_handler' }),
+        Drupal.t('Refresh the page', {}, { context: 'grants_handler' }),
+        Drupal.t('Back to application', {}, { context: 'grants_handler' }),
+        Drupal.t('Close', {}, { context: 'grants_handler' }),
+        () => {
+          unsaved = false;
+          const dialog = document.getElementById('helfi-dialog__container');
+          Drupal.dialogFunctions.removeDialog(dialog);
+          location.reload();
+        }
+      );
     }
   });
+
   // Add an event listener for autologout.
   document.addEventListener('autologout', function () {
     autologout = true;
   });
+
   $(window).on('beforeunload', function () {
     if (autologout) {
       return;
diff --git a/public/modules/custom/grants_handler/src/ApplicationException.php b/public/modules/custom/grants_handler/src/ApplicationException.php
index 217c95ab4e..c73861f7d4 100644
--- a/public/modules/custom/grants_handler/src/ApplicationException.php
+++ b/public/modules/custom/grants_handler/src/ApplicationException.php
@@ -3,7 +3,7 @@
 namespace Drupal\grants_handler;
 
 /**
- * General error in applicatoin process.
+ * General error in application process.
  */
 class ApplicationException extends \Exception {
 
diff --git a/public/modules/custom/grants_handler/src/ApplicationUploaderService.php b/public/modules/custom/grants_handler/src/ApplicationUploaderService.php
index 64a651ed52..38d88ae063 100644
--- a/public/modules/custom/grants_handler/src/ApplicationUploaderService.php
+++ b/public/modules/custom/grants_handler/src/ApplicationUploaderService.php
@@ -262,6 +262,9 @@ public function handleApplicationUploadViaIntegration(
     catch (\Exception $e) {
       $this->messenger->addError($this->t('Application saving failed, error has been logged.', [], $tOpts));
       $this->logger->error('Error saving application: %msg', ['%msg' => $e->getMessage()]);
+
+      \Sentry\captureException($e);
+
       return FALSE;
     }
   }
diff --git a/public/modules/custom/grants_handler/src/Controller/MessageController.php b/public/modules/custom/grants_handler/src/Controller/MessageController.php
index cf92cfe078..dce39f82ad 100644
--- a/public/modules/custom/grants_handler/src/Controller/MessageController.php
+++ b/public/modules/custom/grants_handler/src/Controller/MessageController.php
@@ -9,10 +9,10 @@
 use Drupal\Core\Messenger\MessengerTrait;
 use Drupal\Core\Render\Renderer;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\ApplicationGetterService;
 use Drupal\grants_handler\DebuggableTrait;
 use Drupal\grants_handler\EventException;
-use Drupal\grants_handler\EventsService;
 use Drupal\grants_handler\MessageService;
 use Drupal\helfi_atv\AtvService;
 use GuzzleHttp\Exception\GuzzleException;
@@ -33,7 +33,7 @@ class MessageController extends ControllerBase {
   /**
    * The controller constructor.
    *
-   * @param \Drupal\grants_handler\EventsService $eventsService
+   * @param \Drupal\grants_events\EventsService $eventsService
    *   Use submission events productively.
    * @param \Drupal\grants_handler\MessageService $messageService
    *   Use messages productively.
@@ -62,7 +62,7 @@ public function __construct(
    */
   public static function create(ContainerInterface $container): MessageController|static {
     return new static(
-      $container->get('grants_handler.events_service'),
+      $container->get('grants_events.events_service'),
       $container->get('grants_handler.message_service'),
       $container->get('request_stack'),
       $container->get('helfi_atv.atv_service'),
diff --git a/public/modules/custom/grants_handler/src/Form/CopyApplicationModalForm.php b/public/modules/custom/grants_handler/src/Form/CopyApplicationModalForm.php
index 3c3c6240df..7e2c463eb2 100644
--- a/public/modules/custom/grants_handler/src/Form/CopyApplicationModalForm.php
+++ b/public/modules/custom/grants_handler/src/Form/CopyApplicationModalForm.php
@@ -10,11 +10,11 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\Renderer;
 use Drupal\Core\Url;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\ApplicationGetterService;
 use Drupal\grants_handler\ApplicationInitService;
 use Drupal\grants_handler\ApplicationStatusService;
 use Drupal\grants_handler\DebuggableTrait;
-use Drupal\grants_handler\EventsService;
 use GuzzleHttp\Exception\GuzzleException;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -49,7 +49,7 @@ public static function create(ContainerInterface $container): CopyApplicationMod
     // Create a new form object and inject its services.
     $form = new static(
       $container->get('renderer'),
-      $container->get('grants_handler.events_service'),
+      $container->get('grants_events.events_service'),
       $container->get('grants_handler.application_status_service'),
       $container->get('grants_handler.application_init_service'),
       $container->get('grants_handler.application_getter_service')
diff --git a/public/modules/custom/grants_handler/src/MessageService.php b/public/modules/custom/grants_handler/src/MessageService.php
index 6c65dadb5f..419e565994 100644
--- a/public/modules/custom/grants_handler/src/MessageService.php
+++ b/public/modules/custom/grants_handler/src/MessageService.php
@@ -9,6 +9,7 @@
 use Drupal\Core\Logger\LoggerChannelInterface;
 use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_metadata\AtvSchema;
 use Drupal\helfi_atv\AtvService;
 use Drupal\helfi_helsinki_profiili\HelsinkiProfiiliUserData;
@@ -47,7 +48,7 @@ class MessageService {
   /**
    * Log events via integration.
    *
-   * @var \Drupal\grants_handler\EventsService
+   * @var \Drupal\grants_events\EventsService
    */
   protected EventsService $eventsService;
 
@@ -103,8 +104,6 @@ class MessageService {
    *   Client to post data.
    * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $loggerFactory
    *   Log things.
-   * @param \Drupal\grants_handler\EventsService $eventsService
-   *   Log events to atv document.
    * @param \Drupal\helfi_atv\AtvService $atvService
    *   Access to ATV.
    * @param \Drupal\Core\Session\AccountProxyInterface $currentUser
@@ -116,7 +115,6 @@ public function __construct(
     HelsinkiProfiiliUserData $helfi_helsinki_profiili_userdata,
     Client $http_client,
     LoggerChannelFactoryInterface $loggerFactory,
-    EventsService $eventsService,
     AtvService $atvService,
     AccountProxyInterface $currentUser,
     ApplicationStatusService $applicationStatusService,
@@ -124,7 +122,6 @@ public function __construct(
     $this->helfiHelsinkiProfiiliUserdata = $helfi_helsinki_profiili_userdata;
     $this->httpClient = $http_client;
     $this->logger = $loggerFactory->get('grants_handler_message_service');
-    $this->eventsService = $eventsService;
     $this->atvService = $atvService;
     $this->currentUser = $currentUser;
     $this->applicationStatusService = $applicationStatusService;
@@ -136,6 +133,16 @@ public function __construct(
     $this->setDebug(NULL);
   }
 
+  /**
+   * Set the getter service.
+   *
+   * @param \Drupal\grants_events\EventsService $eventsService
+   *   Events service.
+   */
+  public function setEventsService(EventsService $eventsService): void {
+    $this->eventsService = $eventsService;
+  }
+
   /**
    * Send message to backend.
    *
diff --git a/public/modules/custom/grants_handler/src/Plugin/WebformHandler/GrantsHandler.php b/public/modules/custom/grants_handler/src/Plugin/WebformHandler/GrantsHandler.php
index c97c6f0070..35dfb62087 100644
--- a/public/modules/custom/grants_handler/src/Plugin/WebformHandler/GrantsHandler.php
+++ b/public/modules/custom/grants_handler/src/Plugin/WebformHandler/GrantsHandler.php
@@ -1489,13 +1489,9 @@ public function postSaveSubmitForm(): void {
           );
       }
     }
-    catch (\Exception $e) {
-      $this->getLogger('grants_handler')
-        ->error('Error uploadind application: @error', ['@error' => $e->getMessage()]);
-    }
-    catch (GuzzleException $e) {
+    catch (\Exception | GuzzleException $e) {
       $this->getLogger('grants_handler')
-        ->error('Error uploadind application: @error', ['@error' => $e->getMessage()]);
+        ->error('Error uploading application: @error', ['@error' => $e->getMessage()]);
     }
 
     $this->formLockService->releaseApplicationLock($this->applicationNumber);
@@ -1549,27 +1545,22 @@ public function postSave(WebformSubmissionInterface $webform_submission, $update
 
     $this->postSaveHandleApplicationNumber($webform_submission);
 
-    // If triggering element is either draft save or proper one,
-    // we want to parse attachments from form.
-    if ($this->triggeringElement == '::submitForm') {
-      try {
+    try {
+      // If triggering element is either draft save or proper one,
+      // we want to parse attachments from form.
+      if ($this->triggeringElement == '::submitForm') {
         $this->postSaveSubmitForm();
       }
-      catch (GuzzleException $e) {
-        $this->messenger->addError($this->t('Error saving application. please contact support.'));
-        $this->getLogger('grants_handler')
-          ->error('Error saving application: @error', ['@error' => $e->getMessage()]);
-      }
-    }
-    if ($this->triggeringElement == '::submit') {
-      try {
+      if ($this->triggeringElement == '::submit') {
         $this->postSaveSubmit($webform_submission);
       }
-      catch (GuzzleException $e) {
-        $this->messenger->addError($this->t('Error saving application. please contact support.'));
-        $this->getLogger('grants_handler')
-          ->error('Error saving application: @error', ['@error' => $e->getMessage()]);
-      }
+    }
+    catch (GuzzleException $e) {
+      $this->messenger->addError($this->t('Error saving application. please contact support.'));
+      $this->getLogger('grants_handler')
+        ->error('Error saving application: @error', ['@error' => $e->getMessage()]);
+
+      \Sentry\captureException($e);
     }
   }
 
@@ -1659,6 +1650,8 @@ public function confirmForm(
             ]
           )
         );
+
+      \Sentry\captureException($e);
     }
   }
 
diff --git a/public/modules/custom/grants_handler/tests/src/Kernel/DataConversionTest.php b/public/modules/custom/grants_handler/tests/src/Kernel/DataConversionTest.php
index e7d65adab4..0af24b75cc 100644
--- a/public/modules/custom/grants_handler/tests/src/Kernel/DataConversionTest.php
+++ b/public/modules/custom/grants_handler/tests/src/Kernel/DataConversionTest.php
@@ -43,6 +43,7 @@ class DataConversionTest extends GrantsKernelTestBase implements ServiceModifier
     'helfi_yjdh',
     // Project modules.
     'grants_applicant_info',
+    'grants_events',
     'grants_attachments',
     'grants_budget_components',
     'grants_club_section',
diff --git a/public/modules/custom/grants_handler/translations/fi.po b/public/modules/custom/grants_handler/translations/fi.po
index d14718ea4a..22923ea94b 100644
--- a/public/modules/custom/grants_handler/translations/fi.po
+++ b/public/modules/custom/grants_handler/translations/fi.po
@@ -1,17 +1,5 @@
-# Finnish translation of City of Helsinki Grants Handler Module
-#
-msgctxt "grants_handler"
 msgid ""
 msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2022-01-18 16:58+0300\n"
-"PO-Revision-Date: 2022-10-12 08:58+0300\n"
-"Last-Translator: Petri Leinonen <ext.petri.leinonen@hel.fi>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgctxt "grants_handler"
 msgid "Print table"
@@ -552,16 +540,6 @@ msgstr "Pyyntösi keskeytyi verkkovirheen takia."
 msgid "Are you sure you want to leave? Leave without saving."
 msgstr "Oletko varma että haluat keskeyttää lomakkeen täyttämisen? Poistu tallentamatta."
 
-msgctxt "grants_handler"
-msgid "Close"
-msgstr "Sulje"
-
-msgid "Leave the application"
-msgstr "Poistu hakemukselta"
-
-msgid "Back to application"
-msgstr "Takaisin hakemukselle"
-
 msgctxt "grants_handler"
 msgid "View application"
 msgstr "Katsele hakemusta"
@@ -653,3 +631,27 @@ msgstr "Poista @item @number"
 msgctxt "grants_handler"
 msgid "Refresh the page"
 msgstr "Lataa sivu uudelleen"
+
+msgctxt "grants_handler"
+msgid "Leave the application"
+msgstr "Poistu hakemukselta"
+
+msgctxt "grants_handler"
+msgid "Close"
+msgstr "Sulje"
+
+msgctxt "grants_handler"
+msgid "Back to application"
+msgstr "Takaisin hakemukselle"
+
+msgctxt "grants_handler"
+msgid "You have unsaved changes. Are you sure you want to refresh?"
+msgstr "Sinulla on tallentamattomia muutoksia. Haluatko varmasti ladata sivun uudelleen?"
+
+msgctxt "grants_handler"
+msgid "You have unsaved changes. Are you sure you want to leave?"
+msgstr "Sinulla on tallentamattomia muutoksia. Haluatko varmasti poistua hakemukselta?"
+
+msgctxt "grants_handler"
+msgid "Attention"
+msgstr "Huomio"
diff --git a/public/modules/custom/grants_handler/translations/sv.po b/public/modules/custom/grants_handler/translations/sv.po
index 3e7a7f1495..4f0a13a7af 100644
--- a/public/modules/custom/grants_handler/translations/sv.po
+++ b/public/modules/custom/grants_handler/translations/sv.po
@@ -1,17 +1,5 @@
-# Swedish translation of City of Helsinki Grants Handler Module
-#
-msgctxt "grants_handler"
 msgid ""
 msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2022-01-18 16:58+0300\n"
-"PO-Revision-Date: 2022-10-12 08:58+0300\n"
-"Last-Translator: Petri Leinonen <ext.petri.leinonen@hel.fi>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgctxt "grants_handler"
 msgid "Print table"
@@ -548,19 +536,6 @@ msgstr "Din begäran uppfylldes inte på grund av nätverksfel."
 msgid "Are you sure you want to leave? Leave without saving."
 msgstr "Är du säker att du vill stänga blanketten? Avsluta utan att spara."
 
-msgctxt "grants_handler"
-msgid "Close"
-msgstr "Stäng"
-
-msgid "Leave the application"
-msgstr "Avsluta från ansökningshandling"
-
-msgid "Back to application"
-msgstr "Tillbaka till ansökningshandling"
-
-msgid "Refresh the page"
-msgstr "Uppdatera sidan"
-
 msgctxt "grants_handler"
 msgid "View application"
 msgstr "Visa ansökning"
@@ -648,3 +623,31 @@ msgstr "%mail är inte en giltig e-postadress. Använd formen user@example.com."
 
 msgid "Remove @item @number"
 msgstr "Ta bort @item @number"
+
+msgctxt "grants_handler"
+msgid "Refresh the page"
+msgstr "Uppdatera sidan"
+
+msgctxt "grants_handler"
+msgid "Leave the application"
+msgstr "Avsluta från ansökningshandling"
+
+msgctxt "grants_handler"
+msgid "Close"
+msgstr "Stäng"
+
+msgctxt "grants_handler"
+msgid "Back to application"
+msgstr "Tillbaka till ansökningshandling"
+
+msgctxt "grants_handler"
+msgid "You have unsaved changes. Are you sure you want to refresh?"
+msgstr "Du har osparade ändringar. Är du säker på att du vill uppdatera?"
+
+msgctxt "grants_handler"
+msgid "You have unsaved changes. Are you sure you want to leave?"
+msgstr "Du har osparade ändringar. Är du säker på att du vill lämna?"
+
+msgctxt "grants_handler"
+msgid "Attention"
+msgstr "Observera"
diff --git a/public/modules/custom/grants_logger/grants_logger.info.yml b/public/modules/custom/grants_logger/grants_logger.info.yml
index de39d2fc6e..d490264609 100644
--- a/public/modules/custom/grants_logger/grants_logger.info.yml
+++ b/public/modules/custom/grants_logger/grants_logger.info.yml
@@ -1,7 +1,9 @@
 name: 'Grants Logger'
 type: module
-description: 'Grants logger override.'
+description: 'Grants logging customization'
 package: 'helfi'
-core_version_requirement: ^9 || ^10
+core_version_requirement: ^10 || ^11
 dependencies:
-  - helfi_helsinki_profiili
+  - raven:raven
+  - helfi_atv:helfi_atv
+  - helfi_helsinki_profiili:helfi_helsinki_profiili
diff --git a/public/modules/custom/grants_logger/grants_logger.services.yml b/public/modules/custom/grants_logger/grants_logger.services.yml
index 9877d00fe2..4a9cf5d5b0 100644
--- a/public/modules/custom/grants_logger/grants_logger.services.yml
+++ b/public/modules/custom/grants_logger/grants_logger.services.yml
@@ -1,6 +1,6 @@
 services:
-  logger.dblog:
-    class: Drupal\grants_logger\Logger\GrantsLogger
-    arguments: ['@database', '@logger.log_message_parser', '@helfi_helsinki_profiili.userdata']
-    tags:
-      - { name: logger }
+  _defaults:
+    autowire: true
+    autoconfigure: true
+
+  Drupal\grants_logger\EventSubscriber\SentryEventSubscriber: ~
diff --git a/public/modules/custom/grants_logger/src/EventSubscriber/SentryEventSubscriber.php b/public/modules/custom/grants_logger/src/EventSubscriber/SentryEventSubscriber.php
new file mode 100644
index 0000000000..12b69d326f
--- /dev/null
+++ b/public/modules/custom/grants_logger/src/EventSubscriber/SentryEventSubscriber.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Drupal\grants_logger\EventSubscriber;
+
+use Drupal\helfi_atv\Event\AtvServiceExceptionEvent;
+use Drupal\helfi_helsinki_profiili\Event\HelsinkiProfiiliExceptionEvent;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+/**
+ * Forwards events to Sentry.
+ */
+final class SentryEventSubscriber implements EventSubscriberInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getSubscribedEvents(): array {
+    return [
+      AtvServiceExceptionEvent::EVENT_ID => 'onAtvException',
+      HelsinkiProfiiliExceptionEvent::EVENT_ID => 'onHelsinkiProfiiliException',
+    ];
+  }
+
+  /**
+   * Logs the event to sentry.
+   *
+   * @param \Drupal\helfi_atv\Event\AtvServiceExceptionEvent $event
+   *   An exception event.
+   */
+  public function onAtvException(AtvServiceExceptionEvent $event): void {
+    // Consider ignoring the event if $event is instanceof GuzzleException
+    // and http error status code is _some_status_code_ if, for example, 404
+    // errors cause too much error spam here.
+    \Sentry\captureException($event->getException());
+  }
+
+  /**
+   * Logs the event to sentry.
+   *
+   * @param \Drupal\helfi_helsinki_profiili\Event\HelsinkiProfiiliExceptionEvent $event
+   *   An exception event.
+   */
+  public function onHelsinkiProfiiliException(HelsinkiProfiiliExceptionEvent $event): void {
+    \Sentry\captureException($event->getException());
+  }
+
+}
diff --git a/public/modules/custom/grants_logger/src/Logger/GrantsLogger.php b/public/modules/custom/grants_logger/src/Logger/GrantsLogger.php
deleted file mode 100644
index f8fc036a19..0000000000
--- a/public/modules/custom/grants_logger/src/Logger/GrantsLogger.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-namespace Drupal\grants_logger\Logger;
-
-use Drupal\Core\Database\Connection;
-use Drupal\Core\Logger\LogMessageParserInterface;
-use Drupal\dblog\Logger\DbLog;
-use Drupal\helfi_helsinki_profiili\HelsinkiProfiiliUserData;
-
-/**
- * Override DbLog to include custom data.
- */
-class GrantsLogger extends DbLog {
-
-  /**
-   * The helfi_helsinki_profiili.userdata service.
-   *
-   * @var \Drupal\helfi_helsinki_profiili\HelsinkiProfiiliUserData
-   */
-  protected HelsinkiProfiiliUserData $helfiHelsinkiProfiiliUserdata;
-
-  /**
-   * The database connection object.
-   *
-   * @var \Drupal\Core\Database\Connection
-   */
-  protected $connection;
-
-  /**
-   * The message's placeholders parser.
-   *
-   * @var \Drupal\Core\Logger\LogMessageParserInterface
-   */
-  protected $parser;
-
-  /**
-   * Constructs a GrantsLogger object.
-   *
-   * @param \Drupal\Core\Database\Connection $connection
-   *   The database connection object.
-   * @param \Drupal\Core\Logger\LogMessageParserInterface $parser
-   *   The parser to use when extracting message variables.
-   * @param \Drupal\helfi_helsinki_profiili\HelsinkiProfiiliUserData $helfiHelsinkiProfiiliUserdata
-   *   The helfi_helsinki_profiili.userdata service.
-   */
-  public function __construct(
-    Connection $connection,
-    LogMessageParserInterface $parser,
-    HelsinkiProfiiliUserData $helfiHelsinkiProfiiliUserdata,
-  ) {
-    $this->connection = $connection;
-    $this->parser = $parser;
-    $this->helfiHelsinkiProfiiliUserdata = $helfiHelsinkiProfiiliUserdata;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function log($level, $message, array $context = []): void {
-
-    if ($this->helfiHelsinkiProfiiliUserdata->isAuthenticatedExternally()) {
-      $userData = $this->helfiHelsinkiProfiiliUserdata->getUserData();
-      if ($userData) {
-        $message = $message . (' (HP UUID: @helfi_hp_uid)');
-        $context['@helfi_hp_uid'] = $userData["sub"];
-      }
-    }
-
-    parent::log($level, $message, $context);
-  }
-
-}
diff --git a/public/modules/custom/grants_metadata/grants_metadata.services.yml b/public/modules/custom/grants_metadata/grants_metadata.services.yml
index fca9808161..deeb66bcf9 100644
--- a/public/modules/custom/grants_metadata/grants_metadata.services.yml
+++ b/public/modules/custom/grants_metadata/grants_metadata.services.yml
@@ -17,4 +17,4 @@ services:
       '@database'
     ]
     calls:
-      - [ setEventsService, [ '@?grants_handler.events_service' ] ]
+      - [ setEventsService, [ '@?grants_events.events_service' ] ]
diff --git a/public/modules/custom/grants_metadata/src/ApplicationDataService.php b/public/modules/custom/grants_metadata/src/ApplicationDataService.php
index 9125424e4b..2d2f18001c 100644
--- a/public/modules/custom/grants_metadata/src/ApplicationDataService.php
+++ b/public/modules/custom/grants_metadata/src/ApplicationDataService.php
@@ -7,8 +7,8 @@
 use Drupal\Core\Logger\LoggerChannelInterface;
 use Drupal\Core\TypedData\TypedDataInterface;
 use Drupal\grants_attachments\AttachmentHandler;
+use Drupal\grants_events\EventsService;
 use Drupal\grants_handler\DebuggableTrait;
-use Drupal\grants_handler\EventsService;
 use Drupal\grants_handler\Helpers;
 
 /**
@@ -40,7 +40,7 @@ final class ApplicationDataService {
   /**
    * Events service.
    *
-   * @var \Drupal\grants_handler\EventsService
+   * @var \Drupal\grants_events\EventsService
    */
   protected EventsService $eventsService;
 
@@ -63,7 +63,7 @@ public function __construct(
   /**
    * Set the getter service.
    *
-   * @param \Drupal\grants_handler\EventsService $eventsService
+   * @param \Drupal\grants_events\EventsService $eventsService
    *   Events service.
    */
   public function setEventsService(EventsService $eventsService): void {
diff --git a/public/modules/custom/grants_metadata/tests/src/Kernel/AtvSchemaTest.php b/public/modules/custom/grants_metadata/tests/src/Kernel/AtvSchemaTest.php
index e598954a25..b33245862b 100644
--- a/public/modules/custom/grants_metadata/tests/src/Kernel/AtvSchemaTest.php
+++ b/public/modules/custom/grants_metadata/tests/src/Kernel/AtvSchemaTest.php
@@ -45,6 +45,7 @@ class AtvSchemaTest extends GrantsKernelTestBase implements ServiceModifierInter
     'helfi_yjdh',
     // Project modules.
     'grants_applicant_info',
+    'grants_events',
     'grants_attachments',
     'grants_budget_components',
     'grants_club_section',
diff --git a/public/modules/custom/grants_profile/grants_profile.libraries.yml b/public/modules/custom/grants_profile/grants_profile.libraries.yml
index 788788e0ca..cbee1ec7c5 100644
--- a/public/modules/custom/grants_profile/grants_profile.libraries.yml
+++ b/public/modules/custom/grants_profile/grants_profile.libraries.yml
@@ -1,11 +1,12 @@
 profile_dialog:
   version: 1.x
   js:
-    js/profile_dialog.js: {}
+    js/profile_dialog.js: { }
   dependencies:
     - core/drupal
     - core/jquery
     - core/once
+    - grants_handler/grants-dialog
 
 pattern_error:
   js:
diff --git a/public/modules/custom/grants_profile/js/profile_dialog.js b/public/modules/custom/grants_profile/js/profile_dialog.js
index 7df4f03785..1ea699707b 100644
--- a/public/modules/custom/grants_profile/js/profile_dialog.js
+++ b/public/modules/custom/grants_profile/js/profile_dialog.js
@@ -29,58 +29,28 @@
           let containingElement = document.querySelector('form');
           if ((unset_name) && !containingElement.contains(event.target)) {
             event.preventDefault();
-            const $previewDialog = $(
-              `<div></div>`,
-            ).appendTo('body');
-            Drupal.dialog($previewDialog, {
-              title: Drupal.t('You need to have a name for your unregistered community or group. Please add a name and save or cancel them.'),
-              width: '33%',
-              buttons: [
-                {
-                  text: Drupal.t('Back to profile'),
-                  buttonType: 'primary',
-                  click() {
-                    $(this).dialog('close');
-                  },
-                },
-              ],
-            }).showModal();
+            return Drupal.dialogFunctions.createDialog(
+              Drupal.t('You need to have a name for your unregistered community or group. Please add a name and save or cancel them.', {}, { context: 'grants_profile' }),
+              '',
+              Drupal.t('Back to profile', {}, { context: 'grants_profile' }),
+              Drupal.t('Close', {}, { context: 'grants_profile' }),
+            );
           } else if ((current_name !== initial_name) && !containingElement.contains(event.target)) {
             event.preventDefault();
-            const $previewDialog = $(
-              `<div></div>`,
-            ).appendTo('body');
-            Drupal.dialog($previewDialog, {
-              title: Drupal.t('You have unsaved changes in your profile. Please save or cancel them.'),
-              width: '33%',
-              buttons: [
-                {
-                  text: Drupal.t('Back to profile'),
-                  buttonType: 'primary',
-                  click() {
-                    $(this).dialog('close');
-                  },
-                },
-              ],
-            }).showModal();
+            return Drupal.dialogFunctions.createDialog(
+              Drupal.t('You have unsaved changes in your profile. Please save or cancel them.', {}, { context: 'grants_profile' }),
+              '',
+              Drupal.t('Back to profile', {}, { context: 'grants_profile' }),
+              Drupal.t('Close', {}, { context: 'grants_profile' }),
+            );
           } else if (($('[data-drupal-selector="edit-isnewprofile"]').val() === 'initialSave') && !containingElement.contains(event.target)) {
             event.preventDefault();
-            const $previewDialog = $(
-              `<div></div>`,
-            ).appendTo('body');
-            Drupal.dialog($previewDialog, {
-              title: Drupal.t('You have not saved your profile. Please save your profile before leaving the form.'),
-              width: '33%',
-              buttons: [
-                {
-                  text: Drupal.t('Back to profile'),
-                  buttonType: 'primary',
-                  click() {
-                    $(this).dialog('close');
-                  },
-                },
-              ],
-            }).showModal();
+            return Drupal.dialogFunctions.createDialog(
+              Drupal.t('You have not saved your profile. Please save your profile before leaving the form.', {}, { context: 'grants_profile' }),
+              '',
+              Drupal.t('Back to profile', {}, { context: 'grants_profile' }),
+              Drupal.t('Close', {}, { context: 'grants_profile' }),
+            );
           }
           is_element_click = false;
 
diff --git a/public/modules/custom/grants_profile/src/GrantsProfileService.php b/public/modules/custom/grants_profile/src/GrantsProfileService.php
index 614c213904..b030cd4056 100644
--- a/public/modules/custom/grants_profile/src/GrantsProfileService.php
+++ b/public/modules/custom/grants_profile/src/GrantsProfileService.php
@@ -303,8 +303,9 @@ public function createNewProfile(
       $this->logger
         ->error('Error fetching community data. Error: %error', [
           '%error' => $e->getMessage(),
-        ]
-            );
+        ]);
+
+      \Sentry\captureException($e);
     }
     return $newProfile;
   }
diff --git a/public/modules/custom/grants_profile/translations/fi.po b/public/modules/custom/grants_profile/translations/fi.po
index cceb749412..56bd6eb892 100644
--- a/public/modules/custom/grants_profile/translations/fi.po
+++ b/public/modules/custom/grants_profile/translations/fi.po
@@ -1,15 +1,5 @@
-# Finnish translation of City of Helsinki Grants Profile module
 msgid ""
 msgstr ""
-"Project-Id-Version: 1.0\n"
-"POT-Creation-Date: 2022-02-14 11:00+0300\n"
-"PO-Revision-Date: 2022-10-12 11:00+0300\n"
-"Last-Translator: Petri Leinonen <petri.leinonen@siili.com>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgctxt "grants_profile"
 msgid "Delete bank account"
@@ -557,9 +547,11 @@ msgctxt "grants_profile"
 msgid "Connection error"
 msgstr "Yhteysvirhe"
 
+msgctxt "grants_profile"
 msgid 'You need to have a name for your unregistered community or group. Please add a name and save or cancel them.'
 msgstr 'Sinulla täytyy olla nimi rekisteröitymättömälle yhteisöllesi tai ryhmällesi. Lisää nimi ja tallenna tai peruuta ne.'
 
+msgctxt "grants_profile"
 msgid 'You have unsaved changes in your profile. Please save or cancel them.'
 msgstr 'Sinulla on tallentamattomia muutoksia profiilissasi. Ole hyvä ja tallenna tai peruuta ne.'
 
@@ -569,15 +561,21 @@ msgstr 'Sinulla on tallentamattomia muutoksia profiilissasi. Oletko varma, että
 msgid 'You have not saved your profile. Are you sure you want to leave the form?'
 msgstr 'Et ole tallentanut profiiliasi. Oletko varma, että haluat lähteä lomakkeelta?'
 
+msgctxt "grants_profile"
 msgid 'You have not saved your profile. Please save your profile before leaving the form.'
 msgstr 'Et ole tallentanut profiiliasi. Tallenna profiili ennen lomakkeelta poistumista.'
 
 msgid 'You need to have a name for your unregistered community or group. Are you sure you want to leave the form?'
 msgstr 'Sinulla täytyy olla nimi rekisteröitymättömälle yhteisöllesi tai ryhmällesi. Oletko varma, että haluat lähteä lomakkeelta?'
 
+msgctxt "grants_profile"
 msgid 'Back to profile'
 msgstr 'Takaisin profiiliin'
 
+msgctxt "grants_profile"
+msgid 'Close'
+msgstr 'Sulje'
+
 msgctxt "grants_profile"
 msgid "Fields marked with an asterisk * are required information."
 msgstr "Tähdellä * merkityt kentät ovat pakollisia tietoja."
diff --git a/public/modules/custom/grants_profile/translations/sv.po b/public/modules/custom/grants_profile/translations/sv.po
index ae8890b846..6324107914 100644
--- a/public/modules/custom/grants_profile/translations/sv.po
+++ b/public/modules/custom/grants_profile/translations/sv.po
@@ -1,15 +1,5 @@
-# Swedish translation of City of Helsinki Grants Profile module
 msgid ""
 msgstr ""
-"Project-Id-Version: 1.0\n"
-"POT-Creation-Date: 2022-02-14 11:00+0300\n"
-"PO-Revision-Date: 2022-10-12 11:00+0300\n"
-"Last-Translator: Petri Leinonen <petri.leinonen@siili.com>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 msgctxt "grants_profile"
 msgid "Delete bank account"
@@ -514,9 +504,11 @@ msgctxt "grants_profile"
 msgid "Connection error"
 msgstr "Anslutningsfel"
 
+msgctxt "grants_profile"
 msgid 'You need to have a name for your unregistered community or group. Please add a name and save or cancel them.'
 msgstr 'Du måste ha ett namn för din icke-registrerad förening eller verksamhetsgrupp. Vänligen lägg till ett namn och spara eller avbryt dem.'
 
+msgctxt "grants_profile"
 msgid 'You have unsaved changes in your profile. Please save or cancel them.'
 msgstr 'Du har osparade ändringar i din profil. Spara eller avbryt dem.'
 
@@ -526,15 +518,21 @@ msgstr 'Du har osparade ändringar i din profil. Är du säker på att du vill l
 msgid 'You have not saved your profile. Are you sure you want to leave the form?'
 msgstr 'Du har inte sparat din profil. Är du säker på att du vill lämna formuläret?'
 
+msgctxt "grants_profile"
 msgid 'You have not saved your profile. Please save your profile before leaving the form.'
 msgstr 'Du har inte sparat din profil. Spara din profil innan du lämnar formuläret.'
 
 msgid 'You need to have a name for your unregistered community or group. Are you sure you want to leave the form?'
 msgstr 'Du måste ha ett namn för din icke-registrerad förening eller verksamhetsgrupp. Är du säker på att du vill lämna formuläret?'
 
+msgctxt "grants_profile"
 msgid 'Back to profile'
 msgstr 'Tillbaka till profilen'
 
+msgctxt "grants_profile"
+msgid 'Close'
+msgstr "Stäng"
+
 msgctxt "grants_profile"
 msgid "Fields marked with an asterisk * are required information."
 msgstr "Fält markerade med en asterisk * är obligatorisk information."
diff --git a/public/sites/default/settings.php b/public/sites/default/settings.php
index 872d57aab5..2f8d1e8e87 100644
--- a/public/sites/default/settings.php
+++ b/public/sites/default/settings.php
@@ -389,6 +389,11 @@ function drupal_get_env(string|array $variables) : mixed {
 $default_log_level = getenv('APP_ENV') === 'production' ? 'info' : 'debug';
 $settings['helfi_api_base.log_level'] = getenv('LOG_LEVEL') ?: $default_log_level;
 
+// Turn sentry JS error tracking on if SENTRY_DSN_PUBLIC is defined.
+if (getenv('SENTRY_DSN_PUBLIC')) {
+  $config['raven.settings']['javascript_error_handler'] = TRUE;
+}
+
 /**
  * Deployment identifier.
  *
diff --git a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css
index 7d6b556a59..c792cc8314 100644
--- a/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css
+++ b/public/themes/custom/hdbt_subtheme/dist/css/styles.min.css
@@ -1 +1 @@
-body{--webform-element-width--input-small: 184px;--webform-element-width--input-medium: 332px;--webform-element-width--input-large: 591px;--webform-element-width--fieldset: 714px}.hel-icon--size-xs,.hds-icon--size-xs{height:16px;width:16px}.hel-icon--size-s,.hds-icon--size-s{height:24px;width:24px}.hel-icon--size-m,.hds-icon--size-m{height:32px;width:32px}.hel-icon--size-l,.hds-icon--size-l{height:48px;width:48px}.hel-icon--size-xl,.hds-icon--size-xl{height:64px;width:64px}.hel-icon.hel-icon--pen-line{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 0h24v24H0z'/><path d='M20.5 20v2h-17v-2h17zM14.25 2.5L19 7.25 8.25 18l-4.736-.014L3.5 13.25 14.25 2.5zm0 2.75L5.5 14l.007 1.994L7.5 16l8.75-8.75-2-2z' fill='currentColor'/></g></svg>");mask-image:url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 0h24v24H0z'/><path d='M20.5 20v2h-17v-2h17zM14.25 2.5L19 7.25 8.25 18l-4.736-.014L3.5 13.25 14.25 2.5zm0 2.75L5.5 14l.007 1.994L7.5 16l8.75-8.75-2-2z' fill='currentColor'/></g></svg>")}.hel-icon.hds-icon--company{background:var(--color-black);-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,<svg role='img' fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <g clip-rule='evenodd' fill='currentColor' fill-rule='evenodd'> <path d='m24 24h-24v-2h24z'/><path d='m1 .202789 11.5 3.026311v3.7709h-2v-2.22912l-7.5-1.97368v19.2028h-2z'/> <path d='m12 18h4v4h-4z'/> <path d='m5 6.99999h18v15.00001h-2v-13.00001h-14v13.00001h-2zm3 3h12v6.00001h-12zm2 2.00001v2h8v-2z'/> </g> </svg>");mask-image:url("data:image/svg+xml;charset=utf-8,<svg role='img' fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <g clip-rule='evenodd' fill='currentColor' fill-rule='evenodd'> <path d='m24 24h-24v-2h24z'/><path d='m1 .202789 11.5 3.026311v3.7709h-2v-2.22912l-7.5-1.97368v19.2028h-2z'/> <path d='m12 18h4v4h-4z'/> <path d='m5 6.99999h18v15.00001h-2v-13.00001h-14v13.00001h-2zm3 3h12v6.00001h-12zm2 2.00001v2h8v-2z'/> </g> </svg>")}.hds-button--secondary:not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button){--background-color: transparent;--background-color-hover: var(--color-black-80);--background-color-focus: transparent;--background-color-hover-focus: var(--color-black-80);--background-color-disabled: transparent;--color: var(--color-black);--color-hover: var(--color-white);--color-focus: var(--color-black);--color-hover-focus: var(--color-black);--color-disabled: var(--color-black-40)}.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button),.hds-button--primary:not(:disabled){border-color:transparent;border-color:var(--color-black, transparent)}.hds-button.hds-button--supplementary .hds-button__label{margin:0;padding:0 var(--spacing-2-xs)}.hds-button.hds-button--supplementary::after,.hds-button.hds-button--supplementary::before{display:none !important}.hds-button--supplementary:not(:disabled){--background-color-hover: rgba(0, 0, 0, 0.1);background:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.hds-button--supplementary:not(:disabled):hover{background-color:var(--background-color-hover)}.hds-button--alert{--background-color: rgb(255, 0, 0)}a.hds-button.webform-button--delete-draft:not(:disabled){text-decoration:none}a.hds-button.webform-button--delete-draft:not(:disabled) .hds-button__label_wrapper{display:inline}a.hds-button.webform-button--delete-draft:not(:disabled) .hds-button__label{text-decoration:underline}a.hds-button.webform-button--delete-draft:not(:disabled):hover .hds-button__label{text-decoration:none}.openid-connect-login-form input[type=submit].hds-button{width:220px}.hds-button__label_wrapper{align-items:center;display:flex}.hds-button__label_wrapper:not(.hds-button)>.hds-button__label{margin:0 var(--spacing-2-xs)}.hds-link{--link-visited-color: var(--color-black);--link-color: var(--color-black)}.hds-card{--background-color: var(--color-white);--border-color: var(--color-black-90);--color: var(--color-black-90);--border-width: 2px;--padding-horizontal: var(--spacing-l);--padding-vertical: var(--spacing-m);background-color:var(--background-color);color:var(--color);padding:var(--padding-vertical) var(--padding-horizontal)}.hds-card--border{border:var(--border-width) solid var(--border-color)}.hds-card__body{display:grid;grid-gap:var(--spacing-m);gap:var(--spacing-m);margin-bottom:var(--spacing-l)}.hds-card__body:last-child{margin-bottom:0}.hds-card__heading{font-size:var(--fontsize-heading-m);font-weight:bold;line-height:var(--lineheight-m)}.hds-card__text{font-size:var(--fontsize-body-m);line-height:var(--lineheight-l)}.hds-card--applicant-role{margin-bottom:var(--spacing-l);margin-right:0;max-width:400px;width:100%}.hds-card__heading-m{font-size:var(--fontsize-heading-m);font-weight:500;letter-spacing:-0.2px;line-height:32px;margin-top:0}.grants-profile--menuitem--login,.grants-profile--menuitem--logout{align-items:center;display:flex;flex-flow:column;font-size:var(--fontsize-body-s);height:var(--spacing-xl);margin-left:var(--spacing-2-xs);margin-right:var(--spacing-2-xs);position:relative;text-align:center;width:var(--spacing-xl)}.grants-profile--menuitem--login .hel-icon,.grants-profile--menuitem--logout .hel-icon{display:block;margin:auto}.grants-profile--menuitem--login-triggertext,.grants-profile--menuitem--logout-triggertext{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);display:block;max-height:1px;max-width:1px;opacity:0;overflow:hidden;position:absolute;white-space:nowrap}.block--grants-profile--menuitem{align-items:center;display:flex;grid-area:brand;z-index:2}.block--branding{flex-grow:10}.grants-frontpage-info-block{margin-bottom:var(--spacing-layout-xl)}.grants-profile--menuitem{height:var(--spacing-m);margin-left:var(--spacing-2-xs);margin-right:var(--spacing-2-xs);position:relative;width:var(--spacing-m)}@media(min-width: 768px){.grants-profile--menuitem{height:var(--spacing-2-xl);width:var(--spacing-2-xl)}}.grants-profile--menuitem a{text-decoration:none}.grants-profile--menuitem--notifications{background-color:var(--color-error);border:2px var(--color-white) solid;border-radius:50%;color:var(--color-white);font-size:var(--fontsize-body-s);font-weight:bold;height:var(--spacing-xs) 1.25;line-height:var(--spacing-layout-2-xs);position:absolute;right:-5px;text-align:center;top:-5px;width:var(--spacing-xs) 1.25;z-index:2}.grants-profile--menuitem--initials{border-radius:50%;font-weight:bold;height:var(--spacing-m);line-height:var(--spacing-m);text-align:center;vertical-align:middle;width:var(--spacing-m)}@media(min-width: 768px){.grants-profile--menuitem--initials{height:var(--spacing-2-xl);line-height:var(--spacing-2-xl);width:var(--spacing-2-xl)}}.grants-profile--menuitem--initials:hover,.grants-profile--menuitem--initials:active,.grants-profile--menuitem--initials:focus{text-decoration:underline}.grants-profile--menuitem--initials-colorscheme-2{background-color:var(--color-bus);color:var(--color-white)}.grants-profile--menuitem--initials-colorscheme-1{background-color:var(--color-engel);color:var(--color-black)}.grants-profile--menuitem--initials-colorscheme-0{background-color:var(--color-tram);color:var(--color-white)}.sidebar-important-links{margin-top:var(--spacing-2-xl)}.sidebar-important-links .sidebar-text .sidebar-text__text-content>p{padding:var(--spacing-s) var(--spacing-m)}.block--service-page-banner{background-color:var(--color-engel);margin-top:var(--spacing-layout-s);padding:var(--spacing-layout-s)}.block--service-page-banner h2{margin-top:0}.block--service-page-banner .hds-icon{margin-bottom:var(--spacing-layout-s)}.hds-button.service-page-sidebar-link{background-color:var(--hdbt-color-palette--secondary);padding:var(--spacing-xs)}.hds-button.service-page-sidebar-link:hover{color:var(--color-black)}.terms_block{padding-bottom:var(--spacing-4-xl)}#block-servicepageauthblock h2,#block-servicepageanonblock h2{--line-height: 1.3;font-size:1.25rem;font-weight:500;line-height:var(--line-height)}@media(min-width: 992px){#block-servicepageauthblock h2,#block-servicepageanonblock h2{--line-height: 1.1666666667;font-size:1.5rem;font-weight:500}}#block-servicepageauthblock .hds-button,#block-servicepageanonblock .hds-button{margin-top:var(--spacing-m)}.grants-service-page-block{background-color:var(--color-alert-light);margin-top:var(--spacing-m);padding:var(--spacing-m)}.grants-service-page-block h3{font-size:var(--fontsize-heading-s);margin-top:0}.grants-service-page-block .hel-icon{vertical-align:text-bottom}.grants-service-page-block--auth{background-color:var(--color-info-light)}.hel-icon.hel-icon--swap-user{-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>')}.nav-toggle-dropdown--profile .profile__information{background-color:var(--color-silver-light)}.nav-toggle-dropdown--profile .profile__full-name{font-weight:bold}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);border-top:1px solid #ccc;border-bottom:1px solid #ccc;display:block;font-weight:normal;padding:16px;text-decoration:none;width:100%}@media(min-width: 992px){.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role{border-bottom:none}}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate:hover,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role:hover{text-decoration:underline}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate:focus,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role:focus{outline:3px solid #000;outline-offset:-3px}.application-timeout-message{display:none;padding-left:16px;padding-left:var(--spacing-s, 16px);position:fixed;right:0;top:50%;z-index:100}.application-timeout-message.slide-in{animation:slide-in-right .5s forwards ease;display:block}.application-timeout-message .close-application-timeout-message{cursor:pointer;font-size:1.25rem;position:absolute;right:1.25rem}@keyframes slide-in-right{from{right:-500px}to{right:1.25rem}}.ui-widget-overlay{z-index:99}.ui-dialog .ui-button:hover{border-width:2px}.ui-dialog .ui-dialog-titlebar-close{top:var(--spacing-s);z-index:1001}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-dialog .ui-dialog-buttonpane{padding:var(--spacing-2-xs) var(--spacing-m)}.ui-dialog .ui-dialog-buttonpane button{margin:0 var(--spacing-xs) 0 0}.ui-dialog .ui-dialog-content{padding:0 1em 1em;position:static;position:initial}.ui-dialog div.ui-dialog-titlebar{padding:0}.ui-dialog-titlebar{background:rgba(0,0,0,0);border:0}.ui-dialog-titlebar-close{background:none;border:none}.ui-dialog-titlebar .ui-dialog-title{display:block;font-size:var(--fontsize-heading-s);overflow:auto;padding:var(--spacing-layout-2-xs) var(--spacing-layout-2-xs) var(--spacing-layout-2-xs) var(--spacing-2-xl);position:relative;white-space:normal}.ui-dialog-title .hel-icon{left:var(--spacing-m);margin-right:var(--spacing-2-xs);position:absolute;top:var(--spacing-s)}.ui-widget-content{border:0 rgba(0,0,0,0) solid}.ui-widget-content h3{margin-top:0}div.ui-widget.ui-widget-content{border-top:var(--spacing-2-xs) solid var(--color-black);max-width:100vw;min-width:300px;padding-top:0}.ui-widget-content span.ui-icon{margin-left:-8px;margin-top:-8px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Crect width='24' height='24'/%3E %3Cpolygon fill='currentColor' points='18 7.5 13.5 12 18 16.5 16.5 18 12 13.5 7.5 18 6 16.5 10.5 12 6 7.5 7.5 6 12 10.5 16.5 6'/%3E %3C/g%3E %3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Crect width='24' height='24'/%3E %3Cpolygon fill='currentColor' points='18 7.5 13.5 12 18 16.5 16.5 18 12 13.5 7.5 18 6 16.5 10.5 12 6 7.5 7.5 6 12 10.5 16.5 6'/%3E %3C/g%3E %3C/svg%3E");transform:scale(1.5)}.submission-for-copying{margin-bottom:1em;margin-top:1em}.view_application_search_search_api .main-content{margin-top:0}.view_application_search_search_api .search-result-amount--wrapper{align-items:center;display:flex}.view_application_search_search_api .search-result-amount--wrapper p{margin-top:0}.view_application_search_search_api select.search-result-amount{border:1px solid var(--color-black-50);margin-left:var(--spacing-l);margin-right:var(--spacing-2-xs)}.view_application_search_search_api .search-filter-button{background-color:var(--color-black);border-radius:180px;border:0;color:var(--color-white);display:inline-block;margin:0 var(--spacing-2-xs) var(--spacing-2-xs) 0;padding:var(--spacing-2-xs) var(--spacing-xs)}.view_application_search_search_api .search-filter-button:focus{--focus-outline-color: #000000;box-shadow:none;outline:3px solid var(--focus-outline-color);outline:var(--outline-width, 3px) solid var(--focus-outline-color);outline-offset:2px;outline-offset:var(--outline-gutter, 2px)}.view_application_search_search_api .search-filter-button span{vertical-align:middle}.view_application_search_search_api .search-filter-button span.hel-icon:hover{cursor:pointer}.view-application-search-search-api .main-content{margin-top:var(--spacing-layout-s)}.view-application-search-search-api .main-content .view-header{align-items:center;display:flex;margin-bottom:var(--spacing-layout-s)}.application_search--link{display:block;height:100%;padding-bottom:var(--spacing-m);position:relative;text-decoration:none}.application_search--link::after{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--arrow-right);mask-image:var(--hel-icon--arrow-right);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));transition:transform .2s linear;bottom:var(--spacing-s);content:"";display:block;flex-shrink:0;left:var(--spacing-m);margin-left:-4px;margin-top:8px;position:absolute}@media(prefers-reduced-motion){.application_search--link::after{transition:none}}@media(min-width: 576px){.application_search--link::after{--icon-size: 3rem;margin-left:-8px;margin-top:16px}}.application_search--link:focus h3,.application_search--link:hover h3{text-decoration:none}.application_search--link:focus::after,.application_search--link:hover::after{transform:translateX(8px)}@media(prefers-reduced-motion){.application_search--link:focus::after,.application_search--link:hover::after{transform:none}}.application_search--filter-wrapper{background:var(--color-black-5)}.application_search--filter-wrapper h2{font-size:var(--fontsize-heading-m);margin-bottom:var(--spacing-layout-s);margin-top:var(--spacing-layout-s)}.application_search--filter-wrapper form{align-items:center;border-bottom:2px solid var(--color-black-20);display:flex;flex-flow:row wrap;gap:var(--spacing-s);justify-content:space-between;margin-bottom:var(--spacing-layout-s);padding-bottom:var(--spacing-layout-s)}.application_search--filter-wrapper form .form-item{margin-bottom:0;min-width:-moz-fit-content;min-width:fit-content;width:calc((100% - var(--spacing-s) - var(--spacing-s))/3)}.application_search--filter-wrapper form .form-item label{color:var(--label-color-default);font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-3-xs)}.application_search--filter-wrapper form .form-item .grant-applications--select-wrapper{min-width:100%;width:100%}.application_search--filter-wrapper form .hds-text-input:first-child{max-width:none;width:100%}.application_search--filter-wrapper form .hds-text-input:first-child input{width:100%}.application_search--filter-wrapper form .form-actions{align-items:center;display:flex;order:6;padding-top:var(--spacing-m);width:100%}@media(min-width: 768px){.application_search--filter-wrapper form .form-actions{width:17%}}.application_search--filter-wrapper form .form-actions input{min-width:250px;width:100%}.application_search--filter-wrapper form .form-item-items-per-page{display:none}.application_search--filter-wrapper form .form-item-kohderyhma{order:1}.application_search--filter-wrapper form .form-item-avustuslaji{order:2}.application_search--filter-wrapper form .form-item-hakija{order:3}.application_search--filter-wrapper form .form-item-search{max-width:100%;order:4;width:50%}.application_search--filter-wrapper form .form-item-application-open{page-break-before:left;-moz-column-break-before:left;break-before:left;display:block;margin-top:var(--spacing-m);order:5;width:30%}.application_search--filter-wrapper form [data-drupal-selector=edit-reset]{background-color:rgba(0,0,0,0);border:0;color:var(--color-black)}.application_search--filter-wrapper .hds-koros svg pattern{color:var(--color-black-5)}.application_search--filter-wrapper .hero .hero__container{padding-bottom:var(--spacing-m)}.application_search--filters{padding-bottom:var(--spacing-layout-m);padding-top:0}.application_search--rows{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;width:100%}@media(min-width: 576px){.application_search--rows{flex-direction:row;margin-left:calc(-1*var(--spacing-m));width:calc(100% + var(--spacing-m))}}.application_search--row{box-shadow:1px 2px 4px 0 rgba(0,0,0,.5);margin-bottom:var(--spacing-l);position:relative;width:100%}@media(min-width: 576px){.application_search--row{margin-left:var(--spacing-m);width:calc(50% - var(--spacing-m))}}@media(min-width: 992px){.application_search--row{width:calc(33.3333333333% - var(--spacing-m))}}.application_search--row h3{font-size:var(--fontsize-heading-m);margin-top:var(--spacing-xs)}.application_search--row .views-field-search-api-excerpt{height:auto;overflow:auto;word-break:normal}.application_search--row .views-field{padding:var(--spacing-xs) var(--spacing-m)}.application_search--row .views-field-field-target-group{padding:0}.application_search--row .views-field-field-avustuslaji{padding:var(--spacing-xs) var(--spacing-m) var(--spacing-layout-m) var(--spacing-m)}.application_search--row .views-field-field-avustuslaji .tag_avustuslaji{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);display:inline-block;margin-bottom:var(--spacing-2-xs);padding:var(--spacing-3-xs) var(--spacing-xs)}.application_search--row .views-field-field-application-period .field-content{align-items:center;display:flex;gap:var(--spacing-s);position:relative}.application_search--row .views-field-field-application-period .field-content span{display:block}.application_search--row .tag_target_group{background:var(--color-black-20);color:var(--color-black);font-size:var(--fontsize-body-s);font-weight:bold;padding:var(--spacing-m);text-align:center;text-transform:uppercase;width:100%}.application_search--row .tag_target_group_12{background:var(--color-brick-medium-light)}.application_search--row .tag_target_group_20{background:var(--color-copper)}.application_search--row .tag_target_group_21{background:var(--color-metro-medium-light)}.application_search--row .tag_target_group_22{background:var(--color-suomenlinna-medium-light)}.application_search--row .tag_target_group_23{background:var(--color-engel)}.application_search--row .tag_target_group_24{background:var(--color-bus-medium-light)}.application_search--row .tag_target_group_25{background:var(--color-coat-of-arms-medium-light)}.application_search--row .tag_target_group_26{background:var(--color-gold-medium-light)}.application_search--row .tag_target_group_27{background:var(--color-tram-medium-light)}.application_search--row .tag_target_group_28{background:var(--color-summer-light)}.application_search--row .tag_target_group_29{background:var(--color-fog)}.application_search--row .tag_target_group_30{background:var(--color-copper-light)}.application_search--row .tag_target_group_31{background:var(--color-gold)}.view-ukk .view-filters{display:none}.view-ukk .ukk_categories{display:block;margin:var(--spacing-xl) 0;padding:0}.view-ukk .ukk_categories li{display:inline-block;list-style:none;margin:var(--spacing-m) var(--spacing-s) 0 0;padding:0}.view-ukk .hero .hero__text-content{max-width:100%}.view-ukk #edit-field-category-target-id{display:flex}.view-ukk #edit-field-category-target-id .hds-radio-button:first-of-type{margin-top:var(--spacing-2-xs)}.view-ukk #edit-field-category-target-id .hds-radio-button .hds-radio-button__input:checked+.hds-radio-button__label{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);padding:var(--spacing-2-xs) var(--spacing-s)}.view-ukk #edit-field-category-target-id .hds-radio-button__label{padding:var(--spacing-2-xs) var(--spacing-s)}.view-ukk #edit-field-category-target-id .hds-radio-button__label::before,.view-ukk #edit-field-category-target-id .hds-radio-button__label::after{display:none}.view-ukk .views-exposed-form fieldset{margin-bottom:0}.view-ukk .views-exposed-form .form-submit{margin-bottom:var(--spacing-l)}.view-ukk .category{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);display:inline-block;padding:var(--spacing-2-xs) var(--spacing-s);text-decoration:none}.view-ukk .category-unselected{background:var(--color-black-20);color:var(--color-black)}.page--select-applicant-role{background-color:var(--color-black-5)}.page--select-applicant-role body{background-color:var(--color-black-5)}.page--select-applicant-role .layout-main-wrapper{background-color:var(--color-black-5)}.page--select-applicant-role .main-content{margin-top:var(--spacing-l)}.page--select-applicant-role h1{margin-top:var(--spacing-l)}.page--select-applicant-role p{margin-bottom:var(--spacing-m)}.node--type-service .errand-service__channels .service-channel__links a[href^="https://avustukset.hel.fi"]{display:none}.node--type-service .service-channel__info p:first-of-type{margin-top:0}.node--type-service .service-channel--mail{display:none}#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:none}@media(max-width: 767.9px){#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:block;margin:var(--spacing-s)}}@media(max-width: 991.9px){#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:block;margin:var(--spacing-l)}}#block-servicepageauthblock-2>.grants-service-page-block>*,#block-servicepageanonblock-2>.grants-service-page-block>*,#block-grantspreviewlink-2>.grants-service-page-block>*{margin:var(--spacing-2-xs) 0 var(--spacing-2-xs) var(--spacing-2-xs)}@media(max-width: 991.9px){#block-servicepageauthblock-2 .node--type-service a.hds-button[href*=uusi-hakemus],#block-servicepageanonblock-2 .node--type-service a.hds-button[href*=uusi-hakemus],#block-grantspreviewlink-2 .node--type-service a.hds-button[href*=uusi-hakemus]{display:none}}.user-login__text-container{background:var(--color-white);max-width:500px;padding:var(--spacing-m)}.user-login__text-container p:first-of-type{margin-top:0}.tabs{--tablist-border-color: var(--color-black-20);--tablist-border-size: 1px;--tab-color: var(--color-black);--tab-font-size: var(--fontsize-body-m);--tab-height: 48px;--tab-min-width: 148px;--tab-spacing: var(--spacing-s);--tab-active-border-size: 5px;--tab-active-border-color: var(--color-black);--tab-focus-outline-size: 2px;--tab-focus-outline-color: var(--color-coat-of-arms);display:flex;flex-flow:row wrap}.tabs--tablist{box-sizing:border-box;flex-grow:1;margin-bottom:-1px;overflow-x:hidden;position:relative;width:100%}.tabs--content-wrapper{width:100%}.tabs--content-wrapper .container{padding-top:1px}.tabs [role=tablist]{box-sizing:border-box;list-style:none;margin:0;padding:var(--tab-focus-outline-size) 0;white-space:nowrap}.tabs [role=tab]{background:rgba(0,0,0,0);border:0;cursor:pointer;display:inline-block;margin:0;outline:none;padding:0}.tabs [role=tab] span{align-items:center;box-sizing:border-box;color:var(--tab-color);display:flex;font-size:var(--tab-font-size);height:var(--tab-height);justify-content:center;margin:0;min-width:var(--tab-min-width);padding:0 var(--tab-spacing);pointer-events:none;position:relative}.tabs [role=tab] span::before{background:var(--tablist-border-color);bottom:0;content:"";height:var(--tablist-border-size);position:absolute;width:100%;z-index:100}.tabs [role=tab] span:hover::before,.tabs [role=tab] span:focus::before,.tabs [role=tab][aria-selected=true] span::before{background-color:var(--tab-active-border-color);bottom:0;content:"";height:var(--tab-active-border-size);position:absolute;width:100%;z-index:100}.tabs [role=tabpanel].is-hidden{display:none}.node--form-page .list-of-links{margin-left:0;margin-top:0;width:100%}@media(min-width: 768px){.node--form-page .list-of-links{margin-top:0}}.node--form-page .list-of-links>.container{padding-top:0}.node--form-page .list-of-links .list-of-links__title{border-top:2px solid var(--color-black-20);margin:0 0 var(--spacing-layout-xl)}@media(min-width: 576px){.node--form-page .list-of-links .list-of-links__container{width:calc(100% - var(--spacing-layout-xl))}}@media(min-width: 768px){.node--form-page .list-of-links .list-of-links__container{width:100%}}.node--form-page .list-of-links .list-of-links__content{height:auto;margin-top:0}@media(min-width: 768px){.node--form-page .list-of-links .list-of-links__content{display:grid;grid-template-columns:auto auto auto;margin:0 var(--spacing-m) 0 0}}.node--form-page .list-of-links .list-of-links__item{align-self:stretch;border-left:4px solid var(--color-copper);margin-right:-4px;padding-left:var(--spacing-m);padding-right:var(--spacing-m)}.list-of-links--without-image .list-of-links__item .list-of-links__item__desc{color:var(--color-black-90);font-size:var(--fontsize-body-m)}.list-of-links--without-image .list-of-links__item .list-of-links__item__title{font-size:var(--fontsize-heading-m)}.js-form-type-webform-custom-composite{--border-width: 2px;--outline-width: 3px;--input-height: 56px;--textarea-height: 149px;--icon-size: var(--spacing-m);--helper-color-default: var(--color-black-60);--helper-color-invalid: var(--color-error);--icon-color-invalid: var(--color-error);--input-background-default: var(--color-white);--input-background-disabled: var(--color-black-10);--input-border-color-default: var(--color-black-50);--input-border-color-hover: var(--color-black-90);--input-border-color-focus: var(--color-black-90);--input-border-color-invalid: var(--color-error);--input-border-color-disabled: var(--color-black-10);--input-color-default: var(--color-black-90);--input-color-disabled: var(--color-black-40);--label-color-default: var(--color-black-90);--label-color-invalid: var(--color-black-90);--placeholder-color: var(--color-black-60);--focus-outline-color: var(--color-coat-of-arms)}.js-form-type-webform-custom-composite a.tabledrag-handle .handle{height:24px;width:24px}.js-form-type-webform-custom-composite input.form-number{background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);font-size:1.125em;height:var(--input-height);line-height:normal;padding:0 var(--spacing-s);width:100%}.js-form-type-webform-custom-composite table{border-collapse:collapse;border-spacing:0;margin-bottom:var(--spacing-m)}.js-form-type-webform-custom-composite table td{border-bottom:2px var(--color-black-20) solid;border-top:2px var(--color-black-20) solid;padding-left:var(--spacing-m);padding-top:var(--spacing-m)}@media(max-width: 768px){.js-form-type-webform-custom-composite table td{border:2px var(--color-black-20) solid}}.js-form-type-webform-custom-composite table td.webform-multiple-table--operations{border-bottom:2px var(--color-black-20) solid;border-top:2px var(--color-black-20) solid;padding-left:var(--spacing-m);padding-top:var(--spacing-m)}@media(max-width: 768px){.js-form-type-webform-custom-composite table td.webform-multiple-table--operations{background:var(--color-white);border:2px var(--color-black-20) solid;padding:10px 5px 5px}}.js-form-type-webform-custom-composite table td:first-child{border-left:2px var(--color-black-20) solid}.js-form-type-webform-custom-composite table td:last-child{border-right:2px var(--color-black-20) solid;padding:var(--spacing-s)}@media(min-width: 768px){.js-form-type-webform-custom-composite table td:last-child{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}div.ui-widget.ui-datepicker{padding:var(--spacing-2-xs)}div.ui-widget.ui-datepicker .ui-datepicker-header span.ui-icon{margin-left:-8px;margin-top:-8px;-webkit-mask-image:none;mask-image:none;transform:none}div.ui-widget.ui-datepicker .ui-datepicker-calendar{border:0;display:table;margin:0;max-width:100%}div.ui-widget.ui-datepicker .ui-datepicker-calendar th,div.ui-widget.ui-datepicker .ui-datepicker-calendar td{min-width:auto}details.accordion{--background-color: var(--color-white);--border-color: var(--color-black-60);--padding-horizontal: var(--spacing-m);--padding-vertical: var(--spacing-m);--header-font-color: var(--color-black-90);--header-font-size: var(--fontsize-heading-m);--header-line-height: var(--lineheight-m);--button-size: 28px;--header-focus-outline-color: var(--color-coat-of-arms);--content-font-color: var(--color-black-90);--content-font-size: var(--fontsize-body-m);--content-line-height: var(--lineheight-l);border-bottom:1px solid var(--border-color)}details.accordion .accordion_content{padding-bottom:var(--padding-vertical)}details.accordion[open] .accordion_heading_container span.hel-icon{transform:rotate(180deg)}.accordion_header{align-items:center;color:var(--header-font-color);display:flex;font-size:var(--header-font-size);font-weight:700;justify-content:space-between;line-height:var(--header-line-height);list-style:none;padding-bottom:var(--padding-vertical);padding-top:var(--padding-vertical);position:relative}.accordion_heading_container{align-items:center;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto calc(var(--button-size));width:100%}.accordion_heading_container span.hel-icon{height:var(--button-size) !important;width:var(--button-size) !important}.accordion_heading_container span.hel-icon{border:2px solid rgba(0,0,0,0);box-sizing:border-box;margin:auto}.webform-element-description{--helper-color-default: var(--color-black-60);color:var(--helper-color-default);display:block;font-size:var(--fontsize-body-m);line-height:var(--lineheight-l);margin-top:var(--spacing-s)}.webform-element-help{background:var(--color-white);border:2px solid rgba(0,0,0,0);color:var(--hdbt-color-black);height:var(--spacing-layout-xs);margin-right:4px;padding:0;position:absolute;right:0;top:-3px;width:var(--spacing-layout-xs);z-index:10}div[data-tippy-root]{width:350px}.tippy-box{background-color:var(--color-black-5);border-left:var(--spacing-xs) var(--color-coat-of-arms) solid;border-radius:0;color:var(--hdbt-color-black);padding:var(--spacing-s)}.tippy-box .webform-element-help--content{white-space:normal}.tippy-box .webform-element-help--content a:link,.tippy-box .webform-element-help--content a:visited,.tippy-box .webform-element-help--content a:active,.tippy-box .webform-element-help--content a:hover{color:var(--hdbt-color-black)}.tippy-arrow{color:var(--color-black-5)}.webform-element-help--wrapper-short{max-width:-moz-fit-content;max-width:fit-content}.webform-element-help-container--title{--border-width: 2px;--outline-width: 3px;--input-height: 56px;--textarea-height: 149px;--icon-size: var(--spacing-m)}fieldset.grants-fieldset{padding:var(--spacing-s)}@media(min-width: 768px){fieldset.grants-fieldset{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}fieldset.grants-fieldset .fieldset-wrapper{align-items:flex-end;display:flex;flex-wrap:wrap;gap:0 var(--spacing-layout-2-xs)}fieldset.grants-fieldset .fieldset-wrapper .form-item--error-message{grid-column:1}fieldset.grants-fieldset-short{max-width:var(--webform-element-width--input-large)}fieldset.grants-fieldset-medium{max-width:var(--webform-element-width--fieldset)}fieldset.grants-fieldset-medium .fieldset-wrapper{justify-content:center}fieldset.premises-composite--wrapper.fieldgroup,fieldset.rented-premise-composite--wrapper.fieldgroup,.community_officials_wrapper fieldset.fieldgroup,fieldset.grants-budget-other-cost--wrapper.fieldgroup,fieldset.grants-budget-other-income--wrapper.fieldgroup,fieldset.place-of-operation-composite--wrapper.fieldgroup,fieldset.rent-income-composite--wrapper.fieldgroup,fieldset.rent-cost-composite--wrapper.fieldgroup,fieldset.club-section-composite--wrapper.fieldgroup,fieldset.members-composite--wrapper.fieldgroup,fieldset.orienteering-map-composite--wrapper,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup{border-width:2px;margin-top:var(--spacing-layout-2-xs);max-width:100%;padding:var(--spacing-s);width:100%}@media(min-width: 768px){fieldset.premises-composite--wrapper.fieldgroup,fieldset.rented-premise-composite--wrapper.fieldgroup,.community_officials_wrapper fieldset.fieldgroup,fieldset.grants-budget-other-cost--wrapper.fieldgroup,fieldset.grants-budget-other-income--wrapper.fieldgroup,fieldset.place-of-operation-composite--wrapper.fieldgroup,fieldset.rent-income-composite--wrapper.fieldgroup,fieldset.rent-cost-composite--wrapper.fieldgroup,fieldset.club-section-composite--wrapper.fieldgroup,fieldset.members-composite--wrapper.fieldgroup,fieldset.orienteering-map-composite--wrapper,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden,.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden,fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden{background:#fff;-webkit-clip-path:initial;clip-path:initial;clip:auto;clip:initial;height:auto;margin-left:calc(var(--spacing-2-xs)*-1);left:auto;overflow:visible;padding:0 var(--spacing-2-xs);top:-12px;width:-moz-max-content;width:max-content}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden[\:has\(button.webform-element-help\)],.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden:has(button.webform-element-help),.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help){padding-right:var(--spacing-xl)}@media(min-width: 768px){fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden,.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden,fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden{left:auto}}.form-item-muu-liite fieldset.grants-attachments--wrapper{margin-bottom:0}fieldset.webform-composite-hidden-title .fieldset-wrapper>.form-item:last-child{margin-bottom:var(--spacing-layout-xs)}.js-form-type-webform-table table{width:100%}.js-form-type-webform-table th{text-align:left}.js-form-type-webform-table td{vertical-align:middle}.js-form-type-webform-table td>div{height:auto;margin-bottom:0}.js-form-type-webform-table td>div label{margin:-1px}.js-form-type-webform-table .hds-text-input label{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.form-item{margin-bottom:var(--spacing-layout-xs);position:relative}.form-item input[type=date],.form-item input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);font-size:1.125em;height:var(--input-height);line-height:normal;padding:0 var(--spacing-s);width:100%;will-change:transform,box-shadow}.webform-section{padding-bottom:var(--spacing-layout-2-xs)}.webform-section table:first-of-type{margin-top:0}.form-type-webform-multiple .webform-multiple-table table{max-width:100%;width:100%}@media(min-width: 768px){.form-type-webform-multiple .webform-multiple-table table{width:auto}}.hds-text-input{max-width:-moz-fit-content;max-width:fit-content;width:100%}.webform-section-grid-wrapper{display:grid;grid-template-columns:1fr}@media(min-width: 768px){.webform-section-grid-wrapper{grid-row-gap:var(--spacing-xl);grid-template-columns:1fr 2fr}}.webform-section-grid-wrapper>dt.webform-section-title{color:var(--hdbt-color-black);display:block;flex-shrink:0;font-size:var(--fontsize-heading-s);font-weight:500;-webkit-hyphens:none;hyphens:none;line-height:1;margin-bottom:var(--spacing-3-xs);margin-top:0;padding-right:var(--spacing-2-xl);width:100%}.webform-section-grid-wrapper .webform-section-wrapper{margin-bottom:var(--spacing-layout-xs);padding-left:var(--spacing-2-xl)}@media(min-width: 768px){.webform-section-grid-wrapper .webform-section-wrapper{margin-bottom:0;padding-left:0}}fieldset input[type=button]{margin-top:var(--spacing-m)}.webform-section-wrapper>.description{margin-bottom:var(--spacing-layout-xs)}.grants__page-header{margin-bottom:var(--spacing-layout-l);font-size:2rem}@media(min-width: 768px){.grants__page-header{font-size:3rem}}.webform-section-flex-wrapper{display:flex;flex-flow:row wrap;width:100%;justify-content:left}@media(min-width: 768px){.webform-section-flex-wrapper{flex-flow:row nowrap}.webform-section-flex-wrapper h3+*>*:first-child>label:first-of-type,.webform-section-flex-wrapper h3+*>*:first-child>*:first-child>label:first-of-type{margin-top:var(--spacing-2-xs);padding-top:0}.webform-section-flex-wrapper h3+*>*:first-child>p{line-height:normal;line-height:initial;margin-top:var(--spacing-2-xs)}.webform-section-flex-wrapper h3+*>*:first-child>h4{line-height:normal;line-height:initial;margin-top:var(--spacing-m)}}.webform-section-flex-wrapper .webform-element-help-container--title{position:relative}.webform-section-flex-wrapper>h2.webform-section-title,.webform-section-flex-wrapper>h3.webform-section-title,.webform-section-flex-wrapper>h4.webform-section-title,.webform-section-flex-wrapper>dt.webform-section-title{color:var(--hdbt-color-black);display:block;flex-shrink:0;font-size:24px;font-weight:500;-webkit-hyphens:manual;hyphens:manual;margin-bottom:var(--spacing-3-xs);margin-top:0;padding-right:var(--spacing-2-xl);width:100%}@media(min-width: 768px){.webform-section-flex-wrapper>h2.webform-section-title,.webform-section-flex-wrapper>h3.webform-section-title,.webform-section-flex-wrapper>h4.webform-section-title,.webform-section-flex-wrapper>dt.webform-section-title{font-size:32px;max-width:350px;width:30%}}.webform-section-flex-wrapper h4{font-size:var(--fontsize-heading-m);line-height:38px}.webform-section-flex-wrapper>.webform-section-wrapper{--line-height: 1.5;font-size:var(--fontsize-body-m);width:100%}@media(min-width: 768px){.webform-section-flex-wrapper>.webform-section-wrapper{padding-left:var(--spacing-2-xl)}}.webform-section-flex-wrapper .form-required::after{content:"*";display:inline}.webform-section-flex-wrapper legend,.webform-section-flex-wrapper label{display:block;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-2-xs);max-width:-moz-fit-content;max-width:fit-content;position:relative}.webform-section-flex-wrapper legend{padding:0 var(--spacing-2-xs);margin-left:calc(var(--spacing-2-xs)*-1);left:auto}.webform-section-flex-wrapper legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper label[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}.webform-section-flex-wrapper legend:has(button.webform-element-help),.webform-section-flex-wrapper label:has(button.webform-element-help){padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span:has(button.webform-element-help){padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper fieldset.fieldgroup legend>span[\:has\(button.webform-element-help\)]:not(.visually-hidden.fieldset-legend){padding-right:var(--spacing-l)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend:has(button.webform-element-help),.webform-section-flex-wrapper fieldset.fieldgroup legend>span:has(button.webform-element-help):not(.visually-hidden.fieldset-legend){padding-right:var(--spacing-l)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper fieldset.fieldgroup legend span.fieldset-legend:not(.visually-hidden)[\:has\(button.webform-element-help\)]{padding-right:0}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend:has(button.webform-element-help),.webform-section-flex-wrapper fieldset.fieldgroup legend span.fieldset-legend:not(.visually-hidden):has(button.webform-element-help){padding-right:0}.webform-section-flex-wrapper label.hds-radio-button__label{font-weight:normal}.webform-section-flex-wrapper .checkboxes--wrapper label{font-weight:normal}.webform-section-flex-wrapper .js-form-type-textarea .hds-text-input__input-wrapper{display:block}.webform-section-flex-wrapper .has-error,.webform-section-flex-wrapper .grant-applications--select-wrapper[\:has\(.has-error\)]{border-color:var(--color-error)}.webform-section-flex-wrapper .has-error,.webform-section-flex-wrapper .grant-applications--select-wrapper:has(.has-error){border-color:var(--color-error)}form .hds-text-input__input-wrapper,.hds-text-input__input-wrapper{flex-flow:row wrap}form .hds-text-input__input-wrapper .text-count-wrapper,.hds-text-input__input-wrapper .text-count-wrapper{flex-basis:100%}form .hds-text-input__input-wrapper input.webform--small,form .hds-text-input__input-wrapper textarea.webform--small,.hds-text-input__input-wrapper input.webform--small,.hds-text-input__input-wrapper textarea.webform--small{max-width:var(--webform-element-width--input-small);min-width:var(--webform-element-width--input-small);width:100%}form .hds-text-input__input-wrapper input.webform--medium,form .hds-text-input__input-wrapper textarea.webform--medium,.hds-text-input__input-wrapper input.webform--medium,.hds-text-input__input-wrapper textarea.webform--medium{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}form .hds-text-input__input-wrapper input.webform--large,form .hds-text-input__input-wrapper textarea.webform--large,.hds-text-input__input-wrapper input.webform--large,.hds-text-input__input-wrapper textarea.webform--large{max-width:var(--webform-element-width--input-large);min-width:var(--webform-element-width--input-small);width:100%}.webform--small div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-small);min-width:var(--webform-element-width--input-small);width:100%}.webform--medium div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}.webform--large div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}form .hds-checkbox{display:block}form .hds-checkbox label.hds-checkbox__label::after{content:""}fieldset.webform-composite-hidden-title{margin-bottom:var(--spacing-layout-2-xs);margin-top:0}.form-item-bank-account-account-number-select,.form-item-community-address-community-address-select{margin-bottom:0}.grants-profile-grants-profile table thead th h4{margin:0}.hakemus-form-page .main-content{margin-top:0}.hakemus-form-page h1{-webkit-hyphens:auto;hyphens:auto;word-break:break-word}.hakemus-form-errors ul li{list-style-type:none}.community_officials_wrapper .webform-readonly{margin:0}.community_officials_wrapper .hds-text-input__input-wrapper{margin:0}.community_officials_wrapper input[readonly=readonly]{height:1.25rem;margin:0;max-width:330px}.form-item--error-message{color:var(--color-error);margin-bottom:var(--spacing-layout-s);margin-top:var(--spacing-layout-2-xs)}fieldset .form-item--error-message,.community_officials_wrapper .form-item--error-message{margin-bottom:0}.form-item--error-message::before{--icon-size: 1.6rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle-fill);mask-image:var(--hel-icon--alert-circle-fill);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-error);content:" ";display:inline-block}input[type=radio]+label.form-required::after{content:""}.hds-radio-button:last-of-type,.hds-checkbox:last-of-type{margin-bottom:0}.hds-radio-button:last-of-type>label,.hds-checkbox:last-of-type>label{margin-bottom:0}@media(min-width: 992px){.place-of-operation-composite--wrapper.fieldgroup .hds-text-input,.club-section-composite--wrapper.fieldgroup .hds-text-input{max-width:100%}}.place-of-operation-composite--wrapper.fieldgroup .hds-radio-button .hds-radio-button__label,.club-section-composite--wrapper.fieldgroup .hds-radio-button .hds-radio-button__label{line-height:var(--lineheight-m) !important}@media(min-width: 992px){.place-of-operation-group__location,.place-of-operation-group__students,.place-of-operation-group__groups,.place-of-operation-group__personnel,.place-of-operation-group__rent,.place-of-operation-group__time{display:flex;justify-content:space-between}}@media(min-width: 992px){.place-of-operation-group__location--address,.place-of-operation-group__students--address,.place-of-operation-group__groups--address,.place-of-operation-group__personnel--address,.place-of-operation-group__rent--address,.place-of-operation-group__time--address{margin-top:0 !important}.place-of-operation-group__location--address,.place-of-operation-group__students--address,.place-of-operation-group__groups--address,.place-of-operation-group__personnel--address,.place-of-operation-group__rent--address,.place-of-operation-group__time--address{width:65%}}@media(min-width: 992px){.place-of-operation-group__location--post-code,.place-of-operation-group__students--post-code,.place-of-operation-group__groups--post-code,.place-of-operation-group__personnel--post-code,.place-of-operation-group__rent--post-code,.place-of-operation-group__time--post-code{margin-top:0 !important}.place-of-operation-group__location--post-code,.place-of-operation-group__students--post-code,.place-of-operation-group__groups--post-code,.place-of-operation-group__personnel--post-code,.place-of-operation-group__rent--post-code,.place-of-operation-group__time--post-code{width:30%}}@media(min-width: 992px){.place-of-operation-group__location--student-count,.place-of-operation-group__location--special-student-count,.place-of-operation-group__location--group-count,.place-of-operation-group__location--special-group-count,.place-of-operation-group__location--personnel-count,.place-of-operation-group__location--rent-amount,.place-of-operation-group__location--time-start,.place-of-operation-group__location--time-end,.place-of-operation-group__students--student-count,.place-of-operation-group__students--special-student-count,.place-of-operation-group__students--group-count,.place-of-operation-group__students--special-group-count,.place-of-operation-group__students--personnel-count,.place-of-operation-group__students--rent-amount,.place-of-operation-group__students--time-start,.place-of-operation-group__students--time-end,.place-of-operation-group__groups--student-count,.place-of-operation-group__groups--special-student-count,.place-of-operation-group__groups--group-count,.place-of-operation-group__groups--special-group-count,.place-of-operation-group__groups--personnel-count,.place-of-operation-group__groups--rent-amount,.place-of-operation-group__groups--time-start,.place-of-operation-group__groups--time-end,.place-of-operation-group__personnel--student-count,.place-of-operation-group__personnel--special-student-count,.place-of-operation-group__personnel--group-count,.place-of-operation-group__personnel--special-group-count,.place-of-operation-group__personnel--personnel-count,.place-of-operation-group__personnel--rent-amount,.place-of-operation-group__personnel--time-start,.place-of-operation-group__personnel--time-end,.place-of-operation-group__rent--student-count,.place-of-operation-group__rent--special-student-count,.place-of-operation-group__rent--group-count,.place-of-operation-group__rent--special-group-count,.place-of-operation-group__rent--personnel-count,.place-of-operation-group__rent--rent-amount,.place-of-operation-group__rent--time-start,.place-of-operation-group__rent--time-end,.place-of-operation-group__time--student-count,.place-of-operation-group__time--special-student-count,.place-of-operation-group__time--group-count,.place-of-operation-group__time--special-group-count,.place-of-operation-group__time--personnel-count,.place-of-operation-group__time--rent-amount,.place-of-operation-group__time--time-start,.place-of-operation-group__time--time-end{margin-top:0 !important}.place-of-operation-group__location--student-count,.place-of-operation-group__location--special-student-count,.place-of-operation-group__location--group-count,.place-of-operation-group__location--special-group-count,.place-of-operation-group__location--personnel-count,.place-of-operation-group__location--rent-amount,.place-of-operation-group__location--time-start,.place-of-operation-group__location--time-end,.place-of-operation-group__students--student-count,.place-of-operation-group__students--special-student-count,.place-of-operation-group__students--group-count,.place-of-operation-group__students--special-group-count,.place-of-operation-group__students--personnel-count,.place-of-operation-group__students--rent-amount,.place-of-operation-group__students--time-start,.place-of-operation-group__students--time-end,.place-of-operation-group__groups--student-count,.place-of-operation-group__groups--special-student-count,.place-of-operation-group__groups--group-count,.place-of-operation-group__groups--special-group-count,.place-of-operation-group__groups--personnel-count,.place-of-operation-group__groups--rent-amount,.place-of-operation-group__groups--time-start,.place-of-operation-group__groups--time-end,.place-of-operation-group__personnel--student-count,.place-of-operation-group__personnel--special-student-count,.place-of-operation-group__personnel--group-count,.place-of-operation-group__personnel--special-group-count,.place-of-operation-group__personnel--personnel-count,.place-of-operation-group__personnel--rent-amount,.place-of-operation-group__personnel--time-start,.place-of-operation-group__personnel--time-end,.place-of-operation-group__rent--student-count,.place-of-operation-group__rent--special-student-count,.place-of-operation-group__rent--group-count,.place-of-operation-group__rent--special-group-count,.place-of-operation-group__rent--personnel-count,.place-of-operation-group__rent--rent-amount,.place-of-operation-group__rent--time-start,.place-of-operation-group__rent--time-end,.place-of-operation-group__time--student-count,.place-of-operation-group__time--special-student-count,.place-of-operation-group__time--group-count,.place-of-operation-group__time--special-group-count,.place-of-operation-group__time--personnel-count,.place-of-operation-group__time--rent-amount,.place-of-operation-group__time--time-start,.place-of-operation-group__time--time-end{width:47.5%}}@media(min-width: 768px){.club-section__participants{display:flex;gap:var(--spacing-l);justify-content:space-between}}.club-section__participants input.form-text.hds-text-input__input{max-width:100%;width:100%}.club-section__totalhours input.form-text.hds-text-input__input{max-width:100%;width:100%}.hel-icon--size-xs{--icon-size: var(--spacing-layout-2-xs)}.hel-icon--size-s{--icon-size: var(--spacing-layout-xs)}.hel-icon--size-m{--icon-size: var(--spacing-layout-s)}.hel-icon--size-l{--icon-size: var(--spacing-layout-m)}.hel-icon--size-xl{--icon-size: var(--spacing-layout-l)}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within]:has(input[readonly]){margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper:focus-within[\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper:focus-within:has(input[readonly]){margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper[focus-within]:has(input[readonly]) input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper:focus-within[\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper:focus-within:has(input[readonly]) input[readonly]{width:calc(100% - var(--spacing-2-xs))}.form-item-application-number,.form-item-status,.form-item-applicant-type{display:none}.grants-handler__completion{background:var(--color-bus-light);padding:var(--spacing-layout-l) var(--spacing-layout-2-xl)}.grants-handler__completion h2{margin-top:var(--spacing-l)}.grants-handler__completion h3{font-size:1rem;font-weight:bold;margin-top:var(--spacing-m)}.grants-handler__completion__info-row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:flex-start;margin-bottom:var(--spacing-m)}.grants-handler__completion__button-row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:flex-start}.grants-handler__completion__longtext{margin:var(--spacing-l) 0}.hds-notification.notification-margin-bottom{margin-bottom:var(--spacing-layout-m)}.hds-notification__label{align-items:center}.hds-checkbox__input label{font-weight:normal}fieldset.grants-attachments--wrapper{margin-bottom:var(--spacing-layout-m)}fieldset.grants-attachments--wrapper legend{margin-bottom:var(--spacing-2-xs)}fieldset.grants-attachments--wrapper .form-item--error-message{width:100%}fieldset.grants-attachments--wrapper .js-form-type-managed-file{margin-bottom:0}.grants-applications-managed_file{position:relative}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button){left:0;position:relative}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[\:has\(input\:disabled\)]{background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[\:has\(input\:disabled\)]{background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button):has(input:disabled){background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[focus-within]{background:var(--color-black);border-color:var(--color-white);color:var(--color-white);outline:2px var(--color-black) solid}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button):focus-within{background:var(--color-black);border-color:var(--color-white);color:var(--color-white);outline:2px var(--color-black) solid}.grants-applications-managed_file input[type=file]{opacity:0;position:absolute}.form-managed-file{display:flex;flex-wrap:wrap;white-space:inherit}.form-managed-file>span{background-color:var(--color-info-light);border-bottom:2px dotted var(--color-coat-of-arms);display:inline-block;padding:var(--spacing-s) var(--spacing-2-xs)}.form-managed-file>.file-upload-js-error{flex-basis:100%}.grants-applications-managed_file label.hds-button{display:flex}.grants-attachments--wrapper .webform-readonly{display:none}.webform-multiple-table table{border-collapse:collapse;border:0px var(--color-white) solid;margin-bottom:var(--spacing-2-xs);max-width:-moz-fit-content;max-width:fit-content}.webform-multiple-table .webform-multiple-table--operations-two{min-width:60px}.webform-multiple-table tbody tr,.webform-multiple-table thead tr{align-items:center;justify-content:space-between;width:100%}.webform-multiple-table td,.webform-multiple-table th{max-width:100%;min-width:0;padding:0;width:100%}.webform-multiple-table table thead th{padding:var(--spacing-layout-2-xs)}div.hidden-head table{display:table}div.hidden-head table thead th{padding:0}div.hidden-head table tbody tr{border-bottom:var(--spacing-s) var(--color-white) solid}div.hidden-head table tbody tr:hover{background:rgba(0,0,0,0)}div.table-layout-form input.hds-text-input__input{width:100%}div.table-layout-form table{border:1px var(--color-black) solid;max-width:var(--webform-element-width--input-large)}div.table-layout-form table tbody tr{border:§0px var(--color-black-30) solid}div.table-layout-form table tbody tr td{border:1px var(--color-black-30) solid;padding:0}div.table-layout-form table tbody tr td input.hds-text-input__input[readonly]{padding:var(--spacing-layout-2-xs)}div.table-layout-form table .form-item{margin-bottom:0}.hds-text-input .hds-text-input__input.input--borderless{border:0 rgba(0,0,0,0) solid}#edit-subventions-items thead{background:var(--color-black-90);color:var(--color-white);text-align:left}#edit-subventions-items input.hds-text-input,#edit-subventions-items input.hds-text-input__input{background:rgba(0,0,0,0)}#subventions_table td.webform-multiple-table--operations,#subventions_table th.webform-multiple-table--operations{display:none}#subventions_table input.hds-text-input__input[readonly][name$="[amount]"]{background-color:var(--input-background-disabled);border-color:var(--input-border-color-disabled);color:var(--input-color-disabled);cursor:not-allowed}.form-item-muu-liite .webform-multiple-table--operations{display:none}.hidden-head>label{display:none}.webform-preview .accordion_header{font-size:28px;font-weight:300}@media(min-width: 768px){.webform-preview .accordion_header{font-size:36px;font-weight:500}}.webform-preview label{display:block;font-weight:bold}.grants-profile-grants-profile fieldset{background:var(--color-black-5);border:0 rgba(0,0,0,0) solid;margin:0;max-width:var(--webform-element-width--fieldset);padding:0 var(--spacing-layout-s) var(--spacing-layout-s);top:calc(-1*var(--spacing-m))}.grants-profile-grants-profile fieldset label{margin-bottom:var(--spacing-3-xs)}.grants-profile-grants-profile fieldset legend{font-size:var(--fontsize-body-l);margin-bottom:var(--spacing-m);padding-bottom:var(--spacing-s);position:relative;top:var(--spacing-l)}.grants-profile-grants-profile fieldset .fieldset-wrapper{display:flex;flex-flow:row wrap;justify-content:space-between}.grants-profile-grants-profile fieldset .hds-text-input{max-width:100%}.grants-profile-grants-profile fieldset div[class*=-address-postcode]{width:32%}.grants-profile-grants-profile fieldset div[class*=-address-city]{width:65%}.grants-profile--extrainfo .form-actions .button{margin-right:var(--spacing-2-xs)}.grants-stepper{--grants-stepper-color: var(--color-black);--grants-stepper-background-color: var(--color-white);--grants-stepper-disabled-color: var(--color-black-20);--grants-stepper-selected-step-label-color: var(--color-black-90);--grants-stepper-not-selected-step-label-color: var(--color-black);--grants-step-background-color: var(--color-white);--grants-step-content-color: var(--color-black);--grants-stepper-focus-border-color: var(--color-coat-of-arms);--grants-step-width: 120px;--circle-container-size: 36px;--progress-line-height: 2px;background-color:var(--grants-stepper-background-color);margin-bottom:var(--spacing-layout-m);position:relative}@media(max-width: 725px){.grants-stepper{--grants-step-width: 40px}}@media(max-width: 725px){.grants-stepper .grants-stepper__text{display:none}}.grants-stepper__inner{align-items:flex-start;display:flex;justify-content:space-between;margin:0;-ms-overflow-style:none;padding:0;position:relative;scroll-behavior:smooth;scrollbar-width:none;width:100%}.grants-stepper__lines{display:flex;height:var(--progress-line-height);left:calc(var(--grants-step-width)/2);line-height:var(--lineheight-l);position:absolute;transform:translateY(calc(var(--circle-container-size) / 2 + var(--progress-line-height) / 2));z-index:1}.grants-stepper__line{background-color:var(--grants-stepper-color);display:inline-block;height:100%;position:relative}.grants-stepper__line__disabled{background-color:var(--grants-stepper-disabled-color)}.grants-stepper__steps{background-color:var(--grants-stepper-background-color);box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;max-width:var(--grants-step-width);min-width:var(--grants-step-width);padding:3px}.grants-stepper__step{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,0);border:0;box-sizing:content-box;color:var(--grants-stepper-color);cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;outline:none;overflow:visible;padding:0;position:relative}.grants-stepper__step[disabled],.grants-stepper__step__disabled{color:var(--grants-stepper-disabled-color);cursor:not-allowed}.grants-stepper__step[disabled] .grants-stepper__circle,.grants-stepper__step__disabled .grants-stepper__circle{background-color:var(--grants-stepper-background-color);border:2px solid var(--grants-stepper-disabled-color);color:var(--grants-stepper-disabled-color)}.grants-stepper__step[disabled] .grants-stepper__text,.grants-stepper__step__disabled .grants-stepper__text{color:var(--grants-stepper-disabled-color)}.grants-stepper__step__circle_container{align-items:center;display:flex;height:var(--circle-container-size);justify-content:center;width:var(--circle-container-size);z-index:2}.grants-stepper__step__completed_container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:none;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px;vertical-align:middle}.grants-stepper .grants-stepper__error,.grants-stepper .grants-stepper__completed{display:none}.grants-stepper__text{color:var(--grants-stepper-not-selected-step-label-color);font-size:var(--fontsize-body-m);font-weight:500;line-height:var(--lineheight-l);margin-bottom:0;margin-top:6px;padding-left:var(--spacing-4-xs);padding-right:var(--spacing-4-xs);text-align:center;text-decoration:underline}.grants-stepper__circle{align-items:center;background-color:var(--grants-step-background-color);border:2px solid var(--grants-stepper-color);border-radius:16px;color:var(--grants-step-content-color);display:flex;height:28px;justify-content:center;outline:2px solid var(--grants-stepper-background-color);text-align:center;width:28px}.grants-stepper__number{font-size:var(--fontsize-body-m);font-weight:500;line-height:1.15}.grants-stepper .is-active .grants-stepper__circle{border:4px solid var(--grants-stepper-color);border-radius:18px;outline:none}.grants-stepper .is-active .grants-stepper__text{color:var(--grants-stepper-selected-step-label-color);font-weight:700;text-decoration:none}.grants-stepper .is-active .grants-stepper__number{color:var(--grants-stepper-selected-step-label-color);font-weight:700;text-decoration:none}.grants-stepper .is-complete .grants-stepper__container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:flex;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px}.grants-stepper .is-complete .grants-stepper__number{display:none}.grants-stepper .is-complete .grants-stepper__completed{display:inline-block}.grants-stepper .is-complete .grants-stepper__circle{opacity:0}.grants-stepper .is-complete .grants-stepper__step__completed_container{display:flex}.grants-stepper .has-errors .grants-stepper__container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:flex;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px}.grants-stepper .has-errors .grants-stepper__circle{border-color:var(--color-error);color:var(--color-error)}.grants-stepper .has-errors .grants-stepper__number{display:none}.grants-stepper .has-errors .grants-stepper__error{display:inline-block}.grants-stepper .progress-marker::before{display:none}.grants-stepper .progress-step .progress-marker{color:var(--color-black)}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker:focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step .progress-marker:focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step:last-child{flex-grow:1}.grant-applications--select-wrapper{--border-width: 2px;--input-height: 56px;--menu-item-height: 53px;--icon-size: var(--spacing-m);--helper-color-default: var(--color-black-60);--helper-color-invalid: var(--color-error);--icon-color-invalid: var(--color-error);--input-background-default: var(--color-white);--input-background-disabled: var(--color-black-10);--input-border-color-default: var(--color-black-50);--input-border-color-hover: var(--color-black-90);--input-border-color-focus: var(--color-black-90);--input-border-color-invalid: var(--color-error);--input-border-color-disabled: var(--color-black-10);--input-color-default: var(--color-black-90);--input-color-disabled: var(--color-black-40);--label-color-default: var(--color-black-90);--label-color-invalid: var(--color-black-90);--placeholder-color: var(--color-black-60);--focus-outline-color: var(--color-coat-of-arms);align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);cursor:pointer;display:block;font-size:1.125em;grid-template-areas:"select";line-height:normal;max-width:30ch;min-width:15ch;padding:.25em .5em;position:relative;width:100%}.grant-applications--select-wrapper select{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border:none;color:var(--dropdown-color-default);cursor:inherit;display:flex;font-family:inherit;font-size:var(--fontsize-body-l);height:var(--input-height);line-height:inherit;margin:0;min-height:var(--menu-item-height);outline:none;padding:calc(var(--spacing-s) - var(--border-width)*2) var(--spacing-s);width:100%;z-index:1}.grant-applications--select-wrapper select::-ms-expand{display:none}.grant-applications--select-wrapper i.hel-icon{pointer-events:none;position:absolute;right:calc(var(--spacing-s) - var(--border-width)*2);top:calc(var(--spacing-s) - var(--border-width)*2)}.grant-applications--select-wrapper select,.grant-applications--select-wrapper::after{grid-area:select}.grant-applications--select-wrapper:not(.select--multiple)::after{background-color:var(--helper-color-default);-webkit-clip-path:polygon(100% 0%, 0 0%, 50% 100%);clip-path:polygon(100% 0%, 0 0%, 50% 100%);content:"";height:.5em;justify-self:end;width:.8em}.grant-applications--select-wrapper select:focus+.grant-applications--select-focus{border:2px solid var(--focus-outline-color);border-radius:inherit;bottom:-1px;left:-1px;position:absolute;right:-1px;top:-1px}.webform-submission__application_id{border-bottom:1px var(--color-black-20) solid;padding-bottom:var(--spacing-xl)}.webform-submission__application_id--header{font-size:1rem;font-weight:bold}.webform-submission__title-wrapper{padding-top:var(--spacing-2-xl)}.webform-submission__title-wrapper h1{max-width:100%}.webform-submission ul{list-style:none;margin-top:0;padding-left:0}.webform-submission-information{background:var(--color-silver-light);margin-top:var(--spacing-3-xl);padding:var(--spacing-l)}.webform-submission-information .webform-submission-information{margin-top:var(--spacing-l);padding:0}.webform-submission-information h4{margin-top:0}.webform-submission-information h5{font-size:var(--fontsize-body-m);margin-top:var(--spacing-s)}.webform-submission-information__row{display:flex}.webform-submission-information__row-edit{margin-top:var(--spacing-s)}.webform-submission-information__row-top{align-items:center;border-bottom:1px solid var(--color-black-20);justify-content:space-between}@media(max-width: 550px){.webform-submission-information__row-top{display:block}}.webform-submission-information__row-main{flex-flow:row nowrap;gap:var(--spacing-m);justify-content:space-between}@media(max-width: 1179px){.webform-submission-information__row-main{flex-flow:row wrap}}.webform-submission-information__row-main>div{flex:1}@media(max-width: 1179px){.webform-submission-information__row-main>div{flex:auto;width:100%}}.webform-submission-information__row-main>div ul{list-style-type:none;margin-bottom:0;padding-left:0}.webform-submission-information__row-main>div ul li{margin:0;padding:0}.webform-submission-information__supportlinks{display:flex;flex-flow:row nowrap;min-width:-moz-fit-content;min-width:fit-content}.webform-submission-information__supportlinks .hds-loading-spinner{left:0}.webform-submission-information__supportlinks .hds-button{min-width:-moz-fit-content;min-width:fit-content}.hel-icon.hel-icon--copy{-webkit-mask-image:url("data:image/svg+xml,%3Csvg class='Icon-module_icon__1Jtzj icon_hel-icon__1YqNC Icon-module_s__2WGWe icon_hel-icon--size-s__2Lkik' viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect width='24' height='24'%3E%3C/rect%3E%3Cpath fill='currentColor' d='M6,10 L6,12 L5,12 L5,18 L12,18 L12,17 L14,17 L14,19 C14,19.5522847 13.5522847,20 13,20 L4,20 C3.44771525,20 3,19.5522847 3,19 L3,11 C3,10.4477153 3.44771525,10 4,10 L6,10 Z M20,4 C20.5522847,4 21,4.44771525 21,5 L21,15 C21,15.5522847 20.5522847,16 20,16 L8,16 C7.44771525,16 7,15.5522847 7,15 L7,5 C7,4.44771525 7.44771525,4 8,4 L20,4 Z M19,6 L9,6 L9,14 L19,14 L19,6 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg class='Icon-module_icon__1Jtzj icon_hel-icon__1YqNC Icon-module_s__2WGWe icon_hel-icon--size-s__2Lkik' viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect width='24' height='24'%3E%3C/rect%3E%3Cpath fill='currentColor' d='M6,10 L6,12 L5,12 L5,18 L12,18 L12,17 L14,17 L14,19 C14,19.5522847 13.5522847,20 13,20 L4,20 C3.44771525,20 3,19.5522847 3,19 L3,11 C3,10.4477153 3.44771525,10 4,10 L6,10 Z M20,4 C20.5522847,4 21,4.44771525 21,5 L21,15 C21,15.5522847 20.5522847,16 20,16 L8,16 C7.44771525,16 7,15.5522847 7,15 L7,5 C7,4.44771525 7.44771525,4 8,4 L20,4 Z M19,6 L9,6 L9,14 L19,14 L19,6 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.webform-submission-form .form-actions{border-top:1px rgba(0,0,0,.6) solid;margin-top:var(--spacing-l);padding-top:var(--spacing-2-xl)}@media(min-width: 768px){.webform-submission-form .form-actions{display:flex;flex-direction:row-reverse}}.webform-submission-form .form-actions .actions{display:flex;flex-wrap:wrap}.webform-submission-form .form-actions button{margin-left:0}@media(min-width: 768px){.webform-submission-form .form-actions button{margin-left:var(--spacing-2-xs)}}.webform-submission-form .form-actions input{margin-bottom:var(--spacing-layout-2-xs);width:100%}@media(min-width: 768px){.webform-submission-form .form-actions input{width:auto}}.webform-submission-form .form-actions input.webform-button--draft{background:rgba(0,0,0,0);border:0 rgba(0,0,0,0) solid;color:var(--hdbt-color-black);order:3;text-decoration:underline}.webform-submission-form .form-actions button.webform-button--next span::after,.webform-submission-form .form-actions button.webform-button--preview span::after{content:">";margin-left:var(--spacing-2-xs)}.webform-submission-form .form-actions button.webform-button--previous span::before{content:"<";margin-right:var(--spacing-2-xs)}.webform-submission-form .form-actions input.webform-button--previous{background:var(--color-white);color:var(--border-color)}.webform-button--draft .hds-button__label::before{background-color:currentColor;background-size:contain;content:"";display:inline-block;flex-shrink:0;height:24px;margin-right:var(--spacing-2-xs);-webkit-mask-image:var(--hel-icon--download-cloud);mask-image:var(--hel-icon--download-cloud);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:24px 24px;mask-size:24px 24px;transition:transform .2s linear;vertical-align:bottom;width:24px}.webform-submission-messages{background:var(--color-silver-light);margin-top:var(--spacing-3-xl);padding:var(--spacing-l)}.webform-submission-messages h4,.webform-submission-messages h5{margin-top:0}.webform-submission-messages hr{margin:var(--spacing-l) 0}.webform-submission-messages__new-message{align-items:center;background:var(--color-alert);display:inline-flex;font-weight:bold;gap:var(--spacing-2-xs);margin-bottom:var(--spacing-m);padding:var(--spacing-2-xs) var(--spacing-xs);text-transform:uppercase}.webform-submission-messages__messages-list{list-style:none;margin:0;padding:0}.webform-submission-messages__message{margin:0;padding:0}.webform-submission-messages__message__attachments{list-style:none}.webform-submission-messages__message .hds-button{margin-top:var(--spacing-s)}.js-form-type-grants-webform-summation-field{max-width:var(--webform-element-width--input-large);text-align:right}.js-form-type-grants-webform-summation-field .grants-webform-summation-field{display:inline-block;padding:var(--spacing-xs) var(--spacing-m)}.webform-print-header,.webform-print-footer{display:none}.webform-print .main-content{display:block}.webform-submission--view-mode-html .hds-text-input,.webform-submission-data-preview-page .hds-text-input,.webform-print-page-html .hds-text-input{max-width:100%}.webform-submission--view-mode-html .print-label,.webform-submission-data-preview-page .print-label,.webform-print-page-html .print-label{display:block;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-3-xs);margin-top:0;max-width:-moz-fit-content;max-width:fit-content;padding-right:var(--spacing-xl);position:relative}.webform-submission--view-mode-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-submission--view-mode-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type,.webform-submission-data-preview-page .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-submission-data-preview-page .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type,.webform-print-page-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-print-page-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type{line-height:normal}.webform-submission--view-mode-html .print-notification,.webform-submission-data-preview-page .print-notification,.webform-print-page-html .print-notification{border:2px var(--color-black) solid;font-weight:bold;margin-top:var(--spacing-2-xl);padding:var(--spacing-layout-s)}.webform-submission--view-mode-html .print-notification .print-notification--icon,.webform-submission-data-preview-page .print-notification .print-notification--icon,.webform-print-page-html .print-notification .print-notification--icon{height:22px;margin-right:var(--spacing-2-xs);vertical-align:text-top;width:22px}.webform-submission--view-mode-html .webform-print-page-wizard-page~.webform-print-page-wizard-page h2,.webform-submission-data-preview-page .webform-print-page-wizard-page~.webform-print-page-wizard-page h2,.webform-print-page-html .webform-print-page-wizard-page~.webform-print-page-wizard-page h2{page-break-after:avoid;page-break-before:always}.webform-submission--view-mode-html div.hds-text-input__input,.webform-submission-data-preview-page div.hds-text-input__input,.webform-print-page-html div.hds-text-input__input{background:var(--color-white);border:2px var(--color-black) solid;height:var(--spacing-2-xl);width:100%}.webform-submission--view-mode-html div.hds-text-input__textarea,.webform-submission-data-preview-page div.hds-text-input__textarea,.webform-print-page-html div.hds-text-input__textarea{background:var(--color-white);border:2px var(--color-black) solid;height:var(--spacing-layout-2-xl);width:100%}.webform-submission--view-mode-html .webform-section-wrapper .hds-notification,.webform-submission-data-preview-page .webform-section-wrapper .hds-notification,.webform-print-page-html .webform-section-wrapper .hds-notification{margin-top:var(--spacing-s)}.webform-submission--view-mode-html .webform-print-page-body h2,.webform-submission-data-preview-page .webform-print-page-body h2,.webform-print-page-html .webform-print-page-body h2{margin-bottom:var(--spacing-layout-s)}.webform-submission--view-mode-html .webform-print-wrapper-table,.webform-submission-data-preview-page .webform-print-wrapper-table,.webform-print-page-html .webform-print-wrapper-table{border:0 rgba(0,0,0,0) solid;display:table;max-width:100%;overflow-x:visible;overflow-x:initial;width:100%}.webform-submission--view-mode-html .webform-print-wrapper-table thead,.webform-submission--view-mode-html .webform-print-wrapper-table tbody,.webform-submission--view-mode-html .webform-print-wrapper-table tfoot,.webform-submission--view-mode-html .webform-print-wrapper-table tr,.webform-submission--view-mode-html .webform-print-wrapper-table tbody tr:hover,.webform-submission--view-mode-html .webform-print-wrapper-table td,.webform-submission--view-mode-html .webform-print-wrapper-table td:first-child,.webform-submission--view-mode-html .webform-print-wrapper-table th,.webform-submission-data-preview-page .webform-print-wrapper-table thead,.webform-submission-data-preview-page .webform-print-wrapper-table tbody,.webform-submission-data-preview-page .webform-print-wrapper-table tfoot,.webform-submission-data-preview-page .webform-print-wrapper-table tr,.webform-submission-data-preview-page .webform-print-wrapper-table tbody tr:hover,.webform-submission-data-preview-page .webform-print-wrapper-table td,.webform-submission-data-preview-page .webform-print-wrapper-table td:first-child,.webform-submission-data-preview-page .webform-print-wrapper-table th,.webform-print-page-html .webform-print-wrapper-table thead,.webform-print-page-html .webform-print-wrapper-table tbody,.webform-print-page-html .webform-print-wrapper-table tfoot,.webform-print-page-html .webform-print-wrapper-table tr,.webform-print-page-html .webform-print-wrapper-table tbody tr:hover,.webform-print-page-html .webform-print-wrapper-table td,.webform-print-page-html .webform-print-wrapper-table td:first-child,.webform-print-page-html .webform-print-wrapper-table th{background:rgba(0,0,0,0);border:0;color:var(--color-black)}.webform-submission--view-mode-html .webform-print-wrapper-table ul,.webform-submission-data-preview-page .webform-print-wrapper-table ul,.webform-print-page-html .webform-print-wrapper-table ul{margin:0;padding:0}.webform-submission--view-mode-html .webform-print-wrapper-table ul li,.webform-submission-data-preview-page .webform-print-wrapper-table ul li,.webform-print-page-html .webform-print-wrapper-table ul li{border-bottom:1px var(--color-black-50) solid;list-style:none;margin-top:0;padding:1rem 0}.webform-submission--view-mode-html .webform-print-wrapper-table ul li:last-of-type,.webform-submission-data-preview-page .webform-print-wrapper-table ul li:last-of-type,.webform-print-page-html .webform-print-wrapper-table ul li:last-of-type{border-bottom:0 rgba(0,0,0,0) solid}.webform-submission--view-mode-html .webform-print-wrapper-table thead,.webform-submission-data-preview-page .webform-print-wrapper-table thead,.webform-print-page-html .webform-print-wrapper-table thead{display:table-header-group}.webform-submission--view-mode-html .webform-print-wrapper-table thead th,.webform-submission-data-preview-page .webform-print-wrapper-table thead th,.webform-print-page-html .webform-print-wrapper-table thead th{padding:0}.webform-submission--view-mode-html .webform-print-wrapper-table tfoot,.webform-submission-data-preview-page .webform-print-wrapper-table tfoot,.webform-print-page-html .webform-print-wrapper-table tfoot{display:table-footer-group}.webform-submission--view-mode-html .webform-submission-data>section,.webform-submission-data-preview-page .webform-submission-data>section,.webform-print-page-html .webform-submission-data>section{border-top:1px var(--color-black-20) solid;padding-top:var(--spacing-layout-l)}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper{display:block}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>h2{font-size:var(--fontsize-heading-l) !important;margin:0 0 2mm !important;padding:0 !important;width:100% !important}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>h2{font-weight:500;min-width:100%}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper{padding:6mm 0}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label{font-weight:500}.webform-submission--view-mode-html .webform-submission-data>section.hds-notification,.webform-submission-data-preview-page .webform-submission-data>section.hds-notification,.webform-print-page-html .webform-submission-data>section.hds-notification{padding-top:var(--spacing-s)}@media print{@page{.webform-submission--view-mode-html,.webform-submission-data-preview-page,.webform-print-page-html{margin:0;size:A4}}.webform-submission--view-mode-html h1,.webform-submission-data-preview-page h1,.webform-print-page-html h1{margin:0;position:relative}.webform-submission--view-mode-html details,.webform-submission-data-preview-page details,.webform-print-page-html details{page-break-before:always}.webform-submission--view-mode-html .details-section-divider,.webform-submission-data-preview-page .details-section-divider,.webform-print-page-html .details-section-divider{page-break-after:always}.webform-submission--view-mode-html label,.webform-submission-data-preview-page label,.webform-print-page-html label{font-size:8pt;margin-bottom:0}.webform-submission--view-mode-html section,.webform-submission-data-preview-page section,.webform-print-page-html section{border-top:0 var(--color-black-20) solid !important;padding-top:0 !important}.webform-submission--view-mode-html section,.webform-submission-data-preview-page section,.webform-print-page-html section{margin-bottom:0;padding-bottom:0}.webform-submission--view-mode-html div.main-content,.webform-submission-data-preview-page div.main-content,.webform-print-page-html div.main-content{margin:0}.webform-submission--view-mode-html button,.webform-submission--view-mode-html footer.footer,.webform-submission--view-mode-html header.header,.webform-submission--view-mode-html nav.breadcrumb,.webform-submission--view-mode-html .form-actions,.webform-submission--view-mode-html .hds-notification,.webform-submission--view-mode-html .messages__container,.webform-submission--view-mode-html .tools__container,.webform-submission--view-mode-html .breadcrumb__container,.webform-submission--view-mode-html .webform-progress,.webform-submission--view-mode-html .webform-progress-tracker,.webform-submission--view-mode-html .webform-progress-tracker-mobile,.webform-submission--view-mode-html .webform-multiple-add,.webform-submission--view-mode-html .webform-multiple-table--operations,.webform-submission-data-preview-page button,.webform-submission-data-preview-page footer.footer,.webform-submission-data-preview-page header.header,.webform-submission-data-preview-page nav.breadcrumb,.webform-submission-data-preview-page .form-actions,.webform-submission-data-preview-page .hds-notification,.webform-submission-data-preview-page .messages__container,.webform-submission-data-preview-page .tools__container,.webform-submission-data-preview-page .breadcrumb__container,.webform-submission-data-preview-page .webform-progress,.webform-submission-data-preview-page .webform-progress-tracker,.webform-submission-data-preview-page .webform-progress-tracker-mobile,.webform-submission-data-preview-page .webform-multiple-add,.webform-submission-data-preview-page .webform-multiple-table--operations,.webform-print-page-html button,.webform-print-page-html footer.footer,.webform-print-page-html header.header,.webform-print-page-html nav.breadcrumb,.webform-print-page-html .form-actions,.webform-print-page-html .hds-notification,.webform-print-page-html .messages__container,.webform-print-page-html .tools__container,.webform-print-page-html .breadcrumb__container,.webform-print-page-html .webform-progress,.webform-print-page-html .webform-progress-tracker,.webform-print-page-html .webform-progress-tracker-mobile,.webform-print-page-html .webform-multiple-add,.webform-print-page-html .webform-multiple-table--operations{display:none !important}.webform-submission--view-mode-html .gin--horizontal-toolbar .dialog-off-canvas-main-canvas,.webform-submission-data-preview-page .gin--horizontal-toolbar .dialog-off-canvas-main-canvas,.webform-print-page-html .gin--horizontal-toolbar .dialog-off-canvas-main-canvas{padding:0 !important}.webform-submission--view-mode-html .hds-text-input,.webform-submission-data-preview-page .hds-text-input,.webform-print-page-html .hds-text-input{max-width:100%}.webform-submission--view-mode-html .hds-text-input .hds-text-input__input,.webform-submission-data-preview-page .hds-text-input .hds-text-input__input,.webform-print-page-html .hds-text-input .hds-text-input__input{height:1cm}.webform-submission--view-mode-html .hds-text-input textarea.hds-text-input__input,.webform-submission--view-mode-html .hds-text-input div.hds-text-input__textarea,.webform-submission-data-preview-page .hds-text-input textarea.hds-text-input__input,.webform-submission-data-preview-page .hds-text-input div.hds-text-input__textarea,.webform-print-page-html .hds-text-input textarea.hds-text-input__input,.webform-print-page-html .hds-text-input div.hds-text-input__textarea{height:6cm;max-width:100%;min-width:100%;width:100%}.webform-submission--view-mode-html .hds-text-input .hds-text-input__input[readonly],.webform-submission--view-mode-html .hds-text-input .hds-text-input__input,.webform-submission-data-preview-page .hds-text-input .hds-text-input__input[readonly],.webform-submission-data-preview-page .hds-text-input .hds-text-input__input,.webform-print-page-html .hds-text-input .hds-text-input__input[readonly],.webform-print-page-html .hds-text-input .hds-text-input__input{border:2px var(--color-black) solid}.webform-submission--view-mode-html .webform-element,.webform-submission-data-preview-page .webform-element,.webform-print-page-html .webform-element{border:1px var(--color-black) solid;margin-bottom:8mm;padding:2.5mm;position:relative}.webform-submission--view-mode-html .webform-preview,.webform-submission-data-preview-page .webform-preview,.webform-print-page-html .webform-preview{margin-top:0}.webform-submission--view-mode-html .webform-preview label,.webform-submission-data-preview-page .webform-preview label,.webform-print-page-html .webform-preview label{align-items:flex-end;display:flex;font-size:8pt;height:100%;left:0;pointer-events:none;position:absolute;top:-100%;width:100%}.webform-submission--view-mode-html .webform-preview .webform-element,.webform-submission-data-preview-page .webform-preview .webform-element,.webform-print-page-html .webform-preview .webform-element{border:1px var(--color-black) solid;margin-bottom:8mm;padding:2.5mm;position:relative;top:5mm}.webform-submission--view-mode-html .webform-preview .webform-multiple-table--operations,.webform-submission-data-preview-page .webform-preview .webform-multiple-table--operations,.webform-print-page-html .webform-preview .webform-multiple-table--operations{display:none}.webform-submission--view-mode-html .webform-print-header,.webform-submission-data-preview-page .webform-print-header,.webform-print-page-html .webform-print-header{align-items:center;background:var(--color-white);border-bottom:1px var(--color-black-40) solid;display:flex;flex-flow:row nowrap;font-size:9pt;height:21mm;left:0;max-width:100%;min-width:100%;position:fixed;top:0;width:100%;z-index:1000}.webform-submission--view-mode-html .webform-print-header svg,.webform-submission-data-preview-page .webform-print-header svg,.webform-print-page-html .webform-print-header svg{color:var(--color-black);display:block;height:25mm;margin-right:3mm;width:55mm}.webform-submission--view-mode-html .webform-print-header .webform-print-header-left-text,.webform-submission-data-preview-page .webform-print-header .webform-print-header-left-text,.webform-print-page-html .webform-print-header .webform-print-header-left-text{color:var(--color-black-40);text-align:left;width:100%}.webform-submission--view-mode-html .webform-print-header .webform-print-header-right-text,.webform-submission-data-preview-page .webform-print-header .webform-print-header-right-text,.webform-print-page-html .webform-print-header .webform-print-header-right-text{color:var(--color-black-40);text-align:right;width:100%}.webform-submission--view-mode-html .webform-print-footer,.webform-submission-data-preview-page .webform-print-footer,.webform-print-page-html .webform-print-footer{align-items:center;background:var(--color-white);border-top:1px var(--color-black-40) solid;bottom:0;display:flex;flex-flow:row nowrap;font-size:9pt;height:17mm;left:0;max-width:100%;min-width:100%;position:fixed;width:100%;z-index:1000}.webform-submission--view-mode-html .webform-print-footer svg,.webform-submission-data-preview-page .webform-print-footer svg,.webform-print-page-html .webform-print-footer svg{color:var(--color-black);display:block;height:15mm;margin-right:3mm;width:33mm}.webform-submission--view-mode-html .webform-print-footer .webform-print-footer-left-text,.webform-submission-data-preview-page .webform-print-footer .webform-print-footer-left-text,.webform-print-page-html .webform-print-footer .webform-print-footer-left-text{color:var(--color-black-40);text-align:left;width:100%}.webform-submission--view-mode-html .webform-print-footer .webform-print-footer-right-text,.webform-submission-data-preview-page .webform-print-footer .webform-print-footer-right-text,.webform-print-page-html .webform-print-footer .webform-print-footer-right-text{color:var(--color-black-40);text-align:right;width:100%}.webform-submission--view-mode-html .webform-print-header-space,.webform-submission-data-preview-page .webform-print-header-space,.webform-print-page-html .webform-print-header-space{background:var(--color-white);font-size:9pt;height:21mm}.webform-submission--view-mode-html .webform-print-footer-space,.webform-submission-data-preview-page .webform-print-footer-space,.webform-print-page-html .webform-print-footer-space{background:var(--color-white);font-size:9pt;height:17mm}.webform-submission--view-mode-html .webform-print-wrapper-table,.webform-submission-data-preview-page .webform-print-wrapper-table,.webform-print-page-html .webform-print-wrapper-table{border:0;margin:0;overflow-x:visible;overflow-x:initial}.webform-submission--view-mode-html .webform-section-flex-wrapper,.webform-submission-data-preview-page .webform-section-flex-wrapper,.webform-print-page-html .webform-section-flex-wrapper{flex-flow:row wrap}.webform-submission--view-mode-html .webform-section-flex-wrapper>h3.webform-section-title,.webform-submission-data-preview-page .webform-section-flex-wrapper>h3.webform-section-title,.webform-print-page-html .webform-section-flex-wrapper>h3.webform-section-title{max-width:100%;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper,.webform-submission-data-preview-page .webform-section-grid-wrapper,.webform-print-page-html .webform-section-grid-wrapper{display:flex;flex-flow:row nowrap}.webform-submission--view-mode-html .webform-section-grid-wrapper>h3.webform-section-title,.webform-submission-data-preview-page .webform-section-grid-wrapper>h3.webform-section-title,.webform-print-page-html .webform-section-grid-wrapper>h3.webform-section-title{font-size:1.25rem;margin-top:0;max-width:5cm;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents{margin-top:0;max-width:100%;padding-left:1cm;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents dt,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents dt,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents dt{font-weight:bold;margin:0;padding:0;page-break-after:avoid}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents dd,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents dd,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents dd{margin:0;padding:0;page-break-before:avoid}.webform-submission--view-mode-html .webform-print-page-body h2,.webform-submission-data-preview-page .webform-print-page-body h2,.webform-print-page-html .webform-print-page-body h2{margin-bottom:1cm}}.webform-submission-data dl dt{font-weight:bold}.webform-submission-data dl dd{margin:0;padding:0}.webform-submission-data dl dl{padding-left:var(--spacing-2-xs)}.webform-submission-data dl>br{display:none}.webform-print-page-html .webform-section-wrapper>h4,.webform-print-page-html .webform-section-wrapper .print-label{margin-top:var(--spacing-2-xs);line-height:1.5}.webform-print-page-html .webform-section-wrapper fieldset{padding:var(--spacing-s)}@media(min-width: 768px){.webform-print-page-html .webform-section-wrapper fieldset{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}.application-list{padding-bottom:var(--spacing-xl);padding-left:0}.application-list__processed-human-readable{display:none}.application-list__item{background:var(--color-bus-light);display:block;margin:var(--spacing-m) 0;padding:var(--spacing-2-xl) var(--spacing-s) var(--spacing-m);position:relative}.application-list__item .new-message{background-color:var(--color-alert);border-radius:var(--spacing-xl);display:inline-block;padding:var(--spacing-2-xs)}.application-list__item .new-message .hel-icon--size-s{height:20px;width:20px}.application-list__item h3,.application-list__item h4{margin-top:var(--spacing-xs)}.application-list__item h4{font-size:1rem}.application-list__item--submitted{display:none}.application-list__item__link{display:flex;margin-top:var(--spacing-m)}.application-list__item__link a{font-size:1.25rem}.application-list__item__link a i{vertical-align:text-bottom}.application-list__item__row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:space-between}.application-list__item__row__left{justify-content:flex-start}.application-list__item__row__top{padding:var(--spacing-2-xs) var(--spacing-s) var(--spacing-2-xs) 0;position:absolute;top:0;width:100%}.application-list__item--status{--status-label-height: 32px;align-items:center;border-radius:20px;display:inline-flex;font-size:var(--fontsize-body-s);line-height:var(--status-label-height);min-height:var(--status-label-height);padding:var(--spacing-3-xs) var(--spacing-s);padding-left:var(--spacing-xs);vertical-align:middle}.application-list__item--status+.hds-loading-spinner{display:inline-block;left:10px;margin:0;padding:0;position:relative;top:var(--spacing-3-xs)}.application-list__item--status.hide-spinner+.hds-loading-spinner{display:none}.application-list__item--status+div+.application-list__item--error{display:none}.application-list__item--status.show-error{background:var(--color-black-20);color:var(--color-black-90)}.application-list__item--status.show-error+div+.application-list__item--error{display:inline-flex;left:var(--spacing-xs);margin:0;padding:0;position:relative;top:var(--spacing-3-xs)}.application-list__item--status.show-error+div+.application-list__item--error .application-list--error-text{display:inline-block;margin-left:var(--spacing-2-xs)}.application-list__item--status--draft{padding-left:0}.application-list__item--status--sent,.application-list__item--status--submitted{background:var(--color-black-10)}.application-list__item--status--sent::before,.application-list__item--status--submitted::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle);mask-image:var(--hel-icon--alert-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-black);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--received,.application-list__item--status--pending,.application-list__item--status--processing,.application-list__item--status--preparing{background:var(--color-info);color:var(--color-white)}.application-list__item--status--received::before,.application-list__item--status--pending::before,.application-list__item--status--processing::before,.application-list__item--status--preparing::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--info-circle);mask-image:var(--hel-icon--info-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--done,.application-list__item--status--ready,.application-list__item--status--resolved{background:var(--color-success);color:var(--color-white)}.application-list__item--status--done::before,.application-list__item--status--ready::before,.application-list__item--status--resolved::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--check-circle);mask-image:var(--hel-icon--check-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--rejected,.application-list__item--status--deleted,.application-list__item--status--canceled,.application-list__item--status--cancelled{background:var(--color-alert)}.application-list__item--status--rejected::before,.application-list__item--status--deleted::before,.application-list__item--status--canceled::before,.application-list__item--status--cancelled::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle);mask-image:var(--hel-icon--alert-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-black);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--error{background:var(--color-black-20);color:var(--color-black);text-transform:uppercase}.application-list__item--status--error .hel-icon{margin-right:var(--spacing-3-xs)}.application-list__count{font-size:1.5rem}.application-list__count-value{font-weight:bold}.application-list__information-row{align-items:flex-end;display:flex;flex-flow:row nowrap;justify-content:space-between;width:100%}@media(max-width: 35rem){.application-list__information-row{flex-flow:row wrap}}.application-list__information-row .grant-applications--select-wrapper select{max-width:100%;width:322px}.application-list__status__wrapper{background:var(--color-black-5)}.application-list__status__container{display:flex;flex-flow:row wrap;gap:var(--spacing-layout-m);justify-content:flex-start;padding-bottom:var(--spacing-m);padding-top:var(--spacing-m)}.application-list__status__label{font-weight:bold}.application-list__status__value{display:flex;flex-flow:row;justify-items:center;min-height:var(--spacing-xl)}.application-list__status__value>div{margin:auto}.application-list__search-row{align-items:flex-end;display:flex;flex-flow:row nowrap;gap:var(--spacing-s);justify-content:space-between;width:100%}@media(max-width: 35rem){.application-list__search-row{flex-flow:row wrap}}.application-list__search-row .hds-text-input{flex:1 100%;max-width:100%}.application-list__search-row .hds-text-input__input-wrapper{display:block}.application-list__search-row .hds-text-input__input-wrapper input{width:100%}.application-list__search-row button{white-space:nowrap}.application-list__pagination{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);display:inline-flex;flex-wrap:wrap;font-weight:700;gap:var(--spacing-2-xs);justify-content:center;list-style:none;padding:0}.application-list__pagination li{margin-top:0}.application-list__pagination li.active a{text-decoration:underline}.application-list__pagination li.disabled a{cursor:default;text-decoration:none}.application-list__pagination li.disabled a:hover,.application-list__pagination li.disabled a:focus,.application-list__pagination li.disabled a:active{outline:none;text-decoration:none}.application-list__pagination li a{color:var(--color-black-90);display:block;height:var(--link-height);min-width:40px;padding-left:var(--spacing-3-xs);padding-right:var(--spacing-3-xs);text-decoration:none}.application-list__pagination li a:hover{text-decoration:underline}.application-list__pagination li a:focus,.application-list__pagination li a:active{outline:solid var(--color-coat-of-arms) 3px;outline-offset:1px}.grants-profile hr{border:1px solid var(--color-silver);margin:var(--spacing-layout-xs) 0}.grants-profile h3.info-grants{border-bottom:2px solid var(--color-silver);padding-bottom:var(--spacing-l)}.grants-profile--title{align-items:center;display:flex;flex-flow:row nowrap}.grants-profile--title .grants-profile--initials{border-radius:50%;display:none;font-size:var(--fontsize-body-xl);font-weight:bold;height:var(--spacing-4-xl);line-height:var(--spacing-4-xl);margin-right:var(--spacing-m);text-align:center;vertical-align:middle;width:var(--spacing-4-xl)}@media(min-width: 992px){.grants-profile--title .grants-profile--initials{display:block}}.grants-profile--title .grants-profile--initials:hover,.grants-profile--title .grants-profile--initials:active,.grants-profile--title .grants-profile--initials:focus{text-decoration:underline}.grants-profile--title .grants-profile--initials-colorscheme-2{background-color:var(--color-bus);color:var(--color-white)}.grants-profile--title .grants-profile--initials-colorscheme-1{background-color:var(--color-engel);color:var(--color-black)}.grants-profile--title .grants-profile--initials-colorscheme-0{background-color:var(--color-tram);color:var(--color-white)}.grants-profile--title h1{flex-grow:100}.grants-profile--basicinfo{--line-height: 1.5;background-color:var(--color-silver-light);border-bottom:8px solid var(--color-engel-dark);padding-bottom:var(--spacing-2-xs);padding-top:var(--spacing-l)}.grants-profile--basicinfo h3{font-size:var(--fontsize-heading-l);margin-top:0;padding-top:0}.grants-profile--extrainfo{padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.grants-profile--extrainfo .hds-notification{margin-bottom:var(--spacing-xl)}.grants-profile--extrainfo fieldset.form-wrapper{background-color:var(--color-silver-light);border:0;padding:var(--spacing-l)}.grants-profile--extrainfo fieldset.inline-error-message{background-color:transparent;background-color:initial;padding:0 0 0 var(--spacing-2-xs)}.grants-profile--extrainfo fieldset.inline-error-message legend{display:none}.grants-profile--update-link{margin-bottom:var(--spacing-layout-2-xs);margin-top:var(--spacing-layout-xs)}.grants-profile--infotext{font-size:var(--fontsize-body-l);margin-bottom:var(--spacing-s)}.grants-profile--wrapper{display:flex;flex-wrap:wrap}.grants-profile--wrapper-item{margin-bottom:var(--spacing-layout-2-xs);width:100%}@media(min-width: 576px){.grants-profile--wrapper-item{flex:1;margin-bottom:0}}.grants-profile--wrapper-item:first-child{flex:auto;margin-bottom:var(--spacing-layout-2-xs);width:100%}.grants-profile .profile-add-more{margin-top:1em}[dir="ltr"] .grants-profile dd{margin-left:0}[dir="rtl"] .grants-profile dd{margin-right:0}.grants-profile--officials{margin-left:0;padding-left:0}.grants-profile--officials-item{border-left:4px var(--color-copper) solid;display:flex;flex-flow:row nowrap;justify-content:space-between;list-style:none;margin-bottom:var(--spacing-layout-s);margin-left:0;max-width:var(--webform-element-width--input-large);padding-left:var(--spacing-layout-xs);width:100%}.grants-profile--officials-item--position{font-size:var(--fontsize-heading-xs);font-weight:bold;margin-bottom:var(--spacing-layout-2-xs);margin-top:0;padding-top:0}.grants-profile--officials-edit-wrapper{text-align:right}.grants-profile--officials-edit-wrapper a{display:inline-block}.grants-profile .hel-icon--check-circle-fill{color:var(--color-success);vertical-align:middle}.grants-profile-grants-profile .tabledrag-toggle-weight-wrapper,.grants-profile-grants-profile .field-multiple-drag{display:none}.grants-profile .hds-text-input__label{display:inline-block;margin-top:0}.page--oma-asiointi__private-person .grants-profile--basicinfo{border-bottom:8px solid var(--color-copper)}.page--oma-asiointi__private-person .grants-profile--wrapper{display:grid;grid-template-columns:1fr 1fr}.page--oma-asiointi__unregistered-community .grants-profile--wrapper{display:grid;grid-template-columns:1fr 1fr}.hds-link .hel-icon{margin-right:var(--spacing-2-xs);vertical-align:bottom}.hds-link span.link-label{font-weight:bold;margin-right:var(--spacing-m)}.bold-link{font-weight:bold}div.applicant-info--from-prh,div.applicant-info--from-grants{display:grid;grid-template-columns:1fr}@media(min-width: 576px){div.applicant-info--from-prh,div.applicant-info--from-grants{grid-template-columns:1fr 1fr}}@media(min-width: 768px){div.applicant-info--from-prh,div.applicant-info--from-grants{grid-template-columns:1fr 1fr 1fr}}div.applicant-info--from-prh .form-required::after,div.applicant-info--from-grants .form-required::after{content:none}div.applicant-info--from-prh{border-bottom:2px solid var(--color-silver);margin-bottom:var(--spacing-layout-xs);padding-bottom:var(--spacing-layout-2-xs)}div.grants-handler--prefilled-field .field-prefix,.grants-profile-prh-info .field-prefix{display:block;position:absolute;right:var(--spacing-layout-s);top:0}div.grants-handler--prefilled-field .hds-text-input__input-wrapper,div.grants-handler--prefilled-field .description,.grants-profile-prh-info .hds-text-input__input-wrapper,.grants-profile-prh-info .description{display:inline-block;white-space:normal}div.grants-handler--prefilled-field .hel-icon--check-circle-fill,.grants-profile-prh-info .hel-icon--check-circle-fill{color:var(--color-success);vertical-align:middle}div.grants-handler--prefilled-field .hds-text-input__input,div.grants-handler--prefilled-field .webform-element-description,.grants-profile-prh-info .hds-text-input__input,.grants-profile-prh-info .webform-element-description{color:var(--color-black);display:block;font-size:var(--fontsize-body-m);line-height:var(--spacing-m);position:relative}div.grants-handler--prefilled-field .hds-text-input__label,.grants-profile-prh-info .hds-text-input__label{margin-bottom:0}.grants-profile--imported-section .webform-section-flex-wrapper{background-color:var(--color-silver-light);border-bottom:8px solid var(--color-engel-dark);display:block;padding-bottom:var(--spacing-2-xs);padding-left:var(--spacing-l);padding-right:var(--spacing-l);padding-top:var(--spacing-l);width:100%}.grants-profile--imported-section .webform-section-flex-wrapper h3.webform-section-title{font-size:var(--fontsize-heading-l);font-weight:400;margin-top:0;max-width:100%;padding-top:0;width:100%}.grants-profile--imported-section .webform-section-flex-wrapper .webform-section-wrapper{padding:0}.grants-profile--imported-section .webform-section-flex-wrapper .hds-text-input{margin-bottom:0}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container{display:flex;flex-flow:row wrap;justify-content:space-between;margin-bottom:var(--spacing-layout-xs);margin-top:var(--spacing-layout-xs);width:100%}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container>div{margin:0 var(--spacing-layout-xs) 0 0;min-width:160px}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container .hds-text-input__input-wrapper{display:none}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container label{font-size:var(--fontsize-body-m);font-weight:bold;margin:0}.grants-profile--imported-section .webform-section-flex-wrapper .form-item-prh-markup{border-bottom:2px solid var(--color-silver);padding-bottom:var(--spacing-layout-xs);padding-top:var(--spacing-layout-xs)}.grants-profile__local-tasks__wrapper{margin-bottom:0}.openid-connect-login-form.openid-connect-login-form{border-bottom:0;margin-bottom:0;padding-bottom:0}.grants-profile--links{display:flex;justify-content:space-between}.company-delete-confirm-form .form-actions{margin-top:var(--spacing-layout-xs)}.company-delete-confirm-form .form-submit{margin-right:var(--spacing-2-xs)}.page--oma-asiointi .main-content{margin-top:0}.page--oma-asiointi .main-content h2{margin-top:var(--spacing-m)}.hero--oma-asiointi{margin-bottom:var(--spacing-l)}.hero--oma-asiointi .container{padding-top:var(--spacing-layout-m)}.hero--oma-asiointi .hero__text-content{align-items:center;display:flex}.hero--oma-asiointi .hero__title{margin-left:0}@media(min-width: 576px){.hero--oma-asiointi .hero__title{margin-left:40px}}.hero--oma-asiointi .hel-icon{display:none}@media(min-width: 576px){.hero--oma-asiointi .hel-icon{--icon-size: 48px;display:block;flex-shrink:0}}#oma-asiointi__sent{background:var(--color-silver-light)}#oma-asiointi__sent .application-list__item{background:var(--color-white)}.oma-asiointi-block{background-color:var(--color-silver-light);padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.oma-asiointi-block h2{margin-bottom:var(--spacing-s);margin-top:0}.oma-asiointi-block h3{font-size:var(--fontsize-heading-m);font-weight:500}.oma-asiointi-block .header{border-bottom:1px solid var(--color-silver-dark);display:flex;justify-content:space-between;padding-bottom:var(--spacing-xs)}.oma-asiointi-block .header .user,.oma-asiointi-block .header .link{font-weight:700}.oma-asiointi-block .header .link .hel-icon{vertical-align:text-top}.oma-asiointi-block--link{display:block;position:relative;text-decoration:none}.oma-asiointi-block--link::after{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--arrow-right);mask-image:var(--hel-icon--arrow-right);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));transition:transform .2s linear;bottom:var(--spacing-m);content:"";display:block;flex-shrink:0;margin-left:-4px;margin-top:var(--spacing-2-xs);position:absolute;right:var(--spacing-m)}@media(prefers-reduced-motion){.oma-asiointi-block--link::after{transition:none}}@media(min-width: 576px){.oma-asiointi-block--link::after{--icon-size: 3rem;margin-left:-8px;margin-top:var(--spacing-s)}}.oma-asiointi-block--link:focus::after,.oma-asiointi-block--link:hover::after{transform:translateX(var(--spacing-2-xs))}@media(prefers-reduced-motion){.oma-asiointi-block--link:focus::after,.oma-asiointi-block--link:hover::after{transform:none}}.oma-asiointi-block .new-message{background-color:var(--color-alert);display:inline-block;font-weight:500;padding:var(--spacing-2-xs);text-transform:uppercase}.oma-asiointi-block .new-messages-length{background-color:var(--color-black-20);border-radius:50%;display:inline-block;font-size:var(--fontsize-heading-s);height:30px;line-height:30px;margin-left:var(--spacing-m);position:relative;text-align:center;width:30px}.oma-asiointi-block .new-messages-length.has-new-messages{background-color:var(--color-alert)}@media(min-width: 768px){.oma-asiointi-block .content{display:grid;grid-gap:var(--spacing-s);grid-template-columns:1fr 1fr}}.oma-asiointi-block .submission,.oma-asiointi-block .message{background-color:var(--color-white);margin-bottom:var(--spacing-s);margin-top:var(--spacing-s);padding:var(--spacing-m)}.oma-asiointi-block .submission .submission-title,.oma-asiointi-block .submission .message-title,.oma-asiointi-block .message .submission-title,.oma-asiointi-block .message .message-title{font-size:var(--fontsize-heading-s);font-weight:500;margin-bottom:var(--spacing-2-xs);margin-top:0;text-decoration:underline}.oma-asiointi-block .submission .message-title,.oma-asiointi-block .message .message-title{margin-top:var(--spacing-s)}.oma-asiointi-block .submission:hover .submission-title,.oma-asiointi-block .submission:hover .message-title,.oma-asiointi-block .message:hover .submission-title,.oma-asiointi-block .message:hover .message-title{text-decoration:none}.oma-asiointi-block .message{padding-right:var(--spacing-5-xl)}.oma-asiointi{margin-top:var(--spacing-l)}.oma-asiointi ul{padding:0}.oma-asiointi__list{padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.oma-asiointi__list h2{margin-bottom:var(--spacing-m);margin-top:0}.oma-asiointi #oma-asiointi__sent{padding-top:var(--spacing-s)}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infoboxes{gap:var(--spacing-3-xl);margin:var(--spacing-2-xl) 0}@media(min-width: 768px){.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infoboxes{display:flex}}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox{background-color:var(--color-info-light);flex:1;margin-bottom:var(--spacing-layout-2-xs);padding:var(--spacing-l)}@media(min-width: 768px){.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox{margin-bottom:0}}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox:last-of-type{margin-bottom:0}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox--link{display:flex;margin-top:var(--spacing-layout-2-xs)}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox--link a{font-size:1.25rem}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox h3{margin-top:0}.asiointirooli-block{background-color:var(--color-black);color:var(--color-white);font-weight:500;margin-bottom:16px;padding:var(--spacing-2-xs)}.asiointirooli-block a{color:var(--color-white)}.asiointirooli-block .link--switch-role,.asiointirooli-block .link--stop-mandate{color:var(--color-white);margin-left:var(--spacing-layout-s)}@media(max-width: 768px){.asiointirooli-block .link--switch-role,.asiointirooli-block .link--stop-mandate{display:block;margin-left:0}}.asiointirooli-block .link--stop-mandate::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--cross-circle-fill);mask-image:var(--hel-icon--cross-circle-fill);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";display:inline-block;margin-right:10px;-webkit-mask-image:url('data:image/svg+xml,<svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor" d="M12,3 C7.02943725,3 3,7.02943725 3,12 C3,16.9705627 7.02943725,21 12,21 C16.9705627,21 21,16.9705627 21,12 C21,7.02943725 16.9705627,3 12,3 Z M15,7.5 L16.5,9 L13.5,12 L16.5,15 L15,16.5 L12,13.5 L9,16.5 L7.5,15 L10.5,12 L7.5,9 L9,7.5 L12,10.5 L15,7.5 Z"/> </g> </svg>');mask-image:url('data:image/svg+xml,<svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor" d="M12,3 C7.02943725,3 3,7.02943725 3,12 C3,16.9705627 7.02943725,21 12,21 C16.9705627,21 21,16.9705627 21,12 C21,7.02943725 16.9705627,3 12,3 Z M15,7.5 L16.5,9 L13.5,12 L16.5,15 L15,16.5 L12,13.5 L9,16.5 L7.5,15 L10.5,12 L7.5,9 L9,7.5 L12,10.5 L15,7.5 Z"/> </g> </svg>')}.asiointirooli-block .link--switch-role::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--swap-user);mask-image:var(--hel-icon--swap-user);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";display:inline-block;margin-right:10px;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>')}#grants-mandate-type .form-actions{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;width:100%}@media(min-width: 576px){#grants-mandate-type .form-actions{flex-direction:row;margin-left:calc(-1*var(--spacing-m));width:calc(100% + var(--spacing-m))}}#grants-mandate-type .form-actions .hds-card--applicant-role{margin-bottom:var(--spacing-l);position:relative;width:100%}@media(min-width: 576px){#grants-mandate-type .form-actions .hds-card--applicant-role{margin-left:var(--spacing-m);width:calc(50% - var(--spacing-m))}}@media(min-width: 992px){#grants-mandate-type .form-actions .hds-card--applicant-role{width:calc(33.3333333333% - var(--spacing-m))}}#grants-mandate-type .form-actions .hds-card--applicant-role .hds-card__body{align-content:space-between;height:100%}#grants-mandate-type .form-actions .hds-card--applicant-role .hds-card--mandate-card-content{display:grid;gap:var(--spacing-m);grid-gap:var(--spacing-m)}
+body{--webform-element-width--input-small: 184px;--webform-element-width--input-medium: 332px;--webform-element-width--input-large: 591px;--webform-element-width--fieldset: 714px}.hel-icon--size-xs,.hds-icon--size-xs{height:16px;width:16px}.hel-icon--size-s,.hds-icon--size-s{height:24px;width:24px}.hel-icon--size-m,.hds-icon--size-m{height:32px;width:32px}.hel-icon--size-l,.hds-icon--size-l{height:48px;width:48px}.hel-icon--size-xl,.hds-icon--size-xl{height:64px;width:64px}.hel-icon.hel-icon--pen-line{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 0h24v24H0z'/><path d='M20.5 20v2h-17v-2h17zM14.25 2.5L19 7.25 8.25 18l-4.736-.014L3.5 13.25 14.25 2.5zm0 2.75L5.5 14l.007 1.994L7.5 16l8.75-8.75-2-2z' fill='currentColor'/></g></svg>");mask-image:url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'><g fill='none' fill-rule='evenodd'><path d='M0 0h24v24H0z'/><path d='M20.5 20v2h-17v-2h17zM14.25 2.5L19 7.25 8.25 18l-4.736-.014L3.5 13.25 14.25 2.5zm0 2.75L5.5 14l.007 1.994L7.5 16l8.75-8.75-2-2z' fill='currentColor'/></g></svg>")}.hel-icon.hds-icon--company{background:var(--color-black);-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,<svg role='img' fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <g clip-rule='evenodd' fill='currentColor' fill-rule='evenodd'> <path d='m24 24h-24v-2h24z'/><path d='m1 .202789 11.5 3.026311v3.7709h-2v-2.22912l-7.5-1.97368v19.2028h-2z'/> <path d='m12 18h4v4h-4z'/> <path d='m5 6.99999h18v15.00001h-2v-13.00001h-14v13.00001h-2zm3 3h12v6.00001h-12zm2 2.00001v2h8v-2z'/> </g> </svg>");mask-image:url("data:image/svg+xml;charset=utf-8,<svg role='img' fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'> <g clip-rule='evenodd' fill='currentColor' fill-rule='evenodd'> <path d='m24 24h-24v-2h24z'/><path d='m1 .202789 11.5 3.026311v3.7709h-2v-2.22912l-7.5-1.97368v19.2028h-2z'/> <path d='m12 18h4v4h-4z'/> <path d='m5 6.99999h18v15.00001h-2v-13.00001h-14v13.00001h-2zm3 3h12v6.00001h-12zm2 2.00001v2h8v-2z'/> </g> </svg>")}.hds-button--secondary:not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button){--background-color: transparent;--background-color-hover: var(--color-black-80);--background-color-focus: transparent;--background-color-hover-focus: var(--color-black-80);--background-color-disabled: transparent;--color: var(--color-black);--color-hover: var(--color-white);--color-focus: var(--color-black);--color-hover-focus: var(--color-black);--color-disabled: var(--color-black-40)}.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button),.hds-button--primary:not(:disabled){border-color:transparent;border-color:var(--color-black, transparent)}.hds-button.hds-button--supplementary .hds-button__label{margin:0;padding:0 var(--spacing-2-xs)}.hds-button.hds-button--supplementary::after,.hds-button.hds-button--supplementary::before{display:none !important}.hds-button--supplementary:not(:disabled){--background-color-hover: rgba(0, 0, 0, 0.1);background:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.hds-button--supplementary:not(:disabled):hover{background-color:var(--background-color-hover)}.hds-button--alert{--background-color: rgb(255, 0, 0)}a.hds-button.webform-button--delete-draft:not(:disabled){text-decoration:none}a.hds-button.webform-button--delete-draft:not(:disabled) .hds-button__label_wrapper{display:inline}a.hds-button.webform-button--delete-draft:not(:disabled) .hds-button__label{text-decoration:underline}a.hds-button.webform-button--delete-draft:not(:disabled):hover .hds-button__label{text-decoration:none}.openid-connect-login-form input[type=submit].hds-button{width:220px}.hds-button__label_wrapper{align-items:center;display:flex}.hds-button__label_wrapper:not(.hds-button)>.hds-button__label{margin:0 var(--spacing-2-xs)}.hds-link{--link-visited-color: var(--color-black);--link-color: var(--color-black)}.hds-card{--background-color: var(--color-white);--border-color: var(--color-black-90);--color: var(--color-black-90);--border-width: 2px;--padding-horizontal: var(--spacing-l);--padding-vertical: var(--spacing-m);background-color:var(--background-color);color:var(--color);padding:var(--padding-vertical) var(--padding-horizontal)}.hds-card--border{border:var(--border-width) solid var(--border-color)}.hds-card__body{display:grid;grid-gap:var(--spacing-m);gap:var(--spacing-m);margin-bottom:var(--spacing-l)}.hds-card__body:last-child{margin-bottom:0}.hds-card__heading{font-size:var(--fontsize-heading-m);font-weight:bold;line-height:var(--lineheight-m)}.hds-card__text{font-size:var(--fontsize-body-m);line-height:var(--lineheight-l)}.hds-card--applicant-role{margin-bottom:var(--spacing-l);margin-right:0;max-width:400px;width:100%}.hds-card__heading-m{font-size:var(--fontsize-heading-m);font-weight:500;letter-spacing:-0.2px;line-height:32px;margin-top:0}.grants-profile--menuitem--login,.grants-profile--menuitem--logout{align-items:center;display:flex;flex-flow:column;font-size:var(--fontsize-body-s);height:var(--spacing-xl);margin-left:var(--spacing-2-xs);margin-right:var(--spacing-2-xs);position:relative;text-align:center;width:var(--spacing-xl)}.grants-profile--menuitem--login .hel-icon,.grants-profile--menuitem--logout .hel-icon{display:block;margin:auto}.grants-profile--menuitem--login-triggertext,.grants-profile--menuitem--logout-triggertext{clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);display:block;max-height:1px;max-width:1px;opacity:0;overflow:hidden;position:absolute;white-space:nowrap}.block--grants-profile--menuitem{align-items:center;display:flex;grid-area:brand;z-index:2}.block--branding{flex-grow:10}.grants-frontpage-info-block{margin-bottom:var(--spacing-layout-xl)}.grants-profile--menuitem{height:var(--spacing-m);margin-left:var(--spacing-2-xs);margin-right:var(--spacing-2-xs);position:relative;width:var(--spacing-m)}@media(min-width: 768px){.grants-profile--menuitem{height:var(--spacing-2-xl);width:var(--spacing-2-xl)}}.grants-profile--menuitem a{text-decoration:none}.grants-profile--menuitem--notifications{background-color:var(--color-error);border:2px var(--color-white) solid;border-radius:50%;color:var(--color-white);font-size:var(--fontsize-body-s);font-weight:bold;height:var(--spacing-xs) 1.25;line-height:var(--spacing-layout-2-xs);position:absolute;right:-5px;text-align:center;top:-5px;width:var(--spacing-xs) 1.25;z-index:2}.grants-profile--menuitem--initials{border-radius:50%;font-weight:bold;height:var(--spacing-m);line-height:var(--spacing-m);text-align:center;vertical-align:middle;width:var(--spacing-m)}@media(min-width: 768px){.grants-profile--menuitem--initials{height:var(--spacing-2-xl);line-height:var(--spacing-2-xl);width:var(--spacing-2-xl)}}.grants-profile--menuitem--initials:hover,.grants-profile--menuitem--initials:active,.grants-profile--menuitem--initials:focus{text-decoration:underline}.grants-profile--menuitem--initials-colorscheme-2{background-color:var(--color-bus);color:var(--color-white)}.grants-profile--menuitem--initials-colorscheme-1{background-color:var(--color-engel);color:var(--color-black)}.grants-profile--menuitem--initials-colorscheme-0{background-color:var(--color-tram);color:var(--color-white)}.sidebar-important-links{margin-top:var(--spacing-2-xl)}.sidebar-important-links .sidebar-text .sidebar-text__text-content>p{padding:var(--spacing-s) var(--spacing-m)}.block--service-page-banner{background-color:var(--color-engel);margin-top:var(--spacing-layout-s);padding:var(--spacing-layout-s)}.block--service-page-banner h2{margin-top:0}.block--service-page-banner .hds-icon{margin-bottom:var(--spacing-layout-s)}.hds-button.service-page-sidebar-link{background-color:var(--hdbt-color-palette--secondary);padding:var(--spacing-xs)}.hds-button.service-page-sidebar-link:hover{color:var(--color-black)}.terms_block{padding-bottom:var(--spacing-4-xl)}#block-servicepageauthblock h2,#block-servicepageanonblock h2{--line-height: 1.3;font-size:1.25rem;font-weight:500;line-height:var(--line-height)}@media(min-width: 992px){#block-servicepageauthblock h2,#block-servicepageanonblock h2{--line-height: 1.1666666667;font-size:1.5rem;font-weight:500}}#block-servicepageauthblock .hds-button,#block-servicepageanonblock .hds-button{margin-top:var(--spacing-m)}.grants-service-page-block{background-color:var(--color-alert-light);margin-top:var(--spacing-m);padding:var(--spacing-m)}.grants-service-page-block h3{font-size:var(--fontsize-heading-s);margin-top:0}.grants-service-page-block .hel-icon{vertical-align:text-bottom}.grants-service-page-block--auth{background-color:var(--color-info-light)}.hel-icon.hel-icon--swap-user{-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>')}.nav-toggle-dropdown--profile .profile__information{background-color:var(--color-silver-light)}.nav-toggle-dropdown--profile .profile__full-name{font-weight:bold}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);border-top:1px solid #ccc;border-bottom:1px solid #ccc;display:block;font-weight:normal;padding:16px;text-decoration:none;width:100%}@media(min-width: 992px){.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role{border-bottom:none}}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate:hover,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role:hover{text-decoration:underline}.nav-toggle-dropdown--profile .grants-profile--menuitem--mandate:focus,.nav-toggle-dropdown--profile .grants-profile--menuitem--switch-role:focus{outline:3px solid #000;outline-offset:-3px}.application-timeout-message{display:none;padding-left:16px;padding-left:var(--spacing-s, 16px);position:fixed;right:0;top:50%;z-index:100}.application-timeout-message.slide-in{animation:slide-in-right .5s forwards ease;display:block}.application-timeout-message .close-application-timeout-message{cursor:pointer;font-size:1.25rem;position:absolute;right:1.25rem}@keyframes slide-in-right{from{right:-500px}to{right:1.25rem}}.view_application_search_search_api .main-content{margin-top:0}.view_application_search_search_api .search-result-amount--wrapper{align-items:center;display:flex}.view_application_search_search_api .search-result-amount--wrapper p{margin-top:0}.view_application_search_search_api select.search-result-amount{border:1px solid var(--color-black-50);margin-left:var(--spacing-l);margin-right:var(--spacing-2-xs)}.view_application_search_search_api .search-filter-button{background-color:var(--color-black);border-radius:180px;border:0;color:var(--color-white);display:inline-block;margin:0 var(--spacing-2-xs) var(--spacing-2-xs) 0;padding:var(--spacing-2-xs) var(--spacing-xs)}.view_application_search_search_api .search-filter-button:focus{--focus-outline-color: #000000;box-shadow:none;outline:3px solid var(--focus-outline-color);outline:var(--outline-width, 3px) solid var(--focus-outline-color);outline-offset:2px;outline-offset:var(--outline-gutter, 2px)}.view_application_search_search_api .search-filter-button span{vertical-align:middle}.view_application_search_search_api .search-filter-button span.hel-icon:hover{cursor:pointer}.view-application-search-search-api .main-content{margin-top:var(--spacing-layout-s)}.view-application-search-search-api .main-content .view-header{align-items:center;display:flex;margin-bottom:var(--spacing-layout-s)}.application_search--link{display:block;height:100%;padding-bottom:var(--spacing-m);position:relative;text-decoration:none}.application_search--link::after{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--arrow-right);mask-image:var(--hel-icon--arrow-right);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));transition:transform .2s linear;bottom:var(--spacing-s);content:"";display:block;flex-shrink:0;left:var(--spacing-m);margin-left:-4px;margin-top:8px;position:absolute}@media(prefers-reduced-motion){.application_search--link::after{transition:none}}@media(min-width: 576px){.application_search--link::after{--icon-size: 3rem;margin-left:-8px;margin-top:16px}}.application_search--link:focus h3,.application_search--link:hover h3{text-decoration:none}.application_search--link:focus::after,.application_search--link:hover::after{transform:translateX(8px)}@media(prefers-reduced-motion){.application_search--link:focus::after,.application_search--link:hover::after{transform:none}}.application_search--filter-wrapper{background:var(--color-black-5)}.application_search--filter-wrapper h2{font-size:var(--fontsize-heading-m);margin-bottom:var(--spacing-layout-s);margin-top:var(--spacing-layout-s)}.application_search--filter-wrapper form{align-items:center;border-bottom:2px solid var(--color-black-20);display:flex;flex-flow:row wrap;gap:var(--spacing-s);justify-content:space-between;margin-bottom:var(--spacing-layout-s);padding-bottom:var(--spacing-layout-s)}.application_search--filter-wrapper form .form-item{margin-bottom:0;min-width:-moz-fit-content;min-width:fit-content;width:calc((100% - var(--spacing-s) - var(--spacing-s))/3)}.application_search--filter-wrapper form .form-item label{color:var(--label-color-default);font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-3-xs)}.application_search--filter-wrapper form .form-item .grant-applications--select-wrapper{min-width:100%;width:100%}.application_search--filter-wrapper form .hds-text-input:first-child{max-width:none;width:100%}.application_search--filter-wrapper form .hds-text-input:first-child input{width:100%}.application_search--filter-wrapper form .form-actions{align-items:center;display:flex;gap:16px;order:6;padding-top:var(--spacing-m);width:100%}@media(min-width: 768px){.application_search--filter-wrapper form .form-actions{width:17%}}.application_search--filter-wrapper form .form-actions input{min-width:250px;width:100%}.application_search--filter-wrapper form .form-item-items-per-page{display:none}.application_search--filter-wrapper form .form-item-kohderyhma{order:1}.application_search--filter-wrapper form .form-item-avustuslaji{order:2}.application_search--filter-wrapper form .form-item-hakija{order:3}.application_search--filter-wrapper form .form-item-search{max-width:100%;order:4;width:50%}.application_search--filter-wrapper form .form-item-application-open{page-break-before:left;-moz-column-break-before:left;break-before:left;display:block;margin-top:var(--spacing-m);order:5;width:30%}.application_search--filter-wrapper form [data-drupal-selector=edit-reset]{background-color:rgba(0,0,0,0);border:0;color:var(--color-black)}.application_search--filter-wrapper .hds-koros svg pattern{color:var(--color-black-5)}.application_search--filter-wrapper .hero .hero__container{padding-bottom:var(--spacing-m)}.application_search--filters{padding-bottom:var(--spacing-layout-m);padding-top:0}.application_search--rows{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;width:100%}@media(min-width: 576px){.application_search--rows{flex-direction:row;margin-left:calc(-1*var(--spacing-m));width:calc(100% + var(--spacing-m))}}.application_search--row{box-shadow:1px 2px 4px 0 rgba(0,0,0,.5);margin-bottom:var(--spacing-l);position:relative;width:100%}@media(min-width: 576px){.application_search--row{margin-left:var(--spacing-m);width:calc(50% - var(--spacing-m))}}@media(min-width: 992px){.application_search--row{width:calc(33.3333333333% - var(--spacing-m))}}.application_search--row h3{font-size:var(--fontsize-heading-m);margin-top:var(--spacing-xs)}.application_search--row .views-field-search-api-excerpt{height:auto;overflow:auto;word-break:normal}.application_search--row .views-field{padding:var(--spacing-xs) var(--spacing-m)}.application_search--row .views-field-field-target-group{padding:0}.application_search--row .views-field-field-avustuslaji{padding:var(--spacing-xs) var(--spacing-m) var(--spacing-layout-m) var(--spacing-m)}.application_search--row .views-field-field-avustuslaji .tag_avustuslaji{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);display:inline-block;margin-bottom:var(--spacing-2-xs);padding:var(--spacing-3-xs) var(--spacing-xs)}.application_search--row .views-field-field-application-period .field-content{align-items:center;display:flex;gap:var(--spacing-s);position:relative}.application_search--row .views-field-field-application-period .field-content span{display:block}.application_search--row .tag_target_group{background:var(--color-black-20);color:var(--color-black);font-size:var(--fontsize-body-s);font-weight:bold;padding:var(--spacing-m);text-align:center;text-transform:uppercase;width:100%}.application_search--row .tag_target_group_12{background:var(--color-brick-medium-light)}.application_search--row .tag_target_group_20{background:var(--color-copper)}.application_search--row .tag_target_group_21{background:var(--color-metro-medium-light)}.application_search--row .tag_target_group_22{background:var(--color-suomenlinna-medium-light)}.application_search--row .tag_target_group_23{background:var(--color-engel)}.application_search--row .tag_target_group_24{background:var(--color-bus-medium-light)}.application_search--row .tag_target_group_25{background:var(--color-coat-of-arms-medium-light)}.application_search--row .tag_target_group_26{background:var(--color-gold-medium-light)}.application_search--row .tag_target_group_27{background:var(--color-tram-medium-light)}.application_search--row .tag_target_group_28{background:var(--color-summer-light)}.application_search--row .tag_target_group_29{background:var(--color-fog)}.application_search--row .tag_target_group_30{background:var(--color-copper-light)}.application_search--row .tag_target_group_31{background:var(--color-gold)}.view-ukk .view-filters{display:none}.view-ukk .ukk_categories{display:block;margin:var(--spacing-xl) 0;padding:0}.view-ukk .ukk_categories li{display:inline-block;list-style:none;margin:var(--spacing-m) var(--spacing-s) 0 0;padding:0}.view-ukk .hero .hero__text-content{max-width:100%}.view-ukk #edit-field-category-target-id{display:flex}.view-ukk #edit-field-category-target-id .hds-radio-button:first-of-type{margin-top:var(--spacing-2-xs)}.view-ukk #edit-field-category-target-id .hds-radio-button .hds-radio-button__input:checked+.hds-radio-button__label{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);padding:var(--spacing-2-xs) var(--spacing-s)}.view-ukk #edit-field-category-target-id .hds-radio-button__label{padding:var(--spacing-2-xs) var(--spacing-s)}.view-ukk #edit-field-category-target-id .hds-radio-button__label::before,.view-ukk #edit-field-category-target-id .hds-radio-button__label::after{display:none}.view-ukk .views-exposed-form fieldset{margin-bottom:0}.view-ukk .views-exposed-form .form-submit{margin-bottom:var(--spacing-l)}.view-ukk .category{background:var(--color-black);border-radius:var(--spacing-m);color:var(--color-white);display:inline-block;padding:var(--spacing-2-xs) var(--spacing-s);text-decoration:none}.view-ukk .category-unselected{background:var(--color-black-20);color:var(--color-black)}.page--select-applicant-role{background-color:var(--color-black-5)}.page--select-applicant-role body{background-color:var(--color-black-5)}.page--select-applicant-role .layout-main-wrapper{background-color:var(--color-black-5)}.page--select-applicant-role .main-content{margin-top:var(--spacing-l)}.page--select-applicant-role h1{margin-top:var(--spacing-l)}.page--select-applicant-role p{margin-bottom:var(--spacing-m)}.node--type-service .errand-service__channels .service-channel__links a[href^="https://avustukset.hel.fi"]{display:none}.node--type-service .service-channel__info p:first-of-type{margin-top:0}.node--type-service .service-channel--mail{display:none}#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:none}@media(max-width: 767.9px){#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:block;margin:var(--spacing-s)}}@media(max-width: 991.9px){#block-servicepageauthblock-2,#block-servicepageanonblock-2,#block-grantspreviewlink-2{display:block;margin:var(--spacing-l)}}#block-servicepageauthblock-2>.grants-service-page-block>*,#block-servicepageanonblock-2>.grants-service-page-block>*,#block-grantspreviewlink-2>.grants-service-page-block>*{margin:var(--spacing-2-xs) 0 var(--spacing-2-xs) var(--spacing-2-xs)}@media(max-width: 991.9px){#block-servicepageauthblock-2 .node--type-service a.hds-button[href*=uusi-hakemus],#block-servicepageanonblock-2 .node--type-service a.hds-button[href*=uusi-hakemus],#block-grantspreviewlink-2 .node--type-service a.hds-button[href*=uusi-hakemus]{display:none}}.user-login__text-container{background:var(--color-white);max-width:500px;padding:var(--spacing-m)}.user-login__text-container p:first-of-type{margin-top:0}.tabs{--tablist-border-color: var(--color-black-20);--tablist-border-size: 1px;--tab-color: var(--color-black);--tab-font-size: var(--fontsize-body-m);--tab-height: 48px;--tab-min-width: 148px;--tab-spacing: var(--spacing-s);--tab-active-border-size: 5px;--tab-active-border-color: var(--color-black);--tab-focus-outline-size: 2px;--tab-focus-outline-color: var(--color-coat-of-arms);display:flex;flex-flow:row wrap}.tabs--tablist{box-sizing:border-box;flex-grow:1;margin-bottom:-1px;overflow-x:hidden;position:relative;width:100%}.tabs--content-wrapper{width:100%}.tabs--content-wrapper .container{padding-top:1px}.tabs [role=tablist]{box-sizing:border-box;list-style:none;margin:0;padding:var(--tab-focus-outline-size) 0;white-space:nowrap}.tabs [role=tab]{background:rgba(0,0,0,0);border:0;cursor:pointer;display:inline-block;margin:0;outline:none;padding:0}.tabs [role=tab] span{align-items:center;box-sizing:border-box;color:var(--tab-color);display:flex;font-size:var(--tab-font-size);height:var(--tab-height);justify-content:center;margin:0;min-width:var(--tab-min-width);padding:0 var(--tab-spacing);pointer-events:none;position:relative}.tabs [role=tab] span::before{background:var(--tablist-border-color);bottom:0;content:"";height:var(--tablist-border-size);position:absolute;width:100%;z-index:100}.tabs [role=tab] span:hover::before,.tabs [role=tab] span:focus::before,.tabs [role=tab][aria-selected=true] span::before{background-color:var(--tab-active-border-color);bottom:0;content:"";height:var(--tab-active-border-size);position:absolute;width:100%;z-index:100}.tabs [role=tabpanel].is-hidden{display:none}.node--form-page .list-of-links{margin-left:0;margin-top:0;width:100%}@media(min-width: 768px){.node--form-page .list-of-links{margin-top:0}}.node--form-page .list-of-links>.container{padding-top:0}.node--form-page .list-of-links .list-of-links__title{border-top:2px solid var(--color-black-20);margin:0 0 var(--spacing-layout-xl)}@media(min-width: 576px){.node--form-page .list-of-links .list-of-links__container{width:calc(100% - var(--spacing-layout-xl))}}@media(min-width: 768px){.node--form-page .list-of-links .list-of-links__container{width:100%}}.node--form-page .list-of-links .list-of-links__content{height:auto;margin-top:0}@media(min-width: 768px){.node--form-page .list-of-links .list-of-links__content{display:grid;grid-template-columns:auto auto auto;margin:0 var(--spacing-m) 0 0}}.node--form-page .list-of-links .list-of-links__item{align-self:stretch;border-left:4px solid var(--color-copper);margin-right:-4px;padding-left:var(--spacing-m);padding-right:var(--spacing-m)}.list-of-links--without-image .list-of-links__item .list-of-links__item__desc{color:var(--color-black-90);font-size:var(--fontsize-body-m)}.list-of-links--without-image .list-of-links__item .list-of-links__item__title{font-size:var(--fontsize-heading-m)}.js-form-type-webform-custom-composite{--border-width: 2px;--outline-width: 3px;--input-height: 56px;--textarea-height: 149px;--icon-size: var(--spacing-m);--helper-color-default: var(--color-black-60);--helper-color-invalid: var(--color-error);--icon-color-invalid: var(--color-error);--input-background-default: var(--color-white);--input-background-disabled: var(--color-black-10);--input-border-color-default: var(--color-black-50);--input-border-color-hover: var(--color-black-90);--input-border-color-focus: var(--color-black-90);--input-border-color-invalid: var(--color-error);--input-border-color-disabled: var(--color-black-10);--input-color-default: var(--color-black-90);--input-color-disabled: var(--color-black-40);--label-color-default: var(--color-black-90);--label-color-invalid: var(--color-black-90);--placeholder-color: var(--color-black-60);--focus-outline-color: var(--color-coat-of-arms)}.js-form-type-webform-custom-composite a.tabledrag-handle .handle{height:24px;width:24px}.js-form-type-webform-custom-composite input.form-number{background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);font-size:1.125em;height:var(--input-height);line-height:normal;padding:0 var(--spacing-s);width:100%}.js-form-type-webform-custom-composite table{border-collapse:collapse;border-spacing:0;margin-bottom:var(--spacing-m)}.js-form-type-webform-custom-composite table td{border-bottom:2px var(--color-black-20) solid;border-top:2px var(--color-black-20) solid;padding-left:var(--spacing-m);padding-top:var(--spacing-m)}@media(max-width: 768px){.js-form-type-webform-custom-composite table td{border:2px var(--color-black-20) solid}}.js-form-type-webform-custom-composite table td.webform-multiple-table--operations{border-bottom:2px var(--color-black-20) solid;border-top:2px var(--color-black-20) solid;padding-left:var(--spacing-m);padding-top:var(--spacing-m)}@media(max-width: 768px){.js-form-type-webform-custom-composite table td.webform-multiple-table--operations{background:var(--color-white);border:2px var(--color-black-20) solid;padding:10px 5px 5px}}.js-form-type-webform-custom-composite table td:first-child{border-left:2px var(--color-black-20) solid}.js-form-type-webform-custom-composite table td:last-child{border-right:2px var(--color-black-20) solid;padding:var(--spacing-s)}@media(min-width: 768px){.js-form-type-webform-custom-composite table td:last-child{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}div.ui-widget.ui-datepicker{padding:var(--spacing-2-xs)}div.ui-widget.ui-datepicker .ui-datepicker-header span.ui-icon{margin-left:-8px;margin-top:-8px;-webkit-mask-image:none;mask-image:none;transform:none}div.ui-widget.ui-datepicker .ui-datepicker-calendar{border:0;display:table;margin:0;max-width:100%}div.ui-widget.ui-datepicker .ui-datepicker-calendar th,div.ui-widget.ui-datepicker .ui-datepicker-calendar td{min-width:auto}details.accordion{--background-color: var(--color-white);--border-color: var(--color-black-60);--padding-horizontal: var(--spacing-m);--padding-vertical: var(--spacing-m);--header-font-color: var(--color-black-90);--header-font-size: var(--fontsize-heading-m);--header-line-height: var(--lineheight-m);--button-size: 28px;--header-focus-outline-color: var(--color-coat-of-arms);--content-font-color: var(--color-black-90);--content-font-size: var(--fontsize-body-m);--content-line-height: var(--lineheight-l);border-bottom:1px solid var(--border-color)}details.accordion .accordion_content{padding-bottom:var(--padding-vertical)}details.accordion[open] .accordion_heading_container span.hel-icon{transform:rotate(180deg)}.accordion_header{align-items:center;color:var(--header-font-color);display:flex;font-size:var(--header-font-size);font-weight:700;justify-content:space-between;line-height:var(--header-line-height);list-style:none;padding-bottom:var(--padding-vertical);padding-top:var(--padding-vertical);position:relative}.accordion_heading_container{align-items:center;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto calc(var(--button-size));width:100%}.accordion_heading_container span.hel-icon{height:var(--button-size) !important;width:var(--button-size) !important}.accordion_heading_container span.hel-icon{border:2px solid rgba(0,0,0,0);box-sizing:border-box;margin:auto}.webform-element-description{--helper-color-default: var(--color-black-60);color:var(--helper-color-default);display:block;font-size:var(--fontsize-body-m);line-height:var(--lineheight-l);margin-top:var(--spacing-s)}.webform-element-help{background:var(--color-white);border:2px solid rgba(0,0,0,0);color:var(--hdbt-color-black);height:var(--spacing-layout-xs);margin-right:4px;padding:0;position:absolute;right:0;top:-3px;width:var(--spacing-layout-xs);z-index:10}div[data-tippy-root]{width:350px}.tippy-box{background-color:var(--color-black-5);border-left:var(--spacing-xs) var(--color-coat-of-arms) solid;border-radius:0;color:var(--hdbt-color-black);padding:var(--spacing-s)}.tippy-box .webform-element-help--content{white-space:normal}.tippy-box .webform-element-help--content a:link,.tippy-box .webform-element-help--content a:visited,.tippy-box .webform-element-help--content a:active,.tippy-box .webform-element-help--content a:hover{color:var(--hdbt-color-black)}.tippy-arrow{color:var(--color-black-5)}.webform-element-help--wrapper-short{max-width:-moz-fit-content;max-width:fit-content}.webform-element-help-container--title{--border-width: 2px;--outline-width: 3px;--input-height: 56px;--textarea-height: 149px;--icon-size: var(--spacing-m)}fieldset.grants-fieldset{padding:var(--spacing-s)}@media(min-width: 768px){fieldset.grants-fieldset{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}fieldset.grants-fieldset .fieldset-wrapper{align-items:flex-end;display:flex;flex-wrap:wrap;gap:0 var(--spacing-layout-2-xs)}fieldset.grants-fieldset .fieldset-wrapper .form-item--error-message{grid-column:1}fieldset.grants-fieldset-short{max-width:var(--webform-element-width--input-large)}fieldset.grants-fieldset-medium{max-width:var(--webform-element-width--fieldset)}fieldset.grants-fieldset-medium .fieldset-wrapper{justify-content:center}fieldset.premises-composite--wrapper.fieldgroup,fieldset.rented-premise-composite--wrapper.fieldgroup,.community_officials_wrapper fieldset.fieldgroup,fieldset.grants-budget-other-cost--wrapper.fieldgroup,fieldset.grants-budget-other-income--wrapper.fieldgroup,fieldset.place-of-operation-composite--wrapper.fieldgroup,fieldset.rent-income-composite--wrapper.fieldgroup,fieldset.rent-cost-composite--wrapper.fieldgroup,fieldset.club-section-composite--wrapper.fieldgroup,fieldset.members-composite--wrapper.fieldgroup,fieldset.orienteering-map-composite--wrapper,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup{border-width:2px;margin-top:var(--spacing-layout-2-xs);max-width:100%;padding:var(--spacing-s);width:100%}@media(min-width: 768px){fieldset.premises-composite--wrapper.fieldgroup,fieldset.rented-premise-composite--wrapper.fieldgroup,.community_officials_wrapper fieldset.fieldgroup,fieldset.grants-budget-other-cost--wrapper.fieldgroup,fieldset.grants-budget-other-income--wrapper.fieldgroup,fieldset.place-of-operation-composite--wrapper.fieldgroup,fieldset.rent-income-composite--wrapper.fieldgroup,fieldset.rent-cost-composite--wrapper.fieldgroup,fieldset.club-section-composite--wrapper.fieldgroup,fieldset.members-composite--wrapper.fieldgroup,fieldset.orienteering-map-composite--wrapper,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden,.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden,fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden{background:#fff;clip-path:initial;clip:auto;clip:initial;height:auto;margin-left:calc(var(--spacing-2-xs)*-1);left:auto;overflow:visible;padding:0 var(--spacing-2-xs);top:-12px;width:-moz-max-content;width:max-content}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)],fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden[\:has\(button.webform-element-help\)],.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help),fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden:has(button.webform-element-help),.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden:has(button.webform-element-help){padding-right:var(--spacing-xl)}@media(min-width: 768px){fieldset.premises-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rented-premise-composite--wrapper.fieldgroup legend>span.visually-hidden,.community_officials_wrapper fieldset.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-cost--wrapper.fieldgroup legend>span.visually-hidden,fieldset.grants-budget-other-income--wrapper.fieldgroup legend>span.visually-hidden,fieldset.place-of-operation-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-income-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.rent-cost-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.club-section-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.members-composite--wrapper.fieldgroup legend>span.visually-hidden,fieldset.orienteering-map-composite--wrapper legend>span.visually-hidden,.form-item-muu-liite fieldset.grants-attachments--wrapper.fieldgroup legend>span.visually-hidden{left:auto}}.form-item-muu-liite fieldset.grants-attachments--wrapper{margin-bottom:0}fieldset.webform-composite-hidden-title .fieldset-wrapper>.form-item:last-child{margin-bottom:var(--spacing-layout-xs)}.js-form-type-webform-table table{width:100%}.js-form-type-webform-table th{text-align:left}.js-form-type-webform-table td{vertical-align:middle}.js-form-type-webform-table td>div{height:auto;margin-bottom:0}.js-form-type-webform-table td>div label{margin:-1px}.js-form-type-webform-table .hds-text-input label{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.form-item{margin-bottom:var(--spacing-layout-xs);position:relative}.form-item input[type=date],.form-item input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);font-size:1.125em;height:var(--input-height);line-height:normal;padding:0 var(--spacing-s);width:100%;will-change:transform,box-shadow}.webform-section{padding-bottom:var(--spacing-layout-2-xs)}.webform-section table:first-of-type{margin-top:0}.form-type-webform-multiple .webform-multiple-table table{max-width:100%;width:100%}@media(min-width: 768px){.form-type-webform-multiple .webform-multiple-table table{width:auto}}.hds-text-input{max-width:-moz-fit-content;max-width:fit-content;width:100%}.webform-section-grid-wrapper{display:grid;grid-template-columns:1fr}@media(min-width: 768px){.webform-section-grid-wrapper{grid-row-gap:var(--spacing-xl);grid-template-columns:1fr 2fr}}.webform-section-grid-wrapper>dt.webform-section-title{color:var(--hdbt-color-black);display:block;flex-shrink:0;font-size:var(--fontsize-heading-s);font-weight:500;-webkit-hyphens:none;hyphens:none;line-height:1;margin-bottom:var(--spacing-3-xs);margin-top:0;padding-right:var(--spacing-2-xl);width:100%}.webform-section-grid-wrapper .webform-section-wrapper{margin-bottom:var(--spacing-layout-xs);padding-left:var(--spacing-2-xl)}@media(min-width: 768px){.webform-section-grid-wrapper .webform-section-wrapper{margin-bottom:0;padding-left:0}}fieldset input[type=button]{margin-top:var(--spacing-m)}.webform-section-wrapper>.description{margin-bottom:var(--spacing-layout-xs)}.grants__page-header{margin-bottom:var(--spacing-layout-l);font-size:2rem}@media(min-width: 768px){.grants__page-header{font-size:3rem}}.webform-section-flex-wrapper{display:flex;flex-flow:row wrap;width:100%;justify-content:left}@media(min-width: 768px){.webform-section-flex-wrapper{flex-flow:row nowrap}.webform-section-flex-wrapper h3+*>*:first-child>label:first-of-type,.webform-section-flex-wrapper h3+*>*:first-child>*:first-child>label:first-of-type{margin-top:var(--spacing-2-xs);padding-top:0}.webform-section-flex-wrapper h3+*>*:first-child>p{line-height:normal;line-height:initial;margin-top:var(--spacing-2-xs)}.webform-section-flex-wrapper h3+*>*:first-child>h4{line-height:normal;line-height:initial;margin-top:var(--spacing-m)}}.webform-section-flex-wrapper .webform-element-help-container--title{position:relative}.webform-section-flex-wrapper>h2.webform-section-title,.webform-section-flex-wrapper>h3.webform-section-title,.webform-section-flex-wrapper>h4.webform-section-title,.webform-section-flex-wrapper>dt.webform-section-title{color:var(--hdbt-color-black);display:block;flex-shrink:0;font-size:24px;font-weight:500;-webkit-hyphens:manual;hyphens:manual;margin-bottom:var(--spacing-3-xs);margin-top:0;padding-right:var(--spacing-2-xl);width:100%}@media(min-width: 768px){.webform-section-flex-wrapper>h2.webform-section-title,.webform-section-flex-wrapper>h3.webform-section-title,.webform-section-flex-wrapper>h4.webform-section-title,.webform-section-flex-wrapper>dt.webform-section-title{font-size:32px;max-width:350px;width:30%}}.webform-section-flex-wrapper h4{font-size:var(--fontsize-heading-m);line-height:38px}.webform-section-flex-wrapper>.webform-section-wrapper{--line-height: 1.5;font-size:var(--fontsize-body-m);width:100%}@media(min-width: 768px){.webform-section-flex-wrapper>.webform-section-wrapper{padding-left:var(--spacing-2-xl)}}.webform-section-flex-wrapper .form-required::after{content:"*";display:inline}.webform-section-flex-wrapper legend,.webform-section-flex-wrapper label{display:block;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-2-xs);max-width:-moz-fit-content;max-width:fit-content;position:relative}.webform-section-flex-wrapper legend{padding:0 var(--spacing-2-xs);margin-left:calc(var(--spacing-2-xs)*-1);left:auto}.webform-section-flex-wrapper legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper label[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}.webform-section-flex-wrapper legend:has(button.webform-element-help),.webform-section-flex-wrapper label:has(button.webform-element-help){padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span[\:has\(button.webform-element-help\)]{padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span:has(button.webform-element-help){padding-right:var(--spacing-xl)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper fieldset.fieldgroup legend>span[\:has\(button.webform-element-help\)]:not(.visually-hidden.fieldset-legend){padding-right:var(--spacing-l)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend:has(button.webform-element-help),.webform-section-flex-wrapper fieldset.fieldgroup legend>span:has(button.webform-element-help):not(.visually-hidden.fieldset-legend){padding-right:var(--spacing-l)}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend[\:has\(button.webform-element-help\)],.webform-section-flex-wrapper fieldset.fieldgroup legend span.fieldset-legend:not(.visually-hidden)[\:has\(button.webform-element-help\)]{padding-right:0}.webform-section-flex-wrapper fieldset legend>span.fieldset-legend:has(button.webform-element-help),.webform-section-flex-wrapper fieldset.fieldgroup legend span.fieldset-legend:not(.visually-hidden):has(button.webform-element-help){padding-right:0}.webform-section-flex-wrapper label.hds-radio-button__label{font-weight:normal}.webform-section-flex-wrapper .checkboxes--wrapper label{font-weight:normal}.webform-section-flex-wrapper .js-form-type-textarea .hds-text-input__input-wrapper{display:block}.webform-section-flex-wrapper .has-error,.webform-section-flex-wrapper .grant-applications--select-wrapper[\:has\(.has-error\)]{border-color:var(--color-error)}.webform-section-flex-wrapper .has-error,.webform-section-flex-wrapper .grant-applications--select-wrapper:has(.has-error){border-color:var(--color-error)}form .hds-text-input__input-wrapper,.hds-text-input__input-wrapper{flex-flow:row wrap}form .hds-text-input__input-wrapper .text-count-wrapper,.hds-text-input__input-wrapper .text-count-wrapper{flex-basis:100%}form .hds-text-input__input-wrapper input.webform--small,form .hds-text-input__input-wrapper textarea.webform--small,.hds-text-input__input-wrapper input.webform--small,.hds-text-input__input-wrapper textarea.webform--small{max-width:var(--webform-element-width--input-small);min-width:var(--webform-element-width--input-small);width:100%}form .hds-text-input__input-wrapper input.webform--medium,form .hds-text-input__input-wrapper textarea.webform--medium,.hds-text-input__input-wrapper input.webform--medium,.hds-text-input__input-wrapper textarea.webform--medium{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}form .hds-text-input__input-wrapper input.webform--large,form .hds-text-input__input-wrapper textarea.webform--large,.hds-text-input__input-wrapper input.webform--large,.hds-text-input__input-wrapper textarea.webform--large{max-width:var(--webform-element-width--input-large);min-width:var(--webform-element-width--input-small);width:100%}.webform--small div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-small);min-width:var(--webform-element-width--input-small);width:100%}.webform--medium div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}.webform--large div.grant-applications--select-wrapper{max-width:var(--webform-element-width--input-medium);min-width:var(--webform-element-width--input-small);width:100%}form .hds-checkbox{display:block}form .hds-checkbox label.hds-checkbox__label::after{content:""}fieldset.webform-composite-hidden-title{margin-bottom:var(--spacing-layout-2-xs);margin-top:0}.form-item-bank-account-account-number-select,.form-item-community-address-community-address-select{margin-bottom:0}.grants-profile-grants-profile table thead th h4{margin:0}.hakemus-form-page .main-content{margin-top:0}.hakemus-form-page h1{-webkit-hyphens:auto;hyphens:auto;word-break:break-word}.hakemus-form-errors ul li{list-style-type:none}.community_officials_wrapper .webform-readonly{margin:0}.community_officials_wrapper .hds-text-input__input-wrapper{margin:0}.community_officials_wrapper input[readonly=readonly]{height:1.25rem;margin:0;max-width:330px}.form-item--error-message{color:var(--color-error);margin-bottom:var(--spacing-layout-s);margin-top:var(--spacing-layout-2-xs)}fieldset .form-item--error-message,.community_officials_wrapper .form-item--error-message{margin-bottom:0}.form-item--error-message::before{--icon-size: 1.6rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle-fill);mask-image:var(--hel-icon--alert-circle-fill);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-error);content:" ";display:inline-block}input[type=radio]+label.form-required::after{content:""}.hds-radio-button:last-of-type,.hds-checkbox:last-of-type{margin-bottom:0}.hds-radio-button:last-of-type>label,.hds-checkbox:last-of-type>label{margin-bottom:0}@media(min-width: 992px){.place-of-operation-composite--wrapper.fieldgroup .hds-text-input,.club-section-composite--wrapper.fieldgroup .hds-text-input{max-width:100%}}.place-of-operation-composite--wrapper.fieldgroup .hds-radio-button .hds-radio-button__label,.club-section-composite--wrapper.fieldgroup .hds-radio-button .hds-radio-button__label{line-height:var(--lineheight-m) !important}@media(min-width: 992px){.place-of-operation-group__location,.place-of-operation-group__students,.place-of-operation-group__groups,.place-of-operation-group__personnel,.place-of-operation-group__rent,.place-of-operation-group__time{display:flex;justify-content:space-between}}@media(min-width: 992px){.place-of-operation-group__location--address,.place-of-operation-group__students--address,.place-of-operation-group__groups--address,.place-of-operation-group__personnel--address,.place-of-operation-group__rent--address,.place-of-operation-group__time--address{margin-top:0 !important}.place-of-operation-group__location--address,.place-of-operation-group__students--address,.place-of-operation-group__groups--address,.place-of-operation-group__personnel--address,.place-of-operation-group__rent--address,.place-of-operation-group__time--address{width:65%}}@media(min-width: 992px){.place-of-operation-group__location--post-code,.place-of-operation-group__students--post-code,.place-of-operation-group__groups--post-code,.place-of-operation-group__personnel--post-code,.place-of-operation-group__rent--post-code,.place-of-operation-group__time--post-code{margin-top:0 !important}.place-of-operation-group__location--post-code,.place-of-operation-group__students--post-code,.place-of-operation-group__groups--post-code,.place-of-operation-group__personnel--post-code,.place-of-operation-group__rent--post-code,.place-of-operation-group__time--post-code{width:30%}}@media(min-width: 992px){.place-of-operation-group__location--student-count,.place-of-operation-group__location--special-student-count,.place-of-operation-group__location--group-count,.place-of-operation-group__location--special-group-count,.place-of-operation-group__location--personnel-count,.place-of-operation-group__location--rent-amount,.place-of-operation-group__location--time-start,.place-of-operation-group__location--time-end,.place-of-operation-group__students--student-count,.place-of-operation-group__students--special-student-count,.place-of-operation-group__students--group-count,.place-of-operation-group__students--special-group-count,.place-of-operation-group__students--personnel-count,.place-of-operation-group__students--rent-amount,.place-of-operation-group__students--time-start,.place-of-operation-group__students--time-end,.place-of-operation-group__groups--student-count,.place-of-operation-group__groups--special-student-count,.place-of-operation-group__groups--group-count,.place-of-operation-group__groups--special-group-count,.place-of-operation-group__groups--personnel-count,.place-of-operation-group__groups--rent-amount,.place-of-operation-group__groups--time-start,.place-of-operation-group__groups--time-end,.place-of-operation-group__personnel--student-count,.place-of-operation-group__personnel--special-student-count,.place-of-operation-group__personnel--group-count,.place-of-operation-group__personnel--special-group-count,.place-of-operation-group__personnel--personnel-count,.place-of-operation-group__personnel--rent-amount,.place-of-operation-group__personnel--time-start,.place-of-operation-group__personnel--time-end,.place-of-operation-group__rent--student-count,.place-of-operation-group__rent--special-student-count,.place-of-operation-group__rent--group-count,.place-of-operation-group__rent--special-group-count,.place-of-operation-group__rent--personnel-count,.place-of-operation-group__rent--rent-amount,.place-of-operation-group__rent--time-start,.place-of-operation-group__rent--time-end,.place-of-operation-group__time--student-count,.place-of-operation-group__time--special-student-count,.place-of-operation-group__time--group-count,.place-of-operation-group__time--special-group-count,.place-of-operation-group__time--personnel-count,.place-of-operation-group__time--rent-amount,.place-of-operation-group__time--time-start,.place-of-operation-group__time--time-end{margin-top:0 !important}.place-of-operation-group__location--student-count,.place-of-operation-group__location--special-student-count,.place-of-operation-group__location--group-count,.place-of-operation-group__location--special-group-count,.place-of-operation-group__location--personnel-count,.place-of-operation-group__location--rent-amount,.place-of-operation-group__location--time-start,.place-of-operation-group__location--time-end,.place-of-operation-group__students--student-count,.place-of-operation-group__students--special-student-count,.place-of-operation-group__students--group-count,.place-of-operation-group__students--special-group-count,.place-of-operation-group__students--personnel-count,.place-of-operation-group__students--rent-amount,.place-of-operation-group__students--time-start,.place-of-operation-group__students--time-end,.place-of-operation-group__groups--student-count,.place-of-operation-group__groups--special-student-count,.place-of-operation-group__groups--group-count,.place-of-operation-group__groups--special-group-count,.place-of-operation-group__groups--personnel-count,.place-of-operation-group__groups--rent-amount,.place-of-operation-group__groups--time-start,.place-of-operation-group__groups--time-end,.place-of-operation-group__personnel--student-count,.place-of-operation-group__personnel--special-student-count,.place-of-operation-group__personnel--group-count,.place-of-operation-group__personnel--special-group-count,.place-of-operation-group__personnel--personnel-count,.place-of-operation-group__personnel--rent-amount,.place-of-operation-group__personnel--time-start,.place-of-operation-group__personnel--time-end,.place-of-operation-group__rent--student-count,.place-of-operation-group__rent--special-student-count,.place-of-operation-group__rent--group-count,.place-of-operation-group__rent--special-group-count,.place-of-operation-group__rent--personnel-count,.place-of-operation-group__rent--rent-amount,.place-of-operation-group__rent--time-start,.place-of-operation-group__rent--time-end,.place-of-operation-group__time--student-count,.place-of-operation-group__time--special-student-count,.place-of-operation-group__time--group-count,.place-of-operation-group__time--special-group-count,.place-of-operation-group__time--personnel-count,.place-of-operation-group__time--rent-amount,.place-of-operation-group__time--time-start,.place-of-operation-group__time--time-end{width:47.5%}}@media(min-width: 768px){.club-section__participants{display:flex;gap:var(--spacing-l);justify-content:space-between}}.club-section__participants input.form-text.hds-text-input__input{max-width:100%;width:100%}.club-section__totalhours input.form-text.hds-text-input__input{max-width:100%;width:100%}.hel-icon--size-xs{--icon-size: var(--spacing-layout-2-xs)}.hel-icon--size-s{--icon-size: var(--spacing-layout-xs)}.hel-icon--size-m{--icon-size: var(--spacing-layout-s)}.hel-icon--size-l{--icon-size: var(--spacing-layout-m)}.hel-icon--size-xl{--icon-size: var(--spacing-layout-l)}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within]:has(input[readonly]){margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper:focus-within[\:has\(input\[readonly\]\)]{margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper:focus-within:has(input[readonly]){margin-right:var(--spacing-2-xs);outline:2px var(--color-black) solid;outline-offset:2px}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper[focus-within]:has(input[readonly]) input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper[focus-within][\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper:focus-within[\:has\(input\[readonly\]\)] input[readonly]{width:calc(100% - var(--spacing-2-xs))}.hds-text-input__input-wrapper:focus-within:has(input[readonly]) input[readonly]{width:calc(100% - var(--spacing-2-xs))}.form-item-application-number,.form-item-status,.form-item-applicant-type{display:none}.grants-handler__completion{background:var(--color-bus-light);padding:var(--spacing-layout-l) var(--spacing-layout-2-xl)}.grants-handler__completion h2{margin-top:var(--spacing-l)}.grants-handler__completion h3{font-size:1rem;font-weight:bold;margin-top:var(--spacing-m)}.grants-handler__completion__info-row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:flex-start;margin-bottom:var(--spacing-m)}.grants-handler__completion__button-row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:flex-start}.grants-handler__completion__longtext{margin:var(--spacing-l) 0}.hds-notification.notification-margin-bottom{margin-bottom:var(--spacing-layout-m)}.hds-notification__label{align-items:center}.hds-checkbox__input label{font-weight:normal}fieldset.grants-attachments--wrapper{margin-bottom:var(--spacing-layout-m)}fieldset.grants-attachments--wrapper legend{margin-bottom:var(--spacing-2-xs)}fieldset.grants-attachments--wrapper .form-item--error-message{width:100%}fieldset.grants-attachments--wrapper .js-form-type-managed-file{margin-bottom:0}.grants-applications-managed_file{position:relative}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button){left:0;position:relative}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[\:has\(input\:disabled\)]{background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[\:has\(input\:disabled\)]{background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button):has(input:disabled){background-color:transparent;background-color:var(--background-color-disabled, transparent);border-color:transparent;border-color:var(--border-color-disabled, transparent);color:var(--color-disabled);cursor:not-allowed}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button)[focus-within]{background:var(--color-black);border-color:var(--color-white);color:var(--color-white);outline:2px var(--color-black) solid}.grants-applications-managed_file label.hds-button--secondary:not(:disabled):not(.eu-cookie-compliance-default-button):not(.eu-cookie-compliance-save-preferences-button):focus-within{background:var(--color-black);border-color:var(--color-white);color:var(--color-white);outline:2px var(--color-black) solid}.grants-applications-managed_file input[type=file]{opacity:0;position:absolute}.form-managed-file{display:flex;flex-wrap:wrap;white-space:inherit}.form-managed-file>span{background-color:var(--color-info-light);border-bottom:2px dotted var(--color-coat-of-arms);display:inline-block;padding:var(--spacing-s) var(--spacing-2-xs)}.form-managed-file>.file-upload-js-error{flex-basis:100%}.grants-applications-managed_file label.hds-button{display:flex}.grants-attachments--wrapper .webform-readonly{display:none}.webform-multiple-table table{border-collapse:collapse;border:0px var(--color-white) solid;margin-bottom:var(--spacing-2-xs);max-width:-moz-fit-content;max-width:fit-content}.webform-multiple-table .webform-multiple-table--operations-two{min-width:60px}.webform-multiple-table tbody tr,.webform-multiple-table thead tr{align-items:center;justify-content:space-between;width:100%}.webform-multiple-table td,.webform-multiple-table th{max-width:100%;min-width:0;padding:0;width:100%}.webform-multiple-table table thead th{padding:var(--spacing-layout-2-xs)}div.hidden-head table{display:table}div.hidden-head table thead th{padding:0}div.hidden-head table tbody tr{border-bottom:var(--spacing-s) var(--color-white) solid}div.hidden-head table tbody tr:hover{background:rgba(0,0,0,0)}div.table-layout-form input.hds-text-input__input{width:100%}div.table-layout-form table{border:1px var(--color-black) solid;max-width:var(--webform-element-width--input-large)}div.table-layout-form table tbody tr{border:§0px var(--color-black-30) solid}div.table-layout-form table tbody tr td{border:1px var(--color-black-30) solid;padding:0}div.table-layout-form table tbody tr td input.hds-text-input__input[readonly]{padding:var(--spacing-layout-2-xs)}div.table-layout-form table .form-item{margin-bottom:0}.hds-text-input .hds-text-input__input.input--borderless{border:0 rgba(0,0,0,0) solid}#edit-subventions-items thead{background:var(--color-black-90);color:var(--color-white);text-align:left}#edit-subventions-items input.hds-text-input,#edit-subventions-items input.hds-text-input__input{background:rgba(0,0,0,0)}#subventions_table td.webform-multiple-table--operations,#subventions_table th.webform-multiple-table--operations{display:none}#subventions_table input.hds-text-input__input[readonly][name$="[amount]"]{background-color:var(--input-background-disabled);border-color:var(--input-border-color-disabled);color:var(--input-color-disabled);cursor:not-allowed}.form-item-muu-liite .webform-multiple-table--operations{display:none}.hidden-head>label{display:none}.webform-preview .accordion_header{font-size:28px;font-weight:300}@media(min-width: 768px){.webform-preview .accordion_header{font-size:36px;font-weight:500}}.webform-preview label{display:block;font-weight:bold}.grants-profile-grants-profile fieldset{background:var(--color-black-5);border:0 rgba(0,0,0,0) solid;margin:0;max-width:var(--webform-element-width--fieldset);padding:0 var(--spacing-layout-s) var(--spacing-layout-s);top:calc(-1*var(--spacing-m))}.grants-profile-grants-profile fieldset label{margin-bottom:var(--spacing-3-xs)}.grants-profile-grants-profile fieldset legend{font-size:var(--fontsize-body-l);margin-bottom:var(--spacing-m);padding-bottom:var(--spacing-s);position:relative;top:var(--spacing-l)}.grants-profile-grants-profile fieldset .fieldset-wrapper{display:flex;flex-flow:row wrap;justify-content:space-between}.grants-profile-grants-profile fieldset .hds-text-input{max-width:100%}.grants-profile-grants-profile fieldset div[class*=-address-postcode]{width:32%}.grants-profile-grants-profile fieldset div[class*=-address-city]{width:65%}.grants-profile--extrainfo .form-actions .button{margin-right:var(--spacing-2-xs)}.grants-stepper{--grants-stepper-color: var(--color-black);--grants-stepper-background-color: var(--color-white);--grants-stepper-disabled-color: var(--color-black-20);--grants-stepper-selected-step-label-color: var(--color-black-90);--grants-stepper-not-selected-step-label-color: var(--color-black);--grants-step-background-color: var(--color-white);--grants-step-content-color: var(--color-black);--grants-stepper-focus-border-color: var(--color-coat-of-arms);--grants-step-width: 120px;--circle-container-size: 36px;--progress-line-height: 2px;background-color:var(--grants-stepper-background-color);margin-bottom:var(--spacing-layout-m);position:relative}@media(max-width: 725px){.grants-stepper{--grants-step-width: 40px}}@media(max-width: 725px){.grants-stepper .grants-stepper__text{display:none}}.grants-stepper__inner{align-items:flex-start;display:flex;justify-content:space-between;margin:0;-ms-overflow-style:none;padding:0;position:relative;scroll-behavior:smooth;scrollbar-width:none;width:100%}.grants-stepper__lines{display:flex;height:var(--progress-line-height);left:calc(var(--grants-step-width)/2);line-height:var(--lineheight-l);position:absolute;transform:translateY(calc(var(--circle-container-size) / 2 + var(--progress-line-height) / 2));z-index:1}.grants-stepper__line{background-color:var(--grants-stepper-color);display:inline-block;height:100%;position:relative}.grants-stepper__line__disabled{background-color:var(--grants-stepper-disabled-color)}.grants-stepper__steps{background-color:var(--grants-stepper-background-color);box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;max-width:var(--grants-step-width);min-width:var(--grants-step-width);padding:3px}.grants-stepper__step{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,0);border:0;box-sizing:content-box;color:var(--grants-stepper-color);cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;outline:none;overflow:visible;padding:0;position:relative}.grants-stepper__step[disabled],.grants-stepper__step__disabled{color:var(--grants-stepper-disabled-color);cursor:not-allowed}.grants-stepper__step[disabled] .grants-stepper__circle,.grants-stepper__step__disabled .grants-stepper__circle{background-color:var(--grants-stepper-background-color);border:2px solid var(--grants-stepper-disabled-color);color:var(--grants-stepper-disabled-color)}.grants-stepper__step[disabled] .grants-stepper__text,.grants-stepper__step__disabled .grants-stepper__text{color:var(--grants-stepper-disabled-color)}.grants-stepper__step__circle_container{align-items:center;display:flex;height:var(--circle-container-size);justify-content:center;width:var(--circle-container-size);z-index:2}.grants-stepper__step__completed_container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:none;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px;vertical-align:middle}.grants-stepper .grants-stepper__error,.grants-stepper .grants-stepper__completed{display:none}.grants-stepper__text{color:var(--grants-stepper-not-selected-step-label-color);font-size:var(--fontsize-body-m);font-weight:500;line-height:var(--lineheight-l);margin-bottom:0;margin-top:6px;padding-left:var(--spacing-4-xs);padding-right:var(--spacing-4-xs);text-align:center;text-decoration:underline}.grants-stepper__circle{align-items:center;background-color:var(--grants-step-background-color);border:2px solid var(--grants-stepper-color);border-radius:16px;color:var(--grants-step-content-color);display:flex;height:28px;justify-content:center;outline:2px solid var(--grants-stepper-background-color);text-align:center;width:28px}.grants-stepper__number{font-size:var(--fontsize-body-m);font-weight:500;line-height:1.15}.grants-stepper .is-active .grants-stepper__circle{border:4px solid var(--grants-stepper-color);border-radius:18px;outline:none}.grants-stepper .is-active .grants-stepper__text{color:var(--grants-stepper-selected-step-label-color);font-weight:700;text-decoration:none}.grants-stepper .is-active .grants-stepper__number{color:var(--grants-stepper-selected-step-label-color);font-weight:700;text-decoration:none}.grants-stepper .is-complete .grants-stepper__container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:flex;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px}.grants-stepper .is-complete .grants-stepper__number{display:none}.grants-stepper .is-complete .grants-stepper__completed{display:inline-block}.grants-stepper .is-complete .grants-stepper__circle{opacity:0}.grants-stepper .is-complete .grants-stepper__step__completed_container{display:flex}.grants-stepper .has-errors .grants-stepper__container{align-items:center;background-color:var(--grants-stepper-color);border-radius:16px;color:var(--color-white);display:flex;justify-content:center;outline:2px solid var(--grants-stepper-background-color);padding:4px}.grants-stepper .has-errors .grants-stepper__circle{border-color:var(--color-error);color:var(--color-error)}.grants-stepper .has-errors .grants-stepper__number{display:none}.grants-stepper .has-errors .grants-stepper__error{display:inline-block}.grants-stepper .progress-marker::before{display:none}.grants-stepper .progress-step .progress-marker{color:var(--color-black)}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker:focus-visible .grants-stepper__circle{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black);outline-offset:2px}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step .progress-marker.focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step .progress-marker:focus-visible .grants-stepper__text{outline:2px solid var(--color-black);outline:var(--outline-width, 2px) solid var(--color-black)}.grants-stepper .progress-step:last-child{flex-grow:1}.grant-applications--select-wrapper{--border-width: 2px;--input-height: 56px;--menu-item-height: 53px;--icon-size: var(--spacing-m);--helper-color-default: var(--color-black-60);--helper-color-invalid: var(--color-error);--icon-color-invalid: var(--color-error);--input-background-default: var(--color-white);--input-background-disabled: var(--color-black-10);--input-border-color-default: var(--color-black-50);--input-border-color-hover: var(--color-black-90);--input-border-color-focus: var(--color-black-90);--input-border-color-invalid: var(--color-error);--input-border-color-disabled: var(--color-black-10);--input-color-default: var(--color-black-90);--input-color-disabled: var(--color-black-40);--label-color-default: var(--color-black-90);--label-color-invalid: var(--color-black-90);--placeholder-color: var(--color-black-60);--focus-outline-color: var(--color-coat-of-arms);align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-background-default);border:var(--border-width) solid var(--input-border-color-default);box-sizing:border-box;color:var(--input-color-default);cursor:pointer;display:block;font-size:1.125em;grid-template-areas:"select";line-height:normal;max-width:30ch;min-width:15ch;padding:.25em .5em;position:relative;width:100%}.grant-applications--select-wrapper select{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:rgba(0,0,0,0);border:none;color:var(--dropdown-color-default);cursor:inherit;display:flex;font-family:inherit;font-size:var(--fontsize-body-l);height:var(--input-height);line-height:inherit;margin:0;min-height:var(--menu-item-height);outline:none;padding:calc(var(--spacing-s) - var(--border-width)*2) var(--spacing-s);width:100%;z-index:1}.grant-applications--select-wrapper select::-ms-expand{display:none}.grant-applications--select-wrapper i.hel-icon{pointer-events:none;position:absolute;right:calc(var(--spacing-s) - var(--border-width)*2);top:calc(var(--spacing-s) - var(--border-width)*2)}.grant-applications--select-wrapper select,.grant-applications--select-wrapper::after{grid-area:select}.grant-applications--select-wrapper:not(.select--multiple)::after{background-color:var(--helper-color-default);clip-path:polygon(100% 0%, 0 0%, 50% 100%);content:"";height:.5em;justify-self:end;width:.8em}.grant-applications--select-wrapper select:focus+.grant-applications--select-focus{border:2px solid var(--focus-outline-color);border-radius:inherit;bottom:-1px;left:-1px;position:absolute;right:-1px;top:-1px}.webform-submission__application_id{border-bottom:1px var(--color-black-20) solid;padding-bottom:var(--spacing-xl)}.webform-submission__application_id--header{font-size:1rem;font-weight:bold}.webform-submission__title-wrapper{padding-top:var(--spacing-2-xl)}.webform-submission__title-wrapper h1{max-width:100%}.webform-submission ul{list-style:none;margin-top:0;padding-left:0}.webform-submission-information{background:var(--color-silver-light);margin-top:var(--spacing-3-xl);padding:var(--spacing-l)}.webform-submission-information .webform-submission-information{margin-top:var(--spacing-l);padding:0}.webform-submission-information h4{margin-top:0}.webform-submission-information h5{font-size:var(--fontsize-body-m);margin-top:var(--spacing-s)}.webform-submission-information__row{display:flex}.webform-submission-information__row-edit{margin-top:var(--spacing-s)}.webform-submission-information__row-top{align-items:center;border-bottom:1px solid var(--color-black-20);justify-content:space-between}@media(max-width: 550px){.webform-submission-information__row-top{display:block}}.webform-submission-information__row-main{flex-flow:row nowrap;gap:var(--spacing-m);justify-content:space-between}@media(max-width: 1179px){.webform-submission-information__row-main{flex-flow:row wrap}}.webform-submission-information__row-main>div{flex:1}@media(max-width: 1179px){.webform-submission-information__row-main>div{flex:auto;width:100%}}.webform-submission-information__row-main>div ul{list-style-type:none;margin-bottom:0;padding-left:0}.webform-submission-information__row-main>div ul li{margin:0;padding:0}.webform-submission-information__supportlinks{display:flex;flex-flow:row nowrap;min-width:-moz-fit-content;min-width:fit-content}.webform-submission-information__supportlinks .hds-loading-spinner{left:0}.webform-submission-information__supportlinks .hds-button{min-width:-moz-fit-content;min-width:fit-content}.hel-icon.hel-icon--copy{-webkit-mask-image:url("data:image/svg+xml,%3Csvg class='Icon-module_icon__1Jtzj icon_hel-icon__1YqNC Icon-module_s__2WGWe icon_hel-icon--size-s__2Lkik' viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect width='24' height='24'%3E%3C/rect%3E%3Cpath fill='currentColor' d='M6,10 L6,12 L5,12 L5,18 L12,18 L12,17 L14,17 L14,19 C14,19.5522847 13.5522847,20 13,20 L4,20 C3.44771525,20 3,19.5522847 3,19 L3,11 C3,10.4477153 3.44771525,10 4,10 L6,10 Z M20,4 C20.5522847,4 21,4.44771525 21,5 L21,15 C21,15.5522847 20.5522847,16 20,16 L8,16 C7.44771525,16 7,15.5522847 7,15 L7,5 C7,4.44771525 7.44771525,4 8,4 L20,4 Z M19,6 L9,6 L9,14 L19,14 L19,6 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg class='Icon-module_icon__1Jtzj icon_hel-icon__1YqNC Icon-module_s__2WGWe icon_hel-icon--size-s__2Lkik' viewBox='0 0 24 24' role='img' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Crect width='24' height='24'%3E%3C/rect%3E%3Cpath fill='currentColor' d='M6,10 L6,12 L5,12 L5,18 L12,18 L12,17 L14,17 L14,19 C14,19.5522847 13.5522847,20 13,20 L4,20 C3.44771525,20 3,19.5522847 3,19 L3,11 C3,10.4477153 3.44771525,10 4,10 L6,10 Z M20,4 C20.5522847,4 21,4.44771525 21,5 L21,15 C21,15.5522847 20.5522847,16 20,16 L8,16 C7.44771525,16 7,15.5522847 7,15 L7,5 C7,4.44771525 7.44771525,4 8,4 L20,4 Z M19,6 L9,6 L9,14 L19,14 L19,6 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E")}.webform-submission-form .form-actions{border-top:1px rgba(0,0,0,.6) solid;margin-top:var(--spacing-l);padding-top:var(--spacing-2-xl)}@media(min-width: 768px){.webform-submission-form .form-actions{display:flex;flex-direction:row-reverse}}.webform-submission-form .form-actions .actions{display:flex;flex-wrap:wrap}.webform-submission-form .form-actions button{margin-left:0}@media(min-width: 768px){.webform-submission-form .form-actions button{margin-left:var(--spacing-2-xs)}}.webform-submission-form .form-actions input{margin-bottom:var(--spacing-layout-2-xs);width:100%}@media(min-width: 768px){.webform-submission-form .form-actions input{width:auto}}.webform-submission-form .form-actions input.webform-button--draft{background:rgba(0,0,0,0);border:0 rgba(0,0,0,0) solid;color:var(--hdbt-color-black);order:3;text-decoration:underline}.webform-submission-form .form-actions button.webform-button--next span::after,.webform-submission-form .form-actions button.webform-button--preview span::after{content:">";margin-left:var(--spacing-2-xs)}.webform-submission-form .form-actions button.webform-button--previous span::before{content:"<";margin-right:var(--spacing-2-xs)}.webform-submission-form .form-actions input.webform-button--previous{background:var(--color-white);color:var(--border-color)}.webform-button--draft .hds-button__label::before{background-color:currentColor;background-size:contain;content:"";display:inline-block;flex-shrink:0;height:24px;margin-right:var(--spacing-2-xs);-webkit-mask-image:var(--hel-icon--download-cloud);mask-image:var(--hel-icon--download-cloud);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:24px 24px;mask-size:24px 24px;transition:transform .2s linear;vertical-align:bottom;width:24px}.webform-submission-messages{background:var(--color-silver-light);margin-top:var(--spacing-3-xl);padding:var(--spacing-l)}.webform-submission-messages h4,.webform-submission-messages h5{margin-top:0}.webform-submission-messages hr{margin:var(--spacing-l) 0}.webform-submission-messages__new-message{align-items:center;background:var(--color-alert);display:inline-flex;font-weight:bold;gap:var(--spacing-2-xs);margin-bottom:var(--spacing-m);padding:var(--spacing-2-xs) var(--spacing-xs);text-transform:uppercase}.webform-submission-messages__messages-list{list-style:none;margin:0;padding:0}.webform-submission-messages__message{margin:0;padding:0}.webform-submission-messages__message__attachments{list-style:none}.webform-submission-messages__message .hds-button{margin-top:var(--spacing-s)}.js-form-type-grants-webform-summation-field{max-width:var(--webform-element-width--input-large);text-align:right}.js-form-type-grants-webform-summation-field .grants-webform-summation-field{display:inline-block;padding:var(--spacing-xs) var(--spacing-m)}.webform-print-header,.webform-print-footer{display:none}.webform-print .main-content{display:block}.webform-submission--view-mode-html .hds-text-input,.webform-submission-data-preview-page .hds-text-input,.webform-print-page-html .hds-text-input{max-width:100%}.webform-submission--view-mode-html .print-label,.webform-submission-data-preview-page .print-label,.webform-print-page-html .print-label{display:block;font-size:var(--fontsize-body-m);font-weight:500;margin-bottom:var(--spacing-3-xs);margin-top:0;max-width:-moz-fit-content;max-width:fit-content;padding-right:var(--spacing-xl);position:relative}.webform-submission--view-mode-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-submission--view-mode-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type,.webform-submission-data-preview-page .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-submission-data-preview-page .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type,.webform-print-page-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child,.webform-print-page-html .webform-section-flex-wrapper h3+*>*:first-child>*:first-child label:first-of-type{line-height:normal}.webform-submission--view-mode-html .print-notification,.webform-submission-data-preview-page .print-notification,.webform-print-page-html .print-notification{border:2px var(--color-black) solid;font-weight:bold;margin-top:var(--spacing-2-xl);padding:var(--spacing-layout-s)}.webform-submission--view-mode-html .print-notification .print-notification--icon,.webform-submission-data-preview-page .print-notification .print-notification--icon,.webform-print-page-html .print-notification .print-notification--icon{height:22px;margin-right:var(--spacing-2-xs);vertical-align:text-top;width:22px}.webform-submission--view-mode-html .webform-print-page-wizard-page~.webform-print-page-wizard-page h2,.webform-submission-data-preview-page .webform-print-page-wizard-page~.webform-print-page-wizard-page h2,.webform-print-page-html .webform-print-page-wizard-page~.webform-print-page-wizard-page h2{page-break-after:avoid;page-break-before:always}.webform-submission--view-mode-html div.hds-text-input__input,.webform-submission-data-preview-page div.hds-text-input__input,.webform-print-page-html div.hds-text-input__input{background:var(--color-white);border:2px var(--color-black) solid;height:var(--spacing-2-xl);width:100%}.webform-submission--view-mode-html div.hds-text-input__textarea,.webform-submission-data-preview-page div.hds-text-input__textarea,.webform-print-page-html div.hds-text-input__textarea{background:var(--color-white);border:2px var(--color-black) solid;height:var(--spacing-layout-2-xl);width:100%}.webform-submission--view-mode-html .webform-section-wrapper .hds-notification,.webform-submission-data-preview-page .webform-section-wrapper .hds-notification,.webform-print-page-html .webform-section-wrapper .hds-notification{margin-top:var(--spacing-s)}.webform-submission--view-mode-html .webform-print-page-body h2,.webform-submission-data-preview-page .webform-print-page-body h2,.webform-print-page-html .webform-print-page-body h2{margin-bottom:var(--spacing-layout-s)}.webform-submission--view-mode-html .webform-print-wrapper-table,.webform-submission-data-preview-page .webform-print-wrapper-table,.webform-print-page-html .webform-print-wrapper-table{border:0 rgba(0,0,0,0) solid;display:table;max-width:100%;overflow-x:visible;overflow-x:initial;width:100%}.webform-submission--view-mode-html .webform-print-wrapper-table thead,.webform-submission--view-mode-html .webform-print-wrapper-table tbody,.webform-submission--view-mode-html .webform-print-wrapper-table tfoot,.webform-submission--view-mode-html .webform-print-wrapper-table tr,.webform-submission--view-mode-html .webform-print-wrapper-table tbody tr:hover,.webform-submission--view-mode-html .webform-print-wrapper-table td,.webform-submission--view-mode-html .webform-print-wrapper-table td:first-child,.webform-submission--view-mode-html .webform-print-wrapper-table th,.webform-submission-data-preview-page .webform-print-wrapper-table thead,.webform-submission-data-preview-page .webform-print-wrapper-table tbody,.webform-submission-data-preview-page .webform-print-wrapper-table tfoot,.webform-submission-data-preview-page .webform-print-wrapper-table tr,.webform-submission-data-preview-page .webform-print-wrapper-table tbody tr:hover,.webform-submission-data-preview-page .webform-print-wrapper-table td,.webform-submission-data-preview-page .webform-print-wrapper-table td:first-child,.webform-submission-data-preview-page .webform-print-wrapper-table th,.webform-print-page-html .webform-print-wrapper-table thead,.webform-print-page-html .webform-print-wrapper-table tbody,.webform-print-page-html .webform-print-wrapper-table tfoot,.webform-print-page-html .webform-print-wrapper-table tr,.webform-print-page-html .webform-print-wrapper-table tbody tr:hover,.webform-print-page-html .webform-print-wrapper-table td,.webform-print-page-html .webform-print-wrapper-table td:first-child,.webform-print-page-html .webform-print-wrapper-table th{background:rgba(0,0,0,0);border:0;color:var(--color-black)}.webform-submission--view-mode-html .webform-print-wrapper-table ul,.webform-submission-data-preview-page .webform-print-wrapper-table ul,.webform-print-page-html .webform-print-wrapper-table ul{margin:0;padding:0}.webform-submission--view-mode-html .webform-print-wrapper-table ul li,.webform-submission-data-preview-page .webform-print-wrapper-table ul li,.webform-print-page-html .webform-print-wrapper-table ul li{border-bottom:1px var(--color-black-50) solid;list-style:none;margin-top:0;padding:1rem 0}.webform-submission--view-mode-html .webform-print-wrapper-table ul li:last-of-type,.webform-submission-data-preview-page .webform-print-wrapper-table ul li:last-of-type,.webform-print-page-html .webform-print-wrapper-table ul li:last-of-type{border-bottom:0 rgba(0,0,0,0) solid}.webform-submission--view-mode-html .webform-print-wrapper-table thead,.webform-submission-data-preview-page .webform-print-wrapper-table thead,.webform-print-page-html .webform-print-wrapper-table thead{display:table-header-group}.webform-submission--view-mode-html .webform-print-wrapper-table thead th,.webform-submission-data-preview-page .webform-print-wrapper-table thead th,.webform-print-page-html .webform-print-wrapper-table thead th{padding:0}.webform-submission--view-mode-html .webform-print-wrapper-table tfoot,.webform-submission-data-preview-page .webform-print-wrapper-table tfoot,.webform-print-page-html .webform-print-wrapper-table tfoot{display:table-footer-group}.webform-submission--view-mode-html .webform-submission-data>section,.webform-submission-data-preview-page .webform-submission-data>section,.webform-print-page-html .webform-submission-data>section{border-top:1px var(--color-black-20) solid;padding-top:var(--spacing-layout-l)}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper{display:block}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>h2{font-size:var(--fontsize-heading-l) !important;margin:0 0 2mm !important;padding:0 !important;width:100% !important}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>h2,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>h2{font-weight:500;min-width:100%}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper{padding:6mm 0}.webform-submission--view-mode-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label,.webform-submission-data-preview-page .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label,.webform-print-page-html .webform-submission-data>section>.webform-section-flex-wrapper>.webform-section-wrapper label{font-weight:500}.webform-submission--view-mode-html .webform-submission-data>section.hds-notification,.webform-submission-data-preview-page .webform-submission-data>section.hds-notification,.webform-print-page-html .webform-submission-data>section.hds-notification{padding-top:var(--spacing-s)}@media print{@page{.webform-submission--view-mode-html,.webform-submission-data-preview-page,.webform-print-page-html{margin:0;size:A4}}.webform-submission--view-mode-html h1,.webform-submission-data-preview-page h1,.webform-print-page-html h1{margin:0;position:relative}.webform-submission--view-mode-html details,.webform-submission-data-preview-page details,.webform-print-page-html details{page-break-before:always}.webform-submission--view-mode-html .details-section-divider,.webform-submission-data-preview-page .details-section-divider,.webform-print-page-html .details-section-divider{page-break-after:always}.webform-submission--view-mode-html label,.webform-submission-data-preview-page label,.webform-print-page-html label{font-size:8pt;margin-bottom:0}.webform-submission--view-mode-html section,.webform-submission-data-preview-page section,.webform-print-page-html section{border-top:0 var(--color-black-20) solid !important;padding-top:0 !important}.webform-submission--view-mode-html section,.webform-submission-data-preview-page section,.webform-print-page-html section{margin-bottom:0;padding-bottom:0}.webform-submission--view-mode-html div.main-content,.webform-submission-data-preview-page div.main-content,.webform-print-page-html div.main-content{margin:0}.webform-submission--view-mode-html button,.webform-submission--view-mode-html footer.footer,.webform-submission--view-mode-html header.header,.webform-submission--view-mode-html nav.breadcrumb,.webform-submission--view-mode-html .form-actions,.webform-submission--view-mode-html .hds-notification,.webform-submission--view-mode-html .messages__container,.webform-submission--view-mode-html .tools__container,.webform-submission--view-mode-html .breadcrumb__container,.webform-submission--view-mode-html .webform-progress,.webform-submission--view-mode-html .webform-progress-tracker,.webform-submission--view-mode-html .webform-progress-tracker-mobile,.webform-submission--view-mode-html .webform-multiple-add,.webform-submission--view-mode-html .webform-multiple-table--operations,.webform-submission-data-preview-page button,.webform-submission-data-preview-page footer.footer,.webform-submission-data-preview-page header.header,.webform-submission-data-preview-page nav.breadcrumb,.webform-submission-data-preview-page .form-actions,.webform-submission-data-preview-page .hds-notification,.webform-submission-data-preview-page .messages__container,.webform-submission-data-preview-page .tools__container,.webform-submission-data-preview-page .breadcrumb__container,.webform-submission-data-preview-page .webform-progress,.webform-submission-data-preview-page .webform-progress-tracker,.webform-submission-data-preview-page .webform-progress-tracker-mobile,.webform-submission-data-preview-page .webform-multiple-add,.webform-submission-data-preview-page .webform-multiple-table--operations,.webform-print-page-html button,.webform-print-page-html footer.footer,.webform-print-page-html header.header,.webform-print-page-html nav.breadcrumb,.webform-print-page-html .form-actions,.webform-print-page-html .hds-notification,.webform-print-page-html .messages__container,.webform-print-page-html .tools__container,.webform-print-page-html .breadcrumb__container,.webform-print-page-html .webform-progress,.webform-print-page-html .webform-progress-tracker,.webform-print-page-html .webform-progress-tracker-mobile,.webform-print-page-html .webform-multiple-add,.webform-print-page-html .webform-multiple-table--operations{display:none !important}.webform-submission--view-mode-html .gin--horizontal-toolbar .dialog-off-canvas-main-canvas,.webform-submission-data-preview-page .gin--horizontal-toolbar .dialog-off-canvas-main-canvas,.webform-print-page-html .gin--horizontal-toolbar .dialog-off-canvas-main-canvas{padding:0 !important}.webform-submission--view-mode-html .hds-text-input,.webform-submission-data-preview-page .hds-text-input,.webform-print-page-html .hds-text-input{max-width:100%}.webform-submission--view-mode-html .hds-text-input .hds-text-input__input,.webform-submission-data-preview-page .hds-text-input .hds-text-input__input,.webform-print-page-html .hds-text-input .hds-text-input__input{height:1cm}.webform-submission--view-mode-html .hds-text-input textarea.hds-text-input__input,.webform-submission--view-mode-html .hds-text-input div.hds-text-input__textarea,.webform-submission-data-preview-page .hds-text-input textarea.hds-text-input__input,.webform-submission-data-preview-page .hds-text-input div.hds-text-input__textarea,.webform-print-page-html .hds-text-input textarea.hds-text-input__input,.webform-print-page-html .hds-text-input div.hds-text-input__textarea{height:6cm;max-width:100%;min-width:100%;width:100%}.webform-submission--view-mode-html .hds-text-input .hds-text-input__input[readonly],.webform-submission--view-mode-html .hds-text-input .hds-text-input__input,.webform-submission-data-preview-page .hds-text-input .hds-text-input__input[readonly],.webform-submission-data-preview-page .hds-text-input .hds-text-input__input,.webform-print-page-html .hds-text-input .hds-text-input__input[readonly],.webform-print-page-html .hds-text-input .hds-text-input__input{border:2px var(--color-black) solid}.webform-submission--view-mode-html .webform-element,.webform-submission-data-preview-page .webform-element,.webform-print-page-html .webform-element{border:1px var(--color-black) solid;margin-bottom:8mm;padding:2.5mm;position:relative}.webform-submission--view-mode-html .webform-preview,.webform-submission-data-preview-page .webform-preview,.webform-print-page-html .webform-preview{margin-top:0}.webform-submission--view-mode-html .webform-preview label,.webform-submission-data-preview-page .webform-preview label,.webform-print-page-html .webform-preview label{align-items:flex-end;display:flex;font-size:8pt;height:100%;left:0;pointer-events:none;position:absolute;top:-100%;width:100%}.webform-submission--view-mode-html .webform-preview .webform-element,.webform-submission-data-preview-page .webform-preview .webform-element,.webform-print-page-html .webform-preview .webform-element{border:1px var(--color-black) solid;margin-bottom:8mm;padding:2.5mm;position:relative;top:5mm}.webform-submission--view-mode-html .webform-preview .webform-multiple-table--operations,.webform-submission-data-preview-page .webform-preview .webform-multiple-table--operations,.webform-print-page-html .webform-preview .webform-multiple-table--operations{display:none}.webform-submission--view-mode-html .webform-print-header,.webform-submission-data-preview-page .webform-print-header,.webform-print-page-html .webform-print-header{align-items:center;background:var(--color-white);border-bottom:1px var(--color-black-40) solid;display:flex;flex-flow:row nowrap;font-size:9pt;height:21mm;left:0;max-width:100%;min-width:100%;position:fixed;top:0;width:100%;z-index:1000}.webform-submission--view-mode-html .webform-print-header svg,.webform-submission-data-preview-page .webform-print-header svg,.webform-print-page-html .webform-print-header svg{color:var(--color-black);display:block;height:25mm;margin-right:3mm;width:55mm}.webform-submission--view-mode-html .webform-print-header .webform-print-header-left-text,.webform-submission-data-preview-page .webform-print-header .webform-print-header-left-text,.webform-print-page-html .webform-print-header .webform-print-header-left-text{color:var(--color-black-40);text-align:left;width:100%}.webform-submission--view-mode-html .webform-print-header .webform-print-header-right-text,.webform-submission-data-preview-page .webform-print-header .webform-print-header-right-text,.webform-print-page-html .webform-print-header .webform-print-header-right-text{color:var(--color-black-40);text-align:right;width:100%}.webform-submission--view-mode-html .webform-print-footer,.webform-submission-data-preview-page .webform-print-footer,.webform-print-page-html .webform-print-footer{align-items:center;background:var(--color-white);border-top:1px var(--color-black-40) solid;bottom:0;display:flex;flex-flow:row nowrap;font-size:9pt;height:17mm;left:0;max-width:100%;min-width:100%;position:fixed;width:100%;z-index:1000}.webform-submission--view-mode-html .webform-print-footer svg,.webform-submission-data-preview-page .webform-print-footer svg,.webform-print-page-html .webform-print-footer svg{color:var(--color-black);display:block;height:15mm;margin-right:3mm;width:33mm}.webform-submission--view-mode-html .webform-print-footer .webform-print-footer-left-text,.webform-submission-data-preview-page .webform-print-footer .webform-print-footer-left-text,.webform-print-page-html .webform-print-footer .webform-print-footer-left-text{color:var(--color-black-40);text-align:left;width:100%}.webform-submission--view-mode-html .webform-print-footer .webform-print-footer-right-text,.webform-submission-data-preview-page .webform-print-footer .webform-print-footer-right-text,.webform-print-page-html .webform-print-footer .webform-print-footer-right-text{color:var(--color-black-40);text-align:right;width:100%}.webform-submission--view-mode-html .webform-print-header-space,.webform-submission-data-preview-page .webform-print-header-space,.webform-print-page-html .webform-print-header-space{background:var(--color-white);font-size:9pt;height:21mm}.webform-submission--view-mode-html .webform-print-footer-space,.webform-submission-data-preview-page .webform-print-footer-space,.webform-print-page-html .webform-print-footer-space{background:var(--color-white);font-size:9pt;height:17mm}.webform-submission--view-mode-html .webform-print-wrapper-table,.webform-submission-data-preview-page .webform-print-wrapper-table,.webform-print-page-html .webform-print-wrapper-table{border:0;margin:0;overflow-x:visible;overflow-x:initial}.webform-submission--view-mode-html .webform-section-flex-wrapper,.webform-submission-data-preview-page .webform-section-flex-wrapper,.webform-print-page-html .webform-section-flex-wrapper{flex-flow:row wrap}.webform-submission--view-mode-html .webform-section-flex-wrapper>h3.webform-section-title,.webform-submission-data-preview-page .webform-section-flex-wrapper>h3.webform-section-title,.webform-print-page-html .webform-section-flex-wrapper>h3.webform-section-title{max-width:100%;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper,.webform-submission-data-preview-page .webform-section-grid-wrapper,.webform-print-page-html .webform-section-grid-wrapper{display:flex;flex-flow:row nowrap}.webform-submission--view-mode-html .webform-section-grid-wrapper>h3.webform-section-title,.webform-submission-data-preview-page .webform-section-grid-wrapper>h3.webform-section-title,.webform-print-page-html .webform-section-grid-wrapper>h3.webform-section-title{font-size:1.25rem;margin-top:0;max-width:5cm;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents{margin-top:0;max-width:100%;padding-left:1cm;width:100%}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents dt,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents dt,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents dt{font-weight:bold;margin:0;padding:0;page-break-after:avoid}.webform-submission--view-mode-html .webform-section-grid-wrapper>dl.webform-section-contents dd,.webform-submission-data-preview-page .webform-section-grid-wrapper>dl.webform-section-contents dd,.webform-print-page-html .webform-section-grid-wrapper>dl.webform-section-contents dd{margin:0;padding:0;page-break-before:avoid}.webform-submission--view-mode-html .webform-print-page-body h2,.webform-submission-data-preview-page .webform-print-page-body h2,.webform-print-page-html .webform-print-page-body h2{margin-bottom:1cm}}.webform-submission-data dl dt{font-weight:bold}.webform-submission-data dl dd{margin:0;padding:0}.webform-submission-data dl dl{padding-left:var(--spacing-2-xs)}.webform-submission-data dl>br{display:none}.webform-print-page-html .webform-section-wrapper>h4,.webform-print-page-html .webform-section-wrapper .print-label{margin-top:var(--spacing-2-xs);line-height:1.5}.webform-print-page-html .webform-section-wrapper fieldset{padding:var(--spacing-s)}@media(min-width: 768px){.webform-print-page-html .webform-section-wrapper fieldset{min-width:400px;padding:var(--spacing-s) var(--spacing-m)}}.application-list{padding-bottom:var(--spacing-xl);padding-left:0}.application-list__processed-human-readable{display:none}.application-list__item{background:var(--color-bus-light);display:block;margin:var(--spacing-m) 0;padding:var(--spacing-2-xl) var(--spacing-s) var(--spacing-m);position:relative}.application-list__item .new-message{background-color:var(--color-alert);border-radius:var(--spacing-xl);display:inline-block;padding:var(--spacing-2-xs)}.application-list__item .new-message .hel-icon--size-s{height:20px;width:20px}.application-list__item h3,.application-list__item h4{margin-top:var(--spacing-xs)}.application-list__item h4{font-size:1rem}.application-list__item--submitted{display:none}.application-list__item__link{display:flex;margin-top:var(--spacing-m)}.application-list__item__link a{font-size:1.25rem}.application-list__item__link a i{vertical-align:text-bottom}.application-list__item__row{display:flex;flex-flow:row wrap;gap:var(--spacing-m);justify-content:space-between}.application-list__item__row__left{justify-content:flex-start}.application-list__item__row__top{padding:var(--spacing-2-xs) var(--spacing-s) var(--spacing-2-xs) 0;position:absolute;top:0;width:100%}.application-list__item--status{--status-label-height: 32px;align-items:center;border-radius:20px;display:inline-flex;font-size:var(--fontsize-body-s);line-height:var(--status-label-height);min-height:var(--status-label-height);padding:var(--spacing-3-xs) var(--spacing-s);padding-left:var(--spacing-xs);vertical-align:middle}.application-list__item--status+.hds-loading-spinner{display:inline-block;left:10px;margin:0;padding:0;position:relative;top:var(--spacing-3-xs)}.application-list__item--status.hide-spinner+.hds-loading-spinner{display:none}.application-list__item--status+div+.application-list__item--error{display:none}.application-list__item--status.show-error{background:var(--color-black-20);color:var(--color-black-90)}.application-list__item--status.show-error+div+.application-list__item--error{display:inline-flex;left:var(--spacing-xs);margin:0;padding:0;position:relative;top:var(--spacing-3-xs)}.application-list__item--status.show-error+div+.application-list__item--error .application-list--error-text{display:inline-block;margin-left:var(--spacing-2-xs)}.application-list__item--status--draft{padding-left:0}.application-list__item--status--sent,.application-list__item--status--submitted{background:var(--color-black-10)}.application-list__item--status--sent::before,.application-list__item--status--submitted::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle);mask-image:var(--hel-icon--alert-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-black);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--received,.application-list__item--status--pending,.application-list__item--status--processing,.application-list__item--status--preparing{background:var(--color-info);color:var(--color-white)}.application-list__item--status--received::before,.application-list__item--status--pending::before,.application-list__item--status--processing::before,.application-list__item--status--preparing::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--info-circle);mask-image:var(--hel-icon--info-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--done,.application-list__item--status--ready,.application-list__item--status--resolved{background:var(--color-success);color:var(--color-white)}.application-list__item--status--done::before,.application-list__item--status--ready::before,.application-list__item--status--resolved::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--check-circle);mask-image:var(--hel-icon--check-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--rejected,.application-list__item--status--deleted,.application-list__item--status--canceled,.application-list__item--status--cancelled{background:var(--color-alert)}.application-list__item--status--rejected::before,.application-list__item--status--deleted::before,.application-list__item--status--canceled::before,.application-list__item--status--cancelled::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--alert-circle);mask-image:var(--hel-icon--alert-circle);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-black);content:"";margin-right:var(--spacing-2-xs)}.application-list__item--status--error{background:var(--color-black-20);color:var(--color-black);text-transform:uppercase}.application-list__item--status--error .hel-icon{margin-right:var(--spacing-3-xs)}.application-list__count{font-size:1.5rem}.application-list__count-value{font-weight:bold}.application-list__information-row{align-items:flex-end;display:flex;flex-flow:row nowrap;justify-content:space-between;width:100%}@media(max-width: 35rem){.application-list__information-row{flex-flow:row wrap}}.application-list__information-row .grant-applications--select-wrapper select{max-width:100%;width:322px}.application-list__status__wrapper{background:var(--color-black-5)}.application-list__status__container{display:flex;flex-flow:row wrap;gap:var(--spacing-layout-m);justify-content:flex-start;padding-bottom:var(--spacing-m);padding-top:var(--spacing-m)}.application-list__status__label{font-weight:bold}.application-list__status__value{display:flex;flex-flow:row;justify-items:center;min-height:var(--spacing-xl)}.application-list__status__value>div{margin:auto}.application-list__search-row{align-items:flex-end;display:flex;flex-flow:row nowrap;gap:var(--spacing-s);justify-content:space-between;width:100%}@media(max-width: 35rem){.application-list__search-row{flex-flow:row wrap}}.application-list__search-row .hds-text-input{flex:1 100%;max-width:100%}.application-list__search-row .hds-text-input__input-wrapper{display:block}.application-list__search-row .hds-text-input__input-wrapper input{width:100%}.application-list__search-row button{white-space:nowrap}.application-list__pagination{--line-height: 1.5555555556;font-size:1.125rem;font-weight:400;line-height:var(--line-height);display:inline-flex;flex-wrap:wrap;font-weight:700;gap:var(--spacing-2-xs);justify-content:center;list-style:none;padding:0}.application-list__pagination li{margin-top:0}.application-list__pagination li.active a{text-decoration:underline}.application-list__pagination li.disabled a{cursor:default;text-decoration:none}.application-list__pagination li.disabled a:hover,.application-list__pagination li.disabled a:focus,.application-list__pagination li.disabled a:active{outline:none;text-decoration:none}.application-list__pagination li a{color:var(--color-black-90);display:block;height:var(--link-height);min-width:40px;padding-left:var(--spacing-3-xs);padding-right:var(--spacing-3-xs);text-decoration:none}.application-list__pagination li a:hover{text-decoration:underline}.application-list__pagination li a:focus,.application-list__pagination li a:active{outline:solid var(--color-coat-of-arms) 3px;outline-offset:1px}.grants-profile hr{border:1px solid var(--color-silver);margin:var(--spacing-layout-xs) 0}.grants-profile h3.info-grants{border-bottom:2px solid var(--color-silver);padding-bottom:var(--spacing-l)}.grants-profile--title{align-items:center;display:flex;flex-flow:row nowrap}.grants-profile--title .grants-profile--initials{border-radius:50%;display:none;font-size:var(--fontsize-body-xl);font-weight:bold;height:var(--spacing-4-xl);line-height:var(--spacing-4-xl);margin-right:var(--spacing-m);text-align:center;vertical-align:middle;width:var(--spacing-4-xl)}@media(min-width: 992px){.grants-profile--title .grants-profile--initials{display:block}}.grants-profile--title .grants-profile--initials:hover,.grants-profile--title .grants-profile--initials:active,.grants-profile--title .grants-profile--initials:focus{text-decoration:underline}.grants-profile--title .grants-profile--initials-colorscheme-2{background-color:var(--color-bus);color:var(--color-white)}.grants-profile--title .grants-profile--initials-colorscheme-1{background-color:var(--color-engel);color:var(--color-black)}.grants-profile--title .grants-profile--initials-colorscheme-0{background-color:var(--color-tram);color:var(--color-white)}.grants-profile--title h1{flex-grow:100}.grants-profile--basicinfo{--line-height: 1.5;background-color:var(--color-silver-light);border-bottom:8px solid var(--color-engel-dark);padding-bottom:var(--spacing-2-xs);padding-top:var(--spacing-l)}.grants-profile--basicinfo h3{font-size:var(--fontsize-heading-l);margin-top:0;padding-top:0}.grants-profile--extrainfo{padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.grants-profile--extrainfo .hds-notification{margin-bottom:var(--spacing-xl)}.grants-profile--extrainfo fieldset.form-wrapper{background-color:var(--color-silver-light);border:0;padding:var(--spacing-l)}.grants-profile--extrainfo fieldset.inline-error-message{background-color:transparent;background-color:initial;padding:0 0 0 var(--spacing-2-xs)}.grants-profile--extrainfo fieldset.inline-error-message legend{display:none}.grants-profile--update-link{margin-bottom:var(--spacing-layout-2-xs);margin-top:var(--spacing-layout-xs)}.grants-profile--infotext{font-size:var(--fontsize-body-l);margin-bottom:var(--spacing-s)}.grants-profile--wrapper{display:flex;flex-wrap:wrap}.grants-profile--wrapper-item{margin-bottom:var(--spacing-layout-2-xs);width:100%}@media(min-width: 576px){.grants-profile--wrapper-item{flex:1;margin-bottom:0}}.grants-profile--wrapper-item:first-child{flex:auto;margin-bottom:var(--spacing-layout-2-xs);width:100%}.grants-profile .profile-add-more{margin-top:1em}[dir="ltr"] .grants-profile dd{margin-left:0}[dir="rtl"] .grants-profile dd{margin-right:0}.grants-profile--officials{margin-left:0;padding-left:0}.grants-profile--officials-item{border-left:4px var(--color-copper) solid;display:flex;flex-flow:row nowrap;justify-content:space-between;list-style:none;margin-bottom:var(--spacing-layout-s);margin-left:0;max-width:var(--webform-element-width--input-large);padding-left:var(--spacing-layout-xs);width:100%}.grants-profile--officials-item--position{font-size:var(--fontsize-heading-xs);font-weight:bold;margin-bottom:var(--spacing-layout-2-xs);margin-top:0;padding-top:0}.grants-profile--officials-edit-wrapper{text-align:right}.grants-profile--officials-edit-wrapper a{display:inline-block}.grants-profile .hel-icon--check-circle-fill{color:var(--color-success);vertical-align:middle}.grants-profile-grants-profile .tabledrag-toggle-weight-wrapper,.grants-profile-grants-profile .field-multiple-drag{display:none}.grants-profile .hds-text-input__label{display:inline-block;margin-top:0}.page--oma-asiointi__private-person .grants-profile--basicinfo{border-bottom:8px solid var(--color-copper)}.page--oma-asiointi__private-person .grants-profile--wrapper{display:grid;grid-template-columns:1fr 1fr}.page--oma-asiointi__unregistered-community .grants-profile--wrapper{display:grid;grid-template-columns:1fr 1fr}.hds-link .hel-icon{margin-right:var(--spacing-2-xs);vertical-align:bottom}.hds-link span.link-label{font-weight:bold;margin-right:var(--spacing-m)}.bold-link{font-weight:bold}div.applicant-info--from-prh,div.applicant-info--from-grants{display:grid;grid-template-columns:1fr}@media(min-width: 576px){div.applicant-info--from-prh,div.applicant-info--from-grants{grid-template-columns:1fr 1fr}}@media(min-width: 768px){div.applicant-info--from-prh,div.applicant-info--from-grants{grid-template-columns:1fr 1fr 1fr}}div.applicant-info--from-prh .form-required::after,div.applicant-info--from-grants .form-required::after{content:none}div.applicant-info--from-prh{border-bottom:2px solid var(--color-silver);margin-bottom:var(--spacing-layout-xs);padding-bottom:var(--spacing-layout-2-xs)}div.grants-handler--prefilled-field .field-prefix,.grants-profile-prh-info .field-prefix{display:block;position:absolute;right:var(--spacing-layout-s);top:0}div.grants-handler--prefilled-field .hds-text-input__input-wrapper,div.grants-handler--prefilled-field .description,.grants-profile-prh-info .hds-text-input__input-wrapper,.grants-profile-prh-info .description{display:inline-block;white-space:normal}div.grants-handler--prefilled-field .hel-icon--check-circle-fill,.grants-profile-prh-info .hel-icon--check-circle-fill{color:var(--color-success);vertical-align:middle}div.grants-handler--prefilled-field .hds-text-input__input,div.grants-handler--prefilled-field .webform-element-description,.grants-profile-prh-info .hds-text-input__input,.grants-profile-prh-info .webform-element-description{color:var(--color-black);display:block;font-size:var(--fontsize-body-m);line-height:var(--spacing-m);position:relative}div.grants-handler--prefilled-field .hds-text-input__label,.grants-profile-prh-info .hds-text-input__label{margin-bottom:0}.grants-profile--imported-section .webform-section-flex-wrapper{background-color:var(--color-silver-light);border-bottom:8px solid var(--color-engel-dark);display:block;padding-bottom:var(--spacing-2-xs);padding-left:var(--spacing-l);padding-right:var(--spacing-l);padding-top:var(--spacing-l);width:100%}.grants-profile--imported-section .webform-section-flex-wrapper h3.webform-section-title{font-size:var(--fontsize-heading-l);font-weight:400;margin-top:0;max-width:100%;padding-top:0;width:100%}.grants-profile--imported-section .webform-section-flex-wrapper .webform-section-wrapper{padding:0}.grants-profile--imported-section .webform-section-flex-wrapper .hds-text-input{margin-bottom:0}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container{display:flex;flex-flow:row wrap;justify-content:space-between;margin-bottom:var(--spacing-layout-xs);margin-top:var(--spacing-layout-xs);width:100%}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container>div{margin:0 var(--spacing-layout-xs) 0 0;min-width:160px}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container .hds-text-input__input-wrapper{display:none}.grants-profile--imported-section .webform-section-flex-wrapper #edit-grants-profile-items-container label{font-size:var(--fontsize-body-m);font-weight:bold;margin:0}.grants-profile--imported-section .webform-section-flex-wrapper .form-item-prh-markup{border-bottom:2px solid var(--color-silver);padding-bottom:var(--spacing-layout-xs);padding-top:var(--spacing-layout-xs)}.grants-profile__local-tasks__wrapper{margin-bottom:0}.openid-connect-login-form.openid-connect-login-form{border-bottom:0;margin-bottom:0;padding-bottom:0}.grants-profile--links{display:flex;justify-content:space-between}.company-delete-confirm-form .form-actions{margin-top:var(--spacing-layout-xs)}.company-delete-confirm-form .form-submit{margin-right:var(--spacing-2-xs)}.page--oma-asiointi .main-content{margin-top:0}.page--oma-asiointi .main-content h2{margin-top:var(--spacing-m)}.hero--oma-asiointi{margin-bottom:var(--spacing-l)}.hero--oma-asiointi .container{padding-top:var(--spacing-layout-m)}.hero--oma-asiointi .hero__text-content{align-items:center;display:flex}.hero--oma-asiointi .hero__title{margin-left:0}@media(min-width: 576px){.hero--oma-asiointi .hero__title{margin-left:40px}}.hero--oma-asiointi .hel-icon{display:none}@media(min-width: 576px){.hero--oma-asiointi .hel-icon{--icon-size: 48px;display:block;flex-shrink:0}}#oma-asiointi__sent{background:var(--color-silver-light)}#oma-asiointi__sent .application-list__item{background:var(--color-white)}.oma-asiointi-block{background-color:var(--color-silver-light);padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.oma-asiointi-block h2{margin-bottom:var(--spacing-s);margin-top:0}.oma-asiointi-block h3{font-size:var(--fontsize-heading-m);font-weight:500}.oma-asiointi-block .header{border-bottom:1px solid var(--color-silver-dark);display:flex;justify-content:space-between;padding-bottom:var(--spacing-xs)}.oma-asiointi-block .header .user,.oma-asiointi-block .header .link{font-weight:700}.oma-asiointi-block .header .link .hel-icon{vertical-align:text-top}.oma-asiointi-block--link{display:block;position:relative;text-decoration:none}.oma-asiointi-block--link::after{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--arrow-right);mask-image:var(--hel-icon--arrow-right);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));transition:transform .2s linear;bottom:var(--spacing-m);content:"";display:block;flex-shrink:0;margin-left:-4px;margin-top:var(--spacing-2-xs);position:absolute;right:var(--spacing-m)}@media(prefers-reduced-motion){.oma-asiointi-block--link::after{transition:none}}@media(min-width: 576px){.oma-asiointi-block--link::after{--icon-size: 3rem;margin-left:-8px;margin-top:var(--spacing-s)}}.oma-asiointi-block--link:focus::after,.oma-asiointi-block--link:hover::after{transform:translateX(var(--spacing-2-xs))}@media(prefers-reduced-motion){.oma-asiointi-block--link:focus::after,.oma-asiointi-block--link:hover::after{transform:none}}.oma-asiointi-block .new-message{background-color:var(--color-alert);display:inline-block;font-weight:500;padding:var(--spacing-2-xs);text-transform:uppercase}.oma-asiointi-block .new-messages-length{background-color:var(--color-black-20);border-radius:50%;display:inline-block;font-size:var(--fontsize-heading-s);height:30px;line-height:30px;margin-left:var(--spacing-m);position:relative;text-align:center;width:30px}.oma-asiointi-block .new-messages-length.has-new-messages{background-color:var(--color-alert)}@media(min-width: 768px){.oma-asiointi-block .content{display:grid;grid-gap:var(--spacing-s);grid-template-columns:1fr 1fr}}.oma-asiointi-block .submission,.oma-asiointi-block .message{background-color:var(--color-white);margin-bottom:var(--spacing-s);margin-top:var(--spacing-s);padding:var(--spacing-m)}.oma-asiointi-block .submission .submission-title,.oma-asiointi-block .submission .message-title,.oma-asiointi-block .message .submission-title,.oma-asiointi-block .message .message-title{font-size:var(--fontsize-heading-s);font-weight:500;margin-bottom:var(--spacing-2-xs);margin-top:0;text-decoration:underline}.oma-asiointi-block .submission .message-title,.oma-asiointi-block .message .message-title{margin-top:var(--spacing-s)}.oma-asiointi-block .submission:hover .submission-title,.oma-asiointi-block .submission:hover .message-title,.oma-asiointi-block .message:hover .submission-title,.oma-asiointi-block .message:hover .message-title{text-decoration:none}.oma-asiointi-block .message{padding-right:var(--spacing-5-xl)}.oma-asiointi{margin-top:var(--spacing-l)}.oma-asiointi ul{padding:0}.oma-asiointi__list{padding-bottom:var(--spacing-l);padding-top:var(--spacing-l)}.oma-asiointi__list h2{margin-bottom:var(--spacing-m);margin-top:0}.oma-asiointi #oma-asiointi__sent{padding-top:var(--spacing-s)}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infoboxes{gap:var(--spacing-3-xl);margin:var(--spacing-2-xl) 0}@media(min-width: 768px){.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infoboxes{display:flex}}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox{background-color:var(--color-info-light);flex:1;margin-bottom:var(--spacing-layout-2-xs);padding:var(--spacing-l)}@media(min-width: 768px){.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox{margin-bottom:0}}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox:last-of-type{margin-bottom:0}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox--link{display:flex;margin-top:var(--spacing-layout-2-xs)}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox--link a{font-size:1.25rem}.oma-asiointi .oma-asiointi-infoboxes-container .oma-asiointi-infobox h3{margin-top:0}.asiointirooli-block{background-color:var(--color-black);color:var(--color-white);font-weight:500;margin-bottom:16px;padding:var(--spacing-2-xs)}.asiointirooli-block a{color:var(--color-white)}.asiointirooli-block .link--switch-role,.asiointirooli-block .link--stop-mandate{color:var(--color-white);margin-left:var(--spacing-layout-s)}@media(max-width: 768px){.asiointirooli-block .link--switch-role,.asiointirooli-block .link--stop-mandate{display:block;margin-left:0}}.asiointirooli-block .link--stop-mandate::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--cross-circle-fill);mask-image:var(--hel-icon--cross-circle-fill);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";display:inline-block;margin-right:10px;-webkit-mask-image:url('data:image/svg+xml,<svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor" d="M12,3 C7.02943725,3 3,7.02943725 3,12 C3,16.9705627 7.02943725,21 12,21 C16.9705627,21 21,16.9705627 21,12 C21,7.02943725 16.9705627,3 12,3 Z M15,7.5 L16.5,9 L13.5,12 L16.5,15 L15,16.5 L12,13.5 L9,16.5 L7.5,15 L10.5,12 L7.5,9 L9,7.5 L12,10.5 L15,7.5 Z"/> </g> </svg>');mask-image:url('data:image/svg+xml,<svg role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor" d="M12,3 C7.02943725,3 3,7.02943725 3,12 C3,16.9705627 7.02943725,21 12,21 C16.9705627,21 21,16.9705627 21,12 C21,7.02943725 16.9705627,3 12,3 Z M15,7.5 L16.5,9 L13.5,12 L16.5,15 L15,16.5 L12,13.5 L9,16.5 L7.5,15 L10.5,12 L7.5,9 L9,7.5 L12,10.5 L15,7.5 Z"/> </g> </svg>')}.asiointirooli-block .link--switch-role::before{--icon-size: 1.5rem;background-color:#000;background-size:contain;content:"";display:inline-block;height:calc(var(--line-height) * 1em);height:var(--icon-size, calc(var(--line-height) * 1em));-webkit-mask-image:var(--hel-icon--swap-user);mask-image:var(--hel-icon--swap-user);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);mask-size:calc(var(--line-height) * 1em) calc(var(--line-height) * 1em);-webkit-mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));mask-size:var(--icon-size, calc(var(--line-height) * 1em)) var(--icon-size, calc(var(--line-height) * 1em));vertical-align:bottom;width:calc(var(--line-height) * 1em);width:var(--icon-size, calc(var(--line-height) * 1em));background-color:var(--color-white);content:"";display:inline-block;margin-right:10px;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <rect width="24" height="24"/> <path fill="currentColor"  d="M6,5 C6.55228,5 7,4.55228 7,4 C7,3.44772 6.55228,3 6,3 C5.44772,3 5,3.44772 5,4 C5,4.55228 5.44772,5 6,5 Z M6,7 C7.65685,7 9,5.65685 9,4 C9,2.34315 7.65685,1 6,1 C4.34315,1 3,2.34315 3,4 C3,5.65685 4.34315,7 6,7 Z M18,14 C18.5523,14 19,13.5523 19,13 C19,12.4477 18.5523,12 18,12 C17.4477,12 17,12.4477 17,13 C17,13.5523 17.4477,14 18,14 Z M18,16 C19.6569,16 21,14.6569 21,13 C21,11.3431 19.6569,10 18,10 C16.3431,10 15,11.3431 15,13 C15,14.6569 16.3431,16 18,16 Z M4,10 C3.44772,10 3,10.4477 3,11 L3,12 L9,12 L9,11 C9,10.4477 8.55228,10 8,10 L4,10 Z M1,11 C1,9.34315 2.34315,8 4,8 L8,8 C9.65685,8 11,9.34315 11,11 L11,14 L1,14 L1,11 Z M16,19 C15.4477,19 15,19.4477 15,20 L15,21 L21,21 L21,20 C21,19.4477 20.5523,19 20,19 L16,19 Z M13,20 C13,18.3431 14.3431,17 16,17 L20,17 C21.6569,17 23,18.3431 23,20 L23,23 L13,23 L13,20 Z M16,3 L12.9998,3 L12.9998,1 L16,1 C17.6569,1 19,2.34315 19,4 L19,5.08578 L20.2929,3.79289 L21.7071,5.20711 L18,8.91421 L14.2929,5.20711 L15.7071,3.79289 L17,5.08579 L17,4 C17,3.44772 16.5523,3 16,3 Z M6,15.0858 L9.70711,18.7929 L8.29289,20.2071 L6.99999,18.9142 L6.99999,20 C6.99999,20.5523 7.44771,21 7.99999,21 L11,21 L11,23 L7.99999,23 C6.34313,23 4.99999,21.6569 4.99999,20 L4.99999,18.9142 L3.70711,20.2071 L2.29289,18.7929 L6,15.0858 Z"/></g></svg>')}#grants-mandate-type .form-actions{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;width:100%}@media(min-width: 576px){#grants-mandate-type .form-actions{flex-direction:row;margin-left:calc(-1*var(--spacing-m));width:calc(100% + var(--spacing-m))}}#grants-mandate-type .form-actions .hds-card--applicant-role{margin-bottom:var(--spacing-l);position:relative;width:100%}@media(min-width: 576px){#grants-mandate-type .form-actions .hds-card--applicant-role{margin-left:var(--spacing-m);width:calc(50% - var(--spacing-m))}}@media(min-width: 992px){#grants-mandate-type .form-actions .hds-card--applicant-role{width:calc(33.3333333333% - var(--spacing-m))}}#grants-mandate-type .form-actions .hds-card--applicant-role .hds-card__body{align-content:space-between;height:100%}#grants-mandate-type .form-actions .hds-card--applicant-role .hds-card--mandate-card-content{display:grid;gap:var(--spacing-m);grid-gap:var(--spacing-m)}
diff --git a/public/themes/custom/hdbt_subtheme/dist/js/dialog.min.js b/public/themes/custom/hdbt_subtheme/dist/js/dialog.min.js
deleted file mode 100644
index 807aa16578..0000000000
--- a/public/themes/custom/hdbt_subtheme/dist/js/dialog.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(){var t;!function(t,Drupal,drupalSettings){drupalSettings.dialog={autoOpen:!0,dialogClass:"",buttonClass:"button",buttonPrimaryClass:"button--primary",close:function(t){Drupal.dialog(t.target).close(),Drupal.detachBehaviors(t.target,null,"unload")}},Drupal.dialog=function(i,e){const s=t(i),o={open:!1,returnValue:undefined};function a(i){i=t.extend({},drupalSettings.dialog,e,i),t(window).trigger("dialog:beforecreate",[o,s,i]),s.dialog(i),o.open=!0,t(window).trigger("dialog:aftercreate",[o,s,i])}return o.show=function(){a({modal:!1})},o.showModal=function(){a({modal:!0})},o.close=function(i){t(window).trigger("dialog:beforeclose",[o,s]),s.dialog("close"),o.returnValue=i,o.open=!1,t(window).trigger("dialog:afterclose",[o,s])},o}}(jQuery,Drupal,drupalSettings),(t=jQuery).widget("ui.dialog",{version:"1.13.2",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using(i){const e=t(this).css(i).offset().top;e<0&&t(this).css("top",i.top-e)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init(){this.options.autoOpen&&this.open()},_appendTo(){const i=this.options.appendTo;return i&&(i.jquery||i.nodeType)?t(i):this.document.find(i||"body").eq(0)},_destroy(){let t;const{originalPosition:i}=this;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=i.parent.children().eq(i.index),t.length&&t[0]!==this.element[0]?t.before(this.element):i.parent.append(this.element)},widget(){return this.uiDialog},disable:t.noop,enable:t.noop,close(i){const e=this;this._isOpen&&!1!==this._trigger("beforeClose",i)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,(function(){e._trigger("close",i)})))},isOpen(){return this._isOpen},moveToTop(){this._moveToTop()},_moveToTop(i,e){let s=!1;const o=this.uiDialog.siblings(".ui-front:visible").map((function(){return+t(this).css("z-index")})).get(),a=Math.max.apply(null,o);return a>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",a+1),s=!0),s&&!e&&this._trigger("focus",i),s},open(){const i=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,(function(){i._focusTabbable(),i._trigger("focus")})),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable(){let t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_restoreTabbableFocus(){const i=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===i||t.contains(this.uiDialog[0],i)||this._focusTabbable()},_keepFocus(t){t.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown(i){if(this.options.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===t.ui.keyCode.ESCAPE)return i.preventDefault(),void this.close(i);if(i.keyCode!==t.ui.keyCode.TAB||i.isDefaultPrevented())return;const e=this.uiDialog.find(":tabbable"),s=e.first(),o=e.last();i.target!==o[0]&&i.target!==this.uiDialog[0]||i.shiftKey?i.target!==s[0]&&i.target!==this.uiDialog[0]||!i.shiftKey||(this._delay((function(){o.trigger("focus")})),i.preventDefault()):(this._delay((function(){s.trigger("focus")})),i.preventDefault())},mousedown(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar(){let i;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown(i){t(i.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click(t){t.preventDefault(),this.close(t)}}),i=t("<h2>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(i,"ui-dialog-title"),this._title(i),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":i.attr("id")})},_title(i){this.options.title?(i.text(this.options.title),t('<span class="hel-icon hel-icon--alert-circle " aria-hidden="true"></span>').prependTo(i)):i.html("&#160;")},_createButtonPane(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons(){const i=this,{buttons:e}=this.options;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(e)||Array.isArray(e)&&!e.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(e,(function(e,s){let o,a;s="function"==typeof s?{click:s,text:e}:s,s=t.extend({type:"button"},s),o=s.click,a={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(a).addClass(` hds-button hds-button--${s.buttonType?s.buttonType:"primary"}`).appendTo(i.uiButtonSet).on("click",(function(){o.apply(i.element[0],arguments)}))})),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable(){const i=this,{options:e}=this;function s(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start(e,o){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",e,s(o))},drag(t,e){i._trigger("drag",t,s(e))},stop(o,a){const n=a.offset.left-i.document.scrollLeft(),l=a.offset.top-i.document.scrollTop();e.position={my:"left top",at:`left${n>=0?"+":""}${n} top${l>=0?"+":""}${l}`,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",o,s(a))}})},_makeResizable(){const i=this,{options:e}=this,s=e.resizable,o=this.uiDialog.css("position"),a="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";function n(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:this._minHeight(),handles:a,start(e,s){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",e,n(s))},resize(t,e){i._trigger("resize",t,n(e))},stop(s,o){const a=i.uiDialog.offset(),l=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();e.height=i.uiDialog.height(),e.width=i.uiDialog.width(),e.position={my:"left top",at:`left${l>=0?"+":""}${l} top${h>=0?"+":""}${h}`,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",s,n(o))}}).css("position",o)},_trackFocus(){this._on(this.widget(),{focusin(i){this._makeFocusTarget(),this._focusedElement=t(i.target)}})},_makeFocusTarget(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance(){const i=this._trackingInstances(),e=t.inArray(this,i);-1!==e&&i.splice(e,1)},_trackingInstances(){let t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight(){const{options:t}=this;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position(){const t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions(i){const e=this;let s=!1;const o={};t.each(i,(function(t,i){e._setOption(t,i),t in e.sizeRelatedOptions&&(s=!0),t in e.resizableRelatedOptions&&(o[t]=i)})),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption(i,e){let s,o;const{uiDialog:a}=this;"disabled"!==i&&(this._super(i,e),"appendTo"===i&&this.uiDialog.appendTo(this._appendTo()),"buttons"===i&&this._createButtons(),"closeText"===i&&this.uiDialogTitlebarClose.button({label:t("<a>").text(`${this.options.closeText}`).html()}),"draggable"===i&&(s=a.is(":data(ui-draggable)"),s&&!e&&a.draggable("destroy"),!s&&e&&this._makeDraggable()),"position"===i&&this._position(),"resizable"===i&&(o=a.is(":data(ui-resizable)"),o&&!e&&a.resizable("destroy"),o&&"string"==typeof e&&a.resizable("option","handles",e),o||!1===e||this._makeResizable()),"title"===i&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size(){let t,i,e;const{options:s}=this;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),i=Math.max(0,s.minHeight-t),e="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:i,maxHeight:e,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames(){this.iframeBlocks=this.document.find("iframe").map((function(){const i=t(this);return t("<div>").css({position:"absolute",width:i.outerWidth(),height:i.outerHeight()}).appendTo(i.parent()).offset(i.offset())[0]}))},_unblockFrames(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:i=>!!t(i.target).closest(".ui-dialog").length||!!t(i.target).closest(".ui-datepicker").length,_createOverlay(){if(!this.options.modal)return;const i=t.fn.jquery.substring(0,4);let e=!0;this._delay((function(){e=!1})),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(t){if(e)return;const s=this._trackingInstances()[0];s._allowInteraction(t)||(t.preventDefault(),s._focusTabbable(),"3.4."!==i&&"3.5."!==i||s._delay(s._restoreTabbableFocus))}.bind(this)),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)},_destroyOverlay(){if(this.options.modal&&this.overlay){const t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption(t,i){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(i),this._superApply(arguments)}}),t.ui.dialog}();
\ No newline at end of file
diff --git a/public/themes/custom/hdbt_subtheme/hdbt_subtheme.info.yml b/public/themes/custom/hdbt_subtheme/hdbt_subtheme.info.yml
index d0ffb5be1c..861f6de9a0 100644
--- a/public/themes/custom/hdbt_subtheme/hdbt_subtheme.info.yml
+++ b/public/themes/custom/hdbt_subtheme/hdbt_subtheme.info.yml
@@ -32,9 +32,6 @@ libraries:
   - hdbt_subtheme/global-scripting
 
 libraries-override:
-  core/drupal.dialog:
-    js:
-      misc/dialog/dialog.js: dist/js/dialog.min.js
   webform/webform.element.help:
     js:
       js/webform.element.help.js: dist/js/webform.element.help.min.js
diff --git a/public/themes/custom/hdbt_subtheme/package-lock.json b/public/themes/custom/hdbt_subtheme/package-lock.json
index 99016083c1..737369b2cb 100644
--- a/public/themes/custom/hdbt_subtheme/package-lock.json
+++ b/public/themes/custom/hdbt_subtheme/package-lock.json
@@ -3310,9 +3310,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001640",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz",
-      "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==",
+      "version": "1.0.30001669",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz",
+      "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==",
       "funding": [
         {
           "type": "opencollective",
diff --git a/public/themes/custom/hdbt_subtheme/src/js/dialog.js b/public/themes/custom/hdbt_subtheme/src/js/dialog.js
deleted file mode 100644
index ca09c5b16c..0000000000
--- a/public/themes/custom/hdbt_subtheme/src/js/dialog.js
+++ /dev/null
@@ -1,1003 +0,0 @@
-/**
- * DO NOT EDIT THIS FILE.
- * See the following change record for more information,
- * https://www.drupal.org/node/2815083
- * @preserve
- * */
-
-(function ($, Drupal, drupalSettings) {
-  drupalSettings.dialog = {
-    autoOpen: true,
-    dialogClass: "",
-    buttonClass: "button",
-    buttonPrimaryClass: "button--primary",
-    close: function close(event) {
-      Drupal.dialog(event.target).close();
-      Drupal.detachBehaviors(event.target, null, "unload");
-    },
-  };
-
-  Drupal.dialog = function (element, options) {
-    let undef;
-    const $element = $(element);
-    const dialog = {
-      open: false,
-      returnValue: undef,
-    };
-
-    function openDialog(settings) {
-      settings = $.extend({}, drupalSettings.dialog, options, settings);
-      $(window).trigger("dialog:beforecreate", [dialog, $element, settings]);
-      $element.dialog(settings);
-      dialog.open = true;
-      $(window).trigger("dialog:aftercreate", [dialog, $element, settings]);
-    }
-
-    function closeDialog(value) {
-      $(window).trigger("dialog:beforeclose", [dialog, $element]);
-      $element.dialog("close");
-      dialog.returnValue = value;
-      dialog.open = false;
-      $(window).trigger("dialog:afterclose", [dialog, $element]);
-    }
-
-    dialog.show = function () {
-      openDialog({
-        modal: false,
-      });
-    };
-
-    dialog.showModal = function () {
-      openDialog({
-        modal: true,
-      });
-    };
-
-    dialog.close = closeDialog;
-    return dialog;
-  };
-})(jQuery, Drupal, drupalSettings);
-
-(function (factory) {
-  if (typeof define === "function" && define.amd) {
-    factory(jQuery);
-  } else {
-    // Browser globals
-    factory(jQuery);
-  }
-})(function ($) {
-  $.widget("ui.dialog", {
-    version: "1.13.2",
-    options: {
-      appendTo: "body",
-      autoOpen: true,
-      buttons: [],
-      classes: {
-        "ui-dialog": "ui-corner-all",
-        "ui-dialog-titlebar": "ui-corner-all",
-      },
-      closeOnEscape: true,
-      closeText: "Close",
-      draggable: true,
-      hide: null,
-      height: "auto",
-      maxHeight: null,
-      maxWidth: null,
-      minHeight: 150,
-      minWidth: 150,
-      modal: false,
-      position: {
-        my: "center",
-        at: "center",
-        of: window,
-        collision: "fit",
-
-        // Ensure the titlebar is always visible
-        using(pos) {
-          const topOffset = $(this).css(pos).offset().top;
-          if (topOffset < 0) {
-            $(this).css("top", pos.top - topOffset);
-          }
-        },
-      },
-      resizable: true,
-      show: null,
-      title: null,
-      width: 300,
-
-      // Callbacks
-      beforeClose: null,
-      close: null,
-      drag: null,
-      dragStart: null,
-      dragStop: null,
-      focus: null,
-      open: null,
-      resize: null,
-      resizeStart: null,
-      resizeStop: null,
-    },
-
-    sizeRelatedOptions: {
-      buttons: true,
-      height: true,
-      maxHeight: true,
-      maxWidth: true,
-      minHeight: true,
-      minWidth: true,
-      width: true,
-    },
-
-    resizableRelatedOptions: {
-      maxHeight: true,
-      maxWidth: true,
-      minHeight: true,
-      minWidth: true,
-    },
-
-    _create() {
-      this.originalCss = {
-        display: this.element[0].style.display,
-        width: this.element[0].style.width,
-        minHeight: this.element[0].style.minHeight,
-        maxHeight: this.element[0].style.maxHeight,
-        height: this.element[0].style.height,
-      };
-      this.originalPosition = {
-        parent: this.element.parent(),
-        index: this.element.parent().children().index(this.element),
-      };
-      this.originalTitle = this.element.attr("title");
-      if (this.options.title == null && this.originalTitle != null) {
-        this.options.title = this.originalTitle;
-      }
-
-      // Dialogs can't be disabled
-      if (this.options.disabled) {
-        this.options.disabled = false;
-      }
-
-      this._createWrapper();
-
-      this.element.show().removeAttr("title").appendTo(this.uiDialog);
-
-      this._addClass("ui-dialog-content", "ui-widget-content");
-
-      this._createTitlebar();
-
-      this._createButtonPane();
-
-      if (this.options.draggable && $.fn.draggable) {
-        this._makeDraggable();
-      }
-      if (this.options.resizable && $.fn.resizable) {
-        this._makeResizable();
-      }
-
-      this._isOpen = false;
-
-      this._trackFocus();
-    },
-
-    _init() {
-      if (this.options.autoOpen) {
-        this.open();
-      }
-    },
-
-    _appendTo() {
-      const element = this.options.appendTo;
-      if (element && (element.jquery || element.nodeType)) {
-        return $(element);
-      }
-      return this.document.find(element || "body").eq(0);
-    },
-
-    _destroy() {
-      let next;
-      const { originalPosition } = this;
-
-      this._untrackInstance();
-      this._destroyOverlay();
-
-      this.element
-        .removeUniqueId()
-        .css(this.originalCss)
-
-        // Without detaching first, the following becomes really slow
-        .detach();
-
-      this.uiDialog.remove();
-
-      if (this.originalTitle) {
-        this.element.attr("title", this.originalTitle);
-      }
-      next = originalPosition.parent.children().eq(originalPosition.index);
-
-      // Don't try to place the dialog next to itself (#8613)
-      if (next.length && next[0] !== this.element[0]) {
-        next.before(this.element);
-      } else {
-        originalPosition.parent.append(this.element);
-      }
-    },
-
-    widget() {
-      return this.uiDialog;
-    },
-
-    disable: $.noop,
-    enable: $.noop,
-
-    close(event) {
-      const that = this;
-
-      if (!this._isOpen || this._trigger("beforeClose", event) === false) {
-        return;
-      }
-
-      this._isOpen = false;
-      this._focusedElement = null;
-      this._destroyOverlay();
-      this._untrackInstance();
-
-      if (!this.opener.filter(":focusable").trigger("focus").length) {
-        // Hiding a focused element doesn't trigger blur in WebKit
-        // so in case we have nothing to focus on, explicitly blur the active element
-        // https://bugs.webkit.org/show_bug.cgi?id=47182
-        $.ui.safeBlur($.ui.safeActiveElement(this.document[0]));
-      }
-
-      this._hide(this.uiDialog, this.options.hide, function () {
-        that._trigger("close", event);
-      });
-    },
-
-    isOpen() {
-      return this._isOpen;
-    },
-
-    moveToTop() {
-      this._moveToTop();
-    },
-
-    _moveToTop(event, silent) {
-      let moved = false;
-      const zIndices = this.uiDialog
-        .siblings(".ui-front:visible")
-        .map(function () {
-          return +$(this).css("z-index");
-        })
-        .get();
-      const zIndexMax = Math.max.apply(null, zIndices);
-
-      if (zIndexMax >= +this.uiDialog.css("z-index")) {
-        this.uiDialog.css("z-index", zIndexMax + 1);
-        moved = true;
-      }
-
-      if (moved && !silent) {
-        this._trigger("focus", event);
-      }
-      return moved;
-    },
-
-    open() {
-      const that = this;
-      if (this._isOpen) {
-        if (this._moveToTop()) {
-          this._focusTabbable();
-        }
-        return;
-      }
-
-      this._isOpen = true;
-      this.opener = $($.ui.safeActiveElement(this.document[0]));
-
-      this._size();
-      this._position();
-      this._createOverlay();
-      this._moveToTop(null, true);
-
-      // Ensure the overlay is moved to the top with the dialog, but only when
-      // opening. The overlay shouldn't move after the dialog is open so that
-      // modeless dialogs opened after the modal dialog stack properly.
-      if (this.overlay) {
-        this.overlay.css("z-index", this.uiDialog.css("z-index") - 1);
-      }
-
-      this._show(this.uiDialog, this.options.show, function () {
-        that._focusTabbable();
-        that._trigger("focus");
-      });
-
-      // Track the dialog immediately upon opening in case a focus event
-      // somehow occurs outside of the dialog before an element inside the
-      // dialog is focused (#10152)
-      this._makeFocusTarget();
-
-      this._trigger("open");
-    },
-
-    _focusTabbable() {
-      // Set focus to the first match:
-      // 1. An element that was focused previously
-      // 2. First element inside the dialog matching [autofocus]
-      // 3. Tabbable element inside the content element
-      // 4. Tabbable element inside the buttonpane
-      // 5. The close button
-      // 6. The dialog itself
-      let hasFocus = this._focusedElement;
-      if (!hasFocus) {
-        hasFocus = this.element.find("[autofocus]");
-      }
-      if (!hasFocus.length) {
-        hasFocus = this.element.find(":tabbable");
-      }
-      if (!hasFocus.length) {
-        hasFocus = this.uiDialogButtonPane.find(":tabbable");
-      }
-      if (!hasFocus.length) {
-        hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
-      }
-      if (!hasFocus.length) {
-        hasFocus = this.uiDialog;
-      }
-      hasFocus.eq(0).trigger("focus");
-    },
-
-    _restoreTabbableFocus() {
-      const activeElement = $.ui.safeActiveElement(this.document[0]);
-      const isActive =
-        this.uiDialog[0] === activeElement ||
-        $.contains(this.uiDialog[0], activeElement);
-      if (!isActive) {
-        this._focusTabbable();
-      }
-    },
-
-    _keepFocus(event) {
-      event.preventDefault();
-      this._restoreTabbableFocus();
-
-      // support: IE
-      // IE <= 8 doesn't prevent moving focus even with event.preventDefault()
-      // so we check again later
-      this._delay(this._restoreTabbableFocus);
-    },
-
-    _createWrapper() {
-      this.uiDialog = $("<div>")
-        .hide()
-        .attr({
-          // Setting tabIndex makes the div focusable
-          tabIndex: -1,
-          role: "dialog",
-        })
-        .appendTo(this._appendTo());
-
-      this._addClass(
-        this.uiDialog,
-        "ui-dialog",
-        "ui-widget ui-widget-content ui-front",
-      );
-      this._on(this.uiDialog, {
-        keydown(event) {
-          if (
-            this.options.closeOnEscape &&
-            !event.isDefaultPrevented() &&
-            event.keyCode &&
-            event.keyCode === $.ui.keyCode.ESCAPE
-          ) {
-            event.preventDefault();
-            this.close(event);
-            return;
-          }
-
-          // Prevent tabbing out of dialogs
-          if (
-            event.keyCode !== $.ui.keyCode.TAB ||
-            event.isDefaultPrevented()
-          ) {
-            return;
-          }
-          const tabbables = this.uiDialog.find(":tabbable");
-          const first = tabbables.first();
-          const last = tabbables.last();
-
-          if (
-            (event.target === last[0] || event.target === this.uiDialog[0]) &&
-            !event.shiftKey
-          ) {
-            this._delay(function () {
-              first.trigger("focus");
-            });
-            event.preventDefault();
-          } else if (
-            (event.target === first[0] || event.target === this.uiDialog[0]) &&
-            event.shiftKey
-          ) {
-            this._delay(function () {
-              last.trigger("focus");
-            });
-            event.preventDefault();
-          }
-        },
-        mousedown(event) {
-          if (this._moveToTop(event)) {
-            this._focusTabbable();
-          }
-        },
-      });
-
-      // We assume that any existing aria-describedby attribute means
-      // that the dialog content is marked up properly
-      // otherwise we brute force the content as the description
-      if (!this.element.find("[aria-describedby]").length) {
-        this.uiDialog.attr({
-          "aria-describedby": this.element.uniqueId().attr("id"),
-        });
-      }
-    },
-
-    _createTitlebar() {
-      let uiDialogTitle;
-
-      this.uiDialogTitlebar = $("<div>");
-      this._addClass(
-        this.uiDialogTitlebar,
-        "ui-dialog-titlebar",
-        "ui-widget-header ui-helper-clearfix",
-      );
-      this._on(this.uiDialogTitlebar, {
-        mousedown(event) {
-          // Don't prevent click on close button (#8838)
-          // Focusing a dialog that is partially scrolled out of view
-          // causes the browser to scroll it into view, preventing the click event
-          if (!$(event.target).closest(".ui-dialog-titlebar-close")) {
-            // Dialog isn't getting focus when dragging (#8063)
-            this.uiDialog.trigger("focus");
-          }
-        },
-      });
-
-      // Support: IE
-      // Use type="button" to prevent enter keypresses in textboxes from closing the
-      // dialog in IE (#9312)
-      this.uiDialogTitlebarClose = $("<button type='button'></button>")
-        .button({
-          label: $("<a>").text(this.options.closeText).html(),
-          icon: "ui-icon-closethick",
-          showLabel: false,
-        })
-        .appendTo(this.uiDialogTitlebar);
-
-      this._addClass(this.uiDialogTitlebarClose, "ui-dialog-titlebar-close");
-      this._on(this.uiDialogTitlebarClose, {
-        click(event) {
-          event.preventDefault();
-          this.close(event);
-        },
-      });
-      let uiIcon;
-      uiDialogTitle = $("<h2>").uniqueId().prependTo(this.uiDialogTitlebar);
-
-      this._addClass(uiDialogTitle, "ui-dialog-title");
-      this._title(uiDialogTitle);
-
-      this.uiDialogTitlebar.prependTo(this.uiDialog);
-
-      this.uiDialog.attr({
-        "aria-labelledby": uiDialogTitle.attr("id"),
-      });
-    },
-
-    _title(title) {
-      if (this.options.title) {
-        title.text(this.options.title);
-        $(
-          '<span class="hel-icon hel-icon--alert-circle " aria-hidden="true"></span>',
-        ).prependTo(title);
-      } else {
-        title.html("&#160;");
-      }
-    },
-
-    _createButtonPane() {
-      this.uiDialogButtonPane = $("<div>");
-      this._addClass(
-        this.uiDialogButtonPane,
-        "ui-dialog-buttonpane",
-        "ui-widget-content ui-helper-clearfix",
-      );
-
-      this.uiButtonSet = $("<div>").appendTo(this.uiDialogButtonPane);
-      this._addClass(this.uiButtonSet, "ui-dialog-buttonset");
-
-      this._createButtons();
-    },
-
-    _createButtons() {
-      const that = this;
-      const { buttons } = this.options;
-
-      // If we already have a button pane, remove it
-      this.uiDialogButtonPane.remove();
-      this.uiButtonSet.empty();
-
-      if (
-        $.isEmptyObject(buttons) ||
-        (Array.isArray(buttons) && !buttons.length)
-      ) {
-        this._removeClass(this.uiDialog, "ui-dialog-buttons");
-        return;
-      }
-
-      $.each(buttons, function (name, props) {
-        let click;
-        let buttonOptions;
-        props =
-          typeof props === "function" ? { click: props, text: name } : props;
-
-        // Default to a non-submitting button
-        props = $.extend({ type: "button" }, props);
-        // Change the context for the click callback to be the main element
-        click = props.click;
-        buttonOptions = {
-          icon: props.icon,
-          iconPosition: props.iconPosition,
-          showLabel: props.showLabel,
-
-          // Deprecated options
-          icons: props.icons,
-          text: props.text,
-        };
-
-        delete props.click;
-        delete props.icon;
-        delete props.iconPosition;
-        delete props.showLabel;
-
-        // Deprecated options
-        delete props.icons;
-        if (typeof props.text === "boolean") {
-          delete props.text;
-        }
-
-        $("<button></button>", props)
-          .button(buttonOptions)
-          .addClass(
-            ` hds-button hds-button--${
-              props.buttonType ? props.buttonType : "primary"
-            }`,
-          )
-          .appendTo(that.uiButtonSet)
-          .on("click", function () {
-            click.apply(that.element[0], arguments);
-          });
-      });
-      this._addClass(this.uiDialog, "ui-dialog-buttons");
-      this.uiDialogButtonPane.appendTo(this.uiDialog);
-    },
-
-    _makeDraggable() {
-      const that = this;
-      const { options } = this;
-
-      function filteredUi(ui) {
-        return {
-          position: ui.position,
-          offset: ui.offset,
-        };
-      }
-
-      this.uiDialog.draggable({
-        cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
-        handle: ".ui-dialog-titlebar",
-        containment: "document",
-        start(event, ui) {
-          that._addClass($(this), "ui-dialog-dragging");
-          that._blockFrames();
-          that._trigger("dragStart", event, filteredUi(ui));
-        },
-        drag(event, ui) {
-          that._trigger("drag", event, filteredUi(ui));
-        },
-        stop(event, ui) {
-          const left = ui.offset.left - that.document.scrollLeft();
-          const top = ui.offset.top - that.document.scrollTop();
-
-          options.position = {
-            my: "left top",
-            at:
-              `left${left >= 0 ? "+" : ""}${left} ` +
-              `top${top >= 0 ? "+" : ""}${top}`,
-            of: that.window,
-          };
-          that._removeClass($(this), "ui-dialog-dragging");
-          that._unblockFrames();
-          that._trigger("dragStop", event, filteredUi(ui));
-        },
-      });
-    },
-
-    _makeResizable() {
-      const that = this;
-      const { options } = this;
-      const handles = options.resizable;
-
-      // .ui-resizable has position: relative defined in the stylesheet
-      // but dialogs have to use absolute or fixed positioning
-      const position = this.uiDialog.css("position");
-      const resizeHandles =
-        typeof handles === "string" ? handles : "n,e,s,w,se,sw,ne,nw";
-
-      function filteredUi(ui) {
-        return {
-          originalPosition: ui.originalPosition,
-          originalSize: ui.originalSize,
-          position: ui.position,
-          size: ui.size,
-        };
-      }
-
-      this.uiDialog
-        .resizable({
-          cancel: ".ui-dialog-content",
-          containment: "document",
-          alsoResize: this.element,
-          maxWidth: options.maxWidth,
-          maxHeight: options.maxHeight,
-          minWidth: options.minWidth,
-          minHeight: this._minHeight(),
-          handles: resizeHandles,
-          start(event, ui) {
-            that._addClass($(this), "ui-dialog-resizing");
-            that._blockFrames();
-            that._trigger("resizeStart", event, filteredUi(ui));
-          },
-          resize(event, ui) {
-            that._trigger("resize", event, filteredUi(ui));
-          },
-          stop(event, ui) {
-            const offset = that.uiDialog.offset();
-            const left = offset.left - that.document.scrollLeft();
-            const top = offset.top - that.document.scrollTop();
-
-            options.height = that.uiDialog.height();
-            options.width = that.uiDialog.width();
-            options.position = {
-              my: "left top",
-              at:
-                `left${left >= 0 ? "+" : ""}${left} ` +
-                `top${top >= 0 ? "+" : ""}${top}`,
-              of: that.window,
-            };
-            that._removeClass($(this), "ui-dialog-resizing");
-            that._unblockFrames();
-            that._trigger("resizeStop", event, filteredUi(ui));
-          },
-        })
-        .css("position", position);
-    },
-
-    _trackFocus() {
-      this._on(this.widget(), {
-        focusin(event) {
-          this._makeFocusTarget();
-          this._focusedElement = $(event.target);
-        },
-      });
-    },
-
-    _makeFocusTarget() {
-      this._untrackInstance();
-      this._trackingInstances().unshift(this);
-    },
-
-    _untrackInstance() {
-      const instances = this._trackingInstances();
-      const exists = $.inArray(this, instances);
-      if (exists !== -1) {
-        instances.splice(exists, 1);
-      }
-    },
-
-    _trackingInstances() {
-      let instances = this.document.data("ui-dialog-instances");
-      if (!instances) {
-        instances = [];
-        this.document.data("ui-dialog-instances", instances);
-      }
-      return instances;
-    },
-
-    _minHeight() {
-      const { options } = this;
-
-      return options.height === "auto"
-        ? options.minHeight
-        : Math.min(options.minHeight, options.height);
-    },
-
-    _position() {
-      // Need to show the dialog to get the actual offset in the position plugin
-      const isVisible = this.uiDialog.is(":visible");
-      if (!isVisible) {
-        this.uiDialog.show();
-      }
-      this.uiDialog.position(this.options.position);
-      if (!isVisible) {
-        this.uiDialog.hide();
-      }
-    },
-
-    _setOptions(options) {
-      const that = this;
-      let resize = false;
-      const resizableOptions = {};
-
-      $.each(options, function (key, value) {
-        that._setOption(key, value);
-
-        if (key in that.sizeRelatedOptions) {
-          resize = true;
-        }
-        if (key in that.resizableRelatedOptions) {
-          resizableOptions[key] = value;
-        }
-      });
-
-      if (resize) {
-        this._size();
-        this._position();
-      }
-      if (this.uiDialog.is(":data(ui-resizable)")) {
-        this.uiDialog.resizable("option", resizableOptions);
-      }
-    },
-
-    _setOption(key, value) {
-      let isDraggable;
-      let isResizable;
-      const { uiDialog } = this;
-
-      if (key === "disabled") {
-        return;
-      }
-
-      this._super(key, value);
-
-      if (key === "appendTo") {
-        this.uiDialog.appendTo(this._appendTo());
-      }
-
-      if (key === "buttons") {
-        this._createButtons();
-      }
-
-      if (key === "closeText") {
-        this.uiDialogTitlebarClose.button({
-          // Ensure that we always pass a string
-          label: $("<a>").text(`${this.options.closeText}`).html(),
-        });
-      }
-
-      if (key === "draggable") {
-        isDraggable = uiDialog.is(":data(ui-draggable)");
-        if (isDraggable && !value) {
-          uiDialog.draggable("destroy");
-        }
-
-        if (!isDraggable && value) {
-          this._makeDraggable();
-        }
-      }
-
-      if (key === "position") {
-        this._position();
-      }
-
-      if (key === "resizable") {
-        // currently resizable, becoming non-resizable
-        isResizable = uiDialog.is(":data(ui-resizable)");
-        if (isResizable && !value) {
-          uiDialog.resizable("destroy");
-        }
-
-        // Currently resizable, changing handles
-        if (isResizable && typeof value === "string") {
-          uiDialog.resizable("option", "handles", value);
-        }
-
-        // Currently non-resizable, becoming resizable
-        if (!isResizable && value !== false) {
-          this._makeResizable();
-        }
-      }
-
-      if (key === "title") {
-        this._title(this.uiDialogTitlebar.find(".ui-dialog-title"));
-      }
-    },
-
-    _size() {
-      // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
-      // divs will both have width and height set, so we need to reset them
-      let nonContentHeight;
-      let minContentHeight;
-      let maxContentHeight;
-      const { options } = this;
-
-      // Reset content sizing
-      this.element.show().css({
-        width: "auto",
-        minHeight: 0,
-        maxHeight: "none",
-        height: 0,
-      });
-
-      if (options.minWidth > options.width) {
-        options.width = options.minWidth;
-      }
-
-      // Reset wrapper sizing
-      // determine the height of all the non-content elements
-      nonContentHeight = this.uiDialog
-        .css({
-          height: "auto",
-          width: options.width,
-        })
-        .outerHeight();
-      minContentHeight = Math.max(0, options.minHeight - nonContentHeight);
-      maxContentHeight =
-        typeof options.maxHeight === "number"
-          ? Math.max(0, options.maxHeight - nonContentHeight)
-          : "none";
-
-      if (options.height === "auto") {
-        this.element.css({
-          minHeight: minContentHeight,
-          maxHeight: maxContentHeight,
-          height: "auto",
-        });
-      } else {
-        this.element.height(Math.max(0, options.height - nonContentHeight));
-      }
-
-      if (this.uiDialog.is(":data(ui-resizable)")) {
-        this.uiDialog.resizable("option", "minHeight", this._minHeight());
-      }
-    },
-
-    _blockFrames() {
-      this.iframeBlocks = this.document.find("iframe").map(function () {
-        const iframe = $(this);
-
-        return $("<div>")
-          .css({
-            position: "absolute",
-            width: iframe.outerWidth(),
-            height: iframe.outerHeight(),
-          })
-          .appendTo(iframe.parent())
-          .offset(iframe.offset())[0];
-      });
-    },
-
-    _unblockFrames() {
-      if (this.iframeBlocks) {
-        this.iframeBlocks.remove();
-        delete this.iframeBlocks;
-      }
-    },
-
-    _allowInteraction(event) {
-      if ($(event.target).closest(".ui-dialog").length) {
-        return true;
-      }
-
-      // TODO: Remove hack when datepicker implements
-      // the .ui-front logic (#8989)
-      return !!$(event.target).closest(".ui-datepicker").length;
-    },
-
-    _createOverlay() {
-      if (!this.options.modal) {
-        return;
-      }
-
-      const jqMinor = $.fn.jquery.substring(0, 4);
-
-      // We use a delay in case the overlay is created from an
-      // event that we're going to be cancelling (#2804)
-      let isOpening = true;
-      this._delay(function () {
-        isOpening = false;
-      });
-
-      if (!this.document.data("ui-dialog-overlays")) {
-        // Prevent use of anchors and inputs
-        // This doesn't use `_on()` because it is a shared event handler
-        // across all open modal dialogs.
-        this.document.on(
-          "focusin.ui-dialog",
-          function (event) {
-            if (isOpening) {
-              return;
-            }
-
-            const instance = this._trackingInstances()[0];
-            if (!instance._allowInteraction(event)) {
-              event.preventDefault();
-              instance._focusTabbable();
-
-              // Support: jQuery >=3.4 <3.6 only
-              // Focus re-triggering in jQuery 3.4/3.5 makes the original element
-              // have its focus event propagated last, breaking the re-targeting.
-              // Trigger focus in a delay in addition if needed to avoid the issue
-              // See https://github.com/jquery/jquery/issues/4382
-              if (jqMinor === "3.4." || jqMinor === "3.5.") {
-                instance._delay(instance._restoreTabbableFocus);
-              }
-            }
-          }.bind(this),
-        );
-      }
-
-      this.overlay = $("<div>").appendTo(this._appendTo());
-
-      this._addClass(this.overlay, null, "ui-widget-overlay ui-front");
-      this._on(this.overlay, {
-        mousedown: "_keepFocus",
-      });
-      this.document.data(
-        "ui-dialog-overlays",
-        (this.document.data("ui-dialog-overlays") || 0) + 1,
-      );
-    },
-
-    _destroyOverlay() {
-      if (!this.options.modal) {
-        return;
-      }
-
-      if (this.overlay) {
-        const overlays = this.document.data("ui-dialog-overlays") - 1;
-
-        if (!overlays) {
-          this.document.off("focusin.ui-dialog");
-          this.document.removeData("ui-dialog-overlays");
-        } else {
-          this.document.data("ui-dialog-overlays", overlays);
-        }
-
-        this.overlay.remove();
-        this.overlay = null;
-      }
-    },
-  });
-
-  // DEPRECATED
-  // TODO: switch return back to widget declaration at top of file when this is removed
-  if ($.uiBackCompat !== false) {
-    // Backcompat for dialogClass option
-    $.widget("ui.dialog", $.ui.dialog, {
-      options: {
-        dialogClass: "",
-      },
-      _createWrapper() {
-        this._super();
-        this.uiDialog.addClass(this.options.dialogClass);
-      },
-      _setOption(key, value) {
-        if (key === "dialogClass") {
-          this.uiDialog.removeClass(this.options.dialogClass).addClass(value);
-        }
-        this._superApply(arguments);
-      },
-    });
-  }
-
-  return $.ui.dialog;
-});
diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06_components/__index.scss b/public/themes/custom/hdbt_subtheme/src/scss/06_components/__index.scss
index 58bd78771f..fad523ef8b 100644
--- a/public/themes/custom/hdbt_subtheme/src/scss/06_components/__index.scss
+++ b/public/themes/custom/hdbt_subtheme/src/scss/06_components/__index.scss
@@ -1,5 +1,4 @@
 @import 'block/_index';
-@import 'dialog/_index';
 @import 'pages/_index';
 @import 'layout/_index';
 @import 'navigation/_index';
diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/__index.scss b/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/__index.scss
deleted file mode 100644
index a10b4b1b34..0000000000
--- a/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/__index.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import 'dialog';
diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/_dialog.scss b/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/_dialog.scss
deleted file mode 100644
index c8043dc305..0000000000
--- a/public/themes/custom/hdbt_subtheme/src/scss/06_components/dialog/_dialog.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-.ui-widget-overlay {
-  z-index: 99;
-}
-
-.ui-dialog {
-  .ui-button:hover {
-    border-width: 2px;
-  }
-
-  .ui-dialog-titlebar-close {
-    top: var(--spacing-s);
-    z-index: 1001;
-  }
-
-  .ui-dialog-buttonpane .ui-dialog-buttonset {
-    float: left;
-  }
-
-  .ui-dialog-buttonpane {
-    padding: var(--spacing-2-xs) var(--spacing-m);
-
-    button {
-      margin: 0 var(--spacing-xs) 0 0;
-    }
-  }
-
-  .ui-dialog-content {
-    padding: 0 1em 1em;
-    position: initial;
-  }
-
-  div.ui-dialog-titlebar {
-    padding: 0;
-  }
-
-  &-titlebar {
-    background: transparent;
-    border: 0;
-
-    &-close {
-      background: none;
-      border: none;
-    }
-
-    .ui-dialog-title {
-      display: block;
-      font-size: var(--fontsize-heading-s);
-      overflow: auto;
-      padding: var(--spacing-layout-2-xs) var(--spacing-layout-2-xs) var(--spacing-layout-2-xs) var(--spacing-2-xl);
-      position: relative;
-      white-space: normal;
-    }
-  }
-
-  &-title {
-    .hel-icon {
-      left: var(--spacing-m);
-      margin-right: var(--spacing-2-xs);
-      position: absolute;
-      top: var(--spacing-s);
-    }
-  }
-}
-
-.ui-widget-content {
-  border: 0 transparent solid;
-
-  h3 {
-    margin-top: 0;
-  }
-}
-
-div.ui-widget.ui-widget-content {
-  border-top: var(--spacing-2-xs) solid var(--color-black);
-  max-width: 100vw;
-  min-width: 300px;
-  padding-top: 0;
-}
-
-.ui-widget-content span.ui-icon {
-  margin-left: -8px;
-  margin-top: -8px;
-  mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Crect width='24' height='24'/%3E %3Cpolygon fill='currentColor' points='18 7.5 13.5 12 18 16.5 16.5 18 12 13.5 7.5 18 6 16.5 10.5 12 6 7.5 7.5 6 12 10.5 16.5 6'/%3E %3C/g%3E %3C/svg%3E");
-  transform: scale(1.5);
-}
-
-.submission-for-copying {
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
diff --git a/public/themes/custom/hdbt_subtheme/src/scss/06_components/pages/_application-search.scss b/public/themes/custom/hdbt_subtheme/src/scss/06_components/pages/_application-search.scss
index 170bc17636..d7d7b42946 100644
--- a/public/themes/custom/hdbt_subtheme/src/scss/06_components/pages/_application-search.scss
+++ b/public/themes/custom/hdbt_subtheme/src/scss/06_components/pages/_application-search.scss
@@ -56,164 +56,164 @@
   }
 }
 
-.application_search {
-  &--link {
-    display: block;
-    height: 100%;
-    padding-bottom: var(--spacing-m);
-    position: relative;
-    text-decoration: none;
 
-    &::after {
-      --icon-size: 1.5rem;
+.application_search--link {
+  display: block;
+  height: 100%;
+  padding-bottom: var(--spacing-m);
+  position: relative;
+  text-decoration: none;
 
-      @include pseudo-icon('arrow-right');
-      @include hover-link-arrow-transition;
-      bottom: var(--spacing-s);
-      content: '';
-      display: block;
-      flex-shrink: 0;
-      left: var(--spacing-m);
-      margin-left: -$spacing-quarter;
-      margin-top: $spacing-half;
-      position: absolute;
-
-      @include breakpoint($breakpoint-s) {
-        --icon-size: 3rem;
-        margin-left: -$spacing-half;
-        margin-top: $spacing;
-      }
+  &::after {
+    --icon-size: 1.5rem;
+
+    @include pseudo-icon('arrow-right');
+    @include hover-link-arrow-transition;
+    bottom: var(--spacing-s);
+    content: '';
+    display: block;
+    flex-shrink: 0;
+    left: var(--spacing-m);
+    margin-left: -$spacing-quarter;
+    margin-top: $spacing-half;
+    position: absolute;
+
+    @include breakpoint($breakpoint-s) {
+      --icon-size: 3rem;
+      margin-left: -$spacing-half;
+      margin-top: $spacing;
     }
+  }
 
-    &:focus,
-    &:hover {
-      h3 {
-        text-decoration: none;
-      }
+  &:focus,
+  &:hover {
+    h3 {
+      text-decoration: none;
+    }
 
-      &::after {
-        transform: translateX($spacing-half);
+    &::after {
+      transform: translateX($spacing-half);
 
-        @media (prefers-reduced-motion) {
-          transform: none;
-        }
+      @media (prefers-reduced-motion) {
+        transform: none;
       }
     }
   }
+}
 
-  &--filter-wrapper {
-    background: var(--color-black-5);
+.application_search--filter-wrapper {
+  background: var(--color-black-5);
 
-    h2 {
-      font-size: var(--fontsize-heading-m);
-      margin-bottom: var(--spacing-layout-s);
-      margin-top: var(--spacing-layout-s);
-    }
+  h2 {
+    font-size: var(--fontsize-heading-m);
+    margin-bottom: var(--spacing-layout-s);
+    margin-top: var(--spacing-layout-s);
+  }
 
-    form {
-      align-items: center;
-      border-bottom: 2px solid var(--color-black-20);
-      display: flex;
-      flex-flow: row wrap;
-      gap: var(--spacing-s);
-      justify-content: space-between;
-      margin-bottom: var(--spacing-layout-s);
-      padding-bottom: var(--spacing-layout-s);
-
-      .form-item {
-        margin-bottom: 0;
-        min-width: fit-content;
-        width: calc(calc(100% - var(--spacing-s) - var(--spacing-s)) / 3);
-
-        label {
-          color: var(--label-color-default);
-          font-size: var(--fontsize-body-m);
-          font-weight: 500;
-          margin-bottom: var(--spacing-3-xs);
-        }
-
-        .grant-applications--select-wrapper {
-          min-width: 100%;
-          width: 100%;
-        }
+  form {
+    align-items: center;
+    border-bottom: 2px solid var(--color-black-20);
+    display: flex;
+    flex-flow: row wrap;
+    gap: var(--spacing-s);
+    justify-content: space-between;
+    margin-bottom: var(--spacing-layout-s);
+    padding-bottom: var(--spacing-layout-s);
+
+    .form-item {
+      margin-bottom: 0;
+      min-width: fit-content;
+      width: calc(calc(100% - var(--spacing-s) - var(--spacing-s)) / 3);
+
+      label {
+        color: var(--label-color-default);
+        font-size: var(--fontsize-body-m);
+        font-weight: 500;
+        margin-bottom: var(--spacing-3-xs);
       }
 
-      .hds-text-input:first-child {
-        max-width: none;
+      .grant-applications--select-wrapper {
+        min-width: 100%;
         width: 100%;
-
-        input {
-          width: 100%;
-        }
       }
-      .form-actions {
-        align-items: center;
-        display: flex;
-        order: 6;
-        padding-top: var(--spacing-m);
-        width: 100%;
+    }
 
-        @include breakpoint($breakpoint-m) {
-          width: 17%;
-        }
+    .hds-text-input:first-child {
+      max-width: none;
+      width: 100%;
 
-        input {
-          min-width: 250px;
-          width: 100%;
-        }
+      input {
+        width: 100%;
       }
+    }
+    .form-actions {
+      align-items: center;
+      display: flex;
+      gap: $spacing;
+      order: 6;
+      padding-top: var(--spacing-m);
+      width: 100%;
 
-      .form-item-items-per-page {
-        display: none;
+      @include breakpoint($breakpoint-m) {
+        width: 17%;
       }
 
-      .form-item-kohderyhma {
-        order: 1;
+      input {
+        min-width: 250px;
+        width: 100%;
       }
+    }
 
-      .form-item-avustuslaji {
-        order: 2;
-      }
+    .form-item-items-per-page {
+      display: none;
+    }
 
-      .form-item-hakija {
-        order: 3;
-      }
+    .form-item-kohderyhma {
+      order: 1;
+    }
 
-      .form-item-search {
-        max-width: 100%;
-        order: 4;
-        width: 50%;
-      }
+    .form-item-avustuslaji {
+      order: 2;
+    }
 
-      .form-item-application-open {
-        break-before: left;
-        display: block;
-        margin-top: var(--spacing-m);
-        order: 5;
-        width: 30%;
-      }
-      [data-drupal-selector='edit-reset'] {
-        background-color: transparent;
-        border: 0;
-        color: var(--color-black);
-      }
+    .form-item-hakija {
+      order: 3;
     }
 
-    .hds-koros svg pattern {
-      color: var(--color-black-5);
+    .form-item-search {
+      max-width: 100%;
+      order: 4;
+      width: 50%;
     }
 
-    .hero .hero__container {
-      padding-bottom: var(--spacing-m);
+    .form-item-application-open {
+      break-before: left;
+      display: block;
+      margin-top: var(--spacing-m);
+      order: 5;
+      width: 30%;
     }
+    [data-drupal-selector='edit-reset'] {
+      background-color: transparent;
+      border: 0;
+      color: var(--color-black);
+    }
+  }
+
+  .hds-koros svg pattern {
+    color: var(--color-black-5);
   }
 
-  &--filters {
-    padding-bottom: var(--spacing-layout-m);
-    padding-top: 0;
+  .hero .hero__container {
+    padding-bottom: var(--spacing-m);
   }
 }
 
+.application_search--filters {
+  padding-bottom: var(--spacing-layout-m);
+  padding-top: 0;
+}
+
 .application_search--rows {
   display: flex;
   flex-direction: column;
diff --git a/tools/make/project/install.mk b/tools/make/project/install.mk
index fade4de0d1..483d64f7e1 100644
--- a/tools/make/project/install.mk
+++ b/tools/make/project/install.mk
@@ -3,7 +3,7 @@ ifeq ($(DRUPAL_CONF_EXISTS),yes)
 else
 	DRUPAL_NEW_TARGETS := up build drush-si drush-helfi-enable-modules drush-locale-update drush-helfi-locale-import drush-unblock drush-uli
 endif
-DRUPAL_POST_INSTALL_TARGETS := drush-locale-update drush-deploy drush-helfi-locale-import drush-unblock
+DRUPAL_POST_INSTALL_TARGETS := drush-deploy drush-locale-update drush-helfi-locale-import drush-unblock
 
 OC_LOGIN_TOKEN ?= $(shell bash -c 'read -s -p "You must obtain an API token by visiting https://oauth-openshift.apps.arodevtest.hel.fi/oauth/token/request (Token):" token; echo $$token')
 
diff --git a/tools/make/project/zzavustusasiointi.mk b/tools/make/project/zzavustusasiointi.mk
index ba94ad7f11..3ae0d5ae20 100644
--- a/tools/make/project/zzavustusasiointi.mk
+++ b/tools/make/project/zzavustusasiointi.mk
@@ -60,9 +60,11 @@ drush-sync-db: ## Sync database
 ifeq ($(DUMP_SQL_EXISTS),yes)
 	$(call step,Import local SQL dump...)
 	$(call drush,sql-query --file=${DOCKER_PROJECT_ROOT}/$(DUMP_SQL_FILENAME) && echo 'SQL dump imported')
+	$(call drush,cr -y)
 else
 	$(call step,Sync database from @$(DRUPAL_SYNC_SOURCE)...)
 	$(call drush,sql-sync -y --structure-tables-key=common,key_value_expire @$(DRUPAL_SYNC_SOURCE) @self)
+	$(call drush,cr -y)
 endif
 
 PHONY += drush-create-dump