diff --git a/blt/blt.yml b/blt/blt.yml index 9183b9a54d..adb2ae8880 100644 --- a/blt/blt.yml +++ b/blt/blt.yml @@ -74,6 +74,8 @@ modules: - stage_file_proxy multisites: - archaeology + - artexhibitions + - buddhiststudies - default - dfetter__humsci - dsresearch @@ -94,6 +96,7 @@ multisites: - popstudies - researchadmin_humsci - shenlab + - sparkbox_sandbox - swshumsci_sandbox - symsys simplesamlphp: true diff --git a/composer.json b/composer.json index 17bdf65381..d0331603cc 100644 --- a/composer.json +++ b/composer.json @@ -178,6 +178,7 @@ "drupal/view_unpublished": "^1.0@alpha", "drupal/viewfield": "^3.0@alpha", "drupal/views_block_filter_block": "^1.0@beta", + "drupal/views_bulk_edit": "^2.4", "drupal/views_bulk_operations": "^3.6", "drupal/views_ical": "^1.0@alpha", "drupal/views_infinite_scroll": "^1.5", diff --git a/composer.lock b/composer.lock index 875376d925..ed4627e4ed 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": "8c8be109310991d04e6a7716e7e5a8f5", + "content-hash": "398f9ae14f35812d91d8cf43e6105b8e", "packages": [ { "name": "acquia/blt", @@ -3196,7 +3196,7 @@ "reference": "21f88ad162130e5468ecd3f01de16e0772ef8413" }, "require": { - "drupal/core": "*" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { @@ -3331,29 +3331,26 @@ }, { "name": "drupal/block_field", - "version": "1.0.0-alpha8", + "version": "1.0.0-rc1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/block_field.git", - "reference": "8.x-1.0-alpha8" + "reference": "8.x-1.0-rc1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/block_field-8.x-1.0-alpha8.zip", - "reference": "8.x-1.0-alpha8", - "shasum": "faffdd869263c3103f5c6a7a8d71ac440df1115f" + "url": "https://ftp.drupal.org/files/projects/block_field-8.x-1.0-rc1.zip", + "reference": "8.x-1.0-rc1", + "shasum": "a366cb012ece9987404168a4570c79f701e7819a" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "^8.7.7 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-alpha8", - "datestamp": "1536732480", + "version": "8.x-1.0-rc1", + "datestamp": "1588279781", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -3365,6 +3362,10 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "Berdir", + "homepage": "https://www.drupal.org/user/214652" + }, { "name": "acbramley", "homepage": "https://www.drupal.org/user/1036766" @@ -3376,12 +3377,16 @@ { "name": "jrockowitz", "homepage": "https://www.drupal.org/user/371407" + }, + { + "name": "michaellander", + "homepage": "https://www.drupal.org/user/636494" } ], "description": "Provides a field that allows a content entity to create and configure custom block instances.", "homepage": "https://www.drupal.org/project/block_field", "support": { - "source": "http://cgit.drupalcode.org/block_field" + "source": "https://git.drupalcode.org/project/block_field" } }, { @@ -3866,29 +3871,26 @@ }, { "name": "drupal/conditional_fields", - "version": "1.0.0-alpha6", + "version": "1.0.0-alpha7", "source": { "type": "git", "url": "https://git.drupalcode.org/project/conditional_fields.git", - "reference": "8.x-1.0-alpha6" + "reference": "8.x-1.0-alpha7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha6.zip", - "reference": "8.x-1.0-alpha6", - "shasum": "2fd76d29f643fc870024f57cf90215f8478af3e0" + "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha7.zip", + "reference": "8.x-1.0-alpha7", + "shasum": "214b4dc14c63de1b993efa19147cd515fe2ae37e" }, "require": { "drupal/core": "*" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-alpha6", - "datestamp": "1567032716", + "version": "8.x-1.0-alpha7", + "datestamp": "1588283261", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -3909,7 +3911,11 @@ "homepage": "https://www.drupal.org/user/58704" }, { - "name": "geek.merlin aka axel.rutz", + "name": "ergonlogic", + "homepage": "https://www.drupal.org/user/368613" + }, + { + "name": "geek-merlin", "homepage": "https://www.drupal.org/user/229048" }, { @@ -4796,29 +4802,26 @@ }, { "name": "drupal/default_content", - "version": "1.0.0-alpha8", + "version": "1.0.0-alpha9", "source": { "type": "git", "url": "https://git.drupalcode.org/project/default_content.git", - "reference": "8.x-1.0-alpha8" + "reference": "8.x-1.0-alpha9" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/default_content-8.x-1.0-alpha8.zip", - "reference": "8.x-1.0-alpha8", - "shasum": "cb16848a5c34bd5c11da1412fd49841814337ae8" + "url": "https://ftp.drupal.org/files/projects/default_content-8.x-1.0-alpha9.zip", + "reference": "8.x-1.0-alpha9", + "shasum": "e8d5cc6ae96b14e882852512fbf5887e752146a0" }, "require": { - "drupal/core": "~8.3" + "drupal/core": "^8.7.7 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0-alpha8", - "datestamp": "1556924587", + "version": "8.x-1.0-alpha9", + "datestamp": "1588280141", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -5119,33 +5122,30 @@ }, { "name": "drupal/ds", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ds.git", - "reference": "8.x-3.5" + "reference": "8.x-3.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.5.zip", - "reference": "8.x-3.5", - "shasum": "089c475534e64829d87fe3b34eca5f25654ea7bf" + "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.6.zip", + "reference": "8.x-3.6", + "shasum": "77690af47a87089c4345ba0987e2a85c9a8f58f1" }, "require": { - "drupal/core": "^8.6" + "drupal/core": "^8.8 || ^9" }, "require-dev": { - "drupal/devel": "*", - "drupal/field_group": "*" + "drupal/devel": "3.x-dev", + "drupal/field_group": "3.x-dev" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev" - }, "drupal": { - "version": "8.x-3.5", - "datestamp": "1574750285", + "version": "8.x-3.6", + "datestamp": "1588146702", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5278,29 +5278,26 @@ }, { "name": "drupal/editor_advanced_link", - "version": "1.6.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/editor_advanced_link.git", - "reference": "8.x-1.6" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/editor_advanced_link-8.x-1.6.zip", - "reference": "8.x-1.6", - "shasum": "920f22fd7841bc1c77b56c6ae51436319b47636e" + "url": "https://ftp.drupal.org/files/projects/editor_advanced_link-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "510c3abff415933a34f4b8284d1440aaec2b95d9" }, "require": { - "drupal/core": "*" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.6", - "datestamp": "1577188383", + "version": "8.x-1.8", + "datestamp": "1588757015", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5462,7 +5459,7 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_browser.git", - "reference": "374364516ae3d6d9c3d60675ae4d804130914430" + "reference": "188662acac01e3f05f3860ae6abe2ba77d5e5082" }, "require": { "drupal/core": "^8.8 || ^9" @@ -5482,8 +5479,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.4+3-dev", - "datestamp": "1586345469", + "version": "8.x-2.4+5-dev", + "datestamp": "1588014788", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -5542,7 +5539,7 @@ "issues": "https://www.drupal.org/project/issues/entity_browser", "irc": "irc://irc.freenode.org/drupal-contribute" }, - "time": "2020-04-08T11:38:52+00:00" + "time": "2020-04-27T18:58:08+00:00" }, { "name": "drupal/entity_embed", @@ -5918,29 +5915,26 @@ }, { "name": "drupal/externalauth", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/externalauth.git", - "reference": "8.x-1.2" + "reference": "8.x-1.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/externalauth-8.x-1.2.zip", - "reference": "8.x-1.2", - "shasum": "957cf6e8033c192d7a20379869298063058cff7b" + "url": "https://ftp.drupal.org/files/projects/externalauth-8.x-1.3.zip", + "reference": "8.x-1.3", + "shasum": "b1b38e6718fe66bd38fc894dab1f9d7a7d60f10b" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.2", - "datestamp": "1569251888", + "version": "8.x-1.3", + "datestamp": "1587629529", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6157,7 +6151,7 @@ "reference": "e7b3c4a959f63d7a9efc74f2d3a67de306b8ddb4" }, "require": { - "drupal/core": "*" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { @@ -6729,29 +6723,26 @@ }, { "name": "drupal/key", - "version": "1.12.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/key.git", - "reference": "8.x-1.12" + "reference": "8.x-1.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/key-8.x-1.12.zip", - "reference": "8.x-1.12", - "shasum": "908aab1e38abba391de2a9eb82bd2de9240eb0b9" + "url": "https://ftp.drupal.org/files/projects/key-8.x-1.13.zip", + "reference": "8.x-1.13", + "shasum": "c78e6ebd7993d7fb7d7ad7f58b487e77acd3562c" }, "require": { "drupal/core": "~8.0" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.12", - "datestamp": "1573783085", + "version": "8.x-1.13", + "datestamp": "1588008015", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6800,29 +6791,26 @@ }, { "name": "drupal/layout_builder_modal", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/layout_builder_modal.git", - "reference": "8.x-1.0" + "reference": "8.x-1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/layout_builder_modal-8.x-1.0.zip", - "reference": "8.x-1.0", - "shasum": "d8680bd1cc203600db91545d2ee9eba4220f506f" + "url": "https://ftp.drupal.org/files/projects/layout_builder_modal-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "5063c2d5e33265c92bfeed34df6682d74c973c51" }, "require": { - "drupal/core": "^8.7.0" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0", - "datestamp": "1579042983", + "version": "8.x-1.1", + "datestamp": "1588175915", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7229,10 +7217,10 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_position.git", - "reference": "e732de3794f986e6fe04c3afa23fdb1189d846df" + "reference": "bce075f4ea167a851d7401602394de557b76c85f" }, "require": { - "drupal/core": "~8.0" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { @@ -7240,8 +7228,8 @@ "dev-1.x": "1.x-dev" }, "drupal": { - "version": "8.x-1.0-alpha1+2-dev", - "datestamp": "1578427683", + "version": "8.x-1.0-alpha4+4-dev", + "datestamp": "1587797468", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -7276,7 +7264,7 @@ "source": "https://git.drupalcode.org/project/menu_position", "issues": "https://www.drupal.org/project/issues/menu_position" }, - "time": "2020-01-07T20:29:12+00:00" + "time": "2020-04-25T06:50:43+00:00" }, { "name": "drupal/metatag", @@ -7725,35 +7713,40 @@ }, { "name": "drupal/pathauto", - "version": "1.6.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.6" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.6.zip", - "reference": "8.x-1.6", - "shasum": "eb976ae110d73c06fafb1b657adb967dd2cb8246" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "ede3216abb9c4f77709338d9147334c595046329" }, "require": { - "drupal/core": "^8.6", + "drupal/core": "^8.8 || ^9", "drupal/ctools": "*", "drupal/token": "*" }, + "suggest": { + "drupal/redirect": "When installed Pathauto will provide a new \"Update Action\" in case your URLs change. This is the recommended update action and is considered the best practice for SEO and usability." + }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.6", - "datestamp": "1575467285", + "version": "8.x-1.8", + "datestamp": "1588103046", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" } + }, + "drush": { + "services": { + "drush.services.yml": "^9 || ^10" + } } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -7781,34 +7774,33 @@ "description": "Provides a mechanism for modules to automatically generate aliases for the content they manage.", "homepage": "https://www.drupal.org/project/pathauto", "support": { - "source": "https://git.drupalcode.org/project/pathauto" + "source": "https://cgit.drupalcode.org/pathauto", + "issues": "https://www.drupal.org/project/issues/pathauto", + "documentation": "https://www.drupal.org/docs/8/modules/pathauto" } }, { "name": "drupal/porterstemmer", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/porterstemmer.git", - "reference": "8.x-1.0" + "reference": "8.x-1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/porterstemmer-8.x-1.0.zip", - "reference": "8.x-1.0", - "shasum": "4cbaed762ac1ae297050102d3a913b1c477929bf" + "url": "https://ftp.drupal.org/files/projects/porterstemmer-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "8d66d81322100b116f47fed54c6a4d4a31c449ec" }, "require": { - "drupal/core": "*" + "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0", - "datestamp": "1479503640", + "version": "8.x-1.1", + "datestamp": "1587854751", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7832,7 +7824,7 @@ "description": "Improves American English language searching by simplifying related words to their root (conjugations, plurals, ...).", "homepage": "https://www.drupal.org/project/porterstemmer", "support": { - "source": "http://cgit.drupalcode.org/porterstemmer" + "source": "https://git.drupalcode.org/project/porterstemmer" } }, { @@ -9013,29 +9005,26 @@ }, { "name": "drupal/token", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.6" + "reference": "8.x-1.7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.6.zip", - "reference": "8.x-1.6", - "shasum": "22039a3d927220609e708932ac5c501b90ca4925" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.7.zip", + "reference": "8.x-1.7", + "shasum": "c7e3a3757282e4c94e3c1fff08d01e22155cb853" }, "require": { "drupal/core": "^8.7.7 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.6", - "datestamp": "1577708583", + "version": "8.x-1.7", + "datestamp": "1587893588", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -9354,35 +9343,30 @@ }, { "name": "drupal/video_embed_field", - "version": "2.3.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/video_embed_field.git", - "reference": "8.x-2.3" + "reference": "8.x-2.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/video_embed_field-8.x-2.3.zip", - "reference": "8.x-2.3", - "shasum": "d9b4b3bde48edf49d1aa038aae6736496558caf4" + "url": "https://ftp.drupal.org/files/projects/video_embed_field-8.x-2.4.zip", + "reference": "8.x-2.4", + "shasum": "96b14bb93c1bb6a07b84315a4f87367870f8b574" }, "require": { "drupal/core": "^8.8 || ^9" }, "require-dev": { "drupal/colorbox": "^1.0", - "drupal/media_entity": "*", - "drupal/media_entity_embeddable_video": "*", "drupal/video_embed_media": "*" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - }, "drupal": { - "version": "8.x-2.3", - "datestamp": "1584489966", + "version": "8.x-2.4", + "datestamp": "1587686284", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -9602,6 +9586,59 @@ "source": "https://git.drupalcode.org/project/views_block_filter_block" } }, + { + "name": "drupal/views_bulk_edit", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/views_bulk_edit.git", + "reference": "8.x-2.4" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/views_bulk_edit-8.x-2.4.zip", + "reference": "8.x-2.4", + "shasum": "039ebf9c6ae3cdd0555c7bfb97c629ebfee61ddb" + }, + "require": { + "drupal/core": "*", + "drupal/views_bulk_operations": "~1.0 | ~2.0 | ~3.0" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + }, + "drupal": { + "version": "8.x-2.4", + "datestamp": "1570030085", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Marcin Grabias", + "homepage": "https://www.drupal.org/u/graber" + }, + { + "name": "benjy", + "homepage": "https://www.drupal.org/user/1852732" + } + ], + "description": "Allows bulk edition of entity field values.", + "homepage": "https://www.drupal.org/project/views_bulk_edit", + "support": { + "source": "https://git.drupalcode.org/project/views_bulk_edit", + "issues": "https://www.drupal.org/project/issues/views_bulk_edit?version=8.x" + } + }, { "name": "drupal/views_bulk_operations", "version": "3.6.0", @@ -9839,17 +9876,17 @@ }, { "name": "drupal/webform", - "version": "5.9.0", + "version": "5.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/webform.git", - "reference": "8.x-5.9" + "reference": "8.x-5.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/webform-8.x-5.9.zip", - "reference": "8.x-5.9", - "shasum": "fb49b16dd0c421512834fc50c811fa2cd6c48121" + "url": "https://ftp.drupal.org/files/projects/webform-8.x-5.11.zip", + "reference": "8.x-5.11", + "shasum": "2a8664687d2b0b6071bab011dbbb431e15c83710" }, "require": { "drupal/core": "^8.7.7 || ^9" @@ -9860,14 +9897,14 @@ "drupal/captcha": "~1.0", "drupal/chosen": "~2.6", "drupal/devel": "*", - "drupal/entity_print": "^2.1", + "drupal/entity_print": "*", "drupal/gnode": "*", - "drupal/group": "~1.0", + "drupal/group": "*", "drupal/mailsystem": "~4.1", "drupal/select2": "~1.1", "drupal/smtp": "~1.0", "drupal/telephone_validation": "^2.2", - "drupal/token": "~1.3", + "drupal/token": "*", "drupal/webform_access": "*", "drupal/webform_attachment": "*", "drupal/webform_devel": "*", @@ -9880,12 +9917,9 @@ }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-5.x": "5.x-dev" - }, "drupal": { - "version": "8.x-5.9", - "datestamp": "1584560013", + "version": "8.x-5.11", + "datestamp": "1588785899", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -9899,7 +9933,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -9913,8 +9947,9 @@ "role": "Co-maintainer" }, { - "name": "bucefal91", - "homepage": "https://www.drupal.org/user/504128" + "name": "Contributors", + "homepage": "https://www.drupal.org/node/7404/committers", + "role": "Contributor" }, { "name": "fenstrat", @@ -13054,16 +13089,16 @@ }, { "name": "psy/psysh", - "version": "v0.10.3", + "version": "v0.10.4", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "2bde2fa03e05dff0aee834598b951d6fc7c6fe02" + "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2bde2fa03e05dff0aee834598b951d6fc7c6fe02", - "reference": "2bde2fa03e05dff0aee834598b951d6fc7c6fe02", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a8aec1b2981ab66882a01cce36a49b6317dc3560", + "reference": "a8aec1b2981ab66882a01cce36a49b6317dc3560", "shasum": "" }, "require": { @@ -13122,7 +13157,7 @@ "interactive", "shell" ], - "time": "2020-04-07T06:44:48+00:00" + "time": "2020-05-03T19:32:03+00:00" }, { "name": "ralouphie/getallheaders", @@ -13166,16 +13201,16 @@ }, { "name": "robrichards/xmlseclibs", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/robrichards/xmlseclibs.git", - "reference": "0a53d3c3aa87564910cae4ed01416441d3ae0db5" + "reference": "8d8e56ca7914440a8c60caff1a865e7dff1d9a5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/0a53d3c3aa87564910cae4ed01416441d3ae0db5", - "reference": "0a53d3c3aa87564910cae4ed01416441d3ae0db5", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/8d8e56ca7914440a8c60caff1a865e7dff1d9a5a", + "reference": "8d8e56ca7914440a8c60caff1a865e7dff1d9a5a", "shasum": "" }, "require": { @@ -13200,7 +13235,7 @@ "xml", "xmldsig" ], - "time": "2019-11-05T11:44:22+00:00" + "time": "2020-04-22T17:19:51+00:00" }, { "name": "sainsburys/guzzle-oauth2-plugin", @@ -14228,16 +14263,16 @@ }, { "name": "simplesamlphp/simplesamlphp-module-ldap", - "version": "v0.9.4", + "version": "v0.9.5", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-ldap.git", - "reference": "21301b3fcd7bc6147acdc673ada9e17e5282e908" + "reference": "daee2f362b5a6d443014a4842cc7acc8b47be8ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-ldap/zipball/21301b3fcd7bc6147acdc673ada9e17e5282e908", - "reference": "21301b3fcd7bc6147acdc673ada9e17e5282e908", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-ldap/zipball/daee2f362b5a6d443014a4842cc7acc8b47be8ac", + "reference": "daee2f362b5a6d443014a4842cc7acc8b47be8ac", "shasum": "" }, "require": { @@ -14259,7 +14294,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0-or-later" + "LGPL-2.1-or-later" ], "authors": [ { @@ -14276,7 +14311,7 @@ "ldap", "simplesamlphp" ], - "time": "2019-12-03T12:01:56+00:00" + "time": "2020-05-05T10:00:48+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-memcachemonitor", @@ -14470,16 +14505,16 @@ }, { "name": "simplesamlphp/simplesamlphp-module-oauth", - "version": "v0.9.1", + "version": "v0.9.2", "source": { "type": "git", "url": "https://github.com/simplesamlphp/simplesamlphp-module-oauth.git", - "reference": "17450420b5d4c1810055b8ab655cc4d045a0c477" + "reference": "d14d7aca6e699ec12b3f4dd0128373faa1a2cc61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-oauth/zipball/17450420b5d4c1810055b8ab655cc4d045a0c477", - "reference": "17450420b5d4c1810055b8ab655cc4d045a0c477", + "url": "https://api.github.com/repos/simplesamlphp/simplesamlphp-module-oauth/zipball/d14d7aca6e699ec12b3f4dd0128373faa1a2cc61", + "reference": "d14d7aca6e699ec12b3f4dd0128373faa1a2cc61", "shasum": "" }, "require": { @@ -14492,7 +14527,7 @@ "type": "simplesamlphp-module", "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.1" + "LGPL-2.1-or-later" ], "authors": [ { @@ -14510,7 +14545,7 @@ "oauth1", "simplesamlphp" ], - "time": "2019-12-03T09:22:08+00:00" + "time": "2020-04-29T19:37:43+00:00" }, { "name": "simplesamlphp/simplesamlphp-module-preprodwarning", @@ -15126,16 +15161,16 @@ }, { "name": "su-sws/stanford_ssp", - "version": "8.1.3", + "version": "8.1.4", "source": { "type": "git", "url": "https://github.com/SU-SWS/stanford_ssp.git", - "reference": "f552afb827a7a47ce36707ef54d4689e8d4f1f77" + "reference": "de59afca6702c4bcd45c56229c0b07c67819dea9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SU-SWS/stanford_ssp/zipball/f552afb827a7a47ce36707ef54d4689e8d4f1f77", - "reference": "f552afb827a7a47ce36707ef54d4689e8d4f1f77", + "url": "https://api.github.com/repos/SU-SWS/stanford_ssp/zipball/de59afca6702c4bcd45c56229c0b07c67819dea9", + "reference": "de59afca6702c4bcd45c56229c0b07c67819dea9", "shasum": "" }, "require": { @@ -15156,7 +15191,7 @@ "GPL-2.0+" ], "description": "A Drupal Authentication Module.", - "time": "2020-03-20T16:11:14+00:00" + "time": "2020-04-24T15:46:16+00:00" }, { "name": "symfony-cmf/routing", @@ -15219,7 +15254,7 @@ }, { "name": "symfony/class-loader", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", @@ -15271,20 +15306,34 @@ ], "description": "Symfony ClassLoader Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-15T09:38:08+00:00" }, { "name": "symfony/config", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "fc5be36e0659ab6e58cc069e8845f0819e6d086e" + "reference": "3634991bea549e73c45a964c38f30ceeae6ed877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/fc5be36e0659ab6e58cc069e8845f0819e6d086e", - "reference": "fc5be36e0659ab6e58cc069e8845f0819e6d086e", + "url": "https://api.github.com/repos/symfony/config/zipball/3634991bea549e73c45a964c38f30ceeae6ed877", + "reference": "3634991bea549e73c45a964c38f30ceeae6ed877", "shasum": "" }, "require": { @@ -15335,11 +15384,25 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2020-03-16T08:31:04+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T14:33:46+00:00" }, { "name": "symfony/console", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/console.git", @@ -15407,11 +15470,25 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-27T17:07:22+00:00" }, { "name": "symfony/debug", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", @@ -15463,20 +15540,34 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-23T10:22:40+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f516f2bd2f43c82124392fa0a846d8c3261b324b" + "reference": "d10ff5503b0b27711087eef4ac7835a752fe42fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f516f2bd2f43c82124392fa0a846d8c3261b324b", - "reference": "f516f2bd2f43c82124392fa0a846d8c3261b324b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d10ff5503b0b27711087eef4ac7835a752fe42fd", + "reference": "d10ff5503b0b27711087eef4ac7835a752fe42fd", "shasum": "" }, "require": { @@ -15534,15 +15625,29 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2020-03-16T08:31:04+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v3.4.39", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-13T09:33:40+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9d4e22943b73acc1ba50595b7de1a01fe9dbad48" }, "dist": { "type": "zip", @@ -15597,20 +15702,34 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-15T09:38:08+00:00" }, { "name": "symfony/filesystem", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "ec47520778d524b1736e768e0678cd1f01c03019" + "reference": "78a93e5606a19d0fb490afc3c4a9b7ecd86e1515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/ec47520778d524b1736e768e0678cd1f01c03019", - "reference": "ec47520778d524b1736e768e0678cd1f01c03019", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/78a93e5606a19d0fb490afc3c4a9b7ecd86e1515", + "reference": "78a93e5606a19d0fb490afc3c4a9b7ecd86e1515", "shasum": "" }, "require": { @@ -15647,11 +15766,25 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2020-03-16T08:31:04+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T16:54:01+00:00" }, { "name": "symfony/finder", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", @@ -15700,16 +15833,16 @@ }, { "name": "symfony/http-foundation", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "a8833c56f6a4abcf17a319d830d71fdb0ba93675" + "reference": "eded33daef1147be7ff1249706be9a49fe2c7a44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8833c56f6a4abcf17a319d830d71fdb0ba93675", - "reference": "a8833c56f6a4abcf17a319d830d71fdb0ba93675", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/eded33daef1147be7ff1249706be9a49fe2c7a44", + "reference": "eded33daef1147be7ff1249706be9a49fe2c7a44", "shasum": "" }, "require": { @@ -15750,20 +15883,34 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2020-03-23T12:14:52+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-18T20:23:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "c15b5acab571224b1bf792692ff2ad63239081fe" + "reference": "139d477cc926de9ca03c3d59b51ab6e22450c6df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c15b5acab571224b1bf792692ff2ad63239081fe", - "reference": "c15b5acab571224b1bf792692ff2ad63239081fe", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/139d477cc926de9ca03c3d59b51ab6e22450c6df", + "reference": "139d477cc926de9ca03c3d59b51ab6e22450c6df", "shasum": "" }, "require": { @@ -15840,7 +15987,21 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2020-03-30T06:25:13+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-28T17:41:38+00:00" }, { "name": "symfony/polyfill-ctype", @@ -16304,16 +16465,16 @@ }, { "name": "symfony/process", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1dbc09f6e14703ae2398efc86b02ae2bcd9a9931" + "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1dbc09f6e14703ae2398efc86b02ae2bcd9a9931", - "reference": "1dbc09f6e14703ae2398efc86b02ae2bcd9a9931", + "url": "https://api.github.com/repos/symfony/process/zipball/f5104c9dcbc2cfad45d01d5150c1da9836967271", + "reference": "f5104c9dcbc2cfad45d01d5150c1da9836967271", "shasum": "" }, "require": { @@ -16349,7 +16510,21 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2020-03-20T06:07:50+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T14:33:46+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -16418,16 +16593,16 @@ }, { "name": "symfony/routing", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "785e4e6b835e9ab4f9412862855d0e1b7a2b4627" + "reference": "53b432fde8eea7dab820e75abda5b97fdaa829b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/785e4e6b835e9ab4f9412862855d0e1b7a2b4627", - "reference": "785e4e6b835e9ab4f9412862855d0e1b7a2b4627", + "url": "https://api.github.com/repos/symfony/routing/zipball/53b432fde8eea7dab820e75abda5b97fdaa829b4", + "reference": "53b432fde8eea7dab820e75abda5b97fdaa829b4", "shasum": "" }, "require": { @@ -16490,20 +16665,34 @@ "uri", "url" ], - "time": "2020-03-25T12:02:26+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T09:58:27+00:00" }, { "name": "symfony/serializer", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "2b5a266b4e9b4403d669449de059686dd186ed33" + "reference": "2e1bdec403d8e7a350884cbbe4807ab7c2a843d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/2b5a266b4e9b4403d669449de059686dd186ed33", - "reference": "2b5a266b4e9b4403d669449de059686dd186ed33", + "url": "https://api.github.com/repos/symfony/serializer/zipball/2e1bdec403d8e7a350884cbbe4807ab7c2a843d4", + "reference": "2e1bdec403d8e7a350884cbbe4807ab7c2a843d4", "shasum": "" }, "require": { @@ -16569,20 +16758,34 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2020-03-16T08:31:04+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T14:33:46+00:00" }, { "name": "symfony/translation", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e06ca83b2682eba25854b97a8a9af22c1da491f5" + "reference": "4e844362f573713e6d45949795c95a4cb6cf760d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e06ca83b2682eba25854b97a8a9af22c1da491f5", - "reference": "e06ca83b2682eba25854b97a8a9af22c1da491f5", + "url": "https://api.github.com/repos/symfony/translation/zipball/4e844362f573713e6d45949795c95a4cb6cf760d", + "reference": "4e844362f573713e6d45949795c95a4cb6cf760d", "shasum": "" }, "require": { @@ -16639,11 +16842,25 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2020-03-16T08:31:04+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T16:39:58+00:00" }, { "name": "symfony/twig-bridge", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", @@ -16730,20 +16947,34 @@ ], "description": "Symfony Twig Bridge", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-16T08:31:04+00:00" }, { "name": "symfony/validator", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5d4d0184dbf402233c4d73491285ac3615206e62" + "reference": "0d4d26bacafdead3b73586302fc5019efdfbdb2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5d4d0184dbf402233c4d73491285ac3615206e62", - "reference": "5d4d0184dbf402233c4d73491285ac3615206e62", + "url": "https://api.github.com/repos/symfony/validator/zipball/0d4d26bacafdead3b73586302fc5019efdfbdb2e", + "reference": "0d4d26bacafdead3b73586302fc5019efdfbdb2e", "shasum": "" }, "require": { @@ -16816,20 +17047,34 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2020-03-28T10:14:53+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-26T08:10:12+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.4.7", + "version": "v4.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "5a0c2d93006131a36cf6f767d10e2ca8333b0d4a" + "reference": "c587e04ce5d1aa62d534a038f574d9a709e814cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5a0c2d93006131a36cf6f767d10e2ca8333b0d4a", - "reference": "5a0c2d93006131a36cf6f767d10e2ca8333b0d4a", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c587e04ce5d1aa62d534a038f574d9a709e814cf", + "reference": "c587e04ce5d1aa62d534a038f574d9a709e814cf", "shasum": "" }, "require": { @@ -16892,20 +17137,34 @@ "debug", "dump" ], - "time": "2020-03-27T16:54:36+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-12T16:14:02+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e701b47e11749970f63803879c4febb520f07b6c" + "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e701b47e11749970f63803879c4febb520f07b6c", - "reference": "e701b47e11749970f63803879c4febb520f07b6c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/8fef49ac1357f4e05c997a1f139467ccb186bffa", + "reference": "8fef49ac1357f4e05c997a1f139467ccb186bffa", "shasum": "" }, "require": { @@ -16951,7 +17210,21 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2020-03-25T12:02:26+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-04-24T10:16:04+00:00" }, { "name": "twig/extensions", @@ -18416,16 +18689,16 @@ }, { "name": "composer/composer", - "version": "1.10.5", + "version": "1.10.6", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "7a4d5b6aa30d2118af27c04f5e897b57156ccfa9" + "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/7a4d5b6aa30d2118af27c04f5e897b57156ccfa9", - "reference": "7a4d5b6aa30d2118af27c04f5e897b57156ccfa9", + "url": "https://api.github.com/repos/composer/composer/zipball/be81b9c4735362c26876bdbfd3b5bc7e7f711c88", + "reference": "be81b9c4735362c26876bdbfd3b5bc7e7f711c88", "shasum": "" }, "require": { @@ -18444,7 +18717,8 @@ "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "conflict": { - "symfony/console": "2.8.38" + "symfony/console": "2.8.38", + "symfony/phpunit-bridge": "3.4.40" }, "require-dev": { "phpspec/prophecy": "^1.10", @@ -18492,7 +18766,17 @@ "dependency", "package" ], - "time": "2020-04-10T09:44:22+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-05-06T08:28:10+00:00" }, { "name": "composer/spdx-licenses", @@ -18820,29 +19104,26 @@ }, { "name": "drupal/config_inspector", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_inspector.git", - "reference": "8.x-1.0" + "reference": "8.x-1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_inspector-8.x-1.0.zip", - "reference": "8.x-1.0", - "shasum": "dc92ceb8fd3e289f9e5c058692346e4b9ef3fa74" + "url": "https://ftp.drupal.org/files/projects/config_inspector-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "9f6dca8b2fa69f2410b732c09e3edea23422fa04" }, "require": { "drupal/core": "^8 || ^9" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - }, "drupal": { - "version": "8.x-1.0", - "datestamp": "1569419586", + "version": "8.x-1.1", + "datestamp": "1588166264", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -20317,24 +20598,21 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", "shasum": "" }, "require": { "php": ">=7.1" }, - "require-dev": { - "phpunit/phpunit": "~6" - }, "type": "library", "extra": { "branch-alias": { @@ -20365,7 +20643,7 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2020-04-27T09:25:28+00:00" }, { "name": "phpdocumentor/reflection-docblock", @@ -21889,20 +22167,20 @@ }, { "name": "seld/jsonlint", - "version": "1.7.2", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" + "reference": "ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", - "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1", + "reference": "ff2aa5420bfbc296cf6a0bc785fa5b35736de7c1", "shasum": "" }, "require": { - "php": "^5.3 || ^7.0" + "php": "^5.3 || ^7.0 || ^8.0" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" @@ -21934,7 +22212,17 @@ "parser", "validator" ], - "time": "2019-10-24T14:27:39+00:00" + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2020-04-30T19:05:18+00:00" }, { "name": "seld/phar-utils", @@ -22031,12 +22319,12 @@ "source": { "type": "git", "url": "https://github.com/SU-SWS/stanford-caravan.git", - "reference": "3b5a0729c5ed9173cbd01a3ea136933f74bcd45e" + "reference": "54a5529c69b9cfc5a5033cf84120088ba0667228" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SU-SWS/stanford-caravan/zipball/3b5a0729c5ed9173cbd01a3ea136933f74bcd45e", - "reference": "3b5a0729c5ed9173cbd01a3ea136933f74bcd45e", + "url": "https://api.github.com/repos/SU-SWS/stanford-caravan/zipball/54a5529c69b9cfc5a5033cf84120088ba0667228", + "reference": "54a5529c69b9cfc5a5033cf84120088ba0667228", "shasum": "" }, "require": { @@ -22065,11 +22353,11 @@ } ], "description": "Tools for testing Drupal 8 on CI/CD", - "time": "2020-04-21T05:41:08+00:00" + "time": "2020-04-22T15:41:20+00:00" }, { "name": "symfony/browser-kit", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", @@ -22122,11 +22410,25 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-15T09:38:08+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -22193,7 +22495,7 @@ }, { "name": "symfony/dom-crawler", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", @@ -22264,7 +22566,7 @@ }, { "name": "symfony/lock", - "version": "v3.4.39", + "version": "v3.4.40", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", @@ -22322,6 +22624,20 @@ "redlock", "semaphore" ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-03-16T15:51:59+00:00" }, { @@ -22387,6 +22703,20 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-02-21T08:01:47+00:00" }, { diff --git a/config/default/config_pages.type.field_default_values.yml b/config/default/config_pages.type.field_default_values.yml new file mode 100644 index 0000000000..f88f81b526 --- /dev/null +++ b/config/default/config_pages.type.field_default_values.yml @@ -0,0 +1,16 @@ +uuid: 595763ad-b3f3-4012-8a77-7ddce7f0c6fc +langcode: en +status: true +dependencies: { } +id: field_default_values +label: 'Field Default Values' +context: + show_warning: true + group: + language: false + fallback: + language: '' +menu: + path: /admin/structure/field-default-values + weight: 0 + description: '' diff --git a/config/default/core.entity_form_display.config_pages.field_default_values.default.yml b/config/default/core.entity_form_display.config_pages.field_default_values.default.yml new file mode 100644 index 0000000000..23df9b9d86 --- /dev/null +++ b/config/default/core.entity_form_display.config_pages.field_default_values.default.yml @@ -0,0 +1,31 @@ +uuid: 4ea7f074-036f-4230-89ed-fdfef01b8042 +langcode: en +status: true +dependencies: + config: + - config_pages.type.field_default_values + - field.field.config_pages.field_default_values.field_news_image + - field.field.config_pages.field_default_values.field_people_image + module: + - media_library +id: config_pages.field_default_values.default +targetEntityType: config_pages +bundle: field_default_values +mode: default +content: + field_news_image: + type: media_library_widget + weight: 1 + settings: + media_types: { } + third_party_settings: { } + region: content + field_people_image: + type: media_library_widget + weight: 0 + settings: + media_types: { } + third_party_settings: { } + region: content +hidden: + label: true diff --git a/config/default/core.entity_form_display.paragraph.hs_row.default.yml b/config/default/core.entity_form_display.paragraph.hs_row.default.yml index ad3fe357e3..f18a62fe08 100644 --- a/config/default/core.entity_form_display.paragraph.hs_row.default.yml +++ b/config/default/core.entity_form_display.paragraph.hs_row.default.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.field.paragraph.hs_row.field_hs_row_components + - field.field.paragraph.hs_row.field_paragraph_style - paragraphs.paragraphs_type.hs_row module: - paragraphs @@ -32,6 +33,12 @@ content: add_above: '0' third_party_settings: { } region: content + field_paragraph_style: + weight: 1 + settings: { } + third_party_settings: { } + type: options_select + region: content hidden: created: true status: true diff --git a/config/default/core.entity_view_display.config_pages.field_default_values.default.yml b/config/default/core.entity_view_display.config_pages.field_default_values.default.yml new file mode 100644 index 0000000000..00be17b67b --- /dev/null +++ b/config/default/core.entity_view_display.config_pages.field_default_values.default.yml @@ -0,0 +1,33 @@ +uuid: 6c500c38-63fa-4ed9-add7-d40c3a189b2f +langcode: en +status: true +dependencies: + config: + - config_pages.type.field_default_values + - field.field.config_pages.field_default_values.field_news_image + - field.field.config_pages.field_default_values.field_people_image +id: config_pages.field_default_values.default +targetEntityType: config_pages +bundle: field_default_values +mode: default +content: + field_news_image: + type: entity_reference_entity_view + weight: 1 + label: above + settings: + view_mode: default + link: false + third_party_settings: { } + region: content + field_people_image: + type: entity_reference_entity_view + weight: 0 + label: above + settings: + view_mode: default + link: false + third_party_settings: { } + region: content +hidden: + search_api_excerpt: true diff --git a/config/default/core.entity_view_display.paragraph.hs_row.default.yml b/config/default/core.entity_view_display.paragraph.hs_row.default.yml index 7fe7784147..b51ee4efb9 100644 --- a/config/default/core.entity_view_display.paragraph.hs_row.default.yml +++ b/config/default/core.entity_view_display.paragraph.hs_row.default.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.field.paragraph.hs_row.field_hs_row_components + - field.field.paragraph.hs_row.field_paragraph_style - paragraphs.paragraphs_type.hs_row module: - entity_reference_revisions @@ -24,4 +25,5 @@ content: third_party_settings: { } region: content hidden: + field_paragraph_style: true search_api_excerpt: true diff --git a/config/default/core.extension.yml b/config/default/core.extension.yml index ab07af35b4..b29a013916 100644 --- a/config/default/core.extension.yml +++ b/config/default/core.extension.yml @@ -142,6 +142,7 @@ module: path_redirect_import: 0 publishcontent: 0 rabbit_hole: 0 + react_paragraphs: 0 real_aes: 0 redirect: 0 redirect_404: 0 @@ -180,6 +181,7 @@ module: view_unpublished: 0 viewfield: 0 views_block_filter_block: 0 + views_bulk_edit: 0 views_bulk_operations: 0 views_ical: 0 views_infinite_scroll: 0 diff --git a/config/default/field.field.config_pages.field_default_values.field_news_image.yml b/config/default/field.field.config_pages.field_default_values.field_news_image.yml new file mode 100644 index 0000000000..bd7d87c67e --- /dev/null +++ b/config/default/field.field.config_pages.field_default_values.field_news_image.yml @@ -0,0 +1,28 @@ +uuid: a036863f-41fe-4ba4-b727-78b2b9a146a6 +langcode: en +status: true +dependencies: + config: + - config_pages.type.field_default_values + - field.storage.config_pages.field_news_image + - media.type.image +id: config_pages.field_default_values.field_news_image +field_name: field_news_image +entity_type: config_pages +bundle: field_default_values +label: 'News Image' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:media' + handler_settings: + target_bundles: + image: image + sort: + field: _none + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/default/field.field.config_pages.field_default_values.field_people_image.yml b/config/default/field.field.config_pages.field_default_values.field_people_image.yml new file mode 100644 index 0000000000..4db28e25c5 --- /dev/null +++ b/config/default/field.field.config_pages.field_default_values.field_people_image.yml @@ -0,0 +1,28 @@ +uuid: d78fa979-d8db-4f40-9333-f9b668c27973 +langcode: en +status: true +dependencies: + config: + - config_pages.type.field_default_values + - field.storage.config_pages.field_people_image + - media.type.image +id: config_pages.field_default_values.field_people_image +field_name: field_people_image +entity_type: config_pages +bundle: field_default_values +label: 'People Image' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:media' + handler_settings: + target_bundles: + image: image + sort: + field: _none + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/default/field.field.paragraph.hs_row.field_paragraph_style.yml b/config/default/field.field.paragraph.hs_row.field_paragraph_style.yml new file mode 100644 index 0000000000..f02da455d6 --- /dev/null +++ b/config/default/field.field.paragraph.hs_row.field_paragraph_style.yml @@ -0,0 +1,21 @@ +uuid: 1f2d6b6a-bfb3-46ca-aca7-992f783eef22 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_paragraph_style + - paragraphs.paragraphs_type.hs_row + module: + - options +id: paragraph.hs_row.field_paragraph_style +field_name: field_paragraph_style +entity_type: paragraph +bundle: hs_row +label: 'Paragraph Style' +description: 'Allows you to add styles to the background of the row.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: list_string diff --git a/config/default/field.storage.config_pages.field_news_image.yml b/config/default/field.storage.config_pages.field_news_image.yml new file mode 100644 index 0000000000..c051d049ac --- /dev/null +++ b/config/default/field.storage.config_pages.field_news_image.yml @@ -0,0 +1,20 @@ +uuid: cdb69b54-bdd4-46c8-aec0-e3b3cb82ffe8 +langcode: en +status: true +dependencies: + module: + - config_pages + - media +id: config_pages.field_news_image +field_name: field_news_image +entity_type: config_pages +type: entity_reference +settings: + target_type: media +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.config_pages.field_people_image.yml b/config/default/field.storage.config_pages.field_people_image.yml new file mode 100644 index 0000000000..07fb7b608d --- /dev/null +++ b/config/default/field.storage.config_pages.field_people_image.yml @@ -0,0 +1,20 @@ +uuid: 8c877339-1e95-4b31-ae6c-479668abff1d +langcode: en +status: true +dependencies: + module: + - config_pages + - media +id: config_pages.field_people_image +field_name: field_people_image +entity_type: config_pages +type: entity_reference +settings: + target_type: media +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/field.storage.paragraph.field_paragraph_style.yml b/config/default/field.storage.paragraph.field_paragraph_style.yml new file mode 100644 index 0000000000..88d9e73b47 --- /dev/null +++ b/config/default/field.storage.paragraph.field_paragraph_style.yml @@ -0,0 +1,31 @@ +uuid: cf40e515-2107-430c-a416-3ed0f2df2dd2 +langcode: en +status: true +dependencies: + module: + - field_permissions + - options + - paragraphs +third_party_settings: + field_permissions: + permission_type: custom +id: paragraph.field_paragraph_style +field_name: field_paragraph_style +entity_type: paragraph +type: list_string +settings: + allowed_values: + - + value: well + label: 'Well Limited-width' + - + value: well-full-width + label: 'Well Full-width' + allowed_values_function: '' +module: options +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/default/image.style.hs_large_scaled_480px.yml b/config/default/image.style.hs_large_scaled_480px.yml index d879a577a7..a14a54040b 100644 --- a/config/default/image.style.hs_large_scaled_480px.yml +++ b/config/default/image.style.hs_large_scaled_480px.yml @@ -1,7 +1,9 @@ uuid: f806bac7-a3c1-400a-a7d5-a94de85d9bb8 langcode: en status: true -dependencies: { } +dependencies: + module: + - hs_field_helpers name: hs_large_scaled_480px label: 'Large Scaled (480px)' effects: @@ -10,6 +12,11 @@ effects: id: image_scale weight: 1 data: - width: 480 + width: 960 height: null upscale: false + 8777706b-b205-4a6b-b271-a5d45ae0233f: + uuid: 8777706b-b205-4a6b-b271-a5d45ae0233f + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_large_square_480x480.yml b/config/default/image.style.hs_large_square_480x480.yml index b920765ead..f34235f1fa 100644 --- a/config/default/image.style.hs_large_square_480x480.yml +++ b/config/default/image.style.hs_large_square_480x480.yml @@ -4,6 +4,7 @@ status: true dependencies: module: - focal_point + - hs_field_helpers name: hs_large_square_480x480 label: 'Large Square (480x480)' effects: @@ -12,6 +13,11 @@ effects: id: focal_point_scale_and_crop weight: 1 data: - width: 480 - height: 480 + width: 960 + height: 960 crop_type: focal_point + 6fb6cb81-4254-4d74-9e47-739f6f308fb4: + uuid: 6fb6cb81-4254-4d74-9e47-739f6f308fb4 + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_medium_scaled_360px.yml b/config/default/image.style.hs_medium_scaled_360px.yml index 66f4a12b18..8be50b4e10 100644 --- a/config/default/image.style.hs_medium_scaled_360px.yml +++ b/config/default/image.style.hs_medium_scaled_360px.yml @@ -1,7 +1,9 @@ uuid: c92faadb-d2a7-4e97-ae56-5b29798b0ed9 langcode: en status: true -dependencies: { } +dependencies: + module: + - hs_field_helpers name: hs_medium_scaled_360px label: 'Medium Scaled (360px)' effects: @@ -10,6 +12,11 @@ effects: id: image_scale weight: 1 data: - width: 360 + width: 720 height: null upscale: false + 65015863-24be-4ced-9294-f199608ce8f0: + uuid: 65015863-24be-4ced-9294-f199608ce8f0 + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_medium_square_360x360.yml b/config/default/image.style.hs_medium_square_360x360.yml index c275c3bfca..68de58b06c 100644 --- a/config/default/image.style.hs_medium_square_360x360.yml +++ b/config/default/image.style.hs_medium_square_360x360.yml @@ -4,6 +4,7 @@ status: true dependencies: module: - focal_point + - hs_field_helpers name: hs_medium_square_360x360 label: 'Medium Square (360x360)' effects: @@ -12,6 +13,11 @@ effects: id: focal_point_scale_and_crop weight: 1 data: - width: 360 - height: 360 + width: 720 + height: 720 crop_type: focal_point + d0ba3e49-c403-4a0b-b253-c0016a99c789: + uuid: d0ba3e49-c403-4a0b-b253-c0016a99c789 + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_small_scaled_200px.yml b/config/default/image.style.hs_small_scaled_200px.yml index 3665cb76fe..39a2ae0243 100644 --- a/config/default/image.style.hs_small_scaled_200px.yml +++ b/config/default/image.style.hs_small_scaled_200px.yml @@ -1,7 +1,9 @@ uuid: 8b2b3ff0-3367-4bb5-b58c-4b782e1d4a25 langcode: en status: true -dependencies: { } +dependencies: + module: + - hs_field_helpers name: hs_small_scaled_200px label: 'Small Scaled (200px)' effects: @@ -10,6 +12,11 @@ effects: id: image_scale weight: 1 data: - width: 200 + width: 400 height: null upscale: false + 85755664-8be6-4336-b1ce-905eb36d7281: + uuid: 85755664-8be6-4336-b1ce-905eb36d7281 + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_small_square_200x200.yml b/config/default/image.style.hs_small_square_200x200.yml index b040dd821b..79859e14f6 100644 --- a/config/default/image.style.hs_small_square_200x200.yml +++ b/config/default/image.style.hs_small_square_200x200.yml @@ -4,6 +4,7 @@ status: true dependencies: module: - focal_point + - hs_field_helpers name: hs_small_square_200x200 label: 'Small Square (200x200)' effects: @@ -12,6 +13,11 @@ effects: id: focal_point_scale_and_crop weight: 1 data: - width: 200 - height: 200 + width: 400 + height: 400 crop_type: focal_point + 2c0428dd-c423-4161-91dd-a635855bb58a: + uuid: 2c0428dd-c423-4161-91dd-a635855bb58a + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_xl_scaled_700px.yml b/config/default/image.style.hs_xl_scaled_700px.yml index e4d897504a..830e61d7de 100644 --- a/config/default/image.style.hs_xl_scaled_700px.yml +++ b/config/default/image.style.hs_xl_scaled_700px.yml @@ -1,7 +1,9 @@ uuid: 7bcc8ae3-e768-4636-a385-8ff192a49a70 langcode: en status: true -dependencies: { } +dependencies: + module: + - hs_field_helpers name: hs_xl_scaled_700px label: 'XL Scaled (700px)' effects: @@ -10,6 +12,11 @@ effects: id: image_scale weight: 1 data: - width: 700 + width: 1400 height: null upscale: false + cabe7f3a-c1fa-48da-b65f-d10c1ecff8f9: + uuid: cabe7f3a-c1fa-48da-b65f-d10c1ecff8f9 + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/image.style.hs_xlarge_square_700x700.yml b/config/default/image.style.hs_xlarge_square_700x700.yml index 27316d36da..5b1d20fdd1 100644 --- a/config/default/image.style.hs_xlarge_square_700x700.yml +++ b/config/default/image.style.hs_xlarge_square_700x700.yml @@ -4,6 +4,7 @@ status: true dependencies: module: - focal_point + - hs_field_helpers name: hs_xlarge_square_700x700 label: 'XL Square (700x700)' effects: @@ -12,6 +13,11 @@ effects: id: focal_point_scale_and_crop weight: 1 data: - width: 700 - height: 700 + width: 1400 + height: 1400 crop_type: focal_point + 22ef31c2-b617-4170-8efe-25fb0cb8a0cc: + uuid: 22ef31c2-b617-4170-8efe-25fb0cb8a0cc + id: hi_rese_image + weight: 2 + data: { } diff --git a/config/default/linkit.linkit_profile.default.yml b/config/default/linkit.linkit_profile.default.yml index e677d9786b..d4f8a0be9c 100644 --- a/config/default/linkit.linkit_profile.default.yml +++ b/config/default/linkit.linkit_profile.default.yml @@ -21,3 +21,14 @@ matchers: include_unpublished: false substitution_type: canonical limit: 100 + 262865b7-324d-467a-8b1f-f73267959782: + uuid: 262865b7-324d-467a-8b1f-f73267959782 + id: 'entity:media' + weight: 0 + settings: + metadata: '[media:field_media_file:entity:basename]: [media:field_media_file:entity:mime]' + bundles: + file: file + group_by_bundle: false + substitution_type: media + limit: 100 diff --git a/config/default/rest.resource.entity.media.yml b/config/default/rest.resource.entity.media.yml new file mode 100644 index 0000000000..5d2aa2051f --- /dev/null +++ b/config/default/rest.resource.entity.media.yml @@ -0,0 +1,20 @@ +uuid: daedc7b2-b41a-416c-bc73-e88c3cd4e7f7 +langcode: en +status: true +dependencies: + module: + - media + - serialization + - user +_core: + default_config_hash: '-jKX83QNMEJA_8r24yvJ0rYZQKthlAe2woMMbfl43L4' +id: entity.media +plugin_id: 'entity:media' +granularity: resource +configuration: + methods: + - GET + formats: + - json + authentication: + - cookie diff --git a/config/default/rest.resource.entity.paragraph.yml b/config/default/rest.resource.entity.paragraph.yml new file mode 100644 index 0000000000..03105577d3 --- /dev/null +++ b/config/default/rest.resource.entity.paragraph.yml @@ -0,0 +1,20 @@ +uuid: 8d10f672-5146-41d5-80b3-66b1bd30b72c +langcode: en +status: true +dependencies: + module: + - paragraphs + - serialization + - user +_core: + default_config_hash: UnOWc-ev422qQ1PxW-O6i6pTtaTCHEKW7qIuThykQu4 +id: entity.paragraph +plugin_id: 'entity:paragraph' +granularity: resource +configuration: + methods: + - GET + formats: + - json + authentication: + - cookie diff --git a/config/default/rest.resource.react_paragraphs.yml b/config/default/rest.resource.react_paragraphs.yml new file mode 100644 index 0000000000..3d94044f97 --- /dev/null +++ b/config/default/rest.resource.react_paragraphs.yml @@ -0,0 +1,19 @@ +uuid: cef9901c-190f-451e-814a-23cd2d905a76 +langcode: en +status: true +dependencies: + module: + - react_paragraphs + - serialization + - user +_core: + default_config_hash: 8eTQ2Rt2BxewKlFZcwaE1mGx77CC2UvTg1_N6Z9ICUM +id: react_paragraphs +plugin_id: react_paragraphs +granularity: method +configuration: + GET: + supported_formats: + - json + supported_auth: + - cookie diff --git a/config/default/views.view.content.yml b/config/default/views.view.content.yml index f567a159d0..c241c3a403 100644 --- a/config/default/views.view.content.yml +++ b/config/default/views.view.content.yml @@ -197,22 +197,19 @@ display: clear_on_exposed: false action_title: Action selected_actions: - - + 0: + action_id: node_clone_action + 6: action_id: node_unpublish_action - preconfiguration: - label_override: '' - - + 8: action_id: node_publish_action + 10: + action_id: views_bulk_edit preconfiguration: - label_override: '' - - + label_override: 'Change Field Values' + get_bundles_from_results: 1 + 11: action_id: views_bulk_operations_delete_entity - preconfiguration: - label_override: '' - - - action_id: node_clone_action - preconfiguration: - label_override: '' plugin_id: views_bulk_operations_bulk_form title: id: title diff --git a/docroot/modules/humsci/hs_field_helpers/hs_field_helpers.module b/docroot/modules/humsci/hs_field_helpers/hs_field_helpers.module index 04dd9f74c4..ca8020c288 100644 --- a/docroot/modules/humsci/hs_field_helpers/hs_field_helpers.module +++ b/docroot/modules/humsci/hs_field_helpers/hs_field_helpers.module @@ -249,6 +249,11 @@ function hs_field_helpers_form_field_config_edit_form_validate(&$form, FormState * Implements hook_field_widget_form_alter(). */ function hs_field_helpers_field_widget_form_alter(&$element, FormStateInterface $form_state, $context) { + $build_info = $form_state->getBuildInfo(); + if (!isset($build_info['base_form_id']) || $build_info['base_form_id'] != 'node_form') { + return; + } + /** @var \Drupal\Core\Field\WidgetBaseInterface $widget */ $widget = $context['widget']; switch ($widget->getPluginId()) { diff --git a/docroot/modules/humsci/hs_paragraph_types/modules/hs_row/modules/hs_row_display/hs_row_display.module b/docroot/modules/humsci/hs_paragraph_types/modules/hs_row/modules/hs_row_display/hs_row_display.module index b495d44efb..af7a01b855 100644 --- a/docroot/modules/humsci/hs_paragraph_types/modules/hs_row/modules/hs_row_display/hs_row_display.module +++ b/docroot/modules/humsci/hs_paragraph_types/modules/hs_row/modules/hs_row_display/hs_row_display.module @@ -8,6 +8,21 @@ use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\Display\EntityViewDisplayInterface; +/** + * Implements template_preprocess_paragraph(). + */ +function hs_row_display_preprocess_paragraph__hs_row(&$variables) { + $paragraph = $variables['paragraph']; + + if ($paragraph->hasField('field_paragraph_style')) { + $row_style = $paragraph->get('field_paragraph_style')->getString(); + + if (!empty($row_style)) { + $variables['attributes']['class'][] = 'hs-paragraph-style hs-paragraph-style--' . $row_style; + } + } +} + /** * Implements hook_ENTITY_TYPE_view(). */ diff --git a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml index e268da4517..2ba2fbc044 100644 --- a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml +++ b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml @@ -3,4 +3,4 @@ description: 'DO NOT INSTALL. This is for profile installation task only.' core_version_requirement: '^8.8 || ^9' hidden: true type: module -version: 8.2.7 +version: 8.2.8 diff --git a/docroot/profiles/humsci/su_humsci_profile/src/Overrides/ConfigOverrides.php b/docroot/profiles/humsci/su_humsci_profile/src/Overrides/ConfigOverrides.php index b415dda66c..806d04f096 100644 --- a/docroot/profiles/humsci/su_humsci_profile/src/Overrides/ConfigOverrides.php +++ b/docroot/profiles/humsci/su_humsci_profile/src/Overrides/ConfigOverrides.php @@ -2,15 +2,17 @@ namespace Drupal\su_humsci_profile\Overrides; +use Drupal\config_pages\ConfigPagesLoaderServiceInterface; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Config\ConfigFactoryOverrideInterface; use Drupal\Core\Config\StorageInterface; +use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\encrypt\EncryptService; /** - * Example configuration override. + * Humsci config overrides on the whole platform. */ class ConfigOverrides implements ConfigFactoryOverrideInterface { @@ -35,6 +37,20 @@ class ConfigOverrides implements ConfigFactoryOverrideInterface { */ protected $encryption; + /** + * Entity Type manager service. + * + * @var \Drupal\Core\Entity\EntityTypeManagerInterface + */ + protected $entityTypeManager; + + /** + * Config Pages loader service. + * + * @var \Drupal\config_pages\ConfigPagesLoaderServiceInterface + */ + protected $configPages; + /** * ConfigOverrides constructor. * @@ -44,11 +60,17 @@ class ConfigOverrides implements ConfigFactoryOverrideInterface { * Config Factory Service. * @param \Drupal\encrypt\EncryptService $encrypt_service * Encryption Service. + * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager + * Entity Type manager service. + * @param \Drupal\config_pages\ConfigPagesLoaderServiceInterface $config_pages + * Config Pages loader service. */ - public function __construct(ModuleHandlerInterface $module_handler, ConfigFactoryInterface $config_factory, EncryptService $encrypt_service) { + public function __construct(ModuleHandlerInterface $module_handler, ConfigFactoryInterface $config_factory, EncryptService $encrypt_service, EntityTypeManagerInterface $entity_type_manager, ConfigPagesLoaderServiceInterface $config_pages) { $this->moduleHandler = $module_handler; $this->configFactory = $config_factory; $this->encryption = $encrypt_service; + $this->entityTypeManager = $entity_type_manager; + $this->configPages = $config_pages; } /** @@ -66,9 +88,50 @@ public function loadOverrides($names) { ], ]; } + + if (in_array('field.field.node.hs_person.field_hs_person_image', $names)) { + $this->setMediaFieldOverrides($overrides, 'field.field.node.hs_person.field_hs_person_image', 'field_people_image'); + } + + if (in_array('field.field.node.hs_news.field_hs_news_image', $names)) { + $this->setMediaFieldOverrides($overrides, 'field.field.node.hs_news.field_hs_news_image', 'field_news_image'); + } return $overrides; } + /** + * Set the config overrides for media fields from config pages values. + * + * @param array $overrides + * Config overrides. + * @param string $config_name + * Config entity name. + * @param string $config_pages_field + * Field on the config pages to grab the value. + * + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException + */ + protected function setMediaFieldOverrides(array &$overrides, $config_name, $config_pages_field) { + $media_field_value = $this->configPages->getValue('field_default_values', $config_pages_field); + + if (empty($media_field_value[0]['target_id'])) { + return; + } + + $media_entity = $this->entityTypeManager->getStorage('media') + ->load($media_field_value[0]['target_id']); + if (!$media_entity) { + return; + } + + $overrides[$config_name]['default_value'][0] = [ + 'weight' => 0, + 'target_uuid' => $media_entity->uuid(), + ]; + + } + /** * {@inheritdoc} */ diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml index 742a8c4c9d..bfa48002a4 100644 --- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml +++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml @@ -1,7 +1,7 @@ name: 'Stanford HumSci' type: profile description: 'Installation profile for HumSci Drupal' -version: 8.2.7 +version: 8.2.8 core: 8.x themes: - material_admin diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.services.yml b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.services.yml index 92b448877f..24af39e9cc 100644 --- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.services.yml +++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.services.yml @@ -12,6 +12,6 @@ services: arguments: ['@entity_type.manager', '@entity_type.bundle.info'] su_humsci_profile.overrider: class: Drupal\su_humsci_profile\Overrides\ConfigOverrides - arguments: ['@module_handler', '@config.factory', '@encryption'] + arguments: ['@module_handler', '@config.factory', '@encryption', '@entity_type.manager', '@config_pages.loader'] tags: - {name: config.factory.override, priority: 5} diff --git a/docroot/sites/artexhibitions/blt.yml b/docroot/sites/artexhibitions/blt.yml new file mode 100644 index 0000000000..4278d31228 --- /dev/null +++ b/docroot/sites/artexhibitions/blt.yml @@ -0,0 +1,12 @@ +project: + local: + hostname: artexhibitions.suhumsci.loc + protocol: http + machine_name: artexhibitions + human_name: artexhibitions +drush: + aliases: + local: artexhibitions.local + remote: artexhibitions.prod +drupal: + db: { } diff --git a/docroot/sites/artexhibitions/default.local.drush.yml b/docroot/sites/artexhibitions/default.local.drush.yml new file mode 100644 index 0000000000..fb3258e3f9 --- /dev/null +++ b/docroot/sites/artexhibitions/default.local.drush.yml @@ -0,0 +1,2 @@ +options: + uri: '${project.local.uri}' diff --git a/docroot/sites/artexhibitions/default.services.yml b/docroot/sites/artexhibitions/default.services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/artexhibitions/default.services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/artexhibitions/default.settings.php b/docroot/sites/artexhibitions/default.settings.php new file mode 100644 index 0000000000..75411f05cd --- /dev/null +++ b/docroot/sites/artexhibitions/default.settings.php @@ -0,0 +1,758 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ]; + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => [ + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ], + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => [ + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ]; + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = [ + * 'init_commands' => [ + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ], + * 'pdo' => [ + * PDO::ATTR_TIMEOUT => 5, + * ], + * ]; + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ]; + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $settings['config_sync_directory'] specifies the location of file system + * directory used for syncing configuration data. On install, the directory is + * created. This is used for configuration imports. + * + * The default location for this directory is inside a randomly-named + * directory in the public files path. The setting below allows you to set + * its location. + */ +# $settings['config_sync_directory'] = '/directory/outside/webroot'; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from the + * X-Forwarded-For header. If you are unsure about this setting, do not have a + * reverse proxy, or Drupal operates in a shared hosting environment, this + * setting should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...]; + +/** + * Reverse proxy trusted headers. + * + * Sets which headers to trust from your reverse proxy. + * + * Common values are: + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * + * Note the default value of + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @endcode + * is not secure by default. The value should be set to only the specific + * headers the reverse proxy uses. For example: + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @endcode + * This would trust the following headers: + * - X_FORWARDED_FOR + * - X_FORWARDED_HOST + * - X_FORWARDED_PROTO + * - X_FORWARDED_PORT + * + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies + */ +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; + + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * If this is not set, the default for the operating system will be used. + * + * @see \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() + */ +# $settings['file_temp_path'] = '/tmp'; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = [ +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ]; + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^www\.example\.com$', + * ]; + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ]; + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see \Drupal\Core\File\FileSystemInterface::scanDirectory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Entity update backup. + * + * This is used to inform the entity storage handler that the backup tables as + * well as the original entity type and field storage definitions should be + * retained after a successful entity update process. + */ +$settings['entity_update_backup'] = TRUE; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } diff --git a/docroot/sites/artexhibitions/services.yml b/docroot/sites/artexhibitions/services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/artexhibitions/services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/artexhibitions/settings.php b/docroot/sites/artexhibitions/settings.php new file mode 100644 index 0000000000..f659eaa015 --- /dev/null +++ b/docroot/sites/artexhibitions/settings.php @@ -0,0 +1,802 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ); + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => array( + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ), + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => array( + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ); + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = array( + * 'init_commands' => array( + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ), + * 'pdo' => array( + * PDO::ATTR_TIMEOUT => 5, + * ), + * ); + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ); + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ); + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $config_directories array specifies the location of file system + * directories used for configuration data. On install, the "sync" directory is + * created. This is used for configuration imports. The "active" directory is + * not created by default since the default storage for active configuration is + * the database rather than the file system. (This can be changed. See "Active + * configuration settings" below). + * + * The default location for the "sync" directory is inside a randomly-named + * directory in the public files path. The setting below allows you to override + * the "sync" location. + * + * If you use files for the "active" configuration, you can tell the + * Configuration system where this directory is located by adding an entry with + * array key CONFIG_ACTIVE_DIRECTORY. + * + * Example: + * + * @code + * $config_directories = array( + * CONFIG_SYNC_DIRECTORY => '/directory/outside/webroot', + * ); + * @endcode + */ +$config_directories = []; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * The active installation profile. + * + * Changing this after installation is not recommended as it changes which + * directories are scanned during extension discovery. If this is set prior to + * installation this value will be rewritten according to the profile selected + * by the user. + * + * @see install_select_profile() + * + * @deprecated in Drupal 8.3.0 and will be removed before Drupal 9.0.0. The + * install profile is written to the core.extension configuration. If a + * service requires the install profile use the 'install_profile' container + * parameter. Functional code can use \Drupal::installProfile(). + */ +# $settings['install_profile'] = ''; + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from + * the X-Forwarded-For header (or $settings['reverse_proxy_header'] if set). + * If you are unsure about this setting, do not have a reverse proxy, + * or Drupal operates in a shared hosting environment, this setting + * should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = array('a.b.c.d', ...); + +/** + * Set this value if your proxy server sends the client IP in a header + * other than X-Forwarded-For. + */ +# $settings['reverse_proxy_header'] = 'X_CLUSTER_CLIENT_IP'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Proto. + */ +# $settings['reverse_proxy_proto_header'] = 'X_FORWARDED_PROTO'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Host. + */ +# $settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Port. + */ +# $settings['reverse_proxy_port_header'] = 'X_FORWARDED_PORT'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than Forwarded. + */ +# $settings['reverse_proxy_forwarded_header'] = 'FORWARDED'; + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = array( +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ); + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Active configuration settings. + * + * By default, the active configuration is stored in the database in the + * {config} table. To use a different storage mechanism for the active + * configuration, do the following prior to installing: + * - Create an "active" directory and declare its path in $config_directories + * as explained under the 'Location of the site configuration files' section + * above in this file. To enhance security, you can declare a path that is + * outside your document root. + * - Override the 'bootstrap_config_storage' setting here. It must be set to a + * callable that returns an object that implements + * \Drupal\Core\Config\StorageInterface. + * - Override the service definition 'config.storage.active'. Put this + * override in a services.yml file in the same directory as settings.php + * (definitions in this file will override service definition defaults). + */ +# $settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.file']['path']['temporary'] = '/tmp'; +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * + * @code + * $settings['trusted_host_patterns'] = array( + * '^www\.example\.com$', + * ); + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = array( + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ); + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see file_scan_directory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } + +require DRUPAL_ROOT . "/../vendor/acquia/blt/settings/blt.settings.php"; + +/** + * IMPORTANT. + * + * Do not include additional settings here. Instead, add them to settings + * included by `blt.settings.php`. See BLT's documentation for more detail. + * + * @link https://docs.acquia.com/blt/ + */ diff --git a/docroot/sites/artexhibitions/settings/default.includes.settings.php b/docroot/sites/artexhibitions/settings/default.includes.settings.php new file mode 100644 index 0000000000..12553a4abf --- /dev/null +++ b/docroot/sites/artexhibitions/settings/default.includes.settings.php @@ -0,0 +1,50 @@ + + array( + 'default' => + array( + 'database' => $db_name, + 'username' => '${drupal.db.username}', + 'password' => '${drupal.db.password}', + 'host' => '${drupal.db.host}', + 'port' => '${drupal.db.port}', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', + 'prefix' => '', + ), + ), +); + +$dir = dirname(DRUPAL_ROOT); + +// Use development service parameters. +$settings['container_yamls'][] = $dir . '/docroot/sites/development.services.yml'; +$settings['container_yamls'][] = $dir . '/docroot/sites/blt.development.services.yml'; + +// Allow access to update.php. +$settings['update_free_access'] = TRUE; + +/** + * Assertions. + * + * The Drupal project primarily uses runtime assertions to enforce the + * expectations of the API by failing when incorrect calls are made by code + * under development. + * + * @see http://php.net/assert + * @see https://www.drupal.org/node/2492225 + * + * If you are using PHP 7.0 it is strongly recommended that you set + * zend.assertions=1 in the PHP.ini file (It cannot be changed from .htaccess + * or runtime) on development machines and to 0 in production. + * + * @see https://wiki.php.net/rfc/expectations + */ +assert_options(ASSERT_ACTIVE, TRUE); +Handle::register(); + +/** + * Show all error messages, with backtrace information. + * + * In case the error level could not be fetched from the database, as for + * example the database connection failed, we rely only on this value. + */ +$config['system.logging']['error_level'] = 'verbose'; + +/** + * Disable CSS and JS aggregation. + */ +$config['system.performance']['css']['preprocess'] = FALSE; +$config['system.performance']['js']['preprocess'] = FALSE; + +/** + * Disable the render cache (this includes the page cache). + * + * Note: you should test with the render cache enabled, to ensure the correct + * cacheability metadata is present. However, in the early stages of + * development, you may want to disable it. + * + * This setting disables the render cache by using the Null cache back-end + * defined by the development.services.yml file above. + * + * Do not use this setting until after the site is installed. + */ +// $settings['cache']['bins']['render'] = 'cache.backend.null'; +/** + * Disable Dynamic Page Cache. + * + * Note: you should test with Dynamic Page Cache enabled, to ensure the correct + * cacheability metadata is present (and hence the expected behavior). However, + * in the early stages of development, you may want to disable it. + */ +// $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; +/** + * Allow test modules and themes to be installed. + * + * Drupal ignores test modules and themes by default for performance reasons. + * During development it can be useful to install test extensions for debugging + * purposes. + */ +$settings['extension_discovery_scan_tests'] = FALSE; + + +/** + * Configure static caches. + * + * Note: you should test with the config, bootstrap, and discovery caches enabled to + * test that metadata is cached as expected. However, in the early stages of development, + * you may want to disable them. Overrides to these bins must be explicitly set for each + * bin to change the default configuration provided by Drupal core in core.services.yml. + * See https://www.drupal.org/node/2754947 + */ + + // $settings['cache']['bins']['bootstrap'] = 'cache.backend.null'; + // $settings['cache']['bins']['discovery'] = 'cache.backend.null'; + // $settings['cache']['bins']['config'] = 'cache.backend.null'; + + +/** + * Enable access to rebuild.php. + * + * This setting can be enabled to allow Drupal's php and database cached + * storage to be cleared via the rebuild.php page. Access to this page can also + * be gained by generating a query string from rebuild_token_calculator.sh and + * using these parameters in a request to rebuild.php. + */ +$settings['rebuild_access'] = FALSE; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This + * directory should not be accessible over the web. + * + * Note: Caches need to be cleared when this value is changed. + * + * See https://www.drupal.org/node/1928898 for more information + * about global configuration override. + */ +$config['system.file']['path']['temporary'] = '/tmp'; + +/** + * Private file path. + */ +$settings['file_private_path'] = $dir . '/files-private'; +if (isset($acsf_site_name)) { + $settings['file_public_path'] = "sites/default/files/$acsf_site_name"; + $settings['file_private_path'] = "$repo_root/files-private/$acsf_site_name"; +} + +/** + * Trusted host configuration. + * + * See full description in default.settings.php. + */ +$settings['trusted_host_patterns'] = array( + '^.+$', +); diff --git a/docroot/sites/buddhiststudies/blt.yml b/docroot/sites/buddhiststudies/blt.yml new file mode 100644 index 0000000000..47fb02f600 --- /dev/null +++ b/docroot/sites/buddhiststudies/blt.yml @@ -0,0 +1,12 @@ +project: + local: + hostname: buddhiststudies.suhumsci.loc + protocol: http + machine_name: buddhiststudies + human_name: buddhiststudies +drush: + aliases: + local: buddhiststudies.local + remote: buddhiststudies.prod +drupal: + db: { } diff --git a/docroot/sites/buddhiststudies/default.local.drush.yml b/docroot/sites/buddhiststudies/default.local.drush.yml new file mode 100644 index 0000000000..fb3258e3f9 --- /dev/null +++ b/docroot/sites/buddhiststudies/default.local.drush.yml @@ -0,0 +1,2 @@ +options: + uri: '${project.local.uri}' diff --git a/docroot/sites/buddhiststudies/default.services.yml b/docroot/sites/buddhiststudies/default.services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/buddhiststudies/default.services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/buddhiststudies/default.settings.php b/docroot/sites/buddhiststudies/default.settings.php new file mode 100644 index 0000000000..75411f05cd --- /dev/null +++ b/docroot/sites/buddhiststudies/default.settings.php @@ -0,0 +1,758 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ]; + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => [ + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ], + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => [ + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ]; + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = [ + * 'init_commands' => [ + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ], + * 'pdo' => [ + * PDO::ATTR_TIMEOUT => 5, + * ], + * ]; + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ]; + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $settings['config_sync_directory'] specifies the location of file system + * directory used for syncing configuration data. On install, the directory is + * created. This is used for configuration imports. + * + * The default location for this directory is inside a randomly-named + * directory in the public files path. The setting below allows you to set + * its location. + */ +# $settings['config_sync_directory'] = '/directory/outside/webroot'; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from the + * X-Forwarded-For header. If you are unsure about this setting, do not have a + * reverse proxy, or Drupal operates in a shared hosting environment, this + * setting should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...]; + +/** + * Reverse proxy trusted headers. + * + * Sets which headers to trust from your reverse proxy. + * + * Common values are: + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * + * Note the default value of + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @endcode + * is not secure by default. The value should be set to only the specific + * headers the reverse proxy uses. For example: + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @endcode + * This would trust the following headers: + * - X_FORWARDED_FOR + * - X_FORWARDED_HOST + * - X_FORWARDED_PROTO + * - X_FORWARDED_PORT + * + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies + */ +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; + + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * If this is not set, the default for the operating system will be used. + * + * @see \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() + */ +# $settings['file_temp_path'] = '/tmp'; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = [ +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ]; + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^www\.example\.com$', + * ]; + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ]; + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see \Drupal\Core\File\FileSystemInterface::scanDirectory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Entity update backup. + * + * This is used to inform the entity storage handler that the backup tables as + * well as the original entity type and field storage definitions should be + * retained after a successful entity update process. + */ +$settings['entity_update_backup'] = TRUE; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } diff --git a/docroot/sites/buddhiststudies/services.yml b/docroot/sites/buddhiststudies/services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/buddhiststudies/services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/buddhiststudies/settings.php b/docroot/sites/buddhiststudies/settings.php new file mode 100644 index 0000000000..f659eaa015 --- /dev/null +++ b/docroot/sites/buddhiststudies/settings.php @@ -0,0 +1,802 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ); + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => array( + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ), + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => array( + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ); + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = array( + * 'init_commands' => array( + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ), + * 'pdo' => array( + * PDO::ATTR_TIMEOUT => 5, + * ), + * ); + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ); + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ); + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $config_directories array specifies the location of file system + * directories used for configuration data. On install, the "sync" directory is + * created. This is used for configuration imports. The "active" directory is + * not created by default since the default storage for active configuration is + * the database rather than the file system. (This can be changed. See "Active + * configuration settings" below). + * + * The default location for the "sync" directory is inside a randomly-named + * directory in the public files path. The setting below allows you to override + * the "sync" location. + * + * If you use files for the "active" configuration, you can tell the + * Configuration system where this directory is located by adding an entry with + * array key CONFIG_ACTIVE_DIRECTORY. + * + * Example: + * + * @code + * $config_directories = array( + * CONFIG_SYNC_DIRECTORY => '/directory/outside/webroot', + * ); + * @endcode + */ +$config_directories = []; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * The active installation profile. + * + * Changing this after installation is not recommended as it changes which + * directories are scanned during extension discovery. If this is set prior to + * installation this value will be rewritten according to the profile selected + * by the user. + * + * @see install_select_profile() + * + * @deprecated in Drupal 8.3.0 and will be removed before Drupal 9.0.0. The + * install profile is written to the core.extension configuration. If a + * service requires the install profile use the 'install_profile' container + * parameter. Functional code can use \Drupal::installProfile(). + */ +# $settings['install_profile'] = ''; + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from + * the X-Forwarded-For header (or $settings['reverse_proxy_header'] if set). + * If you are unsure about this setting, do not have a reverse proxy, + * or Drupal operates in a shared hosting environment, this setting + * should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = array('a.b.c.d', ...); + +/** + * Set this value if your proxy server sends the client IP in a header + * other than X-Forwarded-For. + */ +# $settings['reverse_proxy_header'] = 'X_CLUSTER_CLIENT_IP'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Proto. + */ +# $settings['reverse_proxy_proto_header'] = 'X_FORWARDED_PROTO'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Host. + */ +# $settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Port. + */ +# $settings['reverse_proxy_port_header'] = 'X_FORWARDED_PORT'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than Forwarded. + */ +# $settings['reverse_proxy_forwarded_header'] = 'FORWARDED'; + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = array( +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ); + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Active configuration settings. + * + * By default, the active configuration is stored in the database in the + * {config} table. To use a different storage mechanism for the active + * configuration, do the following prior to installing: + * - Create an "active" directory and declare its path in $config_directories + * as explained under the 'Location of the site configuration files' section + * above in this file. To enhance security, you can declare a path that is + * outside your document root. + * - Override the 'bootstrap_config_storage' setting here. It must be set to a + * callable that returns an object that implements + * \Drupal\Core\Config\StorageInterface. + * - Override the service definition 'config.storage.active'. Put this + * override in a services.yml file in the same directory as settings.php + * (definitions in this file will override service definition defaults). + */ +# $settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.file']['path']['temporary'] = '/tmp'; +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * + * @code + * $settings['trusted_host_patterns'] = array( + * '^www\.example\.com$', + * ); + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = array( + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ); + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see file_scan_directory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } + +require DRUPAL_ROOT . "/../vendor/acquia/blt/settings/blt.settings.php"; + +/** + * IMPORTANT. + * + * Do not include additional settings here. Instead, add them to settings + * included by `blt.settings.php`. See BLT's documentation for more detail. + * + * @link https://docs.acquia.com/blt/ + */ diff --git a/docroot/sites/buddhiststudies/settings/default.includes.settings.php b/docroot/sites/buddhiststudies/settings/default.includes.settings.php new file mode 100644 index 0000000000..12553a4abf --- /dev/null +++ b/docroot/sites/buddhiststudies/settings/default.includes.settings.php @@ -0,0 +1,50 @@ + + array( + 'default' => + array( + 'database' => $db_name, + 'username' => '${drupal.db.username}', + 'password' => '${drupal.db.password}', + 'host' => '${drupal.db.host}', + 'port' => '${drupal.db.port}', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', + 'prefix' => '', + ), + ), +); + +$dir = dirname(DRUPAL_ROOT); + +// Use development service parameters. +$settings['container_yamls'][] = $dir . '/docroot/sites/development.services.yml'; +$settings['container_yamls'][] = $dir . '/docroot/sites/blt.development.services.yml'; + +// Allow access to update.php. +$settings['update_free_access'] = TRUE; + +/** + * Assertions. + * + * The Drupal project primarily uses runtime assertions to enforce the + * expectations of the API by failing when incorrect calls are made by code + * under development. + * + * @see http://php.net/assert + * @see https://www.drupal.org/node/2492225 + * + * If you are using PHP 7.0 it is strongly recommended that you set + * zend.assertions=1 in the PHP.ini file (It cannot be changed from .htaccess + * or runtime) on development machines and to 0 in production. + * + * @see https://wiki.php.net/rfc/expectations + */ +assert_options(ASSERT_ACTIVE, TRUE); +Handle::register(); + +/** + * Show all error messages, with backtrace information. + * + * In case the error level could not be fetched from the database, as for + * example the database connection failed, we rely only on this value. + */ +$config['system.logging']['error_level'] = 'verbose'; + +/** + * Disable CSS and JS aggregation. + */ +$config['system.performance']['css']['preprocess'] = FALSE; +$config['system.performance']['js']['preprocess'] = FALSE; + +/** + * Disable the render cache (this includes the page cache). + * + * Note: you should test with the render cache enabled, to ensure the correct + * cacheability metadata is present. However, in the early stages of + * development, you may want to disable it. + * + * This setting disables the render cache by using the Null cache back-end + * defined by the development.services.yml file above. + * + * Do not use this setting until after the site is installed. + */ +// $settings['cache']['bins']['render'] = 'cache.backend.null'; +/** + * Disable Dynamic Page Cache. + * + * Note: you should test with Dynamic Page Cache enabled, to ensure the correct + * cacheability metadata is present (and hence the expected behavior). However, + * in the early stages of development, you may want to disable it. + */ +// $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; +/** + * Allow test modules and themes to be installed. + * + * Drupal ignores test modules and themes by default for performance reasons. + * During development it can be useful to install test extensions for debugging + * purposes. + */ +$settings['extension_discovery_scan_tests'] = FALSE; + + +/** + * Configure static caches. + * + * Note: you should test with the config, bootstrap, and discovery caches enabled to + * test that metadata is cached as expected. However, in the early stages of development, + * you may want to disable them. Overrides to these bins must be explicitly set for each + * bin to change the default configuration provided by Drupal core in core.services.yml. + * See https://www.drupal.org/node/2754947 + */ + + // $settings['cache']['bins']['bootstrap'] = 'cache.backend.null'; + // $settings['cache']['bins']['discovery'] = 'cache.backend.null'; + // $settings['cache']['bins']['config'] = 'cache.backend.null'; + + +/** + * Enable access to rebuild.php. + * + * This setting can be enabled to allow Drupal's php and database cached + * storage to be cleared via the rebuild.php page. Access to this page can also + * be gained by generating a query string from rebuild_token_calculator.sh and + * using these parameters in a request to rebuild.php. + */ +$settings['rebuild_access'] = FALSE; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This + * directory should not be accessible over the web. + * + * Note: Caches need to be cleared when this value is changed. + * + * See https://www.drupal.org/node/1928898 for more information + * about global configuration override. + */ +$config['system.file']['path']['temporary'] = '/tmp'; + +/** + * Private file path. + */ +$settings['file_private_path'] = $dir . '/files-private'; +if (isset($acsf_site_name)) { + $settings['file_public_path'] = "sites/default/files/$acsf_site_name"; + $settings['file_private_path'] = "$repo_root/files-private/$acsf_site_name"; +} + +/** + * Trusted host configuration. + * + * See full description in default.settings.php. + */ +$settings['trusted_host_patterns'] = array( + '^.+$', +); diff --git a/docroot/sites/sparkbox_sandbox/blt.yml b/docroot/sites/sparkbox_sandbox/blt.yml new file mode 100644 index 0000000000..25d6b24d96 --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/blt.yml @@ -0,0 +1,12 @@ +project: + local: + hostname: sparkbox-sandbox.suhumsci.loc + protocol: http + machine_name: sparkbox_sandbox + human_name: sparkbox_sandbox +drush: + aliases: + local: sparkbox_sandbox.local + remote: sparkbox_sandbox.prod +drupal: + db: { } diff --git a/docroot/sites/sparkbox_sandbox/default.local.drush.yml b/docroot/sites/sparkbox_sandbox/default.local.drush.yml new file mode 100644 index 0000000000..fb3258e3f9 --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/default.local.drush.yml @@ -0,0 +1,2 @@ +options: + uri: '${project.local.uri}' diff --git a/docroot/sites/sparkbox_sandbox/default.services.yml b/docroot/sites/sparkbox_sandbox/default.services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/default.services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/sparkbox_sandbox/default.settings.php b/docroot/sites/sparkbox_sandbox/default.settings.php new file mode 100644 index 0000000000..75411f05cd --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/default.settings.php @@ -0,0 +1,758 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ]; + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => [ + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ], + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => [ + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ]; + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = [ + * 'init_commands' => [ + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ], + * 'pdo' => [ + * PDO::ATTR_TIMEOUT => 5, + * ], + * ]; + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ]; + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $settings['config_sync_directory'] specifies the location of file system + * directory used for syncing configuration data. On install, the directory is + * created. This is used for configuration imports. + * + * The default location for this directory is inside a randomly-named + * directory in the public files path. The setting below allows you to set + * its location. + */ +# $settings['config_sync_directory'] = '/directory/outside/webroot'; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from the + * X-Forwarded-For header. If you are unsure about this setting, do not have a + * reverse proxy, or Drupal operates in a shared hosting environment, this + * setting should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...]; + +/** + * Reverse proxy trusted headers. + * + * Sets which headers to trust from your reverse proxy. + * + * Common values are: + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * + * Note the default value of + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @endcode + * is not secure by default. The value should be set to only the specific + * headers the reverse proxy uses. For example: + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @endcode + * This would trust the following headers: + * - X_FORWARDED_FOR + * - X_FORWARDED_HOST + * - X_FORWARDED_PROTO + * - X_FORWARDED_PORT + * + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL + * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies + */ +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; + + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * If this is not set, the default for the operating system will be used. + * + * @see \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() + */ +# $settings['file_temp_path'] = '/tmp'; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = [ +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ]; + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^www\.example\.com$', + * ]; + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ]; + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see \Drupal\Core\File\FileSystemInterface::scanDirectory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Entity update backup. + * + * This is used to inform the entity storage handler that the backup tables as + * well as the original entity type and field storage definitions should be + * retained after a successful entity update process. + */ +$settings['entity_update_backup'] = TRUE; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } diff --git a/docroot/sites/sparkbox_sandbox/services.yml b/docroot/sites/sparkbox_sandbox/services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/sparkbox_sandbox/settings.php b/docroot/sites/sparkbox_sandbox/settings.php new file mode 100644 index 0000000000..f659eaa015 --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/settings.php @@ -0,0 +1,802 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ); + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Transaction support is enabled by default for all drivers that support it, + * including MySQL. To explicitly disable it, set the 'transactions' key to + * FALSE. + * Note that some configurations of MySQL, such as the MyISAM engine, don't + * support it and will proceed silently even if enabled. If you experience + * transaction related crashes with such configuration, set the 'transactions' + * key to FALSE. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => array( + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ), + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => array( + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ); + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = array( + * 'init_commands' => array( + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ), + * 'pdo' => array( + * PDO::ATTR_TIMEOUT => 5, + * ), + * ); + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ); + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = array( + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ); + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $config_directories array specifies the location of file system + * directories used for configuration data. On install, the "sync" directory is + * created. This is used for configuration imports. The "active" directory is + * not created by default since the default storage for active configuration is + * the database rather than the file system. (This can be changed. See "Active + * configuration settings" below). + * + * The default location for the "sync" directory is inside a randomly-named + * directory in the public files path. The setting below allows you to override + * the "sync" location. + * + * If you use files for the "active" configuration, you can tell the + * Configuration system where this directory is located by adding an entry with + * array key CONFIG_ACTIVE_DIRECTORY. + * + * Example: + * + * @code + * $config_directories = array( + * CONFIG_SYNC_DIRECTORY => '/directory/outside/webroot', + * ); + * @endcode + */ +$config_directories = []; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * The active installation profile. + * + * Changing this after installation is not recommended as it changes which + * directories are scanned during extension discovery. If this is set prior to + * installation this value will be rewritten according to the profile selected + * by the user. + * + * @see install_select_profile() + * + * @deprecated in Drupal 8.3.0 and will be removed before Drupal 9.0.0. The + * install profile is written to the core.extension configuration. If a + * service requires the install profile use the 'install_profile' container + * parameter. Functional code can use \Drupal::installProfile(). + */ +# $settings['install_profile'] = ''; + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from + * the X-Forwarded-For header (or $settings['reverse_proxy_header'] if set). + * If you are unsure about this setting, do not have a reverse proxy, + * or Drupal operates in a shared hosting environment, this setting + * should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = array('a.b.c.d', ...); + +/** + * Set this value if your proxy server sends the client IP in a header + * other than X-Forwarded-For. + */ +# $settings['reverse_proxy_header'] = 'X_CLUSTER_CLIENT_IP'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Proto. + */ +# $settings['reverse_proxy_proto_header'] = 'X_FORWARDED_PROTO'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Host. + */ +# $settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than X-Forwarded-Port. + */ +# $settings['reverse_proxy_port_header'] = 'X_FORWARDED_PORT'; + +/** + * Set this value if your proxy server sends the client protocol in a header + * other than Forwarded. + */ +# $settings['reverse_proxy_forwarded_header'] = 'FORWARDED'; + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APC extension is detected, the Symfony APC class loader is used for + * performance reasons. Detection can be prevented by setting + * class_loader_auto_detect to false, as in the example below. + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/* + * If the APC extension is not detected, either because APC is missing or + * because auto-detection has been disabled, auto-loading falls back to + * Composer's ClassLoader, which is good for development as it does not break + * when code is moved in the file system. You can also decorate the base class + * loader with another cached solution than the Symfony APC class loader, as + * all production sites should have a cached class loader of some sort enabled. + * + * To do so, you may decorate and replace the local $class_loader variable. For + * example, to use Symfony's APC class loader without automatic detection, + * uncomment the code below. + */ +/* +if ($settings['hash_salt']) { + $prefix = 'drupal.' . hash('sha256', 'drupal.' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); + $class_loader->unregister(); + $apc_loader->register(); + $class_loader = $apc_loader; +} +*/ + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = array( +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ); + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Active configuration settings. + * + * By default, the active configuration is stored in the database in the + * {config} table. To use a different storage mechanism for the active + * configuration, do the following prior to installing: + * - Create an "active" directory and declare its path in $config_directories + * as explained under the 'Location of the site configuration files' section + * above in this file. To enhance security, you can declare a path that is + * outside your document root. + * - Override the 'bootstrap_config_storage' setting here. It must be set to a + * callable that returns an object that implements + * \Drupal\Core\Config\StorageInterface. + * - Override the service definition 'config.storage.active'. Put this + * override in a services.yml file in the same directory as settings.php + * (definitions in this file will override service definition defaults). + */ +# $settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.file']['path']['temporary'] = '/tmp'; +# $config['system.site']['name'] = 'My Drupal site'; +# $config['system.theme']['default'] = 'stark'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * + * @code + * $settings['trusted_host_patterns'] = array( + * '^www\.example\.com$', + * ); + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = array( + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ); + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see file_scan_directory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Load local development override configuration, if available. + * + * Use settings.local.php to override variables on secondary (staging, + * development, etc) installations of this site. Typically used to disable + * caching, JavaScript/CSS compression, re-routing of outgoing emails, and + * other things that should not happen on development and testing sites. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } + +require DRUPAL_ROOT . "/../vendor/acquia/blt/settings/blt.settings.php"; + +/** + * IMPORTANT. + * + * Do not include additional settings here. Instead, add them to settings + * included by `blt.settings.php`. See BLT's documentation for more detail. + * + * @link https://docs.acquia.com/blt/ + */ diff --git a/docroot/sites/sparkbox_sandbox/settings/default.includes.settings.php b/docroot/sites/sparkbox_sandbox/settings/default.includes.settings.php new file mode 100644 index 0000000000..12553a4abf --- /dev/null +++ b/docroot/sites/sparkbox_sandbox/settings/default.includes.settings.php @@ -0,0 +1,50 @@ + + array( + 'default' => + array( + 'database' => $db_name, + 'username' => '${drupal.db.username}', + 'password' => '${drupal.db.password}', + 'host' => '${drupal.db.host}', + 'port' => '${drupal.db.port}', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', + 'prefix' => '', + ), + ), +); + +$dir = dirname(DRUPAL_ROOT); + +// Use development service parameters. +$settings['container_yamls'][] = $dir . '/docroot/sites/development.services.yml'; +$settings['container_yamls'][] = $dir . '/docroot/sites/blt.development.services.yml'; + +// Allow access to update.php. +$settings['update_free_access'] = TRUE; + +/** + * Assertions. + * + * The Drupal project primarily uses runtime assertions to enforce the + * expectations of the API by failing when incorrect calls are made by code + * under development. + * + * @see http://php.net/assert + * @see https://www.drupal.org/node/2492225 + * + * If you are using PHP 7.0 it is strongly recommended that you set + * zend.assertions=1 in the PHP.ini file (It cannot be changed from .htaccess + * or runtime) on development machines and to 0 in production. + * + * @see https://wiki.php.net/rfc/expectations + */ +assert_options(ASSERT_ACTIVE, TRUE); +Handle::register(); + +/** + * Show all error messages, with backtrace information. + * + * In case the error level could not be fetched from the database, as for + * example the database connection failed, we rely only on this value. + */ +$config['system.logging']['error_level'] = 'verbose'; + +/** + * Disable CSS and JS aggregation. + */ +$config['system.performance']['css']['preprocess'] = FALSE; +$config['system.performance']['js']['preprocess'] = FALSE; + +/** + * Disable the render cache (this includes the page cache). + * + * Note: you should test with the render cache enabled, to ensure the correct + * cacheability metadata is present. However, in the early stages of + * development, you may want to disable it. + * + * This setting disables the render cache by using the Null cache back-end + * defined by the development.services.yml file above. + * + * Do not use this setting until after the site is installed. + */ +// $settings['cache']['bins']['render'] = 'cache.backend.null'; +/** + * Disable Dynamic Page Cache. + * + * Note: you should test with Dynamic Page Cache enabled, to ensure the correct + * cacheability metadata is present (and hence the expected behavior). However, + * in the early stages of development, you may want to disable it. + */ +// $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; +/** + * Allow test modules and themes to be installed. + * + * Drupal ignores test modules and themes by default for performance reasons. + * During development it can be useful to install test extensions for debugging + * purposes. + */ +$settings['extension_discovery_scan_tests'] = FALSE; + + +/** + * Configure static caches. + * + * Note: you should test with the config, bootstrap, and discovery caches enabled to + * test that metadata is cached as expected. However, in the early stages of development, + * you may want to disable them. Overrides to these bins must be explicitly set for each + * bin to change the default configuration provided by Drupal core in core.services.yml. + * See https://www.drupal.org/node/2754947 + */ + + // $settings['cache']['bins']['bootstrap'] = 'cache.backend.null'; + // $settings['cache']['bins']['discovery'] = 'cache.backend.null'; + // $settings['cache']['bins']['config'] = 'cache.backend.null'; + + +/** + * Enable access to rebuild.php. + * + * This setting can be enabled to allow Drupal's php and database cached + * storage to be cleared via the rebuild.php page. Access to this page can also + * be gained by generating a query string from rebuild_token_calculator.sh and + * using these parameters in a request to rebuild.php. + */ +$settings['rebuild_access'] = FALSE; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This + * directory should not be accessible over the web. + * + * Note: Caches need to be cleared when this value is changed. + * + * See https://www.drupal.org/node/1928898 for more information + * about global configuration override. + */ +$config['system.file']['path']['temporary'] = '/tmp'; + +/** + * Private file path. + */ +$settings['file_private_path'] = $dir . '/files-private'; +if (isset($acsf_site_name)) { + $settings['file_public_path'] = "sites/default/files/$acsf_site_name"; + $settings['file_private_path'] = "$repo_root/files-private/$acsf_site_name"; +} + +/** + * Trusted host configuration. + * + * See full description in default.settings.php. + */ +$settings['trusted_host_patterns'] = array( + '^.+$', +); diff --git a/docroot/themes/humsci/humsci_airy/css/humsci_airy.css b/docroot/themes/humsci/humsci_airy/css/humsci_airy.css index ac0e4b089a..bedc77c075 100644 --- a/docroot/themes/humsci/humsci_airy/css/humsci_airy.css +++ b/docroot/themes/humsci/humsci_airy/css/humsci_airy.css @@ -1 +1 @@ -/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */@import"https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i";@import"https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600,700";@import"https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700";@import"https://fonts.googleapis.com/css?family=Kalam:300,400,700";@import"https://fonts.googleapis.com/css?family=Noto+Sans:400,400i,700,700i&subset=devanagari";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.su-local-footer__header .su-link--internal{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;cursor:pointer;display:inline-block;border:0;font-size:2rem;font-weight:400;line-height:1;text-align:center;text-decoration:none;width:100%;-webkit-transition:background-color .25s ease-in-out,color .25s ease-in-out;transition:background-color .25s ease-in-out,color .25s ease-in-out}.su-local-footer__header .su-link--internal a{font-weight:400;text-decoration:none}@media only screen and (min-width: 576px){.su-local-footer__header .su-link--internal{width:auto}}.su-local-footer__header .su-link--internal:active,.su-local-footer__header .su-link--internal:focus,.su-local-footer__header .su-link--internal:hover{text-decoration:underline}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot");src:url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2") format("woff2"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff") format("woff"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf") format("truetype"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg#fontawesome") format("svg")}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot");src:url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2") format("woff2"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff") format("woff"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf") format("truetype"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg#fontawesome") format("svg")}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-extralight-webfont.woff") format("woff");font-style:normal;font-weight:200}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-extralightitalic-webfont.woff") format("woff");font-style:italic;font-weight:200}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-light-webfont.woff") format("woff");font-style:normal;font-weight:300}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-lightitalic-webfont.woff") format("woff");font-style:italic;font-weight:300}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-regularitalic-webfont.woff") format("woff");font-style:italic;font-weight:400}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-semibolditalic-webfont.woff") format("woff");font-style:italic;font-weight:600}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-bolditalic-webfont.woff") format("woff");font-style:italic;font-weight:700}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-black-webfont.woff") format("woff");font-style:normal;font-weight:900}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-blackitalic-webfont.woff") format("woff");font-style:italic;font-weight:900}@font-face{font-family:"Stanford";src:url("https://www-media.stanford.edu/assets/fonts/stanford.woff") format("woff"),url("https://www-media.stanford.edu/assets/fonts/stanford.ttf") format("truetype");font-weight:300}.su-aspect-ratio{position:relative}.su-aspect-ratio::before{display:block;content:"";width:100%;padding-top:56.25%}.su-aspect-ratio>img,.su-aspect-ratio>video{-o-object-fit:cover;object-fit:cover}.su-aspect-ratio>*{position:relative;z-index:5}.su-aspect-ratio>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-aspect-ratio--4x3{position:relative}.su-aspect-ratio--4x3::before{display:block;content:"";width:100%;padding-top:75%}.su-aspect-ratio--4x3>img,.su-aspect-ratio--4x3>video{-o-object-fit:cover;object-fit:cover}.su-aspect-ratio--4x3>*{position:relative;z-index:5}.su-aspect-ratio--4x3>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-aspect-ratio--1x1{position:relative}.su-aspect-ratio--1x1::before{display:block;content:"";width:100%;padding-top:100%}.su-aspect-ratio--1x1>img,.su-aspect-ratio--1x1>video{-o-object-fit:cover;object-fit:cover}.su-aspect-ratio--1x1>*{position:relative;z-index:5}.su-aspect-ratio--1x1>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-sr-only-element{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.su-sr-only-text{overflow:hidden;text-indent:101%;white-space:nowrap}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{background-color:#fff;overflow-x:hidden}.lt-ie9 *{-webkit-filter:none !important;filter:none !important}[hidden]{display:none !important}figure{margin:0}img{margin:0;padding:0;display:block;height:auto;max-width:100%}.su-embed-container{padding-bottom:56.25%;position:relative;height:0;overflow:hidden;max-width:100%}.su-embed-container iframe,.su-embed-container object,.su-embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.su-local-footer__header .su-link--internal{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;cursor:pointer;display:inline-block;border:0;font-size:2rem;font-weight:400;line-height:1;text-align:center;text-decoration:none;width:100%;-webkit-transition:background-color .25s ease-in-out,color .25s ease-in-out;transition:background-color .25s ease-in-out,color .25s ease-in-out}.su-local-footer__header .su-link--internal a{font-weight:400;text-decoration:none}@media only screen and (min-width: 576px){.su-local-footer__header .su-link--internal{width:auto}}.su-local-footer__header .su-link--internal:active,.su-local-footer__header .su-link--internal:focus,.su-local-footer__header .su-link--internal:hover{text-decoration:underline}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{background-color:#fff;overflow-x:hidden}.lt-ie9 *{-webkit-filter:none !important;filter:none !important}[hidden]{display:none !important}.flex-container{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap}.flex-container--collapse{margin-top:0;margin-bottom:0}@media only screen and (min-width: 576px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 768px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 992px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 1200px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 1500px){.flex-container--collapse{margin-top:0;margin-bottom:0}}.flex-container--row-gap>*{margin:0 0 20px}@media only screen and (min-width: 576px){.flex-container--row-gap>*{margin:0 0 20px}}@media only screen and (min-width: 768px){.flex-container--row-gap>*{margin:0 0 20px}}@media only screen and (min-width: 992px){.flex-container--row-gap>*{margin:0 0 36px}}@media only screen and (min-width: 1200px){.flex-container--row-gap>*{margin:0 0 40px}}@media only screen and (min-width: 1500px){.flex-container--row-gap>*{margin:0 0 48px}}.flex-2xl-12-of-12,.flex-2xl-11-of-12,.flex-2xl-10-of-12,.flex-2xl-9-of-12,.flex-2xl-8-of-12,.flex-2xl-7-of-12,.flex-2xl-6-of-12,.flex-2xl-5-of-12,.flex-2xl-4-of-12,.flex-2xl-3-of-12,.flex-2xl-2-of-12,.flex-2xl-1-of-12,.flex-xl-12-of-12,.flex-xl-11-of-12,.flex-xl-10-of-12,.flex-xl-9-of-12,.flex-xl-8-of-12,.flex-xl-7-of-12,.flex-xl-6-of-12,.flex-xl-5-of-12,.flex-xl-4-of-12,.flex-xl-3-of-12,.flex-xl-2-of-12,.flex-xl-1-of-12,.flex-lg-12-of-12,.flex-lg-11-of-12,.flex-lg-10-of-12,.flex-lg-9-of-12,.flex-lg-8-of-12,.flex-lg-7-of-12,.flex-lg-6-of-12,.flex-lg-5-of-12,.flex-lg-4-of-12,.flex-lg-3-of-12,.flex-lg-2-of-12,.flex-lg-1-of-12,.flex-md-12-of-12,.flex-md-11-of-12,.flex-md-10-of-12,.flex-md-9-of-12,.flex-md-8-of-12,.flex-md-7-of-12,.flex-md-6-of-12,.flex-md-5-of-12,.flex-md-4-of-12,.flex-md-3-of-12,.flex-md-2-of-12,.flex-md-1-of-12,.flex-sm-12-of-12,.flex-sm-11-of-12,.flex-sm-10-of-12,.flex-sm-9-of-12,.flex-sm-8-of-12,.flex-sm-7-of-12,.flex-sm-6-of-12,.flex-sm-5-of-12,.flex-sm-4-of-12,.flex-sm-3-of-12,.flex-sm-2-of-12,.flex-sm-1-of-12,.flex-xs-12-of-12,.flex-12-of-12,.flex-xs-11-of-12,.flex-11-of-12,.flex-xs-10-of-12,.flex-10-of-12,.flex-xs-9-of-12,.flex-9-of-12,.flex-xs-8-of-12,.flex-8-of-12,.flex-xs-7-of-12,.flex-7-of-12,.flex-xs-6-of-12,.flex-6-of-12,.flex-xs-5-of-12,.flex-5-of-12,.flex-xs-4-of-12,.flex-4-of-12,.flex-xs-3-of-12,.flex-3-of-12,.flex-xs-2-of-12,.flex-2-of-12,.flex-xs-1-of-12,.flex-1-of-12,.flex-auto{position:relative;width:100%;min-height:1px}.flex-auto{-webkit-box-flex:0;flex:0 0 auto;width:auto;max-width:none}@media only screen and (min-width: 0){.flex-push-xs-0{margin-left:0}.flex-push-xs-1{margin-left:8.3333333333%}.flex-push-xs-2{margin-left:16.6666666667%}.flex-push-xs-3{margin-left:25%}.flex-push-xs-4{margin-left:33.3333333333%}.flex-push-xs-5{margin-left:41.6666666667%}.flex-push-xs-6{margin-left:50%}.flex-push-xs-7{margin-left:58.3333333333%}.flex-push-xs-8{margin-left:66.6666666667%}.flex-push-xs-9{margin-left:75%}.flex-push-xs-10{margin-left:83.3333333333%}.flex-push-xs-11{margin-left:91.6666666667%}}@media only screen and (min-width: 576px){.flex-push-sm-0{margin-left:0}.flex-push-sm-1{margin-left:8.3333333333%}.flex-push-sm-2{margin-left:16.6666666667%}.flex-push-sm-3{margin-left:25%}.flex-push-sm-4{margin-left:33.3333333333%}.flex-push-sm-5{margin-left:41.6666666667%}.flex-push-sm-6{margin-left:50%}.flex-push-sm-7{margin-left:58.3333333333%}.flex-push-sm-8{margin-left:66.6666666667%}.flex-push-sm-9{margin-left:75%}.flex-push-sm-10{margin-left:83.3333333333%}.flex-push-sm-11{margin-left:91.6666666667%}}@media only screen and (min-width: 768px){.flex-push-md-0{margin-left:0}.flex-push-md-1{margin-left:8.3333333333%}.flex-push-md-2{margin-left:16.6666666667%}.flex-push-md-3{margin-left:25%}.flex-push-md-4{margin-left:33.3333333333%}.flex-push-md-5{margin-left:41.6666666667%}.flex-push-md-6{margin-left:50%}.flex-push-md-7{margin-left:58.3333333333%}.flex-push-md-8{margin-left:66.6666666667%}.flex-push-md-9{margin-left:75%}.flex-push-md-10{margin-left:83.3333333333%}.flex-push-md-11{margin-left:91.6666666667%}}@media only screen and (min-width: 992px){.flex-push-lg-0{margin-left:0}.flex-push-lg-1{margin-left:8.3333333333%}.flex-push-lg-2{margin-left:16.6666666667%}.flex-push-lg-3{margin-left:25%}.flex-push-lg-4{margin-left:33.3333333333%}.flex-push-lg-5{margin-left:41.6666666667%}.flex-push-lg-6{margin-left:50%}.flex-push-lg-7{margin-left:58.3333333333%}.flex-push-lg-8{margin-left:66.6666666667%}.flex-push-lg-9{margin-left:75%}.flex-push-lg-10{margin-left:83.3333333333%}.flex-push-lg-11{margin-left:91.6666666667%}}@media only screen and (min-width: 1200px){.flex-push-xl-0{margin-left:0}.flex-push-xl-1{margin-left:8.3333333333%}.flex-push-xl-2{margin-left:16.6666666667%}.flex-push-xl-3{margin-left:25%}.flex-push-xl-4{margin-left:33.3333333333%}.flex-push-xl-5{margin-left:41.6666666667%}.flex-push-xl-6{margin-left:50%}.flex-push-xl-7{margin-left:58.3333333333%}.flex-push-xl-8{margin-left:66.6666666667%}.flex-push-xl-9{margin-left:75%}.flex-push-xl-10{margin-left:83.3333333333%}.flex-push-xl-11{margin-left:91.6666666667%}}@media only screen and (min-width: 1500px){.flex-push-2xl-0{margin-left:0}.flex-push-2xl-1{margin-left:8.3333333333%}.flex-push-2xl-2{margin-left:16.6666666667%}.flex-push-2xl-3{margin-left:25%}.flex-push-2xl-4{margin-left:33.3333333333%}.flex-push-2xl-5{margin-left:41.6666666667%}.flex-push-2xl-6{margin-left:50%}.flex-push-2xl-7{margin-left:58.3333333333%}.flex-push-2xl-8{margin-left:66.6666666667%}.flex-push-2xl-9{margin-left:75%}.flex-push-2xl-10{margin-left:83.3333333333%}.flex-push-2xl-11{margin-left:91.6666666667%}}@media only screen and (min-width: 576px){.flex-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 768px){.flex-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 576px){.flex-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 768px){.flex-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 576px){.flex-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 768px){.flex-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 576px){.flex-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 768px){.flex-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 576px){.flex-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 768px){.flex-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 576px){.flex-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 768px){.flex-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 576px){.flex-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 768px){.flex-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 576px){.flex-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 768px){.flex-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 576px){.flex-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 768px){.flex-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 576px){.flex-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 768px){.flex-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 576px){.flex-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 768px){.flex-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 0){.flex-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 576px){.flex-sm-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-sm-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 576px){.flex-sm-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-sm-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 576px){.flex-sm-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 768px){.flex-sm-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-sm-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-sm-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-sm-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 576px){.flex-sm-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-sm-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 576px){.flex-sm-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-sm-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 576px){.flex-sm-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 768px){.flex-sm-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-sm-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-sm-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-sm-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 576px){.flex-sm-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-sm-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 576px){.flex-sm-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-sm-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 576px){.flex-sm-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 768px){.flex-sm-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-sm-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-sm-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-sm-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 576px){.flex-sm-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-sm-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 576px){.flex-sm-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-sm-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 576px){.flex-sm-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 768px){.flex-sm-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-sm-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-sm-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-sm-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 768px){.flex-md-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-md-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 768px){.flex-md-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-md-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 768px){.flex-md-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-md-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-md-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-md-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 768px){.flex-md-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-md-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 768px){.flex-md-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-md-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 768px){.flex-md-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-md-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-md-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-md-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 768px){.flex-md-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-md-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 768px){.flex-md-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-md-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 768px){.flex-md-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-md-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-md-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-md-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 768px){.flex-md-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-md-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 768px){.flex-md-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-md-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 768px){.flex-md-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-md-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-md-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-md-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-lg-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-lg-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 992px){.flex-lg-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-lg-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 992px){.flex-lg-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-lg-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-lg-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 992px){.flex-lg-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-lg-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 992px){.flex-lg-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-lg-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 992px){.flex-lg-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-lg-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-lg-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 992px){.flex-lg-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-lg-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 992px){.flex-lg-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-lg-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 992px){.flex-lg-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-lg-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-lg-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 992px){.flex-lg-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-lg-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 992px){.flex-lg-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-lg-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 992px){.flex-lg-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-lg-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-lg-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-xl-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 1200px){.flex-xl-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 1200px){.flex-xl-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-xl-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 1200px){.flex-xl-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 1200px){.flex-xl-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 1200px){.flex-xl-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-xl-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 1200px){.flex-xl-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 1200px){.flex-xl-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 1200px){.flex-xl-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-xl-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 1200px){.flex-xl-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 1200px){.flex-xl-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 1200px){.flex-xl-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-xl-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-2xl-1-of-12{-webkit-box-flex:0;flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 1500px){.flex-2xl-2-of-12{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 1500px){.flex-2xl-3-of-12{-webkit-box-flex:0;flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 1500px){.flex-2xl-4-of-12{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 1500px){.flex-2xl-5-of-12{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 1500px){.flex-2xl-6-of-12{-webkit-box-flex:0;flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 1500px){.flex-2xl-7-of-12{-webkit-box-flex:0;flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 1500px){.flex-2xl-8-of-12{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 1500px){.flex-2xl-9-of-12{-webkit-box-flex:0;flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 1500px){.flex-2xl-10-of-12{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 1500px){.flex-2xl-11-of-12{-webkit-box-flex:0;flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 1500px){.flex-2xl-12-of-12{-webkit-box-flex:0;flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}.su-brand-bar{width:100%;height:30px;background-color:#8c1515}.su-brand-bar__container{margin:0 auto}@media only screen and (min-width: 0){.su-brand-bar__container{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-brand-bar__container{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-brand-bar__container{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-brand-bar__container{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-brand-bar__container{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-brand-bar__container{max-width:1500px;width:calc(100% - 200px)}}.su-brand-bar__logo{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:8px;white-space:nowrap;color:#fff;font-size:20px;-ms-grid-column:2}.su-brand-bar__logo:hover,.su-brand-bar__logo:active,.su-brand-bar__logo:focus{color:#fff}.su-brand-bar--bright{background-color:#b1040e}.su-brand-bar--dark{background-color:#2e2d29}.su-brand-bar--white{background-color:#fff}.su-brand-bar--white .su-brand-bar__logo{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;color:#8c1515}@media only screen and (min-width: 768px){.su-lockup,.su-lockup>a{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap;-webkit-box-align:stretch;align-items:stretch;-webkit-box-pack:start;justify-content:flex-start;vertical-align:bottom}}.su-lockup a{font-weight:400;text-decoration:none}.su-lockup__cell1{min-height:26px;vertical-align:bottom;width:auto}@media only screen and (min-width: 768px){.su-lockup__cell1{margin-right:-1px;padding-right:7px;padding-bottom:0;align-self:flex-end;border-right:solid 1px #2e2d29;display:-webkit-box;display:flex;flex-shrink:1;max-width:160px;min-height:32px}}@media only screen and (min-width: 768px){.su-lockup__cell2{padding-top:0;padding-left:7px;align-self:flex-end;border-left:solid 1px #2e2d29;-webkit-box-flex:1;flex-grow:1;vertical-align:bottom}}.su-lockup__wordmark{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#8c1515;font-size:36px;line-height:17px;vertical-align:bottom}@media only screen and (min-width: 768px){.su-lockup__wordmark{font-size:46px;line-height:21px}}.su-lockup__wordmark-wrapper{line-height:26px}@media only screen and (min-width: 768px){.su-lockup__wordmark-wrapper{line-height:32px}}.su-lockup__line1,.su-lockup__line2,.su-lockup__line3,.su-lockup__line4,.su-lockup__line5{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2e2d29;display:block}.su-lockup__line1{font-size:2.8rem}@media(max-width: 767px){.su-lockup__line1{font-size:2.6rem}}.su-lockup__line2{font-size:2.6rem}.su-lockup__line3{margin-top:.5rem;font-size:2.6rem;font-style:italic}@media(max-width: 767px){.su-lockup__line3{margin:0;font-size:1.9rem}}.su-lockup__line4{margin-top:.5rem;font-size:2.5rem;font-weight:600;letter-spacing:.05rem;line-height:1em;margin-left:-0.2rem;text-transform:uppercase}.su-lockup__line5{font-size:2.7rem;line-height:1em;width:100%}@media only screen and (min-width: 768px){.su-lockup__line5{margin-top:8px;font-size:3rem}}@media(max-width: 767px){.su-lockup--option-a>a{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.su-lockup--option-a .su-lockup__line2,.su-lockup--option-a .su-lockup__line3,.su-lockup--option-a .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-a .su-lockup__cell2{-webkit-box-ordinal-group:4;order:3}}.su-lockup--option-a .su-lockup__line1{line-height:2.6rem}@media(max-width: 767px){.su-lockup--option-a .su-lockup__line1{margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-a .su-lockup__line1{font-size:3.2rem;line-height:.7em}}.su-lockup--option-a .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-a .su-lockup__line5{margin-top:.75rem;margin-left:-2px;-webkit-box-ordinal-group:3;order:2}.su-lockup--option-a .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-a .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-b .su-lockup__line3,.su-lockup--option-b .su-lockup__line4,.su-lockup--option-b .su-lockup__line5{display:none}.su-lockup--option-b .su-lockup__line1{margin-bottom:.2em}@media only screen and (min-width: 768px){.su-lockup--option-b .su-lockup__line1{margin-top:-0.4rem;font-size:1.9rem}}@media(max-width: 767px){.su-lockup--option-b .su-lockup__line1{margin-top:.5rem;margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-b .su-lockup__line2{line-height:.7em}@media(max-width: 767px){.su-lockup--option-b .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-c>a{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.su-lockup--option-c .su-lockup__line3,.su-lockup--option-c .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-c .su-lockup__cell2{margin-left:-2px;-webkit-box-ordinal-group:4;order:3}}.su-lockup--option-c .su-lockup__line1{margin-bottom:.2em}@media only screen and (min-width: 768px){.su-lockup--option-c .su-lockup__line1{margin-top:-0.4rem;font-size:1.9rem}}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-c .su-lockup__line2{line-height:.7em}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line2{line-height:2.6rem}}.su-lockup--option-c .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line5{margin-top:.75rem;margin-left:-2px;-webkit-box-ordinal-group:3;order:2}.su-lockup--option-c .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-c .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-d .su-lockup__line2,.su-lockup--option-d .su-lockup__line4,.su-lockup--option-d .su-lockup__line5{display:none}@media only screen and (min-width: 576px){.su-lockup--option-d .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-d .su-lockup__line1{margin-top:.5rem;margin-bottom:.2rem;margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-d .su-lockup__line3{font-size:1.8rem;line-height:.7em}}.su-lockup--option-e .su-lockup__line4,.su-lockup--option-e .su-lockup__line5{display:none}@media only screen and (min-width: 576px){.su-lockup--option-e .su-lockup__line1{margin-top:-0.7rem;font-size:2.6rem}}@media(max-width: 767px){.su-lockup--option-e .su-lockup__line1{margin-top:.5rem;margin-left:-2px}}.su-lockup--option-e .su-lockup__line2{line-height:2.6rem}@media(max-width: 767px){.su-lockup--option-e .su-lockup__line2{margin-left:-2px}}.su-lockup--option-e .su-lockup__line3{margin-top:.5rem;font-style:italic}@media only screen and (min-width: 768px){.su-lockup--option-e .su-lockup__line3{margin-top:.8rem;font-size:1.9rem;line-height:.7em}}.su-lockup--option-f .su-lockup__line3,.su-lockup--option-f .su-lockup__line4,.su-lockup--option-f .su-lockup__line5{display:none}.su-lockup--option-f .su-lockup__line1{margin-top:.5rem;margin-bottom:2px}@media only screen and (min-width: 768px){.su-lockup--option-f .su-lockup__line1{margin-top:-0.4rem;font-size:1.3rem}}@media(max-width: 767px){.su-lockup--option-f .su-lockup__line1{margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-f .su-lockup__line2{margin-left:-2px;line-height:.7em}@media(max-width: 767px){.su-lockup--option-f .su-lockup__line2{line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-g>a{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.su-lockup--option-g .su-lockup__line3,.su-lockup--option-g .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-g .su-lockup__cell2{-webkit-box-ordinal-group:4;order:3}}.su-lockup--option-g .su-lockup__line1{margin-top:.5rem;margin-bottom:2px}@media only screen and (min-width: 768px){.su-lockup--option-g .su-lockup__line1{margin-top:-0.4rem;margin-bottom:2px;font-size:1.3rem}}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line1{margin-top:0;margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-g .su-lockup__line2{margin-left:-2px;line-height:.7em}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line2{line-height:2.6rem}}.su-lockup--option-g .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line5{margin-top:.75rem;-webkit-box-ordinal-group:3;order:2}.su-lockup--option-g .su-lockup__line5::after{margin-top:1rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-g .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-h .su-lockup__line2,.su-lockup--option-h .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-h .su-lockup__cell2,.su-lockup--option-h .su-lockup__line4{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-h .su-lockup__wordmark{display:block}}.su-lockup--option-h .su-lockup__line4{margin-bottom:-3px;line-height:.95em}@media(max-width: 767px){.su-lockup--option-h .su-lockup__line4{margin-bottom:4px}.su-lockup--option-h .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}.su-lockup--option-h .su-lockup__line3{margin-top:0;margin-bottom:-3px;font-style:normal;line-height:1em;text-transform:capitalize}@media(max-width: 767px){.su-lockup--option-h .su-lockup__line3{font-size:2.6rem}}.su-lockup--option-i .su-lockup__line2,.su-lockup--option-i .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-i .su-lockup__cell2,.su-lockup--option-i .su-lockup__line4{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-i .su-lockup__wordmark{display:block}}.su-lockup--option-i .su-lockup__line4{margin-bottom:-3px;line-height:.95em}@media(max-width: 767px){.su-lockup--option-i .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}.su-lockup--option-i .su-lockup__line3{line-height:.7em;text-transform:capitalize}@media only screen and (min-width: 768px){.su-lockup--option-i .su-lockup__line3{font-size:1.8rem}}@media(max-width: 767px){.su-lockup--option-i .su-lockup__line3{line-height:1.15em}}@media(max-width: 767px){.su-lockup--option-j>a{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.su-lockup--option-j .su-lockup__line3,.su-lockup--option-j .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-j .su-lockup__cell2{-webkit-box-ordinal-group:4;order:3}}@media only screen and (min-width: 768px){.su-lockup--option-j .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line1{margin-left:-2px}}.su-lockup--option-j .su-lockup__line2{margin-top:.3rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}.su-lockup--option-j .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line5{margin-top:.75rem;margin-left:-2px;-webkit-box-ordinal-group:3;order:2}.su-lockup--option-j .su-lockup__line5::after{margin-top:.9rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-j .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-k .su-lockup__line2,.su-lockup--option-k .su-lockup__line3,.su-lockup--option-k .su-lockup__line4{display:none}.su-lockup--option-k .su-lockup__line1{font-size:3.3rem;font-weight:600;line-height:.7em;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-k .su-lockup__line1{margin-top:1.1rem;margin-left:-2px;font-size:2.6rem;line-height:2.6rem}.su-lockup--option-k .su-lockup__line1::after{margin-top:.5rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media(max-width: 767px){.su-lockup--option-k .su-lockup__line5{margin-left:-2px;font-size:2.6rem}}.su-lockup--option-l .su-lockup__line2,.su-lockup--option-l .su-lockup__line3,.su-lockup--option-l .su-lockup__line4,.su-lockup--option-l .su-lockup__line5{display:none}.su-lockup--option-l .su-lockup__line1{font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-l .su-lockup__line1{margin-top:.5rem;margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-l .su-lockup__line1{font-size:3.3rem;line-height:.7em}}.su-lockup--option-m .su-lockup__line3,.su-lockup--option-m .su-lockup__line4,.su-lockup--option-m .su-lockup__line5{display:none}.su-lockup--option-m .su-lockup__line2{margin-top:.3rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-m .su-lockup__line2{margin-top:0;margin-left:-2px;line-height:2.6rem}}@media only screen and (min-width: 768px){.su-lockup--option-m .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-m .su-lockup__line1{margin-top:4px;margin-left:-2px}}.su-lockup--option-n .su-lockup__line2,.su-lockup--option-n .su-lockup__line3,.su-lockup--option-n .su-lockup__line4,.su-lockup--option-n .su-lockup__line5{display:none}.su-lockup--option-n .su-lockup__line1{line-height:.7em}@media only screen and (min-width: 768px){.su-lockup--option-n .su-lockup__line1{font-size:3.2rem}}@media(max-width: 767px){.su-lockup--option-n .su-lockup__line1{margin-top:.5rem;margin-left:-2px;line-height:2.6rem}}.su-lockup--option-o .su-lockup__cell2,.su-lockup--option-o .su-lockup__cell1{border:0}.su-lockup--option-o .su-lockup__line1,.su-lockup--option-o .su-lockup__line2,.su-lockup--option-o .su-lockup__line3,.su-lockup--option-o .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-o .su-lockup__line4{margin-left:-2px}}.su-lockup--option-p .su-lockup__line2,.su-lockup--option-p .su-lockup__line3,.su-lockup--option-p .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-p .su-lockup__wordmark{display:block}}.su-lockup--option-p .su-lockup__line1{margin-bottom:-3px;line-height:1em}.su-lockup--option-p .su-lockup__line4{margin-bottom:-3px;line-height:1em}@media(max-width: 767px){.su-lockup--option-p .su-lockup__line4{font-size:2.5rem}.su-lockup--option-p .su-lockup__line4::after{margin-top:.6rem;margin-bottom:.7rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media(max-width: 767px){.su-lockup--option-p .su-lockup__cell2{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-q>a{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.su-lockup--option-q .su-lockup__line2,.su-lockup--option-q .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-q .su-lockup__cell2{-webkit-box-ordinal-group:4;order:3}}@media only screen and (min-width: 768px){.su-lockup--option-q .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line1{margin-left:-2px}}.su-lockup--option-q .su-lockup__line3{font-size:1.8rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line3{line-height:1.15em;margin-left:-2px}}.su-lockup--option-q .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line5{margin-top:.75rem;margin-left:-2px;-webkit-box-ordinal-group:3;order:2}.su-lockup--option-q .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-q .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-r .su-lockup__cell2,.su-lockup--option-r .su-lockup__cell1{border:0}.su-lockup--option-r .su-lockup__line1,.su-lockup--option-r .su-lockup__line2,.su-lockup--option-r .su-lockup__line3,.su-lockup--option-r .su-lockup__line4{display:none}.su-lockup--option-r .su-lockup__line5{font-size:2.1rem}@media(max-width: 767px){.su-lockup--option-r .su-lockup__line5{margin-top:.75rem;margin-left:-2px;font-size:2.6rem}}.su-lockup--option-s .su-lockup__wordmark{display:block}.su-lockup--option-s .su-lockup__line1,.su-lockup--option-s .su-lockup__line2{font-size:2.6rem}@media(max-width: 767px){.su-lockup--option-s .su-lockup__line1,.su-lockup--option-s .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-s .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-s .su-lockup__line3,.su-lockup--option-s .su-lockup__line5{display:none}.su-lockup--option-s .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}.su-lockup--option-s .su-lockup__cell1{padding:0;border:0}.su-lockup--option-s .su-lockup__cell2{padding:0;border:0;width:100%}.su-lockup--option-t .su-lockup__wordmark{display:block}.su-lockup--option-t .su-lockup__line1,.su-lockup--option-t .su-lockup__line2{font-size:2.6rem}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line1,.su-lockup--option-t .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-t .su-lockup__line3{margin:0;font-size:2rem}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line3{margin-top:.3rem;margin-left:-2px;font-size:1.8rem}}.su-lockup--option-t .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}.su-lockup--option-t .su-lockup__line5{display:none}.su-lockup--option-t .su-lockup__cell1{padding:0;border:0}.su-lockup--option-t .su-lockup__cell2{padding:0;border:0;width:100%}.su-global-footer{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#8c1515;color:#fff}@media only screen and (min-width: 0){.su-global-footer{padding-top:2.31rem;padding-bottom:2.31rem}}@media only screen and (min-width: 768px){.su-global-footer{padding-top:2.6rem;padding-bottom:2.6rem}}@media only screen and (min-width: 1500px){.su-global-footer{padding-top:2.74rem;padding-bottom:2.74rem}}.su-global-footer a{color:#fff;text-decoration:none}.su-global-footer a:hover,.su-global-footer a:focus{color:#fff;text-decoration:underline}.su-global-footer nav{margin-bottom:1rem;display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 0 auto;-webkit-box-pack:center;justify-content:center}@media only screen and (min-width: 576px){.su-global-footer nav{display:block;margin-bottom:1.3rem}}.su-global-footer__container{margin:0 auto}@media only screen and (min-width: 0){.su-global-footer__container{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-global-footer__container{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-global-footer__container{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-global-footer__container{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-global-footer__container{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-global-footer__container{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 992px){.su-global-footer__container{display:-webkit-box;display:flex}}.su-global-footer__brand{padding-top:.5rem;text-align:center}@media only screen and (min-width: 0){.su-global-footer__brand{margin-bottom:.8rem}}@media only screen and (min-width: 768px){.su-global-footer__brand{margin-bottom:.9rem}}@media only screen and (min-width: 1500px){.su-global-footer__brand{margin-bottom:.95rem}}.su-global-footer__brand a{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-size:3.4rem}.su-global-footer__brand a:hover,.su-global-footer__brand a:focus{text-decoration:none}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__brand a{font-size:3.2rem}}.su-global-footer__content{-webkit-box-flex:1;flex-grow:1}@media(min-width: 576px)and (max-width: 991px){.su-global-footer__content{text-align:center}}@media only screen and (min-width: 992px){.su-global-footer__content{padding-left:4.5rem}}@media only screen and (min-width: 1200px){.su-global-footer__content{padding-left:5.2rem}}.su-global-footer__menu{margin:0 0 1rem;padding:0;font-size:1.5rem;list-style-type:none}.su-global-footer__menu li{margin:0;padding:.25em 0;display:block}@media only screen and (min-width: 576px)and (max-width: 767px){.su-global-footer__menu li{margin-right:1rem}}@media only screen and (min-width: 576px){.su-global-footer__menu li{display:inline-block;line-height:1.1}}@media only screen and (min-width: 768px){.su-global-footer__menu li{margin-right:2rem}}@media only screen and (min-width: 992px){.su-global-footer__menu li{margin-right:2.8rem;padding:0;text-align:left}}.su-global-footer__menu li:last-child{margin-right:0}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__menu--global{padding-right:1.9rem}}@media(min-width: 768px)and (max-width: 1499px){.su-global-footer__menu--global{font-size:1.7rem}}@media only screen and (min-width: 1500px){.su-global-footer__menu--global{font-size:1.8rem}}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__menu--policy{padding-left:1.9rem}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-global-footer__menu--policy{font-size:1.4rem}}@media only screen and (min-width: 576px){.su-global-footer__menu--policy a{font-weight:400}}@media(min-width: 768px)and (max-width: 1199px){.su-global-footer__menu--policy{font-size:1.5rem}}@media only screen and (min-width: 1200px){.su-global-footer__menu--policy{font-size:1.6rem}}.su-global-footer__copyright{font-size:1.4rem;text-align:center}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__copyright{font-size:1.34rem}}.su-global-footer__copyright span{white-space:nowrap}@media only screen and (min-width: 992px){.su-global-footer__copyright{text-align:left}}.su-global-footer--bright{background-color:#b1040e}.su-global-footer--dark{background-color:#2e2d29}.su-local-footer{background-color:#f4f4f4}.su-local-footer a{font-weight:400}.su-local-footer ul{margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none}.su-local-footer ul>li{margin-bottom:0}.su-local-footer ul>li{margin-bottom:7px}.su-local-footer .su-signup-form p{font-size:17px}.su-local-footer__header{position:relative}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__header .su-lockup{margin-bottom:3.2rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__header .su-lockup{margin-bottom:3.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__header .su-lockup{margin-bottom:3.8rem}}@media only screen and (min-width: 992px){.su-local-footer__header .su-lockup{float:left}}.su-local-footer__header .su-link--internal{padding:1rem 2rem 1.15rem;background-color:#b1040e;color:#fff;border:1px solid #C6C6C6;box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1);border-radius:7px}.su-local-footer__header .su-link--internal:hover,.su-local-footer__header .su-link--internal:focus{background-color:#2e2d29;color:#fff}.su-local-footer__header .su-link--internal:focus{box-shadow:0 0 3px #4d4f53,0 0 7px #4d4f53}@media(max-width: 991px){.su-local-footer__header .su-link--internal{width:auto}}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__header .su-link--internal{margin-bottom:2.31rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__header .su-link--internal{margin-bottom:2.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__header .su-link--internal{margin-bottom:2.74rem}}@media only screen and (min-width: 992px){.su-local-footer__header .su-link--internal{float:right}}.su-local-footer__header .su-link--internal::after{background-color:#fff}.su-local-footer__header .su-link--internal:hover{border:1px solid #C6C6C6;box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1)}.su-local-footer__columns,.su-local-footer__header{margin:0 auto;clear:both}@media only screen and (min-width: 0){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-local-footer__columns,.su-local-footer__header{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 0){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 576px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 768px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 992px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:36px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:36px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:36px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:36px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 1200px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:40px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:40px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:40px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:40px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 1500px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:48px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:48px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:48px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:48px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 0){.su-local-footer__columns,.su-local-footer__header{padding-top:4rem}}@media only screen and (min-width: 768px){.su-local-footer__columns,.su-local-footer__header{padding-top:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns,.su-local-footer__header{padding-top:4.75rem}}.su-local-footer__columns{-ms-grid-rows:auto;grid-template-rows:auto;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;grid-template-areas:"A B" "C C"}@media only screen and (min-width: 0){.su-local-footer__columns{padding-bottom:4rem}}@media only screen and (min-width: 768px){.su-local-footer__columns{padding-bottom:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns{padding-bottom:4.75rem}}@media only screen and (min-width: 768px){.su-local-footer__columns{display:-ms-grid;display:grid}}@media only screen and (min-width: 992px){.su-local-footer__columns{-ms-grid-columns:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"A B C" "A B C"}}@media only screen and (min-width: 1200px){.su-local-footer__columns{-ms-grid-columns:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:"A B B C"}}.su-local-footer__columns .su-local-footer__cell1,.su-local-footer__columns .su-local-footer__cell2,.su-local-footer__columns .su-local-footer__cell3{vertical-align:top}.su-local-footer__columns .su-local-footer__cell1{-ms-grid-row:1;-ms-grid-column:1;grid-area:A}.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:1;-ms-grid-column:2;grid-area:B}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2{padding-top:4rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2{padding-top:4.5rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2{padding-top:4.75rem}}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.31rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.74rem}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:2;-ms-grid-column:1;-ms-grid-column-span:2;grid-area:C}}.su-local-footer__columns .su-local-footer__cell2 nav{vertical-align:top}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell2 nav{display:inline-block;min-width:calc(49% - 10px);max-width:calc(49% - 10px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:10px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:10px}}@media only screen and (min-width: 1200px){.su-local-footer__columns .su-local-footer__cell2 nav{display:inline-block;min-width:calc(49% - 20px);max-width:calc(49% - 20px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:20px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:20px}}@media only screen and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2 nav{min-width:calc(49% - 24px);max-width:calc(49% - 24px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:24px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:24px}}@media only screen and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.31rem}}@media only screen and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.6rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.74rem}}@media only screen and (min-width: 992px){.su-local-footer__columns>.su-local-footer__cell2{-ms-grid-column-span:2}}.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:2;-ms-grid-column:1;-ms-grid-column-span:2;grid-area:C}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:1;-ms-grid-column:2;grid-area:B}@media only screen and (min-width: 992px){.su-local-footer__columns .su-local-footer__cell1{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:1}.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:3;-ms-grid-column-span:1}.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:3;-ms-grid-column-span:1}.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:1;-ms-grid-row-span:2;-ms-grid-column:2}}@media only screen and (min-width: 1200px){.su-local-footer__columns .su-local-footer__cell1{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:1}.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:2}.su-local-footer__columns .su-local-footer__cell2{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:4;-ms-grid-column-span:1}.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:4;-ms-grid-column-span:1}.su-local-footer__columns .su-local-footer__cell3{-ms-grid-row:1;-ms-grid-row-span:1;-ms-grid-column:2;-ms-grid-column-span:2}}}@media only screen and (min-width: 992px){.su-local-footer__columns>.su-local-footer__cell3{-ms-grid-row:1;-ms-grid-column:3}}@media only screen and (min-width: 1200px){.su-local-footer__columns>.su-local-footer__cell3{-ms-grid-row:1;-ms-grid-column:4}}.su-local-footer__list-heading{font-size:18px;line-height:140%}.su-local-footer__address,.su-local-footer__action-links{font-size:16px}@media only screen and (min-width: 0){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4rem}}@media only screen and (min-width: 768px){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4.75rem}}.su-local-footer__address{line-height:140%}.su-local-footer__action-links a{text-decoration:none;font-weight:600}@supports((-webkit-mask-repeat: no-repeat) or (mask-repeat: no-repeat)){.su-local-footer__action-links a::after{margin-right:.3em;margin-bottom:-0.18em;margin-left:.4em;height:.8em;width:.8em;display:inline-block;content:"";-webkit-mask:url("../img/arrow-right.svg") no-repeat 0 0;mask:url("../img/arrow-right.svg") no-repeat 0 0;-webkit-mask-size:contain;mask-size:contain;background-color:#006cb8;-webkit-transition:-webkit-transform .2s ease-in-out,-webkit-mask-image .2s ease-in-out;transition:-webkit-transform .2s ease-in-out,-webkit-mask-image .2s ease-in-out;transition:transform .2s ease-in-out,mask-image .2s ease-in-out;transition:transform .2s ease-in-out,mask-image .2s ease-in-out,-webkit-transform .2s ease-in-out,-webkit-mask-image .2s ease-in-out}.su-local-footer__action-links a:hover::after,.su-local-footer__action-links a:focus::after{background-color:#2e2d29;-webkit-transform:translateX(0.2em);transform:translateX(0.2em)}}.su-local-footer__primary-links ul li,.su-local-footer__secondary-links ul li{font-size:16px}.su-local-footer__social-links{padding:0;margin:0;list-style-type:none;overflow:hidden}.su-local-footer__social-links>li{display:block;float:left}.su-local-footer__social-links>li:last-child{margin-right:0}.su-local-footer__social-links li{padding-right:18px}.su-local-footer__social-links li:last-child{padding-right:0}.su-local-footer__social-links i{font-size:2.5rem}.su-local-footer__social-links i::before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;color:#2e2d29;font-family:"Font Awesome 5 Brands";-webkit-transition:color .25s ease-out;transition:color .25s ease-out}.su-local-footer__social-links a{text-decoration:none}.su-local-footer__social-links a span{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.su-local-footer__social-links .su-local-footer__social-facebook i::before{content:""}.su-local-footer__social-links .su-local-footer__social-facebook:hover i::before,.su-local-footer__social-links .su-local-footer__social-facebook:focus i::before{color:#3b579d}.su-local-footer__social-links .su-local-footer__social-linkedin i::before{content:""}.su-local-footer__social-links .su-local-footer__social-linkedin:hover i::before,.su-local-footer__social-links .su-local-footer__social-linkedin:focus i::before{color:#0077b5}.su-local-footer__social-links .su-local-footer__social-twitter i::before{content:""}.su-local-footer__social-links .su-local-footer__social-twitter:hover i::before,.su-local-footer__social-links .su-local-footer__social-twitter:focus i::before{color:#1da1f2}.su-local-footer__social-links .su-local-footer__social-instagram i::before{content:""}.su-local-footer__social-links .su-local-footer__social-instagram:hover i::before,.su-local-footer__social-links .su-local-footer__social-instagram:focus i::before{color:#d73676}.su-local-footer__social-links .su-local-footer__social-youtube i::before{content:""}.su-local-footer__social-links .su-local-footer__social-youtube:hover i::before,.su-local-footer__social-links .su-local-footer__social-youtube:focus i::before{color:#cd201f}.su-masthead{box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1);position:relative;background-color:#fff;max-width:100%}.su-masthead>section:last-of-type{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;flex-wrap:wrap;margin:0 auto}@media only screen and (min-width: 0){.su-masthead>section:last-of-type{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-masthead>section:last-of-type{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-masthead>section:last-of-type{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-masthead>section:last-of-type{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-masthead>section:last-of-type{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-masthead>section:last-of-type{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 0){.su-masthead>section:last-of-type{padding-top:2.31rem}}@media only screen and (min-width: 768px){.su-masthead>section:last-of-type{padding-top:2.6rem}}@media only screen and (min-width: 1500px){.su-masthead>section:last-of-type{padding-top:2.74rem}}.su-masthead .su-lockup{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}@media only screen and (min-width: 0){.su-masthead .su-lockup{margin-bottom:1.6rem}}@media only screen and (min-width: 768px){.su-masthead .su-lockup{margin-bottom:1.8rem}}@media only screen and (min-width: 1500px){.su-masthead .su-lockup{margin-bottom:1.9rem}}@media(max-width: 991px){.su-masthead .su-lockup{-webkit-box-flex:0;flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px);z-index:10010}}@media only screen and (min-width: 992px){.su-masthead .su-lockup{-webkit-box-flex:0;flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media(max-width: 991px){.su-masthead .su-site-search{display:none}}@media only screen and (min-width: 992px){.su-masthead .su-site-search{-webkit-box-flex:0;flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}.su-masthead .su-site-search>form{margin-left:auto;width:30rem;max-width:100%}@media(max-width: 991px){.su-masthead .su-site-search>form{width:100%}}@media(max-width: 767px){.su-masthead .su-main-nav{margin-top:-57px}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav{-webkit-box-flex:0;flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px);margin-top:auto}}@media(max-width: 991px){.su-masthead .su-main-nav>ul{box-shadow:0px 10px 20px rgba(0, 0, 0, 0.15), 0px 6px 6px rgba(0, 0, 0, 0.2)}.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav>.su-site-search{right:0}}@media only screen and (min-width: 992px){.su-masthead .su-main-nav{width:100%}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:40rem}}@media only screen and (min-width: 0)and (max-width: 575px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{-webkit-transform:translateX(20px);transform:translateX(20px)}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{-webkit-transform:translateX(30px);transform:translateX(30px)}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{-webkit-transform:translateX(50px);transform:translateX(50px)}}@media only screen and (min-width: 0)and (max-width: 575px){.su-masthead .su-main-nav,.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:calc(100% + 40px)}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-masthead .su-main-nav,.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:calc(100% + 60px)}}@media(min-width: 992px){.su-masthead--center .su-main-nav>ul{-webkit-box-pack:center;justify-content:center}}.su-masthead--dark{background-color:#2e2d29}.su-masthead--dark .su-lockup__wordmark,.su-masthead--dark .su-lockup__line1,.su-masthead--dark .su-lockup__line2,.su-masthead--dark .su-lockup__line3,.su-masthead--dark .su-lockup__line4,.su-masthead--dark .su-lockup__line5{color:#fff}.su-masthead--dark .su-lockup__cell2{border-color:#fff}@media(min-width: 992px){.su-masthead--right .su-main-nav>ul{-webkit-box-pack:end;justify-content:flex-end}}.su-skiplinks{padding:0;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;background-color:#2e2d29;color:#fff;font-size:.75em;font-weight:400;text-decoration:none;min-height:1px;position:absolute;top:-500px;left:.8em;-webkit-transition-duration:.25s;transition-duration:.25s;-webkit-transition-property:top;transition-property:top;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print{.su-skiplinks{display:none}}.su-skiplinks,.su-skiplinks:hover,.su-skiplinks:visited{height:1px;width:1px;color:#fff;overflow:hidden;white-space:nowrap}.su-skiplinks:active,.su-skiplinks:focus{padding:.4em .8em;height:auto;width:auto;color:#fff;border:1px solid #4d4f53;border-radius:3px;position:fixed;left:.8em;top:.8em;z-index:11222}html{font-size:10px}body{font-weight:400;font-size:1.6rem;line-height:122%}@media(min-width: 992px){body{font-weight:400;font-size:1.8rem;line-height:127%}}.hb-local-footer a:not([class]):focus,.hb-local-footer a:not([class]):hover{background-image:none}.hb-local-footer a[href*="//"][data-extlink]:focus,.hb-local-footer a[href*="//"][data-extlink]:hover{background-image:none}h6:not([class]){text-transform:uppercase}p:not([class]){margin-top:0}p:not([class]):last-of-type{margin-bottom:0}strong:not([class]){font-weight:600;font-size:inherit}em:not([class]){font-style:italic;font-weight:inherit;font-size:inherit}blockquote:not([class]){font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}blockquote:not([class])::before{position:absolute;content:open-quote;margin-left:-10px}blockquote:not([class])::after{position:absolute;content:close-quote;margin-right:10px}caption:not([class]){font-size:1.4rem}button:not([class]):hover{cursor:pointer}label{display:block;width:100%;margin-bottom:1.2rem;font-weight:600}input{line-height:1;font-size:1.6rem;padding:8px;min-height:38px;width:100%}.hb-table-wrap{margin:auto;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:1.3rem;text-align:left;border:1px solid}@media(min-width: 576px){table{font-size:1.6rem}}table th,table td{padding:1.6rem;vertical-align:top;border:1px solid}table thead th{position:-webkit-sticky;position:sticky;top:0}table thead th a:hover,table thead th a:focus{box-shadow:none}table thead tr{text-transform:uppercase}details{margin:1.6rem 0}summary{padding:1.6rem;position:relative;font-weight:600;cursor:pointer;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}summary::-webkit-details-marker{display:block;height:0;width:0;overflow:hidden}summary::after{content:"";display:block;height:2rem;width:2rem;position:absolute;top:1.8rem;right:1.8rem;background-repeat:no-repeat;background-size:contain;background-position:center}summary a{color:inherit;text-decoration:none}.revealed-details{padding:2rem 1.6rem}.hb-page-width{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-page-width{width:calc(100% - (2 * 4.8rem)) !important}}.hb-vertical-page-padding{margin:4.8rem auto !important}.layout-builder__message{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.layout-builder__message{width:calc(100% - (2 * 4.8rem)) !important}}.layout-builder-form .form-actions{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.layout-builder-form .form-actions{width:calc(100% - (2 * 4.8rem)) !important}}.layout-builder-form .form-actions .button{width:auto}.block-help{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important;padding-top:4rem}@media(min-width: 768px){.block-help{width:calc(100% - (2 * 4.8rem)) !important}}.ptype-hs-row{margin-bottom:48px}.hb-three-column-w-image{display:-webkit-box;display:flex;flex-wrap:wrap}@media(min-width: 992px){.hb-three-column-w-image{flex-wrap:nowrap}}.hb-three-column-w-image:not(.hs-full-width){max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-three-column-w-image:not(.hs-full-width){width:calc(100% - (2 * 4.8rem)) !important}}.hb-three-column-w-image--no-sidebar:not(.hs-full-width){max-width:80rem !important}.hb-three-column-w-image__sidebar-1{width:100%}@media(min-width: 992px){.hb-three-column-w-image__sidebar-1{width:22.5%;margin-right:4rem}}@media(min-width: 1200px){.hb-three-column-w-image__sidebar-1{margin-right:4.8rem}}.hb-three-column-w-image__main{width:100%;margin-bottom:4.8rem}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main,.hb-three-column-w-image--two-sidebar .hb-three-column-w-image__main{width:100%;margin-bottom:0}.hb-three-column-w-image--two-sidebar .hb-three-column-w-image__main{width:calc(100% - 45% - 2 * 3.6rem)}}.hb-three-column-w-image__main-top{display:-webkit-box;display:flex;flex-wrap:wrap;-webkit-box-align:start;align-items:flex-start}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main-top{flex-wrap:nowrap}}@media(min-width: 768px){.hb-three-column-w-image--no-sidebar .hb-three-column-w-image__main-top{flex-wrap:nowrap}}.hb-three-column-w-image__main-top-text{width:100%;margin-bottom:1.6rem}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main-top-text{width:60%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}@media(min-width: 768px){.hb-three-column-w-image--no-sidebar .hb-three-column-w-image__main-top-text{width:60%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}}.hb-three-column-w-image__main-top-image{width:100%}.hb-three-column-w-image__main-top-image.align-right,.hb-three-column-w-image__main-top-image.align-left{margin:0 0 1.6rem}@media(min-width: 768px){.hb-three-column-w-image__main-top-image.align-right,.hb-three-column-w-image__main-top-image.align-left{margin-bottom:4.8rem}}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main-top-image{width:40%;margin-left:2rem}}@media(min-width: 768px){.hb-three-column-w-image--no-sidebar .hb-three-column-w-image__main-top-image{width:40%;margin-left:2rem}}.hb-three-column-w-image__main-top-image img{display:block}@supports((-o-object-fit: cover) or (object-fit: cover)){.hb-three-column-w-image__main-top-image img{-o-object-fit:cover;object-fit:cover;width:100%;max-height:37.5rem}@media(min-width: 768px){.hb-three-column-w-image__main-top-image img{max-height:25rem}}}.hb-three-column-w-image--no-sidebar:not(.hs-full-width) .hb-three-column-w-image__main-body{max-width:78.4rem}.hb-three-column-w-image__sidebar-2{width:100%;margin-left:0}@media(min-width: 768px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__sidebar-2{width:22.5%;margin-left:3.6rem}}@media(min-width: 992px){.hb-three-column-w-image__sidebar-2{width:22.5%;margin-left:4rem}}@media(min-width: 1200px){.hb-three-column-w-image__sidebar-2{margin-left:4.8rem}}.hb-three-column{display:-webkit-box;display:flex;flex-wrap:wrap}@media(min-width: 992px){.hb-three-column{flex-wrap:nowrap}}.hb-three-column:not(.hs-full-width){max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-three-column:not(.hs-full-width){width:calc(100% - (2 * 4.8rem)) !important}}.hb-three-column__sidebar-1{width:100%}@media(min-width: 992px){.hb-three-column__sidebar-1{width:22.5%;margin:0 4.8rem 0 0}}.hb-three-column__main{width:100%}.hb-three-column--no-sidebar:not(.hs-full-width) .hb-three-column__main{max-width:120rem}@media(min-width: 992px){.hb-three-column--one-sidebar .hb-three-column__main,.hb-three-column--two-sidebar .hb-three-column__main{width:calc(100% - 22.5% - 4.8rem)}.hb-three-column--no-sidebar .hb-three-column__main{width:100%;margin-bottom:0}}@media(min-width: 992px){.hb-three-column__main{width:100%;margin-bottom:0}.hb-three-column--two-sidebar .hb-three-column__main{width:calc(100% - 45% - (2 * 4.8rem))}}@media(min-width: 1500px){.hb-three-column--one-sidebar:not(.hs-full-width) .hb-three-column__main{max-width:110rem}}.hb-three-column__sidebar-2{width:100%;margin:0}@media(min-width: 992px){.hb-three-column--one-sidebar .hb-three-column__sidebar-2{width:22.5%;margin:0 0 0 4.8rem}}@media(min-width: 992px){.hb-three-column__sidebar-2{width:22.5%;margin:0 0 0 4.8rem}}.button,a.button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center}.button[data-drupal-selector=edit-reset],a.button[data-drupal-selector=edit-reset]{background-color:transparent;border-color:transparent;border-radius:0;padding:0.4rem 0;line-height:1;min-height:auto}.hb-card{margin-bottom:48px;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}@media(min-width: 768px){.hb-card--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:start;align-items:flex-start}}.hb-card__subcontent{width:100%}@media(min-width: 576px){.hb-card__subcontent{display:-webkit-box;display:flex}.hb-grid--cols-10 .hb-card__subcontent,.hb-grid--cols-11 .hb-card__subcontent,.hb-grid--cols-12 .hb-card__subcontent,.hb-grid--cols-3 .hb-card__subcontent,.hb-grid--cols-4 .hb-card__subcontent,.hb-grid--cols-5 .hb-card__subcontent,.hb-grid--cols-6 .hb-card__subcontent,.hb-grid--cols-7 .hb-card__subcontent,.hb-grid--cols-8 .hb-card__subcontent,.hb-grid--cols-9 .hb-card__subcontent{display:block}}.hb-card__subcontent:not(:last-child){margin-bottom:1.6rem}.hb-card__subcontent-item{font-size:1.6rem}@media(min-width: 576px){.hb-card__subcontent-item{display:-webkit-box;display:flex}}.hb-card__subcontent-item:not(:last-child){margin-bottom:0.4rem}@media(min-width: 576px){.hb-card__subcontent-item:not(:last-child){margin-bottom:0}}@media(min-width: 576px){.hb-card__subcontent-item::after{content:"";margin:0 0.8rem;border-left:1px solid}.hb-grid--cols-10 .hb-card__subcontent-item::after,.hb-grid--cols-11 .hb-card__subcontent-item::after,.hb-grid--cols-12 .hb-card__subcontent-item::after,.hb-grid--cols-3 .hb-card__subcontent-item::after,.hb-grid--cols-4 .hb-card__subcontent-item::after,.hb-grid--cols-5 .hb-card__subcontent-item::after,.hb-grid--cols-6 .hb-card__subcontent-item::after,.hb-grid--cols-7 .hb-card__subcontent-item::after,.hb-grid--cols-8 .hb-card__subcontent-item::after,.hb-grid--cols-9 .hb-card__subcontent-item::after{display:none}}.hb-card__subcontent-item:last-of-type::after{content:"";margin:0;border:0}.hb-card__subcontent-item a{font-weight:600}.hb-card__location{font-size:1.4rem;margin-bottom:1.6rem}@media(min-width: 768px){.hb-card__location{font-size:1.6rem}}.hb-card__highlighted{font-size:1.4rem}@media(min-width: 768px){.hb-card__highlighted{font-size:1.6rem}}.hb-card__highlighted:not(:last-child){margin-bottom:2rem}.hb-card__highlighted .views-label{font-size:1.6rem;font-style:normal;text-transform:inherit;display:inline-block;margin-right:0.6rem}.hb-card__graphics{position:relative;margin-bottom:2rem}.hb-card__img{overflow:hidden}.hb-card__img a{display:block;background-image:none}.hb-card__img a:focus,.hb-card__img a:hover{border-bottom:0 none}.hb-card__img a:focus img,.hb-card__img a:hover img{-webkit-transform:scale(1.07);transform:scale(1.07)}.hb-card__img img{width:100%;height:auto;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform 140ms ease-in-out;transition:-webkit-transform 140ms ease-in-out;transition:transform 140ms ease-in-out;transition:transform 140ms ease-in-out, -webkit-transform 140ms ease-in-out}@media(min-width: 768px){.hb-card--horizontal .hb-card__img{-webkit-box-flex:0;flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px);margin-right:4.8rem;margin-bottom:0}}.hb-card__date-tile{display:inline-block;text-align:center;min-width:10rem;padding:1.2rem 1rem 0.8rem;position:absolute;bottom:1.8rem;left:-1rem}@media(min-width: 576px){.hb-card__date-tile{bottom:2.2rem;left:-1.4rem}}.hb-card__date-tile:only-child{position:initial}.hb-card__date-tile-month{text-transform:uppercase;font-weight:600}.hb-card__date-tile-day{font-size:5.2rem;font-weight:600;line-height:100%}@media(min-width: 768px){.hb-card--horizontal .hb-card__content{-webkit-box-flex:0;flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px);-webkit-box-flex:1;flex-grow:1}@supports(max-width: 100%){.hb-card--horizontal .hb-card__content{max-width:100%}}}.hb-card__title{margin-top:0;margin-bottom:2rem}@media(min-width: 768px){.hb-card__title{margin-bottom:2.4rem}}.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{margin:0;overflow-wrap:break-word}@media(min-width: 576px){.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{font-weight:600;font-size:2.4rem;line-height:124%}}@media(min-width: 768px){.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{font-weight:600;font-size:2.7rem;line-height:119%}}@media(min-width: 992px){.hb-grid .hb-card__title h2,.ptype-hs-row .hb-card__title h2,.hb-grid .hb-card__title h3,.ptype-hs-row .hb-card__title h3,.hb-grid .hb-card__title h4,.ptype-hs-row .hb-card__title h4,.hb-grid .hb-card__title h5,.ptype-hs-row .hb-card__title h5,.hb-grid .hb-card__title h6,.ptype-hs-row .hb-card__title h6{font-weight:600;font-size:2.4rem;line-height:124%}}.hb-card__title h6{text-transform:initial}.hb-card__description{font-weight:400;font-size:1.6rem;line-height:122%}@media(min-width: 992px){.hb-card__description{font-weight:400;font-size:1.8rem;line-height:127%}}.hb-card__description:not(:last-child){margin-bottom:2.4rem}.hb-card__description .views-field:not(:last-child){display:block;margin-bottom:1.6rem}.hb-card__decorative-link{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%}.hb-card__decorative-link .views-field{width:100%;z-index:100}.hb-card__decorative-link a{display:block;color:transparent;height:4.4rem;width:100%;margin-left:-4.4rem;text-decoration:none;z-index:100;background-image:none}.hb-card__decorative-link a:focus,.hb-card__decorative-link a:hover{color:transparent}.hb-card__decorative-link::before{content:"";display:block;height:4.4rem;width:4.4rem}.hb-card__decorative-link:focus,.hb-card__decorative-link:hover{cursor:pointer}.hb-card__decorative-link:focus::before,.hb-card__decorative-link:hover::before{-webkit-transform:translateX(0.625rem);transform:translateX(0.625rem)}.hb-grid{display:-webkit-box;display:flex;-webkit-box-pack:start;justify-content:flex-start;flex-wrap:wrap}.hb-grid__item{margin-bottom:2.4rem;width:100%}@media(min-width: 576px){.hb-grid--cols-2 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-2 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-3 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-3 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-3 .hb-grid__item{width:calc(33.3333333333% - (96px / 3))}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-4 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-4 .hb-grid__item{width:calc(25% - (144px / 4))}.hb-grid--cols-4 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(4n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-5 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-5 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-5 .hb-grid__item{width:calc(20% - (192px / 5))}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(5n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-6 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-6 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-6 .hb-grid__item{width:calc(16.6666666667% - (240px / 6))}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(6n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-7 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-7 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-7 .hb-grid__item{width:calc(14.2857142857% - (288px / 7))}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(7n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-8 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-8 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-8 .hb-grid__item{width:calc(12.5% - (336px / 8))}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(8n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-9 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-9 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-9 .hb-grid__item{width:calc(11.1111111111% - (384px / 9))}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(9n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-10 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-10 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-10 .hb-grid__item{width:calc(10% - (432px / 10))}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(10n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-11 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-11 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-11 .hb-grid__item{width:calc(9.0909090909% - (480px / 11))}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(11n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-12 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-12 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-12 .hb-grid__item{width:calc(8.3333333333% - (528px / 12))}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(12n){margin-right:0}}.su-masthead{box-shadow:none;z-index:100}.su-masthead .su-lockup{z-index:500}.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{word-break:break-all;line-height:1em}.su-masthead .su-lockup__wordmark,.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{margin-bottom:0.8rem}@media(min-width: 768px){.su-masthead .su-lockup__wordmark,.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{margin-bottom:0}}.su-masthead .su-site-search{display:block;padding-top:1.1rem;padding-bottom:2.8rem;z-index:500;width:100%}@media(min-width: 576px){.su-masthead .su-site-search{width:60%}}@media(min-width: 992px){.su-masthead .su-site-search{max-width:265px}}.su-masthead .su-main-nav{margin-top:0;width:100%}@media(min-width: 576px){.su-masthead .su-main-nav{-webkit-box-flex:unset;flex:unset;max-width:none}}.su-lockup__line1{margin-bottom:0.2rem}.field-hs-news-categories{text-transform:uppercase;margin:0 0 0.6rem}.field-hs-news-categories div{display:inline-block;margin-right:1.2rem;margin-bottom:0.5rem}.field-hs-news-categories div:last-of-type{margin-right:0}.field-hs-news-categories a{text-decoration:none;background-image:none}.node-news-item-full .field-hs-news-categories{margin:0 0 2rem}@media(min-width: 576px){.node-news-item-full .field-hs-news-categories{margin-bottom:2.6rem}}.node-news-item-full .views-field-field-hs-news-link,.node-news-item-full .field-hs-news-date,.node-news-item-full .field-hs-news-link{line-height:1.4}.hb-layout-builder-main-content .views-exposed-form{display:-webkit-box;display:flex;-webkit-box-align:end;align-items:flex-end;flex-wrap:wrap;margin-bottom:3.2rem}.hb-layout-builder-main-content .views-exposed-form .form-item{width:100%;margin-bottom:2.4rem}@media(min-width: 768px){.hb-layout-builder-main-content .views-exposed-form .form-item{width:calc(50% - 1.8rem);margin-right:1.8rem}}@media(min-width: 992px){.hb-layout-builder-main-content .views-exposed-form .form-item{width:calc(33% - 1.8rem)}}.hb-layout-builder-main-content .views-exposed-form .form-actions{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;margin-bottom:0}@media(min-width: 768px){.hb-layout-builder-main-content .views-exposed-form .form-actions{margin-bottom:2.4rem}}.hb-layout-builder-main-content .views-exposed-form .form-submit:not(:last-child){margin-right:1.6rem}.chosen-container{width:100% !important}.chosen-container .chosen-drop{font-size:1.6rem}.chosen-container .chosen-results{margin:0;padding:0}.chosen-container .chosen-results li{padding:8px;line-height:122%}.chosen-container .chosen-results li:last-child{border-radius:0 0 4px 4px}.chosen-container .chosen-results li.highlighted{font-weight:600;background-image:none}.chosen-container-single .chosen-single{display:block;background:none !important;box-shadow:none;font-size:1.6rem;line-height:1;height:auto;min-height:38px;padding:0.8rem 48px 0.8rem 0.8rem}.chosen-container-single .chosen-single span{margin-right:0;margin-bottom:-3px;padding-bottom:3px}.chosen-container-single .chosen-single div{width:48px;background-repeat:no-repeat;background-position:center;background-size:1.2rem 0.8rem}.chosen-container-single .chosen-single div b{display:none}.chosen-container-single .chosen-search{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.chosen-container-multi .chosen-choices{display:block;background:none !important;box-shadow:none;font-size:1.6rem;line-height:1;height:auto;max-height:38px;min-height:38px;padding:0 48px 0 0.8rem}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:0;padding:0;font-size:1.6rem;font-family:inherit}.chosen-container-multi .chosen-choices li.search-choice{margin:0.5rem 0.5rem 0.5rem 0;font-family:inherit;background-image:none;box-shadow:none;border-radius:0.4rem;padding:0.6rem 2.2rem 0.6rem 0.6rem;-webkit-transition:100ms ease-in-out;transition:100ms ease-in-out}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{background:none !important;background-size:0 !important;background-repeat:no-repeat !important;top:0;right:0;height:100%;width:100%}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before,.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after{content:"";display:block;height:0.2rem;width:1.2rem;position:absolute;right:4px;top:12px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.chosen-container-multi .chosen-results{margin-top:-0.3rem}.chosen-container-active.chosen-with-drop .chosen-single div{background-repeat:no-repeat;background-position:center;background-size:1.2rem 0.8rem;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.hb-main-nav{position:relative;font-size:1.8rem}.hb-main-nav__toggle{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;cursor:pointer;position:absolute;right:0;top:-12rem;font-weight:700;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:7rem;-webkit-box-orient:initial;-webkit-box-direction:initial;flex-direction:initial;padding:1rem 0}.no-js .hb-main-nav__toggle{display:none}@media(min-width: 992px){.js .hb-main-nav__toggle{display:none}}.hb-main-nav__toggle .hb-main-nav__toggle-icon{display:block;position:relative;height:0.3rem;width:1.6rem;margin-left:1rem}.hb-main-nav__toggle .hb-main-nav__toggle-icon::before,.hb-main-nav__toggle .hb-main-nav__toggle-icon::after{content:"";display:block;height:0.3rem;width:1.6rem;position:absolute;left:0;-webkit-transition:top .2s ease .2s,-webkit-transform .2s ease;transition:top .2s ease .2s,-webkit-transform .2s ease;transition:top .2s ease .2s,transform .2s ease;transition:top .2s ease .2s,transform .2s ease,-webkit-transform .2s ease}.hb-main-nav__toggle .hb-main-nav__toggle-icon::before{top:-0.7rem}.hb-main-nav__toggle .hb-main-nav__toggle-icon::after{top:0.7rem}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon{background:transparent}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::before,.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::after{top:0;-webkit-transition:top .2s ease,-webkit-transform .2s ease .2s;transition:top .2s ease,-webkit-transform .2s ease .2s;transition:top .2s ease,transform .2s ease .2s;transition:top .2s ease,transform .2s ease .2s,-webkit-transform .2s ease .2s}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.hb-main-nav__menu{box-shadow:none !important;-webkit-transform:translate(0) !important;transform:translate(0) !important;width:auto !important;list-style-type:none;margin:0;padding:0}@media(min-width: 576px){.hb-main-nav__menu{max-width:none}}.hb-main-nav__menu[aria-hidden=true]{display:none}.hb-main-nav__menu-lv1{font-weight:600;font-size:2rem}.hb-main-nav__menu-lv1[aria-hidden=false]{margin-bottom:2.8rem}@media(min-width: 768px){.hb-main-nav__menu-lv1{font-size:2.4rem}}@media(min-width: 992px){.js .hb-main-nav__menu-lv1{font-size:1.8rem;font-weight:600;display:-webkit-box;display:flex;-webkit-box-align:end;align-items:flex-end;border:0}.js .hb-main-nav__menu-lv1[aria-hidden=false]{margin:0}}.hb-main-nav__menu-lv2{font-weight:400;font-size:1.8rem}@media(min-width: 768px){.hb-main-nav__menu-lv2{font-size:2.2rem}}@media(min-width: 992px){.hb-main-nav__menu-lv2{box-shadow:0 2px 16px 0 rgba(0,0,0,.1) !important}.js .hb-main-nav__menu-lv2{font-weight:600;font-size:inherit}}@media(min-width: 992px){.js .hb-main-nav__menu-lv3{display:none}}.hb-main-nav__item{position:relative}@media(min-width: 992px){.js .hb-main-nav__menu-lv1>.hb-main-nav__item{margin-right:2.4rem;border:0}}@media(min-width: 992px){.js .hb-main-nav__menu-lv2 .hb-main-nav__item:not(:last-child){border:0}}.hb-main-nav__link{position:relative;display:block;padding:2.1rem 1.7rem;text-decoration:none;line-height:120.3%}@media(min-width: 768px){.hb-main-nav__link{line-height:128%}}@media(min-width: 992px){.js .hb-main-nav__link{padding:1rem 0 2rem;line-height:110%}}.hb-main-nav__item--parent>.hb-main-nav__link{padding:2.1rem 4.8rem 2.1rem 1.7rem}@media(min-width: 992px){.js .hb-main-nav__item--parent>.hb-main-nav__link{padding:1rem 2rem 2rem 0}}@media(min-width: 992px){.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link::before{content:"";display:block;position:absolute;width:100%;height:0.4rem;bottom:0.8rem;top:auto;left:0;background:transparent}.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link.is-active{background-color:transparent}.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link:hover{background-color:transparent}}@media(min-width: 992px){.js .hb-main-nav__menu-lv2 .hb-main-nav__link{font-size:1.6rem;padding:1rem 1.4rem}}.hb-main-nav__link--active-trail::before{content:"";display:block;width:0.5rem;position:absolute;top:0;bottom:0;left:0}.hb-main-nav__link.hb-nested-toggler{position:relative}.hb-main-nav__link.hb-nested-toggler::after{height:4.8rem;width:4.8rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;content:"";display:block;position:absolute;top:0.8rem;right:0}.no-js .hb-main-nav__link.hb-nested-toggler::after{display:none}@media(min-width: 768px){.hb-main-nav__link.hb-nested-toggler::after{top:1.6rem}}@media(min-width: 992px){.js .hb-main-nav__link.hb-nested-toggler::after{height:2rem;width:1.5rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;bottom:2rem;top:auto}}.hb-main-nav__button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;height:4.8rem;width:4.8rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;cursor:pointer;position:absolute;top:0.8rem;right:0}.no-js .hb-main-nav__button{display:none}@media(min-width: 768px){.hb-main-nav__button{top:1.2rem}}@media(min-width: 992px){.js .hb-main-nav__button{height:2rem;width:1.5rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;bottom:2rem;top:auto}.hb-main-nav__menu-lv2 .hb-main-nav__button{display:none}}.hb-main-nav__menu-container{padding-left:2rem}.hb-main-nav__menu-container[aria-hidden=true]{display:none}@media(min-width: 992px){.js .hb-main-nav__menu-container{position:absolute;border-radius:0.4rem;min-width:20rem;width:100%;padding:0}.js .hb-main-nav__item:last-child .hb-main-nav__menu-container{right:0}}.hb-secondary-nav{background-color:transparent;display:none}@media(min-width: 992px){.hb-secondary-nav{display:block}}.hb-secondary-nav__heading{margin:0 0 3.9rem}.hb-secondary-nav__menu{background-color:transparent;list-style-type:none;padding-left:1.6rem;display:none}.no-js .hb-secondary-nav__menu{display:block}.hb-secondary-nav .su-secondary-nav__item--expanded>.hb-secondary-nav__menu{display:block}.hb-secondary-nav__menu-lv1{padding-left:0;display:block}.hb-secondary-nav__menu-lv1>.hb-secondary-nav__item>.hb-secondary-nav__link{font-weight:600}.hb-secondary-nav__item,.hb-secondary-nav__link{font-size:1.6rem}.hb-secondary-nav__item{position:relative}.hb-secondary-nav__item--active-trail>.hb-secondary-nav__link{position:relative;font-weight:600}.hb-secondary-nav__item--parent .hb-secondary-nav__link::after{content:"";display:block}.hb-secondary-nav__link{display:block;padding:1.6rem 4.8rem 1.6rem 1.8rem;text-decoration:none}.hb-secondary-nav__link.is-active{font-weight:600}.hb-secondary-nav__link:hover,.hb-secondary-nav__link:focus{text-decoration:none}.hb-secondary-nav__toggle,.hb-secondary-nav .su-nav-toggle{margin:0;cursor:pointer;font-size:0;font-weight:400;background:transparent;border:0 none;top:1.5rem;right:1.5rem;position:absolute}.hb-secondary-nav__toggle::before,.hb-secondary-nav .su-nav-toggle::before{content:"";background-repeat:no-repeat;background-position:center right;background-size:1.8rem;height:1.8rem;width:1.8rem;display:block;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:-webkit-transform 200ms ease-in-out;transition:-webkit-transform 200ms ease-in-out;transition:transform 200ms ease-in-out;transition:transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out}.hb-secondary-nav__toggle[aria-expanded=true]::before,.hb-secondary-nav .su-nav-toggle[aria-expanded=true]::before{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.views-field-field-hs-person-email{word-break:break-all}.views-field-field-hs-person-email a span{display:none}.views-field-field-hs-course-code{font-size:2rem;font-weight:600;margin-bottom:0.6rem}.views-field-field-hs-course-section-location{font-weight:700}.views-field-field-hs-course-section-st-time,.views-field-field-hs-course-section-end-time{display:inline-block}.views-field-field-hs-course-section-id .field-content{display:inline-block}.hb-card--structured .hb-card__img{margin-bottom:2rem}.hb-card--structured .hb-card__subtitle{font-weight:600;line-height:122%;font-size:1.6rem;margin-bottom:1.3rem}@media(min-width: 992px){.hb-card--structured .hb-card__subtitle{font-size:1.8rem}}.hb-card--structured .hb-card__category .views-field,.hb-card--structured .hb-card__columns .views-field{margin-bottom:1.4rem}@media(min-width: 576px){.hb-card--structured .hb-card__category .views-field,.hb-card--structured .hb-card__columns .views-field{margin-bottom:2.8rem}}.hb-card--structured .hb-card__category{margin-bottom:1.4rem}@media(min-width: 576px){.hb-card--structured .hb-card__category{margin-bottom:2.8rem}}.hb-card--structured .hb-card__category .views-label{margin-bottom:1.4rem}.hb-card--structured .hb-card__columns{display:-webkit-box;display:flex;flex-wrap:wrap}.hb-card--structured .hb-card__columns .views-field{margin-bottom:2.8rem;padding-right:1.1rem;width:100%}@media(min-width: 576px){.hb-card--structured .hb-card__columns .views-field{width:50%}}.su-brand-bar .fa-ext{display:none}.hb-global-footer .fa-ext{display:none}.hb-global-footer .su-global-footer__menu--global{font-weight:600}.su-site-search{position:relative}.su-site-search label{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(100%);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.su-site-search .form-actions{position:relative}.su-site-search input{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:1.2rem 3.6rem 1rem 1.4rem;display:inline-block;height:3.8rem;max-width:100%;border-radius:0.4rem;font-size:1.6rem}.su-site-search input::-webkit-input-placeholder{opacity:1}.su-site-search input::-moz-placeholder{opacity:1}.su-site-search input:-ms-input-placeholder{opacity:1}.su-site-search input::-ms-input-placeholder{opacity:1}.su-site-search input::placeholder{opacity:1}.su-site-search input[type=submit]{margin-top:0;margin-right:0;margin-bottom:0;padding:0;background-color:transparent;background-repeat:no-repeat;background-position:center center;border-width:0;position:absolute;bottom:0;right:1.4rem;width:1.8rem;height:1.5rem;-webkit-transform:scaleX(-1);transform:scaleX(-1);opacity:.6;text-indent:-99999px;overflow:hidden}.su-site-search input[type=submit]:hover,.su-site-search input[type=submit]:active,.su-site-search input[type=submit]:focus{background-color:transparent;opacity:1}.su-site-search input[type=submit]:active,.su-site-search input[type=submit]:focus{box-shadow:none}.hb-local-footer{font-size:1.6rem;padding:4.8rem 0;border-top:1px solid}.hb-local-footer .hb-secondary-nav{display:block}.hb-local-footer .menu{list-style-type:none;margin:0;padding:0}.hb-local-footer .menu-item{margin-bottom:1.4rem;padding-right:1.8rem}@media(min-width: 992px){.hb-local-footer .menu-item{font-size:1.8rem}}.hb-local-footer .block__title,.hb-local-footer .hb-secondary-nav__heading{font-size:1.4rem;font-weight:700;margin:0 0 2rem;text-transform:uppercase}.hs-full-width .field-hs-hero-image{margin:calc(-1 * 4.8rem) 0 4.8rem}.hs-full-width .field-hs-hero-image img{width:100%}.hb-hero-overlay{margin:4.8rem 0 4.8rem}.hs-full-width .hb-hero-overlay{margin:calc(-1 * 4.8rem) 0 4.8rem}.hs-full-width .hb-hero-overlay__image-wrapper .field-hs-hero-image{margin:0}.paragraph--type--hs-carousel .field-hs-hero-image::before{display:none}.ptype-hs-postcard .hb-card__img{flex-shrink:0}.ptype-hs-postcard .hb-card__content{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.ptype-hs-postcard .hb-card__description{margin-bottom:0}.ptype-hs-postcard .hb-card__subcontent{-webkit-box-ordinal-group:3;order:2;margin-bottom:0}.ptype-hs-postcard .hb-card__subcontent-item{width:100%}.ptype-hs-postcard .hb-card__decorative-link::before{display:none}.field-hs-postcard-title h2,.field-hs-postcard-title h3,.field-hs-postcard-title h4,.field-hs-postcard-title h5,.field-hs-postcard-title h6{margin:0;overflow-wrap:break-word}.field-hs-postcard-link{position:relative;width:100%}.field-hs-postcard-link a{display:block;color:transparent;height:4.4rem;text-decoration:none;background-image:none}.field-hs-postcard-link a:hover,.field-hs-postcard-link a:focus{color:transparent;cursor:pointer}.field-hs-postcard-link a:hover::before,.field-hs-postcard-link a:focus::before{-webkit-transform:translateX(0.625rem);transform:translateX(0.625rem)}.field-hs-postcard-link a::before{content:"";position:absolute;left:0;height:4.4rem;width:4.4rem}.field-hs-postcard-link.decanter-button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none}.field-hs-postcard-link.decanter-button:hover,.field-hs-postcard-link.decanter-button:focus{background-color:transparent}.field-hs-postcard-link .fa-ext{display:none}.field-hs-postcard-body{font-weight:400;font-size:1.6rem;line-height:122%;margin-bottom:2.4rem}@media(min-width: 992px){.field-hs-postcard-body{font-weight:400;font-size:1.8rem;line-height:127%}}.more-link{margin-bottom:2rem}.more-link a{font-weight:700;text-decoration:none}.hb-vertical-linked-card{position:relative;margin:2.4rem 0 4.8rem 3.1rem;padding-bottom:2.8rem}.hb-vertical-linked-card__img{margin-top:-2.4rem;overflow:hidden}.hb-vertical-linked-card__img img{width:100%;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}.hb-vertical-linked-card:hover .hb-vertical-linked-card__img img,.hb-vertical-linked-card:focus .hb-vertical-linked-card__img img{-webkit-transform:scale(1.07);transform:scale(1.07)}.hb-vertical-linked-card__title{position:relative;margin:-2.4rem 2rem 0 -3.1rem;padding:2rem 5.4rem 2rem 2rem;font-size:2rem;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;line-height:118%;word-break:break-word}@media(min-width: 576px){.hb-vertical-linked-card__title{font-size:2.4rem}}@media(min-width: 768px){.hb-vertical-linked-card__title{font-size:2.7rem}}@media(min-width: 576px){.hb-grid .hb-vertical-linked-card__title,.ptype-hs-row .hb-vertical-linked-card__title{font-size:2rem;line-height:118%}}@media(min-width: 992px){.hb-grid .hb-vertical-linked-card__title,.ptype-hs-row .hb-vertical-linked-card__title{font-size:2.4rem;line-height:121%}}.hb-vertical-linked-card__title::after{content:"";display:block;height:4.8rem;width:4.8rem;background-repeat:no-repeat;background-position:left;background-size:55%;position:absolute;right:0;bottom:1rem;-webkit-transition:background-position 150ms ease-in-out;transition:background-position 150ms ease-in-out}.hb-vertical-linked-card:hover .hb-vertical-linked-card__title::after,.hb-vertical-linked-card:focus .hb-vertical-linked-card__title::after{background-position:6px}.hb-vertical-linked-card__link::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0}.hb-vertical-linked-card__link .fa-ext{display:none}.hb-vertical-linked-card__description{padding:2rem 2rem 0;font-size:1.6rem;line-height:127%}@media(min-width: 576px){.hb-vertical-linked-card__description{font-size:1.8rem}}.hb-vertical-linked-card__description .field-hs-postcard-body{margin-bottom:0}.block-layout-builder:not(:last-child){margin-bottom:2rem}.block-hs-blocks{padding:2rem 1.8rem}.block-hs-blocks:not(:last-child){margin-bottom:1.8rem}.block__title{margin-top:0;margin-bottom:2rem;width:100%}@media(min-width: 768px){.block__title{font-size:2.7rem;line-height:117%}}.field-label,.views-label{display:block;font-weight:700;font-size:1.5rem;font-style:normal;text-transform:uppercase;margin-bottom:0.4rem}.label-inline{display:-webkit-box;display:flex}.label-inline .field-label{margin-right:0.6rem}.email [class^=fa-]{display:none}.address{margin:0;font-style:italic}.given-name,.family-name{font-weight:600;font-style:normal}.string div div{margin-bottom:0.6rem}.layout-builder-form,.ui-dialog-off-canvas,.block-categories,.layout-builder-discard-changes{font-size:1.6rem}.fa-ext{margin-right:0 !important}.hb-table-pattern{width:100%;border-collapse:collapse;font-size:1.3rem;text-align:left;border:1px solid}@media(min-width: 576px){.hb-table-pattern{font-size:1.6rem}}@media(min-width: 768px){.hb-table-pattern{display:table}}.hb-table-pattern__header{display:none}@media(min-width: 768px){.hb-table-pattern__header{display:table-header-group}}.hb-table-pattern__caption{font-size:1.4rem;padding:2rem 0}@media(min-width: 768px){.hb-table-pattern__caption{font-size:1.6rem;padding:2.8rem 0}}.hb-table-pattern__row{text-transform:uppercase}@media(min-width: 768px){.hb-table-pattern__row{display:table-row}}.hb-table-pattern__row>:nth-child(n){position:-webkit-sticky;position:sticky;top:0;padding:1.6rem;vertical-align:top;border:1px solid}.hb-table-pattern__row>:nth-child(n) a:hover,.hb-table-pattern__row>:nth-child(n) a:focus{box-shadow:none}@media(min-width: 768px){.hb-table-pattern__row>:nth-child(n){display:table-cell}}@media(min-width: 768px){.hb-table-pattern__body{display:table-row-group}}.hb-table-row{padding-bottom:1.4rem}@media(min-width: 768px){.hb-table-row{display:table-row}}.hb-table-row::before{content:"";display:block;height:1.1rem}@media(min-width: 768px){.hb-table-row::before{display:none}}.hb-table-row__column{padding:1.6rem;vertical-align:top;border:1px solid}@media(min-width: 768px){.hb-table-row__column{display:table-cell}}.hb-table-row__column:first-of-type{margin-top:0.4rem}.hb-table-pattern .hb-table-row__column{border:0 none}@media(min-width: 768px){.hb-table-pattern .hb-table-row__column{border:1px solid}}.hb-table-row__column .views-field-body{padding-bottom:2.8rem}.hb-table-row__column .views-field-body .field-content p{font-size:1.3rem;margin:1.4rem 0 1rem}@media(min-width: 576px){.hb-table-row__column .views-field-body .field-content p{font-size:1.6rem}}.hb-table-row__heading{font-weight:700;margin:0 0 0.4rem;text-transform:uppercase}@media(min-width: 576px){.hb-table-row__heading{margin:0 0 0.6rem}}@media(min-width: 768px){.hb-table-row__heading{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}}.hb-table-row__heading--hidden{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.hb-not-layout-builder-main-content{padding-bottom:4.2rem}.hb-not-layout-builder-main-content form{margin-bottom:4.2rem}.hb-not-layout-builder-main-content .form-actions{display:inline-block}.hb-not-layout-builder-main-content .form-item{margin-bottom:2rem}@media(min-width: 576px){.hb-not-layout-builder-main-content .form-item{display:inline-block;margin-right:1.6rem}}.pager__items{list-style:none;margin:1rem 0 0;padding:0;text-align:center}.pager__item{display:inline;font-weight:600;margin:1rem}.pager__item:first-of-type{margin-left:0}.pager__item:last-of-type{margin-right:0}.pager__item a{display:inline-block;padding:0.6rem;border-radius:30px;min-width:3.1rem;text-align:center;text-decoration:none;-webkit-transition:background-color 150ms ease-in-out;transition:background-color 150ms ease-in-out;background-image:none}.pager__item.is-active{display:inline-block;border-radius:30px;padding:0}.pager__item.is-active a:hover{cursor:default;background-color:transparent}.pager__item--first a,.pager__item--last a,.pager__item--previous a,.pager__item--next a{width:auto}.pager__item--first a:focus,.pager__item--first a:hover,.pager__item--last a:focus,.pager__item--last a:hover,.pager__item--previous a:focus,.pager__item--previous a:hover,.pager__item--next a:focus,.pager__item--next a:hover{background-color:transparent;text-decoration:underline}.hb-heading-6{text-transform:uppercase}.hb-body-small{font-weight:400;font-size:1.6rem;line-height:122%}.hb-body-medium{font-weight:400;font-size:1.8rem;line-height:127%}.hb-local-footer .hb-link-inline:focus,.hb-local-footer .hb-link-inline:hover{background-image:none}.hb-highlighted-label .field-label{font-size:1.6rem;font-style:normal;text-transform:inherit}.hb-subtitle{font-weight:600;line-height:122%;font-size:1.6rem}@media(min-width: 992px){.hb-subtitle{font-size:1.8rem}}.hb-blockquote::after,.hb-blockquote::before{content:""}.hb-blockquote>p,.hb-blockquote>div{font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}.hb-blockquote>p::before,.hb-blockquote>div::before{position:absolute;content:open-quote;margin-left:-10px}.hb-blockquote>p::after,.hb-blockquote>div::after{position:absolute;content:close-quote;margin-right:10px}.fa,.fab,.fal,.far,.fas{-webkit-transition:125ms color ease-out;transition:125ms color ease-out}a.fa,a.fab,a.fal,a.far,a.fas,a>.fa,a>.fab,a>.fal,a>.far,a>.fas{text-decoration:none}.fa-fw.fa-border{box-sizing:content-box}.field-hs-text-area{margin-bottom:4.8rem}.field-hs-text-area p a[href^=http]:not([class]){margin-right:0.2rem}.hb-local-footer .field-hs-text-area p a[href^=http]:not([class]):focus,.hb-local-footer .field-hs-text-area p a[href^=http]:not([class]):hover{background-image:none}.field-hs-text-area a:not([href]):not([class]){border-bottom:0;-webkit-transition:none;transition:none;background-image:none}.hs-credits{font-size:1.4rem;font-style:italic}.hs-font-lead{font-size:1.8rem;font-weight:400;line-height:127%}@media(min-width: 992px){.hs-font-lead{font-size:2rem}}.hs-caption{font-size:1.4rem}.hs-short-line-length{max-width:70rem}.hs-button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.6rem;text-decoration:none;padding:0.4rem 2rem}.hs-button--big{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.8rem;text-decoration:none;padding:0.8rem 2rem}.hs-secondary-button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.6rem;text-decoration:none;padding:0.4rem 2rem;background-color:transparent}.hs-secondary-button:active,.hs-secondary-button:focus{background-color:transparent}.hb-local-footer .hs-more-link:focus,.hb-local-footer .hs-more-link:hover{background-image:none}.hs-external-link{margin-right:0.2rem}.hb-local-footer .hs-external-link:focus,.hb-local-footer .hs-external-link:hover{background-image:none}.hs-table--borderless thead th{border:0}.hs-table--borderless td{border-left:0;border-right:0}.emphasized-text{font-style:italic;font-weight:inherit;font-size:inherit}.align-right{margin:2.8rem 0 2.8rem 2.8rem}.align-left{margin:2.8rem 2.8rem 2.8rem 0}.align-center img{margin:2.8rem auto}blockquote:nth-child(n)::after,blockquote:nth-child(n)::before{content:""}.hb-local-footer blockquote:nth-child(n){margin:0 0 2rem}blockquote:nth-child(n) p{font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}blockquote:nth-child(n) p::before{position:absolute;content:open-quote;margin-left:-10px}blockquote:nth-child(n) p::after{position:absolute;content:close-quote;margin-right:10px}li.cke_panel_listItem a:hover,li.cke_panel_listItem a:focus{box-shadow:initial}.contextual-region.paragraph .contextual{right:0px}.contextual-region.paragraph .contextual-region .contextual{right:32px}.contextual-region.paragraph .contextual-region .contextual-region .contextual{right:64px}.contextual-region.paragraph .contextual-region .contextual-region .contextual-region .contextual{right:96px}.contextual-region.paragraph .contextual-region .contextual-region .contextual-region .contextual-region .contextual{right:128px}.contextual-links a:hover,.contextual-links a:focus{box-shadow:initial}.hb-local-footer--dark .contextual-links a:hover,.hb-local-footer--dark .contextual-links a:focus{color:#000 !important}.block--local-tasks{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important;margin-bottom:4rem !important;border-bottom:2px solid #0678be}@media(min-width: 768px){.block--local-tasks{width:calc(100% - (2 * 4.8rem)) !important}}.block--local-tasks .tabs{margin:4rem 0 0;padding:0}.block--local-tasks .tabs__tab{display:inline-block;background-color:#eaf6fd;list-style-type:none;padding:0.8rem 1.2rem;margin-top:0.4rem;font-size:1.5rem;-webkit-transition:background-color 250ms ease-in-out;transition:background-color 250ms ease-in-out}.block--local-tasks .tabs__tab a{color:#000;text-decoration:none;background-image:none}.block--local-tasks .tabs__tab--active{background-color:#0678be}.block--local-tasks .tabs__tab--active a{color:#fff}.block--local-tasks .tabs__tab:hover:not(.tabs__tab--active){background-color:#d1eafa}.hb-position-relative{position:relative}.hb-columns{display:-webkit-box;display:flex;flex-wrap:wrap}.hb-columns>div{width:50%;padding-right:1.1rem}.hb-inline,.hb-inline-pipe{margin-bottom:2rem}.hb-inline-pipe>div{padding-right:0}@media(min-width: 576px){.hb-inline-pipe>div{display:-webkit-box;display:flex}}@media(min-width: 576px){.hb-inline-pipe>div::after{margin:0 1rem;content:"|"}}.hb-inline-pipe>div:last-child{margin-bottom:2rem}@media(min-width: 576px){.hb-inline-pipe>div:last-child{margin-bottom:initial}}.hb-inline-pipe>div:last-child::after{content:""}.hb-well{padding:2rem 1.8rem;border:0 none}.hb-divider{width:100%}.hb-borderless{border:0 none;padding:0}.hb-categories.entity-reference div div:not([class]){text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories.string div div{text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories.label-hidden>div:not([class]){text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories ol,.hb-categories ul{list-style-type:none;padding:0;margin:0 0 1rem}.hb-categories ol li,.hb-categories ul li{text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-pill-link-list ol,.hb-pill-link-list ul,.hb-pill-list ol,.hb-pill-list ul{padding:0;margin:0}.hb-pill-link-list li,.hb-pill-list li{display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list li::before,.hb-pill-list li::before{display:none}.hb-pill-link-list div:not([class])>div:not([class]),.hb-pill-list div:not([class])>div:not([class]){display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list.label-hidden>div:not([class]),.hb-pill-list.label-hidden>div:not([class]){display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list a{background-image:none !important;color:inherit !important}.hb-pill-link-list a .fa-ext::after{height:1.1rem;margin-bottom:0}.hc-pairing-ocean{--palette--primary: #00505c;--palette--secondary: #148762;--palette--tertiary: #007c8f;--palette--primary-hero-overlay: rgba(0, 36, 41, 0.97);--palette--primary-dark: #002429;--palette--secondary-active: #00ce9d;--palette--secondary-highlight: #e4f4ee;--palette--secondary-highlight-darken: #9cd6c0;--palette--secondary-darken-12: #0c523b;--palette--tertiary-highlight: #c2f7ff;--palette--tertiary-highlight-darken-10: #8ff0ff;--palette--tertiary-reversed: #00d5f5;--palette--tertiary-reversed-darken-10: #00a9c2;--palette--tertiary-darken-20: #002429}.hc-pairing-mountain{--palette--primary: #64305f;--palette--secondary: #00638e;--palette--tertiary: #148762;--palette--primary-hero-overlay: rgba(100, 48, 95, 0.97);--palette--primary-dark: #64305f;--palette--secondary-active: #0098db;--palette--secondary-highlight: #d5effe;--palette--secondary-highlight-darken: #71c9fc;--palette--secondary-darken-12: #003851;--palette--tertiary-highlight: #befde5;--palette--tertiary-highlight-darken-10: #8dfbd1;--palette--tertiary-reversed: #74fbc7;--palette--tertiary-reversed-darken-10: #42fab3;--palette--tertiary-darken-20: #072e22}.hc-pairing-sand{--palette--primary: #600e0e;--palette--secondary: #85703e;--palette--tertiary: #413e39;--palette--primary-hero-overlay: rgba(96, 14, 14, 0.97);--palette--primary-dark: #600e0e;--palette--secondary-active: #b3995d;--palette--secondary-highlight: #f4ecd7;--palette--secondary-highlight-darken: #dec687;--palette--secondary-darken-12: #5b4d2b;--palette--tertiary-highlight: #f1f0ee;--palette--tertiary-highlight-darken-10: #dad7d2;--palette--tertiary-reversed: #d9d7d2;--palette--tertiary-reversed-darken-10: #b4c0b8;--palette--tertiary-darken-20: #0b0a09}.ht-pairing-default{--palette--primary: #8c1515;--palette--secondary: #b3995d;--palette--tertiary: #b1040e}.ht-pairing-light{--palette--primary: #2f2424;--palette--secondary: #b3995d;--palette--tertiary: #8c1515} \ No newline at end of file +/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */@import"https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i";@import"https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600,700";@import"https://fonts.googleapis.com/css?family=Roboto+Slab:300,400,700";@import"https://fonts.googleapis.com/css?family=Kalam:300,400,700";@import"https://fonts.googleapis.com/css?family=Noto+Sans:400,400i,700,700i&subset=devanagari";html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.su-local-footer__header .su-link--internal{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;cursor:pointer;display:inline-block;border:0;font-size:2rem;font-weight:400;line-height:1;text-align:center;text-decoration:none;width:100%;transition:background-color .25s ease-in-out,color .25s ease-in-out}.su-local-footer__header .su-link--internal a{font-weight:400;text-decoration:none}@media only screen and (min-width: 576px){.su-local-footer__header .su-link--internal{width:auto}}.su-local-footer__header .su-link--internal:active,.su-local-footer__header .su-link--internal:focus,.su-local-footer__header .su-link--internal:hover{text-decoration:underline}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot");src:url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2") format("woff2"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff") format("woff"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf") format("truetype"),url("@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg#fontawesome") format("svg")}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot");src:url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2") format("woff2"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff") format("woff"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf") format("truetype"),url("@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg#fontawesome") format("svg")}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-extralight-webfont.woff") format("woff");font-style:normal;font-weight:200}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-extralightitalic-webfont.woff") format("woff");font-style:italic;font-weight:200}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-light-webfont.woff") format("woff");font-style:normal;font-weight:300}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-lightitalic-webfont.woff") format("woff");font-style:italic;font-weight:300}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-regularitalic-webfont.woff") format("woff");font-style:italic;font-weight:400}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-semibolditalic-webfont.woff") format("woff");font-style:italic;font-weight:600}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-bolditalic-webfont.woff") format("woff");font-style:italic;font-weight:700}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-black-webfont.woff") format("woff");font-style:normal;font-weight:900}@font-face{font-family:"Source Serif Pro";src:url("https://www-media.stanford.edu/assets/fonts/sourceserifpro-blackitalic-webfont.woff") format("woff");font-style:italic;font-weight:900}@font-face{font-family:"Stanford";src:url("https://www-media.stanford.edu/assets/fonts/stanford.woff") format("woff"),url("https://www-media.stanford.edu/assets/fonts/stanford.ttf") format("truetype");font-weight:300}.su-aspect-ratio{position:relative}.su-aspect-ratio::before{display:block;content:"";width:100%;padding-top:56.25%}.su-aspect-ratio>img,.su-aspect-ratio>video{object-fit:cover}.su-aspect-ratio>*{position:relative;z-index:5}.su-aspect-ratio>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-aspect-ratio--4x3{position:relative}.su-aspect-ratio--4x3::before{display:block;content:"";width:100%;padding-top:75%}.su-aspect-ratio--4x3>img,.su-aspect-ratio--4x3>video{object-fit:cover}.su-aspect-ratio--4x3>*{position:relative;z-index:5}.su-aspect-ratio--4x3>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-aspect-ratio--1x1{position:relative}.su-aspect-ratio--1x1::before{display:block;content:"";width:100%;padding-top:100%}.su-aspect-ratio--1x1>img,.su-aspect-ratio--1x1>video{object-fit:cover}.su-aspect-ratio--1x1>*{position:relative;z-index:5}.su-aspect-ratio--1x1>*:first-child{position:absolute;z-index:1;width:100%;height:100%;left:0;bottom:0}.su-sr-only-element{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.su-sr-only-text{overflow:hidden;text-indent:101%;white-space:nowrap}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{background-color:#fff;overflow-x:hidden}.lt-ie9 *{filter:none !important}[hidden]{display:none !important}figure{margin:0}img{margin:0;padding:0;display:block;height:auto;max-width:100%}.su-embed-container{padding-bottom:56.25%;position:relative;height:0;overflow:hidden;max-width:100%}.su-embed-container iframe,.su-embed-container object,.su-embed-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.su-local-footer__header .su-link--internal{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;cursor:pointer;display:inline-block;border:0;font-size:2rem;font-weight:400;line-height:1;text-align:center;text-decoration:none;width:100%;transition:background-color .25s ease-in-out,color .25s ease-in-out}.su-local-footer__header .su-link--internal a{font-weight:400;text-decoration:none}@media only screen and (min-width: 576px){.su-local-footer__header .su-link--internal{width:auto}}.su-local-footer__header .su-link--internal:active,.su-local-footer__header .su-link--internal:focus,.su-local-footer__header .su-link--internal:hover{text-decoration:underline}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body{background-color:#fff;overflow-x:hidden}.lt-ie9 *{filter:none !important}[hidden]{display:none !important}.flex-container{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.flex-container--collapse{margin-top:0;margin-bottom:0}@media only screen and (min-width: 576px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 768px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 992px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 1200px){.flex-container--collapse{margin-top:0;margin-bottom:0}}@media only screen and (min-width: 1500px){.flex-container--collapse{margin-top:0;margin-bottom:0}}.flex-container--row-gap>*{margin:0 0 20px}@media only screen and (min-width: 576px){.flex-container--row-gap>*{margin:0 0 20px}}@media only screen and (min-width: 768px){.flex-container--row-gap>*{margin:0 0 20px}}@media only screen and (min-width: 992px){.flex-container--row-gap>*{margin:0 0 36px}}@media only screen and (min-width: 1200px){.flex-container--row-gap>*{margin:0 0 40px}}@media only screen and (min-width: 1500px){.flex-container--row-gap>*{margin:0 0 48px}}.flex-2xl-12-of-12,.flex-2xl-11-of-12,.flex-2xl-10-of-12,.flex-2xl-9-of-12,.flex-2xl-8-of-12,.flex-2xl-7-of-12,.flex-2xl-6-of-12,.flex-2xl-5-of-12,.flex-2xl-4-of-12,.flex-2xl-3-of-12,.flex-2xl-2-of-12,.flex-2xl-1-of-12,.flex-xl-12-of-12,.flex-xl-11-of-12,.flex-xl-10-of-12,.flex-xl-9-of-12,.flex-xl-8-of-12,.flex-xl-7-of-12,.flex-xl-6-of-12,.flex-xl-5-of-12,.flex-xl-4-of-12,.flex-xl-3-of-12,.flex-xl-2-of-12,.flex-xl-1-of-12,.flex-lg-12-of-12,.flex-lg-11-of-12,.flex-lg-10-of-12,.flex-lg-9-of-12,.flex-lg-8-of-12,.flex-lg-7-of-12,.flex-lg-6-of-12,.flex-lg-5-of-12,.flex-lg-4-of-12,.flex-lg-3-of-12,.flex-lg-2-of-12,.flex-lg-1-of-12,.flex-md-12-of-12,.flex-md-11-of-12,.flex-md-10-of-12,.flex-md-9-of-12,.flex-md-8-of-12,.flex-md-7-of-12,.flex-md-6-of-12,.flex-md-5-of-12,.flex-md-4-of-12,.flex-md-3-of-12,.flex-md-2-of-12,.flex-md-1-of-12,.flex-sm-12-of-12,.flex-sm-11-of-12,.flex-sm-10-of-12,.flex-sm-9-of-12,.flex-sm-8-of-12,.flex-sm-7-of-12,.flex-sm-6-of-12,.flex-sm-5-of-12,.flex-sm-4-of-12,.flex-sm-3-of-12,.flex-sm-2-of-12,.flex-sm-1-of-12,.flex-xs-12-of-12,.flex-12-of-12,.flex-xs-11-of-12,.flex-11-of-12,.flex-xs-10-of-12,.flex-10-of-12,.flex-xs-9-of-12,.flex-9-of-12,.flex-xs-8-of-12,.flex-8-of-12,.flex-xs-7-of-12,.flex-7-of-12,.flex-xs-6-of-12,.flex-6-of-12,.flex-xs-5-of-12,.flex-5-of-12,.flex-xs-4-of-12,.flex-4-of-12,.flex-xs-3-of-12,.flex-3-of-12,.flex-xs-2-of-12,.flex-2-of-12,.flex-xs-1-of-12,.flex-1-of-12,.flex-auto{position:relative;width:100%;min-height:1px}.flex-auto{flex:0 0 auto;width:auto;max-width:none}@media only screen and (min-width: 0){.flex-push-xs-0{margin-left:0}.flex-push-xs-1{margin-left:8.3333333333%}.flex-push-xs-2{margin-left:16.6666666667%}.flex-push-xs-3{margin-left:25%}.flex-push-xs-4{margin-left:33.3333333333%}.flex-push-xs-5{margin-left:41.6666666667%}.flex-push-xs-6{margin-left:50%}.flex-push-xs-7{margin-left:58.3333333333%}.flex-push-xs-8{margin-left:66.6666666667%}.flex-push-xs-9{margin-left:75%}.flex-push-xs-10{margin-left:83.3333333333%}.flex-push-xs-11{margin-left:91.6666666667%}}@media only screen and (min-width: 576px){.flex-push-sm-0{margin-left:0}.flex-push-sm-1{margin-left:8.3333333333%}.flex-push-sm-2{margin-left:16.6666666667%}.flex-push-sm-3{margin-left:25%}.flex-push-sm-4{margin-left:33.3333333333%}.flex-push-sm-5{margin-left:41.6666666667%}.flex-push-sm-6{margin-left:50%}.flex-push-sm-7{margin-left:58.3333333333%}.flex-push-sm-8{margin-left:66.6666666667%}.flex-push-sm-9{margin-left:75%}.flex-push-sm-10{margin-left:83.3333333333%}.flex-push-sm-11{margin-left:91.6666666667%}}@media only screen and (min-width: 768px){.flex-push-md-0{margin-left:0}.flex-push-md-1{margin-left:8.3333333333%}.flex-push-md-2{margin-left:16.6666666667%}.flex-push-md-3{margin-left:25%}.flex-push-md-4{margin-left:33.3333333333%}.flex-push-md-5{margin-left:41.6666666667%}.flex-push-md-6{margin-left:50%}.flex-push-md-7{margin-left:58.3333333333%}.flex-push-md-8{margin-left:66.6666666667%}.flex-push-md-9{margin-left:75%}.flex-push-md-10{margin-left:83.3333333333%}.flex-push-md-11{margin-left:91.6666666667%}}@media only screen and (min-width: 992px){.flex-push-lg-0{margin-left:0}.flex-push-lg-1{margin-left:8.3333333333%}.flex-push-lg-2{margin-left:16.6666666667%}.flex-push-lg-3{margin-left:25%}.flex-push-lg-4{margin-left:33.3333333333%}.flex-push-lg-5{margin-left:41.6666666667%}.flex-push-lg-6{margin-left:50%}.flex-push-lg-7{margin-left:58.3333333333%}.flex-push-lg-8{margin-left:66.6666666667%}.flex-push-lg-9{margin-left:75%}.flex-push-lg-10{margin-left:83.3333333333%}.flex-push-lg-11{margin-left:91.6666666667%}}@media only screen and (min-width: 1200px){.flex-push-xl-0{margin-left:0}.flex-push-xl-1{margin-left:8.3333333333%}.flex-push-xl-2{margin-left:16.6666666667%}.flex-push-xl-3{margin-left:25%}.flex-push-xl-4{margin-left:33.3333333333%}.flex-push-xl-5{margin-left:41.6666666667%}.flex-push-xl-6{margin-left:50%}.flex-push-xl-7{margin-left:58.3333333333%}.flex-push-xl-8{margin-left:66.6666666667%}.flex-push-xl-9{margin-left:75%}.flex-push-xl-10{margin-left:83.3333333333%}.flex-push-xl-11{margin-left:91.6666666667%}}@media only screen and (min-width: 1500px){.flex-push-2xl-0{margin-left:0}.flex-push-2xl-1{margin-left:8.3333333333%}.flex-push-2xl-2{margin-left:16.6666666667%}.flex-push-2xl-3{margin-left:25%}.flex-push-2xl-4{margin-left:33.3333333333%}.flex-push-2xl-5{margin-left:41.6666666667%}.flex-push-2xl-6{margin-left:50%}.flex-push-2xl-7{margin-left:58.3333333333%}.flex-push-2xl-8{margin-left:66.6666666667%}.flex-push-2xl-9{margin-left:75%}.flex-push-2xl-10{margin-left:83.3333333333%}.flex-push-2xl-11{margin-left:91.6666666667%}}@media only screen and (min-width: 576px){.flex-1-of-12{flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 768px){.flex-1-of-12{flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-1-of-12{flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-1-of-12{flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 576px){.flex-2-of-12{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 768px){.flex-2-of-12{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-2-of-12{flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-2-of-12{flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 576px){.flex-3-of-12{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 768px){.flex-3-of-12{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-3-of-12{flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-3-of-12{flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 576px){.flex-4-of-12{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 768px){.flex-4-of-12{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-4-of-12{flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-4-of-12{flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 576px){.flex-5-of-12{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 768px){.flex-5-of-12{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-5-of-12{flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-5-of-12{flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 576px){.flex-6-of-12{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 768px){.flex-6-of-12{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-6-of-12{flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-6-of-12{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 576px){.flex-7-of-12{flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 768px){.flex-7-of-12{flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-7-of-12{flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-7-of-12{flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 576px){.flex-8-of-12{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 768px){.flex-8-of-12{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-8-of-12{flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-8-of-12{flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 576px){.flex-9-of-12{flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 768px){.flex-9-of-12{flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-9-of-12{flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-9-of-12{flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 576px){.flex-10-of-12{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 768px){.flex-10-of-12{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-10-of-12{flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-10-of-12{flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 576px){.flex-11-of-12{flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 768px){.flex-11-of-12{flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-11-of-12{flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-11-of-12{flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 0){.flex-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 576px){.flex-sm-1-of-12{flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-1-of-12{flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-1-of-12{flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-sm-1-of-12{flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 576px){.flex-sm-2-of-12{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-2-of-12{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-2-of-12{flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-sm-2-of-12{flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 576px){.flex-sm-3-of-12{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 768px){.flex-sm-3-of-12{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-sm-3-of-12{flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-sm-3-of-12{flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-sm-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 576px){.flex-sm-4-of-12{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-4-of-12{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-4-of-12{flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-sm-4-of-12{flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 576px){.flex-sm-5-of-12{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-5-of-12{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-5-of-12{flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-sm-5-of-12{flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 576px){.flex-sm-6-of-12{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 768px){.flex-sm-6-of-12{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-sm-6-of-12{flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-sm-6-of-12{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-sm-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 576px){.flex-sm-7-of-12{flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-7-of-12{flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-7-of-12{flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-sm-7-of-12{flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 576px){.flex-sm-8-of-12{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-8-of-12{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-8-of-12{flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-sm-8-of-12{flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 576px){.flex-sm-9-of-12{flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 768px){.flex-sm-9-of-12{flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-sm-9-of-12{flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-sm-9-of-12{flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-sm-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 576px){.flex-sm-10-of-12{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 768px){.flex-sm-10-of-12{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-sm-10-of-12{flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-sm-10-of-12{flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-sm-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 576px){.flex-sm-11-of-12{flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 768px){.flex-sm-11-of-12{flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-sm-11-of-12{flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-sm-11-of-12{flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-sm-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 576px){.flex-sm-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 768px){.flex-sm-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-sm-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-sm-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-sm-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 768px){.flex-md-1-of-12{flex:0 0 calc(8.3333333333% - 18.3333333333px);max-width:calc(8.3333333333% - 18.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-1-of-12{flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-md-1-of-12{flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 768px){.flex-md-2-of-12{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-2-of-12{flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-md-2-of-12{flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 768px){.flex-md-3-of-12{flex:0 0 calc(25% - 15px);max-width:calc(25% - 15px)}}@media only screen and (min-width: 992px){.flex-md-3-of-12{flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-md-3-of-12{flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-md-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 768px){.flex-md-4-of-12{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-4-of-12{flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-md-4-of-12{flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 768px){.flex-md-5-of-12{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-5-of-12{flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-md-5-of-12{flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 768px){.flex-md-6-of-12{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px)}}@media only screen and (min-width: 992px){.flex-md-6-of-12{flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-md-6-of-12{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-md-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 768px){.flex-md-7-of-12{flex:0 0 calc(58.3333333333% - 8.3333333333px);max-width:calc(58.3333333333% - 8.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-7-of-12{flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-md-7-of-12{flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 768px){.flex-md-8-of-12{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-8-of-12{flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-md-8-of-12{flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 768px){.flex-md-9-of-12{flex:0 0 calc(75% - 5px);max-width:calc(75% - 5px)}}@media only screen and (min-width: 992px){.flex-md-9-of-12{flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-md-9-of-12{flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-md-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 768px){.flex-md-10-of-12{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px)}}@media only screen and (min-width: 992px){.flex-md-10-of-12{flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-md-10-of-12{flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-md-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 768px){.flex-md-11-of-12{flex:0 0 calc(91.6666666667% - 1.6666666667px);max-width:calc(91.6666666667% - 1.6666666667px)}}@media only screen and (min-width: 992px){.flex-md-11-of-12{flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-md-11-of-12{flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-md-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 768px){.flex-md-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-md-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-md-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-md-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 992px){.flex-lg-1-of-12{flex:0 0 calc(8.3333333333% - 33px);max-width:calc(8.3333333333% - 33px)}}@media only screen and (min-width: 1200px){.flex-lg-1-of-12{flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 992px){.flex-lg-2-of-12{flex:0 0 calc(16.6666666667% - 30px);max-width:calc(16.6666666667% - 30px)}}@media only screen and (min-width: 1200px){.flex-lg-2-of-12{flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 992px){.flex-lg-3-of-12{flex:0 0 calc(25% - 27px);max-width:calc(25% - 27px)}}@media only screen and (min-width: 1200px){.flex-lg-3-of-12{flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-lg-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 992px){.flex-lg-4-of-12{flex:0 0 calc(33.3333333333% - 24px);max-width:calc(33.3333333333% - 24px)}}@media only screen and (min-width: 1200px){.flex-lg-4-of-12{flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 992px){.flex-lg-5-of-12{flex:0 0 calc(41.6666666667% - 21px);max-width:calc(41.6666666667% - 21px)}}@media only screen and (min-width: 1200px){.flex-lg-5-of-12{flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 992px){.flex-lg-6-of-12{flex:0 0 calc(50% - 18px);max-width:calc(50% - 18px)}}@media only screen and (min-width: 1200px){.flex-lg-6-of-12{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-lg-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 992px){.flex-lg-7-of-12{flex:0 0 calc(58.3333333333% - 15px);max-width:calc(58.3333333333% - 15px)}}@media only screen and (min-width: 1200px){.flex-lg-7-of-12{flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 992px){.flex-lg-8-of-12{flex:0 0 calc(66.6666666667% - 12px);max-width:calc(66.6666666667% - 12px)}}@media only screen and (min-width: 1200px){.flex-lg-8-of-12{flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 992px){.flex-lg-9-of-12{flex:0 0 calc(75% - 9px);max-width:calc(75% - 9px)}}@media only screen and (min-width: 1200px){.flex-lg-9-of-12{flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-lg-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 992px){.flex-lg-10-of-12{flex:0 0 calc(83.3333333333% - 6px);max-width:calc(83.3333333333% - 6px)}}@media only screen and (min-width: 1200px){.flex-lg-10-of-12{flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-lg-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 992px){.flex-lg-11-of-12{flex:0 0 calc(91.6666666667% - 3px);max-width:calc(91.6666666667% - 3px)}}@media only screen and (min-width: 1200px){.flex-lg-11-of-12{flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-lg-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 992px){.flex-lg-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-lg-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-lg-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1200px){.flex-xl-1-of-12{flex:0 0 calc(8.3333333333% - 36.6666666667px);max-width:calc(8.3333333333% - 36.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 1200px){.flex-xl-2-of-12{flex:0 0 calc(16.6666666667% - 33.3333333333px);max-width:calc(16.6666666667% - 33.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 1200px){.flex-xl-3-of-12{flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px)}}@media only screen and (min-width: 1500px){.flex-xl-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 1200px){.flex-xl-4-of-12{flex:0 0 calc(33.3333333333% - 26.6666666667px);max-width:calc(33.3333333333% - 26.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 1200px){.flex-xl-5-of-12{flex:0 0 calc(41.6666666667% - 23.3333333333px);max-width:calc(41.6666666667% - 23.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 1200px){.flex-xl-6-of-12{flex:0 0 calc(50% - 20px);max-width:calc(50% - 20px)}}@media only screen and (min-width: 1500px){.flex-xl-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 1200px){.flex-xl-7-of-12{flex:0 0 calc(58.3333333333% - 16.6666666667px);max-width:calc(58.3333333333% - 16.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 1200px){.flex-xl-8-of-12{flex:0 0 calc(66.6666666667% - 13.3333333333px);max-width:calc(66.6666666667% - 13.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 1200px){.flex-xl-9-of-12{flex:0 0 calc(75% - 10px);max-width:calc(75% - 10px)}}@media only screen and (min-width: 1500px){.flex-xl-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 1200px){.flex-xl-10-of-12{flex:0 0 calc(83.3333333333% - 6.6666666667px);max-width:calc(83.3333333333% - 6.6666666667px)}}@media only screen and (min-width: 1500px){.flex-xl-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 1200px){.flex-xl-11-of-12{flex:0 0 calc(91.6666666667% - 3.3333333333px);max-width:calc(91.6666666667% - 3.3333333333px)}}@media only screen and (min-width: 1500px){.flex-xl-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 1200px){.flex-xl-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-xl-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}@media only screen and (min-width: 1500px){.flex-2xl-1-of-12{flex:0 0 calc(8.3333333333% - 44px);max-width:calc(8.3333333333% - 44px)}}@media only screen and (min-width: 1500px){.flex-2xl-2-of-12{flex:0 0 calc(16.6666666667% - 40px);max-width:calc(16.6666666667% - 40px)}}@media only screen and (min-width: 1500px){.flex-2xl-3-of-12{flex:0 0 calc(25% - 36px);max-width:calc(25% - 36px)}}@media only screen and (min-width: 1500px){.flex-2xl-4-of-12{flex:0 0 calc(33.3333333333% - 32px);max-width:calc(33.3333333333% - 32px)}}@media only screen and (min-width: 1500px){.flex-2xl-5-of-12{flex:0 0 calc(41.6666666667% - 28px);max-width:calc(41.6666666667% - 28px)}}@media only screen and (min-width: 1500px){.flex-2xl-6-of-12{flex:0 0 calc(50% - 24px);max-width:calc(50% - 24px)}}@media only screen and (min-width: 1500px){.flex-2xl-7-of-12{flex:0 0 calc(58.3333333333% - 20px);max-width:calc(58.3333333333% - 20px)}}@media only screen and (min-width: 1500px){.flex-2xl-8-of-12{flex:0 0 calc(66.6666666667% - 16px);max-width:calc(66.6666666667% - 16px)}}@media only screen and (min-width: 1500px){.flex-2xl-9-of-12{flex:0 0 calc(75% - 12px);max-width:calc(75% - 12px)}}@media only screen and (min-width: 1500px){.flex-2xl-10-of-12{flex:0 0 calc(83.3333333333% - 8px);max-width:calc(83.3333333333% - 8px)}}@media only screen and (min-width: 1500px){.flex-2xl-11-of-12{flex:0 0 calc(91.6666666667% - 4px);max-width:calc(91.6666666667% - 4px)}}@media only screen and (min-width: 1500px){.flex-2xl-12-of-12{flex:0 0 calc(100% - 0px);max-width:calc(100% - 0px)}}.su-brand-bar{width:100%;height:30px;background-color:#8c1515}.su-brand-bar__container{margin:0 auto}@media only screen and (min-width: 0){.su-brand-bar__container{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-brand-bar__container{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-brand-bar__container{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-brand-bar__container{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-brand-bar__container{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-brand-bar__container{max-width:1500px;width:calc(100% - 200px)}}.su-brand-bar__logo{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:8px;white-space:nowrap;color:#fff;font-size:20px;-ms-grid-column:2}.su-brand-bar__logo:hover,.su-brand-bar__logo:active,.su-brand-bar__logo:focus{color:#fff}.su-brand-bar--bright{background-color:#b1040e}.su-brand-bar--dark{background-color:#2e2d29}.su-brand-bar--white{background-color:#fff}.su-brand-bar--white .su-brand-bar__logo{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;color:#8c1515}@media only screen and (min-width: 768px){.su-lockup,.su-lockup>a{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;vertical-align:bottom}}.su-lockup a{font-weight:400;text-decoration:none}.su-lockup__cell1{min-height:26px;vertical-align:bottom;width:auto}@media only screen and (min-width: 768px){.su-lockup__cell1{margin-right:-1px;padding-right:7px;padding-bottom:0;align-self:flex-end;border-right:solid 1px #2e2d29;display:flex;flex-shrink:1;max-width:160px;min-height:32px}}@media only screen and (min-width: 768px){.su-lockup__cell2{padding-top:0;padding-left:7px;align-self:flex-end;border-left:solid 1px #2e2d29;flex-grow:1;vertical-align:bottom}}.su-lockup__wordmark{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#8c1515;font-size:36px;line-height:17px;vertical-align:bottom}@media only screen and (min-width: 768px){.su-lockup__wordmark{font-size:46px;line-height:21px}}.su-lockup__wordmark-wrapper{line-height:26px}@media only screen and (min-width: 768px){.su-lockup__wordmark-wrapper{line-height:32px}}.su-lockup__line1,.su-lockup__line2,.su-lockup__line3,.su-lockup__line4,.su-lockup__line5{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2e2d29;display:block}.su-lockup__line1{font-size:2.8rem}@media(max-width: 767px){.su-lockup__line1{font-size:2.6rem}}.su-lockup__line2{font-size:2.6rem}.su-lockup__line3{margin-top:.5rem;font-size:2.6rem;font-style:italic}@media(max-width: 767px){.su-lockup__line3{margin:0;font-size:1.9rem}}.su-lockup__line4{margin-top:.5rem;font-size:2.5rem;font-weight:600;letter-spacing:.05rem;line-height:1em;margin-left:-0.2rem;text-transform:uppercase}.su-lockup__line5{font-size:2.7rem;line-height:1em;width:100%}@media only screen and (min-width: 768px){.su-lockup__line5{margin-top:8px;font-size:3rem}}@media(max-width: 767px){.su-lockup--option-a>a{display:flex;flex-direction:column}}.su-lockup--option-a .su-lockup__line2,.su-lockup--option-a .su-lockup__line3,.su-lockup--option-a .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-a .su-lockup__cell2{order:3}}.su-lockup--option-a .su-lockup__line1{line-height:2.6rem}@media(max-width: 767px){.su-lockup--option-a .su-lockup__line1{margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-a .su-lockup__line1{font-size:3.2rem;line-height:.7em}}.su-lockup--option-a .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-a .su-lockup__line5{margin-top:.75rem;margin-left:-2px;order:2}.su-lockup--option-a .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-a .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-b .su-lockup__line3,.su-lockup--option-b .su-lockup__line4,.su-lockup--option-b .su-lockup__line5{display:none}.su-lockup--option-b .su-lockup__line1{margin-bottom:.2em}@media only screen and (min-width: 768px){.su-lockup--option-b .su-lockup__line1{margin-top:-0.4rem;font-size:1.9rem}}@media(max-width: 767px){.su-lockup--option-b .su-lockup__line1{margin-top:.5rem;margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-b .su-lockup__line2{line-height:.7em}@media(max-width: 767px){.su-lockup--option-b .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-c>a{display:flex;flex-direction:column}}.su-lockup--option-c .su-lockup__line3,.su-lockup--option-c .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-c .su-lockup__cell2{margin-left:-2px;order:3}}.su-lockup--option-c .su-lockup__line1{margin-bottom:.2em}@media only screen and (min-width: 768px){.su-lockup--option-c .su-lockup__line1{margin-top:-0.4rem;font-size:1.9rem}}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-c .su-lockup__line2{line-height:.7em}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line2{line-height:2.6rem}}.su-lockup--option-c .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-c .su-lockup__line5{margin-top:.75rem;margin-left:-2px;order:2}.su-lockup--option-c .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-c .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-d .su-lockup__line2,.su-lockup--option-d .su-lockup__line4,.su-lockup--option-d .su-lockup__line5{display:none}@media only screen and (min-width: 576px){.su-lockup--option-d .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-d .su-lockup__line1{margin-top:.5rem;margin-bottom:.2rem;margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-d .su-lockup__line3{font-size:1.8rem;line-height:.7em}}.su-lockup--option-e .su-lockup__line4,.su-lockup--option-e .su-lockup__line5{display:none}@media only screen and (min-width: 576px){.su-lockup--option-e .su-lockup__line1{margin-top:-0.7rem;font-size:2.6rem}}@media(max-width: 767px){.su-lockup--option-e .su-lockup__line1{margin-top:.5rem;margin-left:-2px}}.su-lockup--option-e .su-lockup__line2{line-height:2.6rem}@media(max-width: 767px){.su-lockup--option-e .su-lockup__line2{margin-left:-2px}}.su-lockup--option-e .su-lockup__line3{margin-top:.5rem;font-style:italic}@media only screen and (min-width: 768px){.su-lockup--option-e .su-lockup__line3{margin-top:.8rem;font-size:1.9rem;line-height:.7em}}.su-lockup--option-f .su-lockup__line3,.su-lockup--option-f .su-lockup__line4,.su-lockup--option-f .su-lockup__line5{display:none}.su-lockup--option-f .su-lockup__line1{margin-top:.5rem;margin-bottom:2px}@media only screen and (min-width: 768px){.su-lockup--option-f .su-lockup__line1{margin-top:-0.4rem;font-size:1.3rem}}@media(max-width: 767px){.su-lockup--option-f .su-lockup__line1{margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-f .su-lockup__line2{margin-left:-2px;line-height:.7em}@media(max-width: 767px){.su-lockup--option-f .su-lockup__line2{line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-g>a{display:flex;flex-direction:column}}.su-lockup--option-g .su-lockup__line3,.su-lockup--option-g .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-g .su-lockup__cell2{order:3}}.su-lockup--option-g .su-lockup__line1{margin-top:.5rem;margin-bottom:2px}@media only screen and (min-width: 768px){.su-lockup--option-g .su-lockup__line1{margin-top:-0.4rem;margin-bottom:2px;font-size:1.3rem}}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line1{margin-top:0;margin-bottom:.2rem;margin-left:-2px}}.su-lockup--option-g .su-lockup__line2{margin-left:-2px;line-height:.7em}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line2{line-height:2.6rem}}.su-lockup--option-g .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-g .su-lockup__line5{margin-top:.75rem;order:2}.su-lockup--option-g .su-lockup__line5::after{margin-top:1rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-g .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-h .su-lockup__line2,.su-lockup--option-h .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-h .su-lockup__cell2,.su-lockup--option-h .su-lockup__line4{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-h .su-lockup__wordmark{display:block}}.su-lockup--option-h .su-lockup__line4{margin-bottom:-3px;line-height:.95em}@media(max-width: 767px){.su-lockup--option-h .su-lockup__line4{margin-bottom:4px}.su-lockup--option-h .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}.su-lockup--option-h .su-lockup__line3{margin-top:0;margin-bottom:-3px;font-style:normal;line-height:1em;text-transform:capitalize}@media(max-width: 767px){.su-lockup--option-h .su-lockup__line3{font-size:2.6rem}}.su-lockup--option-i .su-lockup__line2,.su-lockup--option-i .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-i .su-lockup__cell2,.su-lockup--option-i .su-lockup__line4{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-i .su-lockup__wordmark{display:block}}.su-lockup--option-i .su-lockup__line4{margin-bottom:-3px;line-height:.95em}@media(max-width: 767px){.su-lockup--option-i .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}.su-lockup--option-i .su-lockup__line3{line-height:.7em;text-transform:capitalize}@media only screen and (min-width: 768px){.su-lockup--option-i .su-lockup__line3{font-size:1.8rem}}@media(max-width: 767px){.su-lockup--option-i .su-lockup__line3{line-height:1.15em}}@media(max-width: 767px){.su-lockup--option-j>a{display:flex;flex-direction:column}}.su-lockup--option-j .su-lockup__line3,.su-lockup--option-j .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-j .su-lockup__cell2{order:3}}@media only screen and (min-width: 768px){.su-lockup--option-j .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line1{margin-left:-2px}}.su-lockup--option-j .su-lockup__line2{margin-top:.3rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}.su-lockup--option-j .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-j .su-lockup__line5{margin-top:.75rem;margin-left:-2px;order:2}.su-lockup--option-j .su-lockup__line5::after{margin-top:.9rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-j .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-k .su-lockup__line2,.su-lockup--option-k .su-lockup__line3,.su-lockup--option-k .su-lockup__line4{display:none}.su-lockup--option-k .su-lockup__line1{font-size:3.3rem;font-weight:600;line-height:.7em;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-k .su-lockup__line1{margin-top:1.1rem;margin-left:-2px;font-size:2.6rem;line-height:2.6rem}.su-lockup--option-k .su-lockup__line1::after{margin-top:.5rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media(max-width: 767px){.su-lockup--option-k .su-lockup__line5{margin-left:-2px;font-size:2.6rem}}.su-lockup--option-l .su-lockup__line2,.su-lockup--option-l .su-lockup__line3,.su-lockup--option-l .su-lockup__line4,.su-lockup--option-l .su-lockup__line5{display:none}.su-lockup--option-l .su-lockup__line1{font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-l .su-lockup__line1{margin-top:.5rem;margin-left:-2px}}@media only screen and (min-width: 768px){.su-lockup--option-l .su-lockup__line1{font-size:3.3rem;line-height:.7em}}.su-lockup--option-m .su-lockup__line3,.su-lockup--option-m .su-lockup__line4,.su-lockup--option-m .su-lockup__line5{display:none}.su-lockup--option-m .su-lockup__line2{margin-top:.3rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-m .su-lockup__line2{margin-top:0;margin-left:-2px;line-height:2.6rem}}@media only screen and (min-width: 768px){.su-lockup--option-m .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-m .su-lockup__line1{margin-top:4px;margin-left:-2px}}.su-lockup--option-n .su-lockup__line2,.su-lockup--option-n .su-lockup__line3,.su-lockup--option-n .su-lockup__line4,.su-lockup--option-n .su-lockup__line5{display:none}.su-lockup--option-n .su-lockup__line1{line-height:.7em}@media only screen and (min-width: 768px){.su-lockup--option-n .su-lockup__line1{font-size:3.2rem}}@media(max-width: 767px){.su-lockup--option-n .su-lockup__line1{margin-top:.5rem;margin-left:-2px;line-height:2.6rem}}.su-lockup--option-o .su-lockup__cell2,.su-lockup--option-o .su-lockup__cell1{border:0}.su-lockup--option-o .su-lockup__line1,.su-lockup--option-o .su-lockup__line2,.su-lockup--option-o .su-lockup__line3,.su-lockup--option-o .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-o .su-lockup__line4{margin-left:-2px}}.su-lockup--option-p .su-lockup__line2,.su-lockup--option-p .su-lockup__line3,.su-lockup--option-p .su-lockup__line5{display:none}@media(max-width: 767px){.su-lockup--option-p .su-lockup__wordmark{display:block}}.su-lockup--option-p .su-lockup__line1{margin-bottom:-3px;line-height:1em}.su-lockup--option-p .su-lockup__line4{margin-bottom:-3px;line-height:1em}@media(max-width: 767px){.su-lockup--option-p .su-lockup__line4{font-size:2.5rem}.su-lockup--option-p .su-lockup__line4::after{margin-top:.6rem;margin-bottom:.7rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media(max-width: 767px){.su-lockup--option-p .su-lockup__cell2{margin-left:-2px}}@media(max-width: 767px){.su-lockup--option-q>a{display:flex;flex-direction:column}}.su-lockup--option-q .su-lockup__line2,.su-lockup--option-q .su-lockup__line4{display:none}@media(max-width: 767px){.su-lockup--option-q .su-lockup__cell2{order:3}}@media only screen and (min-width: 768px){.su-lockup--option-q .su-lockup__line1{margin-top:-0.7rem}}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line1{margin-left:-2px}}.su-lockup--option-q .su-lockup__line3{font-size:1.8rem;line-height:.7em}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line3{line-height:1.15em;margin-left:-2px}}.su-lockup--option-q .su-lockup__line5{font-size:2rem;font-weight:600;text-transform:uppercase}@media(max-width: 767px){.su-lockup--option-q .su-lockup__line5{margin-top:.75rem;margin-left:-2px;order:2}.su-lockup--option-q .su-lockup__line5::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}}@media only screen and (min-width: 768px){.su-lockup--option-q .su-lockup__line5{font-size:2.1rem}}.su-lockup--option-r .su-lockup__cell2,.su-lockup--option-r .su-lockup__cell1{border:0}.su-lockup--option-r .su-lockup__line1,.su-lockup--option-r .su-lockup__line2,.su-lockup--option-r .su-lockup__line3,.su-lockup--option-r .su-lockup__line4{display:none}.su-lockup--option-r .su-lockup__line5{font-size:2.1rem}@media(max-width: 767px){.su-lockup--option-r .su-lockup__line5{margin-top:.75rem;margin-left:-2px;font-size:2.6rem}}.su-lockup--option-s .su-lockup__wordmark{display:block}.su-lockup--option-s .su-lockup__line1,.su-lockup--option-s .su-lockup__line2{font-size:2.6rem}@media(max-width: 767px){.su-lockup--option-s .su-lockup__line1,.su-lockup--option-s .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-s .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-s .su-lockup__line3,.su-lockup--option-s .su-lockup__line5{display:none}.su-lockup--option-s .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}.su-lockup--option-s .su-lockup__cell1{padding:0;border:0}.su-lockup--option-s .su-lockup__cell2{padding:0;border:0;width:100%}.su-lockup--option-t .su-lockup__wordmark{display:block}.su-lockup--option-t .su-lockup__line1,.su-lockup--option-t .su-lockup__line2{font-size:2.6rem}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line1,.su-lockup--option-t .su-lockup__line2{margin-left:-2px;line-height:2.6rem}}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line1{margin-bottom:.2rem}}.su-lockup--option-t .su-lockup__line3{margin:0;font-size:2rem}@media(max-width: 767px){.su-lockup--option-t .su-lockup__line3{margin-top:.3rem;margin-left:-2px;font-size:1.8rem}}.su-lockup--option-t .su-lockup__line4::after{margin-top:.75rem;margin-bottom:.5rem;border-bottom:1px solid #2e2d29;content:"";display:block;width:120px}.su-lockup--option-t .su-lockup__line5{display:none}.su-lockup--option-t .su-lockup__cell1{padding:0;border:0}.su-lockup--option-t .su-lockup__cell2{padding:0;border:0;width:100%}.su-global-footer{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#8c1515;color:#fff}@media only screen and (min-width: 0){.su-global-footer{padding-top:2.31rem;padding-bottom:2.31rem}}@media only screen and (min-width: 768px){.su-global-footer{padding-top:2.6rem;padding-bottom:2.6rem}}@media only screen and (min-width: 1500px){.su-global-footer{padding-top:2.74rem;padding-bottom:2.74rem}}.su-global-footer a{color:#fff;text-decoration:none}.su-global-footer a:hover,.su-global-footer a:focus{color:#fff;text-decoration:underline}.su-global-footer nav{margin-bottom:1rem;display:flex;flex:0 0 auto;justify-content:center}@media only screen and (min-width: 576px){.su-global-footer nav{display:block;margin-bottom:1.3rem}}.su-global-footer__container{margin:0 auto}@media only screen and (min-width: 0){.su-global-footer__container{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-global-footer__container{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-global-footer__container{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-global-footer__container{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-global-footer__container{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-global-footer__container{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 992px){.su-global-footer__container{display:flex}}.su-global-footer__brand{padding-top:.5rem;text-align:center}@media only screen and (min-width: 0){.su-global-footer__brand{margin-bottom:.8rem}}@media only screen and (min-width: 768px){.su-global-footer__brand{margin-bottom:.9rem}}@media only screen and (min-width: 1500px){.su-global-footer__brand{margin-bottom:.95rem}}.su-global-footer__brand a{display:inline-block;font-family:Stanford,"Source Serif Pro",Georgia,Times,"Times New Roman",serif;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-decoration:none;line-height:.75;-webkit-transform:translateZ(0);transform:translateZ(0);letter-spacing:0;-webkit-font-feature-settings:"liga";-ms-font-feature-settings:"liga" 1;font-feature-settings:"liga";-webkit-font-variant-ligatures:discretionary-ligatures;font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-size:3.4rem}.su-global-footer__brand a:hover,.su-global-footer__brand a:focus{text-decoration:none}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__brand a{font-size:3.2rem}}.su-global-footer__content{flex-grow:1}@media(min-width: 576px)and (max-width: 991px){.su-global-footer__content{text-align:center}}@media only screen and (min-width: 992px){.su-global-footer__content{padding-left:4.5rem}}@media only screen and (min-width: 1200px){.su-global-footer__content{padding-left:5.2rem}}.su-global-footer__menu{margin:0 0 1rem;padding:0;font-size:1.5rem;list-style-type:none}.su-global-footer__menu li{margin:0;padding:.25em 0;display:block}@media only screen and (min-width: 576px)and (max-width: 767px){.su-global-footer__menu li{margin-right:1rem}}@media only screen and (min-width: 576px){.su-global-footer__menu li{display:inline-block;line-height:1.1}}@media only screen and (min-width: 768px){.su-global-footer__menu li{margin-right:2rem}}@media only screen and (min-width: 992px){.su-global-footer__menu li{margin-right:2.8rem;padding:0;text-align:left}}.su-global-footer__menu li:last-child{margin-right:0}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__menu--global{padding-right:1.9rem}}@media(min-width: 768px)and (max-width: 1499px){.su-global-footer__menu--global{font-size:1.7rem}}@media only screen and (min-width: 1500px){.su-global-footer__menu--global{font-size:1.8rem}}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__menu--policy{padding-left:1.9rem}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-global-footer__menu--policy{font-size:1.4rem}}@media only screen and (min-width: 576px){.su-global-footer__menu--policy a{font-weight:400}}@media(min-width: 768px)and (max-width: 1199px){.su-global-footer__menu--policy{font-size:1.5rem}}@media only screen and (min-width: 1200px){.su-global-footer__menu--policy{font-size:1.6rem}}.su-global-footer__copyright{font-size:1.4rem;text-align:center}@media only screen and (min-width: 0)and (max-width: 575px){.su-global-footer__copyright{font-size:1.34rem}}.su-global-footer__copyright span{white-space:nowrap}@media only screen and (min-width: 992px){.su-global-footer__copyright{text-align:left}}.su-global-footer--bright{background-color:#b1040e}.su-global-footer--dark{background-color:#2e2d29}.su-local-footer{background-color:#f4f4f4}.su-local-footer a{font-weight:400}.su-local-footer ul{margin-top:0;margin-bottom:0;padding-left:0;list-style-type:none}.su-local-footer ul>li{margin-bottom:0}.su-local-footer ul>li{margin-bottom:7px}.su-local-footer .su-signup-form p{font-size:17px}.su-local-footer__header{position:relative}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__header .su-lockup{margin-bottom:3.2rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__header .su-lockup{margin-bottom:3.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__header .su-lockup{margin-bottom:3.8rem}}@media only screen and (min-width: 992px){.su-local-footer__header .su-lockup{float:left}}.su-local-footer__header .su-link--internal{padding:1rem 2rem 1.15rem;background-color:#b1040e;color:#fff;border:1px solid #C6C6C6;box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1);border-radius:7px}.su-local-footer__header .su-link--internal:hover,.su-local-footer__header .su-link--internal:focus{background-color:#2e2d29;color:#fff}.su-local-footer__header .su-link--internal:focus{box-shadow:0 0 3px #4d4f53,0 0 7px #4d4f53}@media(max-width: 991px){.su-local-footer__header .su-link--internal{width:auto}}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__header .su-link--internal{margin-bottom:2.31rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__header .su-link--internal{margin-bottom:2.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__header .su-link--internal{margin-bottom:2.74rem}}@media only screen and (min-width: 992px){.su-local-footer__header .su-link--internal{float:right}}.su-local-footer__header .su-link--internal::after{background-color:#fff}.su-local-footer__header .su-link--internal:hover{border:1px solid #C6C6C6;box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1)}.su-local-footer__columns,.su-local-footer__header{margin:0 auto;clear:both}@media only screen and (min-width: 0){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-local-footer__columns,.su-local-footer__header{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-local-footer__columns,.su-local-footer__header{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 0){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 576px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 768px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:20px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:20px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:20px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 992px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:36px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:36px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:36px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:36px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 1200px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:40px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:40px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:40px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:40px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 1500px){.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:48px}@supports(grid-column-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-column-gap:48px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-right:0;margin-left:0}}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:48px}@supports(grid-row-gap: 20px){.su-local-footer__columns,.su-local-footer__header{grid-row-gap:48px}.su-local-footer__columns>*,.su-local-footer__header>*{margin-top:0;margin-bottom:0}}}@media only screen and (min-width: 0){.su-local-footer__columns,.su-local-footer__header{padding-top:4rem}}@media only screen and (min-width: 768px){.su-local-footer__columns,.su-local-footer__header{padding-top:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns,.su-local-footer__header{padding-top:4.75rem}}.su-local-footer__columns{grid-template-rows:auto;grid-template-columns:1fr 1fr;grid-template-areas:"A B" "C C"}@media only screen and (min-width: 0){.su-local-footer__columns{padding-bottom:4rem}}@media only screen and (min-width: 768px){.su-local-footer__columns{padding-bottom:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns{padding-bottom:4.75rem}}@media only screen and (min-width: 768px){.su-local-footer__columns{display:-ms-grid;display:grid}}@media only screen and (min-width: 992px){.su-local-footer__columns{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"A B C" "A B C"}}@media only screen and (min-width: 1200px){.su-local-footer__columns{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-areas:"A B B C"}}.su-local-footer__columns .su-local-footer__cell1,.su-local-footer__columns .su-local-footer__cell2,.su-local-footer__columns .su-local-footer__cell3{vertical-align:top}.su-local-footer__columns .su-local-footer__cell1{grid-area:A}.su-local-footer__columns .su-local-footer__cell2{grid-area:B}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2{padding-top:4rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2{padding-top:4.5rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2{padding-top:4.75rem}}@media only screen and (max-width: 991px)and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.31rem}}@media only screen and (max-width: 991px)and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.6rem}}@media only screen and (max-width: 991px)and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2{padding-bottom:2.74rem}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell2{grid-area:C}}.su-local-footer__columns .su-local-footer__cell2 nav{vertical-align:top}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell2 nav{display:inline-block;min-width:calc(49% - 10px);max-width:calc(49% - 10px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:10px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:10px}}@media only screen and (min-width: 1200px){.su-local-footer__columns .su-local-footer__cell2 nav{display:inline-block;min-width:calc(49% - 20px);max-width:calc(49% - 20px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:20px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:20px}}@media only screen and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2 nav{min-width:calc(49% - 24px);max-width:calc(49% - 24px)}.su-local-footer__columns .su-local-footer__cell2 nav:last-of-type{margin-left:24px}.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{margin-right:24px}}@media only screen and (min-width: 0){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.31rem}}@media only screen and (min-width: 768px){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.6rem}}@media only screen and (min-width: 1500px){.su-local-footer__columns .su-local-footer__cell2 nav:first-of-type{padding-bottom:2.74rem}}@media only screen and (min-width: 992px){.su-local-footer__columns>.su-local-footer__cell2{-ms-grid-column-span:2}}.su-local-footer__columns .su-local-footer__cell3{grid-area:C}@media only screen and (min-width: 768px)and (max-width: 991px){.su-local-footer__columns .su-local-footer__cell3{grid-area:B}}@media only screen and (min-width: 992px){.su-local-footer__columns>.su-local-footer__cell3{-ms-grid-row:1;-ms-grid-column:3}}@media only screen and (min-width: 1200px){.su-local-footer__columns>.su-local-footer__cell3{-ms-grid-row:1;-ms-grid-column:4}}.su-local-footer__list-heading{font-size:18px;line-height:140%}.su-local-footer__address,.su-local-footer__action-links{font-size:16px}@media only screen and (min-width: 0){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4rem}}@media only screen and (min-width: 768px){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4.5rem}}@media only screen and (min-width: 1500px){.su-local-footer__address,.su-local-footer__action-links{padding-bottom:4.75rem}}.su-local-footer__address{line-height:140%}.su-local-footer__action-links a{text-decoration:none;font-weight:600}@supports(mask-repeat: no-repeat){.su-local-footer__action-links a::after{margin-right:.3em;margin-bottom:-0.18em;margin-left:.4em;height:.8em;width:.8em;display:inline-block;content:"";mask:url("../img/arrow-right.svg") no-repeat 0 0;mask-size:contain;background-color:#006cb8;transition:transform .2s ease-in-out,mask-image .2s ease-in-out}.su-local-footer__action-links a:hover::after,.su-local-footer__action-links a:focus::after{background-color:#2e2d29;transform:translateX(0.2em)}}.su-local-footer__primary-links ul li,.su-local-footer__secondary-links ul li{font-size:16px}.su-local-footer__social-links{padding:0;margin:0;list-style-type:none;overflow:hidden}.su-local-footer__social-links>li{display:block;float:left}.su-local-footer__social-links>li:last-child{margin-right:0}.su-local-footer__social-links li{padding-right:18px}.su-local-footer__social-links li:last-child{padding-right:0}.su-local-footer__social-links i{font-size:2.5rem}.su-local-footer__social-links i::before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal;font-variant:normal;font-weight:normal;line-height:1;color:#2e2d29;font-family:"Font Awesome 5 Brands";transition:color .25s ease-out}.su-local-footer__social-links a{text-decoration:none}.su-local-footer__social-links a span{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.su-local-footer__social-links .su-local-footer__social-facebook i::before{content:""}.su-local-footer__social-links .su-local-footer__social-facebook:hover i::before,.su-local-footer__social-links .su-local-footer__social-facebook:focus i::before{color:#3b579d}.su-local-footer__social-links .su-local-footer__social-linkedin i::before{content:""}.su-local-footer__social-links .su-local-footer__social-linkedin:hover i::before,.su-local-footer__social-links .su-local-footer__social-linkedin:focus i::before{color:#0077b5}.su-local-footer__social-links .su-local-footer__social-twitter i::before{content:""}.su-local-footer__social-links .su-local-footer__social-twitter:hover i::before,.su-local-footer__social-links .su-local-footer__social-twitter:focus i::before{color:#1da1f2}.su-local-footer__social-links .su-local-footer__social-instagram i::before{content:""}.su-local-footer__social-links .su-local-footer__social-instagram:hover i::before,.su-local-footer__social-links .su-local-footer__social-instagram:focus i::before{color:#d73676}.su-local-footer__social-links .su-local-footer__social-youtube i::before{content:""}.su-local-footer__social-links .su-local-footer__social-youtube:hover i::before,.su-local-footer__social-links .su-local-footer__social-youtube:focus i::before{color:#cd201f}.su-masthead{box-shadow:0px 3px 6px rgba(0, 0, 0, 0.13), 0px 3px 6px rgba(0, 0, 0, 0.1);position:relative;background-color:#fff;max-width:100%}.su-masthead>section:last-of-type{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap;margin:0 auto}@media only screen and (min-width: 0){.su-masthead>section:last-of-type{max-width:calc(100% - 40px);width:calc(100% - 40px)}}@media only screen and (min-width: 576px){.su-masthead>section:last-of-type{max-width:calc(100% - 60px);width:calc(100% - 60px)}}@media only screen and (min-width: 768px){.su-masthead>section:last-of-type{max-width:calc(100% - 100px);width:calc(100% - 100px)}}@media only screen and (min-width: 992px){.su-masthead>section:last-of-type{max-width:calc(100% - 160px);width:calc(100% - 160px)}}@media only screen and (min-width: 1200px){.su-masthead>section:last-of-type{max-width:calc(100% - 200px);width:calc(100% - 200px)}}@media only screen and (min-width: 1500px){.su-masthead>section:last-of-type{max-width:1500px;width:calc(100% - 200px)}}@media only screen and (min-width: 0){.su-masthead>section:last-of-type{padding-top:2.31rem}}@media only screen and (min-width: 768px){.su-masthead>section:last-of-type{padding-top:2.6rem}}@media only screen and (min-width: 1500px){.su-masthead>section:last-of-type{padding-top:2.74rem}}.su-masthead .su-lockup{max-width:fit-content}@media only screen and (min-width: 0){.su-masthead .su-lockup{margin-bottom:1.6rem}}@media only screen and (min-width: 768px){.su-masthead .su-lockup{margin-bottom:1.8rem}}@media only screen and (min-width: 1500px){.su-masthead .su-lockup{margin-bottom:1.9rem}}@media(max-width: 991px){.su-masthead .su-lockup{flex:0 0 calc(83.3333333333% - 3.3333333333px);max-width:calc(83.3333333333% - 3.3333333333px);z-index:10010}}@media only screen and (min-width: 992px){.su-masthead .su-lockup{flex:0 0 calc(66.6666666667% - 6.6666666667px);max-width:calc(66.6666666667% - 6.6666666667px)}}@media(max-width: 991px){.su-masthead .su-site-search{display:none}}@media only screen and (min-width: 992px){.su-masthead .su-site-search{flex:0 0 calc(33.3333333333% - 13.3333333333px);max-width:calc(33.3333333333% - 13.3333333333px)}}.su-masthead .su-site-search>form{margin-left:auto;width:30rem;max-width:100%}@media(max-width: 991px){.su-masthead .su-site-search>form{width:100%}}@media(max-width: 767px){.su-masthead .su-main-nav{margin-top:-57px}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav{flex:0 0 calc(16.6666666667% - 16.6666666667px);max-width:calc(16.6666666667% - 16.6666666667px);margin-top:auto}}@media(max-width: 991px){.su-masthead .su-main-nav>ul{box-shadow:0px 10px 20px rgba(0, 0, 0, 0.15), 0px 6px 6px rgba(0, 0, 0, 0.2)}.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav>.su-site-search{right:0}}@media only screen and (min-width: 992px){.su-masthead .su-main-nav{width:100%}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:40rem}}@media only screen and (min-width: 0)and (max-width: 575px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{transform:translateX(20px)}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{transform:translateX(30px)}}@media only screen and (min-width: 768px)and (max-width: 991px){.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{transform:translateX(50px)}}@media only screen and (min-width: 0)and (max-width: 575px){.su-masthead .su-main-nav,.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:calc(100% + 40px)}}@media only screen and (min-width: 576px)and (max-width: 767px){.su-masthead .su-main-nav,.su-masthead .su-main-nav>ul,.su-masthead .su-main-nav .su-main-nav__toggle[aria-expanded=true]+.su-main-nav__menu-lv1+.su-site-search{width:calc(100% + 60px)}}@media(min-width: 992px){.su-masthead--center .su-main-nav>ul{justify-content:center}}.su-masthead--dark{background-color:#2e2d29}.su-masthead--dark .su-lockup__wordmark,.su-masthead--dark .su-lockup__line1,.su-masthead--dark .su-lockup__line2,.su-masthead--dark .su-lockup__line3,.su-masthead--dark .su-lockup__line4,.su-masthead--dark .su-lockup__line5{color:#fff}.su-masthead--dark .su-lockup__cell2{border-color:#fff}@media(min-width: 992px){.su-masthead--right .su-main-nav>ul{justify-content:flex-end}}.su-skiplinks{padding:0;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;background-color:#2e2d29;color:#fff;font-size:.75em;font-weight:400;text-decoration:none;min-height:1px;position:absolute;top:-500px;left:.8em;transition-duration:.25s;transition-property:top;transition-timing-function:ease-in-out}@media print{.su-skiplinks{display:none}}.su-skiplinks,.su-skiplinks:hover,.su-skiplinks:visited{height:1px;width:1px;color:#fff;overflow:hidden;white-space:nowrap}.su-skiplinks:active,.su-skiplinks:focus{padding:.4em .8em;height:auto;width:auto;color:#fff;border:1px solid #4d4f53;border-radius:3px;position:fixed;left:.8em;top:.8em;z-index:11222}html{font-size:10px}body{font-weight:400;font-size:1.6rem;line-height:122%}@media(min-width: 992px){body{font-weight:400;font-size:1.8rem;line-height:127%}}.hb-local-footer a:not([class]):focus,.hb-local-footer a:not([class]):hover,.hb-local-footer a.ext:focus,.hb-local-footer a.ext:hover,.hb-local-footer a.mailto:focus,.hb-local-footer a.mailto:hover{background-image:none}h6{text-transform:uppercase}p:not([class]){margin-top:0}p:not([class]):last-of-type{margin-bottom:0}strong:not([class]){font-weight:600;font-size:inherit}em:not([class]){font-style:italic;font-weight:inherit;font-size:inherit}blockquote:not([class]){font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}blockquote:not([class])::before{position:absolute;content:open-quote;margin-left:-10px}blockquote:not([class])::after{position:absolute;content:close-quote;margin-right:10px}caption:not([class]){font-size:1.4rem}button:not([class]):hover{cursor:pointer}label{display:block;width:100%;margin-bottom:1.2rem;font-weight:600}input{line-height:1;font-size:1.6rem;padding:8px;min-height:38px;width:100%}.hb-table-wrap{margin:auto;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:1.3rem;text-align:left;border:1px solid}@media(min-width: 576px){table{font-size:1.6rem}}table th,table td{padding:1.6rem;vertical-align:top;border:1px solid}table thead th{position:sticky;top:0}table thead th a:hover,table thead th a:focus{box-shadow:none}table thead tr{text-transform:uppercase}details{margin:1.6rem 0}summary{padding:1.6rem;position:relative;font-weight:600;cursor:pointer;display:flex;align-items:center}summary::-webkit-details-marker{display:block;height:0;width:0;overflow:hidden}summary::after{content:"";display:block;height:2rem;width:2rem;position:absolute;top:1.8rem;right:1.8rem;background-repeat:no-repeat;background-size:contain;background-position:center}summary a{color:inherit;text-decoration:none}.revealed-details{padding:2rem 1.6rem}.hb-page-width{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-page-width{width:calc(100% - (2 * 4.8rem)) !important}}.hb-vertical-page-padding{margin:4.8rem auto !important}.layout-builder__message{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.layout-builder__message{width:calc(100% - (2 * 4.8rem)) !important}}.layout-builder-form .form-actions{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.layout-builder-form .form-actions{width:calc(100% - (2 * 4.8rem)) !important}}.layout-builder-form .form-actions .button{width:auto}.block-help{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important;padding-top:4rem}@media(min-width: 768px){.block-help{width:calc(100% - (2 * 4.8rem)) !important}}.ptype-hs-row{margin-bottom:48px}.hs-paragraph-style .field-hs-row-components{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hs-paragraph-style .field-hs-row-components{width:calc(100% - (2 * 4.8rem)) !important}}.hs-paragraph-style--well{width:100%}.hs-paragraph-style--well-full-width{left:calc(-50vw + 50%);position:relative;width:100vw}.hb-three-column--one-sidebar .hs-paragraph-style--well-full-width,.hb-three-column--two-sidebar .hs-paragraph-style--well-full-width{left:inherit;position:static;width:100%}.hb-three-column-w-image{display:flex;flex-wrap:wrap}@media(min-width: 992px){.hb-three-column-w-image{flex-wrap:nowrap}}.hb-three-column-w-image:not(.hs-full-width){max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-three-column-w-image:not(.hs-full-width){width:calc(100% - (2 * 4.8rem)) !important}}.hb-three-column-w-image--no-sidebar:not(.hs-full-width){max-width:80rem !important}.hb-three-column-w-image__sidebar-1{width:100%}@media(min-width: 992px){.hb-three-column-w-image__sidebar-1{width:22.5%;margin-right:4rem}}@media(min-width: 1200px){.hb-three-column-w-image__sidebar-1{margin-right:4.8rem}}.hb-three-column-w-image__main{width:100%;margin-bottom:4.8rem}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main,.hb-three-column-w-image--two-sidebar .hb-three-column-w-image__main{width:100%;margin-bottom:0}.hb-three-column-w-image--two-sidebar .hb-three-column-w-image__main{width:calc(100% - 45% - 2 * 3.6rem)}}.hb-three-column-w-image__main-top{display:flex;flex-wrap:wrap;justify-content:space-between}@media(min-width: 768px){.hb-three-column-w-image__main-top{flex-wrap:nowrap}}.hb-three-column-w-image__main-top-text{margin:0 1.6rem 1.6rem 0}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main-top-text{display:flex;flex-direction:column}}@media(min-width: 768px){.hb-three-column-w-image--no-sidebar .hb-three-column-w-image__main-top-text{display:flex;flex-direction:column}}.hb-three-column-w-image__main-top-image.align-right,.hb-three-column-w-image__main-top-image.align-left{margin:0 0 1.6rem}@media(min-width: 768px){.hb-three-column-w-image__main-top-image.align-right,.hb-three-column-w-image__main-top-image.align-left{margin-bottom:4.8rem}}@media(min-width: 992px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__main-top-image{margin-left:2rem}}@media(min-width: 768px){.hb-three-column-w-image--no-sidebar .hb-three-column-w-image__main-top-image{margin-left:2rem}}.hb-three-column-w-image__main-top-image img{display:block}.hb-three-column-w-image--no-sidebar:not(.hs-full-width) .hb-three-column-w-image__main-body{max-width:78.4rem}.hb-three-column-w-image__main-body .layout__region{margin-bottom:2rem}.hb-three-column-w-image__sidebar-2{width:100%;margin-left:0}@media(min-width: 768px){.hb-three-column-w-image--one-sidebar .hb-three-column-w-image__sidebar-2{width:22.5%;margin-left:3.6rem}}@media(min-width: 992px){.hb-three-column-w-image__sidebar-2{width:22.5%;margin-left:4rem}}@media(min-width: 1200px){.hb-three-column-w-image__sidebar-2{margin-left:4.8rem}}.hb-three-column{display:flex;flex-wrap:wrap}@media(min-width: 992px){.hb-three-column{flex-wrap:nowrap}}.hb-three-column:not(.hs-full-width){max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important}@media(min-width: 768px){.hb-three-column:not(.hs-full-width){width:calc(100% - (2 * 4.8rem)) !important}}.hb-three-column__sidebar-1{width:100%}@media(min-width: 992px){.hb-three-column__sidebar-1{width:22.5%;margin:0 4.8rem 0 0}}.hb-three-column__main{width:100%}.hb-three-column--no-sidebar:not(.hs-full-width) .hb-three-column__main{max-width:120rem}@media(min-width: 992px){.hb-three-column--one-sidebar .hb-three-column__main{width:calc(100% - 22.5% - 4.8rem)}.hb-three-column--no-sidebar .hb-three-column__main{width:100%;margin-bottom:0}}@media(min-width: 992px){.hb-three-column__main{width:100%;margin-bottom:0}.hb-three-column--two-sidebar .hb-three-column__main{width:calc(100% - 45% - (2 * 4.8rem))}}@media(min-width: 1500px){.hb-three-column--one-sidebar:not(.hs-full-width) .hb-three-column__main{max-width:110rem}}.hb-three-column__sidebar-2{width:100%;margin:0}@media(min-width: 992px){.hb-three-column--one-sidebar .hb-three-column__sidebar-2{width:22.5%;margin:0 0 0 4.8rem}}@media(min-width: 992px){.hb-three-column__sidebar-2{width:22.5%;margin:0 0 0 4.8rem}}.button,a.button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center}.button[data-drupal-selector=edit-reset],a.button[data-drupal-selector=edit-reset]{background-color:transparent;border-color:transparent;border-radius:0;padding:0.4rem 0;line-height:1;min-height:auto}.hb-card{margin-bottom:48px;display:flex;flex-direction:column}@media(min-width: 768px){.hb-card--horizontal{flex-direction:row;align-items:flex-start}}.hb-card__subcontent{width:100%}@media(min-width: 576px){.hb-card__subcontent{display:flex}.hb-grid--cols-10 .hb-card__subcontent,.hb-grid--cols-11 .hb-card__subcontent,.hb-grid--cols-12 .hb-card__subcontent,.hb-grid--cols-3 .hb-card__subcontent,.hb-grid--cols-4 .hb-card__subcontent,.hb-grid--cols-5 .hb-card__subcontent,.hb-grid--cols-6 .hb-card__subcontent,.hb-grid--cols-7 .hb-card__subcontent,.hb-grid--cols-8 .hb-card__subcontent,.hb-grid--cols-9 .hb-card__subcontent{display:block}}.hb-card__subcontent:not(:last-child){margin-bottom:1.6rem}.hb-card__subcontent-item{font-size:1.6rem}@media(min-width: 576px){.hb-card__subcontent-item{display:flex}}.hb-card__subcontent-item:not(:last-child){margin-bottom:0.4rem}@media(min-width: 576px){.hb-card__subcontent-item:not(:last-child){margin-bottom:0}}@media(min-width: 576px){.hb-card__subcontent-item::after{content:"";margin:0 0.8rem;border-left:1px solid}.hb-grid--cols-10 .hb-card__subcontent-item::after,.hb-grid--cols-11 .hb-card__subcontent-item::after,.hb-grid--cols-12 .hb-card__subcontent-item::after,.hb-grid--cols-3 .hb-card__subcontent-item::after,.hb-grid--cols-4 .hb-card__subcontent-item::after,.hb-grid--cols-5 .hb-card__subcontent-item::after,.hb-grid--cols-6 .hb-card__subcontent-item::after,.hb-grid--cols-7 .hb-card__subcontent-item::after,.hb-grid--cols-8 .hb-card__subcontent-item::after,.hb-grid--cols-9 .hb-card__subcontent-item::after{display:none}}.hb-card__subcontent-item:last-of-type::after{content:"";margin:0;border:0}.hb-card__subcontent-item a{font-weight:600}.hb-card--horizontal-date-stacked .hb-card__subcontent{flex-wrap:wrap}.hb-card__subcontent--with-icons{padding-top:6px;margin-bottom:8px !important}@media(min-width: 576px){.hb-card__subcontent--with-icons{padding-top:12px}}.hb-card__subcontent-detail{padding-right:2.6rem;margin-bottom:1.6rem}.hb-card__icon .views-label{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.hb-card__icon .field-content{display:block;font-size:1.6rem;padding:0 0.4rem 0 2.8rem;line-height:127%}.hb-card__location{font-size:1.4rem;margin-bottom:1.6rem}@media(min-width: 768px){.hb-card__location{font-size:1.6rem}}.hb-card__highlighted{font-size:1.4rem}@media(min-width: 768px){.hb-card__highlighted{font-size:1.6rem}}.hb-card__highlighted:not(:last-child){margin-bottom:2rem}.hb-card__highlighted .views-label{font-size:1.6rem;font-style:normal;text-transform:inherit;display:inline-block;margin-right:0.6rem}.hb-card__graphics{position:relative;margin-bottom:2rem}.hb-card__img{overflow:hidden}.hb-card__img a{display:block;background-image:none}.hb-card__img a:focus,.hb-card__img a:hover{border-bottom:0 none}.hb-card__img a:focus img,.hb-card__img a:hover img{transform:scale(1.07)}.hb-card__img img{width:100%;height:auto;transform:scale(1);transition:transform 140ms ease-in-out}@media(min-width: 768px){.hb-card--horizontal .hb-card__img{flex:0 0 calc(41.6666666667% - 11.6666666667px);max-width:calc(41.6666666667% - 11.6666666667px);margin-right:4.8rem;margin-bottom:0}}@media(min-width: 768px){.hb-card--horizontal-date-stacked .hb-card__img{max-width:100%}}.hb-card__date-tile{display:inline-block;text-align:center;min-width:10rem;padding:1.2rem 1rem 0.8rem;margin-right:4.8rem;position:absolute;bottom:1.8rem;left:-1rem}@media(min-width: 576px){.hb-card__date-tile{bottom:2.2rem;left:-1.4rem}}.hb-card__date-tile:only-child{position:static}.hb-card__date-tile-month{text-transform:uppercase;font-weight:600}.hb-card__date-tile-day{font-size:5.2rem;font-weight:600;line-height:100%}@media(min-width: 768px){.hb-card--horizontal .hb-card__content{flex:0 0 calc(50% - 10px);max-width:calc(50% - 10px);flex-grow:1}@supports(max-width: 100%){.hb-card--horizontal .hb-card__content{max-width:100%}}}.hb-card__title{margin-top:0;margin-bottom:2rem}@media(min-width: 768px){.hb-card__title{margin-bottom:2.4rem}}.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{margin:0;overflow-wrap:break-word}@media(min-width: 576px){.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{font-weight:600;font-size:2.4rem;line-height:124%}}@media(min-width: 768px){.hb-card__title h2,.hb-card__title h3,.hb-card__title h4,.hb-card__title h5,.hb-card__title h6{font-weight:600;font-size:2.7rem;line-height:119%}}@media(min-width: 992px){.hb-grid .hb-card__title h2,.ptype-hs-row .hb-card__title h2,.hb-grid .hb-card__title h3,.ptype-hs-row .hb-card__title h3,.hb-grid .hb-card__title h4,.ptype-hs-row .hb-card__title h4,.hb-grid .hb-card__title h5,.ptype-hs-row .hb-card__title h5,.hb-grid .hb-card__title h6,.ptype-hs-row .hb-card__title h6{font-weight:600;font-size:2.4rem;line-height:124%}}.hb-card__title h6{text-transform:initial}.hb-card__description{font-weight:400;font-size:1.6rem;line-height:122%}@media(min-width: 992px){.hb-card__description{font-weight:400;font-size:1.8rem;line-height:127%}}.hb-card__description:not(:last-child){margin-bottom:2.4rem}.hb-card__description .views-field:not(:last-child){display:block;margin-bottom:1.6rem}.hb-card__decorative-link{display:flex;align-items:center;width:100%}.hb-card__decorative-link .views-field{width:100%;z-index:100}.hb-card__decorative-link a{display:block;color:transparent;height:4.4rem;width:100%;margin-left:-4.4rem;text-decoration:none;z-index:100;background-image:none}.hb-card__decorative-link a:focus,.hb-card__decorative-link a:hover{color:transparent}.hb-card__decorative-link::before{content:"";display:block;height:4.4rem;width:4.4rem}.hb-card__decorative-link:focus,.hb-card__decorative-link:hover{cursor:pointer}.hb-card__decorative-link:focus::before,.hb-card__decorative-link:hover::before{transform:translateX(0.625rem)}.hb-grid{display:flex;justify-content:flex-start;flex-wrap:wrap}.hb-grid__item{margin-bottom:2.4rem;width:100%}@media(min-width: 576px){.hb-grid--cols-2 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-2 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-3 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-3 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-3 .hb-grid__item{width:calc(33.3333333333% - (96px / 3))}.hb-grid--cols-3 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-3 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-4 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-4 .hb-grid__item{width:calc(25% - (144px / 4))}.hb-grid--cols-4 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-4 .hb-grid__item:nth-child(4n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-5 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-5 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-5 .hb-grid__item{width:calc(20% - (192px / 5))}.hb-grid--cols-5 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-5 .hb-grid__item:nth-child(5n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-6 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-6 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-6 .hb-grid__item{width:calc(16.6666666667% - (240px / 6))}.hb-grid--cols-6 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-6 .hb-grid__item:nth-child(6n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-7 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-7 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-7 .hb-grid__item{width:calc(14.2857142857% - (288px / 7))}.hb-grid--cols-7 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-7 .hb-grid__item:nth-child(7n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-8 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-8 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-8 .hb-grid__item{width:calc(12.5% - (336px / 8))}.hb-grid--cols-8 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-8 .hb-grid__item:nth-child(8n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-9 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-9 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-9 .hb-grid__item{width:calc(11.1111111111% - (384px / 9))}.hb-grid--cols-9 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-9 .hb-grid__item:nth-child(9n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-10 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-10 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-10 .hb-grid__item{width:calc(10% - (432px / 10))}.hb-grid--cols-10 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-10 .hb-grid__item:nth-child(10n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-11 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-11 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-11 .hb-grid__item{width:calc(9.0909090909% - (480px / 11))}.hb-grid--cols-11 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-11 .hb-grid__item:nth-child(11n){margin-right:0}}@media(min-width: 576px){.hb-grid--cols-12 .hb-grid__item{width:calc(50% - (4.8rem / 2));margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:0}}@media(min-width: 768px){.hb-grid--cols-12 .hb-grid__item{width:calc(33.33% - (9.6rem / 3))}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(3n){margin-right:0}}@media(min-width: 992px){.hb-grid--cols-12 .hb-grid__item{width:calc(8.3333333333% - (528px / 12))}.hb-grid--cols-12 .hb-grid__item:nth-child(2n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(3n){margin-right:4.8rem}.hb-grid--cols-12 .hb-grid__item:nth-child(12n){margin-right:0}}.su-masthead{box-shadow:none;z-index:100}.su-masthead .su-lockup{z-index:500}.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{line-height:1em}.su-masthead .su-lockup__wordmark,.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{margin-bottom:0.8rem}@media(min-width: 768px){.su-masthead .su-lockup__wordmark,.su-masthead .su-lockup__line1,.su-masthead .su-lockup__line2,.su-masthead .su-lockup__line3,.su-masthead .su-lockup__line4{margin-bottom:0}}.su-masthead .su-site-search{display:block;padding-top:1.1rem;padding-bottom:2.8rem;z-index:500;width:100%}@media(min-width: 576px){.su-masthead .su-site-search{width:60%}}@media(min-width: 992px){.su-masthead .su-site-search{max-width:265px}}.su-masthead .su-main-nav{margin-top:0;width:100%}@media(min-width: 576px){.su-masthead .su-main-nav{flex:unset;max-width:none}}.su-lockup__line1{margin-bottom:0.2rem}.hb-layout-builder-main-content .views-exposed-form{display:flex;align-items:flex-end;flex-wrap:wrap;margin-bottom:3.2rem}.hb-layout-builder-main-content .views-exposed-form .form-item{width:100%;margin-bottom:2.4rem}@media(min-width: 768px){.hb-layout-builder-main-content .views-exposed-form .form-item{width:calc(50% - 1.8rem);margin-right:1.8rem}}@media(min-width: 992px){.hb-layout-builder-main-content .views-exposed-form .form-item{width:calc(33% - 1.8rem)}}.hb-layout-builder-main-content .views-exposed-form .form-actions{display:flex;align-items:center;margin-bottom:0}@media(min-width: 768px){.hb-layout-builder-main-content .views-exposed-form .form-actions{margin-bottom:2.4rem}}.hb-layout-builder-main-content .views-exposed-form .form-submit:not(:last-child){margin-right:1.6rem}.chosen-container{width:100% !important}.chosen-container .chosen-drop{font-size:1.6rem}.chosen-container .chosen-results{margin:0;padding:0}.chosen-container .chosen-results li{padding:8px;line-height:122%}.chosen-container .chosen-results li:last-child{border-radius:0 0 4px 4px}.chosen-container .chosen-results li.highlighted{font-weight:600;background-image:none}.chosen-container-single .chosen-single{display:block;background:none !important;box-shadow:none;font-size:1.6rem;line-height:1;height:auto;min-height:38px;padding:0.8rem 48px 0.8rem 0.8rem}.chosen-container-single .chosen-single span{margin-right:0;margin-bottom:-3px;padding-bottom:3px}.chosen-container-single .chosen-single div{width:48px;background-repeat:no-repeat;background-position:center;background-size:1.2rem 0.8rem}.chosen-container-single .chosen-single div b{display:none}.chosen-container-single .chosen-search{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.chosen-container-multi .chosen-choices{display:block;background:none !important;box-shadow:none;font-size:1.6rem;line-height:1;height:auto;max-height:38px;min-height:38px;padding:0 48px 0 0.8rem}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:0;padding:0;font-size:1.6rem;font-family:inherit}.chosen-container-multi .chosen-choices li.search-choice{margin:0.5rem 0.5rem 0.5rem 0;font-family:inherit;background-image:none;box-shadow:none;border-radius:0.4rem;padding:0.6rem 2.2rem 0.6rem 0.6rem;transition:100ms ease-in-out}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{background:none !important;background-size:0 !important;background-repeat:no-repeat !important;top:0;right:0;height:100%;width:100%}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before,.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after{content:"";display:block;height:0.2rem;width:1.2rem;position:absolute;right:4px;top:12px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before{transform:rotate(45deg)}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::after{transform:rotate(-45deg)}.chosen-container-multi .chosen-results{margin-top:-0.3rem}.chosen-container-active.chosen-with-drop .chosen-single div{background-repeat:no-repeat;background-position:center;background-size:1.2rem 0.8rem;transform:rotate(180deg)}.hb-main-nav{position:relative;font-size:1.8rem}.hb-main-nav__toggle{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;cursor:pointer;position:absolute;right:0;top:-12rem;font-weight:700;display:flex;align-items:center;width:7rem;flex-direction:initial;padding:1rem 0}.no-js .hb-main-nav__toggle{display:none}@media(min-width: 992px){.js .hb-main-nav__toggle{display:none}}.hb-main-nav__toggle .hb-main-nav__toggle-icon{display:block;position:relative;height:0.3rem;width:1.6rem;margin-left:1rem}.hb-main-nav__toggle .hb-main-nav__toggle-icon::before,.hb-main-nav__toggle .hb-main-nav__toggle-icon::after{content:"";display:block;height:0.3rem;width:1.6rem;position:absolute;left:0;transition:top .2s ease .2s,transform .2s ease}.hb-main-nav__toggle .hb-main-nav__toggle-icon::before{top:-0.7rem}.hb-main-nav__toggle .hb-main-nav__toggle-icon::after{top:0.7rem}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon{background:transparent}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::before,.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::after{top:0;transition:top .2s ease,transform .2s ease .2s}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::before{transform:rotate(45deg)}.hb-main-nav__toggle[aria-expanded=true] .hb-main-nav__toggle-icon::after{transform:rotate(-45deg)}.hb-main-nav__menu{box-shadow:none !important;transform:translate(0) !important;width:auto !important;list-style-type:none;margin:0;padding:0}@media(min-width: 576px){.hb-main-nav__menu{max-width:none}}.hb-main-nav__menu[aria-hidden=true]{display:none}.hb-main-nav__menu-lv1{font-weight:600;font-size:2rem}.hb-main-nav__menu-lv1[aria-hidden=false]{margin-bottom:2.8rem}@media(min-width: 768px){.hb-main-nav__menu-lv1{font-size:2.4rem}}@media(min-width: 992px){.js .hb-main-nav__menu-lv1{font-size:1.8rem;font-weight:600;display:flex;align-items:flex-end;border:0}.js .hb-main-nav__menu-lv1[aria-hidden=false]{margin:0}}.hb-main-nav__menu-lv2{font-weight:400;font-size:1.8rem}@media(min-width: 768px){.hb-main-nav__menu-lv2{font-size:2.2rem}}@media(min-width: 992px){.hb-main-nav__menu-lv2{box-shadow:0 2px 16px 0 rgba(0,0,0,.1) !important}.js .hb-main-nav__menu-lv2{font-weight:600;font-size:inherit}}@media(min-width: 992px){.js .hb-main-nav__menu-lv3{display:none}}.hb-main-nav__item{position:relative}@media(min-width: 992px){.js .hb-main-nav__menu-lv1>.hb-main-nav__item{margin-right:2.4rem;border:0}}@media(min-width: 992px){.js .hb-main-nav__menu-lv2 .hb-main-nav__item:not(:last-child){border:0}}.hb-main-nav__link{position:relative;display:block;padding:2.1rem 1.7rem;text-decoration:none;line-height:120.3%}@media(min-width: 768px){.hb-main-nav__link{line-height:128%}}@media(min-width: 992px){.js .hb-main-nav__link{padding:1rem 0 2rem;line-height:110%}}.hb-main-nav__item--parent>.hb-main-nav__link{padding:2.1rem 4.8rem 2.1rem 1.7rem}@media(min-width: 992px){.js .hb-main-nav__item--parent>.hb-main-nav__link{padding:1rem 2rem 2rem 0}}@media(min-width: 992px){.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link::before{content:"";display:block;position:absolute;width:100%;height:0.4rem;bottom:0.8rem;top:auto;left:0;background:transparent}.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link.is-active{background-color:transparent}.js .hb-main-nav__menu-lv1>li>.hb-main-nav__link:hover{background-color:transparent}}@media(min-width: 992px){.js .hb-main-nav__menu-lv2 .hb-main-nav__link{font-size:1.6rem;padding:1rem 1.4rem}}.hb-main-nav__link--active-trail::before{content:"";display:block;width:0.5rem;position:absolute;top:0;bottom:0;left:0}.hb-main-nav__link.hb-nested-toggler{position:relative}.hb-main-nav__link.hb-nested-toggler::after{height:4.8rem;width:4.8rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;content:"";display:block;position:absolute;top:0.8rem;right:0}.no-js .hb-main-nav__link.hb-nested-toggler::after{display:none}@media(min-width: 768px){.hb-main-nav__link.hb-nested-toggler::after{top:1.6rem}}@media(min-width: 992px){.js .hb-main-nav__link.hb-nested-toggler::after{height:2rem;width:1.5rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;bottom:2rem;top:auto}}.hb-main-nav__button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;height:4.8rem;width:4.8rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;cursor:pointer;position:absolute;top:0.8rem;right:0}.no-js .hb-main-nav__button{display:none}@media(min-width: 768px){.hb-main-nav__button{top:1.2rem}}@media(min-width: 992px){.js .hb-main-nav__button{height:2rem;width:1.5rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;bottom:2rem;top:auto}.hb-main-nav__menu-lv2 .hb-main-nav__button{display:none}}.hb-main-nav__menu-container{padding-left:2rem}.hb-main-nav__menu-container[aria-hidden=true]{display:none}@media(min-width: 992px){.js .hb-main-nav__menu-container{position:absolute;border-radius:0.4rem;min-width:20rem;width:100%;padding:0}.js .hb-main-nav__item:last-child .hb-main-nav__menu-container{right:0}}.js .hb-main-nav--is-still-loading .hb-main-nav__menu-lv1{display:none}@media(min-width: 992px){.js .hb-main-nav--is-still-loading .hb-main-nav__menu-lv1{display:flex}}.js .hb-main-nav--is-still-loading .hb-main-nav__menu-container{display:none}.hb-secondary-nav{background-color:transparent;display:none}@media(min-width: 992px){.hb-secondary-nav{display:block}}.hb-secondary-nav__heading{margin:0 0 3.9rem}.hb-secondary-nav__menu-container[aria-hidden=true]{display:none}.hb-secondary-nav__menu{background-color:transparent;list-style-type:none;padding-left:1.6rem}.hb-secondary-nav__menu-lv1{padding-left:0}.hb-secondary-nav__menu-lv1>.hb-secondary-nav__item>.hb-secondary-nav__link{font-weight:600}.hb-secondary-nav__item,.hb-secondary-nav__link{font-size:1.6rem}.hb-secondary-nav__item{position:relative}.hb-secondary-nav__item--active-trail>.hb-secondary-nav__link{position:relative;font-weight:600}.hb-secondary-nav__item--parent .hb-secondary-nav__link::after{content:"";display:block}.hb-secondary-nav__link{display:block;padding:1.6rem 4.8rem 1.6rem 1.8rem;text-decoration:none}.hb-secondary-nav__link.is-active{font-weight:600}.hb-secondary-nav__link:hover,.hb-secondary-nav__link:focus{text-decoration:none}.hb-secondary-nav__button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;height:4.8rem;width:4.8rem;overflow:hidden;text-indent:-9999px;background-repeat:no-repeat;background-position:center;cursor:pointer;position:absolute;top:0.3rem;right:0}.no-js .hb-secondary-nav__button{display:none}.views-field-field-hs-person-email{word-break:break-all}.views-field-field-hs-person-email a span{display:none}.views-field-field-hs-course-code{font-size:2rem;font-weight:600;margin-bottom:0.6rem}.views-field-field-hs-course-section-location{font-weight:700}.views-field-field-hs-course-section-st-time,.views-field-field-hs-course-section-end-time{display:inline-block}.views-field-field-hs-course-section-id .field-content{display:inline-block}.hb-card--structured .hb-card__img{margin-bottom:2rem}.hb-card--structured .hb-card__subtitle{font-weight:600;line-height:122%;font-size:1.6rem;margin-bottom:1.3rem}@media(min-width: 992px){.hb-card--structured .hb-card__subtitle{font-size:1.8rem}}.hb-card--structured .hb-card__category .views-field,.hb-card--structured .hb-card__columns .views-field{margin-bottom:1.4rem}@media(min-width: 576px){.hb-card--structured .hb-card__category .views-field,.hb-card--structured .hb-card__columns .views-field{margin-bottom:2.8rem}}.hb-card--structured .hb-card__category{margin-bottom:1.4rem}@media(min-width: 576px){.hb-card--structured .hb-card__category{margin-bottom:2.8rem}}.hb-card--structured .hb-card__category .views-label{margin-bottom:1.4rem}.hb-card--structured .hb-card__columns{display:flex;flex-wrap:wrap}.hb-card--structured .hb-card__columns .views-field{margin-bottom:2.8rem;padding-right:1.1rem;width:100%}@media(min-width: 576px){.hb-card--structured .hb-card__columns .views-field{width:50%}}.su-brand-bar .fa-ext{display:none}.hb-global-footer .fa-ext{display:none}.hb-global-footer .su-global-footer__menu--global{font-weight:600}.su-site-search{position:relative}.su-site-search label{border:0;clip:rect(1px, 1px, 1px, 1px);clip-path:inset(100%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.su-site-search .form-actions{position:relative}.su-site-search input{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:1.2rem 3.6rem 1rem 1.4rem;display:inline-block;height:3.8rem;max-width:100%;border-radius:0.4rem;font-size:1.6rem}.su-site-search input::placeholder{opacity:1}.su-site-search input[type=submit]{margin-top:0;margin-right:0;margin-bottom:0;padding:0;background-color:transparent;background-repeat:no-repeat;background-position:center center;border-width:0;position:absolute;bottom:0;right:1.4rem;width:1.8rem;height:1.5rem;transform:scaleX(-1);opacity:.6;text-indent:-99999px;overflow:hidden}.su-site-search input[type=submit]:hover,.su-site-search input[type=submit]:active,.su-site-search input[type=submit]:focus{background-color:transparent;opacity:1}.su-site-search input[type=submit]:active,.su-site-search input[type=submit]:focus{box-shadow:none}.hb-local-footer{font-size:1.6rem;padding:4.8rem 0;border-top:1px solid}.hb-local-footer .hb-secondary-nav{display:block}.hb-local-footer .menu{list-style-type:none;margin:0;padding:0}.hb-local-footer .menu-item{margin-bottom:1.4rem;padding-right:1.8rem}@media(min-width: 992px){.hb-local-footer .menu-item{font-size:1.8rem}}.hb-local-footer .block__title,.hb-local-footer .hb-secondary-nav__heading{font-size:1.4rem;font-weight:700;margin:0 0 2rem;text-transform:uppercase}.hs-full-width .field-hs-hero-image{margin:calc(-1 * 4.8rem) 0 4.8rem}.hs-full-width .field-hs-hero-image img{width:100%}.hb-hero-overlay{margin:4.8rem 0 4.8rem}.hs-full-width .hb-hero-overlay{margin:calc(-1 * 4.8rem) 0 4.8rem}.hs-full-width .hb-hero-overlay__image-wrapper .field-hs-hero-image{margin:0}.paragraph--type--hs-carousel .field-hs-hero-image::before{display:none}.ptype-hs-postcard .hb-card__img{flex-shrink:0}.ptype-hs-postcard .hb-card__content{display:flex;flex-direction:column}.ptype-hs-postcard .hb-card__description{margin-bottom:0}.ptype-hs-postcard .hb-card__subcontent{order:2;margin-bottom:0}.ptype-hs-postcard .hb-card__subcontent-item{width:100%}.ptype-hs-postcard .hb-card__decorative-link::before{display:none}.field-hs-postcard-title h2,.field-hs-postcard-title h3,.field-hs-postcard-title h4,.field-hs-postcard-title h5,.field-hs-postcard-title h6{margin:0;overflow-wrap:break-word}.field-hs-postcard-link{position:relative;width:100%}.field-hs-postcard-link a{display:block;color:transparent;height:4.4rem;text-decoration:none;background-image:none}.field-hs-postcard-link a:hover,.field-hs-postcard-link a:focus{color:transparent;cursor:pointer}.field-hs-postcard-link a:hover::before,.field-hs-postcard-link a:focus::before{transform:translateX(0.625rem)}.field-hs-postcard-link a::before{content:"";position:absolute;left:0;height:4.4rem;width:4.4rem}.field-hs-postcard-link.decanter-button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none}.field-hs-postcard-link.decanter-button:hover,.field-hs-postcard-link.decanter-button:focus{background-color:transparent}.field-hs-postcard-link .fa-ext{display:none}.field-hs-postcard-body{font-weight:400;font-size:1.6rem;line-height:122%;margin-bottom:2.4rem}@media(min-width: 992px){.field-hs-postcard-body{font-weight:400;font-size:1.8rem;line-height:127%}}.hb-vertical-linked-card{position:relative;margin:2.4rem 0 4.8rem 3.1rem;padding-bottom:2.8rem}.hb-vertical-linked-card__img{margin-top:-2.4rem;overflow:hidden}.hb-vertical-linked-card__img img{width:100%;transition:transform 150ms ease-in-out}.hb-vertical-linked-card:hover .hb-vertical-linked-card__img img,.hb-vertical-linked-card:focus .hb-vertical-linked-card__img img{transform:scale(1.07)}.hb-vertical-linked-card__title{position:relative;margin:-2.4rem 2rem 0 -3.1rem;padding:2rem 5.4rem 2rem 2rem;font-size:2rem;hyphens:auto;line-height:118%;word-break:break-word}@media(min-width: 576px){.hb-vertical-linked-card__title{font-size:2.4rem}}@media(min-width: 768px){.hb-vertical-linked-card__title{font-size:2.7rem}}@media(min-width: 576px){.hb-grid .hb-vertical-linked-card__title,.ptype-hs-row .hb-vertical-linked-card__title{font-size:2rem;line-height:118%}}@media(min-width: 992px){.hb-grid .hb-vertical-linked-card__title,.ptype-hs-row .hb-vertical-linked-card__title{font-size:2.4rem;line-height:121%}}.hb-vertical-linked-card__title::after{content:"";display:block;height:4.8rem;width:4.8rem;background-repeat:no-repeat;background-position:left;background-size:55%;position:absolute;right:0;bottom:1rem;transition:background-position 150ms ease-in-out}.hb-vertical-linked-card:hover .hb-vertical-linked-card__title::after,.hb-vertical-linked-card:focus .hb-vertical-linked-card__title::after{background-position:6px}.hb-vertical-linked-card__link::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0}.hb-vertical-linked-card__link .fa-ext{display:none}.hb-vertical-linked-card__description{padding:2rem 2rem 0;font-size:1.6rem;line-height:127%}@media(min-width: 576px){.hb-vertical-linked-card__description{font-size:1.8rem}}.hb-vertical-linked-card__description .field-hs-postcard-body{margin-bottom:0}.block-layout-builder:not(:last-child){margin-bottom:2rem}.block-hs-blocks{padding:2rem 1.8rem}.block-hs-blocks:not(:last-child){margin-bottom:1.8rem}.block__title{margin-top:0;margin-bottom:2rem;width:100%}@media(min-width: 768px){.block__title{font-size:2.7rem;line-height:117%}}.field-label,.views-label{display:block;font-weight:700;font-size:1.5rem;font-style:normal;text-transform:uppercase;margin-bottom:0.4rem}.label-inline{display:flex}.label-inline .field-label{margin-right:0.6rem}.title h1,.title h2,.title h3,.title h4,.title h5,.title h6{margin:0}.email [class^=fa-]{display:none}.datetime{line-height:1.4}.address{margin:0;font-style:italic}.given-name,.family-name{font-weight:600;font-style:normal}.string div div{margin-bottom:0.6rem}.layout-builder-form,.ui-dialog-off-canvas,.block-categories,.layout-builder-discard-changes{font-size:1.6rem}.hb-table-pattern{width:100%;border-collapse:collapse;font-size:1.3rem;text-align:left;border:1px solid}@media(min-width: 576px){.hb-table-pattern{font-size:1.6rem}}@media(min-width: 768px){.hb-table-pattern{display:table}}.hb-table-pattern__header{display:none}@media(min-width: 768px){.hb-table-pattern__header{display:table-header-group}}.hb-table-pattern__caption{font-size:1.4rem;padding:2rem 0}@media(min-width: 768px){.hb-table-pattern__caption{font-size:1.6rem;padding:2.8rem 0}}.hb-table-pattern__row{text-transform:uppercase}@media(min-width: 768px){.hb-table-pattern__row{display:table-row}}.hb-table-pattern__row>:nth-child(n){position:sticky;top:0;padding:1.6rem;vertical-align:top;border:1px solid}.hb-table-pattern__row>:nth-child(n) a:hover,.hb-table-pattern__row>:nth-child(n) a:focus{box-shadow:none}@media(min-width: 768px){.hb-table-pattern__row>:nth-child(n){display:table-cell}}@media(min-width: 768px){.hb-table-pattern__body{display:table-row-group}}.hb-table-row{padding-bottom:1.4rem}@media(min-width: 768px){.hb-table-row{display:table-row}}.hb-table-row::before{content:"";display:block;height:1.1rem}@media(min-width: 768px){.hb-table-row::before{display:none}}.hb-table-row__column{padding:1.6rem;vertical-align:top;border:1px solid}@media(min-width: 768px){.hb-table-row__column{display:table-cell}}.hb-table-row__column:first-of-type{margin-top:0.4rem}.hb-table-pattern .hb-table-row__column{border:0 none}@media(min-width: 768px){.hb-table-pattern .hb-table-row__column{border:1px solid}}.hb-table-row__column .views-field-body{padding-bottom:2.8rem}.hb-table-row__column .views-field-body .field-content p{font-size:1.3rem;margin:1.4rem 0 1rem}@media(min-width: 576px){.hb-table-row__column .views-field-body .field-content p{font-size:1.6rem}}.hb-table-row__heading{font-weight:700;margin:0 0 0.4rem;text-transform:uppercase}@media(min-width: 576px){.hb-table-row__heading{margin:0 0 0.6rem}}@media(min-width: 768px){.hb-table-row__heading{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}}.hb-table-row__heading--hidden{position:absolute;clip:rect(1px, 1px, 1px, 1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.hb-not-layout-builder-main-content{padding-bottom:4.2rem}.hb-not-layout-builder-main-content form{margin-bottom:4.2rem}.hb-not-layout-builder-main-content .form-actions{display:inline-block}.hb-not-layout-builder-main-content .form-item{margin-bottom:2rem}@media(min-width: 576px){.hb-not-layout-builder-main-content .form-item{display:inline-block;margin-right:1.6rem}}.pager__items{list-style:none;margin:1rem 0 0;padding:0;text-align:center}.pager__item{display:inline;font-weight:600;margin:1rem}.pager__item:first-of-type{margin-left:0}.pager__item:last-of-type{margin-right:0}.pager__item a{display:inline-block;padding:0.6rem;border-radius:30px;min-width:3.1rem;text-align:center;text-decoration:none;transition:background-color 150ms ease-in-out;background-image:none}.pager__item.is-active{display:inline-block;border-radius:30px;padding:0}.pager__item.is-active a:hover{cursor:default;background-color:transparent}.pager__item--first a,.pager__item--last a,.pager__item--previous a,.pager__item--next a{width:auto}.pager__item--first a:focus,.pager__item--first a:hover,.pager__item--last a:focus,.pager__item--last a:hover,.pager__item--previous a:focus,.pager__item--previous a:hover,.pager__item--next a:focus,.pager__item--next a:hover{background-color:transparent;text-decoration:underline}.hb-heading-6{text-transform:uppercase}.hb-body-small{font-weight:400;font-size:1.6rem;line-height:122%}.hb-body-medium{font-weight:400;font-size:1.8rem;line-height:127%}.hb-local-footer .hb-link-inline:focus,.hb-local-footer .hb-link-inline:hover{background-image:none}.hb-highlighted-label .field-label{font-size:1.6rem;font-style:normal;text-transform:inherit}.hb-subtitle{font-weight:600;line-height:122%;font-size:1.6rem}@media(min-width: 992px){.hb-subtitle{font-size:1.8rem}}.hb-blockquote::after,.hb-blockquote::before{content:""}.hb-blockquote>p,.hb-blockquote>div{font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}.hb-blockquote>p::before,.hb-blockquote>div::before{position:absolute;content:open-quote;margin-left:-10px}.hb-blockquote>p::after,.hb-blockquote>div::after{position:absolute;content:close-quote;margin-right:10px}.fa,.fab,.fal,.far,.fas{transition:125ms color ease-out}a.fa,a.fab,a.fal,a.far,a.fas,a>.fa,a>.fab,a>.fal,a>.far,a>.fas{text-decoration:none}.fa-fw.fa-border{box-sizing:content-box}.fa-ext{display:none}.field-hs-text-area{margin-bottom:4.8rem}.field-hs-text-area a:not([href]):not([class]){border-bottom:0;transition:none;background-image:none}.hs-credits{font-size:1.4rem;font-style:italic}.hs-font-lead{font-size:2rem;font-weight:600;line-height:127%}@media(min-width: 992px){.hs-font-lead{font-size:2.2rem}}.hs-caption{font-size:1.4rem}.hs-short-line-length{max-width:70rem}.hs-table--borderless thead th{border:0}.hs-table--borderless td{border-left:0;border-right:0}.emphasized-text{font-style:italic;font-weight:inherit;font-size:inherit}.align-right{margin:2.8rem 0 2.8rem 2.8rem}.align-left{margin:2.8rem 2.8rem 2.8rem 0}.align-center img{margin:2.8rem auto}blockquote:nth-child(n)::after,blockquote:nth-child(n)::before{content:""}.hb-local-footer blockquote:nth-child(n){margin:0 0 2rem}blockquote:nth-child(n) p{font-weight:400;font-size:1.8rem;line-height:127%;font-style:italic;line-height:140%;position:relative;quotes:'"' '"'}blockquote:nth-child(n) p::before{position:absolute;content:open-quote;margin-left:-10px}blockquote:nth-child(n) p::after{position:absolute;content:close-quote;margin-right:10px}a.hs-button,button.hs-button,.hs-button a,.hs-button button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.6rem;text-decoration:none;padding:0.4rem 2rem}a.hs-button--big,button.hs-button--big,.hs-button--big a,.hs-button--big button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.8rem;text-decoration:none;padding:0.8rem 2rem}a.hs-secondary-button,button.hs-secondary-button,.hs-secondary-button a,.hs-secondary-button button{background-color:transparent;color:inherit;border:0;margin:0;padding:0;text-align:inherit;font:inherit;border-radius:0;appearance:none;text-decoration:none;display:inline-block;padding:0 2rem;font-family:"Source Sans Pro","Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;text-align:center;display:inline-block;font-size:1.6rem;text-decoration:none;padding:0.4rem 2rem;background-color:transparent}a.hs-secondary-button:active,a.hs-secondary-button:focus,button.hs-secondary-button:active,button.hs-secondary-button:focus,.hs-secondary-button a:active,.hs-secondary-button a:focus,.hs-secondary-button button:active,.hs-secondary-button button:focus{background-color:transparent}.hb-local-footer--dark a.hs-secondary-button,.hb-local-footer--dark button.hs-secondary-button,.hb-local-footer--dark .hs-secondary-button a,.hb-local-footer--dark .hs-secondary-button button{display:inline-block;background-color:transparent;border-radius:4.2rem;font-weight:600;padding:0.4rem 2rem;text-decoration:none;text-align:center;transition:all 200ms ease-in-out;padding:0.4rem 2rem}a[href*="//"].hs-external-link,.hs-external-link a[href*="//"]{margin-right:0.2rem}.hb-local-footer a[href*="//"].hs-external-link:focus,.hb-local-footer a[href*="//"].hs-external-link:hover,.hb-local-footer .hs-external-link a[href*="//"]:focus,.hb-local-footer .hs-external-link a[href*="//"]:hover{background-image:none}a.hs-more-link,button.hs-more-link,.hs-more-link a,.hs-more-link button{margin-bottom:2rem;font-weight:700;font-size:1.8rem;text-decoration:none;border:none;background:none;padding:0}li.cke_panel_listItem a:hover,li.cke_panel_listItem a:focus{box-shadow:initial}.contextual-region.paragraph .contextual{right:0px}.contextual-region.paragraph .contextual-region .contextual{right:32px}.contextual-region.paragraph .contextual-region .contextual-region .contextual{right:64px}.contextual-region.paragraph .contextual-region .contextual-region .contextual-region .contextual{right:96px}.contextual-region.paragraph .contextual-region .contextual-region .contextual-region .contextual-region .contextual{right:128px}.contextual-links a:hover,.contextual-links a:focus{box-shadow:initial}.hb-local-footer--dark .contextual-links a:hover,.hb-local-footer--dark .contextual-links a:focus{color:#000 !important}.block--local-tasks{max-width:120rem !important;margin:0 auto !important;width:calc(100% - (2 * 3.2rem)) !important;margin-bottom:4rem !important;border-bottom:2px solid #0678be}@media(min-width: 768px){.block--local-tasks{width:calc(100% - (2 * 4.8rem)) !important}}.block--local-tasks .tabs{margin:4rem 0 0;padding:0}.block--local-tasks .tabs__tab{display:inline-block;background-color:#eaf6fd;list-style-type:none;padding:0.8rem 1.2rem;margin-top:0.4rem;font-size:1.5rem;transition:background-color 250ms ease-in-out}.block--local-tasks .tabs__tab a{color:#000;text-decoration:none;background-image:none}.block--local-tasks .tabs__tab--active{background-color:#0678be}.block--local-tasks .tabs__tab--active a{color:#fff}.block--local-tasks .tabs__tab:hover:not(.tabs__tab--active){background-color:#d1eafa}.hb-position-relative{position:relative}.hb-columns{display:flex;flex-wrap:wrap}.hb-columns>div{width:50%;padding-right:1.1rem}.hb-inline,.hb-inline-pipe{margin-bottom:2rem}.hb-inline-pipe>div{padding-right:0}@media(min-width: 576px){.hb-inline-pipe>div{display:flex}}@media(min-width: 576px){.hb-inline-pipe>div::after{margin:0 1rem;content:"|"}}.hb-inline-pipe>div:last-child{margin-bottom:2rem}@media(min-width: 576px){.hb-inline-pipe>div:last-child{margin-bottom:initial}}.hb-inline-pipe>div:last-child::after{content:""}.hb-well,.hs-paragraph-style--well,.hs-paragraph-style--well-full-width{padding:2rem 1.8rem;border:0 none}.hb-divider{width:100%}.hb-borderless{border:0 none;padding:0}@media(min-width: 768px){.hb-three-column-w-image .hb-main-body-detail-image{float:right;margin:0 0 2.8rem 2.8rem}.hb-three-column-w-image .hb-main-body-detail-image::after{clear:both;content:"";display:table}}.hb-categories.entity-reference div div:not([class]){text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories.string div div{text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories.label-hidden>div:not([class]){text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-categories ol,.hb-categories ul{list-style-type:none;padding:0;margin:0 0 1rem}.hb-categories ol li,.hb-categories ul li{text-transform:uppercase;position:relative;display:inline-block;margin:0 1.2rem 0.5rem;padding:0}.hb-pill-link-list ol,.hb-pill-link-list ul,.hb-pill-list ol,.hb-pill-list ul{padding:0;margin:0}.hb-pill-link-list li,.hb-pill-list li{display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list li::before,.hb-pill-list li::before{display:none}.hb-pill-link-list div:not([class])>div:not([class]),.hb-pill-list div:not([class])>div:not([class]){display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list.label-hidden>div:not([class]),.hb-pill-list.label-hidden>div:not([class]){display:inline-block;margin-right:0.8rem;margin-bottom:0.8rem}.hb-pill-link-list a{background-image:none !important;color:inherit !important}.hb-pill-link-list a .fa-ext::after{height:1.1rem;margin-bottom:0}.hc-pairing-ocean{--palette--primary: #00505c;--palette--secondary: #148762;--palette--tertiary: #007c8f;--palette--primary-hero-overlay: rgba(0, 36, 41, 0.97);--palette--primary-dark: #002429;--palette--secondary-active: #00ce9d;--palette--secondary-highlight: #e4f4ee;--palette--secondary-highlight-darken: #9cd6c0;--palette--secondary-darken-12: #0c523b;--palette--tertiary-highlight: #c2f7ff;--palette--tertiary-highlight-darken-10: #8ff0ff;--palette--tertiary-reversed: #00d5f5;--palette--tertiary-reversed-darken-10: #00a9c2;--palette--tertiary-darken-20: #002429}.hc-pairing-mountain{--palette--primary: #64305f;--palette--secondary: #00638e;--palette--tertiary: #148762;--palette--primary-hero-overlay: rgba(100, 48, 95, 0.97);--palette--primary-dark: #64305f;--palette--secondary-active: #0098db;--palette--secondary-highlight: #d5effe;--palette--secondary-highlight-darken: #71c9fc;--palette--secondary-darken-12: #003851;--palette--tertiary-highlight: #befde5;--palette--tertiary-highlight-darken-10: #8dfbd1;--palette--tertiary-reversed: #74fbc7;--palette--tertiary-reversed-darken-10: #42fab3;--palette--tertiary-darken-20: #072e22}.hc-pairing-sand{--palette--primary: #600e0e;--palette--secondary: #8c1515;--palette--tertiary: #b1040e;--palette--primary-hero-overlay: rgba(47, 36, 36, 0.97);--palette--primary-dark: #2f2424;--palette--secondary-active: #b1040e;--palette--secondary-highlight: #e8e9ea;--palette--secondary-highlight-darken: #b3b6b9;--palette--secondary-darken-12: #570d0d;--palette--tertiary-highlight: #e8e9ea;--palette--tertiary-highlight-darken-10: #cdd0d2;--palette--tertiary-reversed: #cecfd1;--palette--tertiary-reversed-darken-10: #b4b5b8;--palette--tertiary-darken-20: #4d0206}.ht-pairing-default{--palette--primary: #8c1515;--palette--secondary: #b3995d;--palette--tertiary: #b1040e}.ht-pairing-light{--palette--primary: #2f2424;--palette--secondary: #b3995d;--palette--tertiary: #8c1515} \ No newline at end of file diff --git a/docroot/themes/humsci/humsci_basic/humsci_basic.info.yml b/docroot/themes/humsci/humsci_basic/humsci_basic.info.yml index 1d38fafa88..7ae51a3495 100644 --- a/docroot/themes/humsci/humsci_basic/humsci_basic.info.yml +++ b/docroot/themes/humsci/humsci_basic/humsci_basic.info.yml @@ -5,6 +5,7 @@ package: 'Humanities & Sciences' core: 8.x core_version_requirement: ^8 libraries: + - humsci_basic/no-js - humsci_basic/base regions: diff --git a/docroot/themes/humsci/humsci_basic/humsci_basic.libraries.yml b/docroot/themes/humsci/humsci_basic/humsci_basic.libraries.yml index 4edc2afa1b..e8a7ff204c 100644 --- a/docroot/themes/humsci/humsci_basic/humsci_basic.libraries.yml +++ b/docroot/themes/humsci/humsci_basic/humsci_basic.libraries.yml @@ -1,3 +1,5 @@ base: js: - src/js/build/scripts.js: {} + scripts/build/scripts.js: {} + dependencies: + - core/modernizr diff --git a/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.html.twig b/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.html.twig new file mode 100644 index 0000000000..f9fc3927af --- /dev/null +++ b/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.html.twig @@ -0,0 +1,94 @@ +{% + set classes = [ + 'hb-card', + 'hb-card--horizontal', + 'hb-card--horizontal-date-stacked' + ] +%} + +{%- set attributes = attributes.addClass(classes) -%} +{%- set url = url|render|striptags('')|trim -%} +{%- set has_image = image|render|striptags('')|trim -%} + + + + {% if image or month or day %} +
+ + {% if has_image is not empty %} +
+ {{ image }} +
+ {% endif %} + + {% if month or day %} +
+ {% if month %} +
{{ month }}
+ {% endif %} + + {% if day %} +
{{ day }}
+ {% endif %} +
+ {% endif %} + +
+ {% endif %} + + + diff --git a/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.ui_patterns.yml b/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.ui_patterns.yml new file mode 100644 index 0000000000..786258289a --- /dev/null +++ b/docroot/themes/humsci/humsci_basic/patterns/date-stacked-horizontal-card/date-stacked-horizontal-card.ui_patterns.yml @@ -0,0 +1,47 @@ +date_stacked_horizontal_card: + label: "Date Stacked Horizontal Card" + fields: + title: + label: "Title" + type: text + preview: "Date Stacked Horizontal Card Title" + image: + label: "Image" + type: image + preview: + theme: image + uri: "http://via.placeholder.com/360x360" + description: + label: "Description" + preview: "You can add a short description to a date stacked horizontal card." + type: text + month: + label: "Month" + type: text + preview: "Oct" + day: + label: "Day" + type: text + preview: "31" + category: + label: "Category" + preview: "Category" + type: text + time: + label: "Time" + type: text + preview: "5:00 PM" + location: + label: "Location" + type: text + preview: "Location" + speaker: + label: "Speaker" + preview: "Speaker Name" + type: text + button: + label: "Button" + preview: 'Optional Button' + + + use: "@humsci_basic/date-stacked-horizontal-card/date-stacked-horizontal-card.html.twig" diff --git a/docroot/themes/humsci/humsci_basic/readme.md b/docroot/themes/humsci/humsci_basic/readme.md index 340ebf7dbf..cff11f0832 100644 --- a/docroot/themes/humsci/humsci_basic/readme.md +++ b/docroot/themes/humsci/humsci_basic/readme.md @@ -25,7 +25,7 @@ This theme contains its own node module dependencies and build system which is s ## Builds -Frontend assets are built using the Grunt task runner, but are run using npm scripts as shortcuts. CSS assets are compiled to their respective child theme `css/` directory. JS assets are compiled to the `src/js/scripts.js` file. +Frontend assets are built using the Grunt task runner, but are run using npm scripts as shortcuts. CSS assets are compiled to their respective child theme `css/` directory. JS assets are compiled to the `scripts/build/scripts.js` file. - `npm run build` - Compile Sass and JS for production - `npm run watch` - Compile a CSS and JS build and watch for changes in the existing `.scss` or `.js` files diff --git a/docroot/themes/humsci/humsci_basic/scripts/build/scripts.js b/docroot/themes/humsci/humsci_basic/scripts/build/scripts.js new file mode 100644 index 0000000000..80e2424323 --- /dev/null +++ b/docroot/themes/humsci/humsci_basic/scripts/build/scripts.js @@ -0,0 +1 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t){function n(e){var t=document.createElement("div");t.className="hb-table-wrap",e.parentNode.insertBefore(t,e),t.appendChild(e)}for(var r=document.querySelectorAll("table"),a=document.querySelectorAll(".hb-table-pattern"),o=0;o div.hb-table-pattern__row > div",", ").concat("div.hb-table-pattern__header > div.hb-table-pattern__row > span",", ").concat("div.hb-table-pattern__header > div.hb-table-pattern__row > p")),r=document.querySelectorAll(".hb-table-row");if(r)for(var a=0;a=992&&!a&&(o(i,l,!0),a=!0),r<992&&a&&(o(i,l,!1),a=!1)})));var c=document.querySelectorAll(".hb-nested-toggler"),u=window.innerWidth;if(c)for(var d=function(e){var t=c[e],n=t.getAttribute("id"),r=document.querySelector('[aria-labelledby="'.concat(n,'"]')),a=t.parentNode;if(!r)return"continue";t.addEventListener("click",(function(e){e.preventDefault();var n="true"===e.target.getAttribute("aria-expanded");o(t,r,!n)})),t.addEventListener("keydown",(function(e){if(32===e.which){e.preventDefault();var n="true"===e.target.getAttribute("aria-expanded");o(t,r,!n)}})),window.addEventListener("resize",(function(){(u=window.innerWidth)>=992&&o(t,r,!1)})),["focusin","click"].forEach((function(e){document.body.addEventListener(e,(function(e){u>=992&&!a.contains(e.target)&&o(t,r,!1)}),!1)}))},f=0;f div.hb-table-pattern__row > div",", ").concat("div.hb-table-pattern__header > div.hb-table-pattern__row > span",", ").concat("div.hb-table-pattern__header > div.hb-table-pattern__row > p"));document.querySelectorAll(".hb-table-row").forEach((function(e){var t=n(e.querySelectorAll(".hb-table-row__heading")),i=0;t.forEach((function(e){e.innerHTML=s[i].innerHTML,i+=1}))}))},function(e,t,n){"use strict";n.r(t);n(0);var s=document.querySelectorAll(".su-secondary-nav");class i{constructor(e,t,n={}){this.elem=e,this.item=t,this.itemActiveClass=n.itemActiveClass||"active",this.itemActiveTrailClass=n.itemActiveTrailClass||"active-trail",this.itemExpandedClass=n.itemExpandedClass||"expanded"}setActivePath(){let e=window.location.pathname,t=window.location.hash||"",n=window.location.search||"",s=!1;if([this.elem.querySelector("a[href*='"+t+"']"),this.elem.querySelector("a[href*='"+n+"']"),this.elem.querySelector("a[href='"+e+n+t+"']"),this.elem.querySelector("a[href*='"+e+n+"']")].forEach((function(e){!s&&e&&(s=e)})),s)for(;s;){if("LI"===s.tagName){s.classList.add(this.itemActiveClass);break}s=s.parentNode}}expandActivePath(){let e=this.elem.querySelectorAll("."+this.itemActiveClass);e.length&&e.forEach(e=>{for(;e&&e!==this.elem;)"LI"===e.tagName&&(e.classList.add(this.itemExpandedClass),e.classList.add(this.itemActiveTrailClass),"function"==typeof this.item.expandActivePathItem&&this.item.expandActivePathItem(e)),e=e.parentNode})}}const r=e=>"Home"===e||122===e,a=e=>"End"===e||123===e,o=e=>"Tab"===e||9===e,l=e=>"Escape"===e||"Esc"===e||27===e,c=e=>" "===e||"Spacebar"===e||32===e,h=e=>"Enter"===e||13===e,d=e=>"ArrowLeft"===e||"Left"===e||37===e,u=e=>"ArrowRight"===e||"Right"===e||39===e,v=e=>"ArrowUp"===e||"Up"===e||38===e,p=e=>"ArrowDown"===e||"Down"===e||40===e;class m{constructor(e,t){this.elem=e,this.handler=t,this.createEventListeners()}createEventListeners(){this.elem.addEventListener("keydown",this),this.elem.addEventListener("click",this),this.elem.addEventListener("preOpenSubnav",this),this.elem.addEventListener("postOpenSubnav",this)}handleEvent(e){const t="on"+(e=e||window.event).type.charAt(0).toUpperCase()+e.type.slice(1),n=e.target||e.srcElement;"onKeydown"===t?this.onKeydown(e,n):"onClick"===t?this.onClick(e,n):this.callEvent(t,e,n)}onKeydown(e,t){let n=(e=>{const t={home:r,end:a,tab:o,escape:l,space:c,enter:h,arrowLeft:d,arrowRight:u,arrowUp:v,arrowDown:p};for(var n of Object.entries(t))if(n[1](e))return n[0];return!1})(e.key||e.keyCode);if(!n)return;let s="onKeydown"+n.charAt(0).toUpperCase()+n.slice(1);this.callEvent(s,e,t)}onClick(e,t){this.callEvent("onClick",e,t)}callEvent(e,t,n){"function"==typeof this.handler.eventRegistry[e]&&new this.handler.eventRegistry[e](this.handler,t,n).init()}}class g{constructor(e,t){this.item=e,this.what=t}fetch(){try{switch(this.what){case"first":return this.item.parentNode.firstElementChild.firstChild;case"last":return this.item.parentNode.lastElementChild.firstChild;case"firstElement":return this.item.parentNode.firstElementChild;case"lastElement":return this.item.parentNode.lastElementChild;case"next":return this.item.nextElementSibling.querySelector("a");case"prev":return this.item.previousElementSibling.querySelector("a");case"nextElement":return this.item.nextElementSibling;case"prevElement":return this.item.previousElementSibling;case"parentItem":var e=this.item.parentNode.parentNode;return"NAV"!==e.tagName&&e.querySelector("a");case"parentButton":return this.item.parentNode.parentNode.querySelector("button");case"parentNav":return this.item.parentNode.parentNode;case"parentNavLast":return this.item.parentNode.parentNode.parentNode.lastElementChild.querySelector("a");case"parentNavFirst":return this.item.parentNode.parentNode.parentNode.firstElementChild.querySelector("a");case"parentNavNext":return this.item.parentNode.parentNode.nextElementSibling;case"parentNavNextItem":return this.item.parentNode.parentNode.nextElementSibling.querySelector("a");case"parentNavPrev":return this.item.parentNode.parentNode.previousElementSibling;case"parentNavPrevItem":return this.item.parentNode.parentNode.previousElementSibling.querySelector("a");case"firstSubnavLink":return this.item.querySelector(":scope > ul li a");case"firstSubnavItem":return this.item.querySelector(":scope > ul li");case"subnav":return this.item.querySelector(":scope > ul");default:return!1}}catch(e){return!1}}}class f{constructor(e,t,n){this.item=e,this.elem=e.elem,this.masterNav=e.masterNav,this.parentNav=e.parentNav,this.target=n,this.event=t}isOnTarget(){return this.target===this.elem}validate(){return!!this.isOnTarget()}init(){this.validate()&&this.exec()}getElement(e,t=this.elem.parentNode){return new g(t,e).fetch()}}class y extends f{exec(){this.event.preventDefault();let e=!1;this.item.getDepth()>1?(this.event.stopPropagation(),this.parentNav.closeSubNav(),e=this.getElement("parentItem")):(this.masterNav.closeAllSubNavs(),e=this.getElement("first",this.item.parentNode)),e&&e.focus()}}class b extends f{exec(){this.event.stopPropagation(),this.event.preventDefault(),window.location=this.target.getAttribute("href")}}class w extends f{exec(){this.event.preventDefault();var e=this.getElement("first");e&&e.focus()}}class E extends f{exec(){this.event.preventDefault();let e=this.getElement("next");e?e.focus():new w(this.item,this.event,this.target).init()}}class N extends f{exec(){this.event.preventDefault();var e=this.getElement("last");e&&e.focus()}}class S extends f{exec(){this.event.preventDefault();let e=this.getElement("prev");e?e.focus():new N(this.item,this.event,this.target).init()}}class x extends f{exec(){this.event.preventDefault(),this.item.getDepth()>1?this.nestedLeft():1===this.item.getDepth()&&this.firstLevelLeft()}firstLevelLeft(){new S(this.item,this.event,this.target).init()}nestedLeft(){let e=this.getElement("parentItem")||this.getElement("parentNavLast");this.parentNav.closeSubNav(),e&&e.focus()}}class A extends f{exec(){if(this.item.getDepth()>1){let e=this.getElement("parentNavNext");this.parentNav.closeSubNav(),e?e.querySelector("a").focus():this.getElement("parentNavFirst").focus()}else{new E(this.item,this.event,this.target).init()}}}class C extends f{exec(){this.event.stopPropagation(),this.event.preventDefault(),window.location=this.target.getAttribute("href")}}class L extends f{exec(){const e=event.shiftKey;let t=null,n=this.masterNav.elem.querySelector("a"),s=this.masterNav.elem.firstElementChild.lastElementChild.querySelector("li:last-child");if(e){if(t=this.getElement("prev"),this.target===n)return void this.masterNav.closeAllSubNavs()}else if(t=this.getElement("next"),this.target.parentNode===s)return void this.masterNav.closeAllSubNavs();t||this.item.getDepth()>1&&this.parentNav.closeSubNav()}}class q{constructor(e,t,n=null,s={}){this.elem=e,this.item=e.parentNode,this.masterNav=t,this.parentNav=n,this.depth=s.depth||1,this.eventRegistry=this.createEventRegistry(s),this.dispatch=new m(e,this)}createEventRegistry(e){var t={onKeydownHome:w,onKeydownEnd:N,onKeydownTab:L,onKeydownSpace:b,onKeydownEnter:C,onKeydownEscape:y,onKeydownArrowUp:S,onKeydownArrowRight:A,onKeydownArrowDown:E,onKeydownArrowLeft:x};return Object.assign(t,e.eventRegistry)}getDepth(){return this.depth}}class _ extends f{exec(){this.parentNav.isExpanded()?(this.parentNav.closeSubNav(),this.elem.blur(),this.elem.focus()):this.parentNav.openSubNav()}}class I extends f{exec(){if(this.event.preventDefault(),new _(this.item,this.event,this.target).init(),this.parentNav.isExpanded()){var e=this.getElement("firstSubnavLink");e&&e.focus()}}}class K extends f{exec(){if(this.event.preventDefault(),this.parentNav.isExpanded())event.stopPropagation(),event.preventDefault(),this.getElement("firstSubnavLink").focus();else{var e=this.getElement("next")||this.getElement("parentNavNext")||this.getElement("last");e&&e.focus()}}}class P extends f{exec(){event.stopPropagation(),event.preventDefault(),this.parentNav.elem.focus()}}class D extends f{exec(){if(this.event.preventDefault(),this.parentNav.isExpanded())event.stopPropagation(),event.preventDefault(),this.parentNav.closeSubNav(),this.getElement("parentItem").focus();else{var e=this.getElement("prev")||this.getElement("parentNavPrev")||this.getElement("first");e&&e.focus()}}}class R{constructor(e,t,n){this.parentNav=t,this.masterNav=t.masterNav,this.toggle=e,this.elem=e,this.options=n,this.eventRegistry=this.createEventRegistry(n),this.dispatch=new m(e,this)}createEventRegistry(e){var t={onClick:_,onKeydownSpace:I,onKeydownEnter:I,onKeydownHome:w,onKeydownEnd:N,onKeydownEscape:y,onKeydownArrowUp:D,onKeydownArrowRight:I,onKeydownArrowDown:K,onKeydownArrowLeft:P};return Object.assign(t,e.eventRegistry)}}class O extends f{exec(){if(!event.shiftKey)return void(this.getElement("nextElement")||1!==this.item.getDepth()||this.masterNav.closeAllSubNavs());this.getElement("prev")||this.parentNav.closeSubNav()}}class T extends f{exec(){this.item.toggleElement.focus()}}class j{constructor(e,t,n=null,s={}){this.elem=e,this.item=e.parentNode,this.masterNav=t,this.parentNav=n,this.depth=s.depth||1,this.options=Object.assign({itemExpandedClass:"su-secondary-nav__item--expanded",toggleClass:"su-nav-toggle",toggleLabel:"expand menu",subNavToggleText:"+"},s),this.eventRegistry=this.createEventRegistry(s),this.dispatch=new m(e,this),this.toggleElement=this.createToggleButton(),this.item.insertBefore(this.toggleElement,this.item.querySelector("ul")),this.toggle=new R(this.toggleElement,this,s)}createEventRegistry(e){var t={onKeydownSpace:b,onKeydownEnter:b,onKeydownHome:w,onKeydownEnd:N,onKeydownTab:O,onKeydownEscape:y,onKeydownArrowUp:S,onKeydownArrowRight:T,onKeydownArrowDown:E,onKeydownArrowLeft:x};return Object.assign(t,e.eventRegistry)}createToggleButton(){let e=document.createElement("button"),t=document.createTextNode(this.options.toggleText),n="toggle-"+Math.random().toString(36).substr(2,9);return e.setAttribute("class",this.options.toggleClass),e.setAttribute("aria-expanded","false"),e.setAttribute("aria-label",this.options.toggleLabel),e.setAttribute("id",n),e.appendChild(t),e}isExpanded(){return"true"===this.toggleElement.getAttribute("aria-expanded")}openSubNav(){this.toggleElement.setAttribute("aria-expanded",!0),this.item.classList.add(this.options.itemExpandedClass)}closeSubNav(){this.toggleElement.setAttribute("aria-expanded",!1),this.item.classList.remove(this.options.itemExpandedClass)}getDepth(){return this.depth}}class k extends class{constructor(e,t={}){this.elem=e;this.options=Object.assign({itemClass:"su-secondary-nav__item",itemExpandedClass:"su-secondary-nav__item--expanded",itemActiveClass:"su-secondary-nav__item--current",itemActiveTrailClass:"su-secondary-nav__item--active-trail",itemParentClass:"su-secondary-nav__item--parent",eventRegistry:{}},t),this.elem.classList.remove("no-js"),this.eventRegistry=this.createEventRegistry(t),this.dispatch=new m(e,this),this.activePath=new i(e,this,this.options),this.activePath.setActivePath(),this.navItems=[],this.subNavItems=[],this.parentItemSelector=":scope > ul > ."+this.options.itemParentClass,this.navItemSelector=":scope > ul > ."+this.options.itemClass+":not(."+this.options.itemParentClass+")"}expandActivePathItem(e){}createEventRegistry(e){var t={onKeydownEscape:y,onKeydownSpace:b};return Object.assign(t,e.eventRegistry)}createSubNavItems(){var e=this.elem.querySelectorAll(this.parentItemSelector),t=this.elem.querySelectorAll(this.navItemSelector);e.length>=1&&this.createParentItems(e),t.length>=1&&this.createNavItems(t)}createParentItems(e,t=1,n=null){e.forEach(e=>{var s=e.querySelector("a"),i=e.querySelectorAll(this.parentItemSelector),r=e.querySelectorAll(this.navItemSelector),a=t+1,o=null;s&&(o=this.newParentItem(s,t,n)),i.length>=1&&this.createParentItems(i,a,o),r.length>=1&&this.createNavItems(r,a,o)})}createNavItems(e,t=1,n=null){e.forEach(e=>{var s=e.querySelector("a");s&&this.newNavItem(s,t,n)})}closeAllSubNavs(){this.subNavItems.forEach((e,t)=>{e.closeSubNav()})}closeSubNav(){this.closeAllSubNavs()}}{constructor(e,t={}){super(e,t=Object.assign({itemExpandedClass:"su-secondary-nav__item--expanded",toggleClass:"su-nav-toggle",toggleLabel:"expand menu",subNavToggleText:"+"},t)),this.createSubNavItems(),this.activePath.expandActivePath()}expandActivePathItem(e){var t=e.querySelector("."+this.options.toggleClass);t&&t.setAttribute("aria-expanded","true")}newParentItem(e,t,n){var s=new j(e,this,n,{itemExpandedClass:this.options.itemExpandedClass,depth:t});return this.subNavItems.push(s),s}newNavItem(e,t,n){var s=new q(e,this,n,{depth:t});return this.navItems.push(s),s}}document.addEventListener("DOMContentLoaded",e=>{s.forEach((e,t)=>{e.className.match(/su-secondary-nav--buttons/)&&new k(e)})});n(1),n(2),n(3),n(4);var M,U,H=function(e,t,n){e.setAttribute("aria-expanded",n),t.setAttribute("aria-hidden",!n)},B=document.querySelector(".hb-main-nav__toggle"),W=document.querySelector(".hb-main-nav__menu-lv1"),z=window.innerWidth;B&&(window.innerWidth<992&&(H(B,W,!1),M=!0),B.addEventListener("click",(function(){M?(H(B,W,!0),M=!1):(H(B,W,!1),M=!0)})),window.addEventListener("resize",(function(){(z=window.innerWidth)>=992&&!U&&(H(B,W,!0),M=!1,U=!0),z<992&&U&&(H(B,W,!1),M=!0,U=!1)})));var F=document.querySelectorAll(".hb-nested-toggler"),V=window.innerWidth;if(F)for(var G=function(e){var t=F[e],n=t.getAttribute("id"),s=document.querySelector('[aria-labelledby="'.concat(n,'"]')),i=t.parentNode,r=!!i.classList.contains("hb-main-nav__item--active-trail"),a=void 0;s&&(r&&V<992?(H(t,s,!0),a=!1):(H(t,s,!1),a=!0),t.addEventListener("click",(function(e){e.preventDefault(),a?(H(t,s,!0),a=!1):(H(t,s,!1),a=!0)})),t.addEventListener("keydown",(function(e){32===e.which&&(e.preventDefault(),a?(H(t,s,!0),a=!1):(H(t,s,!1),a=!0))})),window.addEventListener("resize",(function(){(V=window.innerWidth)>=992&&(H(t,s,!1),a=!0)})),["focusin","click"].forEach((function(e){document.body.addEventListener(e,(function(e){V>=992&&!i.contains(e.target)&&(H(t,s,!1),a=!0)}),!1)})))},J=0;J