From 62e82e9f968e79156b6bcca09e069c1744994c61 Mon Sep 17 00:00:00 2001 From: Janette Day Date: Wed, 1 Nov 2017 22:30:15 -0500 Subject: [PATCH] test the 1.14 upgrade --- build-dkan.make | 5 +- dkan/.ahoy/dkan.ahoy.yml | 2 +- dkan/.ahoy/theme.ahoy.yml | 2 +- dkan/.github/CONTRIBUTING.md | 2 +- dkan/.github/PULL_REQUEST_TEMPLATE.md | 9 +- dkan/CHANGELOG.txt | 43 +- dkan/README.md | 86 +- dkan/dkan-init.sh | 2 +- dkan/dkan.info | 4 + dkan/dkan.install | 18 + .../data_and_content/adding_new_content.rst | 101 +- .../managing_existing_content.rst | 99 +- dkan/docs/admin/index.rst | 9 +- dkan/docs/admin/people/index.rst | 3 +- dkan/docs/admin/people/user_management.rst | 59 + dkan/docs/admin/people/users.rst | 92 - dkan/docs/apis/ckan-dataset.md | 8 +- dkan/docs/apis/rest-api.rst | 34 +- dkan/docs/community/code-of-conduct.rst | 75 + dkan/docs/community/help.rst | 9 + dkan/docs/community/index.rst | 9 + dkan/docs/community/welcome.rst | 37 + dkan/docs/components/dataset/previews.rst | 2 +- dkan/docs/components/dataset/usage.rst | 8 +- dkan/docs/components/datastore.rst | 4 +- dkan/docs/components/federal-extras.md | 2 +- dkan/docs/components/fixtures.md | 8 +- dkan/docs/components/harvest.rst | 10 +- dkan/docs/components/index.rst | 8 +- dkan/docs/components/open-data-schema.md | 25 +- dkan/docs/components/permissions.rst | 2 +- dkan/docs/components/theme.rst | 4 +- dkan/docs/components/topics.rst | 2 +- .../visualizations/datapreviews.rst | 6 +- dkan/docs/components/visualizations/index.rst | 2 +- .../visualization_entity/chart.rst | 18 +- dkan/docs/components/workflow.rst | 8 +- dkan/docs/conf.py | 2 +- dkan/docs/development/index.rst | 1 + dkan/docs/development/license.rst | 4 +- .../metadatasource.rst} | 56 +- dkan/docs/development/modules.rst | 2 +- dkan/docs/images/Pantheon_Dashboard.png | Bin 0 -> 62557 bytes dkan/docs/images/adding_new_content_01.png | Bin 0 -> 80466 bytes .../adding_new_content/Files_Page.png | Bin 0 -> 493887 bytes .../adding_new_content/People_Page.png | Bin 0 -> 226825 bytes .../Site_Manager_Logged_In.png | Bin 0 -> 51862 bytes .../adding_new_content/User_Profile_Page.png | Bin 0 -> 440430 bytes .../adding_new_content_01.png | Bin 26957 -> 80466 bytes .../adding_new_content_02.png | Bin 84376 -> 337289 bytes .../dataset_reference_field.png | Bin 0 -> 16923 bytes .../content_admin_page.png | Bin 123425 -> 0 bytes .../content_admin_page_new.png | Bin 0 -> 180542 bytes .../people/user-administration.png | Bin 0 -> 145550 bytes dkan/docs/index.rst | 7 +- dkan/docs/introduction/about.md | 2 +- dkan/docs/introduction/dkan-sites.rst | 144 ++ dkan/docs/introduction/get-dkan.md | 17 +- dkan/docs/introduction/index.rst | 3 +- dkan/docs/introduction/installation.rst | 14 +- dkan/docs/introduction/maintaining.rst | 16 +- dkan/docs/license.rst | 6 + dkan/docs/releases/notes/1.10.md | 6 +- dkan/docs/releases/notes/1.11.md | 28 +- dkan/docs/releases/notes/1.12.1.md | 2 +- dkan/docs/releases/notes/1.12.10.md | 2 +- dkan/docs/releases/notes/1.12.12.md | 4 +- dkan/docs/releases/notes/1.12.2.md | 2 +- dkan/docs/releases/notes/1.12.3.md | 6 +- dkan/docs/releases/notes/1.12.4.md | 2 +- dkan/docs/releases/notes/1.12.5.md | 10 +- dkan/docs/releases/notes/1.12.6.md | 6 +- dkan/docs/releases/notes/1.12.md | 37 +- dkan/docs/releases/notes/1.13.1.rst | 6 +- dkan/docs/releases/notes/1.13.5.md | 2 +- dkan/docs/releases/notes/1.13.6.md | 14 +- dkan/docs/releases/notes/1.13.md | 4 +- dkan/docs/releases/notes/1.14.md | 62 + dkan/docs/releases/notes/1.8.md | 2 +- dkan/docs/releases/notes/1.9.md | 4 +- dkan/docs/releases/notes/index.rst | 4 +- dkan/docs/scratch/viz-entity.md | 4 +- dkan/drupal-org-core.make | 2 + dkan/drupal-org.make | 64 +- dkan/libraries/chroma/chroma.js | 2 + dkan/libraries/chroma/chroma.min.js | 4 +- dkan/libraries/chroma/docs/libs/chroma.js | 2 + dkan/libraries/chroma/docs/libs/chroma.min.js | 4 +- dkan/libraries/chroma/docs/src/index.md | 2 +- dkan/libraries/chroma/readme.md | 6 + dkan/libraries/chroma/src/api.coffee | 1 + .../symfonyserializer/Annotation/Groups.php | 2 - dkan/libraries/symfonyserializer/CHANGELOG.md | 3 + .../Encoder/ChainDecoder.php | 7 +- .../Encoder/ChainEncoder.php | 7 +- .../symfonyserializer/Encoder/CsvEncoder.php | 72 +- .../symfonyserializer/Encoder/JsonDecode.php | 8 +- .../symfonyserializer/Encoder/JsonEncode.php | 6 +- .../symfonyserializer/Encoder/XmlEncoder.php | 16 +- .../symfonyserializer/Encoder/YamlEncoder.php | 5 + .../Exception/ExtraAttributesException.php | 14 + .../Exception/NotEncodableValueException.php | 19 + .../NotNormalizableValueException.php | 19 + .../Mapping/AttributeMetadata.php | 4 - .../Mapping/AttributeMetadataInterface.php | 2 - .../Mapping/ClassMetadataInterface.php | 4 - .../Mapping/Factory/ClassMetadataFactory.php | 3 - .../Mapping/Loader/AnnotationLoader.php | 6 - .../Mapping/Loader/FileLoader.php | 2 - .../Mapping/Loader/LoaderInterface.php | 4 - .../Mapping/Loader/YamlFileLoader.php | 2 +- .../Normalizer/AbstractNormalizer.php | 13 +- .../Normalizer/AbstractObjectNormalizer.php | 15 +- .../Normalizer/ArrayDenormalizer.php | 6 +- .../Normalizer/CustomNormalizer.php | 13 +- .../Normalizer/DataUriNormalizer.php | 23 +- .../Normalizer/DateTimeNormalizer.php | 22 +- .../Normalizer/GetSetMethodNormalizer.php | 5 +- .../Normalizer/ObjectNormalizer.php | 5 + .../Normalizer/ObjectToPopulateTrait.php | 37 + .../Normalizer/PropertyNormalizer.php | 48 +- .../symfonyserializer/Serializer.php | 49 +- .../SerializerAwareInterface.php | 2 - .../Tests/Encoder/ChainEncoderTest.php | 7 +- .../Tests/Encoder/CsvEncoderTest.php | 40 +- .../Tests/Fixtures/GroupDummyChild.php | 33 + .../Tests/Normalizer/CustomNormalizerTest.php | 12 + .../Normalizer/ObjectToPopulateTraitTest.php | 47 + .../Normalizer/PropertyNormalizerTest.php | 34 +- .../libraries/symfonyserializer/composer.json | 1 + .../autocomplete_deluxe.api.php | 33 +- .../autocomplete_deluxe.info | 6 +- .../better_exposed_filters.info | 6 +- ...er_exposed_filters_exposed_form_plugin.inc | 4 +- .../bef_test_content/bef_test_content.info | 6 +- .../file.admin-content-file.inc | 270 +-- .../contrib/file_entity/file_entity.admin.inc | 74 +- .../contrib/file_entity/file_entity.api.php | 8 +- .../file_entity.devel_generate.inc | 23 + .../contrib/file_entity/file_entity.field.inc | 60 + .../contrib/file_entity/file_entity.file.inc | 150 +- .../file_entity/file_entity.file_api.inc | 13 + .../file_entity.file_default_displays.inc | 18 + .../contrib/file_entity/file_entity.info | 6 +- .../contrib/file_entity/file_entity.install | 1 + .../contrib/file_entity/file_entity.module | 43 +- .../contrib/file_entity/file_entity.pages.inc | 13 +- .../contrib/file_entity/file_entity.theme.inc | 42 +- .../file_entity/tests/file_entity_test.info | 6 +- dkan/modules/contrib/media/PATCHES.txt | 4 - dkan/modules/contrib/media/css/media.css | 10 +- .../modules/contrib/media/js/media.browser.js | 21 + dkan/modules/contrib/media/js/media.js | 14 +- dkan/modules/contrib/media/js/media.popups.js | 5 +- .../contrib/media/js/plugins/media.views.js | 22 +- .../media-views-view-media-browser.tpl.php | 2 +- dkan/modules/contrib/media/media.info | 8 +- dkan/modules/contrib/media/media.install | 21 +- dkan/modules/contrib/media/media.module | 10 +- dkan/modules/contrib/media/media.views.inc | 2 + .../includes/media_bulk_upload.admin.inc | 16 +- .../media_bulk_upload/media_bulk_upload.info | 6 +- .../media_internet/media_internet.info | 6 +- .../tests/media_internet_test.info | 6 +- .../media_migrate_file_types.info | 6 +- .../media_wysiwyg/css/media_wysiwyg.base.css | 8 +- .../includes/media_wysiwyg.features.inc | 4 +- .../includes/media_wysiwyg.file_usage.inc | 12 +- .../includes/media_wysiwyg.filter.inc | 16 +- .../includes/media_wysiwyg.pages.inc | 28 +- .../modules/media_wysiwyg/js/wysiwyg-media.js | 11 +- .../modules/media_wysiwyg/media_wysiwyg.info | 6 +- .../media_wysiwyg/media_wysiwyg.install | 4 +- .../media_wysiwyg/media_wysiwyg.variable.inc | 4 +- .../tests/media_wysiwyg.macro.test | 25 + .../media_wysiwyg_view_mode.info | 6 +- .../media/modules/mediafield/mediafield.info | 6 +- .../media/tests/media_module_test.info | 6 +- .../includes/MediaInternetYouTubeHandler.inc | 24 +- .../includes/MediaYouTubeStreamWrapper.inc | 16 +- .../includes/media_youtube.formatters.inc | 8 +- .../contrib/media_youtube/media_youtube.info | 6 +- .../tests/media_youtube_test.info | 6 +- .../themes/media_youtube.theme.inc | 34 +- .../open_data_schema_map/CHANGELOG.txt | 4 + .../contrib/open_data_schema_map/README.md | 17 +- .../open_data_schema_map/dkan-module-init.sh | 3 + .../open_data_schema_ckan.info | 4 + .../open_data_schema_ckan.module | 6 +- .../open_data_schema_dcat.info | 4 + .../open_data_schema_map_xml_output.info | 4 + .../open_data_schema_pod.info | 4 + .../open_data_schema_map.admin.inc | 49 + .../open_data_schema_map.api.php | 4 +- .../open_data_schema_map.file_cache.inc | 129 +- .../open_data_schema_map.info | 4 + .../open_data_schema_map.install | 33 +- .../open_data_schema_map.module | 449 +++- .../open_data_schema_map.pages.inc | 90 +- .../test/OpenDataSchemaFileCacheTest.php | 66 + .../test/OpenDataSchemaMapBaseTest.php | 225 +- dkan/modules/contrib/recline/recline.info | 4 + .../modules/contrib/search_api_db/PATCHES.txt | 2 +- dkan/modules/contrib/tablefield/README.txt | 163 +- dkan/modules/contrib/tablefield/UPGRADE.txt | 16 + .../tablefield/{ => css}/tablefield.css | 13 +- .../tablefield/css/tablefield_header_hor.css | 8 + .../tablefield/css/tablefield_header_vert.css | 8 + .../tablefield/css/tablefield_sort.css | 27 + .../contrib/tablefield/tablefield.info | 9 +- .../contrib/tablefield/tablefield.install | 312 ++- .../contrib/tablefield/tablefield.module | 1879 +++++++++++++---- .../contrib/tablefield/themeless/README.txt | 26 + .../themeless/tablefield_themeless.info | 12 + .../themeless/tablefield_themeless.module | 108 + dkan/modules/contrib/views/README.txt | 53 +- .../contrib/views/includes/handlers.inc | 12 + .../contrib/views/modules/node.views.inc | 2 +- .../node/views_plugin_row_node_view.inc | 2 +- .../contrib/views/modules/search.views.inc | 4 +- .../views_handler_filter_term_node_tid.inc | 2 +- .../views/plugins/views_plugin_display.inc | 54 +- .../views/plugins/views_plugin_pager_full.inc | 2 +- .../contrib/views/tests/views_ajax.test | 8 +- .../contrib/views/tests/views_test.info | 6 +- .../views/tests/views_test.views_default.inc | 1 - .../contrib/views/tests/views_view.test | 7 + .../contrib/views/theme/views-more.tpl.php | 5 +- dkan/modules/contrib/views/views.info | 6 +- dkan/modules/contrib/views/views.install | 11 +- dkan/modules/contrib/views/views.module | 26 + dkan/modules/contrib/views/views.tokens.inc | 1 - dkan/modules/contrib/views/views_ui.info | 7 +- dkan/modules/contrib/views/views_ui.module | 166 +- .../uuidreference_select.info | 4 + .../visualization_entity_charts_dkan.info | 5 + .../visualization_entity_charts.info | 1 - .../visualization_entity_charts.infoi | 4 + ...isualization_entity_choropleth_bundle.info | 5 +- .../visualization_entity_embed.info | 5 +- .../visualization_entity_geojson_bundle.info | 6 +- ...zation_entity_recline_field_reference.info | 6 +- ...entity_visualization_contributor_role.info | 5 +- .../visualization_entity.info | 6 +- .../visualization_entity.make | 32 +- .../contrib/workbench_moderation/PATCHES.txt | 1 + .../workbench_moderation.module | 38 +- .../workbench_moderation.node.inc | 2 +- .../dkan_data_dashboard.info | 4 + dkan/modules/dkan/dkan_data_story/README.md | 2 +- .../dkan/dkan_data_story/dkan_data_story.info | 4 + dkan/modules/dkan/dkan_dataset/README.md | 2 +- .../dkan/dkan_dataset/dkan_dataset.forms.inc | 33 +- .../dkan/dkan_dataset/dkan_dataset.info | 4 + .../dkan/dkan_dataset/dkan_dataset.module | 1 + ..._content_types.features.field_instance.inc | 2 +- .../dkan_dataset_content_types.info | 4 + .../dkan_dataset_groups.info | 4 + .../modules/dkan_dataset_rest_api/README.md | 16 +- .../dkan_dataset_rest_api.info | 4 + .../dkan_dataset_voting.info | 4 + .../dkan/dkan_datastore/dkan_datastore.info | 4 + .../dkan_datastore_api.info | 4 + .../dkan_datastore_fast_import.info | 4 + .../modules/dkan_default_content/README.md | 2 +- ...w%3Fid=afghanistan-election-districts.json | 4 +- ...rime-data-ten-most-populous-cities-us.json | 4 +- ...=gold-prices-london-1950-2008-monthly.json | 4 +- ...ge_show%3Fid=london-deprivation-index.json | 4 +- ...=state-workforce-generation-2011-2015.json | 4 +- ...l-foreclosure-statistics-january-2012.json | 4 +- ...ge_show%3Fid=wisconsin-polling-places.json | 4 +- ...=f2e6698b-4406-47ca-9cf4-af8016ffa411.json | 449 +--- .../dkan/dkan_harvest/dkan_harvest.drush.inc | 67 +- .../dkan_harvest/dkan_harvest.migrate.inc | 145 +- .../dkan/dkan_harvest/dkan_harvest.module | 466 +++- .../dkan_harvest/includes/HarvestSource.php | 52 +- .../dkan_harvest_dashboard.rules.inc | 17 +- .../dkan_harvest_dashboard.views_default.inc | 16 +- .../dkan_harvest_datajson.module | 27 +- dkan/modules/dkan/dkan_migrate_base/README.md | 4 +- .../dkan_migrate_base_example/data/data1.json | 4 +- dkan/modules/dkan/dkan_permissions/README.md | 2 +- .../dkan/dkan_sitewide/dkan_sitewide.info | 6 +- .../dkan/dkan_sitewide/dkan_sitewide.module | 4 +- .../dkan_sitewide.views_default.inc | 4 +- .../dkan_sitewide_panelizer.info | 4 + .../dkan_sitewide_panels.pages_default.inc | 35 +- .../dkan_sitewide_panels.views_default.inc | 2 +- .../dkan_sitewide_search_db.install | 2 +- .../modules/facet_icons/facet_icons.module | 2 +- .../modules/dkan/dkan_topics/dkan_topics.info | 4 + .../dkan_default_topics.info | 4 + dkan/modules/dkan/dkan_workflow/README.md | 4 +- .../dkan/dkan_workflow/dkan_workflow.info | 4 + .../dkan/dkan_workflow/dkan_workflow.module | 42 +- .../dkan_workflow_permissions.install | 11 + .../open_data_federal_extras.info | 4 + .../open_data_schema_map_dkan.info | 4 + dkan/test/README.md | 25 +- dkan/test/behat.yml | 97 +- dkan/test/dkanextension/README.md | 6 +- dkan/test/dkanextension/composer.json | 2 +- .../Context/HarvestSourceContext.php | 4 +- .../DKANExtension/Context/WorkflowContext.php | 2 + dkan/test/features/dataset.all.feature | 25 +- dkan/test/features/dataset.author.feature | 1 + dkan/test/features/group.all.feature | 38 +- dkan/test/features/resource.admin.feature | 7 +- dkan/test/features/resource.all.feature | 35 +- dkan/test/features/resource.author.feature | 8 +- dkan/test/features/resource.editor.feature | 33 +- dkan/test/features/user.admin.feature | 2 +- dkan/test/features/widgets.feature | 189 +- dkan/test/features/workflow.feature | 32 +- .../DatajsonHarvestMigrationScenariosTest.php | 84 +- .../DatajsonHarvestMigrationTest.php | 6 +- .../dkan_harvest/DkanHarvestDataJsonTest.php | 20 +- ...kan_harvest_datajson_test_alternative.json | 4 +- .../dkan_harvest_datajson_test_error.json | 4 +- ...n_harvest_datajson_test_group_updated.json | 4 +- ...an_harvest_datajson_test_no_resources.json | 2 +- .../dkan_harvest_datajson_test_original.json | 2 +- .../dkan_harvest_datajson_test_redirects.json | 2 +- ...vest_datajson_test_resource_accessurl.json | 2 +- ...est_datajson_test_schemeless_resource.json | 2 +- dkan/themes/nuboot_radix/README.md | 4 +- .../assets/css/nuboot_radix.style.css | 11 +- .../assets/css/nuboot_radix.style.css.map | 2 +- dkan/themes/nuboot_radix/assets/css/print.css | 5 + .../assets/js/nuboot_radix.script.js | 4 +- dkan/themes/nuboot_radix/includes/menu.inc | 1 + dkan/themes/nuboot_radix/includes/panel.inc | 8 +- .../nuboot_radix/includes/structure.inc | 2 +- dkan/themes/nuboot_radix/nuboot_radix.info | 4 + .../dkan_front/panels-dkan-front.tpl.php | 7 +- .../nuboot_radix/scss/components/_form.scss | 5 + .../scss/components/_harvest.scss | 4 +- .../nuboot_radix/scss/components/_node.scss | 7 +- dkan/themes/nuboot_radix/scss/print.scss | 14 +- dkan/themes/nuboot_radix/theme-settings.php | 9 +- docroot/PATCHES.txt | 1 + docroot/misc/states.js | 2 + .../googleanalytics.admin.inc | 32 +- .../google_analytics/googleanalytics.info | 6 +- .../google_analytics/googleanalytics.install | 58 +- .../google_analytics/googleanalytics.module | 35 +- .../google_analytics/googleanalytics.test | 72 +- .../contrib/google_tag/google_tag.info | 6 +- .../contrib/google_tag/google_tag.install | 46 +- .../contrib/google_tag/google_tag.module | 27 +- .../contrib/google_tag/includes/admin.inc | 127 +- .../contrib/google_tag/includes/snippet.inc | 7 +- .../contrib/google_tag/includes/variable.inc | 40 +- .../SearchApiAcquiaSearchConnection.php | 12 - .../search_api_acquia/search_api_acquia.info | 6 +- .../search_api_acquia.module | 80 +- 357 files changed, 7220 insertions(+), 2923 deletions(-) create mode 100644 dkan/docs/admin/people/user_management.rst delete mode 100644 dkan/docs/admin/people/users.rst create mode 100644 dkan/docs/community/code-of-conduct.rst create mode 100644 dkan/docs/community/help.rst create mode 100644 dkan/docs/community/index.rst create mode 100644 dkan/docs/community/welcome.rst rename dkan/docs/{components/metadatasource.md => development/metadatasource.rst} (67%) create mode 100644 dkan/docs/images/Pantheon_Dashboard.png create mode 100644 dkan/docs/images/adding_new_content_01.png create mode 100644 dkan/docs/images/site_manager_playbook/adding_new_content/Files_Page.png create mode 100644 dkan/docs/images/site_manager_playbook/adding_new_content/People_Page.png create mode 100644 dkan/docs/images/site_manager_playbook/adding_new_content/Site_Manager_Logged_In.png create mode 100644 dkan/docs/images/site_manager_playbook/adding_new_content/User_Profile_Page.png create mode 100644 dkan/docs/images/site_manager_playbook/adding_new_content/dataset_reference_field.png delete mode 100644 dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page.png create mode 100644 dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page_new.png create mode 100644 dkan/docs/images/site_manager_playbook/people/user-administration.png create mode 100644 dkan/docs/introduction/dkan-sites.rst create mode 100644 dkan/docs/license.rst create mode 100644 dkan/docs/releases/notes/1.14.md create mode 100644 dkan/libraries/symfonyserializer/Exception/NotEncodableValueException.php create mode 100644 dkan/libraries/symfonyserializer/Exception/NotNormalizableValueException.php create mode 100644 dkan/libraries/symfonyserializer/Normalizer/ObjectToPopulateTrait.php create mode 100644 dkan/libraries/symfonyserializer/Tests/Fixtures/GroupDummyChild.php create mode 100644 dkan/libraries/symfonyserializer/Tests/Normalizer/ObjectToPopulateTraitTest.php delete mode 100644 dkan/modules/contrib/media/PATCHES.txt create mode 100644 dkan/modules/contrib/open_data_schema_map/open_data_schema_map.admin.inc create mode 100644 dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaFileCacheTest.php create mode 100644 dkan/modules/contrib/tablefield/UPGRADE.txt rename dkan/modules/contrib/tablefield/{ => css}/tablefield.css (73%) create mode 100644 dkan/modules/contrib/tablefield/css/tablefield_header_hor.css create mode 100644 dkan/modules/contrib/tablefield/css/tablefield_header_vert.css create mode 100644 dkan/modules/contrib/tablefield/css/tablefield_sort.css create mode 100644 dkan/modules/contrib/tablefield/themeless/README.txt create mode 100644 dkan/modules/contrib/tablefield/themeless/tablefield_themeless.info create mode 100644 dkan/modules/contrib/tablefield/themeless/tablefield_themeless.module create mode 100644 dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.infoi diff --git a/build-dkan.make b/build-dkan.make index 18e2aa492..0c537cf65 100644 --- a/build-dkan.make +++ b/build-dkan.make @@ -8,7 +8,4 @@ includes[core] = dkan/drupal-org-core.make projects[dkan][type] = profile projects[dkan][download][type] = git projects[dkan][download][url] = https://github.com/NuCivic/dkan.git -projects[dkan][download][tag] = 7.x-1.14-RC1 - -projects[dkan][patch][] = https://patch-diff.githubusercontent.com/raw/NuCivic/dkan/pull/2121.diff - +projects[dkan][download][tag] = 7.x-1.14-RC3 diff --git a/dkan/.ahoy/dkan.ahoy.yml b/dkan/.ahoy/dkan.ahoy.yml index 2dac9ab6e..659d471f6 100644 --- a/dkan/.ahoy/dkan.ahoy.yml +++ b/dkan/.ahoy/dkan.ahoy.yml @@ -189,7 +189,7 @@ commands: rm -fR dkan-ahoy rm -fR dkan/.ahoy rm dkan/dkan-init.sh - git clone 'git@github.com:nucivic/dkan' --depth=1 dkan-ahoy + git clone 'git@github.com:getdkan/dkan' --depth=1 dkan-ahoy cp -r dkan-ahoy/.ahoy dkan/ cp dkan-ahoy/dkan-init.sh dkan/ cp dkan-ahoy/test/behat.docker.yml dkan/test/ diff --git a/dkan/.ahoy/theme.ahoy.yml b/dkan/.ahoy/theme.ahoy.yml index 25710e454..6827cf2a9 100644 --- a/dkan/.ahoy/theme.ahoy.yml +++ b/dkan/.ahoy/theme.ahoy.yml @@ -73,7 +73,7 @@ commands: ahoy drush pm-enable radix -y ahoy drush vset theme_default radix ahoy cmd-proxy drush cc drush - KIT_URL="https://github.com/NuCivic/radix-kit-nuboot/archive/master.zip" + KIT_URL="https://github.com/GetDKAN/radix-kit-nuboot/archive/master.zip" if ahoy cmd-proxy wget -q "$KIT_URL"; then ahoy cmd-proxy unzip master.zip ahoy cmd-proxy rm -rf master.zip diff --git a/dkan/.github/CONTRIBUTING.md b/dkan/.github/CONTRIBUTING.md index d5af6f143..41d925f08 100644 --- a/dkan/.github/CONTRIBUTING.md +++ b/dkan/.github/CONTRIBUTING.md @@ -76,7 +76,7 @@ ref: NuCivic/[repo]/[issue#] Please use a reasonably descriptive *title* as well. "Updating drupal-org.make" is not a helpful title; "Add views patch to drupal-org.make to address argument bug" is a helpful title! -[See this pull request for an example](https://github.com/NuCivic/dkan/pull/629). +[See this pull request for an example](https://github.com/GetDKAN/dkan/pull/629). If a pull request is simply being created for QA purposes or should for some other reason NOT be merged, explain this in the description and add a "don't merge" tag. diff --git a/dkan/.github/PULL_REQUEST_TEMPLATE.md b/dkan/.github/PULL_REQUEST_TEMPLATE.md index ca1dee898..3ef073792 100644 --- a/dkan/.github/PULL_REQUEST_TEMPLATE.md +++ b/dkan/.github/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,4 @@ -Issue: link_to_jira_github_issue - -## Description - -Please write any background information about this PR you think is useful for the product team. +Description. Please write any background information about this PR you think is useful for the product team. Use any of the items below that are relevant to this pull request, and delete any that are not. ## User story @@ -10,7 +6,7 @@ If this PR introduces new functionality, include a user story or stories describ ## How to reproduce -1. If the PR fixes a bug, include instructions for reproducing the bug on a current DKAN release. +1. If the PR fixes a bug, include step-by-step instructions for reproducing the bug on a current DKAN release. ## QA Steps @@ -21,6 +17,7 @@ If this PR introduces new functionality, include a user story or stories describ - [ ] Note if there is a special sequence for merging (such as PRs on other repos that need to be merged first) or other abnormalities to look out for. ## Reminders + - [ ] There is test for the issue. - [ ] CHANGELOG updated. - [ ] Coding standards checked. diff --git a/dkan/CHANGELOG.txt b/dkan/CHANGELOG.txt index 09e772d9d..ee474f789 100644 --- a/dkan/CHANGELOG.txt +++ b/dkan/CHANGELOG.txt @@ -1,5 +1,24 @@ -7.x-1.14.x ----------- +7.x-1.14 +-------- + - #2208 Fix access to groups field when adding a resource inside the dataset form. + - #2188 Move DKAN repository to GetDKAN organization in Github + - #2033 Remove "author" facet from search page (generally never relevant information) + - #2205 Update docs files with organization changes (NuCivic to GetDKAN) + - #2206 Update autocomplete_deluxe, better_exposed_filters, file_entity, media, media_youtube, tablefield and views to latest version + - #2189 #2190 Documentation updates (Add help, license, dkan sites pages. Update site manager guide. Update dkan README.) + - #2186 Move the 'back to dataset' local task position so that the 'revisions' link position matches the standard location. + - #1979 Allow users to set Groups on standalone resources. + - #2151 Adding print styling so that images, table rows, and charts work with page breaks. + - #2141 Exclude header search form from printed output + - #2174 Fix access to revisions for anonymous users when dkan_workflow is enabled. + - #2175 Removed video content from the About page. Removed or replaced references to Granicus. + - #2075 DKAN Harvest: Modified batch process to split harvest migrations in chunks. + - #2145 Front page hero image no longer requests empty URL if variable empty. + - #2124 Add results count and increase results per page on the harvest dashboard view. + - #2082 Add UI for generating ODSM file caches. + - #2058 Improve messages displayed when creating a harvest source. + - #2058 Fix harvest bug when filtering by a key that has 0 matches. + - #2102 Hide toggle buttons inside preview embeds. - #1946 Fix Datastore API limit not applying consistently. - #2109 Fix ODSM language token to solve validation errors. - #2019 DKAN Workflow: Fix 'My Drafts' view to restore content to original user after rejection. @@ -15,18 +34,18 @@ - #1955 Update ahoy docker tooling for local environment usecase. - #1903 Add support for tab-delimited files (TSV) in resources/recline preview. - #2001 Improve REST API documentation. - - #1991 Fix host IP replacement on script used to recconect the MySQL container. + - #1991 Fix host IP replacement on script used to recconect the MySQL container. - #1942 DevOps: Restore drush commands to deal with orphaned resources. - #1943 Update tests to be more compatible with client sites, multiple testing and devops improvements. - #1962 Recline.view.nvd3.js: Fixed display of data with zero as values. - #1888 Added validation on axis tick settings on visualization_entity. - #1725 Fix `ahoy dkan uli` output login link. - - #1881 Fix yaml syntaxt to make it standard. + - #1881 Fix yaml syntaxt to make it standard. - #1853 Update chart documentation. - #1839 Add help text and improve UI on the chart form for better clarity. - - #1827 Remove option to import TABed CSV files into datastore. + - #1827 Remove option to import TABed CSV files into datastore. - #1807 Add admin_views module for enhanced content and file filtering. - - #1990 DevOps: Automatically populate required fields when running behat tests. + - #1990 DevOps: Automatically populate required fields when running behat tests. - #1938 DevOps: Allow behat tests to be skipped in circle. - #1842 Add help text to explain the pager on data previews. - #1542 Creates migration on harvest source import. @@ -38,12 +57,6 @@ - #2060 Update tests to adjust to client customizations. - #2060 Removed unused modules menu_token and remote_file_source from drupal-org.make -7.x-1.13.8 ----------- - - #2058 Improve messages displayed when creating a harvest source. - - #2058 Fix harvest bug when filtering by a key that has 0 matches. - - #2102 Hide toggle buttons inside preview embeds. - 7.x-1.13.7 2017-08-22 --------------------- - #2064 Update entityreference to 1.15 @@ -113,7 +126,7 @@ - #1876 Removed hard coded colors in the menu.scss file. - #1825 Adapt the 'dataQuality' input value druing POD harvest. - #1817 Load empty cells as null in fast import. - - #1846 Adds a hook_update to exclude the data dictionary field from using the markdown toolbar. + - #1846 Adds a hook_update to exclude the data dictionary field from using the markdown toolbar. - #1813 Update the groups page view to sort alphabetically rather than by post date. - NuCivic/recline#89 Only load previews for resources using files; API/website links should always display iframe. - #1841 Fixed mis-named function on dkan_dataset_content_types.api.php @@ -124,14 +137,14 @@ - #1828 Field Frequency Harvest POD integration is missing support for "irregular" value. - #1820 Use "accessURL" during resources harvest if "downloadURL" field is not available. - #1852 Allow the use of multi-polygonal data for Dataset Spatial field. - - #1857 Fixed publishing options not accessible when dkan_workflow is enabled. + - #1857 Fixed publishing options not accessible when dkan_workflow is enabled. - #1932 Fix windows delimiter for datastore_fast_import. 7.x-1.13.3 2017-04-18 --------------------- - #1863 Update restws module to v2.7 - #1859 Fixed update hooks to correctly set jquery version and remove old modified source date field - - #1864 Update media to 2.0 and remove patch 2534724. + - #1864 Update media to 2.0 and remove patch 2534724. - #1829 Fixed missing properties on warning message during datajson harvest cache. - #1802 Better support for Issued and Updated dataset properties from harvested sources. - #1821 Remove redundant CSS load in dkan_dataset. diff --git a/dkan/README.md b/dkan/README.md index ab985b148..781055187 100644 --- a/dkan/README.md +++ b/dkan/README.md @@ -1,16 +1,32 @@ -# DKAN Open Data Portal +# DKAN Open Data Platform -[![DKAN Sitewide Build Status](https://circleci.com/gh/NuCivic/dkan.svg?style=svg)](https://circleci.com/gh/NuCivic/dkan) +DKAN is an open source open data platform with a full suite of cataloging, publishing and visualization features that allow organizations to easily publish data to the public. -[![Join the chat at https://gitter.im/NuCivic/dkan](https://badges.gitter.im/NuCivic/dkan.svg)](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +* [ Official website ](https://getdkan.org) +* [ Demo ](http://demo.getdkan.com/) +* [ Documetation ](http://docs.getdkan.com/) -DKAN is a Drupal-based open data tool with a full suite of cataloging, publishing and visualization features that allows governments, nonprofits and universities to easily publish data to the public. It is inspired by the [CKAN project](https://github.com/ckan/ckan) and maintained by [Granicus Data](http://getdkan.com/contact). +## Community + +Join the [DKAN Slack community](https://dkansignup.herokuapp.com/). + +## Connect -[![DKAN](docs/images/dkan-front-page.png)](http://getdkan.com) +* [ Subscribe ](http://eepurl.com/c01YS1) +* [ Slack ](https://dkan.slack.com/) +* [ Blog ](https://medium.com/dkan-blog) +* [ Twitter ](https://twitter.com/getdkan) +* [ GitHub ](https://github.com/getdkan) +* [ YouTube ](https://www.youtube.com/channel/UCl7qFUCkyh32lss4EjQEUXg) +* [ Drupal ](https://www.drupal.org/project/dkan) +* [ Eventbrite ](https://www.eventbrite.com/o/dkan-14793986036) +* [ RSS ](https://medium.com/feed/dkan-blog) -* [ Live demo » ](http://demo.getdkan.com/) -* [ Full Documetation » ](http://docs.getdkan.com/) -* [ Open data portals using DKAN » ](https://github.com/NuCivic/dkan-sites) +## Help + +* General: [DKAN documentation](http://docs.getdkan.com) +* Developers: Submit a [Github issue](https://github.com/nucivic/dkan/issues) or post to [ #dev ](https://dkan.slack.com/messages/C4BEVFDKJ/) channel in [ DKAN Slack ](https://dkan.slack.com) +* Bugs: Submit a [Github issue](https://github.com/nucivic/dkan/issues) ## Features @@ -20,7 +36,6 @@ DKAN is a Drupal-based open data tool with a full suite of cataloging, publishin * Customize your own metadata fields, themes and branding * Store data within DKAN or on external (e.g. departmental) sites * Manage access control, version history with rollback, RDF support, user analytics -* Supported enterprise-quality commercial support and FISMA-certified cloud hosting options available ### For data users @@ -30,27 +45,19 @@ DKAN is a Drupal-based open data tool with a full suite of cataloging, publishin * Manage access control, version history with rollback, INSPIRE/RDF support, user analytics * Extend and leverage the full universe of more than 18,000 freely available Drupal modules -## Hosting and support - -Granicus [Data](http://getdkan.com/) platform offers 24/7, secure, cloud-based DKAN hosting and support services. - ## Installation -Please see the ["Installation" section of the DKAN Documentation](http://docs.getdkan.com/en/latest/introduction/installation.html). +Please see the [Installation](http://docs.getdkan.com/en/latest/introduction/installation.html) section of the DKAN Documentation. ### Upgrading DKAN -Please see the ["Updating and Maintaining DKAN" section of the DKAN Documentation](http://docs.getdkan.com/en/latest/introduction/maintaining.html) for general upgrade information. +Please see the [Updating and Maintaining DKAN](http://docs.getdkan.com/en/latest/introduction/maintaining.html) section of the DKAN Documentation for general upgrade information. ## Releases -Check the [releases page](https://github.com/NuCivic/dkan/releases) for latest DKAN Version. 7.x-1.x is the development branch. +Check the [releases page](https://github.com/GetDKAN/dkan/releases) for latest DKAN Version. 7.x-1.x is the development branch. -Contact us if you want to get involved! - -DKAN development is a sponsored by NuCivic. For more information about hosting and professional support options for DKAN, see http://getdkan.com/contact - -### Releases and Release Candidates +### Releases and release candidates DKAN follows a modified semantic versioning convention, and has _major_, _point_ (also known as _minor_), and _patch_ releases. @@ -64,36 +71,17 @@ _Patch_ releases, introduced after the release of DKAN 7.x-1.12, occur much more After a _point_ release comes out, we create a _release branch_, on which we do any work intended for future _patch_ releases on that version of DKAN. The _release branch_ for version 7.x-1.12 development, for instance, is `release-1-12`. New features and other work destined for the next _point release_ continues on the main development branch, `7.x-1.x`. -We keep the DKAN profile (this project), [DKAN Dataset](https://github.com/NuCivic/dkan_dataset), [DKAN Datastore](https://github.com/NuCivic/dkan_datastore), [DKAN Workflow](https://github.com/NuCivic/dkan_workflow) and [Recline](https://github.com/NuCivic/recline) versioning in sync. Other depdendencies that we maintain, incuding [Open Data Schema Map](https://github.com/NuCivic/open_data_schema_map) and [Visualization Entity](https://github.com/NuCivic/visualization_entity) follow their own, separate release cycle. - -## Getting Help with DKAN - -Have a question, found a bug, or need help with DKAN? Check our [documentation](http://docs.getdkan.com) first. In addition: - -### General questions as a developer or site builder +We keep the DKAN profile (this project), [DKAN Dataset](https://github.com/GetDKAN/dkan_dataset), [DKAN Datastore](https://github.com/GetDKAN/dkan_datastore), [DKAN Workflow](https://github.com/GetDKAN/dkan_workflow) and [Recline](https://github.com/GetDKAN/recline) versioning in sync. Other depdendencies that we maintain, incuding [Open Data Schema Map](https://github.com/GetDKAN/open_data_schema_map) and [Visualization Entity](https://github.com/GetDKAN/visualization_entity) follow their own, separate release cycle. -Please post a question on our [Developer list](https://groups.google.com/forum/?hl=en#!forum/dkan-dev). - -### Bugs and issues - -Please post it to our [Github issue queue](https://github.com/nucivic/dkan/issues). - -### I would like to purchase Granicus support or hosting - -[Please contact us for a consultation](https://granicus.com/contact-us/). - -## Community - -While the GovDelivery Open Data team leads the DKAN project, there is a worldwide community behind it contributing ideas and code. You are welcome to join the discussion: +## License -* [The DKAN Developers mailing list](https://groups.google.com/forum/?hl=en#!forum/dkan-dev) -* [Our Gitter channel](https://gitter.im/NuCivic/dkan) +DKAN and related modules are freely-available under the [ GPLv2 (or later) ](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) license. ## Contributing -Please file all tickets for DKAN [in this issue queue](https://github.com/NuCivic/dkan/issues). We have several labels in place for you to tag the issue with and identify it with the proper component. +Please file all tickets for DKAN [in this issue queue](https://github.com/GetDKAN/dkan/issues). We have several labels in place for you to tag the issue with and identify it with the proper component. -Please follow the [Ticket Template](https://github.com/NuCivic/dkan/blob/7.x-1.x/.github/CONTRIBUTING.md#new-feature-template) when creating new tickets. +Please follow the [Ticket Template](https://github.com/GetDKAN/dkan/blob/7.x-1.x/.github/CONTRIBUTING.md#new-feature-template) when creating new tickets. Also, please remember to reference the issue across repositories in order for maintainers to pick up commits and pull requests looking at the issue. You can do that for commits like this: @@ -101,10 +89,6 @@ Also, please remember to reference the issue across repositories in order for ma git commit -m "Issue NuCivic/dkan#: ..." ``` -Just replace **** with the actual issue number. You can reference pull requests exactly like that if you add the same text **"NuCivic/dkan#<issue_number>"** in a comment. +Just replace **** with the actual issue number. You can reference pull requests exactly like that if you add the same text **"NuCivic/dkan#<issue_number>"** in a comment. -This really help us detecting changes and pulling them in in faster. - -## License - -DKAN is licensed on the same terms as Drupal, under GPLv2 or later. If you have any questions about the license a good place to start is to look at the Drupal Licensing [FAQ](https://www.drupal.org/about/licensing#q1). The DKAN license also covers the related modules such as recline, open data scheme map, visualization entity feeds flat processor, and the taxonomy features. +This helps us with detecting changes and pulling them in faster. diff --git a/dkan/dkan-init.sh b/dkan/dkan-init.sh index 5835738c7..dd4296b52 100644 --- a/dkan/dkan-init.sh +++ b/dkan/dkan-init.sh @@ -237,7 +237,7 @@ if [ ! "$SKIP_INIT" ]; then if [ "$MODULE_NAME" != "dkan" ]; then echo "Cloning dkan.." # switched to https because ssh keys may not exist in all environments (Probo) - git clone https://github.com/NuCivic/dkan.git --branch $BRANCH + git clone https://github.com/GetDKAN/dkan.git --branch $BRANCH fi if [ -f dkan/.ahoy/starter.ahoy.yml ]; then diff --git a/dkan/dkan.info b/dkan/dkan.info index 41f057643..f5f0cdce1 100644 --- a/dkan/dkan.info +++ b/dkan/dkan.info @@ -124,3 +124,7 @@ dependencies[] = dkan_datastore dependencies[] = dkan_datastore_api dependencies[] = open_data_schema_map_dkan dependencies[] = visualization_entity_charts_dkan + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/dkan.install b/dkan/dkan.install index 6a0d36177..1de81ad6b 100644 --- a/dkan/dkan.install +++ b/dkan/dkan.install @@ -413,3 +413,21 @@ function dkan_update_7023() { function dkan_update_7024(&$context) { dkan_misc_variables_set($context); } + +/** + * Update copyright information. + */ +function dkan_update_7025() { + $settings = variable_get('theme_nuboot_radix_settings', array()); + if ($settings['copyright']['value'] == 'Powered by DKAN, a project of Granicus') { + $settings['copyright']['value'] = t('Powered by DKAN'); + variable_set('theme_nuboot_radix_settings', $settings); + } +} + +/** + * Revert content types dataset to revert og_group_ref on resources. + */ +function dkan_update_7026() { + features_revert(array('dkan_dataset_content_types' => array('field_base', 'field_instance'))); +} diff --git a/dkan/docs/admin/data_and_content/adding_new_content.rst b/dkan/docs/admin/data_and_content/adding_new_content.rst index f7defe7a6..0872bec6a 100644 --- a/dkan/docs/admin/data_and_content/adding_new_content.rst +++ b/dkan/docs/admin/data_and_content/adding_new_content.rst @@ -2,7 +2,9 @@ Adding New Content ================== -Your DKAN site is an access point for citizens to connect with your open data, but data isn't the only content you can add. DKAN is designed to showcase your open data in a number of ways to best engage site visitors and demonstrate tangible value. +Your DKAN site is an access point for users to connect with open data, but data isn't the only content that you can add. + +DKAN is designed to showcase your open data in a number of ways to best engage site visitors and demonstrate tangible value. There are a variety of content types at your disposal, and it's up to you to choose which best suits your needs. What are you aiming for? What kind of experience do you want your site visitors to have? The answers to these questions will help you decide which content type is right. @@ -12,30 +14,35 @@ The early stages of creating your DKAN site will involve adding more new content As a Site Manager, you might be involved in adding content in earlier stages and gradually become less involved, or you might never directly generate content. In any case, it's important to understand what content can be added, how it is used and how often, and the overall process so that you can effectively manage your DKAN site and support your team. -**Here's the breakdown of content by most frequently added:** +**DKAN Content Types** -Resource - The most basic piece of content as well as the most abundant. Resources are the actual files that represent your open data. Dataset "Containers" that hold Resources. Datasets are given metadata such as author, open data license type, frequency of publication, and they can be assigned to Groups. -Visualizations - Visualizations take Resources on your DKAN site and generate visual representations to make data understandable and accessible. -Data Story - Similar to a blog post, Data Stories provide a narrative that adds the depth of impact. Stories focus on how data changes real lives every day. -Dashboard - A piece of content that curates all kinds of content on your DKAN site. Dashboards make it easy to put data, media, and narrative into meaningful conversation. +Resource + The most basic piece of content as well as the most abundant. Resources are the actual files that represent your open data. Group Groups both collect content with a common data publisher as well as provide a workflow for a group of users on your DKAN site. Page One of the most basic content types on DKAN is a Page. Though the content type is straightforward it has implications for the structure, appearance, and experience of your DKAN site. +Data Story + Similar to a blog post, Data Stories provide a narrative that adds the depth of impact. Stories focus on how data changes real lives every day. +Data Dashboard + A piece of content that curates all kinds of content on your DKAN site. Dashboards make it easy to put data, media, and narrative into meaningful conversation. +Harvest Source + A Harvest Source is a content type that allows administrators or Site Managers to "harvest" data from outside sources. To “harvest” data is to use the public feed or API of another data portal to import items from that portal’s catalog into your own. + +**DKAN Entity Types** + +Visualizations + Visualizations take Resources on your DKAN site and generate visual representations to make data understandable and accessible. Where do I add new content? -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +=========================== Using the Add content menu -------------------------- -The most direct path for creating content is through the **Add content** menu item on the Admin Menu bar. If you're ready to jump right into creating content select the content type and begin completing the fields in the form. +The most direct path for creating content is through the **Add content** menu item on the Admin Menu bar. Select the content type you'd like to add and then complete the fields shown in the following form. .. image:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_01.png :alt: An image displaying the location of the "Add content" menu on the DKAN navigation bar. @@ -43,30 +50,33 @@ The most direct path for creating content is through the **Add content** menu it Using the Content menu ---------------------- -In some cases you may want to see what content exists before creating something from scratch. As a Site Manager you're able to view and edit all the content that has been authored on your DKAN site. It's not uncommon that content is added but never completed, is complete but outdated, or simply has an unpublished status. As your site matures and contains more content, it's helpful to check what already exists before starting a new piece of content. +In some cases, you may want to see what content exists before creating something new from scratch. + +As a Site Manager, you're able to view and edit all the content that has been authored on your DKAN site. It's not uncommon that content is added but never completed, is complete but outdated, or simply has an unpublished status. As your site matures and contains more content, it's helpful to check what already exists before starting a new piece of content. You can use the **Content** menu item to get to the Content screen where you can see all existing content, filter and search, and add new content. .. image:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_02.png - :alt: A screenshot of the DKAN "Content" page. + :alt: A screenshot of the DKAN "Content" page, as seen by a Site Manager. The Content page ---------------- -Select the content type that meets your needs to start adding new content. Most of the time, adding a new piece of content is as straightforward as filling out all the fields in a form where some fields are required and others are optional fields for additional information that provide context. +Most of the time, adding a new piece of content is as straightforward as filling out all the fields in a form where some fields are required and others are optional fields for additional information that provide context. In the example below, the Site Manager is adding a new Dataset with Tags, Topics, and other metadata associated with Datasets. Though not all the fields in the form are required, it's best to include as much information as possible. Complete content gives your site visitors confidence that your content is professional, current, and polished. .. image:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_03.gif :alt: An animated screenshot showing the process of creating a new dataset. -General site visitors typically won't have the context or topical expertise to understand the information on its own, so it's important to be mindful of your audience when deciding what details to include. - .. image:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_04.gif :alt: An animated screenshot showing the process of inputting metadata when creating a new dataset. The final step in creating a piece of content is using the submenu at the bottom of the form to add the final administrative information to the content. Administrative info is kept behind the scenes, and it helps with content management. Keep in mind that your role gives you more permissions than other users on the site; other users with lower-access roles won't see most of these options. +.. figure:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_05.png + :alt: Administrative content settings. + **Use this menu to add information about:** URL path settings @@ -79,17 +89,38 @@ Authoring information To change the author you can begin typing a user and the field will autocomplete. Leave the field blank to assign the author to Anonymous. You can change the Authored on information by simply typing a new date into the field. If you leave the field blank, DKAN will use the date and time of when the content was originally saved. Publishing options As a Site Manager you can publish and unpublish content. Published content is saved and visible on your DKAN site. Unpublished content is saved, but it is not visible on your DKAN site. - + As a Site Manager you can publish and unpublish directly from the piece of content. When adding new content, the status will automatically default to published. By unchecking the Published checkbox, you can save the work without publishing it to your live DKAN site. If the content already exists and appears on your DKAN site, you can unpublish the content by unchecking the box and it will no longer be visible or searchable to general site visitors. Groups When creating a Dataset, you'll have an additional submenu item to consider. The Groups menu item is unique to Datasets because it's the only content that can be added to a Group. Resources cannot be added themselves to a Group, they must be in a Dataset. When adding a Dataset to a Group, users can add a Dataset to as many Groups as there are on the site. Your groups are Groups that the user authoring the content belongs to, and Other groups are all the Groups of which a user is not a member. All users must belong to at least one Group to have the Groups menu item available to them. - + When a Dataset is added to a Group, it will be included on the Group's home page and may be edited by the Administrator members of a Group. As a best practice, users should only add Datasets to Groups that they are a member. Certain users won't be able to access their own content if they assign it to a Group that they do not belong to. +Viewing content you've already uploaded +======================================= + +To see a list of content that you've already uploaded, you can navigate to your user profile page by clicking on your username on the right-hand side of the screen. + +.. image:: ../../images/site_manager_playbook/adding_new_content/Site_Manager_Logged_In.png + :alt: Click your username on the right side of the navigation bar in order to go to your profile page. + +Once you're on your user profile page, you'll see a list of datasets, resources and other content types that were uploaded by your account. + +.. image:: ../../images/site_manager_playbook/adding_new_content/User_Profile_Page.png + :alt: An example user profile page showing a dataset and resource uploaded by this user. + +Viewing a listing of the site's files +------------------------------------- + +From the admin menu, click "Content." Once you're on the Content page, the "Files" button will take you to the files listing. + +.. image:: ../../images/site_manager_playbook/adding_new_content/Files_Page.png + :alt: This is the "Files" listing, found within the "Content" page on a DKAN site. + Adding a Resource -~~~~~~~~~~~~~~~~~ +================= A Resource is the most basic piece of content as well as the most abundant. Resources are the actual files that represent your open data. You have 3 different options for how you can add a Resource. @@ -120,17 +151,17 @@ It's possible to add a Resource as a stand alone piece of content, but it isn't - **Resources don't contain metadata:** Dataset is the content type that contains metadata, Tags, Topics and are assigned to Groups. A Resource must be in a Dataset to be associated with that information. Additional information provides a clearer picture of the value of your data and makes it easier for site visitors to find as they browse your DKAN site (and the web in general). Categorizations like Topics and Groups keep relevant content together and ready to discover. Datasets act as containers for Resources with common information and any new Resource added to a Dataset is automatically associated with the metadata. -- **A Resource can't be added to a Group.** Only Datasets can be added to a Group. Groups may appear similar to Topics because they collect related content, but Groups do much more. Groups represent a common data publisher, and all the Datasets that belong to that publishing Group will appear on the Group's home page. Most importantly, Groups create an additional workflow for how data on the site is added and managed. Datasets in a Group can be managed exclusively by members in that Group. Resources have to be included in a Dataset in order to belong to a Group. +- **Resources inherit the group association of the dataset they belong to.** Groups may appear similar to Topics because they collect related content, but Groups do much more. Groups represent a common data publisher, and all the Datasets that belong to that publishing Group will appear on the Group's home page. Most importantly, Groups create an additional workflow for how data on the site is added and managed. Datasets in a Group can be managed exclusively by members in that Group. -.. figure:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_05.png - :alt: An example of a list of Datasets provided that a Resource could then be assigned to. - - Example of a list of Datasets that a Resource may belong to. +.. figure:: ../../images/site_manager_playbook/adding_new_content/dataset_reference_field.png + :alt: A Resource can be assigned to multiple datasets. + + When adding a Resource you can add it to multiple datasets. When adding a new Resource, DKAN provides a list of existing Datasets and you can select the appropriate one. If none of the existing Datasets seem correct, then consider first adding a new Dataset. You can also add a Resource and then later assign it to a Dataset. Enabling Data Previews -~~~~~~~~~~~~~~~~~~~~~~ +====================== As site visitors navigate through resources on a DKAN website, they may want to see the Resource contents before (or instead of) downloading the entire file. Site Managers and Editors can enable Previews on Resources with JSON, geoJSON, XML, ArcGIS REST, WMS, image, PDF, and ZIP data formats. @@ -149,7 +180,7 @@ Internal Data Previews can be enabled for **grids, graphs, and/or maps** dependi .. figure:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_06.png :alt: The "Add a Resource" screen, showing the options to enable grid, graph or map previews. - + This image displays where you can enable grid, graph and/or map previews for a Resource. **Grids and Graphs:** This type of Data Preview works well with tabular data like CSV or XLS files. Grids appear most similar to a spreadsheet and reflect the greatest precision of the file contents of a Resource. Graphs are more visual and provide quick synthesis of the contents of a Resource. @@ -192,7 +223,7 @@ External Previews supports ArcGIS to preview data on DKAN. ArcGIS Previews requi Supported formats: ArcGIS endpoints Adding a Dataset -~~~~~~~~~~~~~~~~ +================ Datasets are "containers" that hold Resources. Datasets are given metadata such as author, open data license type, frequency of publication and can be assigned to Groups when they are added. @@ -214,7 +245,7 @@ In the example below, you can see all the fields included when adding a Dataset. .. figure:: ../../images/site_manager_playbook/adding_new_content/adding_new_content_09.gif :alt: This animated screencap shows the process of editing and saving a dataset. - + This animated screencap displays the process of editing and saving a dataset. **Change the Resource URL:** When adding or editing a Dataset, you can change the URL path so that it's easier to read as well as more likely to appear in a site visitor's search. An important consideration when creating titles and labels is to keep in mind how site visitors look for information. It's safe to assume that most site visitors won't start by looking for your DKAN site. More likely is that they'll first do a general search on the web. A random Dataset might be the first and only interaction a person has with your DKAN site. That's why it's best to include lots of contextual information, make it easy to read and scan, and use terms that site visitors are likely to search for. @@ -225,7 +256,7 @@ Directly under the title of the Dataset, you can change the URL path for your da :alt: This animated screencap shows the process of changing a Resource URL. Adding Metadata -~~~~~~~~~~~~~~~ +=============== Metadata is often described as the "Who, what, when, where, and why" of a Dataset. Metadata gives a high-level view by providing additional information about the files in the Dataset. Without metadata, site visitors could download the contents of a file but they wouldn't have any information about who provided the file, when it was published, how often it is published, the time range and geographic area that the file represents, and so on. @@ -255,7 +286,7 @@ Below is a Dataset that has been filled out completely with a description, metad :alt: This animated screencap displays a a Dataset that has been filled out completely with a description, metadata, assigned to a Group and includes related content. Visualizations -~~~~~~~~~~~~~~ +============== Visualizations take Resources on your DKAN site and generate visual representations to make data understandable and accessible. DKAN offers several built-in tools for making data visualizations easy. These were designed with ease of use and flexibility in mind. @@ -373,7 +404,7 @@ Key information when adjusting your Chart settings: **Going back to change Chart selections:** To make changes on any of the previous screens, use the Back button rather than the key on your keyboard or back tab in your browser. By moving back without using the Back button, you may lose all your work or encounter other errors. Adding a Data Story -~~~~~~~~~~~~~~~~~~~ +=================== Similar to a blog post, Data Stories provide a narrative that adds the depth of impact. Stories focus on how data changes real lives every day. While the form might look familiar, it's helpful to know how the content will appear on DKAN. 1. Log in to your DKAN site. @@ -410,7 +441,7 @@ Choose the layout for your Data Story and add data, media, text, etc. in the dif Layouts are composed of different regions. Each rectangle and square shown in the different layouts is a region, and each region can contain one or more (or zero) pieces of content. Choosing the right layout is often a matter of trial and error depending on how the content is oriented and how you want it arranged. The regions in a layout are suited better for some content than others; as you add your content you can easily change the layout to meet your needs without losing any of the content. Adding a Data Dashboard -~~~~~~~~~~~~~~~~~~~~~~~ +======================= DKAN Dashboards provide the ultimate flexibility in bringing content together. Layouts are like templates for the design of a page. In most cases, you would need to have technical experience with code to change the way that content appears on a page and what content is allowed. With DKAN layouts you can choose from a set of layouts pre-made to beautifully combine different content in the same place without needing to touch any code. @@ -461,7 +492,7 @@ Layouts are composed of different regions. Each rectangle and square shown in th **Gear button:** On the Customize display screen, you can use the gear icon on the region sections to add and manage content for the whole region as well as change the appearance settings. You can also edit each piece of content within a region using the individual gear icons in the content boxes. Adding a Page -~~~~~~~~~~~~~ +============= One of the most basic content types on DKAN is a Page. Though the content type is straightforward it has implications for the structure, appearance, and experience of your DKAN site. **Key Information when adding a Page:** @@ -475,7 +506,7 @@ Creating a menu link Special note: we recommend that you do not add menu links to the Datasets, Groups, Stories, Dashboards, or Topics pages. Adding a Group -~~~~~~~~~~~~~~ +============== Groups are both a way to collect common Datasets and enable an additional workflow on DKAN. On the outward-facing side, site visitors are able to browse and search Datasets specifically published by a Group, which is the common publisher of a number of Datasets. diff --git a/dkan/docs/admin/data_and_content/managing_existing_content.rst b/dkan/docs/admin/data_and_content/managing_existing_content.rst index 3b1385487..d33fb06ac 100644 --- a/dkan/docs/admin/data_and_content/managing_existing_content.rst +++ b/dkan/docs/admin/data_and_content/managing_existing_content.rst @@ -4,70 +4,82 @@ Managing Existing Content ========================= -In smaller organizations, Site Managers may both be writing and editing their own content to then directly publish the content to the live site. Larger organizations may have people in other roles like Editors and Content Creators to help with handling a large mass of content on the site. Depending on the scale of your organization and volume of content, you may spend more or less time directly handling content. Learn more about user roles in the :ref:`People` section of this guide. +In smaller organizations, Site Managers may both be writing and editing their own content to then directly publish the content to the live site. Larger organizations may have people in other roles like Editors and Content Creators to help with handling a large mass of content on the site. Depending on the scale of your organization and volume of content, you may spend more or less time directly handling content. Learn more about user roles in the :ref:`People` section of this guide. Where do I edit existing content? --------------------------------- -Site Managers can edit any content on the site, either from the main Content page or directly on the piece of content itself. +Site Managers can edit any content on the site, either from the main Content page or directly on the piece of content itself. -Edit from the Content menu +Edit from the Content menu ----------------------------- The main Content page is the most comprehensive place to find and access content to edit an individual piece. Though the menu is comprehensive, editing the details of a piece of content can only happen one at a time. From the Admin Menu, click on the **Content** link to access all the content that exists on the site. -As the Site Manager, you have access to create all content types possible as well as edit, unpublish, and delete all existing content regardless of who the author is. You can create new content from this page as well as manage all the existing content and files on your DKAN site from here. Files include things like images, videos, font files for icons, other graphics, etc. +As the Site Manager, you have access to create all content types possible as well as edit, unpublish, and delete all existing content regardless of who the author is. You can create new content from this page as well as manage all the existing content and files on your DKAN site from here. Files include things like images, videos, font files for icons, other graphics, etc. -In any scenario, as a Site Manager you can use this page to look at the content on the site to see who created a particular piece of content, when it was last updated, its status (published or unpublished) and take action on existing content. +In any scenario, as a Site Manager you can use this page to look at the content on the site to see who created a particular piece of content, when it was last updated, its status (published or unpublished) and take action on existing content. .. image:: ../../images/site_manager_playbook/managing_existing_content/content_admin_menu.png :alt: highlighted content option in admin menu - + Which content, when? -------------------- -Oversight over the details of content typically falls to the Editor role, but depending on the size of your team the Site Manager may play multiple roles and handle more content review and revision. Ultimately the quality of the content on your DKAN site falls to you as the Site Manager. +Oversight over the details of content typically falls to the Editor role, but depending on the size of your team the Site Manager may play multiple roles and handle more content review and revision. Ultimately the quality of the content on your DKAN site falls to you as the Site Manager. -When any user creates a new piece of content it defaults to a published state. That means the content automatically appears on the live site, visible to the general public. Because there isn't a technical review process on DKAN, you'll need a system for reviewing content before it is published as well as system for checking content that is published. +When any user creates a new piece of content it defaults to a published state. That means the content automatically appears on the live site, visible to the general public. If you need a publishing review process on DKAN, you can enable `DKAN Workflow <../../components/workflow>`_. This module provides a system for reviewing content before it is published. Though you might not edit every piece of content, you'll generally review all the content that is visible to the public (in a published state) and make edits whenever necessary. Only Site Managers have the ability to edit or delete any piece of content regardless of the author, so use your best judgment when reviewing and editing content. If you're ever unsure, you can unpublish the content and go back to the author before making changes or removing the content. -.. image:: ../../images/site_manager_playbook/managing_existing_content/content_admin_page.png +.. image:: ../../images/site_manager_playbook/managing_existing_content/content_admin_page_new.png :alt: content administration page highlighting admin menu option, add content button, search, and content list - -Find content ---------------- -Your DKAN site may have hundreds, or even thousands, of pieces of content from Resources to Data Stories; and as a Site Manager you'll have access to every piece of content. You can sift through the content and use filters on the Content main page to find content effectively. Filters help narrow your search by a set of criteria. On the Content main page, there are two types of filters to narrow the results: status and type. +Filtering content +----------------- + +Your DKAN site may have hundreds, or even thousands, of pieces of content from Resources to Data Stories; and as a Site Manager you'll have access to every piece of content. You can sift through the content and use filters on the Content main page to find content effectively. Filters help narrow your search by a set of criteria. -Status - Choose from the status drop-down menu to show content that fits a specific status, like published or unpublished. The other options on this list, like promoted and sticky, are not typically used. +Title + Type in text to narrow results to content where the title contains the text entered here. Type - The type of content includes all the content types that may be added to your DKAN site. Choose from the type drop-down menu to select the content type to show only content that fits the specific type, like Resource or Data Story. + Select a content type from the drop-down menu to limit the results to content that matches the type selected. +Published + Limit results to published or unpublished content. +Author + Type in a username to limit the results to content submitted by the user entered here. +Date + Use the date filters to limit the results to content matching the dates entered. + +Bulk Operations +--------------- + +To perform a task on multiple pieces of content at one time use the Operations selector. This is good for publishing/unpublishing/deleting several items at once, or assigning content to a different author. -.. image:: ../../images/site_manager_playbook/managing_existing_content/content_status_dropdown.png - :alt: content search by status dropdown options -.. image:: ../../images/site_manager_playbook/managing_existing_content/content_type_dropdown.png - :alt: content search by type dropdown options +1. Navigate to the Content page `admin/content` +2. (Optional) Filter the content to bring the content you want to work with to the top of the list. +3. Check the box next to each item you want to run the operation on. +4. Select an operation from the **Operations** dropdown list. +5. Click the **Execute** button. Edit from the page ------------------ -As you navigate through your DKAN site, you have more options available to you as a Site Manager than other users. You'll see these options on every page including an option to edit while on the page of a piece of content. You can edit directly from the page by clicking the **Edit** button. The options for editing content are the same as when adding new content, and the form appears the same. +As you navigate through your DKAN site, you have more options available to you as a Site Manager than other users. You'll see these options on every page including an option to edit while on the page of a piece of content. You can edit directly from the page by clicking the **Edit** button. The options for editing content are the same as when adding new content, and the form appears the same. In general, it's okay to make small changes to content while it's published. Small changes include adding Tags and Topics, adding or removing the content from a Group, spelling and grammar corrections, styling, and other minor updates. -For major changes to any piece of content, it's best to first unpublish the content and continue to make changes behind the scenes. You can change the status of the content by unchecking the **Published** box in the administrative submenu at the bottom of the form. Major changes include changing the title, changing the layout, adding new information that needs review, adding or changing images, and any other changes that aren't ready to be published immediately. +For major changes to any piece of content, it's best to first unpublish the content and continue to make changes behind the scenes. You can change the status of the content by unchecking the **Published** box in the administrative submenu at the bottom of the form. Major changes include changing the title, changing the layout, adding new information that needs review, adding or changing images, and any other changes that aren't ready to be published immediately. .. figure:: ../../images/site_manager_playbook/managing_existing_content/edit_dataset_animation.gif :alt: animation of editing a dataset - + In this example, a Site Manager visits a Dataset page and decides to edit the content. The Site Manager clicks on the **Edit** button to open the form and make changes to the Dataset. View changes ------------ -When editing content, a user is making changes to something that is published and visible to the general public. Before saving the changes, you can see exactly what changes have been made in a summary form to check that all the changes are correct. Use the View changes button at the bottom of the page of any piece of content to get the breakdown. +When editing content, a user is making changes to something that is published and visible to the general public. Before saving the changes, you can see exactly what changes have been made in a summary form to check that all the changes are correct. Use the View changes button at the bottom of the page of any piece of content to get the breakdown. The changes are organized into two columns and sectioned off further by the different parts of the content for a side-by-side comparison of what has changed in the piece of content. On the right side, there is the column with the original version (called Original). On the left side, new additions are added to the Changes column. @@ -75,21 +87,21 @@ The changes are organized into two columns and sectioned off further by the diff :alt: example of viewing dataset changes Original - The column titled Original shows what information was in the original version before any changes were made. It contains information that has been removed or, alternatively, what remains when new information is added. The column is further organized into the different fields that make up the content form. These fields include the body text, Topics, Tags, metadata, Groups, etc. so you can see exactly where changes were made. When information is removed, the changes are highlighted in yellow and have a minus sign to the right-hand side. If information remains when new information is added, then the information appears in the Original column, but it's not highlighted and there is no minus sign. In that case, there should be new information in the Changes column. + The column titled Original shows what information was in the original version before any changes were made. It contains information that has been removed or, alternatively, what remains when new information is added. The column is further organized into the different fields that make up the content form. These fields include the body text, Topics, Tags, metadata, Groups, etc. so you can see exactly where changes were made. When information is removed, the changes are highlighted in yellow and have a minus sign to the right-hand side. If information remains when new information is added, then the information appears in the Original column, but it's not highlighted and there is no minus sign. In that case, there should be new information in the Changes column. Changes The column titled Changes shows what information will appear in the new version once changes are saved. It contains information that has been added or, alternatively, what remains if information is removed. .. figure:: ../../images/site_manager_playbook/managing_existing_content/dataset_changes_view_with_additional_edits.png :alt: example of viewing dataset changes with changes to topics - + In this example, a Topic has been removed and a new Topic added. In the Changes to Tags section, you can see that the "trees" Tag was removed. The Changes column shows the information that will be included in the new version (everything that wasn't removed). Revisions --------- -Revisions is a powerful capability, especially when working on content that undergoes several changes. Revisions help track and record changes to create a backup of a piece of content, but they're not automatically generated every time a change is made. Create a new revision any time that a significant change is made to create versions of a piece of content. This will create a safety net in case anything major needs to be reversed. It will also document institutional knowledge as there are personnel changes at your organization. +Revisions is a powerful capability, especially when working on content that undergoes several changes. Revisions help track and record changes to create a backup of a piece of content, but they're not automatically generated every time a change is made. Create a new revision any time that a significant change is made to create versions of a piece of content. This will create a safety net in case anything major needs to be reversed. It will also document institutional knowledge as there are personnel changes at your organization. -Keep in mind that once you delete a piece of content, you also delete its revision history. We suggest unpublishing content, rather than deleting it, so that it's not visible to the general public but still exists on your site behind the scenes. +Keep in mind that once you delete a piece of content, you also delete its revision history. We suggest unpublishing content, rather than deleting it, so that it's not visible to the general public but still exists on your site behind the scenes. Create a new revision @@ -99,7 +111,7 @@ Once a piece of content has been published, you can go back and make changes to Click the **Edit** button to open the content form and go to the bottom of the page. In the Revision information tab, click the option labeled **Create new revision**. This is all you need to create a new version for the piece of content. -Notice there's another field below the new revision option labeled Revision log message. This is a space to explain the changes you're making and why. This is particularly useful for content that goes between multiple authors. Giving an explanation for changes can help clarify reasons that might not be obvious which helps reduces confusion and mistakes that can be easily avoided. +Notice there's another field below the new revision option labeled Revision log message. This is a space to explain the changes you're making and why. This is particularly useful for content that goes between multiple authors. Giving an explanation for changes can help clarify reasons that might not be obvious which helps reduces confusion and mistakes that can be easily avoided. .. image:: ../../images/site_manager_playbook/managing_existing_content/content_revision_information.png :alt: revision information options @@ -107,7 +119,7 @@ Notice there's another field below the new revision option labeled Revision log .. figure:: ../../images/site_manager_playbook/managing_existing_content/content_revision_information_animation.gif :alt: animation of adding revision information - + In this example, the Site Manager is creating a new revision and includes an overview for what was changed in the Revision log message field. The Site Manager saves the changes, and then finds the new revision on the Revisions page. Where to find revisions @@ -127,10 +139,10 @@ From the Revisions page, there are additional options for what you can do with t :alt: content revisions view Compare - Some content may have several revisions that are difficult to visually scan what the differences are. To get a clear sense of the distinction between two revisions, you can select revisions to compare on after the other. Click on the selection circle and then click the Compare button at the top of the columns. You'll see more details of each revision in comparison with one another. + Some content may have several revisions that are difficult to visually scan what the differences are. To get a clear sense of the distinction between two revisions, you can select revisions to compare on after the other. Click on the selection circle and then click the Compare button at the top of the columns. You'll see more details of each revision in comparison with one another. Revert As changes are made, you may not create a new revision each time. Revisions typically reflect significant changes to your published content, so lots of small changes can be made in between the previous and current version. You can go back to an older version of a piece content by clicking the Revert link under the Operations column in the row of the revision. Before reverting, it's best to create a new revision of the content with the most recent changes. The most recent revision will still exist in the list of revisions, but you can revert to an older revision, which is what will appear on your DKAN site. - + Managing content on DKAN -------------------------------------- @@ -139,35 +151,26 @@ After you add a piece of content you may want to make changes or updates or you Content visibility ------------------ -In general, most content is published at the same time it's added. Once content is published it appears on your live DKAN site meaning that it can be searched and discovered by the general public. But if you want to work with content without making it public or if you just want to keep a piece of content rather than delete it but don't want it visible on your DKAN site, you can change the visibility. +In general, most content is published at the same time it's added. Once content is published it appears on your live DKAN site meaning that it can be searched and discovered by the general public. But if you want to work with content without making it public or if you just want to keep a piece of content rather than delete it but don't want it visible on your DKAN site, you can change the visibility. -There are two states that content can be in that determines its visibility to the public, published and unpublished. +There are two states that content can be in that determines its visibility to the public, published and unpublished. Published content - Published content is live on your DKAN site and visible to the public. In some cases, you may want to access and change content that was not created recently. You can visit published content on your DKAN site and edit directly from the page for quick changes (spelling, typos, titles). For bigger changes, it's best to not edit live content. First unpublish the DKAN, make changes, and then publish again. + Published content is live on your DKAN site and visible to the public. In some cases, you may want to access and change content that was not created recently. You can visit published content on your DKAN site and edit directly from the page for quick changes (spelling, typos, titles). For bigger changes, it's best to not edit live content. First unpublish the DKAN, make changes, and then publish again. Unpublished content If content is unpublished that means that it doesn't appear on your live DKAN site, but it still exists behind the scenes. Users can leave content unpublished if they have significant changes or if they want to come back to a piece of content later to finish editing. - - As a Site Manager, you can access all the existing content on your DKAN site through through the Content menu item on the Admin Menu bar. Once you unpublish a piece of content, that content is no longer visible to users with lower permissions (even if they are the author). - -When content is added, by any user, the content defaults to a published state. Users with fewer permissions can edit the content or delete it, but they can't unpublish content or view unpublished content, even if they authored the content. That means that the content is left visible on your DKAN site until the author makes changes. + As a Site Manager, you can access all the existing content on your DKAN site through through the Content menu item on the Admin Menu bar. Once you unpublish a piece of content, that content is no longer visible to users with lower permissions (even if they are the author). -In some cases the changes may be minor revisions, but other scenarios could require heavy editing before the content is ready to be made public. Some content is simply time-sensitive; the information is authored ahead of time but shouldn't be made public until a certain date. Publishing states let you manage the visibility of your content to give Site Managers greater control over the content that appears on your DKAN site. -Bulk actions ------------- +When content is added, by any user, the content defaults to a published state. Users with fewer permissions can edit the content or delete it, but they can't unpublish content or view unpublished content, even if they authored the content. That means that the content is left visible on your DKAN site until the author makes changes. -Some changes are general and can be applied to multiple pieces of content at the same time. You can use the Update options menu to make changes to content by checking all the pieces of content you want to make updates, selecting an update option, and clicking the Update button. The most frequently used actions for bulk actions on content are unpublishing content and deleting content. +In some cases the changes may be minor revisions, but other scenarios could require heavy editing before the content is ready to be made public. Some content is simply time-sensitive; the information is authored ahead of time but shouldn't be made public until a certain date. Publishing states let you manage the visibility of your content to give Site Managers greater control over the content that appears on your DKAN site. -.. figure:: ../../images/site_manager_playbook/managing_existing_content/editing_bulk_content_animation.gif - :alt: animation of content bulk edits - - In this example, a Site Manager is selecting multiple pieces of content to have a common action taken on all the content—a bulk action. The Site Manager then chooses the unpublish option from the drop-down Update options menu and clicks the Update button to finalize the action. Deleting content ---------------- In general, we don't recommend deleting content. On DKAN, once content is deleted there is no way to recover it. You want to be completely sure of your decision before making it permanent. -A better practice is to unpublish content, which keeps the content on the site but doesn't appear to the general public. If you decide that deleting a piece of content is the best action, you can delete a single piece of content from the Content main page using the delete link in the Operations column or directly from the page while in Edit mode using the Delete button at the bottom of the page. You can also delete multiple pieces of content using bulk actions. +A better practice is to unpublish content, which keeps the content on the site but doesn't appear to the general public. If you decide that deleting a piece of content is the best action, you can delete a single piece of content from the Content main page using the delete link in the Operations column or directly from the page while in Edit mode using the Delete button at the bottom of the page. You can also delete multiple pieces of content using bulk actions. diff --git a/dkan/docs/admin/index.rst b/dkan/docs/admin/index.rst index a9883c019..6bf99d263 100644 --- a/dkan/docs/admin/index.rst +++ b/dkan/docs/admin/index.rst @@ -1,9 +1,10 @@ ================== -Site Manager Guide +User Guide ================== .. warning:: - **We are in the process of migrating our legacy, user oriented documentation to this site. There are some new changes to DKAN that have not yet been updated in this documentation, so there may be some inconsistencies with how DKAN works in the latest version. There may also be some formatting issues that still need to be corrected as we transer the documentation from the previous system. Thanks for your patience!** + **We are in the process of migrating our legacy, user oriented documentation to this site. There are some new changes to DKAN that have not yet been updated in this documentation, so there may be some inconsistencies with how DKAN works in the latest version. There may also be some formatting issues that still need to be corrected as we transfer the documentation from the previous system. Thanks for your patience!** + The Site Manager role is the highest non-technical role available on DKAN sites. Users assigned to this role need a good understanding of how DKAN works, and what administrative actions may be necessary to support the site and its users. @@ -11,7 +12,7 @@ The Site Manager role is the highest non-technical role available on DKAN sites. The role of *Site Manager* is broad. You'll have access many parts of the site and will need to know what's happening at a high level, but typically a Site Manager isn't dealing with the finer details of content management. -Other roles, like *Editors* and *Content Creators*, focus on maintaining high quality data and narrative content that both follow standards as well as engage site visitors. Get more information about different user roles in the :ref:`People section` of this playbook. +Other roles, like *Editors* and *Content Creators*, focus on maintaining high quality data and narrative content that both follow standards as well as engage site visitors. Get more information about different user roles in the :doc:`People section ` of this playbook. As a Site Manager, you build the framework that other roles operate within and build on. With that structure in place, you can focus on the overall experience site visitors have as they navigate your Open Data site. A Site Manager's objective is to make open data meaningful by reaching citizens and connecting them to the right data at the right time. @@ -21,7 +22,7 @@ Data and Content One of the biggest pieces of a DKAN site is of course the data itself. A Site Manager can decide how users can add data and create content, and use special visual tools to showcase the stories and insights gained from datasets. People - Data and content management can't be done alone. Site Managers handle all the users on the site and decide who has access to what. They can also create Groups for organizations, which have :ref:`even more possibilities for roles and permissions`. Build your team to build your site. + Data and content management can't be done alone. Site Managers handle all the users on the site and decide who has access to what. They can also create Groups for organizations, which have :doc:`even more possibilities for roles and permissions `. Build your team to build your site. Structure Creating new Pages, DKAN Topics, creating Groups, etc. are all forms of structure on a DKAN site. Use these structure types to create a framework for other users to operate within and build upon. diff --git a/dkan/docs/admin/people/index.rst b/dkan/docs/admin/people/index.rst index a732d2d0a..4d578a455 100644 --- a/dkan/docs/admin/people/index.rst +++ b/dkan/docs/admin/people/index.rst @@ -8,8 +8,9 @@ Data and content management can't be done alone. Site Managers handle all the us .. toctree:: :maxdepth: 2 - + dkan_user_accounts adding_new_users + user_management group_roles_and_permissions dkan_workflow diff --git a/dkan/docs/admin/people/user_management.rst b/dkan/docs/admin/people/user_management.rst new file mode 100644 index 000000000..294a9e9d8 --- /dev/null +++ b/dkan/docs/admin/people/user_management.rst @@ -0,0 +1,59 @@ +Managing existing users +======================= + +Site managers can manage users by clicking 'People' in the Admin Menu. From this screen you can see all existing users, their roles, and details about their account, and by clicking on individual users you can additionally see all the content the user has created. You can also edit their account to change details, add or remove a role, add them to Groups or cancel an account. + +.. figure:: ../../images/site_manager_playbook/people/user-administration.png + :alt: Screen shot of the user administration page. + +**To edit an existing user's account:** + +* Visit your site’s User Management page by clicking “People” in the admin menu. +* The displayed list of users on the User Management page can be filtered and sorted using the filters at the top of the page. Once you’ve found the user you wish to edit in the user table, click the “edit” link at the end of that user’s row. +* On the resulting “edit user” page, you can edit the user’s username, email, or profile information. You can also set a new password for the user. Click the “Save” button at the bottom of the page to save your changes. +* Use the “Cancel account” at the bottom of the edit user page to delete an account. You will be given the option to preserve or delete any website content added by that user before deletion. + +Filtering Users +--------------- + +On some sites, the list of users can be several pages long. To find a specific user or group of users you can use filters to narrow the results. This makes it easy to manage multiple users at the same time or find an individual user without needing to browse through several pages of users. + +- **Username** You can enter text into the username filter to limit the results to usernames that contain matching text. +- **E-mail** Filter users by e-mail +- **Active** This filter will limit the results to either Active users or Blocked users. +- **Role** By selecting a role, the results will only show users that are assigned that specific role. + + +Bulk Operations +--------------- + +When you have several users that require the same action, you can use the **Operations** selector to perform bulk actions on a group of users. Rather than spend extra time performing the same action over and over again for individual users, you can select multiple users and make the change for the group with just one click. + +From the People page, check the box next to all of the users you would like to update. Select a task from the Operations drop-down list and click the **Execute** button. You can quickly make changes for a group of users like adding or removing a role and blocking or canceling their accounts. + + +Blocking a user or canceling an account +--------------------------------------- + +At some point, a user account may need to be deleted or blocked. Typically this is for internal employees who move on from the organization, but there are occasions involving external users. There are a number of options for canceling an account or blocking a user to meet a number of scenarios. + +**Block an account.** Blocking an account is the most simple and straightforward way to suspend an account. Blocking a user account keeps a user from logging in, and accounts can easily be unblocked. A blocked account only means that a user cannot login to their account and access your DKAN site. All of their content and profile details will remain, so nothing is lost if you want to unblock an account and restore access. + +For users accounts belonging to your organization, blocking an account is typically a temporary action. For user accounts that belong to people who may have registered the account themselves, blocking is likely to be more permanent. By blocking an account, you keep users from creating a new account with the same details and avoid repeating the blocking process. + +You can block a single user by editing their profile and changing their status, or you can block several users at once by using the bulk actions function on the People page. In the example below, the Site Manager is blocking a user account by editing an individual user profile. To finalize the changes, the Site Manager must click the Save button at the bottom of the page. + +.. figure:: ../../images/site_manager_playbook/managing_users/managing_users_05.gif + :alt: An animated screencap showing how to block unwanted users on the People page. + +**Cancel an account.** Canceling an account can be a permanent action, and there are several options to choose from. Some of the actions cannot be reversed, so you should be careful when deciding which option to choose. Below are the options for canceling an account and the implications of selecting the option. While Site Managers can cancel the account of any user on the site, users may also cancel their own accounts. + +.. figure:: ../../images/site_manager_playbook/managing_users/managing_users_06.png + :alt: An image displaying what happens during the process of canceling a user's account. + +- **Disable the account and keep its contents:** If you disable the account, the details of the profile remain in tact but the user is blocked from accessing the site with their user login. By keeping the contents, any content that the user published will remain on the live site. Because the account is only disabled (blocked) the user remains as the author of the content and the profile details may still be accessed. This option is similar to just blocking an account, and it's a good temporary measure in most cases. +- **Disable the account and unpublish its contents:** This option blocks the user from accessing the site and all the content that the user has published will be unpublished. This means that their content will not appear on the live site, but it will still exist behind the scenes. It can be managed out of public view and in the mean time, the user cannot do anything else on the site. This is a good option if you need to review the content a user has published and need it to be off the site but still need to access it. +- **Delete the account and make its contents belong to the Anonymous User:** This is a permanent action. Once you delete an account, you cannot recover any of the details that were associated with the user profile. With this option you can delete the entire account as well as keep its contents. Because the account associated with the user who was the original author no longer exists, the content must be assigned to a different author. This option quickly changes the author so that the content remains on the live site, and you can change the author at any time. Again, this is a permanent option so be careful before making this selection. +- **Delete the account and its contents:** This is a permanent action and the most severe choice when canceling an account. This options not only deletes the user account and all the profile details, it also deletes all the content the user added. Neither the account nor the content can be recovered with this selection. As a general best practice, we recommend never deleting content if it can be edited or simply unpublished. + +**Require email confirmation:** For any option you choose when canceling an account, you can make sure the user is aware by requiring email confirmation. An email will be sent to the email address provided in the user's profile details. When you check the Require email confirmation box, the account won't be canceled until the user confirms through the email. diff --git a/dkan/docs/admin/people/users.rst b/dkan/docs/admin/people/users.rst deleted file mode 100644 index a0360a7de..000000000 --- a/dkan/docs/admin/people/users.rst +++ /dev/null @@ -1,92 +0,0 @@ -DKAN User Management -==================== - -.. warning:: - - This was a document that existed before we did the migration from Insights. This should be reviewed and merged into the People section. - -DKAN uses Drupal's build-in, powerful user account system, with some customizations captured in the DKAN Sitewide User module. Flexible combinations of permissions, restrictions, and authorization schema mean that you can design an open data system that meets the needs of all of your users -- from visitors to data publishers to developers -- securely and easily. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_01.png - :alt: The People page, where you can manage users. - -Managing, Editing, and Deleting Existing Users -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Adding a new user ------------------ - -* Log in to your site as the administrative super-user. Note the thin black administration menu that appears at the top of each page once you’ve logged in. This “admin menu” contains shortcuts to all administrative tasks. -* Visit your site’s User Management page by clicking “People” in the admin menu. -* Select the “+ Add user” option at the top of the user management page to add a new user. -* Complete the “add user” form as shown, adding the user to any roles such as “editor” as appropriate. Note the “notify user” option which will send an email with initial login instructions to the user’s email address. -* Click the “Create new account” button when complete. - -Managing existing users ------------------------ - -After creating an account, you can continue to manage users’ profiles from the People menu item in the Admin Menu. From this screen you can see all the existing users, their roles, and details about their account, and by clicking on individual users you can additionally see all the content the user has created. You can also edit their account to change details, add or remove a role, add them to Groups or cancel an account. - -**To edit an existing user's account:** - -* Visit your site’s User Management page by clicking “People” in the admin menu. -* The displayed list of users on the User Management page can be filtered and sorted using the filters at the top of the page. Once you’ve found the user you wish to edit in the user table, click the “edit” link at the end of that user’s row. -* On the resulting “edit user” page, you can edit the user’s username, email, or profile information. You can also set a new password for the user. Click the “Save” button at the bottom of the page to save your changes. -* Use the “Cancel account” at the bottom of the edit user page to delete an account. You will be given the option to preserve or delete any website content added by that user before deletion. - -Finding users and bulk actions ------------------------------- - -On some sites, the list of users can be several pages long. To find a specific user or group of users you can use the filters to narrow the results. - -Filter users and refine results. Filters are most helpful when you're looking for a group of users that can meet a general search criteria. This makes it easy to manage multiple users at the same time or find an individual user without needing to browse through several pages of users. There are two types of filters to narrow users: role and status. - -- **Role.** Filtering users by a role is best used for managing users by permissions. You may want to give a group of users higher permissions or you may want to change the status of a group of users. By selecting a role, the results will only show users that are assigned that specific role. -- **Status.** You can also filter users with a certain status. Click the drop-down menu in the status field and click active to show only active users. Showing only active users ignores users that are not active so that you manage only relevant accounts. - -**Refine results.** If your search is more complex, you can refine the results of the initial results by adding additional search criteria. You can select multiple roles and/or status. So the results would only show users who meet all the criteria. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_02.png - :alt: A screencap of the "Show Only Users Where" screen for narrowing down specific users. - -Select the first criteria and click the Filter button to narrow the user list. Once the results are narrowed, you can select an additional search criteria and click the Refine button to narrow the results further. You can do this for multiple search criteria. - -Click the Undo button to remove the last search criteria you added or click the Reset button to remove all the search criteria. Make sure to click the Reset button once you're done with your search. Otherwise the results will remain narrowed, even if you navigate to another page, until all the criteria have been removed. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_03.gif - :alt: An animated screencap showing user management on the People page. - -**Bulk actions.** When you have several users that require the same action, you can use this menu to perform bulk actions on a group of users. Rather than spend extra time performing the same action over and over again for individual users, you can select multiple users and make the change for the group with just one click. - -From the People page, select all the user accounts that need to be updated by checking the white check box next to their username. Find the drop-down Update options menu and choose the action you want to perform. You can quickly make changes for a group of users like adding or removing a role and blocking or canceling their accounts. - -In the example below, the Site Manager first uses the status filter to show only blocked users. Then the Site Manager checks the users that should be unblocked, and then finds the Unblock the selected user option in the Update options drop-down menu. Finally, they click the Update button to finalize the changes. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_04.gif - :alt: An animated screencap showing user management on the People page. - -Blocking a user or canceling an account ---------------------------------------- - -At some point, most user accounts will need to be deleted or blocked. Typically this is for internal employees who move on from the organization, but there are occasions involving external users. There are a number of options for canceling an account or blocking a user to meet a number of scenarios. - -**Block an account.** Blocking an account is the most simple and straightforward way to suspend an account. Blocking a user account keeps a user from logging in, and accounts can easily be unblocked. A blocked account only means that a user cannot login to their account and access your DKAN site. All of their content and profile details will remain, so nothing is lost if you want to unblock an account and restore access. - -For users accounts belonging to your organization, blocking an account is typically a temporary action. For user accounts that belong to people who may have registered the account themselves, blocking is likely to be more permanent. By blocking an account, you keep users from creating a new account with the same details and avoid repeating the blocking process. - -You can block a single user by editing their profile and changing their status, or you can block several users at once by using the bulk actions function on the People page. In the example below, the Site Manager is blocking a user account by editing an individual user profile. To finalize the changes, the Site Manager must click the Save button at the bottom of the page. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_05.gif - :alt: An animated screencap showing how to block unwanted users on the People page. - -**Cancel an account.** Canceling an account can be a permanent action, and there are several options to choose from. Some of the actions cannot be reversed, so you should be careful when deciding which option to choose. Below are the options for canceling an account and the implications of selecting the option. While Site Managers can cancel the account of any user on the site, users may also cancel their own accounts. - -.. figure:: ../images/site_manager_playbook/managing_users/managing_users_06.png - :alt: An image displaying what happens during the process of canceling a user's account. - -- **Disable the account and keep its contents:** If you disable the account, the details of the profile remain in tact but the user is blocked from accessing the site with their user login. By keeping the contents, any content that the user published will remain on the live site. Because the account is only disabled (blocked) the user remains as the author of the content and the profile details may still be accessed. This option is similar to just blocking an account, and it's a good temporary measure in most cases. -- **Disable the account and unpublish its contents:** This option blocks the user from accessing the site and all the content that the user has published will be unpublished. This means that their content will not appear on the live site, but it will still exist behind the scenes. It can be managed out of public view and in the mean time, the user cannot do anything else on the site. This is a good option if you need to review the content a user has published and need it to be off the site but still need to access it. -- **Delete the account and make its contents belong to the Anonymous User:** This is a permanent action. Once you delete an account, you cannot recover any of the details that were associated with the user profile. With this option you can delete the entire account as well as keep its contents. Because the account associated with the user who was the original author no longer exists, the content must be assigned to a different author. This option quickly changes the author so that the content remains on the live site, and you can change the author at any time. Again, this is a permanent option so be careful before making this selection. -- **Delete the account and its contents:** This is a permanent action and the most severe choice when canceling an account. This options not only deletes the user account and all the profile details, it also deletes all the content the user added. Neither the account nor the content can be recovered with this selection. As a general best practice, we recommend never deleting content if it can be edited or simply unpublished. - -**Require email confirmation:** For any option you choose when canceling an account, you can make sure the user is aware by requiring email confirmation. An email will be sent to the email address provided in the user's profile details. When you check the Require email confirmation box, the account won't be canceled until the user confirms through the email. diff --git a/dkan/docs/apis/ckan-dataset.md b/dkan/docs/apis/ckan-dataset.md index 535d6e2df..05517978d 100644 --- a/dkan/docs/apis/ckan-dataset.md +++ b/dkan/docs/apis/ckan-dataset.md @@ -2,7 +2,7 @@ DKAN provides a number of public, read-only APIs that are designed to provide catalog and dataset information as well as updates that allow observers to track and pull in changes. These public APIs are specifically designed to allow CKAN sites to harvest from DKAN based off of the APIs used for the [CKAN Harvester](https://github.com/ckan/ckanext-harvest/tree/master/ckanext/harvest/harvesters). -All the APIs listed on this page are provided via the [Open Data Schema Map](https://github.com/NuCivic/open_data_schema_map) module. +All the APIs listed on this page are provided via the [Open Data Schema Map](https://github.com/GetDKAN/open_data_schema_map) module. ## Supported APIs @@ -10,7 +10,7 @@ All the APIs listed on this page are provided via the [Open Data Schema Map](htt See: -Demo: +Demo: ### revision_list @@ -22,7 +22,7 @@ Demo: See: -Demo: +Demo: ### current_package_list_with_resources @@ -52,4 +52,4 @@ See: -Demo: \ No newline at end of file +Demo: diff --git a/dkan/docs/apis/rest-api.rst b/dkan/docs/apis/rest-api.rst index 1b28e04c9..6d0ef0cdc 100644 --- a/dkan/docs/apis/rest-api.rst +++ b/dkan/docs/apis/rest-api.rst @@ -4,7 +4,7 @@ Dataset REST API ##################### -The `DKAN Dataset REST API `_ uses the `Services `_ module to create CRUD endpoint at ``api/dataset/node``. By default, this endpoint provides full CRUD access to a website's content nodes, and limited access to users (to allow authentication). The endpoint can be customized at ``/admin/structure/services/list/dkan_dataset_api/resources``. +The `DKAN Dataset REST API `_ uses the `Services `_ module to create CRUD endpoint at ``api/dataset/node``. By default, this endpoint provides full CRUD access to a website's content nodes, and limited access to users (to allow authentication). The endpoint can be customized at ``/admin/structure/services/list/dkan_dataset_api/resources``. ********************** Services Documentation @@ -68,7 +68,7 @@ Token authenticaion is not currently available out-of-the-box. However, it can b Authentication Permissions ========================== -The permissions with which a user is granted depend on the user role. User roles and permissions are easily configured in the user administration screen at ``admin/people``, and DKAN comes with a number of pre-configured default roles via the `DKAN Permissions `_ module. +The permissions with which a user is granted depend on the user role. User roles and permissions are easily configured in the user administration screen at ``admin/people``, and DKAN comes with a number of pre-configured default roles via the `DKAN Permissions `_ module. **************** Request Examples @@ -85,14 +85,14 @@ URL Query Parameters The output from a url is paginated and displays 20 items per page by default. You can specify which page to view by adding a `page` value. And you can change the number of items per page by including a `pagesize` value. For example, the following query will display items 11 - 20: .. code-block:: bash - + http://demo.getdkan.com/api/dataset/node.json?page=2&pagesize=10 To return only a specific node type, include a `type` parameter: .. code-block:: bash - + http://demo.getdkan.com/api/dataset/node.json?parameters[type]=dataset @@ -106,7 +106,7 @@ To return only the title and node id of published resources: Below you can find examples in PHP for a basic set of CRUD operations on datasets and resources. This documentation is a work in progress. The examples are raw HTTP requests, with a short example of how to execute a query in PHP as well. -For an example of a fully-functional python-based client to the DKAN REST API, see the `pydkan `_ project. +For an example of a fully-functional python-based client to the DKAN REST API, see the `pydkan `_ project. Login ===== @@ -222,6 +222,26 @@ Response "uri": "http://docker:32774/api/dataset/node/75" } +Delete dataset +============== + +Request +------- + +.. code-block:: bash + + DELETE http://docker:32774/api/dataset/node/123 + Content-Type: application/json + X-CSRF-Token: XBWI44XD33XBIANLpyK-rtvRa0N5OcaC03qLx0VQsP4 + +Response +-------- + +.. code-block:: json + + --- + - true + Create resource =============== @@ -670,12 +690,12 @@ Create a Dataset Python client ============= -Be sure to look at the `pydkan Python client `_ to see a working API client you can build on for your own applications. +Be sure to look at the `pydkan Python client `_ to see a working API client you can build on for your own applications. Safe FME Integration ==================== -Building on the pydkan client, the `FME Workflows `_ repo provides code and instructions for integrating DKAN into `Safe FME `_ workflows. +Building on the pydkan client, the `FME Workflows `_ repo provides code and instructions for integrating DKAN into `Safe FME `_ workflows. ************ Known issues diff --git a/dkan/docs/community/code-of-conduct.rst b/dkan/docs/community/code-of-conduct.rst new file mode 100644 index 000000000..505823f0a --- /dev/null +++ b/dkan/docs/community/code-of-conduct.rst @@ -0,0 +1,75 @@ +================ +Code of conduct +================ + +Purpose +======= +A primary goal of the Project DKAN is to be inclusive to the largest number of participants, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in Project DKAN activities to help us create safe and positive experiences for everyone. + +Open source & culture citizenship +================================= +A supplemental goal of this Code of Conduct is to increase open source and culture citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, please recognize their efforts. + +Expected Behavior +================= +The following behaviors are expected and requested of all community members: + +- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. +- Exercise consideration and respect in your speech and actions. +- Attempt collaboration before conflict. +- Refrain from demeaning, discriminatory, or harassing behavior and speech. +- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. +- Keep conversations in appropriate channels to help people find the information they need. + +Unacceptable behavior +===================== +The following behaviors are considered harassment and are unacceptable within our community: + +- Violence, threats of violence or violent language directed against another person. +- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. +- Posting or displaying sexually explicit or violent material. +- Posting or threatening to post other people’s personally identifying information ("doxing"). +- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +- Inappropriate photography or recording. +- Unwelcome sexual attention. This includes, sexualized comments or jokes and unwelcomed sexual advances. +- Deliberate intimidation, stalking or following (online or in person). +- Advocating for, or encouraging, any of the above behavior. +- Promoting your particular product or service (though we of course welcome relevant recommendations). + + +Consequences of unacceptable behavior +===================================== +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. +If a community member engages in unacceptable behavior, we may take any action deemed appropriate, up to and including a temporary ban or permanent expulsion from the community without warning. + +Reporting guidelines +==================== +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify us as soon as possible by emailing getdkan@gmail.com. + +Addressing grievances +===================== +Only permanent resolutions (such as bans) may be appealed. To appeal a decision of the working group, contact the Project DKAN team at getdkan@gmail.com with your appeal and the team will review the case. + +Scope +===== +We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +Contact info +============ +Project DKAN, getdkan@gmail.com + +License and attribution +======================= +This Code of Conduct is distributed under a `Creative Commons Attribution-ShareAlike license `_. Portions of text derived from the `Django Code of Conduct `_ and the `Geek Feminism Anti-Harassment Policy `_. diff --git a/dkan/docs/community/help.rst b/dkan/docs/community/help.rst new file mode 100644 index 000000000..f30b940d2 --- /dev/null +++ b/dkan/docs/community/help.rst @@ -0,0 +1,9 @@ +Professional Help +================= + +For professional DKAN development services and support: + +- `CivicActions `_ +- `Angry Cactus `_ +- `National Democratic Institute `_ +- `Annai `_ diff --git a/dkan/docs/community/index.rst b/dkan/docs/community/index.rst new file mode 100644 index 000000000..1754b1fd2 --- /dev/null +++ b/dkan/docs/community/index.rst @@ -0,0 +1,9 @@ +DKAN Community +============== + +.. toctree:: + :maxdepth: 1 + + welcome + help + code-of-conduct diff --git a/dkan/docs/community/welcome.rst b/dkan/docs/community/welcome.rst new file mode 100644 index 000000000..f4a7181e2 --- /dev/null +++ b/dkan/docs/community/welcome.rst @@ -0,0 +1,37 @@ +Welcome! +========= + +Slack +~~~~~~ + +Give and get help in the `DKAN Slack community! `_ + +This community resource is for DKAN developers and users to share how they're using the platform, help answer each other's questions, discuss improvements they'd like to see, and find ways to contribute to DKAN. + +You'll meet developers, open source and open data enthusiasts, city, state, and government officials, scientists, and more interesting people all working toward a more transparent, smarter, more data-driven world. + +**Join the community** + +- `Join the DKAN Slack community `_ +- Complete your profile (bio/photo). +- Join as many or as few channels as you'd like (you'll see descriptions for each channel detailing its purpose). + + +Github +~~~~~~ + +For developers and contributors: + +- `Pull requests welcome! `_ Add a link to the issue it fixes and a detailed description about your fix. +- `Submit an issue at the official DKAN repo `_ Please add detailed steps on how to reproduce the error, what version of DKAN you are using, and any environment details that could help expedite work on the problem. + +Social Media +~~~~~~~~~~~~ +- `DKAN Blog `_ +- `DKAN Events `_ +- `Twitter `_ + + +See our :doc:`Code of Conduct ` + + diff --git a/dkan/docs/components/dataset/previews.rst b/dkan/docs/components/dataset/previews.rst index 510f2dd27..cc3be81d8 100644 --- a/dkan/docs/components/dataset/previews.rst +++ b/dkan/docs/components/dataset/previews.rst @@ -1,4 +1,4 @@ Data Preview Features ========================== -Resources include powerful preview functionality via the `Recline `_ module. :doc:`See Visualizations/Data Previews<../visualizations/datapreviews>` +Resources include powerful preview functionality via the `Recline `_ module. :doc:`See Visualizations/Data Previews<../visualizations/datapreviews>` diff --git a/dkan/docs/components/dataset/usage.rst b/dkan/docs/components/dataset/usage.rst index c1d8bbae5..6357a525f 100644 --- a/dkan/docs/components/dataset/usage.rst +++ b/dkan/docs/components/dataset/usage.rst @@ -4,9 +4,7 @@ Usage Creating Datasets and Resources ------------------------------- -DKAN’s data publishing model is based on the concept of :ref:`datasets ` and :ref:`resources `. A dataset is a container for one or more resources; a resource is the actual “data” being published, such as a CSV table, a GeoJSON data file, or a TIFF aerial image. - -The dataset and resource content types in DKAN are provided by the `DKAN Dataset module `_. +DKAN’s data publishing model is based on the concept of :ref:`datasets ` and :ref:`resources `. A dataset is a container for one or more resources; a resource is the actual “data” being published, such as a CSV table, a GeoJSON data file, or a TIFF aerial image. The dataset and resource content types in DKAN are provided by the DKAN Dataset module. In our example, we’ll be adding a dataset with Wisconsin polling places to a DKAN site. The data may look familiar; it's one of the sample datasets provided with DKAN upon installation. @@ -27,8 +25,8 @@ After creating a dataset, we’re prompted to add one or more data resources to :Remote file: This option allows publishers to create a link to a data file published on another Internet website. Although the file itself will remain on the other site, the data within the file can be imported into your DKAN site’s Datastore for preview and analysis by your users. See :doc:`../datastore` for more information. .. note:: - - To provide :doc:`previews <../visualizations/datapreviews>` for your resources, they must contain either a local or remote file (*Link to a file* or *Upload a file*). If you use *API or Website URL* your link will be displayed in an iFrame but not further previewing will be possible. + + To provide :doc:`previews <../visualizations/datapreviews>` for your resources, they must contain either a local or remote file (*Link to a file* or *Upload a file*). If you use *API or Website URL* your link will be displayed in an iFrame but not further previewing will be possible. To continue with our Wisconsin Polling Places example, we’ll add one resource file to the Dataset we created in Step 1. Our resource file is a CSV, that is, comma-separated values format; this is a popular file format for exchanging tabular data. Let’s explore the example resource shown here and the various fields within: diff --git a/dkan/docs/components/datastore.rst b/dkan/docs/components/datastore.rst index a20a4ec3b..8c162259a 100644 --- a/dkan/docs/components/datastore.rst +++ b/dkan/docs/components/datastore.rst @@ -5,7 +5,7 @@ DKAN Datastore bundles a number of modules and configuration to allow users to u **Drupal Architecture** -The DKAN Datastore's importer is a wrapper around the `Feeds `_ module. The custom `Feeds Flatstore Processor `_ and `Feeds Field Fetcher `_ plugins were created the file uploaded to the resource form a feed item. +The DKAN Datastore's importer is a wrapper around the `Feeds `_ module. The custom `Feeds Flatstore Processor `_ and `Feeds Field Fetcher `_ plugins were created the file uploaded to the resource form a feed item. The `Data `_ module is used to manage datastore tables' schema. @@ -173,7 +173,7 @@ Installation ^^^^^^^^^^^^^^ - Inside your settings.php add a `pdo` element to your database configuration. For example: - + .. code-block:: php `_ . +2. Perform migrations into DKAN with the locally cached JSON files, using mappings provided by the `DKAN Migrate Base module `_ . Harvest Sources --------------- @@ -270,9 +270,9 @@ Migration Classes ************************************** The common harvest migration logic is encapsulated in the `HarvestMigration -class `_, -(which extends the `MigrateDKAN `_ class provided -via the `DKAN Migrate Base `_ +class `_, +(which extends the `MigrateDKAN `_ class provided +via the `DKAN Migrate Base `_ module. DKAN Harvest will support only migration classes extended from ``HarvestMigration``. This class is responsible for consuming the downloaded data during the harvest cache step to create the DKAN `dataset` and associated @@ -358,7 +358,7 @@ Example code snippet: } -Harvest and `DKAN Workflow `_ support +Harvest and DKAN Workflow support ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ By default, DKAN Harvest will make sure that the harvested *dataset* node will be set to the ``published`` moderation state if the DKAN Workflow module is enabled diff --git a/dkan/docs/components/index.rst b/dkan/docs/components/index.rst index 3fea02f9d..5851adef4 100644 --- a/dkan/docs/components/index.rst +++ b/dkan/docs/components/index.rst @@ -6,11 +6,11 @@ components that make up DKAN. With the exception of the modules described in the last two items in this table of contents -(`Open Data Schema Map `_ and -`Visualization Entity `_), -and of the `Recline `_ module which is +(`Open Data Schema Map `_ and +`Visualization Entity `_), +and of the `Recline `_ module which is described inside the Datasets section, all this functionality is provided by the -`modules that ship with the DKAN profile `_. +`modules that ship with the DKAN profile `_. .. toctree:: :maxdepth: 1 diff --git a/dkan/docs/components/open-data-schema.md b/dkan/docs/components/open-data-schema.md index 1283ca1cc..aa38cbd4e 100644 --- a/dkan/docs/components/open-data-schema.md +++ b/dkan/docs/components/open-data-schema.md @@ -2,7 +2,7 @@ This module provides a flexible way to expose your Drupal content via APIs following specific Open Data schemas. Currently, the [CKAN](http://docs.ckan.org/en/ckan-1.8/domain-model-dataset.html), [Project Open Data](http://project-open-data.github.io/schema/) and [DCAT-AP](https://joinup.ec.europa.eu/asset/dcat_application_profile/description) schemas are provided, but new schemas can be easily added through your own modules. A user interface is in place to create endpoints and map fields from the chosen schema to Drupal content using tokens. -This module was developed as part of the DKAN project, but will work on an Drupal 7 site. A [separate module exists for DKAN-specific implementation](https://github.com/NuCivic/open_data_schema_map_dkan). +This module was developed as part of the DKAN project, but will work on an Drupal 7 site. A [separate module exists for DKAN-specific implementation](https://github.com/GetDKAN/open_data_schema_map_dkan). Note that serious performance issues can result if you do not follow recommendations in the [ODSM File Cache section](#the-odsm-file-cache). @@ -12,7 +12,7 @@ Note that serious performance issues can result if you do not follow recommendat A schema is a list of field definitions, usually representing a community specification for presenting machine-readable data. The core Open Data Schema Map module does not include any schemas; they are provided by additional modules. A schema module includes: * a standard Drupal .module file -- with an implementation of ```hook_open_data_schema()``` to expose the schema to the core Open Data Schema Map module, plus _alter functions for any needed modifications of the UI form or the data output itself. -* the schema itself, expressed as a .json file. For instance, see the [Project Open Data schema file](https://github.com/NuCivic/open_data_schema_map/blob/master/modules/open_data_schema_pod/data/single_entry.json) to see how these schema are defined in JSON +* the schema itself, expressed as a .json file. For instance, see the [Project Open Data schema file](https://github.com/GetDKAN/open_data_schema_map/blob/master/modules/open_data_schema_pod/data/single_entry.json) to see how these schema are defined in JSON ### API @@ -35,7 +35,7 @@ Navigate to admin/config/services/odsm and click "Add API." ![screen shot 2014-07-14 at 3 24 03 pm](../images/c7ff24e6-0b8c-11e4-92c3-9ba2e163bf56.png) -Give the API a title, machine name, choose which entity type (usually _node_) and bundle (in [DKAN](https://github.com/NuCivic/dkan), this is usually _Dataset_). +Give the API a title, machine name, choose which entity type (usually _node_) and bundle (in [DKAN](https://github.com/GetDKAN/dkan), this is usually _Dataset_). ![screen shot 2014-07-14 at 3 46 39 pm](../images/b3e6ea90-0b8f-11e4-9d9e-33b4515310f0.png) @@ -114,21 +114,20 @@ Date formats can be chanaged manually by changing the "Medium" date time format ## A Note on XML Output -Open Data Schema Map provides an XML output format. This is provided via a separate submodule in the `modules/` folder for historical reasons, but should be refactored into the main ODSM module in a future release. +Open Data Schema Map provides an XML output format. This is provided via a separate submodule in the `modules/` folder for historical reasons, but should be refactored into the main ODSM module in a future release. -XML endpoints still require a _schema_ defined in JSON. Defining your own XML endpoint may be less than intuitive for the time beind, but take a look at the [DCAT schema module](https://github.com/NuCivic/open_data_schema_map/tree/master/modules/open_data_schema_dcat) for a model. +XML endpoints still require a _schema_ defined in JSON. Defining your own XML endpoint may be less than intuitive for the time beind, but take a look at the [DCAT schema module](https://github.com/GetDKAN/open_data_schema_map/tree/master/modules/open_data_schema_dcat) for a model. ## The ODSM File Cache Open Data Schema Map endpoints that list a large number of entities -- Project Open Data (`data.json`), the CKAN Package List (`/api/3/action/package_list`) and DCAT-AP Catalog (`catalog.xml`) -- perform a full entity load for each record listed in order to perform the token replacements. This can cause a major performance hit each time any of these URLs is hit on a site with more than a few dozen datasets, and on a site with thousands the response time can be two minutes or more. -Open Data Schema Map includes a file caching function to save a snapshot of any endpoint as a static file to be served up quickly, with very few hits to the database. +Open Data Schema Map includes a file caching function to save a snapshot of any endpoint as a static file to be served up quickly, with very few hits to the database. -File caches at present can only be generated by a Drush command. The recommended usage on a production website is to set up a cron job or use a task runner like [Jenkins](https://jenkins.io/) to regenerate the file caches for your performance-intensive endpoints daily, at whatever time your site experiences the least amount of traffic. The trade-off of course is that any additions or changes to your site will not be reflected on these endpoints until they are regenerated. +File caches can be generated either via a Drush command, or an admin UI. The recommended usage on a production website is to set up a cron job or use a task runner like [Jenkins](https://jenkins.io/) to regenerate the file caches for your performance-intensive endpoints daily (usin the drush command), at whatever time your site experiences the least amount of traffic. The trade-off of course is that any additions or changes to your site will not be reflected on these endpoints until they are regenerated. -An administrative UI to regenerate a file cache manually may be included in a future release. -### Use +### Drush Use The Drush command supplied by Open Data Schema Map is `odsm-filecache` (also available simply as the alias `odsmfc`). This command takes as its argument the machine name for an ODSM endpoint. For example: @@ -144,12 +143,18 @@ public://odsm_cache_data_json_1_1 Now a hit to `/data.json` will be routed to this file, which in most cases will actually live at `/sites/default/files/odsm_cache_data_json_1_1`. +### UI Use + +An administrative UI to regenerate file caches manually is also included. This interface is useful in cases where manual creation of the cache files is sufficient. + +To use, navigate to admin/config/services/odsm where there is a column called "Cache" with links to the individual admin pages for specific enpoint caches. If there is no cache the link is labled "none", otherwise the link is labled with the age of the cache in hours. From the cache admin pages you can create, delete or regenerate the cache. + ## Schema Validation Both the Project Open Data and DCAT-AP schemas ship with validation tools you can access from the Drupal admin menu. More documentation on this feature coming soon... ## Community -We are accepting issues for Open Data Schema Map in the [DKAN issue queue](https://github.com/NuCivic/dkan/issues) only. Please label your issue as **"Component: ODSM"** after submitting so we can identify problems and feature requests faster. +We are accepting issues for Open Data Schema Map in the [DKAN issue queue](https://github.com/GetDKAN/dkan/issues) only. Please label your issue as **"Component: ODSM"** after submitting so we can identify problems and feature requests faster. If submitting a pull request to this project, please try to link your PR to the corresponding issue in the DKAN issue thread. diff --git a/dkan/docs/components/permissions.rst b/dkan/docs/components/permissions.rst index 548534f1f..79fa57f4a 100644 --- a/dkan/docs/components/permissions.rst +++ b/dkan/docs/components/permissions.rst @@ -8,7 +8,7 @@ There will also be cases where you need users to have different permissions in t The DKAN Permissions module --------------------------- -The DKAN Permissions module provides default roles and permissions for the DKAN distribution. It uses the export method provided by the `Features Roles Permissions `_ module so you can examine the specific roles and permissions provided by reviewing `dkan_permissions.features.roles_permissions.inc `_. +The DKAN Permissions module provides default roles and permissions for the DKAN distribution. It uses the export method provided by the `Features Roles Permissions `_ module so you can examine the specific roles and permissions provided by reviewing `dkan_permissions.features.roles_permissions.inc `_. Drupal Core Roles --------------------------- diff --git a/dkan/docs/components/theme.rst b/dkan/docs/components/theme.rst index fac19fa74..8454ca695 100644 --- a/dkan/docs/components/theme.rst +++ b/dkan/docs/components/theme.rst @@ -92,12 +92,12 @@ Creating a new subtheme To create a Nuboot Radix subtheme, run these commands .. code-block:: php - + drush en radix drush vset theme_default radix - drush radix "MyThemeName" --kit=https://github.com/NuCivic/radix-kit-nuboot/archive/master.zip + drush radix "MyThemeName" --kit=https://github.com/GetDKAN/radix-kit-nuboot/archive/master.zip drush vset theme_default MyThemeName diff --git a/dkan/docs/components/topics.rst b/dkan/docs/components/topics.rst index 31cdd69d2..dce911d01 100644 --- a/dkan/docs/components/topics.rst +++ b/dkan/docs/components/topics.rst @@ -7,7 +7,7 @@ While DKAN includes a free-tagging tags/keywords field for datasets, many data p The DKAN Topics module adds a "topics" vocabulary to DKAN, and corresponding functionality throughout the site. It adds a facet to the search/datasets page, and a pane to the default homepage. Topics can be administered through the standard Drupal taxonomy interface. -The included `DKAN Default Topics `_ module will add, on enable, a set of default civic topics using the `Taxonomy Fixtures `_ module. +The included `DKAN Default Topics `_ module will add, on enable, a set of default civic topics using the `Taxonomy Fixtures `_ module. DKAN Topics is enabled by default on new DKAN installations, with default terms loaded into the vocabulary. The module can be disabled and uninstalled, and all existing topics will be removed. diff --git a/dkan/docs/components/visualizations/datapreviews.rst b/dkan/docs/components/visualizations/datapreviews.rst index 91dd78f3d..98ade96ab 100644 --- a/dkan/docs/components/visualizations/datapreviews.rst +++ b/dkan/docs/components/visualizations/datapreviews.rst @@ -3,14 +3,14 @@ DKAN Data Preview Features DKAN allows users to have a preview of their data when uploaded to or linked to a *resource*. Which preview type is displayed for a particular *resource* depends on the data **format** selected. If no data format is provided, DKAN will attempt to auto-detect the format from the file's metadata; re-editing the *resource* and correcting the format field manually may be necessary if the auto-detection is not successful. -This functionality is provided via the `Recline module `_, which is not part of the core DKAN repository but is a basic dependency of it (and will be included when building the distribution via ``drush make``). +This functionality is provided via the `Recline module `_, which is not part of the core DKAN repository but is a basic dependency of it (and will be included when building the distribution via ``drush make``). Recline.js ---------- DKAN, like CKAN, offers an integration with the `Recline `_ Javascript library. Recline allows site visitors to preview tabular data visually. The preview works for CSV and XLS [*]_ files that are uploaded to the DKAN site or hosted remotely and linked to, as well as for data stored in DKAN's local SQL-based :doc:`datastore <../datastore>`. -**Record limit:** The previews will display up to 100 records by default. You can use the pager to preview additional results based on the range given. If you want to preview more than 100 records at a time, adjust the max range value to the desired range. +**Record limit:** The previews will display up to 100 records by default. You can use the pager to preview additional results based on the range given. If you want to preview more than 100 records at a time, adjust the max range value to the desired range. .. figure:: ../../images/pager.png @@ -46,7 +46,7 @@ Files that are too large to preview in the browser can be previewed by :doc:`add Additional Preview Types ------------------------ -DKAN provides preview formats for several additional file types beyond what is supported by Recline.js, these include: JSON, geojson, XML, ArcGIS REST, WMS, images, PDF, and ZIP files. These additional preview formatters are defined in a `forked version of Recline `_ +DKAN provides preview formats for several additional file types beyond what is supported by Recline.js, these include: JSON, geojson, XML, ArcGIS REST, WMS, images, PDF, and ZIP files. These additional preview formatters are defined in a `forked version of Recline `_ Zip files ********* diff --git a/dkan/docs/components/visualizations/index.rst b/dkan/docs/components/visualizations/index.rst index 8fdf270df..1658a4df6 100644 --- a/dkan/docs/components/visualizations/index.rst +++ b/dkan/docs/components/visualizations/index.rst @@ -15,5 +15,5 @@ Additional visualization functionality can be found in the following projects, which are not included in the core DKAN project and are still in a relatively expiremental state: -* `DKAN Datastore CartoDB Integration `_ +* `DKAN Datastore CartoDB Integration `_ * `React Dash library `_ diff --git a/dkan/docs/components/visualizations/visualization_entity/chart.rst b/dkan/docs/components/visualizations/visualization_entity/chart.rst index 3d2545ebd..218e4204e 100644 --- a/dkan/docs/components/visualizations/visualization_entity/chart.rst +++ b/dkan/docs/components/visualizations/visualization_entity/chart.rst @@ -11,8 +11,8 @@ Step One - Choose a Resource ***************************** - Enter a title for the chart. - Enter a description if needed. -- Then start typing the title of a resource that you would like to use as the data source. A list will appear, select the resource from the list. -- OR, if the data you want to use is not on your site, click the Upload Data tab to upload a CSV data file. +- Then start typing the title of a resource that you would like to use as the data source. A list will appear, select the resource from the list. +- OR, if the data you want to use is not on your site, click the Upload Data tab to upload a CSV data file. - Click the Next button. .. image:: images/chart-step-1n.png @@ -40,7 +40,7 @@ Click the question mark icons if you need help understanding the configuration o .. image:: images/chart-configuration.png -By default the chart will use the first 100 records of your data source. To use all records, click the Dataset tab to reveal the data pager, edit the max range value from 100 to the total number of records present. +By default the chart will use the first 100 records of your data source. To use all records, click the Dataset tab to reveal the data pager, edit the max range value from 100 to the total number of records present. .. image:: images/chart-pager.png @@ -74,18 +74,18 @@ Chart Configuration X Axis ~~~~~~~~~~~~~~~~~~~~~~ * **Format** Select an appropriate format for the X Axis labels. -* **Axis Label** will provide a custom label for the x axis. +* **Axis Label** will provide a custom label for the x axis. * **Note:** Axis labels do not display for Pie Charts. * **Label rotation** will change angle of label values. -* **Tick Values** Enter a numerical range to set the start and end values to display. +* **Tick Values** Enter a numerical range to set the start and end values to display. * **Step**: Use the Step field to define the value between each tick within the range. **NOTE:** If the range set for tick values is smaller than the range of complete data represented, the chart will be abbreviated. Y Axis ~~~~~~~~~~~~~~~~~~~~~~ -* **Axis Label** Provides a custom label for the y axis. -* **Note:** Axis labels do not display for Pie Charts. +* **Axis Label** Provides a custom label for the y axis. +* **Note:** Axis labels do not display for Pie Charts. * Adjust the *distance* field if your axis label overlaps the y-axis data labels. You can move the label left with positive values, and right with negative values. You may need to adjust the left margin of the chart as well. -* **Tick Values** Enter a numerical range to set the start and end values to display. +* **Tick Values** Enter a numerical range to set the start and end values to display. * **Step**: Use the Step field to define the value between each tick within the range. **NOTE:** If the range set for tick values is smaller than the range of complete data represented, the chart will be abbreviated. General @@ -106,4 +106,4 @@ Remember to click **Finish** to save your configuration changes. Recline ***************** -The bundle also includes an integration with the `Recline module `_. If you have a content type with a recline file field, you can add a Recline Field Reference field to your chart bundle. This field type is defined in a module that comes bundled with `Visualization Entity `_. The included DKAN integration module adds a Recline Field Reference pointing specifically at DKAN's Resource content type. In this case, entering an existing Resource node in the reference field will automatically populate the resource file into the chart entity's file field. +The bundle also includes an integration with the `Recline module `_. If you have a content type with a recline file field, you can add a Recline Field Reference field to your chart bundle. This field type is defined in a module that comes bundled with `Visualization Entity `_. The included DKAN integration module adds a Recline Field Reference pointing specifically at DKAN's Resource content type. In this case, entering an existing Resource node in the reference field will automatically populate the resource file into the chart entity's file field. diff --git a/dkan/docs/components/workflow.rst b/dkan/docs/components/workflow.rst index 509c8e15f..bdb69e483 100644 --- a/dkan/docs/components/workflow.rst +++ b/dkan/docs/components/workflow.rst @@ -2,7 +2,7 @@ DKAN Workflow ============= DKAN Workflow is a Workflow implementation for `DKAN -`_ based on the `Workbench +`_ based on the `Workbench `_ family of modules. The goal of this component is help various organizations adhere to an editorial @@ -13,7 +13,7 @@ workflow for metadata publishing by providing: * Access control .. figure:: ../images/workflow/dkan_workflow_screenshot.png - + DKAN Workflow main administration interface. Requirements @@ -41,7 +41,7 @@ contrib modules to provide extra functionality (Menu and link badges, etc). * `Better Exposed Filters `_ All those dependencies are declared in the `drupal-org.make -`_ file. +`_ file. Installation ------------ @@ -98,7 +98,7 @@ navigation bar, or accessible directly via *admin/workbench*. .. image:: ../images/workflow/dkan_workflow_main_interface.png 1. **Moderation Tabs**. - + :My content: This tab is the only tab without the moderation table and provides quick links to content creation forms. diff --git a/dkan/docs/conf.py b/dkan/docs/conf.py index fe66df5b8..f530f7dcd 100644 --- a/dkan/docs/conf.py +++ b/dkan/docs/conf.py @@ -212,7 +212,7 @@ '.md': CommonMarkParser, } -github_doc_root = 'https://github.com/NuCivic/dkan/tree/rtd/docs/' +github_doc_root = 'https://github.com/GetDKAN/dkan/tree/rtd/docs/' def setup(app): app.add_config_value('recommonmark_config', { 'url_resolver': lambda url: github_doc_root + url, diff --git a/dkan/docs/development/index.rst b/dkan/docs/development/index.rst index 8ce2c2519..2f5e89ae6 100644 --- a/dkan/docs/development/index.rst +++ b/dkan/docs/development/index.rst @@ -38,3 +38,4 @@ custom extentions to DKAN. For now, read additional information about: license modules + metadatasource diff --git a/dkan/docs/development/license.rst b/dkan/docs/development/license.rst index 6491724e3..df126012e 100644 --- a/dkan/docs/development/license.rst +++ b/dkan/docs/development/license.rst @@ -46,6 +46,6 @@ Additional notes about the behavior of both hooks References to the code ---------------------- -+ Hooks are invoked in `dkan_dataset_content_types.license.field.inc `_ -+ Field formatter implementation for the license field is in `dkan_dataset_content_types.module `_ ++ Hooks are invoked in `dkan_dataset_content_types.license.field.inc `_ ++ Field formatter implementation for the license field is in `dkan_dataset_content_types.module `_ diff --git a/dkan/docs/components/metadatasource.md b/dkan/docs/development/metadatasource.rst similarity index 67% rename from dkan/docs/components/metadatasource.md rename to dkan/docs/development/metadatasource.rst index f5630838f..3944615c8 100644 --- a/dkan/docs/components/metadatasource.md +++ b/dkan/docs/development/metadatasource.rst @@ -1,61 +1,71 @@ -# Metadata Source Module +Metadata Source Module +====================== -### Summary -This documentation is for a module that is not part of the DKAN distribution but can be added to an existing DKAN site. This module, along with further documentation, is here: https://github.com/NuCivic/dkan_dataset_metadata_source#dkan-metadata-source +Summary +-------- +This documentation is for a module that is not part of the DKAN distribution but can be added to an existing DKAN site. This module, along with further documentation, is here: `DKAN Metadata Source `_ -### DKAN Metadata Source +DKAN Metadata Source +--------------------- Metadata is the “Who, What, When, Where, Why” of each dataset and its associated resources. When data contributors make sure to provide appropriate and thorough information for each dataset, users will have an easier time understanding the source and purpose of each dataset, and they can more easily plug it into their application of choice. -**How is metadata standardized?** +How is metadata standardized? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The International Organization for Standardization (ISO) is an global standard-setting body composed of representatives from various national standards organizations, and has determined a wide array of specific protocols for various types of data. Other standards setting organizations include the U.S. Federal Geographic Data Committee (FGDC) and the European INSPIRE Metadata Directive. -**What is geospatial metadata?** +What is geospatial metadata? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Geospatial metadata pertaining to geographic digital resources such as Geographic Information System (GIS) files, geospatial databases, and earth imagery must involve core library catalog elements including, but not limited to, Title, Abstract, and Publication Data; geographic elements such as Geographic Extent and Projection Information; and database elements such as Attribute Label Definitions and Attribute Domain Values. (Source: U.S. FGDC) +Geospatial metadata pertaining to geographic digital resources such as Geographic Information System (GIS) files, geospatial databases, and earth imagery must involve core library catalog elements including, but not limited to, Title, Abstract, and Publication Data; geographic elements such as Geographic Extent and Projection Information; and database elements such as Attribute Label Definitions and Attribute Domain Values. (Source: U.S. FGDC) -Federal agencies in the U.S. are encouraged to follow ISO standards when working with or uploading geospatial data. For more information, see [the U.S. FGDC’s geospatial metadata documentation](http://www.fgdc.gov/metadata/geospatial-metadata-standards). +Federal agencies in the U.S. are encouraged to follow ISO standards when working with or uploading geospatial data. For more information, see `the U.S. FGDC’s geospatial metadata documentation `_. The majority of geospatial data tools such as ESRI ArcGIS and GeoNetwork allow users to export metadata content to a stand-alone XML file that is formatted correctly for each standard or profile, and can be validated using the appropriate XML schema. The exported XML file can also then be published to a metadata catalog such as geodata.gov. -**How can I ensure that my datasets and resources are associated with their proper metadata under these standards?** +How can I ensure that my datasets and resources are associated with their proper metadata under these standards? +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ When working with metadata created outside of DKAN, it would be tedious to import it with a 1 to 1 field ratio in DKAN Dataset given that you’d have to take the time to manually add each additional field for your standard of choice. For example, the ISO 19115 metadata specification has dozens of fields that go above and beyond the Project Open Data fields included in DKAN. -Fortunately, the DKAN metadata source module was built to solve this dilemma. -**Installation** +Fortunately, the DKAN metadata source module was built to solve this dilemma. + +Installation +^^^^^^^^^^^^^^ Install like any other Drupal module. Once enabled you will have the new content type and taxonomy term. -**Metadata Sources and Types** +Metadata Sources and Types +^^^^^^^^^^^^^^^^^^^^^^^^^^^ The DKAN metadata source module creates a Metadata Source content type and a Metadata Type taxonomy term. -**Creating a Metadata Type** +Creating a Metadata Type +^^^^^^^^^^^^^^^^^^^^^^^^^ -The Metadata Type is a taxonomy term used for linking multiple metadata sources with the same specification. To add or remove Metadata Types visit l/admin/structure/taxonomy/extended_metadata_schema. +The Metadata Type is a taxonomy term used for linking multiple metadata sources with the same specification. To add or remove Metadata Types visit `/admin/structure/taxonomy/extended_metadata_schema`. Click Add term to create a new type or Edit on an existing type to update or modify it. -**Creating a Metadata Source** +Creating a Metadata Source +^^^^^^^^^^^^^^^^^^^^^^^^^^^ The Metadata Source content type allows DKAN datasets and resources to be associated with metadata that has either been directly uploaded or linked from an outside source. -**Creating a Metadata Source** +Creating a Metadata Source +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -To create a new Metadata Type visit node/add/metadata: +To create a new Metadata Type visit ``node/add/metadata``: -![Metadata Source uploading screen](https://cloud.githubusercontent.com/assets/512243/9552367/0927b9d2-4d7d-11e5-85e6-137751a336b1.png) +.. figure:: https://cloud.githubusercontent.com/assets/512243/9552367/0927b9d2-4d7d-11e5-85e6-137751a336b1.png -**Link on Dataset** +Link on Dataset +^^^^^^^^^^^^^^^^ Once a Metadata Type has been created the Metadata Source will be displayed on the linked Dataset: -![Metadata Source has been uploaded][Metadata Source has been uploaded] +.. figure:: https://cloud.githubusercontent.com/assets/512243/9552388/3d15af2e-4d7d-11e5-9d51-2304bf03c59f.png Clicking ‘View’ will allow you to check out a preview of the metadata content; clicking the ‘Download’ button will allow you to download it directly. - - -[Metadata Source has been uploaded]: https://cloud.githubusercontent.com/assets/512243/9552388/3d15af2e-4d7d-11e5-9d51-2304bf03c59f.png diff --git a/dkan/docs/development/modules.rst b/dkan/docs/development/modules.rst index 41e80c4e6..552fe7a76 100644 --- a/dkan/docs/development/modules.rst +++ b/dkan/docs/development/modules.rst @@ -6,4 +6,4 @@ functionality. Many are developed by the DKAN team themselves but are still in an expiremental stage and not part of the core DKAN software. `Contact us `_ to add your mdodule to this list! -* `DKAN Datastore CartoDB Integration `_ +* `DKAN Datastore CartoDB Integration `_ diff --git a/dkan/docs/images/Pantheon_Dashboard.png b/dkan/docs/images/Pantheon_Dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d4d3c799b249dc9c7103ec47514243ad64427b GIT binary patch literal 62557 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 EUuKuh=l}o! literal 0 HcmV?d00001 diff --git a/dkan/docs/images/adding_new_content_01.png b/dkan/docs/images/adding_new_content_01.png new file mode 100644 index 0000000000000000000000000000000000000000..80b0185c4f67796270e2249006ca6c6be3e649da GIT binary patch literal 80466 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 z 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 literal 0 HcmV?d00001 diff --git a/dkan/docs/images/site_manager_playbook/adding_new_content/Files_Page.png b/dkan/docs/images/site_manager_playbook/adding_new_content/Files_Page.png new file mode 100644 index 0000000000000000000000000000000000000000..9934faedc9846e79ad68095e041b45bd8796cdf1 GIT binary patch literal 493887 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 z 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

^KT3VsSaZ)$c@btgOyCt`j=PVgKWf_V1< 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�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

m@(AnF^VcGwti^aD>l7;c@ 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%0Ay~KqNi+S+&J%{Hehm{pWIRQt6KEzhRkex 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

gm! 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 Q_M)``GiR?2d7_r7g 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

cXICnBxz#8cx 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

n;u6?yMI7XUIRpVgt#Pm!WGdS5O$q zMgdJ3CG98YYGm=_AuD?UDTccp2d&~@tEjH-wSi50{?^K2vWvg|sg8vS0SDv<*K1){ zlS-Btja8S&Mf&L1IkJVLLYBwIkJrwv7>~YcV~Mf{(Tj^Sp?%IxLd|?E=Nab}dP}Ao zk2|JL=r?p`p?nRE+MVw2Cd=OzBe_=Wp)^r;Z%q{zyt0-wSw*~^LQZ(s!tYs?Rg@^t zJM3E1`MC;dHBkq%=o`6)CMm?V&A=bKi{TvSdc*p!3RR%L4ru;KZ?Gj7^%U`1Ex9`Q z@vM~PU0YQnzKB{^7QXisVKVe57ENeZ)c*=r-SY*(604DxOw1;I@=(}u?|TW$cpP{k zlttpD>tuWJ-6XE^_``AI;`od+)@xT7dQg#mXVBTZ4u?jfN72Z9UY5vzc(_yhjS87a zvNyv?Vh`v5^Q}{-qbksR0ytj=qI-pJfL~#^lJM@BKVdV%JRzvo?COI%*_cQaLug8a zL0Z?ro#|~x7xwFAZE`*tKl2lv;^)%oImG1p!zw8c$S`h*cg zmJF8jhv~WzR5_MWHHd+*!T(3oSp~GwK-)UFTcNm?7ARf_?k&<5x8iOAifeEw?he7B zSc|)BiwAeN1oz^0@}G0>Yx0zt%*>v>*7{a6*xjn|@$o#nHXCk~;Q#u5=HrCh>=tVV z9}<-?(oMqy|H$+*l{r>#OHS9Z!}3nq@fGW*JpC>9iTh5Rk}nxrbYEYI-(G6g9uwlX zZ9aE!Riuc}t{1s&U)B=jRQO7$NFz!eO&!O2AK#`zE-hHMW zr-uZ~cN{Md$x}+Ye$Q*uS7H+{sW2*fsxmEzg!i$&5XyR_XYBEH#CpZtM#gs3PO;Y5 z>FbnJ?>tUcXq1e2e`ED2L$m1Jqh`Z}=#G|uP-p~7x_abUwn#~%#+nx#brp!yNE4{o z6SC5Ka-S4LaZX*K?&Am#&#|Cb+Rqp(^-r7;iN#QHJ0qZNC!Y5NFz`6lHw)1W^8jEWO!N^(X!i2?vpf6(~#?b{+#`6 zxaF@e_+<=rA?k1JP~d-1ZtcC=OsF`4ctV>#QOST?N#}V?S=&1uAI#c5bNZ@m&~#@9(M7Zm+5M6SVL6KNR5K%q?=3EJ za^IxUm1VFo`UzgvOCbeL9)`2#?jRZ{7ssDtLH{@Ym++$b07u z_#yh^bSivKXg!?IG^6@iB%`t~IZ9%YJj*{*RDXB9%@uc%ey%CPvSGa>p>A-F`y}mu zxP*oM)AXBrJthUWoxF}p#ahtV&}tk{DUA7^0)x1p!tIutS=tZ zuoSgK6iXzWIOR2eRAM>_=o_O}1S2cIAh>pgOJeD5SjR0T`K=4==p*=U#k5|LX_(~B zA=w&?QLul!$ai-EFQWZQg?B!Y%73>?iGd2iN`4uB{vr7PSpaaa(vLVo*tZf7wOH7e zLj_=!c4Xwq`id0d?o6r0tWg%i$8n3cPeOlajXZ|6TQDVmVhEUA0)j|ewZ_?!B^IfLhybnlPB10~^Bz;&P-FWyYGLu9;rBIcK#;%ce5g>>CQq-+ zmtNh);gsx2U(Mx;azO=s{nyHC?hR?zx0DEZPnXwuw3Jgi=gso=Zng!+RRgJd*bfQZ zhIU_Sd&o*Ztmq#vAm5E;rVZkC`AP8~o%$YRoE!4|{wVJCmtB79kn#ve+J5~kb5`xt zS{PTBDe*-_@T{bQ)#-C?)*&)Ur5 z#Nn1VUc?9z>ZqqG=K==1D7gUZ%9e})$N!?f5qhX96|R(#s$~7aflXOOg{BGwYdIRd zO?J}OqZk^@3mx+k@`efXBctVvOlR&TIXU zCfnh18Fi&uj4SBC5+aveRF{sJnvW@8JLpf6XGoYNj*|0!D<;`ckzBP0Og^*P>CFw* z6bfpt^qdw$SMw9S!Q0Y2a6fDYOljMz0Fd9kijNtV=|3+bM+9K~S4lo;y$_%*s=Apn z_>Kc(eQSH8snzLoKC$t`c9v0oPpaIJ<$#!!BP;RE{j$xdD5NCS48seICCXSI?a_KH4 zVt-1QHiFMb)c^2D;6H3^Z5v{O{SjD(c}m2#Jwc0^-r;ZLYtsPE?aSa(tJ2d&{}$Q8 zZz1Z+Vwz*ZhwMV9?Uz5goyMAcV-%+lbZVKd1n;@o5gO%_`EHLK^>-597XjGs_j~Z3 z1+w@JyFy-k*YR~a2#j|y$#zG- zf1Niee+7@>Ek;ttPnWMJ4_#?{?~v!{h&_ezITt!{OgbI-0!U1>umOLX*13(Gf9mA~ zpWVq59AV3y=XQA>yG|rB(kUCq>@i2Wd{XB)y$d0hjqO8%IJ65le%q!DKTVAF4e(`9 zP5VDYIl{4aKt+szO2=f3KRIQK5?f^pqfiky88!hns4)B(94BS@% z6rcfN#60F@31hwsj_t1PBLoqd)1enUp@%j5-D|tjF_ywp=h@@;w@sO>Isp^_7&*zxYzkO^gxfzV3bIasE6|9o2 z6!Cr4!MOS@U_*R@0CViNeGqrcQ?>~FVQ`?l)x)gwE<<2_l){LfDldldXe{gN-K_a~ z=K7)Xr!_ahkNkf=W2g7`$X|2B2Aztx%h9g8Crfou3tWhU?`FhdqFLT2p5yx$`|DNx zHw!c*z7qJ6uUzfy@0J)ZqDr#9ybTg~IeybbVGB@*B5QwTd<_-gMCRs@2iyBG3c70@ zM;2dgb74r*(kr)G)eO0gTtJ^!%5&D}Xy+cc*sQ*O=;mu$Yrx8^4r}1B|KkH@g3H^J zuig&K0+a;~Hb*?2tHJTXs)rFmQ#XIb;ZM5BBZ{D;2B+!EsPwkp^#Z4NLiZfoQhPu` zsIG^rLCby%f+?-j>}bNpO>yU6`H9vOfH6-`ha+-vtf{H#jL4doDJ;QN{SH?QKaRJs zrLS#OM|;LP1=$jctDBvSWs6u0#L^^KAY79*ZvHkEH(1gS$cB9Pf1Id2Rl}pM2z)lL z=Dg7zs@8ql9fa3@2m2?Rb>&@t!XQMfDG!kej}aKlSn?Dh3sRDPMCEioI5?hmzwF z(}N!cdv$1q@8#-p3YnSudL$p51VsJ3sQv)6r$#M&&^puF-8QDAxjVUebPf)>E4%u~ zydd{;IjE1q2yEQcPUZYV-S+E_okzKrVE{NZ5H#MsG%-)>YP)xs8k@wH4|;>KG|`_z zL~q5VUpFg(pyo9jefdj4^0?#`(&BTy1a`jHkQ11u@ z@07s3{og$85aup97V_k`E#t+KYQrzdH*0vmz3HC%nBMVuh97>R7JLu|X7JJt7jdp%xToP#XA_kDJO||DV`9{uhmuojkf9PFOAeK9x9W}Mj~Gl%foVoGn9ahQEht*{PC ztuX_X!*GbYMW|YL!q^U;dR#6owjF;>VZl?Y91^|rvZG>k+YLWdNo$6Pw^nFEy>!ji zTxE)qk;7%}>~q_@CNTIu3{5(%BDq#yvz){HTdVKS4C8X9g&5Fh!hpL& zyEtvym09`U>(b$wE<5|=^~y-3Nb=k23=_fys&pt~u%o{Wj-bF)G zUbij5xDNHb*~^EM2(mDccn3XAtuh~PzX+H>rP~jcC<=`mB&vj1$MdrHDzmld$>!ju zCKv$}Ig6I4^9figF`&GJ=ds7%yk=h+2Fv}C=_xbNc?evkD~Y*fEA&K>C|7Rx5K)!J zN|{c_D&o)!RA#=Sn%_r&fCE*`#6gAV9&(*9Ph}~yr4GWQNsfSG@*MWO-vBQ#Q#y?j z0#rN=I33@)K+e_|cl1lSZYxz}V8wsrT1YB^^9l2$l8v%!RqxnfX2Ca6FGk=oDGh=( zPk*ipotv!IED$!77V2l$*D|sAzTvlKICSW~r*v&F69D@@Q|wU6Z!*aTihH24|EsK< zwKN5_s}lmd^0cazZKZ+>*BpT1y3udnw2 zrc?>jD8?#+CM_b|z*xI~Gjv(TjrqGkPzB?V| z1PNe2d7ARF{4^8gG`<^4W$!6qK09vkK`0oOPQhAmnsN{B=o`k@;;l+PmV@)TzJ#LP zPU$B3mJ4gh-x?XS8yap({W!Z4>A1!|4-HtkC&cW4i=%9~Pb z8rfhK^ZsmX=$5i5%_{KrAYY%o7dld#JA01ZWJi%I{$y0K}!<&{Js`G;l+1QIC%c9VM6U2 zi&2{gaXo{`nZEuSRnU^q#LB4OWvs|t>74>xCU1dCsY*?8*WdG5l7O3vFU|ldP>|s0 z2~F2afpIZ&yfo3)SolXJK4jGX_K68?_U!H6^7t=Oh|t|~F?tIzq-tL&L;o#Z%O9+k zzGLsNc)$zxU#S&g5R1iOUq6adQIAA@VejZ1;Z;XMNWK$f37@ayVZ{a{98P8gBp z&`l`)5*_=rqiCg+U|Rm})W}7W1z4;X*?9)eS}0+3FqH&~yG#c`Ci{`tWnuzsO@tF; zC2NeH4k^6GfpkyDHagpZR3#`Y?$9Zln1_kbPtQoT^n`W-^_(3qRwPWHT-fjL+)9-H z^nXqWGSSAT8Cbq~u_%KKm{2s<6b2$*RtvDciiC_3Y`FqygsL16kK_i_^h3Zz0tApT zpt55_fQxpwKpBOHEca?JzQ1%9JA7&rM_U8Yv9KLksR!SeO z>CVt6kpYx(P9O|RRIaI#7u#L&?eLG9kY2H@d83~eyI#F)n&nlf#l z;3NLIx3nCd@guFOOS-jMp@aah^@ku*t~ESI4gob5;-^0rd_3q>tlnpw4XSD3!?!zKD#UhY;epkXVP`}^_!PrEYs)B}Du`(59Y z?Ba(K=JWu_jMd2}Wi&Cr_*{|9)p7DN3a|pEUVP1)y557I(2`)tGikB4<;%veqGBz- z7}dG9N2AbWeVRYAOI0>h{cV=a^iv{8Xu#Y_o*`J+;hsDtO4U#h15ld=rO6~DRK)4a zWf9VDUd7-!ty2{DA9r8BKz9xKm@GJr$MWAeyZ$O0Q+MgRDl;Cq<0lHAPz zS5-<;j`dhuwH)|i+g@?x>QQg3{F~pUuY?f>Z}2KB@$Cr}oE3f3qhryEzG-COd2i0GhmZHrRuVWRqtgq+VUo00ebc2~Bi~Ry{qm@jauM+x{tru< zG51Cl^p!DgC zMBKLqAW`Pr43@a^jJIc2^%XZ5B8IO(i6(Kq4pm5#3%e2*hls^JEly7C)#I%EFZ0>h zz6%ibnm5KAd2x&bzqwa#mpf@Pp_KR9>avEts^JY)52FAGAwD#)t`v*i#6h1Jj;KhP)${4o4P?}{7< zV8GgV`|s^r2Exzu4E4E6Ed1~OnMTHZSm^IpJn0xpCEu;E}UK4fBQRYP)x6> zZQ9D+au=HEu%@TeuIG1CIh!aQu;hlJEw$hsl}BV}8S&nXzuTFZz&5avVWBEQRH#r} zoU=AF4&&co&`@lu_75FNijl7y)D#N%?2S>gZ!DL0t<%w;Tx-z&WMcs~24gAE&*X@6 z*e}~IqhR3D6fNOakJjjuWScdNNL#f1^%P`WtL3Y+URP+jRUR!^_9&V(N4}vy9qRgdW@y!(yZtt{Rvgu$u9eU)MSfc3MZ{-Qd=-t}j?5RmvCUn#d9B zaWY>O+U_sdINQE?AHCw3)dx<`Gf?WpwV#*qGT;4Tn}z+o(WmD7;c3J;QolCm9BS(~a7?q9K) zpePxU!&gd^yw#FGKBx}9qj7j@tFbHe&rl`UGS$4n-YNi;jV~@cyi^~Y;g-I?R{fRK zK^H?x4r}Re)JDnfdOFEf$Bay~{IddFgfLdAD<|JMY6C_a4JcCe$bX%^{X&# zn6gsfd!-`V>Ktu64!dMJl{(=3y#2!kU~-!*hTj&wKR-eRg2O-~l-H0|r)>Mu=EFCo zRTg;O`SoM6^L7wDX>H3|;-HuY2o;0}oXa;H7Wl?cS6wN#F|$cUk_g*h z&@;+0+iI4q50lVm=kl?hFCmV9MjH(K^T?K7ES*v28-Kz{Xom{~J{>G{Mw>oj9_Zpb zlI{1OcjTjW6t#Hxd(LcWV}xH1rUBcR3!8<_-euNjmLjk+gk=*Ao>HxTG z&KTbc%VP${MiGDQa@^tO08ShDF7xW59z#vsUPWHWt$CK`moa~Ti|Y$Mx;`oCi~Qi0 z-|5hnuq3I6Rycd?qw2dDP`ZemNxO4QA?0LxCmY5#c`Ls(zU+;WT*i%1mk}&uNdwPi z<)|GwGv{q1P%)$NvOcI4=0E^m5<>z*A~a%hr8A8F1r!@DmaIs8ix~G(siV|XXwLJ- zk(RH=eisNzaPv2)`26r7WBo%V6igm%v0e9S>)T0p&VSH*d58K|2HEUVAP{TjSI4uhtNu;0hXE^J=wO(&1@iZ5vT>kw<_^@WcjrYK((3e;# zQC}A!=ix#9tpQHHjN(akbjlnEx&lFndwn`fD3g%UwrD)r1nfUVqey9z>@D#LF=>Af zqU27V3=J*oQ)o4=MT}=(%)sZIEmwGK^}>F}ozVx#4e+F+%fAne$tE;Yuo`PB7$YJc zfdW{(!e~Ma35Fb(qIQP<7r+9iiR#|NJl!W8(3-AZEl!Z24eDaBx}iukKOcX8NTKc^ zcR=Me{i7yV#aReem*`JE1p{q2IO_1zW^fD~NVWYKS}dgA(;j5PD+yG_Sv?3lho9eF_v?8h4`%5uS+|LP2fkuHM6yBpCR)~`Bj%{7^d4{Y;c1jL>!u5$2;-gez&IR29W{;ez_FubGPzc)F6|f z0Hnn*#S5>w8)GKl^ebAgNIbcH*g^z(^Y3^H)QjKaK#O>eZ{T(bWR|-0lnvRd)&86Z zfyeUg5}g96cSh4qBMRx|Z)(JGt==#KC@>*k-zkc=b9D0qM4znQ@yFOTQ7_;hBTHCx z!+WI}(Mnsa-#cG6>rY#;m&T8ZH54QW{mmWt3E`I!|7Qjk>B)+HHI1ug@cT{qiDwz7 z*#PC!-nme5jJ5zo*@>b~uX|5*gmj;anG8Za&@Mn{Q(F4Yz}u0`B{7E?J3O?+oujBy z@r^f$(t;*QoiI zu7p+H^v*G)SSy*gaFQXU2IyqBSp4|@`B7}K(~~v; zv}`^;=G>Q=?hKideKFy{6kWzgqJ%O{itZYsOs3PkDsBwY2$&dLw%`v_iQ4e7>&C7t z)Dy1?^eq`|`Wgtb0F2nZ56+tepl~R|F$iR};y&|mzlI=9=W`Un0yd{$;oBBgZAv^2 zPplwmy>~eLl}Im()spoZXO@f5DZmu`73@by%T_enX}c?PilE z!ORa$$TN^mk)9k1CVl-{3dN&EB23L}mq?DAx0JMr%k)uN#x5m^qP0*FWF>}f%R@r;ZWK}bhgUycrawFZalmG9o0c06wj=Sp zYDvG^s#z5%V7|Q?fN_3w|1{35iCU1dWw1iHOF22tz7x7s?2w~j?sNa~ccyLXF>jXn z6OK}A;>tZ$7^~m^&Ssuv1;U*k3y&8Uxar>DuE8Hd)}C@g{#~4*%EBSbUPmqdT8%MTV_LNWW-_V1jc)-`yQ-5Y^6 zl2m1fwAuWAJfgr6r;K(@&zTCloEynbIxe1R7O&V@Vl2m%dRj$*y0pZF`UKBsZt0Y$ zj=VCxJ@CtRDE>0AE19LmwP?C^g-K0n$A0o}7`CJErDm)Esyb3Xp*!rey2y^n zo|>B4;(>m-(>9~8WW*QVqjyOUF&lUn>q{#PgM`?o^ee?68b)-UBfGY?W1r#-ZbQ}C zAabm5)itTy+4U|~hn~3fPn62pJ`OMa_di0Gu|h~Kq8R9O(RAiyk5=uf$iFDMSYE5q z>uN#!^;={uyS8$Xr&a*>s~fVS1C%#2K~5`YSH9yH)!!etJx#zVgLUNe5G%;Ehd>>5 zEc+mz~QMx;s`r10f33Oy3@*Az3#gN$n)J~+@Z2fMiHIV?h3O@ zgy@UVi#xC&+W-M7YG1!~XT-OQs2^71YoF3TO7O#*=;$1X8n}wz4s+uk5`Xyn3cOSJ z4lYh*>!z#c9AQz?sMr5Q90&^Z)eLn5j~C|OWk~`T1*`vR4IHd>alIY*EO6NYuZ>IRyiQ)Le>!_n)MKpj3WKwBZ3yT55#8EMP}~so zdlf<#<kv=>_>7=tejBRvU8b==skn)D zfjZV|N*NT|WMv5Im_trGdtd*yG6>z4R++Aj@afa>cUwi{S9XLNe zUH9F68_Ua3SHIeyV9K2dFXmA5o=?6i?dF8#CNzlbg0!K9I2MA2m#S@1LK0%?E! zx&p|;+c=U2)mN`%_-`TRNo^+G%rzeo<I< z#T<+W|7M42E>5c&A?3J)b{e*fgvL*cs9D{2l-lAbD!~Kzn4H#)mqYthY=Fs7MA=?% z0>#c%#~l&>G|c?~PRwz<&y?5id0{*&;7jiW)2flBFsM*-y|N%%F8sZ?J<38qHt1D^c767sb^Ho$IPQ>asS6CG=k4ixF z3b@@_ji=cjk{<>xE`<~(;IS^DSc!*Ke)i3v=Yz3ouhV|5rh|JejQ@q#q!$b@G zPsd;BFKYhej-wo6jz^}~ZHoRrRCwk#g#13|9w`8H$>54YXh(KeA^CMpqY^_I?*){o z6o@_nAcUT!8@42)VZPnHljUUC)HV$I#X}!Gh`cdn&o1+2Fz$3+dg}T_pML2ZLAa$S z)xBI4sq27?dUVUoiYVe#e~ByfXK530PYR)OWI-_oK3A;c(?j}klHc5d%cC6k3F+ac z&pTJ`&t{LOBoAu;&4qTtReLFBYfomp=PihMNFZr&ME6@lX#E#olt~uq68h{%#$74H zD{qbccRhi<@hNOtkeFbEap$0b_9V0IDq=d&yeO`k-C`(!!Xw5_7=N4=m_^Ca< z?qCNG-%EO6>0~*JHQx{GUyHI0;knJ{oU@i2?1uTX34&p#s&tnrmY;>~2MZaI(+a=tZj0LCQzl*u!Ehyp z1irQ1K%UHLWiho(^yAz>jI?xI3jxo(^FPI21=Q*R*wsz5)ah>Z8%@mqpcNQg&EV=_ zx`4}vRwbz4`kEYQ?lS^vPR;_f&Adqfz{P>&5wwD*tv&HthjGj^xZjLLqE=cff<*V- z|M?UdOl--kV`*bXh31GC;U;>zX)S9;{ge~p-r`EF5-wwl1ZOObo52CpdeZ>FA&$HDZ;fNP9|0D=$h6SLX9@}ni?{Z%kJQe2))N;917yWAJ?NnM zxjOuN`04s8A?zk9jK8erS#{7|+_1g{d0a7IrXkEVh=QC=IR+#ATfIpe!MEZs3N|Sl z)YYgi0NDJ@w~S!dFDvbjeIg@{XZ^&WzL-qNg6$PS87m<)TWk6(#`Bh)t;$qbDpHPA ziv~eEaOQ6E>A7eg-_L1xVGZ!V@#==<;l`bQk@EOL4_Wq#*%il5SqFe5` zU{E;OsPRA+Y#XqT#W*B6&RD0^vRBVAi~92q#*V3>*_@r3CusHs%t9Cg=7$dcD6aaJ zh(@p5lkSwb*kb#Zab+KpacJ>;F7){^wCzx@^7rfdem9R#uSWWxJ>+nGQIQ~sgG^M8TYF% zfjTGNd5w;=-7^`?@YR&!}xCT%N~wf61HOJdi}O zY0W4{5&O=k?NPs}V)}860)y+@wAw*Ek5!jpV`Bn{EaJOb2oE}Z{02;Moma+PY>QJ4 z%YUs1HoHjk7i*~Ql?wCpG%uzi;6o4;6#L~xk5zI_1Pu{^N}=vk!y29%-@Gh~tq7FI zC*Ko`ALncK5^!?M7tO66O4@3yso%W$i{N_*wk>PaX3t}&pIjum^luxe6#bH1HS%Y0 zkh}p74=m6n6tR=DFPxe3?Le7Kt@?}g*;OB+T3$*NQ_K*!A!Aj6s-o}6rP5RauzjCf?|Ij2|YaDqoV1~V;OjpjUup&0#5l~!G?2G}>TSwHT zo}dLpm$c6zVP5|pvV9u!+v=u95j+IU9=+VU2K(rmH$)l$(ItTk@$U?tx15m{URfZg zqwc3GDkUeO9FEi3^)uzJcE3ZwL?Nvk>;g(_8z_?}g6zsu^vR~#u6a;H1Ev=P6($^k zC9Kf9=z}bV-PplT6dqJbDXt^I*VPeW4bq|n;i1sBLnFQSe*x49Oti@aR1=CjeSZN3 zzP2NNpT}{98kL!bt)O;FMmn5v-r_*Q!lekbIUCTNJ<>Z@>CjHOYK|(p5k7LutvQ1BpZ!S%SMX3!3_O9Y&1RN*mFC3zF@)gR=yyKx3^>e&s1}cEkl0Cq1 z))w~bp*<}};9svCeX*;L;1JHwO%me)(F?=XpYpoJJA^<@piyLrFH4a;*`U3T-VJ%T zKK(mCPpO(fkcg_*$o#@Y^u{V$;^os7(_8A1Ol%Gig`jzS%C{&<;Aj|nxNHsvo>?va z&^ignUhFOtxA!70J>(lonEd#*Qd)AQ*iTF*q1`GYyvr*#^Hu(=f77125~q}p(sMG+ z3dvRUVmQa4#InA!5OD5d9T(cmf&4`AWu)O9)a6B6T-@VyExYM83qo&#{--x#b1}qX zVEcl4T@Gf-E)b;i;c}h2ABbn&!snSK@R-mpd5n35ZbRhqj3u>>7G@%9fhGw5r3VfD z2Ug+T(ESI6>=Y#J(bJjN4<5a(trua-u$CJ{=kmp&0L`qt-$Y5p9XcqmY;vze+1G-0 zIq;@YlQHm?GH< z!H~UJprVJsb!I75`$7z?3$}eg7jTg=B*9apfPcw3A^o{8#>ZcT&7`R)2-KO*)e6du zwpIrtnhdj|f~2Rj2z*t{vkYQDoRSApm}(+Ba`!{44x>poyGxB7&!uZ0dECQgfxVVxq2$K zb_xa?IXMytnHrlvD&(~2KHrahL{B;oUK%RGa1(&3(NkV_-ZlG8NYm=j&0-K9*Swd9 z?Q@m8cSaE$aSq_t80!opDWPn{xj{j58aW-V$?v_(=@4n^=2La`s`h{I{?W2fkIVcB z&DeQRGHQX0ZN|b0Fz(-vlE9>r6Y#y^PzvMZ=+vFrQby9vyq6_6PM+`Kcuui*|7Lo= z(4b-t>2Oys7nwgG@JE|ZzqVybr)j=j%@p!6N>V(YP}-xJ~e=b!AJW+*>S=XHrx zwmm++6Oom5A0vVozo}tw6&kS$N{c(vG7fN}lhpg$mxBdDE6As!R75*!qt=ScTAUa7 z^!JwYFJqMYowg|DWF=bqSPEb0P)~D$j|m^#7ZUZnN)@G8^UyGaSX&*zwF2E9iKa~T zm=JvOI^eI&w}cg{9hKN2cHb{*R)4?5K;Iu_9|Hu<<5mUARPwb6ZYwYJ6tGR^%foJ> z#uM^AduP!JV{8qPM?4!IY;@Jwb~m!57dZwfk*t$PSOO{<13{zmQWmc%-wmVmxx{YL zMT}Qc*G{5LLb?w$c*~t2TTAfoUG`FohB4~$TJ>4AvBPcsz=Zy>D_kbrGoPeT$o7L;L9u`Z*nKS z(D`e`yR{ZSwpY$^@4$e%(>cO+iw@tG5#uJd+ygWfFZn@@oqnl<`SsU0d=98!vHL;N zX{M>9>CV-&-iMhRCwQ=d)2jdeq@6OA{@1qZBsO=Q#FBEW>m?rpxYw4C2cpxH&=u46 zvSv6HTPeHMAugJ_5uY+8280!?*jY;`Cf_YC(j^($hdGQ#noDMz0PeZi>r@J-ay^ z8Eych0!6z1B38^0UUR}7!?t>TzJlLx$$BX;0BF%Wqk@n&D`nU{25mXn^7tyWegj)J zC-|A3X)vo0MsH-vRHW`DGI@E}rt+~|Cr*H}0PPgE1wBh;*~-}gHhrAkZWke-bThlW z`y?&t+sM5g>8;z}=R38}0FvP^(;i)ZD3EdY1*Z0^aMHxnjDcp8DX;aXF-D}~pkIoO z$Tp*N-==4tT+*RFkH1Z)MJoU~4_EmWxWR5uJF{wP{qISbA)BeWN_a+!c~Io>7XynG ztfkg%M-l5TBMnxru^@4&i5{`Ko#svoal&IZ++PEowe$_D*>yWX9{>fa_W(7fSV=C@ zuM{6SXRyq@FGlcqENWuBr@HkiW zr$t`HuVVJ_fF%YMQ+*)tAs1@!kFXLC%@J13eyFONEIGdQVxT0%2bN^= zD`z~PEYS8F`LpQ1p@jUyQp#C7wIvu#k|)?J?b&Lba_xCN?q}7@?*MsoqqL_fmG?Qc zi9%_62M!;cRUS`9vn?;~vBl>~{)AD_=NkzxXzrmnGOAfhPug70k*&v}p3c&kmd}4v zCd2e2ms@M+l`^sZzhtq9G183(P|S^*9toG3*8FyeZo@*{FJ$Z=NRu|dIS$xp$im@` zU2tXkrDzJ?XdNCNu+)}7*1BaQ*~>xV!oaadIy{@>Y!S+ZsJ+0fRP8~UeMmg8@r&?i zZx{4OSK>|?fgJx;fkBCLYaXH`%)A69Thl_LvMJ%l)7bp;#Q?V=q@OcFX~lDGUw3DK zLkqP!?qt5qdc}V1MI&TAUy%WwJDSO^_&3-E>-tUW(F|4AGdp=OXv zP(X|l${x$-RwCsa93*N%`p6}}7%haT;W$%Es_!zf3Y+&QLUh6iAM8AoaF=HA{od-h zt9Vyc2^NdS^B+e0j2<59MpcFq00NejnFoM!LdndS#`N@vq(3Z*h}i{@Jjl!mFUbM% z3|FtkKA?uXhm{c7y#!c~9n$|RyhC}Vm_g)97PZ1>s#h*^ay}Pcv*j3@DG2_+|CZgz zmFmZQwi5($(zKO_r#zCB*1R8XKUHG)h+(7uEL5)e%C3X%cZ`15M!TYfjr7CAgACIG z>Hu(;Wfnv^svJD zKc(I=v4r&jttjsuG9GVpzqOGmrbu}8U>3elz4O88hL4L8C)0>cXSw?S{qXK9FGQ<1 zt9Z(wYCMS`zbNkCHp&~wlKrKEORatvK46m86H$H8*;xCb_%#%`dmd{&_M*`TWFEPI zB|@Dq;BzuysE882SG|uT9PPcG6MMtWbF)X@dIH zTAZ@#Q`T`Lz)hut-4atg$;zhLcpRE>KX8POpZnrF$sz%<-#PPb=d&uDkYUD_u;fxj zv4(rj;hcSa_TB=lw)jaQwW|R;D5q)ipDrX-t_-%U=eIXqhe!Fv8IHwi3V*z5iWo}s z8ui=jug#DG1{S?7YfqAc1C9HN$9?w&6(dZ;xr1sQK&Y9Vaa!Tb|9x1GjW zzls__+0g2bp{AGyvvjmrSjwN&P^89uoyI~?&V+ps3w7&W%xMH0&{_B~s zoxZVNPaOH+(e)zrg#opcm=N%_AyIa%3gfgz+phXKILbjm8N$3zsl}+52XvHbYD?)~ zy^Bp?ARZ&ySgr9l*mACLj^-oWdl@reBJ;>#lL=i6PWPNZZzlQMTb@`%%QcqUg0u^S zCK<<9PDYcbJ$?`HgYu>OaP-x$OM^I9y( z<53};N5S1o$?K{UFQ3v{7{usrbfC4fy^T>vkgh7~oC2fR-tZ@^#fFpl5vA>u-<3!Z zw6v`Y{=pV?E4=0Jo@kK>Jwe)T;gGapxBwyY8S(+~q>n!R$9)xS3Sp@u%zJV*<_xtS z?`stdY=i=(1LTNMttD%vd~R zYyJ4`v=jAOVwIo20{(g@ZTh3;*--|C7=Mfs;osNt1pDUw^G9U*zSEIMmpmp9b#<-E zyH$Xp#adP6FtW5pPH-89Vu4Q~5-z9{28AS@HWP`FW4$ag2}py~<%9L9qPjiJck0ag z3XJnl&D>tnmzM!&u$uhFUuHDt@?rh->RM3QtXb%vCmdGh!LZ~4f-g90Vw?XVGbEr8 zKopw{Z$uSQJ2Rm(lT1Q{0j=Sp2-pyL1EFno`05AE+Vj%9CMfz9Go?M}4B$XECA~%Z9J&!)KuUk$XSRb&9QDJ>QrF*k%Oo|CD; z={Qjrn53nvvePTGXqkUwqEX7J=O`wz^@2eU6P&ZTepy|45d^)Cb`0%Gd$r#EbuT*E zg1=ri<4YjUurg??J;<^?K(#@-stVNqVE2Toc{R|^nKF^01JbEZDRsfFk8#dz!z6Ix z_-3CSemN{eHJEno6ZL-kHXU{!P8>1EGs4?v*R#(tyt6)Cxh}~o>@BJ6ns`HZL)f^e z$UI#yu@s|>5_yueYnL*=x77FpbR|~iQB+FNP(ud8wDCQ2r;l)F4TQ1~v2icWYk@!l z8;TH_kGu%rX66JX*J-2ybuF*!W7SZCqM+d+>g@@j+nwA;Y9$Z6h91FC^45@MSu(ES zi=o61UU#;cRw$ib;m<9HHeh45X+5u8mw_x(uGFC84?pQgQ>Yj+_F3qXETdwZH!uSX zUZnX<_(^y8ul;x^xglB`yOx>U$2E33twSZsR5DDw8+RU7Nk4x2Je#X?k)~x3jor- zX|L{QR$){2iHC~rf|SWEOw2p5pQF8CJvB-Av|RUo_b|KWFCJz{2YtlZi-a54YQYAMa{pW_=Mc zML*Krf_M$Vj(?f2l4tpIrI^yXLRi{rgyw#sv-AMiOHAq_=P7sv9yIEGowEPS&Mckg z>of_v>^)hqjDuDJ?y@=6t|xEWITsZ96I&RgyXT^7#?psDmy~xrCoH?K#7o3*WPQ@;?MUJ-k+giW)`kW`VqA|oU)&zuz3Dz5zUF5*^h^uThy{GxP~Ww zMRIN-5c+eY56C7gk_LaI6F2`>ec`g+m67<^#arHqbnbAEH<8CN8 z<~;m~o8KQj($LLG*tO$%hI5tAqki4(I!z$V46`8t&ATC zClQ(P=fnxzM>+8Sb0*a$&EF1g*0=)-Vu6ov*CuF7Fe=W?+ofkwJamh6OK6SWJ;$t% z^}{AjEA&5h-5#eW1h3GGgdCv4U+e+$6oF6R_f{=hmTo8#kxxGAv0On)zWmEk%^uy^Hx zVYAvOiwh4lCr-%xae{Jru@N8_izv$;WC;>*A!g<_ol>Y7J#(AHd#=Wnf_g%Y{!N#E z9s0jA_nabo5zk8-(n7!E6x1a-=v)Xo!)XM{q0V zM4rHoi{ifXDsMnipZn={czFIIel5K~ECVeDz1T0%5q&QOz6uzbuV`KRp2ku>AZl1G ze30%F0^tUwvtI)@jcI2k{DBs7$M1sd?~+13S*`7PbYoNz9Hem#m=JR68M8ly;(s~T z!fV6}CThT+ZDJn2e}=f*L83wq*E>4!Y2MTc+EReXQ=Idd?x#Ze-rrz#i6^1v}%E@v}!ap0nlJ2b6kpEag8N4&-}Z| zj%^iVdUu&XC);P^NZ|Jm@j)8iE-r9BS8{-VecEr!0N#@N5Zj6#=bAA3h?aGoh%Z9v zV255)*ye%~Q=5=$tlTGh!s z|Iw?!xhkJ=I{*D3G)~}L^WN&>zco^^oPf4GWKuCi_hgPU2PGfjZI%xb8I?6r0W&Op zfSxn)yu+X|D4?C~2tC5f=D}hpxa6e}Mf2&citc(2lJf0Hl@OTNcwO@PE7o)DLgXP^ zC>hA@?0is$ID410l^It`Yk7-FX9D8Ao7MB+hYC2ps(t@(7|V=ARB@SiM_lpS4tcvq zFh^e-;Z82{7{SgXyM=UJkdaqT^BqN;N!lGoW@SqhhpCYR*Fv^MrEl=v2h6FnZF3?A zF8Opq=B=vxOvPKmObZVQ5vFsTtsNuO;jJBKCE5HXhGC1pw_Tma5`f+H6X&cTo!o_D zS1(Cc`7BRW`Tua@@;UqSX{L?n9F^d_j7`SSC_YL>(jQ@6plQ`ggV(kh)7j`^{_5>C z1i56CWdUj&VdSql?mst*#o6<4)#WV_bpi~r0n-J*Q3d46fuY14L07*rS*nu~&xi4X z=`gH$>#T!p(enw8)5c$0FxKa(__}h<1Zvr_2ajM6E^SyVwOl$u0RWVMtm*L+2=2ag zdQG#6DNUXxjE;RwLiEM*8R2~vZs00Wvt{RzIcZSZ+sAXbo^Flg{d46*&a}VclXHotyE(a6MOu{Z0p`U%MQ&fH zK|jtv_9qA48=pK{dq)=pO!Qa}hnT_wdr7mUdP;}6)|jKhUVgrvD`?47JXi@B?`&MQZq4rC zTmcuG=8AVx9=Fwv8WbvLv}w>inAbAvZ!T3@q^x+%sc*q(QGek*il}^3VgzY;KZlJa zNM#E(zHNmP)kUW#q{HY#(Y;UW+ouSn>x*=x9}Yrw`TZ1k&hp^gp;y6ttDF~Ce&D>EAHU$5~o4exx1sO?|I%hPh|}Tjgmn?VlV^kvEHSy^4pK>G#Us>zrVN(c@3% zQG|bXg6};u0`zYQPtC|z8t|;+-!Xh*k0XtHtnE&iQ0&=%`T}(x3A0w^p1BTN&~7wg z*=R=JD#164qMBllm$VVX%z5Z!`!E^63czwqlxTLwtla zlJL+gyc#8Vg>%?eU99^hWeNZ4{Jn14(Ajj&kDz9Y#~ZB=S@`b1%H|8tSULM4GZIh21TzRrr@u>sR$we`%ZPsP zfv~jC@z=c$&~o0*NvFnMs?b%T*X(o$sF)>U`kr?#_KZpdlu#aw54nzA0OaV-5~B~& z|LOXc-^&+ww~zIUlPR7Ek>!p8dcHOC8GyH=dEeBg4bUd-rtLjAo9yNL<*^N9`WOYx z{je(556Y!S5e5oU+>BdoA;Jy|5_|j0&Qt~s`Aw#*jLkGlmGWVBT8*2**O9;cH6&Zv zqfole<$c_}pad7g(Vxz*iOAFCfm&n)mf_4u)<%GJGsf+0>>7cJ;+p#uXdmY#Z=~4~ zz76DJ?qI@DTypqF{bpQR*m&&((#aEl;3D+l!b(o!7y^FY3w(Q#K%E( z$9k*1x{W9gCt@Ad7+Xf(>O^+=I`$}|NFk^P65m;&LlTy6tqSBT+{Yx77&&8u^DhT1 z)dN{C#Wr~~ednJHBw_qSf01G9HQ632VIsKq%R7Viq?n-Rh4^}&R0r?JusVFt z^waCge%V#9-HFTCoB5EZZ5VScb9MkzrSGvGSO5A7lox^Uo_$S$XrGsXzQ98*Vk^6U zNqns6*sd6!6`5%zBZ_-5xgTq(ni1T5Sot%aW0_#aC^~D10)a!^s{yN#uM_2lyj#q_R zg?t`EkJC}Csu&|*C7UIOyGD9mKbD>W?D%f+sP}0!k*7vP>4R>8SEm|S}ZzA^!ojm>DR>eD~)A>`5Lgfh0@xgfh#+2 zEE_uEq3mC;K=9MCZX`aFWApWnsRM5~nYve6*tCf%agr~fc}Kt+4TiO4BAbR9Y{G`yxay-Ahpw63r2>*lxSkV>uRcw)>3lH*Z-~U zW+SdNZ^zh&QVVdwT$2n2k44e$=i1X}BT{NTTw0(O6}3KfzKV*6%v1Qt`dh49`)*Mz zU^M>U5Rhr@VffvGcKdBZ=qDkPWWyET=S!$yH=Jw6)bNv$OLXGHBF5&MlmumTM0jhD zSKMN|bg}%z!QRFF5%r8ZHEh>hXNpf&bdX6WoK=HyNlMD7A}+ZK{bAje{fde&%>Vk} z_eRi>_fE1-*NL=Lbw;Y~!4-P*oJA6aYRX}Eic#h(hg5s8I1v6cqHX8Z zXjP6Ym&TwnEEN|*2_H=6gT6=!LLA_Qt9|maZl(U> z=KfV}`U~fAu528b;PqSDd7IQ|NWB^%I6_ooX=?msU~_D;P!e0~&&NX>r!i;Z?<=o? z;%&jhwYRxr7&*iL@wkgMx))bzqG=($VMYSjT8;Znw)3ii@Y4YzmOyp$!9j7(#dvh`10pLP}W*_#4ZZlKR}rpYN!+>_tVAeyqxRTic$}xTMebtHvA>xp+%p| z68Blb&_pVTJF^A$yu>lnk$G6ORkoRCUW$Th4H`_q$wl?|$F05}!%`k_b{pk8?$5Cv zd7tMthWiE^BIXK}{L{3%e8avlbrbH+0*X;Cz70XP;Qb!bzksDD1#k+C#nCNsDD{KH zuQcH9Ah_KFSw#P};-Bg^*^I`V2A3A`r!i*TSlE}nzVX|!9c-uv^<+_cDc;uk*4fz~ zelKc}n4j7gD??=W{lQlmks2Jk**~`FkxQ28w{|Npx)`}M)+I?^N*>Y_BG8Cq-1JaY zbgpFyp1zHd4=!N7O;s{&wxF!{h97}S*%_$Rh#%3Guu?X*+mtGQW#S!Y&`%BUe>#xA zYzlZX#}Kk=ZO5ItXUziTmMW@#6vW7P{$S;6gX#HY_?hnU4>`+rk^Qk9b6ywH+!*D3 zrL>{O>&n}9^_YwmR!D)9DBWlJj5^;C@qe5At_PhUYLbNDO};k|iqjyjbCvvj^o#GoS>neB z0&D0S5_pzpnk8I6$wirPb>uf_vxJ-NLzA!%jAsQkUbGzGF1>*bJx^FcmL2G4KHmAk zUC^gvfe9g%3>3Yf>A3nV1aPhU88xK=f$9VJ1F?6u_e;&c?w|jHn**V@=t*bUTk?^& zK=(OxlEIiUk`ubDbblAD0T`+7yn?i~ceJI**xRgFG6-4< z%C;!7RJbOuG=KeH2XCsyEI*t6X{Fu6fhP8vQ*gAaP_eyOeS_G?_Jf&Nrxg$vP!O8Y zUt+=O90Ubx5He5=H_ZZBafUidZS!|nISou3YxxM1eYfuP#M$BwJ504UlMB&X-`lsR z#>v7hS?3 z#4vGU8`k+7W{P4H-%~0TJldhWD zgT)}{G2^<~f20l{@WUvFa-@+TmRG=1JmbfLDEWLrM3dT2k1`2%n9@lWGz%{&Ov>JR z0WjY=Hy8_ObBmTWnWq+*mnPNW^Q2FcfV7@)3B<5v1<|@v_7aaIV*}z@7_%t-Z4I_w z4U977JAWA8B(Kw1YNMBc&)%cI~3G$Lj4>=(Ck7h*B)DyN?YUcW<2#|)_EWosoUC3J{_%ule8?dkuoP6g=rN`$0-Cmgp&0ix%jhNK@ z3DZ+ON|H_M;F$8V)GM`<^_I%6bFYYF_O(6MibYBWOxwMqC^gw8H_~yY)oDSJ26z{R znTgV1AsfcRHjMlR>uI?#B6?L}6JUzyd)7K^EtZ2MZt!wXH*h%RVY)B(uBYa~+kI#vS zV_fuuhdteP8i29)27Q;Q4Zi?u>e-}X6BZ;0e0k0!#tn2o6KZnpwKE&BkLAW4Wtk~QYYJ$; za29?Ate#ElllvGEYV(+4`xu9#0K>ePn=erDM;U~cXzRX(vTHwj{-!ihgOV^x=Q(VC z_XfzRH8Ehw2!KXNgF$u*206|T_5ITf_B3cxSXaBI^>3j<%a}1!#+1gWXAb@T43U0@ zK~Ql883N0h(H6Tc_pNniVZ$oPR&`7>`!2~sDtJE7G#GjO_%GEqI+Q6jm0k=_f<#Wp62?4a-lL4hjLWWL3t`Bl>@}5~-{cp+ZYt z0^2v*c;dQ!c-DVuI`~>=m%eqR`F;yrmF^FoSFSV9-{;I`sLBV6$bT72rF`?fPvX%{ zXD>bi?TuTGD!;#zn8@{JDQ2Pj){Ug)dd^lCZFq+$tQy}g^CVML4Hd3TdUp}+_p8H= zi+;NGfHnf=V8$nTZh|@Jnfn|}t7vMe$=U4HL0Z%{$gmmIzDAF5igOz7OpnXM`nc6* zS_GK5d&TXIqwQtvL7!e$D5Cl+hes{NFtvcVNuapDaye5<+3qPFS%gloE%`&iKN%Rt zZ9Z-dh;eXrgKH~RR=^}AT8wM4oeuGu(i{-dg0MQaK+`aiIvJ-p zmtg#hAQwAK+%Ljk>(j?{M3?>1^A_D9cY_A$26x4sYF;AKk`W^=x}c0oo}SuOWw`P) z80{x9s)uN)^WwW(m1PelAuyB#U;eX~%3~ux53ZeObC5Q()%nGJ8rJkG4vIWw{F1FR zdnM&TTF&CiLRW07E9qE$YEcL6=DhSqQdqO5G(_O_Xb_j_5>{kgEM{Oohj?_$*#J?5 zb;8{P5fmaocInUh)zoJOLY-11OPZFMFs_=VQ_QZ+9{`U)n4^Jz)i&UrIw;y9Hy{?` zt@PYsC6&Pl&ggpjzhc`%vzNqy8aMJ6=qrJ^iELPRX>8$E`l2tGmjp&k2QUUM>6W$O z#VYGPSRsCr_&GNF%kC9=DJA@a_vw9PXIG5ulSymYeStM(x)oRew+>}k zRY#f6?atcv+3HOERZrWRE!u91w>%ED?3~hXU-QQT&}o17JB}8Zb^fie5W|x2VakX% zbmY!qOHcPVK_)F(V}!!`tb5hJ$g6hQu8D+p`ePF+H{FWK=t1GY z>De|l7mYE_*6-oLlr^p;1tkNlhNF$tAPbzwS)c)Q?Uo7XZCxfPeof5PY8YGvm^NzO z**qHbH-K*L@k?kXFkZaIrgGAZO$~70I?Z0M@SNu{Z57@+6ctHxx0iISd@I0YK)szS zQBo@ronLAEB4ynex2RMFvWKY>V&6t$+k#qAjGgFIDhkK|M)f|bUg#oDV`SC3u{HJo zCs9R*wtJ;4BfRHN3H5wwrn63k3L%kRneDMrQ)yE8r4`jEVZTz*)8~g3-0!HJD??m@nSDoK9X=V-$^`3=-wi^;sH(-?Yq-*>Co5^S>{m&BO`^R3H2`T;~G z*w~j{+WaV_o>iJsNn934Hbca$mqH;baeeVQ$!~X+((x;wHCkisrE-D3YB-p*!#)6p5h^55GAcZ^nE&ux;%HyeK>-1Srb-jTBmAZ4!veP@^>F>%~P1v4-K~ zBV`>HJjxEAp14rUBawDd*B|1yp`V_)+zq;`e@!w|4m+2gdzR++gp?nN@ooI1Rd#>- zUDE%<5h=W%4~KwWnn4=c8)H zuKz5$Km!iA|B%0hcy%7|ThO?FAd}{knu7A~4Qg-a@qTVT zrOIwkWM}Y}vWx#6dSAlPi~5~;nzndmmHc8dU&~c{)_yaiB71fDx$p@+d9=H?%euez z8DBCIZ_M^L?9^q3j*Js7KZ@@@pSfYm|A&iDMokA?Aa?_G{JxNDgY>xQ*Kl zgaU=tU6wg@0>TtOKJ{ZlGJjjg@GZZwdSKTL(YzMpn_p_0Z^yB>^2749ARAIGw`}*2 z0B1K_`})n5Q*#qY*Ju6X+}D`YlS7G^qq|pK%tsXdYf1lbeysh=jEj8V$e*fX>eI;H z*JTtVGg}Oxy6QKtbI9g{l}e}U>1rFz84V@`53~GZyTTXO;-=FednKbVz(4>gumq#R z+3TAmJ$(~X4R-Ll8v?Dv=;T#E#P&7cEel8T6UWXK;U2%t>pXtVZ(A$T96vz2@3OC$ zvo?vkh<*=^CP-o&7Yc$4$aa694e(!J|DWymXI>EW{z@&K|7W7LYCA>7ZtFo=In@l< z>Q!o7IBg1-KC@=As^GEwbk_E)`^G7$^!%B+*8SH#@AOO- z!;XK^W@^Aon7~~vnQ!3Ta6jrm$Oy`dsCS|Em25LQrhm>d#cdnJPsiVqeu3`!rhB3a z@u3yo>vxLmn(1UAl6*%o^82PbDeDq!x&%ZzX5KOisXzN4z2>io3a2V5fDEOWN&VkF zZg~$i0;YOpmx;l!#Exyvb6OiD?{%J#MJid!ChCQ>|(KoJ*Nb zwSiDy4wYFjFxkcc<-@_nF4E)EoIut z^LIuFZQWc^{CGg{a%qJax%eF;x~VouLX<0t7Ho8pOsls|GD`$6s6lyDoPN)ozbfzNrfJ}3d*E>wjvsm7=sj3 zlLnyieGZ3E)s2%i7Q|g2hT_E56D~bmk`5ILKs{gw!3SCSvnj@2$9P^1uN?1VSsbK^ zjEr}*tm$*Sqt3?*Cpt`i8Gij<*naTKk(jxzJwVt*=Snr!(qJl33}srFs6R8L%*m|4 z{2E3u=VFJy>;jJiz2$9f4aFX z?nq7C-IU6pb|_33t|d{X68%!rG&iT_HZXD>S{oIXX4x_~54jvowcVN3JuGM+mb4ex zF6wEKyVQ=`hWz9*mC^7mJ3Pw|h8-Q*A@t2V6z?R=C_U+!p%()k6k(=@E)TP-{)i(@ zaDbbYPMgP8xxU*2kb`Hh>^dcG1=zJ3w46v+xypAZ$}>9-tFGOSCwvDfPFF+Icg-Jh zAqBc>HZ#tpRU_II`|@b{wML_HdRv~KkpJ8SJ9@>8Qr;@fHBVLY`#jj_Hj!CccdAhu zeUs-kzwZj2d|~*4Ha{=DlJ@8%XKE5e!%6`;DAke@TCN>0XNwu zs^*XKoK;=-Y?}#|ddT*_RLBi@dgM3h1l1unQbK)%wu{&Ok@f|%vzJP}KCus;fzbPt zl;l24A(qb%!4@`l=X`AXfX1+kjS3&uddnQ-VbTe8S1A%NuY+8a9r4v=)2Ljrx|W~) zTf_|C?rG7u{=4aJzsB`5%A@lwXj_)L_Ni$#>Tt&noZkRt(|r@M;4+GmxK>-fr+Jot z(PG4Lr+cN}0-xQ`V^*Or2k{|hK*I4F}UF56C zy|9ge1tNcB|L64ImM!}nV6ye!_C*O#+(Bbkjwz{w+9StH+oK8g+Y$b}>r^aEx3vng zemQeI33`G@hO*JA%@xkTeyaDoY9MO&BSN}<*0#cnNq{dTDvH;|ePjgm>y#~)mzAv8 z$srg1t|6R{hJqg5+F8$vC4a7>Xkli1DD>QgC}MY3hs8e$v-=t7okJ(oRMs@(CEa3} z;f!RM$_Vz07#1vL^00D~rgS2JeK1RpkwC980S9l{sd5rUT9kIWO)k%@2iM#A#j~#J z$UY4>rl2gU0J3QB*R(1O2d@oY=GZr^xTL#8gD`?NJ8Na)#$xG*du}_?mX{=$7Hd7; z1rh=#m;$8iWXa06t@8e!oSx$jfr~=FrTI105DS2c zy2SU2%h(vOS7Va4RIJRwL452%kBlU z!|?j6t2*!?BNG$ze;Ij#UYG z+(cZ3P)g>W05dmn1}aa*ocv^Er79H0&6|f36$U+{-$qjwD+!77LNa6+a>M6dZ003Zoz;WJKC|a?aQYG|Tkdv!G!=(j z6d#&ogUQ|4Bhu!h$+$=3m_^l^pDu8Xz(luu0^tf#!~#siW}hO|`($;p?(`4?Vn#st zCcDvRG*6Ztvjn;7|2Duo;L0A=nh9y#63<4@*Ikr-Rdt;gMh`3xzzL29aN0+4_TeUP zlUYr8hDp~yuDw4OfA&0re4D;!*E=?D370}ye!z%#eF=MBCkR?I6#1Z%7NUH}%BC9v zg4lBSWHhK^-|G0Cnk}(V-3?1F5Fb7`YC9(RtQpxT=Z80-TqEPqLC5trbZH9bW(ji@ zJpP;_Mz8FRjFHF$n(Gs8;KecEihAezA2XiOFrvJMY4`IduQq=Hx)2GOgK!=@ug9s- zQQ3|z0hWSRT-=P7-05=%{H+qbs{PC2utuzOd5QWDBEx8^J=a z34fmj@dZirEVgOOf<5o^Jwbg{==LL(t;v&SaW%^^{J6M7h%1n&=P4%7qU zRI0xUG!@)0Vx;*~)@Ny~P=DzZwO-A1Ibh_=$l?UK8IcQdRVyzMM$3Qxflpjn>L*n+ zC>i3o{B`GCaH^JrA=}zv?Q{*vc0>kWpfC@nEUdyZdKR(U_E88XKNR_1|J7MlBrKr^ zp&I{BOu@rO!ukkef+E~?JAh=+K+-hior(SU+w0Ne(XUxyN{vKEQD-E0;v5u(+dgmc zMgPhgI>vK1exMhU%l);CiYH6hIyT9Y!6V~#VT-T+*`+5_^$dQrip}(H;u^kRj;r^+ z`(jK|r%&g=v5avkPM%y?&K9zUvEK~WCQ&E!&EI8DnBU5|CRwZPY3Hx=C+?Zmb2&jC z+v#2FDRBX%jKZ!X%9|P5k|!AL4)GTq%}YA%k0BrCIKNr5_!8kW5bRioT~|_tq<=Ph z!81(X%+-m=u$g?Xq=ffi*|KTt?RewTD&~*GncTwh@)uaF;zScJxOsrr8c+M$Q1QS= ztoo&Pm0{E})@2&sFL#1o;nLsI-4Y%qzL`%@%hOUGM-xRjSM9ZI`4sNXm#vw-il&%d z+J#Xd3#QgU7~q(&_Fs|&FVm{Zy^~lJ=n88q%hxaN{tN(rma}$OkLW&X7RnRkH0sO& zGW9pbpkCl=hAiPC!LGL|&735=I=5X_Nts~xpVv#CiMz)by96e@K(j zrt!jc<6V=WT{Ms%(o^&dowU9L9kg`v*Qx6q<&gSg2j_dW{*xmxiAdhKM;xPS| zj3PEFp&}JOXZtds3TjQcEWx|hPoo~&Y}_ZTR^~pOPQp7qtzQXmujO?RR8@0kiEG`; zg|T=pqt1x*Jy=FRttRY2DH8AHweIR=**dqMd-XrO#7wQU0Nz$)g>yk))b4~xXeX)z z#FY^H191d-xoY%s{9^^Jto=dBuNALlCFxiC zz{^!6MMgm(ywFNn9{2T@3Bx`?tJGFT-wpUzme|)m-5`6UuDEWFw?K}a$x&vL`9IrV zB6ZHEw!XV-wQ-&Vp=!k0hgt6&-}h!L<9^#Qw-iD|i32PFv{w)Bdz)QbPd9L?Wj@ok zt4Y@b%MCCAwJ6nke#L)Z@h*SEr)H!qvO#_dBRFlw`B}Y!M^|jKZ@^E KAyscpg8x4~Z@jPo literal 0 HcmV?d00001 diff --git a/dkan/docs/images/site_manager_playbook/adding_new_content/People_Page.png b/dkan/docs/images/site_manager_playbook/adding_new_content/People_Page.png new file mode 100644 index 0000000000000000000000000000000000000000..d75e94054efb9cf90146b46e8146b79ee1d7594e GIT binary patch literal 226825 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

6ZR&`#!1 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 Mkrgf!eC73j0ex}InE(I) literal 0 HcmV?d00001 diff --git a/dkan/docs/images/site_manager_playbook/adding_new_content/Site_Manager_Logged_In.png b/dkan/docs/images/site_manager_playbook/adding_new_content/Site_Manager_Logged_In.png new file mode 100644 index 0000000000000000000000000000000000000000..711ecfa1417f7e58c5652f4f866acfde82c6ec64 GIT binary patch literal 51862 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%0D9xw<2*iSmvXj^V586mfZCk?(G4r)YZut-X` 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 z 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 literal 26957 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 Dp#d<{ diff --git a/dkan/docs/images/site_manager_playbook/adding_new_content/adding_new_content_02.png b/dkan/docs/images/site_manager_playbook/adding_new_content/adding_new_content_02.png index ca2fd42b6bbec0f45c69ae9c319ccc5cba9835df..72cd92f2fb851918f9e9f83722eab1cfa95b479e 100644 GIT binary patch literal 337289 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�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

Q!ee*Y?8$t?O;0PJ@%go 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%0Dgc7} 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
    1jZme$y2wBCbpEz}|5K*be=@B5*On)J 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 diff --git a/dkan/docs/images/site_manager_playbook/adding_new_content/dataset_reference_field.png b/dkan/docs/images/site_manager_playbook/adding_new_content/dataset_reference_field.png new file mode 100644 index 0000000000000000000000000000000000000000..b50f62cd80f668b4b46ec312366598c6dae2a073 GIT binary patch literal 16923 zcmcJ%c|4SF^goPflchz9PzjNxvSn97NR~17AxZWv#=cglgzW3smziOVU3MjueVG~i zmVL$+#?JiizMn?l=XqYwpT9qvxL$K#_kEq~T<5&s?{jV+G@mKcon<*oK|w*M^5n5L z1;vRV;ODK=RKVxTQaKIqAEk@7@*|4Eu4{|HFK3*d7`RYS&|duWkCGxOTg*M|yh9Qiat=cDAO?oKO4(drKN|Y+`DA9N4sIZJ}zzQnouZ| z)8zE^01B%AK0KaWA5@s1E&E?XnA4w?ciI2fSF{79@hZMuVdQJB%d^i)9nWxmQiXCI z&O?+C|2rjcrDx3Q@s|SvcxZlPrDEns|J`FotNz5_-x!^!z+h}>$<{N25?ckgV&d(s zd=u04p>J%I7R7e$^^SVWi0P<&WWLn+_F-ize_*6T!*7XnM zG%JgJI0L!sX*w{Ipn)c!wwRaE!=_jD{dug+bjO2Jet{&#oxS#vtjo7iPPyyNzhLv5 zs?J^o?Hr$#A-S2?|E^%CUfu#s?2Oivlgw;tJ~Ujk!AMkBW{++Q<)`Yc#YYcgHhw6D zZRzQ#@4Tk-EE^BF_Wtj3Dfyo7?d@grBoG+R+Qcxjy)sx>g*QB~oUVmdAY_KpLteh1tEse7m@*xPxB((&ihYWW5#FKGzG1=UYjfaJx z&qE%^radtCosTPSim=aJPVwDeJ#d}<^3Z<29BsXUXAA1?9@^P#9-~hw&2?a=?cNdC zj}98yzNELQ5z#QUx%s1rk!^n#E#=M}1Mz)rWRISJY&LM!)Eh;!vR=J#-cUGaBlzob zb%jkq*qdJ;_Z#$KRatPo^j50nF$GM z@9fX7eJaa_J4gE^*GU_NyrVv)egw^vaO?V*QkA^rS8uidwepV3$1Od5GfeZhq)eyo znDVy~)?S3qo2HeQKKVOVA=LXV;~n#>l*&mT#pAeIm1@0ai!Gs!N6ks2tRdOScaa*T z-@C}2g(9ioat2y@mi;|#;=NYI;Bbk03lGg6b%j2n5Z4WD=dExd+&P(wA%%H2d@4(x z+TA>-SsqUe6Ia{c;~79YJ?i4ts)P;mlHSVFp8I&hx}&;+()tX3aw$I2L#siTQ%W?k z*sfAm8$ItIzv8v>P0;+Al|-5MdX3(;aY>EUaLL%mioA+2lC^JY8~=#$=Sxgt1q#ta zi4t@6u2xQ!n4~Vnk%6euD7F2Hl)DAKB>E3{u&+Z`%Z=p=995H7h`vYWk6WN84CSQF z>)IIbJu}G#K8hyx8ttRL)9GR$-Q|0Z^XP6VL{nO>ceVCTWFo7Blz=)j^hI8_x02h= zb8KqClAM5+VN9&4i2+oFq^r&n60tZ^;%oQ4@Xg`Z2Fo_*Ly)6n76e_kV-!+806i>| zmE*oI!YN_cNl0SJ^VgcXF`SrsNdj)J9j{v~sReP-wpXOLi&kEKG8p*xT>1(0@C*Lx zbZ+&9LRLSgD=C=hZ?=pI;AY*_!pbW~#6u0dua}{QwFbE*3tZaYPHErUjH&pYcvY`Zlz)nKbM$9*;3>Ry4j+%q934!JCy96tX&;Dy7F}Zei*PNdSY`< z^e(5h*)wNn1B-|X=U6N@apdfFtZv88HoaQ4(+mb*oYA>qww zRif%8Ls6hF9B85)zHIGS87?T5>@3Z+6yxizo3j z$+AY!p#Y3#P`^^xi<{RTb3&hT+dLiPHs)3eii;a~To}j}#hzHIH9Y_lcHs_RNr}85 ze6#`HZJq_zU6bxk>s>OZl~Ek&pOTr0G@PE)y%+Sz-d3W9J1=!y*7y3P&RguOy%1|1dnJb|$wtCb;pkm|U)fld zqTO^6qri#beEQ~14-4JqR!7~H#LAq>McNw4f=)L}G_F_<)m|D0w_RvZdEj=3E28;HWrFyXpZToH@6N5P<#lO+jK+eDxD*klVv^D?b-L#&EYam`mqx90 z26FYz*};1GTe!Uk_=v3|=_j&wz2p)0+5fjgP8_?f!F|~}<1E-CZ&Q&G1 z*}om(ktHqXMnaO3^xa+!%rG~MV7PdZo<8qN&!P^QHytEgI#UzdOR+RH4{TR!quOhS!3X^e1wE_L>+m~4*g!Ae23>U5$bCok!e8bN zy+^CpWKQ@SzItXDz3?rnjcMepNIb?SyEM%0XK&|C1?GZwahkGJ6;WFwPsm~YY*(rQ z9xl13%!Vjp_!H)V-8#^D?&#c1$MLFA@V4!R^HCR=+`RI*9Z5MM_6%u}w&+P0?BMws^!lI5G_4h+^ z(Hx|oZGCM>+r6@CKc^(#+#|!ztLh&@d+hXT zRh6*ett5u~7jG(%d`;$M6!+5-U|?+%#I0dbuD#zI^s?JXoEH7WNrW@K+;bi>LYhQV z;ph18pr6Vz5{(;_h{(7&y=KL#1}P2N55LNt#$wH04@Wv`J| z9G8=nCOlqA^`ATp?1@f2vRH(ju;b`5BrtC1YE<<37|1-q)?%p&eiTg>eQsh6beDrS zRg_%(Yi-6g_Q0g4o;$_&rA72f;orgfbtvV`*ZI#Z)GbR-&)JW9JD@M?ULQ}@)796? z>Cz$STe2FSdKIJ6b{mOb7h zGXU0xI8x*(lP97w4v=P|Py|viUynGs!yM3lJhL>vJUelXZgP{nVEF*r&&nqbXd7pbXJ)^AJ;H0}q>~qU z5!V|5TupgIGr3NlnUaC_o!8C*G}RA_1REF_Y816KN_vJ(?b zwwA|-0ESNkt>3>JJAI|$RQj|qTIFJ3FqEwlo$7_>W!`<&k#Ns@Ye~SU;){O0Uvqeu z0e(O%{1MrZwZ@G(CQ98V3dY8xgT?0RtlS!@2VGLD{Q5=Dj}CTEoIKalh0WI!GO6{L zZHpz~P@vZ`TZ868RWni9+1W@Walr&TZ9&l+oLTKQGBa+jyE2YYNdnL{PXlO=D{qEsrzlOr2 zM=|v7E29XJD&PGrWp>Y7JUq%j%QG_{g{+R%xKGsk@|h#GJw+ZocpxC4?x_Pwo{Kukz+UiaFh`9UYSfh|JRihtqF>`? z@8D4A=C}6slzGc1E#^7V0pqL}mjkQCx+Mt(pFW-A!T|TwJ+I4F*p`I^ndvk;)Ddxo zkQzRBn-}ml_{pGWL0aI~%jE-nwa*gnnvGQ0_vfmET2ZB?`g!Ij$Y()5ot~1TJ*)bH zfOVgS`YlmCrpuRe13l=5R)t;2(tIx7ylXJ%$=BzbMd^7pd*Y^;! z`$%=?jb3FA8Ni}g=8+7AQyYj2MPeeka<({rd$>8+(-m;#;kh8P2VU=Cq?~BaVlf+_ z$;-{f=LJuv`KTOF@+||OI-YY@P58ZITWd=T(sDCa z&qPZai}XQh1K40~stNiYp$ww2yMwt#F;Z!FeB@4J6dGIC;nlawXPyisrluCAP5AAj z&SU|P(qD3m7{RA$?|tM7Ov0e9kK;WVbfqGrQl8nY}H) zNrZo2j?ExMj!Cfl!Sp$S!hxGSE{D1#xGuMKMDTj2-=RpzZC#sS_?|MepfMblTe~Mk zJj=i^u%u1QNIFb-ZxPxFh~oa&pH}gPNXq^2A}5p(xry z1s4mie0{L&JzM`YXz!Tt%3rP0e?8Q7>8xPdQ#>hW=bAPqL zw876e^s<0M)$HYs#m_es9BO|n&FXMz$t1CIN|K$;}qJL>cGerKgXc_F$OP{%3Ms<*m1-Fp zBJcUa+W9vs4|SBWlA+6a|9mTuGu_gv!gipmnLrHuy{BOEp{1X2I!kg?)&0BQiKSh%wAV~`gz1pZ~G5E1O%W096t?=R3zAwlK};#|Ap%jd;McGhJO(x1?9v= zU}Rh-tC{R&0di+PD<3X8ycRefSp`OXS5tdmkSA(PqyCX~BzYDl3iV0op|yM%Ba#yMXmPX zTd`woLdUFG|GMr%3jtD@d5ipz0Rj6!##|B4QTjK{05DQ$q;-M(kn)X(z)H50wK@M? zMF2(yP`5vjAN%^GAFz^rb;S99S3!Xhg6{tU9Zn4aJZW(O>Al^`-KbIdRnpy|86Yf6RI{vRpquPs;UlE4vyVf zw3qpv+Mzh~1-gD7E-vh<{=aN|pf7(_Mdhae^8(gW#|%?D`WiumKXy@Cyow584Iv8+ z6STKEt8AfR+jCl6y*X;}bMy1vFe$weKYvh_JlUSt@6yzYM{F&RY}amd^+T%G+wPRJ zB~*sw|JzQJM%E2DmX+n=#Vpq6el|_RtK05Dw8vnLO1Y7cy8SYE5d;Ep-n`k?*5=By zDNk8i_j*>fE(a~*R1Y)e{kt{PZvxzBwSu(jL@YPU2TV#gQT8%)B7i0LKV)B~KaQ;d zXj%_FcF~8RNY~AU-dqhGGuP2C&bY1ghi^}3)gQsK4v$X*>d%Db9pBYu%)ldfMy!U+ zSex`72}r)TJ`ImcSCB(yASX}y4FZtG`uh5Soc`|JyB|M(aJmYjf&BOEj_YM6rbU!r zlC;gT+@s45=&cYAKR6uzV0R{(A%6}40E>koAt3{jHUP3Q^*HH=NlEkOyd z@zzFRYAV4zT;c)(16a6f{RBvb86LXXDL%1zWVXj_;xSdTT3=ePf40YFE0~V8>=wak zW8wRUivS4Vhm?Smhk90T%aIOBLp^o;8wjiZq#B7L=joQtWO2RK66+7C_&uDFqs;zN z>E7mmslPpd0%X?Vh2pZZM^S2m2<(q6lH1`P@j|~E>uLk3Ub`mKCz@ORnZ#_2aMyz- zn~0V0l^?SJti&VoY%HNr;+Xq{!2HqSzLCY?f5e@F^33f|U1@Tra!f$7%uUP9()q13 zmXil_OB#sp3p83pMb&b>799e)zKUE0pM+Y-3XA zMLgV|K*PrnAf7|jwKUR!CF$r8z=vf?Y?m%&za-5>Yn;6$DLE_~4LDGcm&rPt zrJC7xPS+8BbMaSmsColp7mZ>S!g+7N1^d2ht}8WA-9x?RBVo2bXybKeuLOY5`k0Nk(-o3woS65iB} zR3Dq;@L3D=qMrWs>)C^;ceH|E8mA^i!T3HuXgHn-iH=KPZuAlPPM%}R+)fAE_m zDq8@mwT83hS0;-)>I#cFj1CqU2#b~*RXS7z!R%K@Dp!GxI9#rrxO6c>?r6uQOM*v2 z!XPNkI3E((G|&|ccVlhgkClAm0RGUC$X{yvwl%S zT8o3%%aF#f(gAhd;prtXkdkqA-rLF?z8Jpruy8gh7oC3}Wd-gP)oYNut?p(+`u1yjSbCkwquJ zVtLSF3t5J1dxnur-3Dz!|0A!$62f51ZxhEL|-g0z01&I~A|@7iCf z(TGRT*wbs|!S)*7J*s_CX;1l^@4Kx^%A?vLe_$=hPlpqOV0O`qFYFjBS^p=A1j=95 zwCkD8=lLP)%ol~csGi1GS{?r*e_wgb8=+iX(b4ggNS{;+_wT|}VNykHaaPp3Iq@d< zdsXEe>v!h>M};TIf;p!0(e*YsyCJdlWXF1~?d-&yjG?rT9}K%+VjaW5M<5-@7pIIC zn0x#>%OntXiru4ec-2lJ)+oEHt>`}@9T;%oF6_mY8Rq)!D83@($d5Yi z8LdiBn@N445GtgCJ zCX3nMC+epevf@8rE>U%IVCAc-U-3LmNPnhE0F`FcV+~4QA?{#o-o7cR57lKTtN zL!=Gm#7`;np2HT88<$?OkLc~hxx{y{3!JPx{4uP%pkr4)ZYXM{I}4aU3;l*$cyqDe za=g~F;%7G>noefxiKmWSd5N-bnaf;9ad%cyAF?Vo3F6hSE}m!(Zg^qb;CI+zWS?N2 zULh(qii-hZa~Cu4)Zo*&b9(s+O{S$OuqQ50MHL^8H60NrpAny5m#?nFjjk|gsTdk2 zNiK^_I;4gos$!+wR|>pu8H(CKBb9bh$k?@xip#eUO~htqQ_S0xviVS^g79ysOA@7u3DGC zzNP&tiEFaef$(Uvb_gkyhl96KXA|PRh@zf4l*9Z}dd9ldDDe0Zs`TRGCrNZ0!GOA2 zNl|Ivypz2%w0s@zc{*rI?bXjHt|U-?xn>u=$Uf0u46EsWRrc>b^iX#wtP)NA!wUFf zZ6ZJH1sCu{RUevZ{L1m)wDM`ioXE@jD7(=iJlz_h_X#A1y}2owtC%EKZac8jrzV8` zQQk62>>Iu=OjYQUtGJzX4rvps4xDZq%gD`=c0mxBWl1+}7C=$9si8A#Z$w|B^IC1Y z;J78*TBBIoH3$Pl`x<6i!m;7dt>4?xyC9Bh(PC@il2^-7!aeh{Of}n)SWc*&;|YIKU0-(f6N?;+BdD~!YG|hH;U-8_J7KS(4WuEHbL#nGB#lie?zJ^${3yG^ z8*^B|Vz+%vyI9=W?miFL-G7R&DVE0wBjbsb7uf0GAAp}&h z%P=!XB4o*2s$gruK#k9_lNvg!KXzSa0CX>3*UUl`N?rY+xCB=$SPynA>?$;%4EfYm z!GtUi*_ZYY;d!0IF7r)An6B*T=RqP@;=*kUcfBJMxR)8xnC~!ZQq^pP_T}FIO>zG2 zMJ3U*NC)1q>5*;*%w%?{1Ly1=VnNkuMG`zzbA{JUUj>t*ZO|k83C{`Tz|W?>l0Y%Y7{4Dud*&{+znV zO6WbgZUwRW`Sa&qfBewU&}P*CFGoq;)?v;%+KXh@vi?rY3&8WWk-1EO{PWXR2_`aG zZBJJAq#|c}6?~kj$8yz^6)ycUCo>Ov@pu>s`H{kHb0W4b5r3s6F0?DT`rCV$RHIE+XfWnVgv>{$HY^fE^BVG2|wN)7K}fff48(viktU_KRs_bTX?a0NK_R*@;R22siOiU7oSS@ahSbUd%C{0 zo7EmKv^{x!=>bT!w#efyK@ zUz;{|Q^!P(mRGj`Nc_b@Uyje-BpOj+(>;(D0rrL2WL!-BlL!1?I)yNL*DI!V6m zB!Ox?R$0AA=N6lcSJ~o4@D(<3hm>*|tDfuM;AsDOD>?EvpWpd2rGT)r@QoV}M_$dr zQyp^h&OBCBgn7;-0`NJxRgC;qrx|LImnfd`__#Q3Zf?G0MI|Nn3>QxbI~Hn~Q3{7Y zaU_DwFm9ytCFzF$od3-2w>D#40D}Ldq^lbzW>{wB+;Ok<+6Ntc7=h3kYb&@2$o{}` z0HXQQqVC?*agoa@o92?ze0Li9E^+~JE(wrNkF;Pq-esgGDPyer%AL?86YWkefa0RD z=3ci>!;kA!@{JcXyWv-}0O2?f%Ze=CZw_Tn_5%^441>l>rs@u}s->GXzrl?hg#T?r z;pyA%NvT>RcabMV{mb;wCc{00b=rtK;3|`re1MF-P1PD$<>DecQQ*n5R+P~;J$LJ{ z!Zu*|6PuGOu?8rZ!_eB6G(Ijg`!B`&<4k(gPbczxuZXrL@m#m|jQBHSur$7!>3A+m zIp(`6n4$Nzi&sS%WM6Yqdt$;8bdHtkor-|+m~q*t|A9~aYWNnyt%&OL(Ma;)r<}N~ ziNnlj1@!`209Fk6o{eu^p?ZY>Yq2EL)jQkc^D@}|s0WN>kCjg!r}9dP-g`()61EIC z7<@_m#P{J360qR`T9L#mZ zD5#Vl21t8d`Yb_1_PBrm5TJ{JSY-cQ_24YkOm9{|2k-IvsZ-8=R)+O0yal8%AX-$b zu3aTx&-j_@KMBiq8}lnJ*Tamfx3{;ds>)>WZqhrl9Ot3?pMGTzgyiNc%*=q&U9q%e z=cPh;@k{uxAD_NOIeRmQ)8ZBvSEaGIe;Put<^B8jF)^18EvP=|0S##2m~Qd|1vWAQ ze&MAQ8yOQb`nnm&H+RoUN=WQ72JIZHoAT-PRG$V0{$CjYut&&E=)cf_(F3yR|E-kd zvA&z-)m1Ac_>~Uop`kYFbWi6v(e1>@1D$^58lnj;|8o9LEX6d@4=Po4g?zXh=K)vj4mu&D!Js=%6RKtwPZ6ntwU4W6a8Vix*wXfX)_SAIjnc&G|ACUk?y2tLb{8M&g zfdrE?QsuhX2dDtmI-5>sEi5eThe~Fh!qW@9saZS}{*(lwqAqNU1pQU4PkT^m%=HS@ z@BE59fdjb)*jiBX2e>7B z!{?LZJ%Gw()}1QD-f))XzglO2|7nl=5lHvDyu6DArClr!oSu7l>IF}V(<4B!!H>-ung*O4 z&-D^-nhNZ4sBZeUL{=`#aARuu7MMA_YHd{9vf1nD>ljai@9et6R zInQhe5GMiB%LZs1U@%xxZ!<6+(SJ#|ybX8e%o(8S8v;h{J;Xk`!EaPi02C}m6Ku9u zC(vp=;N(hGNW2yb8mLy6tiZXqAl3Ew zUi#X<%sfl@k|Fv1MtVI%wP{jCFOYvohpYa7l)`#;-NR~{tqHETS2{W$x~-49S{z3AMPb+m%-m8$}7m5!b z2DaE>DHEfj*0Fk~ylT9&R(TiRGJU%wg|S9@T|!;DI8y0|-bfn0^h5SwO`$v+kRfc6 z!(n&L-UP2REslE;P(OY=VREZ8ggr6XDD9T*{{SdF$w19J-$>`D(O0ebg6~-%_)y!+ zwjdy7lovkw3Xwv^2NPqn(}3!G`7KUPg)@somT6!^?JqiC^a_`U%k$6Xcm8opF+bTg z$=}~Ef=v#4`Lde8CN%($&UfP1Cd#L|k9*Etl5$(>;q8*$x2pq3$84GS62TTiIsVO7 zqC3T{?EU3;miVB6Yj_g2{==-U#r7Ryycu_!soVsB6w%(BnjX(*#3L%u#N4!oBG~B}7;( zsy^gf@gcEsOZBf*c)f>a)6`a@PQ+eEt7&Tq|Gj$c8!Z!MdB1COqJ|?N3Mz`&-=P}? z1euBu{pN9x>9Fl_Zw(G#Ai#XQUtv*(x|FkH;pRs=+-8tFC>qio?myRM7)0F4ijdW2 zso0tTR9Dj8Kto5>YZn)xx=n4G#~TPNMRRz~N_G2^Yq4QDe!X3&5?Q^No9r5he0Yxl zbQ9oO_K1Ym2o6WQ>kf#nU#rb+u77u9-qd{zig(8tS$w~PuGRK@B7ia2#8sSx5CLXw zWNcgjqw)vjL#F<6)OSRFsVd)sDHIEyLmB4RWUbkcBR5tvLj|>UE6&e$=viae#@_LGLhiK?~Rl|v^kVR9{o*wvxQB^4`o>4PZ8@wYX3h$s{ zHcmIa1yr*umes`{?8zqISDhm5w947U&I|kv^j8Aq=#IRklk=xRo!UrEHH zLIyV?+p9_^HZvF+)0KZD3{6iuslN{y()7=}I;%GYKu5muA$Dx0A}wqaP;PbamXA5s zpw2MhQmCQZNICs@bUQ|~UK*N%dJi z@_s$@h$7gh*$)uDxV=xw7?BdX`u*ZxKPqS20MCK_ukj2@%9|pne5( z6JUH!hOHW%s<0c07;FsdDWefhjb zTAxy=EvxNf(yKh;K=oCYIP6`*Mz@?}+$VTt_YpmBwoTUpP(vtm&C!_foM*ceWz+l< zsA@T{RL%2sSXWFWTBaiIW^~xhJsj4}VHeGB?{RCWuwB;sX-KoF%L5)5;EFfSw1-9- z(io$0lHZ4d=d#1E+%2UH#Pcg2r{kob8W`sE+TISaZM4?LeNiw~~mr2frHG%Kg(f;o>H6?H&@Q zn^`Uw_qQjFx@v+ zDyRbU{mA8tVQZFjKT(uvv8>JWa$OlbH%84-F$4S{WGPN+HU@-26#VuIlBjb{%=#`r%eGD)$ptT}-SMot?M&37{W`mYJ}-gX%RVwPvm}-E>;=la-;oxnt}dF2`(R`L zfEu%Tj@WN|1lR3a%rV(DR8Fj{5FaZLNCxTv2V7YmV`x)3m;Ftd;`(lSg4th67|1<2 zb)?m~j=A8-bt{b7Hhdbcm367smEn@qre+_jW35&O$oxCdi6$nl)C9xxVzilp7>K?= z{Lsyh!9?fvAh@Ksqxe4aeznTW{IvI2v`)K~o>lDW!^in5DWZ2_{-pg0)M2@p5>T-4q`|)dN7c_I*%qi2(iPw&L%&tB*A7S|+xhOCGh^KF3naL^kF?cYs)R*p0B)98Hf0*<< z9sIcZ1G3*WkkAhRN+3^8xhpX^^}L49r+Pm#J#(+E$e(od*U;|T0=)|7HbJg?$R}uA zpqCLLm$Z>a!sw})DxTr+UMe;OS~Fk zf5Y;X60%>-xy{QJj~o`4480(`C9`>P+cpv+p#@UGvDi6lD&$kN%J+6n&qjA5X`VHo$9V6tb78< zS&hSgJV^s;3C**!72_E4qbzIP5|h~Pf+r-_Tl?qW7VX5BC_6uF)|=r zYj)nNn}p9RkH%sLb$|TTEBu5ev7VS!;=k?!3QBZ>T-!f2g%Jo#>sF29UV_(-naEjy ziRg`_7zA*WI}Rtpj!7w%F3{LnRGCV9+>lxO2x!`5sti;* zCUcZ`fX2>2qwb*N?l6-ZK-1>O5qZvI;urv^f+v?y^WTmsIGPb?+HAH@KTjsf@{Iu5 zJ+XyznIew_=$(G&Rm7BNM9ZF9u|iPy4&}?289et4qIRA8mX*`U4)EfPt9n>I@x0^l zw3W2fU_EbcTE0*8e$J6mR+^mU*MBTCD+LiR-*tbC*d#O%xubB&kz_5PQIRqtY#`qf z;~IKF2~rDIMkQ2nR!dbYD=%lKoc?P(D&0n)wYF&!A403|zS`h4#x};e>c}HNW;mwI zYl8>9Ctz9U`n^}TmFu!|PmFjcKWQi9YawcBoE)Cn%b1$XCIjRZ04Wz33n)nSsqLI8fUwTl>b^fAjuk zowH21W)u67B!T2ds(}d^529RNV9raP#~v?{{k&68@dTb+0 z_=_XiT*~MnE%^Ozj@xc-HSe@!v@gG$g?QT-`sgea%nk|pHCPz=dT5XTJwboB@d+zu7#7ZJ4aY{(Aue+@c-@qQfJ`g?fT?vO->#G$= z^j0gElfJ!Rs?gWH47+gt@&R@|byYxdJ1H-B$@b;Y)DAkxmJ&Re`~+wkTM`Kqu+gn5oQbVMo28-nktn zk)?%BBqUqVJV*ccBI|DpBYH&53(KU{v{Ya>aKgi<4v)5#YrZSi`hg?d=Nz%hrT0sD z&e_jvR+rV{!#FBZ4rVlfmmUrpt6~KGp`Er?;kkUB?pJ_cMH^8t|z^T`e-J^-`9X@p5+_OwZ;s|fMQtC z9_H3c8wtwY%P(!dI64jU!jebVr#{{>F~wzgPKSh8CLHqqKCfZY!zF#oqoci{etW() z;nGE1w)2;pJK)u$iiS*l%eLMEKWJcXv9VH+U;-Jl+N2F-PbtwI+D5K)mi3pBFkR~C zK;N$910hx=qphZhqG=nlLRI%UImM z<6;7-R=c-d$0T9vewn`WiAeLKw{OwAcU{(l57OM2>qPz4wlVt45$EWu*T3VsePfBh zYiJwpOeVj7t1j1;=+PcVZr5=!wFM=IwiD6o@&hQF9m1)09&~pp>fu8t9arCMt}yR6c#L^Rcf1UiA4PTQugdDl@$R5)JQ^Xl6aT&Dt>G#%%D}T0QHs z;_AJ{r52@<;`wYB1S&95kdw^4%} zkQ+;>WIrnlNoLIE$}}rfUo*bmAcNlgHElF1V`=`_YOTIcuKL0@Tf%#5k)}s)UAEXd z5W}Ds8LKxC$}V9Yw<72OyJGE|onmP};sEz9Nv~}i2I&}Pi0M1pi(kVr zLZ4e7h~Ht-Wx$bog+{gy{LV<7wb4cpgw**2_)sa;OA(iBA-UydHvLQ51Nk|}Et^g; zG_^7jHqYjJ96FyRe`zc@71fpSOobt(e{tMV%%M|gdGx**FaLM`Gd9d5<@C`=z2SWO zH;O}TbDXyGyLH-PD}wi$R_@(+nDpD)cgD%w(?rG0p!w(GZn0N0v#Fw!?C+3yc&X7~w z)2%I#y=7yBnk*ro3H zm6bl^?;J?9sFaIl=%CsjTgq!2rk<9Tlwa?Qu6Lfrnr}I>_ejdNeSN!W-){S2fjQLO zq_?45QrDJ#afFXccKz@~sUh=!s{3YDAo68kW-n3ps(Ee&9Q_Qpq6A|8oyB)gl1G)q6NthOHAobZ<;I zx=O&OP7ZCf2LAyJ^3$qf^xTRVb{BSGqdgy{<-N!b*>6;2Xq-xuiT)DX_ zoOAl_LMMk9Y2pWcJcAXnV}P~%0zt@;l-mmFtf^~|bSSr4j6@LpT`xrUz`qj_^{L4r&#QK9T8;|OT)4WJH?ln=e4YT*8eTGQk zBk&qsZVJo&J#}Mi-f@?y z9~5Y8%Xkf&#pWF=>rP*&jy@|hY$x%q{y&Sa@`u#5zDHJvg&(sR<)H@AmnbMG%l`Z= z0P=(TC<0jYj{8TqP!C zLb_v||EB|cdxF#OxTd{R3ZVM5Rl$Mdin2!oFtWdT{usbg9~c0Z>~@d0J&xzKrohPI z_WR5KZ2RX`tofSu@?+bM3jrfX-j8XIZR-!binX^fHakp4{*Dz>=MJe9^!k Qc%V>GeD=8T(epR|2k4}nFaQ7m literal 0 HcmV?d00001 diff --git a/dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page.png b/dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page.png deleted file mode 100644 index f802e23fdf30eb57465b3bf04e32e57997c7dc29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123425 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
    IUwW6?XvxV;>8P=GcG~F&cD(l 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 biU|B4xrJ#*06P8600000NkvXXu0mjf{aBlQ diff --git a/dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page_new.png b/dkan/docs/images/site_manager_playbook/managing_existing_content/content_admin_page_new.png new file mode 100644 index 0000000000000000000000000000000000000000..9749a27a39441d124608672c569eba7edf7a0b8e GIT binary patch literal 180542 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

    0=O!!2hhlSBtSQ+BUs#NCm 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 z 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 W=K_0pYY+6QFVf-)VpSrBf&UA0)x~B2 literal 0 HcmV?d00001 diff --git a/dkan/docs/images/site_manager_playbook/people/user-administration.png b/dkan/docs/images/site_manager_playbook/people/user-administration.png new file mode 100644 index 0000000000000000000000000000000000000000..8f56e6ec2b32d06302f38fb6552b9973b7194dc5 GIT binary patch literal 145550 zcmeFZ1y@{Mvo4AyxVt-q;O-JExVyX4xO=eR?v@01cXx*X!D(EAOXGSv-#*_f`}~A^ z$5;$zv*Zui>r0^LTfdByl0s>iDN?Zj3;vFpn1T-TY6!; zpG6_6ric!~AK)FOv|S(|5HbJ!Ktg0@<3T`(KuC*!QuBm7$$|A$lfVt5CI24w)8||Y zRsszT{nG#w!WR=UWh|e;*vKV*F0`BGsK_O>PihQg6zbmRonjbLFB@6#+-X4hIyw<9 zU(l}h{*)lQ%YJA5cs4J)OTSFYM{_K35tusZZ|>g<#v^I4kYz_Lx}GU=t@^rz(OBtO zDY`#U34;IQ@9SG223*p-zDQn0rkff3v$DG(Xk?dCcNm??&#Jh{2K~YR?C91^=Xj0O= zLl%smxvo!Fo4s$23yzA+# zyt=DR>APs0z|{!4s>-`45jZrS%K^;QW{13LIe;v3<_}NyWRclgfGAJs0K>6MNc%ic0?$8^ERA`(?b1#?1mLy0ly69|5&HZ0@3qD8EqCAgzW(}`xp1g718=%x zZvsx6WFJnoFMkUqgaXpTY$|X}=L@fuM9N3?543D-Y_MKp9I`NgqwLby48NC~#da@; zj!Vf%@690Cwd6H%&-VeZ4+m+6{ts&|(+_F=OLtigUD{1{8Fv~z;?*K01C$gL>4PmN zb>m!iOG=G4>P$~}=iQE5eZEz~?wcMPe#74TEiF9dN8r_Obl4Ee-Lb9ibRWXE+|_zh zRp5Qc|L57(vjx(zQQpUu%{)5MfFx5+U$&yEj~?y-+>clWAE>iQQSADniGbK2)i!+_ zgJDsxh?l|ebLf6aO;7)=YIKoCEtC8~x9KF4)Aq~s7XWRJ>+H#L{ahW9jv7hqm9cd< z1jkmAqR?`!DeOMA%%o zsNna=HcK_%`8m9Qe-BSgOw9E@q6;868zCBh*w1o!z34}MF|U(ry&9vh#RAWBXav(( zuA7phVoW6|pC-QF4~S%dAN*()fgT&-x#4&BP;jtW_c@Lv9S7+QEWEwITj`#c5=cxJ zC4TLisH)CeouP$Z%ka^)R+n1cFVh%GiDyw8By)YYePAm!I5hOW`{8ywidpF9mnwLj zZv#VN+YPGwcwjSh;>%n^{w2CM(wS?BZBIPX?;1hk#zN@9Xz>LJ#kgDTDZI|fMP zgNY1NhgQ}1;(9c`UKzOGKxF;4)AvU&=K*ifJZV~GUya+k@78_dgdRUsQ`fhq?}+EN zR|sm?nZYMwi4q!m9~Qby@rFAvy|+0jHjStmCK8M8 z%f=w_Y7G}!`D*8NuV@=`0p?|E)(myx*@fHgNJ5_fwUHbVTFJK8S0+u^J`r#vR z^-mw7<96Y=hQ2c!yG@OWQ$V}4-)UQs^i@4_KjbuqRPF&%tF(6 zBleSqf=xDE(7KqV_thw^)3$sD+g_$^Rc&H_81gZ&{f_^r9D}M(yHg>DuR!4W zqF-;JLK_5{79M7IpOfci)uJ5~9?!7M^;-8j06Gm58~R>`GICkwY0-g|hy-kPtMuFL z;8&aMqaq^6V*w>GR~$iM@n2RZoFHr-uMek%-vsFJFvP-;KH)!u6>cFEH4fTJQQ#8h zOaq3cQ|R@6$Dq?&8OtvRSLVs=6U{JWBQM9Q#jso-$}lB@G)cC6$V2mne^f?DsU$+@ zyMo(=Rfp~vCy5Tz;n)d1xl9i0UnRgUyF?<`S2MJM#zggH(DCiRb@!$D3{hlzgWb7$ZFZUdi;&NCg%43N- zIGpC9oYKmrtH=I2V}o(LSREHf;DcHtUSlm?@WH>{4(CnOuI-JMpzU$hfj$p_fS$(g zluKNnrQhb->tXLO0|Gk}H zJI~_Lk>_`L0L783@}q^pYe=UFi>y9O?QVZTr>WrQ&0tim1XllN&zjZtjes}5#VY+n z1>v{ndiergp4E)I!bS4Yv=XqTgrk&1-A%+dS=%i58FM(%MC3d(8nJo~1pC^zmpj8( z&7Jn=c}+uQo(+w&{jTbjqiedq{Ua}BPkPMezIn10^GhZCEReN;(70m&A_5Y-|Kod2 z054acuG?@dal7-Lj6kxxU4%o5L|vh5+EASsN%-;ZXcD@`J8B^kqP%*G$?aql6$POO zGdt&9e4g5ST*}L`@~TX32NE$hBzzb=fuuBs4~{F=#R+{Ujzxp9E<`Fp# zaD=dA|EYs!iPe%ddF4A;>x^IUdOfGuF!{)p@a?hzpY{S(__^mwCyUnTM>7wEQ!JLh zsc+4F(TKv9mbn1q`vIP7wEZM(6o;+{n(*3Sj7Jem)>CBewZOsHp3b}VsCjuN60>rR zN+^phW7A=iR3l<9>=6JFA)acIQ-`ADg2N89Wlb!>2RSjc51Lg(C|-OB^q#EoI!$&F zrudpiqyf*Le6)j*NHuI(iiS0MMJN!tXe}5K&07cgbdRHMEiOyBb<>tU{x&K#QM@{> z<1}Gj9(lRjh(qs_LwHHYy0&EM(NJ!8w?D=j#OV_)lF*~DK3`ExZkA9+N2YS*;NHh% z(u47o^gX^9Fo|$F1d0EQWac{jbPIWOHM4NE>EHIU(H8X}eZ}nx#G;p5?2{Vu9C92K zj+XhkIUb!8MnzpS5!M8fJ1mDFPp}jZF{I|B6{+EpZkP)Ze?}x{%@=uqO!i1pq5OSF zBa(79z@30KTZ{Uj(gBuL6@)OS>qq~l^seue#&RpVuDo4J&FkLfep*$&v6RnHSE@Y@ z^cwUjDzU4Wb?P^<%x2?7u5`|5qWY>BVLYS8C;HHJp}jxaok ziRl9amI@wE!k33g_@P*}wa6Anso^E#l8GOp@BO1E(M&@ks7xz04gFGrE_dRDV|gW+ z8U{TiaO_NR9-JeT17VY~ptLXYj0;s!P#87L6Ym!d16U(XS;FYwvFBpZAeN*Vll1e3 z1?-vx4r|3il7u1cW4mMayHT;~*1WM&o%-9T)Db$@RcEzA>KQB1pf#gAAi&t0ObOLC zu(FFp8)6X>k^)m1by<2GP3xfCXMRZZgu*q#$hp#o3f=OSo7Jk|9VWhuib`}M#$=Ii z4PhIpNqu`d7iPP%(w4N<k)T`dN$5 zU}mSlbjhkh43KrUQ>}d6*M!I{q9Mkb-d5b0<*;Ya(hrf=;M{e zXwVcO6&e)ZUSw{&aJ#X9g`KM4;*-P(bf7!?Uob!>fHH+JHLL#Hadl%XZxKbz^2o?h9j7y zhb1a(#ua40^?XZyVpz>cey@nbR)ZC)2v?I7sE2npI+Dyb!hAsASsW^x zl*9K6Y`a&vKzoo;;pt748`wwas&1Q96aNQxMFMMwhhhk8JM0YFrBV|jx;Yd0ES%mm znte)#IBZ1UtkJDQtG!caI^vW6m=w?TL7UcBb8nDbH7d7PT%lFeebeNfITOqbnN#_U4@A$au&* zLy`%uZLFvc?kM_0$+aVAqOHN_P57)%A@V#; zAM~jy@h5owWiB*9h+im^N#9X5J8S?tt9jHi^iA)C46XgeTS60`VdA5Bfay2$;v<76 zaq_#flD-J!g86}AI8mBC%0h$25;Y$B`2HSR#62Ggvifcb8@4fND_`*UloL(5iwkPT zfhlV4-KFiRca zD*(O)auQ3ue2gab9JYYVoI0w&!S{CXLsq?o*28y@nEEIaS{Fu+y|oQJY!tYmERbTF zMnii|tAP5$)b>d!grLt~N}+AP?&w!&R+CK6Vv}v>g~CH=Bqc7YlUbtg2c>)T1k2~; z!<0$FX7=R5@H@aztWvl-&O7c{os|WRV)w@N$Y1 zs!OS#!NYHa-XlNOjG})0t27wT(60R=m*y<(29y|PoR(%kYQ-whft|U-i&W@=mAi#y?0bz zZDGx7=;L2@Z){=#%gmIM$8&&g6kq%b$D`n!8SFM(X2GDCCB+Mg=;S&|_U*e*T9Gzg zxU`lIPL`FqQiP$Tg(MI8bdh7)B#T{>8rbeBx(pUYMd(us|ZIfWUrOBE3639khoQ8yBp z^xJAev#2pDh<`w@nmjZ>8dLbT$=9d(QcMVZI2dAG?Dv7K_^wdBQyknr@x6|8^o)wO zS{H?#xuV8IA^b*GK)dS~+(A*bj^78vf5EVaU*kKB#}ekx%uS|#RBps3zTgjGDoC?! z?x$m(^R|~N1h##&3fUuC3DAI=oer;vBt)O^TJC=R_dTA)__)e&C^qF0FRrix;&$1J zVJa0mmbHvQ5?_!mctq0Fe*kdGsq&(`Sh$yTzB**b~ay2bmj%bvRQfUK^gA8 z&WJs+LMsI_QEc%F8CQ*_UnXm_Pw$VTrwqE zuQeU?2Uxj&BCMuc_O8RL+&>z>tJQ;nr7171d}Xop57MaLPWwEhIbv;Q!w!U6c8nrS zRfKBnz8oTSMN;@)|MNqnHiy90I;|*t(=*vqV0V+yq$_hynnQ+Yxn}iHqzk4Wh1N)c z)_FtcAOQ)3U@rO)OB`Vq+Kp#Du1Jk$M)^(xYwK5*DJ_4$dqzscto74t!gnf}0pv@C zLh9{lR#uR0bmCH2=3}cSctvF@$ZJVrZF8Q@EPMf5C!bU;%p1Z4(>Z)A+n;2Af9%5dV zEcx&0W@vBmbbPZEtdDztaJrWI@gG6NW$I0o6nn|L*^SIioS?06;-DqPDJoO5(B`mS zs?@LYu5L!Vap+NWQ;sNaupV?l?d~muwV$FHTL)JhsPOT2PRzbVSq^djwp~N zmPz4>%|SxHXNfmuh$IgKhGQF@Q%FkcqQ8f#hrX|>g~1Q0_a^#G!v*IK^QthEs+H5C zQuCZJ5HMxnieOeV?1;i?r{83NF!2el-r$L7SAa(Q0)=&NQ`N0UT=V^cmQ@9^qbf_Q z*HOk2tw!P~Mz&@ZUZ@hMVjttMa9@%Le%sf#%9A1%*#2nrg|u=A>Ys?UyC@IbEkX+-CsFIN^VAEruE9x2P|8fE?w9XKez7H!*S2qYPPMV33c$BP?>5aCF7FLrV6^MAXzVb}y8_PMl zjudccvZa3o}8Xn^6^M%{Oa7V*ldfB+Avp~L1Iw} z4^?fjiOYwz0(!!Ix26kfuzDKAR76ch->~^eXh@|V`e9tri6Ch{FL%dOFmG+v$;$k_ zNfF;%!Z70JLm)b=&8|2zeM(mM8NuA7Khgnmgmo_4S#70@bM@?Y+220JS*Hd6SYn)( zC8&XCe?Y%f7J_a35cPN5`cGm(WFN-aC(LWV@VE*N%M*&|P3iYf1eaAUloyH`twsV7Fn+CAxG%KVAF{EqZefI5T zh0^aW2L(LYWqZlXQ@@Jb!i$ICE;N65T1pm!!9YDdX3`T7_*HRMQy^AcDuIKD%3Kuw zSHMc?0uBpRku_q-PDXC6wcDx?W2W#2Wtlimm68Cp(4o;~$&dLTJUX1dvMSHFEy+vC zH7x}f&=H|Itn$h(EbDf1NT`Ykib(XSco`}mRBlCkk4bE1lxfh=H3|llt5oJAL_U$B zd5kzR>IpD(IDTz}+fxo=o zZnEThHl940`P7%hQAqAI(zoTHrikWH3`U%66`VqAAq6;)g)?m9wrsYqN4>tDSrF3wjTk?V@~_+*|CVrG*`JSNEnq&cTuSU{a4Q8 zkCJTu#)PByI&J^ltug-rJc$YThV|y7aIa}eYW{-^W;%_+&*M)Xl1DM`ho5Vu{$aP! zg1$(SRqTF?L)6LoMFQ?~6V7#+_iem&8b?7|)K}8A6Qm=Irdwj=s7?L9R38m1sHP;V z8%{<^6gW zse>UAfQDD&-Zzf8Uf1TUT{zdscrFKzI89n6jrecjdqEk4lOD(qk|mJf{#q%O?sF_7 zJ8lXXDZB1^g6}%x+pm&!|6w-4%R&|-qGe}SVe}uB-<|W2@J+py3=a8(N`vC9B=^6p zi?brx$>yg67}Iy)G4AAu$jE$us$#g_!5b&P{H~eA+_~jx`QtX~UuFcHAEu_F+HFI_ z28&&Z433H_1htFoxmucohMIxl;UP|S>PVlAph)tcIo+>4tdwY}$-5mKQvW#w5JA1{D$;7!f&Iv0)I9SZxVTrhFfKSu>_$NNFmwbf6{@rrMH zk|{MO;NRre_Yw6ICK2}gEXMA92ioNS3*)~(#^k@A*lb=Eoidl2^f4NPI>KRW1Pr6wzXO5fJp zqd>!ec|>Mw7RoI;yq}(^(G?T5rTfe5{%7tFK_cJ3i-qsQ3Kj%|9cmYimyqDzIKWnOn{eb}1gAQ9W(xbOMj334{@Q212^ z+Q6M|Quip^1W&OCyzUlA;IO`({7l$45QzL21_On`6MdEYlk1OX4O+r;k@sM?%q-Oz zf9~kR`nXHqW|{VI!bp4BS1wmr*5%Q;c;0P?GL!*&%KFIJF{(ZMS&IXn zPO3Nn?qtJuod7_An6-*xe=;p^{q|y8q~Pp5<&|b$olayqVZh0oGUcQ=WgQCko&Oi3 zXgXj|9=-rdY@&!qg(DI$dVQVeaIhUqMg2CJxwk*@Ug7azPOkhG5@xNS$$WBMf4_gD zu2Z7J+BhlQsK_3%B2c$0V7HkxyP>H#14H?hI|U=KCpD(Xg;TX6B%@xq2Y5o`cTwhb z#pU9R3)-q)9?z_gE>F$m9G46ISY(}bqMp{;5WqYJ9##hh5c|Id?!yNd*D$Y7UWqp0 za73I?5|Np6-WIFdH=5O+$y>~8)4FHO8Jcw5*|ztq9Zc0@s=UjTfz#Qvxxv^7yyN#T zv{O4IH*&Yh6Dlj+xWq5H*@cN1f6+rm6k#Z?lGtV?z}DB3g2nvw@|RBIJkRj?-U&<> zk);6Nulb}n6wCSl9-qi%MY_)7{ajV_z;~o1r6KJe990-f7vYc3YoBhl?T@$3zCSWQ z9IVne1{|BVEwIu`W^v6FdH8@PKOcIqN9g;cs{R_I?xMKU+bVE*pH6st$~uk8YWa(k zF)~9#dB2Zqf7wU=`O}@hPDt`%SmwAQyS)tWW1!V6k0Jhw)E41lri9Ccd5%2jhsCy* zA^th1)Mo*Jcdk(;F1uZXaARic9tQgN7Z@_AE zI;`Q8k~%|4I}kbu81jy$%j$K7xPUtg4YLqD0DV?FB0@6*g)t`Y-kiy=;OI1I3u zv17ln1f30B6JHUDd)PYEd&VY}`gjw_Or1?PR?49H z?CgPB#V?BNw<-=42>TJx)U(T)ooeODIG`2*5W z6>w`)~EDF=rklL`jGdp z&yApD`=y2{NGaKjcj+7pA)#3&gT$}T370z?@<7QTc8k#@jrKU70}Wb*D7fE}9dcd= zO3jMvjw&)~E<*6Vfnz1O57%Zgh;^!aEz`wi6{!E+D+DQ#J6hqT$@}5&bYAR4`sXp; z+xM?;1ymgi+e}rZhurY*Se$>|bFh^2dVfM!rvlv7`E}VGo{>rE@IblJNz58TcBio}L~Q)^cq--I7{i@9que-f-A$ zs~-Tl8MWilk26?|0RN};Xn!V0>t%VrW9i{t!0eD5(8OQQjE0dtDK)EzmM`pXL@d|0 zLN!`Z?(9~7a#wx7T0T~&+HcS53jrkws1nqBEVo6m-*rIT{!*aociy(xVUC>C?nHmU z>7XX)6`C&=CmSs-?eeB0eX+ha&f403=WKH@a7A}aR2ygLA5a(o+MHll+IUFLz&+r2nCq5v#Sbpc9wi88 z@M;no^cn~zb+QpEZ^jG&Ww|o)1d%3XUE>O|_HW3`qP|y??EKLA`bHpHqn6G1yx~Yx9MT%VpC<%4eQMuH%x&Gc5^IZP2#_RaU;t`H z&n?{$)=%&-4P|?$dflt{FQ34yi>yB|fPVQXWEYOCa`7kVy%;C7^t=G)d=CMdVPdzCRX9uL>JEk2j33h7fCg08R z-NLSCy{fpnw(LlMHamV_@1mQ@0PCl^DV;NEYgjaI(Aws8gE;qW=3sp2g!8WB!fEAc zDJ#c{&(#C4RpEcgejw<`QlY+~=Mk4Q;tFkx!-lFD%f*ev8j46rqMC&=m9+%lfhm-a zhNMWsT8Ms<-|VEjS!KW9<}*oeI??(f7u95)0s}pUW6tjBqpX7-{yGXM9@EGZR*U%C zz`>D2EjP8X!ZG{1EDR$yH&<(I*W2p&2|J7f1&`K$6#yzsPLIb)nm!n@@*H$@*0(3ifA;7_j{^nCNx7MPC#!`Sh@@W? z2?QOEyIKY&2A|KXR&ZAR2f7g#U{_|mTU_H4SMT<0dcP>%uIKOj-rj}vV~^IC8$DvA zDjr zHhx(@RGoI6D)LwXT9@QrhicVWTPq8X=#%F;V>SA)oA1YR+?!0r>b`hyF>L7awhS4{ z<2~hW-7Errd*^0!0iPY5b)eiix5jk+3@bwMKq#wRyiZA;kfSp59q>Ur{p+llsRew^ zf_K{34#7aJDes`#bAI?>5~+H%Q+*-UMd&cuYQ?-(5s3B#rOqj1hasWbq$DuBn;OBXMZe zV#Y9~E%?qJOfJ(2SIx9_B%uTivo7!AQ9}Dv{p5!_W}2;oWlF<7OX52xkoX!B@HiTQ z={Ol5GK2$O+t0h&?UvcrW?Dapmde_(RW`~~LTl3N(BMPK_KS!RzIeW86XX2csv*ZaNZp)ylL}hn6tvZjfoxsia zvn|(}Up|T!2^WLyBX<(DHLML>>>;o5&DojbDT;Nze>x5CH!Dr1LxPH0_Y)2NB>^iG zp;y<^L%0+t-xG9>{Jgu|lNcfgH9eKmV6sQg`}Qd8)EsZ*+1B@(z!#H^yemYGrzE5e zWw8HE_1(q+^g@aFUn1~TBqP+g2Jhpjm{3y6l$g@Zm$m`G!d3;XwGz7T+Gz*tu_o zYsU`ix!&rmhP5Z@&B#(fyB9Sz0Qqs)Bw@T!Yx=rcyWZ~ElvNYlbHRxi-(7{paSg+d zszq`!1hHNVV5*&dySv}@%xCU(Pt!t~QZe5*iw}G0XkVF#?Hbe9JX>qYi{-f(rrqOC z5V*QoZPWPc>?C3%QR3mJ8N-+k9QMd+bXEzqKD-X`fVQD6mVH5s;s$1!oxdkNwAKV)CyO3eW5T6L+cxz89l!IsPXp`7JK{}mb&2f|itRBkAkuE0 zkb5^#@zx5j*4y2g1G%ZwJuej37#U@AtIT?&L|l6V5wtQDO;GsMQQ+>?%D_R6|JkYs zJ?CU|~;T99&BBYa!H zo*YY+0>&SPL-=6hI)!);m*&Y`z%y8o+yZB<%kKuLsGF-vUN&2ikJO|g%NOc29s{4o@w3)*+WbeSmT<6T zkPfxG^@nI{X{o4AR-3DB=8?h*!fmH7op(}C@D^+L&(cGxEdbX#z>@+0mxFo3iRC&< zrthYezjdceb|wirUUlzCI_!RBdsN#P)cZPZYj*J8%>`BFJ_DAS$34`en4AHiNI!)t z6Vh|qjX6uJ-dmHhM_58DgIc|ZQ@uQI4WB@bIXTk1Y#nK=G>KPa^ zMD8=vhvAjRCln^%-Cr!2x81^ve(WCO+r&<^Y9H3~r5|2T%TqoOTn;DZ+(oyDlPmZUoNLBfLH12YTdlEy0X>3yoU&6$fuyU)7kLdu?6U!E@uwfPi#Iz|WEr!Qd6 z&xhP#g%oxue7bM{FwmdD;9bpJ%g(vIEtDUgTz6yx#PCL=+1oaU5Wg)*gEytC6 z)W19}wy!>M^HNj4lPv|)?O&Un<1u_#A_gZI%aT2BW{W}*Ljzu?!vK^P&;C!N^J6@w zW7w-ZRc~gm5%c-E=kuO7u}j8D8dYl~R)f1d=?zgEr)ChTc%~*&`)5L;L zrGA%tvPF}hJ6MeOMh*!LTD}?Yj487(p5R|!LPg5(s_9)k);stEsay8yG z@Z3zdpJ6a%Fv*9VLx;rSb#T{M?mhr?vjG04KB9ygbvcbe#)P;M}< zwmfZ8;&O;HxJ;s7z_%XCM&U62Xh6Wuc7v5oWoX??)twRm$)$dq&g4V{rBfpoww&wX|VmL!CBlD;XGP;!%x zu>w)$&46nlWv6jWeM+WMeibM~x#l);dMeY6K6`Qk68dumXz|TrxXaHa-Rs2(Gz?P@ zC{&dV{iqPbGum#5$6~91QT)7_zShBU9CaAZIbf;stqF9>PB&_?LvVn_;ovB^yFT!Y zIUQozl#GO-#$vwTrTR`a%IvS8lxU=glEz&qtwwIW|9MRm0g%;Vrl8T^q3DJKufO^Y z)rBOK&(12hjZ51QS5U6IShFQJ-RlQg`e5LE&k za0t7z$5wsNLJ(bj7%wK*@nk${DY<#=*2 zv>wAwzo%PNq5B>kAh=p+8;;A)I;&YaiKgHUOyd>wxox1U@bElqJ+ONQvx7-lj3BDc z=M;s3MN5h(C{#`ZU(vA?WWZ$)OyF7!ggD(E24_M}9@ZIJBT8+kR(XQqc7nMb{}J2$`BDt%x2!N>}bSckJTtk2=u6g8<% zk6~VEIggWnVzSv;n&%l}vR97)0&f>0D{EJGk`%72mcDnL8{CoI+*LRG0k6Gc7C2=q z<7B0zWNy)qmpisC5u1gtZW0^)VF#b2oV^V4>kN`s5ia;RP$cqNZBRcCoJPunES?VB zR5buGpOV-!3miyKm%holn%&z?+bOVQu0qwXrqvYIMzUr-T_5&$OxGCq+X-j0TcV`0 z6Bva?Jq%Hq4AYV z&uTrdrRzvtiQb5lWpj4`>hr-4(Uf_X6H1?%MM$Ws;{A<=s{2l(UD!Cbr&5?7sTahTn<2yWX0Q z`&Ieo(kjgG5(+!WlEhtucj$H}IH%*Z&1`kIXhNn`HWFuo&HbQB71?3;kzZfz?h}&# zQtQoDc`Ov5hle!nt>TQ#YZie<9&Ua3lxva}L*N73;~hobtn+fIugqNGf5Z49;2hZ4 zVvaI9Y@Sx3T!hqF7q{t7*rtJdXj)c&H<-(rrJV74__Cs2nR3MM=HTZwVnc1dlY38- zg3900?mJ2`eoN#SS{Zhm2m(5C;@;t%hW7QTsNlNRkKkvd(N;InOIG?8iXHa=XYF82 ztHFn1i71>KX;e>M_aakM4`SB-b$L0ir^G~Dz*2aY$FWfHEKaTjNAuY{Vj!5N zB%gKR_x16ob5Rz>Q5%mfUcdQ3BV@zKv0CB_*{#`Wfa z*>j5=HpcFDoZY^*8qA#3vc;W^{G9`vCOJNt&M6bIjQdw}6U%-?^w%50*>^_GXGROS zE(=NB*YSsLjn)Be?A;ghKCx4puB<>N*Y$-alkfO%t-OU<8GLjtW3fNfSOk>Ahvhfr z&+PyQG24q9Y2PDzgX;z#uPO4JUH%`Cjik)`*&k%KL+e>wf61H84@otX*3%{vIR z%&C*`AO>8VN640J@eWQ}#<)mMz0{S?!B*ed&Ng^2v>Cg(>}#;B)G0rJcy)O;J54)X z33s;6Q)6>l;mi5k(oIc=X{m9!t=D~UjGnLv3toj;17o0C||zialkJ^Z^Imlu|_@7!uYP?Y`#H}lzy1`mOk1m-!Vk>JqU z*_1mIuXL4fa{bF{7#ZjECqtW=AA`IH*)Aoy4FMS_}pY+IyIIgUYkdWg0+;AJ1Nt5%#He;o%Jk zN#e^g&Y$>6*r_u0aP+nFGGyn>U2r}7-tSa!|JL|0F|PA4{bhQ6hiBS;v*XfWFX|i$&1D5=V7BvA;HqE#v7x$VP>7h2rsft8nXrugWc3hr@qQv zhKq;vd)t*xbCL)iRR{&4U2$>PHL|8yv%$bG~o$ zz!GK3)X+SqA$$$USPIKYUc_JeemoJAG1a=wD3vw~6^BJjaN~>G)li|D*h+$jYa_z zTQ;AQp8nPJ=LTjvp+;J^+Fk(ocrI)_xLMWcG*p-Ulq9hl(7H8nlB(V2xob~c)(x7L zM4F0HEbGJh-FkeRLWkoe6YN@D#F%u`e=>vY?8Q=jcs5_qvAA0lkEo+b!e%_^5an?Z zb~>J=jwj^rm2)-76LM1g*3@}>oOxoCOZZ@j1E@A=vU-uBz8FEpLSAF|hD4qY2OdGF8o?9l*P5sg&z?${qMT~48WD;1qD=7 zqAr}-tfucRb6uDSI!(aEo-K{Mh`>%;%HnKigyEXb$D?w*+vI*IHv_eWBKfQizR`_h zK79+xK+psMU--k*dj>gMv&VI~?aWCic^&?M4A^xiKbyD-iR^aenf=|l?CuVPj@(R- zum@O;rd7_Rb=``#J6`WeA8y0J;H?NhgF?v~`gdPoQ>rL}r)V_(tWxAd{w>{7K-I8dN@|DQHsyYpxFi}ITT!S&)WclIwW}Dbh zZ+Z4JUXBmv$M8?F^Dp-jF=4)~B{xxXmnhsH)m_Cmig3G+mr;(A*sGZr&%XMYJYSi& zqtdz=#06XP~KhV z9s)Y{BhM8p9&j3+uv>ET6t%yF1>krHfNPhSJFjQK#k6m~R27xq-MY^e$p_n24E%K# z{hx+tnh2hS*>9Wk`E1RAL29b4x?7rkhA#8zPqC!*gxJ;_GCB34bt#B@rrVfa;TlcO zdnp%P&=Fd|b+LWBQJ&hnL28Y!3Lqocidflpi(mYgIjCq&au|~AJ zPl1;RKJ{NT!2da(U{OIWU$`BBEN~-`4ww~_2b3m~oWC$rsXv&SI_DR>o!OT24wsp` z)@80X$QALjGamjkNiO=6 z;142?=eDp3>ir(}*Qx05h6o8p{CrM0i~298&)>lBW$^M*=ym$6gpBiF`oo{#YS0&j zZ<{B_OurRnPBH&^<3DXU!9R?;b@rs8zxV}zHNK02Ul&m#KzI0W_RF99Xx@M59{>N> z{_7O}zrG|&iZ+L{g-JB>E6omuO0yXM;`{v%=z`S1G_l|#I80gv-;>(mKSk!r4I%%_ z2K@O*mLekF#50jA_ymq|+*rUPB1T0H(Y+`Qgl;r>5J22=J@MQ$t3 zDs`K|Mf{CcHZ>#vhrPFos-xMWMuCvv8r(IwyAvc>Ah>IA+qir1;O-LK-912X_u%gC z&h4CYKL6hC%f0{j$Jh_ep!e>ss#UA1)|zuJd3kwNr?k{m3kIn;>goJX86ga9SPG8~ zhD8B?MNs|s1W6vrSG=&@xE6rxdUJe)`cYDHzEZyz&|1m+l<^Gk#=~&f_5m;E1!z(f zDVOdKQ2vJO`F+L!7rn$jymPZ!1+v7-2^^O5_8s2fs!Nz!_T$T~ZiJqPd?C`f35@)#rOFco}KeIu!;q;KDB50X^zPpOt+ktF8hV~ z&eh3I96Sd{<;}-UK*QeXg#U#x@ZWxgMfD;5?4bYCHWTNXJ)jJ!1dw;&2bkJ#-+k;r zcmIK|vTD%7-z&iDbiBx<-=k?a%m#?phzBC#yW9ShO5Iu1sy0G^0E9BWLE=q0wD7y4S-g9CnNMr)ym({D9gCL;Itx`=Q}ryjHClI(aCe!1H$~ z!fv59fQNMU6^fQPyIZZ=i0^(kyXAeDN?v7t+6N{oZ_=lSlXgO;&)r@xPh$Pgl+4u9 zdw;gU|6aci=s>A#s}8kX|4}uoHtadUrLeGaB;!*9s39{7P%c)*>*iJfH5PP%ycRXENN+C2q<%ItP3D zL&BcU2N^P)*MpDgW_&i*kAZv;K;3`&X`F#hC2z3W;d8u1OUhzA(y|fG16ajbCmaK- z#oSmN#WJvE1mr!Q0|`9~6bn%&!H?-g|1j>~;FIBRA;b)3nH5-tlH~5;_7vOwa-qq81r$y)_J8b`wbO9pxOP52W&Q~kW8wlug5n0>sK6BlSqyw+}@p` zpGJU)Oj<P^%xONVYkG=t#-TIm20x!3-$iY<#e)~7Sq9G*vfpH!8Bjqc5h~t<&}Cd zH(zVsi(!*-SVo51zU17|2W;*GkA~|myq%uj3Ot?)qk3#(x_1MF#IKWXfRGRW-XBNf z-!YMtr;xu`{H>D!Nv_U>lifnhY!&&WKZfFhgdW4R`h64NQTPu}Rbp%bwV&IZ2TgU2 zG)!NY$=Onkz{v*Sl)2pPZBqiGeE~Q{wlm4?g40DxPj6ePawX$F2eSWUIm)lKUz?x1ccWz(|bVv#j>B;98pSt!LdW38%XDPy8}ma zieh3T|E2RrgB{0?&sx~HFo{cX-|rnZutfo7sEAMLNv}z;`{(TAzgOGy4q_08DzoYV zvO7r&J4q_}&HsEJu^17BGKXV?nxq`sGV~iBJZkz?Yr1acrOY`rw>36Vp)SUr4c0e$us)?nu z?DtgTZ;q5Q@)x+O+5;!h(a~lVd%MJH*)YxU14f{obuvvr|3LWJM@Qf0Xpxe{THDsW zZksq`(5Z%tMklb%^{9H#nI~OwrcsTDn*|mGF~`=bg^X|Vf1iArx^Me}r_)$S0PnQL zw=5ipxaB|hliFuvEUH%y?;|};0Qn)q5KXsDim}=QpnubslADc-t=>(+GxtmQ>Sh0L z>SO=yG8Y$sd&K(lDr}G&D)8%B71IcM@8{7LcemNEzd$iDhQ6MrZJMgM3^2G zDqU{{H~2n;nL*jUK%es9H#sMbKYh+5dC;V84C^fU)3er}D+WGRseQrEc^D6uf9J)RTbq4>ESs z`rLaDL}JC?Mgf#yw0rb-!Q`ox4{*u+6xqa8>xV)-QLaZ6$4j;s+VpQxgKi2>9lu z<^H6L@cSTXLWqs-Z~xHZSaD}zc;g1VZKZ`4!k6HwQjMF#>d_v}7r-yGL>oWd^+l1o zSl$A1E|F0~fPa4hfK#Ez>$~ZUdJq^qWj>Ku zUzUJWo%W{+0mw=F%QMe*{gU_53mB&nZ>F9*Ad++@c{;1@cC?kCbA97n4%`Gde<0Pm z2jopZgoD@vH{N*Nt_4zjN(-Er zjZ|xZ%-D~755PfHJf+mzF=*6323!Vo;Z`7Gey^Bz2TTb%xx-+JbmzU?1j;&K zjjkyGHy{&@3x87H{yZHn9ly&ydd@IP`v!+#nRvJd>P{~?EgeqYxAxcGnZJ&{djuL1+B zmA0pmG#+75jej{r%Q8aaF`OLGV||h;{k_w3LLznKljmznq3hB2^%3I(f^* zi}3z2dw{P39GQiLpt66i2_i)0(7=GwL{p3Xiy65CgMCe&W&STe*+&B$P%pmb4E*!7 zf()(${LdqJSN&gp^8BlJ$#Dxwq3!R!`Hzc^1n&}%4oTBrA~OGV0zNGy0FUGU@68kR zvl7zQWKeB)y1m_snLP}akn9gRKX=0>hxJdBE1r5~JZq)S$K8HF{q#q#{Jyy-`Nag| zWe;U)9CfyPckP(?ZMPzOE?!?b&XTI`W)t^Q?3%|AfiLynyU*uQjOauqabv5F{&=H% zb3181e!^@%{e_^C^`DUkP9wjzD1435ot?e~j$I3y_m}MrDhL z{>1`Mi28<)$z|*ZX_QUhHy8J{d0dBO} z_P;+E2#5p-8f_nskMDkQHJsra&vj^A$5vA5^GjQ4vMuZb1KmlI!)5#|5&D1~(R}&C zZaC}bJCcc1r^ZP~wWVGyBw63Tb?`a9kG_?|4Nv3zkWw>)l?M4rB@CB;Np`c{r^y#1 zv72eB;TA7ua}mj}T+T!+;5XW*(I5;Cq2F${jDU zABUN(Tjs5~2-R3fS84w!Z~N5^Zsk^>zHV!#+gwA1TCH2!iBvi(gtno%wZ6v1sn$xp zh!P@=TFhgn{O5ik_i$tNk{f1*?3W)0J!ptqNl<2L07%h(UH1sPjiKjUuXbsU7orn1^=<|&ZNNOSq%1AR}G!{ zyhutL{&32tL%m6X6Tj#8;)h2rGnE9t@Y?ZdonUlnQFs`f)Ysug#G zkplDdrpd7a<70sA#d0*rQ=~mM{}InEF{kzR4%f~UO3eE!w-TGvCEJBjPDrW7UThCx zUODb({f{?qWY*!38cbz2FQR1DNqrHeF11yCco;77xXzNixUl8A5I%Br5N>^NqxWu>mu@!6KczNP1mjgXgsFXyjMTW7QcE$+I*$IKttZv(6k%q(c*pY z{J2w^8pB~EU%2SgF&kZAxW@TY7Ct6Nx$~%+1K+iC@;b`e8rvXYop!6^-Fj5vo9pZy z_FI>=y5?TGLY+F*R$Ed1Xgqz-UF_OsR(hwM9k`ob3IR{;t~KLX!pmV)Bd}!U5YKF@ z$##`P_sxY|DJQ6%w~jycY&>q0)mVFx`@6t`0)~gD>v0o;G;U+hjAq#ts%rLJ(_h zVo28qwNJG$jo3@@fznFQLTsMf6Vl|Vl{gTRlgVF_&N5Q^SCWkd7>%{ob7l(;R4Yoj=i`HGnLdId8RL9Fd3+NKEJ7SG(v$ z-l;P35UUI`PkUy(`~Y?P)+#?F%Gr*A!pZ<;@=~PQE+y%q{(@t}>0&-1&!CXCU-|$q z={3u+zOS_AM_0#x3^Rw1zJ-I1tL?N~n<`|MO*Mzkd|h&F(`b=a)B9Z1gwW(x>UW;g zUygXLDZ(2o!+tosEEF9$_OxD?S4ZC7wa$%qBWbhNs>U_I zdZXfdNbD?pezCjfR=z1a+KzxRb!-@}_+05?k|`mv1gRxFPBQ@d4@&Th~ef!CEB%Q=;u1|dK_;`$aB(^vGs zL^>QwwSAtFD%B~VaM*6NMbZWN{!Vg)oHCL))v@j(DWyaGEP>D#*4abzzN<5`$1v=j z$D8DB3NEKYlu_Po`+B(HQzz*{W|{S`q9c-irUEI%vx&1vH%9`V)l>@0dP2?ADo%cX z=PaKCBh=XWSfZX=6i+{2V>V?;p;D?^)mMlxxIXYkWy$u(3@AdYQD8ai!OFbJxZLsX zbG7n`O%(mrqU~FjVBWK%DwG5^TsxO)&~$d`9L%_=6k1rrZFf-#@6Jhdol=NMz-*W# zn`YSEb9-r0Z2ZqsTUDDtyvwBityOK+B0|CCzaB zclY)$*2f{WRIoj!NC3cpuqUQ)VPO;vyG=0Z$c52OXs;yAdAR)tT0i3LU z2%LBKvBsomY*8os+;EZHx>@SxU&7t+j0b8)=~k z_UUkwtO0{_VO9So#Z~&_)qI&QA}O3PS20W?;^|04&C%gUN7?6OL(?Cg_jwz4I}&Hf z_U5*B*~>87!&Z1cI_-8wkS)Yj6?bLwqs8U z6|HL0I*k}ujNu+FD0-g40pa!%dQ_CQ6Tz%Oa~+{*+=x)ELU~BS zU88>5p7R=xc5!L%Yt6G_CS7c*PG1R%yB0NbUQY>9zsiwU^p{mZ+QUv)UsXb#)j`-`_nA4+#tl zv?o8=Gow!Ed!sl402F}RHpPFK zV`x5;En-SoG8oA7(3yCP{FJSM)2ft zb-x6Kqe9p3V#K2mw%=3;^-V1x#Sz~`foAE4%COy_KVHHn-i%VKGugtAU{+eKp;l1? z>5rXDZsDSx?4rs(`dXQZn1A`>-FI4z z)e`odlNAAcB?!sZ z^elx<^SLD}2t7>Vo2Pcn*x;Uz?Hhf`6n0{9i2j8;Uk=IJNXpZ~wA)w9yIw0#sFzl~ z&(M3@@Tns%Y1c+vnrGP>eXg&nv_7H3wr6@K zWhfuchmG88T}a`~CR_~cmHz__8t^gcJ=&C9UO9&w*u+_zq3 z!_G3OSac>|iXMWNA92_0%gF8UuQ++a1YSBqnoFmLO_%+IQ1XNfb*NG+6U*`Rjf795 z+g{^0ZIf#ghB4~2Y$Ud^qfr^j9GH4$tbT-qe7oq|&5T-iP*V?L9L+D|MWXEaYSSFq zcJZ@N`34QjUrT$0*$pv9AM~YlopUWaYdF<3d}ooK2T4`^U2seN5U#4s%S`!)o^(s7t`%~KmHe+Tx$DH)TGTPsBeZO3*k;4sNRnk>?j>wF|1>GDU&oLP+nR$utbcH7D z-YPEw^pSexb-a)Kn}edhO;c@kcEf!^6$xJIKl7B;uf;~qPd^lPo&{5#1^1&h6OWuV zFTZqE8IPEE_*gPQ#XOHLyLgK!+3VeoNfBKlP844*^T@|8L*}R>D+(TxP-jto32KMU z0)ohLkfxI5l2OZUC#`;CF^?+-@y$-=>?zV!Def1CZ+B!eoQ~Jixr|33^JVy*7W~0t znrgFn%w>Gks5tKwfGl)3NwKktj~5L)w{Ej+d--`0{Q+(px(xi} z!Vhnr4ohkDy?pC8?xsgoJ&E{_)W-7i^?H|9Wrmm$RiW%U3~KL}pF7KnuEsfO5t`4U z%Bj$xaa9TxZj=s+orinQd&%OWnX2WzIZRAX&b83bi8?}8=yN1XWfI%(E31rFDuntU zD~tj!>NuKd7Ti>Sbg86rKN1q3ggfl9@oCUEE8mGjkO}_jgRBa1^7w?Nbu3sX|8=7i#+o=m11rg*Wu$tUu-5 zkH%&sBEN`b>klgBH%l0tbfZz!T#Jdg2Kg4hK*ZG`d9 zN9Z50U&1>4Gzg~y@|hMXjWCH|XZnbdjtiU9zJ2z$sYT2WpTkYc;4kYIAa&NBDEJ&+ za;FizNTo11bj6*+#D-Oc)w>HRH`0v4#-@?RZLoBI}x!#mB6L;tTA%2<5=6^@UMCueZ4d*ITm>E z$ck=K$d~i%v&qG-dxMvssUZ$>J4k7S>yhw=6#vr)!pHlZe7hdpmQ4iIyGAS*vKX$m zjTST$g=w2I35nxS-DkPEgb*H z>qMHPsqWI|FWnSh;Pt3!DcsSb3FT3PD__q&l_s*pw9UUsm3eOC(!jL}Q6XAA1ap1{ z#^yb4wLrH1rq)wf@hiV$cu;z0RU`Y4Q}3f_?nWiJ29;Ewzcf&sC=%wjb_%~wcf;&( zzNJO^EyZl`9&ycX$#Y2dU^9Dh9}QtqI}3%XMd`F}-!%fWM{2nGi>vm8`i>l}Qw}Ld zK{L{!Yb;rnS6~yhCRB#_QZ7xQdD*utLMCw+HVz1*qO_Pbbql*O)Y@fl@9}2DhC*D> z+IQnoWy7otKI)L;i8!TJ8cc&N2r0PR(E^UwD*j2YVi%yjUfwaDb3kDwkzyHxzk!b- zlQ7)F+cH~*9<%l0l`YeeGrF^e=>4;m1J}rXkn6*pypiAThUeB^!PhN9_pmL63wPnG zS6ueUnTe+~jKbfDZeSeXMltpz3tPp071>pBJndecz09FbUlytZ``xl} zd;<$o-f1O?XU-o>RiQO|g;USgvVk^2PGL-!gl1IGhn$#T6gy7~;xTn*=tQ~YT4aGY z;$Ib+w=p9SJ8;vOh5j_tfj(IEf-E?=Zf84l7qON>oHel?$W?5khiJ(&)w5kIhY&Ww zV@YokT2esZ!kgGr5jH$lEL4?xN3Yx)I{f`2dRv`4+;?DQDBj&a?%`OcXYe+{aQ2<) ztd!@SSmx3X(ZvQC_$<$%SG03GCyJQfX}q)w?a@ppeVsZ}VKao%k>is`DZP+39+*P? z=lhhkC^b=B1bk6Va)lvP;JEfVZ=w7}*dG4mZ9SBpxrgW?6V;`#@@4}YGcz%@jeU^H~b z+utee$hd4p}1vpc2Vi@E#+@u16Pg>AR&W?Od1kJNnxSQbMOpp0Y@ zg}pyM_f@PP<8O_YSW6@*pE({mp9i^>I$6mn|2+Nlrhe0r2Rgk5d5O8<2JXY&E_5}^ z;Hl%0t|B9e_aH0f-35B|Ia}(3c;Kr$kA*l`e9Xk}VBcxu7ufp5P>I0*^zrc~5iDHj z9Ykl8uaDRn-u_z)fIm}_Ph0(6WSJLBH@nXoVn*I7qZ)-ZQj~Dnu>ZxK|HtT=NLJkn zo8_M2Q5t-x&R!4U*nM)p*be=h`vQJd6ZN!p>IoD=qP~^l%)0EFm&mq#9L>t|&*!5O zg0Ey8yy@c0w+g>KI6Z&MA=HKHU&ys-Y0^k+E0E5?dDbeF$^;V$_ScWM6htM7L-S!6 z_CH^fEHV-LcDa+6X?#QTpYJB#fe$XZbiB(L@mHVp9|!zd$Xnj&<8CGWU!V4$hc}P{ zeTk319rd?Y0sa*H2rauG4#PJ?{^#ER-?bAYr9*Re7w@0O<+rGdNxi2i32ym=sE zo0i7)2>zwz-F{%X$BAS5TL01nYcX&6dLHf}(%;(jhXMK|B4@)$q-W@)RVkdn%g0`>P7U|j6~Gh6XgNKMs5 z!e!wo9-B7gRJQ+Ex?m>iT)ngq2y%aw3-sHK4Zm&-6kw)B8X?Q2p;+9rGy0#MBHu!? zm&H~Dn&HSC%|dv2rh@-(zCf~qW6IYv<*yqWo}+FAqx?Qq+DT=(V*E63n&oT+e>e81 zUk`{u{Fk{FDHsX^_!1@|_W#WE-@ozS3wme~L%riHoEQlrNeBQ>ArVij28apBodXcX z*>asv>AWt$C#$3nqEZYD4h0V{l}sXf?tlcO-UbNK0BrX$%w@_J6`M&aH)3#9S;#u8 z$c6eW!KioQ)KjvCb!9Ql^|`Vz{Yff(MN$&=QdOJsrERXE4;2>zjSdR1XfcZsg(HCO zw{SDLsAQo$$8qm^ix`o5yQU0YbSHVPsoRdBd-}cxqGQPM#rV7EH*23w_wd+e=cUOh zwMdd!^Cci)620@=m487&&o}#N)vBh-byhkm^|}H8P@KVN`mc&pA4o`_Kj`j^qya#} zDqJN1jQLsVk{c*^bh6w^j5wUkMgvri@&eEqITA6pn|(e(OX9a!tdtaJwN&T z?^Rb(=4 zU&RU&>HUIos<^LRV=@k)Q~{W&etgr;Xhu6An*hLA6!x#%<7&fA0DxHJ&yvxoN&u(Z zQ#55ci%+O81h$~D(Hk*Kw>gs53;-q_NR9X?PqQ%?pPNHB zQj&m?a9VcBm(P`~Tw+_G07ng?@*$ImE7_tJbUV~bylaI&V7Lnzi1sCzISu(-$$EIl z65EF$>~iJ4DfeJy-FeCQE#%R+KvO1a{x>V)Qg%1EaMZo>m8bFT17d8VZ69D$t zm9nZ5%SfQA-4Sa9pkjb7AY?Xxh9~**<;$a4Bpy7_QG7laX@*1a4O)d6J*jvf7PZ0>RLtMaYb`GnC0A@tmxqSXAMwfxXS}1b)Xj7Hh@v`ld%F| zJ^-e*mz3HQsBZ{BQQrHmt*rrAE_^^pVMum-9w;oCK&Meh%Dh@*-R6Erq|OV}cyyI9 zK^{gV=#7G^Tv2MxmLMU zeU$G;6DW9Q5BhQk$8utv;W6`MpA`ZE2pj+=xtAM^a|TWqfKQ4tiZHkuqI`#4hyU{6 znRE~Uw(M9?A_t}u1_+aE@SviievVJA2jq$XU<-iA%oUHyvfrDKPG&7stt7GNJL}Az z0dz|cd0qfNbF)8f?r6}#6$OAL_lG%Fc-^jPOBC;~kBZ$gxa{7Qs8oal)h>OLIBeSi zq)rKG+k3$8^b9I|6MD_Damfv5^$zX4Ae`X}fVu)mPddCHN}V=d`Bfa<_3mKjUZAFg zVwMQZqwpC(_HV8l52^-t<5N&3^XV4PjP|0jsNOjknZmsgi*Z}@o;cpf8ZEwgyC`!a9U@Ys~FnU*lrB~+A4&dbYzxjU8InE*eph? zv)2GZ&KeA>mZ`*F+t4)tjzz6nK{Ox?;WHH` z{!PfA$XWQ>yWxvS4p|P^Gqmf6vd#G2EFR}mB1WNa2-Q0PS4e;KHCSb>kM`vN3B)!G zjQ-;2YbyrbFO2NzK$*uk+jCN1X4E6PZ*A95tau12(`p=#)cZ!8Iso8$#o}CQC+YKg zF}NIt4Rj^r`*z18oa@AjFXHdfH|xx%VUJd&JDd<81iIb&)_{tlfNDYqfF3UO*ITL@ zeZe`&UvBuWa+RB)-RVA#lIQKkioE(BLC3PUY{Rf4yh|7M*Q^3>&~A1UgT;u!b2+RA zX~w)L_dnxP;~)QA<%Cr}2-8?V*+G8@AErJvX>}oVNz|)MN3QeA^fbCAd|k5Z4Vdu{_kImQ z?si?%?RoS&^E^BON++RQS&1u%DHD?y<`lP@kd4R3CPP@QJ_jl_ZQYbpRXy`4eB7;d zH5f?-He8Lj4)Aa__YCL`?ofvz=Sh&_M2;}GANPAs9H2+BXk&-Qf|puc-hRgN9Nx%h zQ8d2gdjbe%@7LU4o}U0Lc84s+m$GlJ{*UmlF(F}gs|Mof%+r~smSj_eU%hbxMN+~S zx&hJ|rjvR8!*qV!eb?6e0dKd}_h+VwWmdf@6RpBs45Y^YT z1K>mmJY6cR{xCBd+`jhuTE=bE!~y{Xf*gj;Ua~gT4;UG<h75VJYv9=DBcqBY&|%S&1q0TDg7Ztrr{y&=5Vn)ewVUn$l~ohP+}I@XlKlAV+8?g zE`dg61O#uxrQ2NgE2g;`-hsPh*;1Gk(kXp2cti`6FjB~g`1PdGN}>^;n(#WNQ6R;f zvhle2F8b3^qDE&rT@lHI9_4arSt@td1kcTt;(h>`{*E+)5Syl|rRrIMZ{JJaAW?=) zGzE#+f#)3iGyz|S*nEeKt^G>&PTx!C+9Ji<(uwDW2*Wjoc!>5;O!xFdRDT44H!tcO z4khY=gdd75LsSH!+N?C>t@$5IwNYIa1{9-`4oVS6iSC?=^K&L0Tj^|*G4Xm364<;n zxRcLwSAENL+*NXc-9;W7EOU5aMDja^Iz^d{Ffh4CAV|`A*@eV&rPD(CRt#H|j5DU? zA-6<_*e-vdSwDA2&^%uMFm2g(>q}@N*^%3VL76%wAyOpjmf&lAAK$-Lx2t6iw24&C*u655`kpaJ&Jw4$fq&EQPpVO&+-eWy5q{ z0Jv%Zu}Pu4Sp)_%7MZq4X67@%%0Th)p~(SRKAR2wssaj>;WZIEl`{jVmBiE=F!YN= z4qbxy(O_h-If4ubP<>;O8x+lsd+@g?!^1-kq2Y&cVUb41?Q zyr_Dl2;;AlS%V0Hy36lj0|J?{%OT%6=$ko$%VQ``a-*nTx~`22+fxRk2Z}(o0AS&% zSx#aUxc7w`3SoCTCiynpuZ~t%Up))$2hcd1q+iVh_}~k1`YE9?j!29AWUG^^;CU0} z2B;`SHdW^OQ{Q6fU!iI z+W+*tasNWnEvZGZzW@|)RHIO!$}=75=9FXb+NCH&aBjI?EB=uf%2D#>p4qKh-i?IS zl;$p^??eEWooJt3#dYR&|SH$jbC+Xh<`@$ECE@pZ}WK%Q=xYg*0s{n9f}FviWO5xn4GIy%7s=21Ry) z%%X7EpeT1S*%nI-5iaI6o1%o)0!|rlXng=n%=dv_)pMU(J&&zuBfkzsEJrT;!?qZH zFA@m9KeoRL6B-7a3i)CTb80VWBeS7Sk9|nN0bTf%MN`7G5^|=xLNsuybnsw}81X<& zOYUVFqj5V{FhZF38Q4u<(bo8Lgr$1fdcbG}=@nZNZx4c!MCIN~R|O$4-Z8xZ@A=Bw9^jU^)<7om+SyckC{X(4D# z+e4GC$dWj1HJMctSw;?krX*cksatWV^ln>sw(1cijX=wC9=hzH%-u&n{Vg-oH z8d4naWae!?loMV;kuW2cr%gs1q27*gYTUmFa_57NKdpK%q^1{K?1;i^dTU3n4S zS=FL8qEwiVYby> zIU>h6Vbbw%mN^nUrrJVvkECvO0~_dJ^CP5;gDO1y5uOw`F4Fh)QC=8>FUu+qoX&++ zJM!m`?NU>9A!_>pE?n?SDC&G0ErxkOxUZWS{8KK-V`8GjvggE#@+*^~CE{1;DVqjS zc-W)8$$a4$_$PE$E8y@qGwE_Qt)ll}_EEaHM2m0VzCb<$)x6_Vb4Q`N?w6zdPj^~OTV)l4pIFF{Tl+>RfK9Q2E&kl^_t0Fngu()*cm9YQFC zikH{e1OZ6M`NU6IC?!PKjjI^oLJesvZW$qqyNDiZ=wFlufx7PjG{=n8w|>IhXeXQp zJ}gA8+Q_9gl0pfyR6Q%41Qp{9q-2o=FoH@U5tCzW5n}T7lTG3+t`eS)nueVb^~AOt zOj;E!PyY6Wxg)$8{Gb^B#RP#M^;3ngCWNtqgGibT>BhDbN~Ld;Z~NE*85dp6R#2hj z56zms(h$K#j~CqB`oPszmr}*j9ob3CPQOoaBX0-nhUW1yGcx!@ub>f1*!D!*O^xS17(%rVhc^{OdHuo?~NjRcq zU%$JdBT&I*Wd!rd!UfWZIiN&S&30;RI)N6$qt6a)U{D<1u|P_Ws13%M+QHlqX9{#0 zADZ#Nh?&9TL~pNy)n3;<(_|h54%Dv?z^8p)S7G*K+JI(iVfwZSP@7gKG+)dD)i`Zi zQ+O0hnivXEGSp+N%+V(h1uERT5xj+XCMeIsWN*5{JnL|AZomjdsK68iW`vifn8>JN;l}@75FFlysj-cXL22 zx39egPaoAa{er+?A&&iyphDEiwM?TNzfFX*g3oH1m$$P?!>Wup{N%Na+D0s=X2Kpq zRUi`KK6(WC>fE<3UEN*81cY0$HyQ$SFkgJ&+0k_6kXFF07c=?9IF$~2pS<;hU!{=y zcoRqRMZ}hEy4Q?3^pXi8``@EweVOq}PWjT$VKHLEj{y;|mM@7}!P9GAw&kLU?LZ+% zVVhxIHq~c+l;@wdZU{-p0MTMbjK+}9tNYV`-H=?(7RIe0bSIm};iX=ZZH8!~VzKP! z{3psnw<8jBW_CFKLi1QG<# zr|j(Ay6w>|CI&nkjt|fW-dOu|YbglJrPifrEgHfTJ<00<)O|)DFhjc|!4${9LJZAT z+FHNO1jyiuHJ=^%;@}x^CD0u~x0m_-WaHI=?Nd-NLf_Fkx?f7!E6D7mo^ zZs7a}&O}}{&ZW9SHleTjRT|UzUhx3R{c3*PJB<7g;$ER=C$tnk)8|b+r2*ucAtj>G zE>W(-*Dc8J*s{p0r<3%W!LFzvXbWse81}MXy+3^grM25)Ixva#j?ERv{b+8w+U1f9 zss`~jZMQ{p=BHIL0)p6(o!GIUO#E*PaYJb!iQ%MwX(V? zQ*98Vz8~azLPxe&R5s3Q&-;xbM_^N74gFT0-j4<=ej|{d{^v}<&#}@qUPez62JIFs zfw8ENg_fFqc!5P5J1oz8;pG5UI0}hh5!inGk)>v*SVY5?@^#r?*iK1!Xkb&s3yy)n>RfVMQ?1%%u_k+IN3^w)*)rg+oEPBSQ z+kAEb%#98X$Pql1qmEN73Ke{Tc@$QersP*LR1egbIAj9l(Ruh&d>^r1)x_!`MzN#k z=sOf^k6*N{3c(W>|Bwjt;PZfqZ*w2yAH8B>?ZSZwZ{s=lQE);hfpn5i5^mg&&p&L8 zBdn$Lwc^U;;Z$@Yv}V?UT14H!$|^Zl{gH}VNXbkg9{ct(yn3TJsCmrB-fOHEK^f`-vX`gF*-H6JP=EB`BT8oRdki9k9 zN4*aIRGt(P@J}#`115Lv*I{!nPvP2}C0fVDUVgh7%xHasXv@>N@X6_SMQp<~``<3eK6ryMPx)%Z{EAD9H zl}*&XNZaS9-*R&{D$-a{P|nmjlu*3V0*uI&j=RTahU(%JVR4+^c6N~tzsETq1_7^m6(h<=kSe05kf>@sPIQ=?(O7U%TiU70QidH0&~<5wJccFC_#kmnqLuFm|1rpqyqg zhC*}pJd`LxM+o9Uh$S6jtt=VpX$q)SW|?n)^Mxr%Ua&%UhpW?N^Sv z0t+jHC)eWJTHL^~-CBvD51!UjMWE_vdhDy_%>hv*JodRbGZ;KTVoRH=O~||P_8TAd zx=WvqVw{7SFyhPHy`zm-iowkhg+$gdmaw<&93mot%?jIXN9Q7R#foQf{$d-szf^yS zu;O`*mBErN>54@64qoczS|nt~H5G}+ZaTkFhSNdbbnHC;=(QT|bP8Js_X=o@H%Zr? zYXPzQ+z%7o3XPvzH@q|>YSb$_j)F`~JFd>6jC^p|3x37w19k}&;(MY*9fC))8H$dV zXRTNl7lXk|ZIIwErI0k8aezr~7TGY`O7n@^VMBPWLNmQ}qZ z8t6dJ4(bi1LoPyw>r&|J<9>c(PMQDDB5uj;dFE$lIpyjGoW+{yc3#t zz#FdV2!ej0*;!fFMO$o%_cH?W9?G*;5xrk86Xas63g5j|LM>MhkP~&60P^q*rd4#m zB_4fDkiGSd{RVeR!%HqOki{FJ^;g~=jY#r|6gjS(6z4FA;~1f5j9m4ve63Yvd7-Vu zT(Azi_H`R5ZCXX|SMPvF3qhpw_|um7j5{9lwou z4H^6cjze!MjQDt($?G7YIMQt?&_J-v<)3jHy;e+cmH)!Dta<1>Bp2oSw z3yVR?r3IO+lkkpOb?`ic_cHDcwJR0}(FVWNFr*zx1AXl-N$*ffV83T|P5CA|PM@YpTO#g%E z2xgH*@+EA^)1+>*wW#Kg64}*L`4iAL-d%G68Mr)?aZJ|IiU8GD^z#reGKv z>#ML|ml%|$Fv1?rjq}0jFk?v0*YJtlda`war{$PjyUkU4?0FT5L$xZ6YWpEO#0DIk z1fi9NB9ZsK57S2rSF6~@>E;5&8v@Ekh;xoUnqP720z4=@NGV=NEFKGQai1UIVJ|B6 z@0&l%8&+>cbBMt#Q&vwM-9hrL9eRq_CinFfp8qswr}3wb%oV_*Xy~FHI6cZ>zIwsd@@AEXD~`Fveirb>8}LbZQldPsN1Cor6mQr` z1w#aXST5+qXjmO46l~F3PX(fFMoJ{zpWO&5 z3f;8~S8I`mj4Z+b_y#&16F7Y4}} ztR-_eH8bbfzd7z)6N=JGz*Q}Hu>xgGB@cTG+lGvBODb+=OZ4kvxJ9B6#F-QT_n?FEdvn9#Iw;pG|iT4FUloAQ!nUdAdD+*Q@?BqBEve7@rm-E)LDE zT+s^geyI(;-Myy=uWqM8B7xt-^)Y+RDAb3Ohhy?=ffh*xa>6wGOoPaZLhj~;zv}36 zK@BFLpa(|6!KGcY4DzHSIhKOOwvmW;_6QY$1tP2?Z2>~Tjx)p8+`b{L3w`l6g+w${ zniSLvm+yL7`^L-fv^D_u1RGfX9wWTPnm~`@$8w> z&MK^qC42h`F2UX19fE6ccXubay9Xz@6Fj)PI|R1`cXxM}uQM~}oS8Xu_rLq{aM4eC z_wL=*)m7DN{nq<7s@g*a4#L5Eq+_y(^1TFw%MO9f=JBM)PMI^uf+3^&e>BgRxdUU( zZ>pfIG~5oEt~O@)dXObYY|o zN#d>&wh5pPj_fvq5e?TN%{DV*Pxf<*a1hZ~hu5(b813T`kH8{fFHG6;=b*Y{VV;Px z|D%ul3lOcxPQ!tUU?)ADgd3VK18u$daMEL-e>w+m)||t1yLZt_fCCXt)kKZ5U+c)q z;42$#DAEJcTeTd;c-?Cwn?ph)uYA|vwmdON+5gA07$fiw>0JB}KKsG0h%`nYs>@r` zkGkasS^wOIrwjb?803Q0v6I-JgCq*bJpKWzgM0zNKtFYI__)9R?_WC!2?2}=e$Zqq z`|lLr|NXG%Z(Tr7eD?4Pv$fNX{n5Dl7b5ESh73$dotC|^u>h9I<96N^344)JcdYIT z=z;)tD-P1p?FmikI>%$gx0+FDXhSi}kig4Hoqc!z1M?4jmVC|SSaU_?PqgK z2JSZ{Dl<7vB}`at5bd!p9qy>*38?#Z_V}!^&|ZK$h~aiUy*`*S10*Z$y9@zD1<;uK z24q|T(qk)|+X*ST_G=o}Lql?tM(k`5O9r-Xr(jYY6Ry__vc{!}BwDYip|1B@8mo=Z zB4U=(*__5oqhjG^s?ln}FTsO|VwU{%H)}Zj2vS<$Jt1LL#`uBfs4TcWPZ9miK<2{z zcvYvHf_8Ky*hqb4L>IJH6SvG%|I0>^1Yrx71#OCEE@V=#`Vn#O0k$XFLQ~ zSn%77thF-utkr6_FCTcbrr66R)5lUpR%#k?17oKme`kUWiSO7ovdD*0&jp%NfRZJ( z060#Rn@h(_=)`y1CxGN10P~zr7c2GSibdnM1Eb_`)m%Uu4Uf$V^W*oy-}-`(1YY_H zpNs(^TpTtl#=@pBq3sTrlW+7@P6vv0y9HI1HJes09oTl-4Jhn1m+FhCiI-8z1{5SsnAHG|FL3(tj4*OQAWQc$IS{46(E( zjmMKWV@W-IPgU!X|CP?%sn)EUUz@6A$c>MV@3Uoa@0)DvdwW(qrFNDuVHDfqnLO5E zB0qCQF#FOf_fUgH*W-ASe&BPW_;~MG--uAb*6cl$Z44v0`jLu}RT}ZzRiovO5X?HQ zFHm>_(#?NE)wp+aD3?5lyi}|IM2a{E#+ODMpCq2E3KSwg{RWW!fopSTCw&bddk@&g za=Xw1|9oGcoe!s(N?R+nn=b)rH9!UDgM)K#Fx)^Sjw{ek0H>9~<9-Qf1Ga3yV$cgX z00d1P#JiUS3;e5 zTug`5j>Mb9k|BQ?=daVHF$}>|8Q+RFzNZXwlNy&q2R53tmvW6Kz0~SffuxUXPLw7E zb;t8JhRu_#?xPM}tzNqy>%&bo?XO#!rPKSQzzTY1VO0m` z&w~_|0Yq*D^?~dvAfMJRRIXXS>b4aLpl<-(B)CVE5AbB6LWFuvc0_qLnBQ~Hfw?vu zoi6+u5L;3K<_sOKui=Vw4mXX`#&(G~QU~^It?JmmWo$TRG?UF1r|dp!AF_hC8O@Rd7S}SIKiXtyi4wYvjbNV!{78w@n$$L zpE5@u*Q~U&EZ{E|x;b~o6S{Tq1HDdZ!1&EYB184?WBr-ojG()n-mpsYae*V`Tm>b| z`WEDlY!NCo71^*vWH55Gqk-N_7yUxJ2K;H9S5UsB4wdR+$9(=(jdwd3xYU@a!(PKP zlSb5WB1VXK)biz-Vzajt^-R*}!uAh?g~!U{H6nKy@lC4@>R}GG%c#l?L1E=D`E{reu;f>gLon zXY*oJ{sJuoNY_$!i!(N8g!oO9d=DWi-F_|yyrm{d8{PPtnQ6=D=CTw9cUbW~jN`8d zX6$-cI`7tUeUk<|tR0TCx9N&HGG!Jyd?WF=&$r2(%KA`|#eV<@KE-C=-ZW^^yX$tq zim?A2@UL5_D;~350}$PEoz@1xM*|Sl5_&(l1TdNef!4fpZSLiVp~nlgTOSxFaXx-N zAEL;*K3-sPzub;#;da{3hCS*eA|eX*y##zs3gv8>T3M4Xta%J3#v98v^Xp9?ShmMg z9xs*;&L!fBH8KoSrN9dpJy|Zr7=1$Vl?+)xzz%c@1!4Fc8eQnF{n49a>u7+q7`O{G!+Pb(ZSBS*iofnaEqdS1N?jowW`5m; zl1!%Nj2OBhshfRZ$xn)B51!z@mYJK(fY*8PxfwDkOq|vs_WXJBWRTTJUm>+Sl1}b@ zXv~$F{rXy~&UZ}Fj32K;alCh9iU2TH9WP4QjSa>xoGQTxFqq8xm<3r(x@dzAx%hv|wo|bjcOoon9MM2vkDQlDVN8cOEaP}vt2T<-Ig?e8LIPk9{6e!@gu%`hb3^`AtDN-O|5x{y) zxM4lr<_n?S)viovL5gIF@@)wk?vQLe`Pi>PKM;V642*3iat31ki%0?hw#W>ql>)M7 zz!an1;ni#?lD1V3z^`-OIfej=JvL)7!2=}V9AP#AD7#uJ>@+uPl)k0+HsrFpj@U)% zNRjm}j0TYSsKIUF^E|Pc8*X0Jve(9Fb!Hf)^xga9b~y+-A>Qo$mJ{p44TO!|+=j(8 zxbU#I03*M8>dc3qeM`;E1+Q0KXt`d?!W}y9$Bm$Bmb=pIZ#%;(HQ?4QdDEB0ili$p zm;JNia6I@Jr)^a?PEf>aw)~yN>KwNrrRPZJudcTI*%8joJ%ZrB&iYl&6Ce1rUsMTV|^T! zCEba@(rooN+*J}pO)fr)ASvp^%i#xV@B{v5G85{h>rerrr*OLrijzE9{&kzmef@g~UP3p#uqM^2X*Vnig8zYOpxaV=UH+h|3S z%++lSnl#qsqUiLZn4_0^V{>>3S3Gy|(skHTnw%?Ot#OIOwqs!INl0g>csAlbkh?Ph>92J@xsoiK77!6o-e~?Jh=ISge0F~iOSe^Gvc@9eFC3<^W>DU|wr)Jk+zOlie zHpsHPJHDm?HHwjC-Co7J@dnT#3$ryBjmr?+d8(D8k>fGRvlD9JJ2Iyk_$h!G0g9M1 z2GP@}WDvowB`gY+{3Cu#r(wn%E&u%a6A&!ktaFLNSgrXt9f~8c^;YM_zoce*SE|=j_pNU2NBn17pWCJC5=p;A%^a?$BQ6 zov)cS-<|OSt{8nV{i3r%^2eG@+M3hn@@B0G1kaMsUx$`{9Sn`Q+Ec#l@h0O!+7VxO zAAOCIUa&LWv78yMi(Z{wUCEytB`DBubDl6J@cJxa!4}I=xSOx*~d3Y zl5oqF2?K7~`K)^nOigNduiRAKNG39=HA)4s>L*;9EatYlQ%|&9d+Ar)&*x%~DCk%4 z7t0uJ_C(Qbm@8v>FB{7SZ{vw(V1L|G+NO`K?L&n~86juai26~_;}RBhaH~GHoBjH} zrOujg1$E|ag4TQyN-}Hfn={E?mM}G-@&i}*wTs#^b?R$!JiDl-uuWd?ycYLt|E)ig zK9+8M2hUY_Y&LNWy`-9AtRuyYo}-^;y(Pcp7kj~`0fDcB`Su_2g$uhk{EGgg~?rF zH~x>7d}_!wZaRk}!-L6@r?nzVFk8x{3>EVk*h^ZMx63>Uh|ziLCd4IA za#D>NQk>PY3qsmwz@+BI?AU(${mDfV3cKWm~w0aK$dXal#Xkx-HR(CRo*iKe!!Tv%_aj z;AUirEU@Z!;^C+iH?*fGc(=uQu)uMyQN9Q7$hhJs88QEHN)v#A|Grh3Y-9-|#Dwp| zN-utiZ0T(6L|-iiLr%PEiZDo6EU-NK(R7&ZC`k4*R}5jGIFUi`H;g3ycCCanH3ihl zq`~%9;bNbWx^!xck!k+`1fwCjuYfTkPX_0qbxNcBczGi0~A8$KZ9s(5cy|=TplS3+6-`WCf>3GtKOqiQq*|3W*#!N|~paSRJ zm*|C8drf4cZrmEox%a$PMIU;9$KTulnKy*2+h^s(4^lk(vzvfgVW1ld& z+F81xu1t?LBZ0Jv($V8Eiieo8QB$ptI#`5Lach!+b@S^z zT=PY}|HkF0J)R!(l(dC>+jpM+#FQp{FE~Y{MW5z00LfcVRts*Hcmfjjo}^123)C@T z=maK>p#AgI(Z!JuFQf^6;ha6N9=VI;_bM7!V|W$PU-#>4cj)%Ew*}1d6r%35H)3$~MG=Yq=KL3(R6pN9q)JZXk>aRe*(cEz+~B7!LXZtc7QRmh;5}%3 zP~yUVKVcCjD?p;Qz6B87eM52Pk%=+-<_)7Q8j1D&dUSEZJv?DJ8kIIann2MLEb4u( zGq$$1yr6T~yOWmN$WX)F~4aKYV2P^l#9GyNbz|W3Q0PU(K6YzX5 zx1D?e!l@cEx{yDMVo?csdSr-vtZVgg#xkaB{{0!->e5d{lPUj+WTELGT@K3^^^MQh z!7>DRjIIMQ2fwPVIY<~G+1EfEnebd`%eco5%fys_wW>YZu(i&%c|xCHZ;(Kfs{Rh} z9Su9Kk|Ijz19I>jH|>sl<3QyTHvB|;?q(x#qnzm;Ui^LeP9x1G4D7g+YeihEY3!&G zI)U@G=xz!6)Jy0)rwBy;V~{$>m*66V>lu!mNUa1Qom`kB-FSt?o~q4cVxCX}KFF!LhnJZ^&wAy|gt6I;F;Ka@spvNnX{myH_tNmmE+5FBrgh zPnXMO@dkfZkA;M4vWTpbbAmZ!}@H?m7z+^Wx{a% ztfu?ZfaD}T{_r!Rm?Dt_iL{1|BMOIN-K@^e1F--~W@qT+dGAV#fvoMv4-7xW*p?zk_9$diOp(Yg#ES^KvM9*H}(%wig3OCX2WDxV?54aj@b% zDY~@$!k^$Nt0N96V0vaJ_p#m(#(1ebu21I_P5QuK()S3zaD z7>-j{R(m95y>6<>3wnkSQ=ISNufnep5V;FHGEYE8~1WgUnI{f3KN}9n&N*$*Fu4y>41K+m-{4s+$Q*#B$dcU-4Z?rm=t81(iImxJD# z=kcmm01w_#=UXl}!DzWnMlDvx<~el7kE2lQKZJ5wBg|VL>pu7Z#$kGAO^Ng1uvy?y zJLkOuPEQ@c%8iR<(fAw%SX=<>Qr7?IK>y6Q5ROB271ubde{jA?p5@z{h%wjGB0vgo zf-@V0YUw|k*aC*i|3RJd)Yjx*&%@Mp&wg6U(Ey;9$WamFI&^V19(V zJzlBjy|0}orBlMlkbr6b!8wt)^by*6<15D{wnY=ep>=uU2HY4hG<#=!vIGRcv z;vzLh4q~S8v%Fl72xFp1XvJF>NKt>(R;5dr63h2SE1uKVe}c&;BfUzS14~AZPBE_A z3xJw-Jx7IWJhZ)uai7ZD-#Q#;Odkmvsdi~kEM(_UesZe1CZNV*?yKY0-sN!%^kSAL zkB}b|RPNQ#gCgn*@~b^Xv(#*zZ&DmmOR0H6EN5F`-{G4B8Z#Ye%nuOJNcjAe{87kt z%lTP#hXoC`s|V%J;q3Hf3B4S35jchRcG=FZ8jaHJ-+|XLHr_lD3RdTV!_3b4CNTVv zegoWJ6*Y&Ab`m>0XPq-Zl-9z%i*dx=;RkOz>oe@fv%FDW;I$6c7il>aatro@&zp;h z7rgHQlP}K9pjB^7HK0NCDA_{}t|vDiFLV|OdUy^31)H$Srj|ZG9Wg5fb#??W5i?_V z;ENvzAd$s|e@8UG_w6c!etk!O0fT@bhh6Sz@@yWA*_P%x2;%MXD!e#V-J}3%iX6+9DwSIksEUd%*4IM1Fn%0`yKV*q7YydeJa z^#|j9w@xAtXb=lum2HSz*+fB+((F%NfF$60)~$RL9Y0_auqGBj{fN?KJrUDyAKhrw zm9s!8LwEe?wcI*RMWgK4e8tqiHD-tgPwF+DG_4lqQsA zw{?Fy?GuAM=8DWXc%HNxK>wZwvfy)zjy0{}jj=0RKWnoj6&wlV*aer{0%w_+L_wef z0nMRWswgHZt3~I^%FL4Kc=OT*+cn(+=~Uy)R^yM02Bf#pfk8nV;}pw7$8|In8A`N1 zar-_e@c29_yq+$VFX01ExIo0j=VG(Zu#Z^IpDTj=r`aB3&O33tPU4l0HLkP$n|CR} zy@(rcUXQS7cyTI%ezL=35$Uo@WUAw&jOn8DPGkAzMZ>o`enQ2(T8Tb5*hZ~VIb#{? z5l7=Pl8JCDMim2Kg=ROYijG)#Au62MfrDVbiUeg`t+{3+Rbko`ZM6!uCA#C?n-5jT zNP}Ux)%V*Ch>m+tWI3RhI+bokGHpXdt38DFB718vLPb;ZIN0Mat7O>e+~Rh$y7ioAzPYT6~e$K*@KVc zg5qXWE%81#nmMsN@<{e#?n)zg~M$m%SI#PpUQweSWAy zL7utNfibDiF~)&lAX$E5ig&+q#eg#HEV`v!OHfeXMQC#fK$-vs8k$PEC}v8+{v_S- zB3}5;5{N~q(A7hHZ^5xpp;I#(PhX%q@ypDZ!g_EwOrWXRyB-tWY77h(5tze9#J1&? z{al-TS9DBErDv90>l^p=Z}#r3btvT-%8dHVJwKCCx;3H@r#1kaTk}X|fZu z5C4;T(4%_~xy1s~3rSf{1wTqL9kWic@3euuSC;WzpBSLPLdEu4fND!vmS0zU6GC0E z*?Mo#KHfPXeL-^n_%TBcfBqN}04s@}g(l#38GSH_xz7l$UA5Qerlf>wxUdnn(P2O| z+q3F_&D?zm7Z7zeDLFZdcjD~;Y~s3lQ>Zlw+*{(TSf`R_~M>mK}XZMpy320fYR? z5aK2k^cJV2VjAAp1bnmeL}fElAZ5GDnTecawonyt>53$0ocU?=~cC2#Xg>WKsg8q0`3Fy7}hH-tjD9a%S}u^ z&-clIHy)rM!Vd^`NdE-#vrB;cCg22lpvi8#nhrGHMsG+wh1~Cnn9X`IPdpYx1K@&| z+dW-@&&IX_unXXU#0m%vh}8pghR5+d6Ydhd3Q)mpF%ynT^`!@J3l(%vNd`WL7Y(G+ zy0?Bye!yYpc|t=&r}BE<#*&EX2W0~4I6(6lY;#!xd?BWpy!=l<{0Fe6)UGj>7=`k6 zreEwH2N8_|DGFr*)PA(geiOQXF!2A{5Fn;NY;8FOhUsKV1!8l>Ctbpt&4@cdqeXz9 zmi8EE2B3gGsO<%?&FTU10+d_;v!^s&OsEOqfe&VNYqVMU#%>FL-~qHZ*U{-pD}eH3 zaM%;q?H578y5xlf2McP4P`)lZPJHrt1r(PEWl8WH_&zKW)$yZX#e6yRco(|X>S{Y( zqyV(e0buR~6z?Ob@ZbY<%NJU((3hBPAZG(8s+c$hI<9|K^)w8KHmj@hHWm<`5k0Dab< z@q+{=w!=1Xr!Ij|#TVlWv|qqE0}YppLP367S?;iH0uyR5`Xc~!Azl(;=7N6=4L$99 z#u#6<>%jZMHGLq?pj`AbUn*H26hT1`qZf14eGl&>4318~0Di}%Lc5u;QE0S6trEW= zp50cL?jcRfH2rT62q6n0Ir=B)_iz2-Ge~vmQE&s6O)s8CFFY=>>ui}uByFt$ zo3W<&9LHItwz60kkzFon-Es_&(I+)PWvfA40Pt0yjt;K%8W3sfTE#(ftSIGptg(b# zbi1}p7|2Bu1Ji<7yyH&T1B|(JYmA}6Y>PT_0z}#nXlvtC*2${VeuFbWgNO*jcVnmwcq~LE9Kj|lACSg2r`eawXMpCu z7o=h{=4}jAfaw@Eh0MA&YV<^)?QAk1_ISho))NTdp8tdgb#{FJ-#WX%n1xLD9;bL_ z4;3(|d>3K{36IOz_<@cIOgViZxXmJO>$)CkZg%mJ&GsHt%-M~b#bHI5(0S|JWu?WL z$RT$gAlk-6k2z3IOYktObCs@Ub{H9=lV}_$+W{!!9k=@l$;udEs>mOe2Y(8>#kfKJ zsF;QuFg<^I0er%Gb+A6ppG!cP-vSy-qPVUBsZ?8v6~K_vRmo9<7?R-v7|6?K+i&$( zv1ReNGYfwn9F5tCwM35|i|n$*)|~J37`Q^ea@}OV=l26-pq$vMmY9R8TuV;jmU+$|1 zgod=2dCkUgLkl=8;W~E!*(A0l+gwc4zN_7_-pGZR5F#GHNK=OaBD~ww6CjomR}}Ch zkH3J!_V{V8#?bRZ znoI0f;Pmj9;eJldC2_H|E^w1DhMKRT-RZPxQNJ@JJXpq{{~im7WlI(Q&;k%A zv_}qIaa;+Dr!xDqWaZC}BLMPE;8|+LE(yYQXBw!yA^qEGL);B)^Hkfl$7lfSf9RC@ zd4gP29=Y)I?f$(DV+7U#a2Bu0av=8alkGh>uuggH5X2?;`xE^C_hI7rP(tD z8Y%yM<9-hyEWfjdSBH+Le_vcw|E?`KzBD=d`>wFm-N4Y*=gC9%xW57JZ7Rar z*Z9!|X{Pp7U&x`aI>M8_eFi&5G1&Wi6Opdlf*Fds(?rtM1ox_^2aKS}eP9s9psU2-L@^Jssnr#&4fLxe z6+WMIo4!uBG1p&BE*$dCdF5A5UkzzY6|^)KjfrCM#Nb>myMnf^JV|Rh7k0a*td!aZ zRZtF>pXLQ4KM2H%HEnP0GzbmMrpHPPd_PCGYIs22&Ow*#sAaj#G5?3??(%OA9UXy1 zf=~e|g{6;q1-z4T#=Zx>Q7He@`y1%?#Gm9`r$(%mwjmUC?%=~-gZ%QU;amT@wf;@S zF_h&@TQKxbME(NARc56CCv(6uyt3r*&{n2J?)!Kc7Tcwu++?AgG->honVm2ua26^= zVymO(o4&es_4#KMmMc2r8On-xlbplXT$CB{)hBC2TCa(@PdgXkisk;>L$-RRXKV`{ zpTha*RSt)Lfz~*5;PR6?r%9AkkXpx3w;AMHY37dmCzlX9r%B~(&Z48gmN>1zX-c+S zQ!B8mw8SNpQ@65>^d~ylC2!NvqFG9olh0~~+zoe}#Bp~jmzc=>P}%Ez$(H37x>GL- zOemoocTECXh;$* zX>$EKed6PG^0j;|-#c3E-VJMa>M-n_e+Zg;F7IC`N<;-*n{_$}OVNjKZveJ0p_E*% zuGS-O=^^WQ^}DEUyMHt9LX%|Fu~Ja?8of4GB|1E8pkF6TKTXe0X{i{CdKqmJX06Sn zYK3+}{nwc;W|P?P`ssJeO~y)aA`o|8_=zGqTmnLOcLLu9kvx17}3Rr9DCQQ@iG8JRuh}{x*9aD&`)!!ftO6h z!qOh06GRl;>*hSF+lkB_hDu$!eLfnEjhPPVZuwa1>dz_=!UC{3H~J5@D=qbgA|V9s zyYHVlRaOs+ku~pr-Z}qPgd`;;1!7>`-Q5yI#*CzVAi(=2@Xo~J`|1TOu>ny{6rFd7 z%>(qj*i^PgbN%(cyZa4C7&|i&=k=J=c`;JmIB^C?mkt!u3vMLl`)iNEDaJl^qErNf~q&AU&1ms3(yoOYUnxm(JPx+^j+#tw2Bm20oHtqSz2lmg8jMZYPJ1Cl3Pp z#inG~9yk~{`@!)SJ!6;FBbd(Zo<$7_(d8 zwf8`rE>LFIPI=`D&4%4F+d%caoOanSo@fZ+d6@E%o^-)+BxK7(p8|Xt>LybebnyOj zwDiPv*zM&FtrU{nJ!W|-3BD}k+AW})rN=U+GV}HN0^u@ms5p(H*REa~-^GCC%OIrk z58~ICG;i5_uFI`83o+)Ih&d1;`S0nI`knfDnc`(yCkiP#}e z=fh9on(fQ(#>oe8Da%Z|S}ZsMU?l(NpO*k3I+?+5k#`IlRa!tO6}8#BO4WY>ED4|C zoi1qG2RE|s+|Zw!FQk~6dE)SMmjd6C)L43s8O4%~wD~521|zX!_(`TGEWPY3lV1aQ zQN8f_;Da|QGKV=Cvw1(qgF`6KjEFOrd$GVrk^5aC|Ia5MyOb8Q$0fHe7gtxz)puK2R8FW|Z3ke@*LrvyO zoslKPARNK^G%nk&ab`6k@kC3;7{9f5fghfd80HhujT&u9n0@uIE}E_G*!AZT{n$v z=<92KY+01-r2F@4u|yKgVMVu@f(25-U0t~*X$GQ1T~(_|9qgG(s}Q@^vV}j_kn}H~ z^n)@K)1*?ZB;aSH;b%R%ws4^NjhTLG5zT8PnsFW z?REI-rtu_fbCt$xfR*d+W?_7fCfOjYS&^{5UAEo6sY;R3NB<^O@8{kOzpo!lugbt2 zB|?Rxi5G_w$*?M~5cpBL-dUio^-j{LTP`SM_AQ?br_$R*+rCEj_Bzumn)x>KUOl!0 zZ{xO~sK4U`g8bCwc3)PO@n_MRo3FvmOE4vs;hm{b-sjI!!$U04f}lkN?P_4aH*c#SOn!6uv733O`bW+VZV?bsnv zF-jl{a&pF3Sz#Wz5e3nNDei5*u?H)JzCDqXtHrhBF%6%#PO6bgmzi4exk{-`8CaH4Swq>*eJiB7yV{AFn z&-_{6m(g!Kx>9Z}H~QAHbL>wUw{E2(6JZnJz(pZVIZosVH=39~5M?iP3^SMaHgaxS zY<+W_c?^1RjA+Oh=^wMwB>wBJ20<(5RHW4}V{R==*PSKkf} zQ3`9>6O^Z=HVvwUFVc0*qI^82X1qThRm;M256U`ehRCw!JgjA1x*TF|(B#u%Rx!RD z2&&h33-Lh)ukyU7@MtgY!5XRI_YjzJokuZ)GN!xOWkFY}cq(wo+B%dDrJ%X;1|61P z`AVWXY1ylEE5{Yx1ATio`6X@IrM)C8Hl2zeTYKeuxOgH#yb3ixl?$b|C_Gy_!!Rn^^9?n8 z*>s^bla0}DqRJ{-joii*4jBpLk2a^4&W3SbDZ|7NaSiIsUQ~LI5wIl-W-(D!YC}3J z)kHHdndAN-k^ixNV-(t%#%9#_slVyuSI=R6G`*8O+k3swKK>9b9BEyb(>?V&Nhq4m z$EW7mH>{vojG<(oi@T&7!w9RFiuUVa8%IB+MFfRVb}=Q%MzGj4%bS-lrSO}@_!CzP zM{Ccjd=}DHMcRrO=DL3@B|+EERrv6Mo+qFwU#CN3kCtw=XV?hW{UaPXNLc{7-$`!O zxZVXv)UXxEqHWzv6B7+nLYQ0_YdYJ-_iBhm^MrO1u3}d3c~y};QsNokw!&8|J0ffEgz91pDB^Gu9 z`Y0)%SY+^re~cC2bE5v$Yy#OZ`KK_~lHoA#iR5*_>^?;Kv-|gDF=&|Q)C;EEj27uu z*N}gfDEq-%{i_NsxkYN(acSfURY7~^NI;;3K}kUH$)ozhm!0y#`c(RcsP3pBuj#@S zeIb5nI;_~P#AN5(sLyLKm2*g6a)ox^nI}P9$kWNS4LM^fs-i<$rP&?zA%q2XlR3jr zS%W7bQSJg;Qo0&zJdYysn0Cic{|(;gkmWGI)wLn2^Hg_-DN}yd2KDWm?2>TU3n>%3 znma?*Lr%4egaSG`Ga-L6>t~EdZ8X~BM(8G7S4TCeg04+`{JdtwzB2X zFaOzV=C3+>SS7)Mev~c)=95|B@in!vxnbd$m!{gjH@Ls`1vRn%R&7@gtrmvNL&Md+ zdbs=2Yq>KK|2V6@xa8U*e7wqbVdAZLr8a3?2`6zw@vHN?*K4McSNjivdj@>z3xokv zf169xHZ02oyJf=<4j|d3Bw8b-5Au?ANI!fh&P>k@Lg&j%Yt zsd6-(p8fP>-dG(nheaI}9nfn44;AgbXil(YQv2~a(2><4QB{&1Gd6>~%s<86s|tu^ za=zJHZ@{}hqTZtJKzURHB}6&=jk@P@Drst^kLvCUo6BP6))!Y`NK1oDfki?VmtRcq znieYk0S`pm9r-`zSUR$GZK(mWUStr#uJ<5rR)W`?I$rxl$PQaW>3;gz-iD0_W$+6N zOUmDhjf75|`WlQ`soUHt?R~bC(zB`+y^qKG<-gjV4~8mom+EwE5HFFJX%|tq`Bcd` z%-~z(UXwt|n(wGPnT*>rLK@&*UPe6dmjoi`+f35*48(3^?*?5JoffK#RyjVgoR#RN zQc_RC0g3aI3~U!$l>y!fZjo(rlaooMD^8cdH%A{=tNRcmm$a%OVrSPQwJ&5}WMq$o zOp^g$JS^#ajgZF7kD00J_b3%m>_=Q=y7^#D-K)Hh*911;@WIWs%GUf|hx)g1wJMTi zWNLK9zlTSEu1^Aar(74TYFC80-z7CsHODeyc5#W$r<@XD2^666`#?n(7njgQcLObL z)NW^DpCTt{A@;a@4cjipr~1BTZlJa$^oe5e`xp?4etVz)U3L5L02DRCDqmD!%@RWO z8F_wIi=lPqz)jwBhe##o_RQL};!u2!uLRuX6H6g9=6HZ~(0u(&Ar$=))a;hx02w&? z6$=+j)xpQO@(j8G>ff!jP8vM}Lkp(=t(R-RviJH$HP(h>KG6Ay3m>)Q)$HrNa;eHP ztPj)qiCop}26qp^l0(@(^ci1aTS2P9n{2%q_j|EN6Br{~1@wbaU+=3=3e9*pGrN0W z?P!7`O=v3A)zsu&^>ydTQ@*&at(etHGpYq+NUx8-?$-hepFfN!NT4~!9R~e=Cd@GW zv8@d<6BBnfH#c1-A5Q^CfPDb50P5$*>3^^mHUjBKSSTpF#@h4BxW~s8*R>m<%>HNg zr$pr}WhGWH!)WS@IL5;kMI3$0(z{G0{5HQ!L?D^tq*7M?to-TU*mBC7f!HU}n~A;vf6A0l3=p`<@Lot9he0_$gDtJX2O z0GXWNNH+9WtB8}_hTwiU&*@J)gBdHGt+%W;)u9qIY|?efIdF;P@3rWS@FU<+azR}l zPWh#+@ogxsv9o1sSU5|jVF!|`Tm+Jx?O7G$B4|8{@S4BX$(OEO;EqfGD4mkJ8Pi4L z1GHK+5;7|0OCFRYE}QW593U+h>fw5Hf-8>$84;=7VW=Uq||PYg-ul1@L>4R>!> zB1dfHJ>PTSH_dpx#db@_H=B!aQrow24pIFc)`~#EEWS@?Bq!fZ$?;n+H(daCuerGy zuwCfb45xX#JCl06I$fVAJ*1@>^P1G#?l5>ZG&4V{FLV{W;%B+}2)I7eHYM%GI3 zT7V8pqI|^!iru+ah~^&IacZ+Q1UDSSorS?iJ9=|!Wwa<|0ezvS1gqqAh;zqdyZjt; z@~Bn2NF81kJKs1Gp~awj`eWBC2iyGTe9B`$_p97({;4Abb;!x*2z$YPEzb+Ir;>oAh=nuj1j4YjwoDp|UAriUf zg%z%nFdf;?Mw#(Dhvr+y+?KwFn!2{^@iA6poM}Kxqsd_Q%1YAx@`#`Olw=va;4tjq4w0al;at&|s$H=~$SU zZofo=xZ;2O_yLq9x1z5V6$F0Ykscl#bUW{cG!MP(4ME7_u>bBXveQJ0|E+nY1%ms+ z@`-JHa4f5_c~Fys{mm)3$)&_`UAgt#<3$TX_U*0;)Lkxqr`(b|@!Qr0v}BgF+m@Em z_Pt`Q%3fHVve5{3e!$7(fPQW<@(ZJynXjZJY~fUyRzFV~Z#-h^zQxjbgFBYgHBtQ< zN2|LQBp832aWxLgVy5mM#tFJr>Y%b>LNrCZfW`rX`ubD3FF{k8M zV5+YJs{5{L=aX3lI*K#xHAzfr4l=)+Lb;6o@a|z4b%34#bmH++4qN(MCx{Id530IW zw;Wm)cpoUN*Sx}}Tg12NsZJA*p!o4g7rAZbU2JkYI4yp|$*B)6yz8rdibzLQ2Kh+U zQmOq_@Zh!Bw6)=o!3~b__WF(3wgZ_WQ?kb*ZD<5OamSegyt`#$=1t*^#8m&7 z8x^6ZIdtx7Ohy2+nM|KYbE}a9mffGT!`6XZs0{!rVYS-!0FI%pUt*0w!1uh9tS2fg zoIUqj8U$O1V#K;7J6j*%JEl{=eUs#ETyepP)=={bfFjv^uylMeCiRb5MAXRLHEpW8v^F*g} zb8(RhT(J9IhU*yXoEP8|BoqSQCz&NFNm9Vg0>CwR+%Ee}@VFfEuKlr{@-xKjsTj2C zel4wl;As?USpp9@h3vfeVlQ_P*o@d)+ZZt+*Rb3n*A}~bdnf40aWCE912QYdUE$4N50|}_E4UwiFDy)vB>lO}#2!x=)-9vB)uEE{i z-Q8V-yE_CA?zV7ucXxMpI8FAq|L>K3_dnh7{xRb6wAIR+M68nesN*w0H$ zwd|TFK5Dul7?bnaI)B@fJPvzs9a74m==6AoZbcryz8J7{+IQ*(7>o{85YJWBB4z@g zWJAIUI@Y?HIvpI6vE?^Stji#ik?S=tq249i>N6%O62%63bmYEI?}uW0fcsfw01-5! z3UA(J5*W}Rs2 zB%_M3Gu9C=}Rm-yHf{#lf>sDtqYqZBw)v`>052e76yn0pj`{WQR??k1Q>Ps91p zIb_^_p7DYtyku{Q6dRxLdN5f14q==!39#XC=!#QVqntbd2%JbZi@LS<5R-t3wgA!q zfL;{uw(IqrL1gP#(eZKm9LK(K)Jx3>6* z2I8s0!^2y);#5Za2%rg8IDq-2Pm1MqR6PS%iQ}{h&+GP{79gbQ!Ip7wg_52ECaU;E zFfxVn&5}b$dwYWX>SPS5jAGyuFk{xzLz?lTv-b1q#gZAopuPZ%NF*3jw8@rhz9`xR zr(Gx-xW}~N)XtZNxp*M^BNp9WxTd&dKgDkn?yQ}?JUzb?g}^?eeR=_OuB7&>z{)v^ ziMy2t`44M3*vvl1MzrneVj-hB-KE_M2vi+UccKWnDE4S}?hgq__j(yF;WaJ~%1O;R zz0+~_3q6EqFlajez?x}dc$3>4?0~(3mWsT+6PXx&vbBw%y7Hu(vky?vq@>#O=1|^T z81A0X*oajj_bhxrt*>yn9l_9s!5%@KrrE6dlq7mb)^4SOa6n8*`9Fud)k_FC4XT5p zs)>H3r-pBw*pwP|DtyN-KLQuK-nx8kK1+bd)K~RLmlh-GMB@}=e12M}GblP+qRrBx z+c-A(d~L<`c+AMlOxg;OTh-cqK6A-9n+hY8+$BuD^MfbsSC{~F9KqhNB3uh;<0Fo@ zu~i|FlZ%PnpLv7}D@^ws8(L|4(u(^vaLqrR-U!tih|*&>iRbS=q?>Nd33V5RhdR4= zhu)}Qel?}vb}Nnhxf-^%H6m_gwZp#=tq_~|Ci$bMweTDS7W`g$&CFPxQ|Iwv1$p1ffu>1{Apf?{Lxuz>5O;r*wJ~siEt$>gDNN8#I#q>wnfQFceLAMHO@ZeaSNz?bx zWrr2FuW`&SXI&^Bmtz7f$#*EEsc2y1ktsr(RB^MBk&&|PcV{!vEnjk_(HJ$b)j$hQE z%uAFJGX~V4=shQVCGfr$c0Frh2|e+CE2u-M{$1rXuf*=kS9-FONBbWqgW;{!aCD?T z^Y7d%zZq+ovLwbIhT*KVoTa>Erhd-5Sa?6IQPpH9hIrK(n?t&DPu+1^`}!?>~E zxH}I&noKjLa*`HKJOME?U$uzn>ycM%bx?2#Ku*m9VoWDxf zOcFw@bXY<{TSvz%+q|fghPbCag}ChJj-&y<=L|lhzkbgp=~KKo{<2AA@|UVh)Q*YF zI8ZUG5T;Q&n=Mi`8^}cMZ4?7=t`=9>U9eMq;gf=u{yqg!sW6RJw2=d^bM9?Q#LW<# zMPjhcjYBIWrJBuXBk!TxmG<*)K^q`ZdFT6n%|&}WqO}~MCj?W*a`?StgHv7or4jaM zVIrqLc8U0G;)4^Y9>i4Nz;ePW|FOR43HIV5dmdw$;yc|C856wXh+6h>g?7y2)Q>j= zx~iR8{-i&EzCssy<7R5)Wk;jDPuxMIfcB|}>;^|-$$0U>dz|p%!2PJO-EO|iq_rH} zOKw`93qCZD%lqd>h%mMeHz+bH*qXk>CHvRSAKj@O5Fe2gfJ{Nl$B0B~!`KvzWmtt*iZn7q7~*Myn`iq@Fny(YF2>St@Qg36g0l97 zqe-Y|6;tM-D;Ncka(voJ_i#V1-(m7yW31T%#F?h2GCOO=&c@60(ww0v7!jzn>1gYR z`!o(<5&{|Eli6%V9sEo|BP^VAwmW;U_r}E{j1qev5gMxDIo=-?J@LQqhVYDCUh&Yl z&r*)(tnQfZWU>%D)V}=|(9>xXppUSE{6B(IlI{2mexb$M_v1dS+^6Az;vGZ8!%%=IL+H#{<%GeO$|| z#6>FjO)hPyb_}V}J3QgO4P{TprNvp>%hAUlEHi5gT7QOnF`M?P5M07gP|hPo&#fzw zkfkhKS#FQg!xZnH;Pd!!hrrg276|GAS98 zV%l>;|K7fPaw}dLte$&xk_F85`p-B<33!RJvEQz$&*lK zosJw{8Qpg%7+DtN->D3;=YtnweNVh=CEmCYqZw3X*QXm#DzPV%txfC5M-sK4CBeRHN!3?`~E`P1&4_lqF^sg zjg|N9;>(o`#@p{Qw%Omc8Rq(}dTj&MDI}DL>4lS3NCk$%zWjg#qx>3BZP&?arpkFU&9l4ti(2cXNJWeupV^>r8>4>P6&p><8YX9R_Y6EU($FL^4 z(z??6+@%t+E}B-XCEI3<0By)V8dqWo?(StNezscZsU*~G&(A;E=HNXCuVDQDj3oCj zV@UFc%ChGpjL8C1Rxr6!7f$pG`>!}lfPR_US*~1vH7Z9(IA)bh$)?OLVJ+gRJ%3r` zpip_F-O;3`4U~Z?gI9fE*N4!XZB&Kj0(&%Fv4>I(G{(>L%T+~!23qwn3S!?&8ft%z zATiEQ8n`F|qh}JY^E!HPU=6hcbZuZXx4=v2Banaq*9dPeHI-T2{PO%D)^W0)+U|A( z;6_7=Z-G33(5jF*I*vYDhQ`#&i@51J?c%51tZ-v2CYQisfP2V}v1ajA-NGdMEXxn- z-UpV0i(03PiD9#jrj}u|dp4PG32=jDDs;~E7djdUi)3IoCT*lYF1wuMND*4zi}J8= zCfQ>amqVpKZwzAgY-G!9zC5422ny7OOflx5hN*urUxJD)n?q&w2m9=78;-XNean~C z1*m6WyyM{L8OJQB8{hCb7?G@qH;>hmJ{!XkcVG&4RW!8g2%Jt?#ByzR!?)7E<)p=R}x zjeGh|D`@GP@|cv`of9fa8&-tBqad04w+*84_VPJ} zPk7{+OIwVnr6Wvk?k;xuHoHF~*GIR~D0SAHVnzh>rmZVDydnnk*WFtzq2<{k@ei4X z){T=W%he#PK|edy*XJgP@s*={oI@GA*O=@&n3WL8OtC=ycn>zZ*wHOUrOiPA|tY;)H46Vmv|3C>%Nl8mJs2pJ2H(^9Em|(6q zpIKNUB4ES`oG1Qus84p1(ugnO&Pm0%m~0R^w{|*Rohm%^a0;S9m(E)vI)h@qdMhr? zhAqdvA2*K2j6F_ZJ=k-$=h87GR&r~glF!10J&whR>N24j-4aw3GDT`Ce}6W;o>*>~ zKpm4}hSo3}tCeu+OSliA*`?jsSdlO~&R>Xmv1EO)t7Iz4E1j2eT^7%ZoyV)DR^^;k zY{&*mn!%QHNn<~sCqw#OI&VIHS&78OzmVA?rY zMK)kw$=bnZZ)Jz5VninM3zfsy3(1mp@tTiEmK5`uOGnY!3=mq&@Or1#n-gDo?q`dYZ;=b`Tu-e5A3qhxT+?w%2VW`|Tbw*mtUgMpkHfR9f?!s^v6)e2Ol&$(pZp zzUN**r=DmylFGTq_Gq@6@DUakK<0~iIuPiXP@!;{276i75Tn<3(w)ZAPN_-fdUZ%nOWKRDQ?Kk4@i(nw*HA-tf=!EDv7gF?(T?ib~y5CL; zipYz!jbNCUqQI~K-YOdEkr@nXfjy@@He2l6)Xw#{J!p)6SNafi(E7@ z<$R>2Tnfet!(e-3pYrr(Sr_wImHk|=WE|OVwvE*kFCz7d22|gr;T)`%yPZv0wZ@~3 zEh%(S7^x2(8H%55j&^U){ zJ~a*DqT{Aq_1vtH4?&%{N}%qa>X&8MiK)*}Xh>2JNKQ=K&0scGlr(I+qKqT{8SWzz z&!@X(GyYAmj=VI4`Z>12rKcFF%0{;Ph&FU1wyM~f$RScBef_T^X3jPhVuhh5_heo4 z^NtT*(yWa6vHNB$7`?MZev7I;V)aTssQ_F4y}ep!H$W^GVB&z;*n>&K-7(c~`9Rwu zb~mwJ(MRR~$MCfwcxTk017A-JfA{n+WW?5bMjTeJ)Y`~eGE_zOVQ*vfc2O+SnJ>09 zC?r)U_V@dw+8%rKa;rAA0v=c8INsb6Rv>-O%AvV`fAT)1AMgLSOZ+L}o1o`V>x!E^ z1*^qE*RHKKBIcK2a`GOS$8i%f#ilPPud^|Q528SFUmwS)=J4AX>5USEAV^sWq7HTN zsSm3Zku&$*yCPGvrL2$*yQ$F>l9W`Fvt8q_wtI1Z&1G3;uehU0;X{oU`QUODJK6o+ zriIT82g3vO>Z#_odum%)5%2#@A$mV9z-f0V92*t2esZFr^PUWgIT|RYj2}PFu7E{sh!_SEoo~*^V82St~yML9lfy(fs*8bPRxIRuo zgUcCesnfmx+Vs~7{I5U0c0u>YfJwLRQIU>+xs&NF5FbWw@h~9lPWQ^q5&AQ4QVAuu zkhkrk3ZRw$r3m`iR=c;MJT9T;Pa!z+QLm->hgn$k%!q6M7W@Zn9_X)5!mA=f5=PmpS6^NxLO= z4m*t85cQ9;L|}JraztwRD*sX;pc%68Ucys$u%OAhOJ$v&_Zyvo-}Xyn$sqRe!AMB5 zY%DgsMfTTc^#=c?#X#Szl9Nd0OV|46olQF!FvION|IhgSTZefG6G-MGZ^urPWe4m$4J<|?D*y7Z zzfDuJ7O+OO+GY#1;(x2#Ums*iz#>6~(KS^>5dYmJcEJEb$nM}FZVbSP{ipT(KVB$P z7DS2~bcfJY>(o`qHP2s*$s`{57HG{}UB^_}EQLwRpQ%ss@0AxAHc8fxwuk12vxZeC z=As^X_Rxa-c(1+wI|CwN1(T`WaD04^SIKwhtxE_zR;c$QIt%sR8^ga3x>phxF4Lf* zefA;p_FN*q^~}#wiTnQ?pI6@meG(V)y3LO{yQL7LXH1=r7Huu{tQNJslz*^kF<_rEjZ@Udt||NU`Lo$!- zK_D8T)IT=Wj7U-{{{cX>U}IzNq}Yf9vfZgEDW=q~$?o*@v1~s9CWG0O*jH!Je>bQ) znTs#yI40%`uepcE%Q}ATdqClborad$DW4pCdt-TJ!A?*`PRCC;a|eg`qYEtb)IK?ct=7 zfrJ@L4Cp`+R2qK}K-p%8><#@mh|oJQu+Zpq0T3!6AR+>r4?t(I3@}R5Ef6J7zufJl zhjZNj28b%CS{^HgNSTYs!I5G?SSj#U)GB(R#$(HyHw;9QDhd7r7K}Aer<9o6?P`7L z<`RvyF24kqVttkOfdTvV?PC!~#PwoJIcVF`QDl_DK(ye4oWE1K#C;7jg*MgI5$^nDbHr=BLhv6--iY`&pID> zcTM#S9Nbu2gyTVlNq2*xX90_1O{y;6PoWD>i18ixJgH`5PrH+{mfkjf6WJf8VxrM| z&InuM$O8GxX6s1Tgu%@Mngf8!if6AG`!aw^kVyItX`^}2X&n3th&Y%jZMmK|adZ2$ zLJ75kOnw4AH603?mZV5$3GEwxxm>9OUFY;W0*fru0_5OI>>!*ogyZSWiJA}$jKO?C zokR^$jsa5fZhetR>%7nrNB#YwjBPT{_1PI3tG(&V^V8WJ8VU-dUVqGZ%^-EKV0H<- zB~8fWBccgRPV(CoM?#+9MSWp8-h$raWI4RxteB?d37+=ly39QSo{qxI3u%LTNb-f~ z%WF`A9DLYv;=oeGm!fwNmY(!Z=eoS+40a#@cxK*kRD;Lk_bY^V*A0kN4o|)T($DHO z+q^F?GhMdJv^ts}&qbtc74{gVrPLf^?Mu94(=pcTX(>&*!?MXh_qAq{-a>a{n<+#t zGK_qArJ=**Oj^`gt^zNkFl)ZdJ#N)2GaYwVQewG}Hnv-l(3}qOTE+WIcJ4mu3?$EW z^fb(QtLySt0`_MXXsUGt%KGAMBrn}1OfkrbX*1m`8~v2eSs;kX>gpJz$Nua(U@?Rf z93j2E;QAIR@WD6qnh3!hp&1C}%J?aD@qKQeRU?aX39$o_)wdDleoU zGdX^^3P`TB5@Kz^czFNP$ZR#e{ZkTW#-WG7<#MJYvag;;Wl8|8q%f%oPiwe_*W4CI zZ7Rh#YfOmwgo3k%l$eg-gf~w!Jn)Iz<@*@}2D=Qr{(53~-W4D*(|9q=8n6fuz8ub$ z6Ofv!F$1pW&ln6qDqj`Am0~cG2E^&ehpP605HY|IGh1tcBhs8qZ(V zI`+E9MIa_f*1Aw_BEWKjV_@7kZqED>+Hke{QgOS&4T!8x&UB$1NnObMbTlF3$gLNm zP2&i^xQZRt+#WicQ#Q4;oz(yOkx;6f&_qUjao3Xdz<5?)m$kwwqQihQV!pLQ)9lh( zcI_?`-$@=Ocy(b}4`{>xE_u$ygUo4MN}&scF& zOBH`pV(KTqTC3LgHtC+tN{gq`zen17MZ=xEC)3K=Wv)D2p^Kf38d{BgppjDrt>IDA zS=ZToL~;a-Vqar|POwF1H~sGDi5vYMB=*2)zcm)JQeq-!_i1>jWZGL$R(rZVHShqI zq%=r$gS||l?&irS+1^}L0@iG8_@{?GaS=<*`u6%_L%GDsw!4mtU&(y>0BRYH7OIALo9pYNSA;I`)htDH=PQ~54+tjY1@hiI)xj9AJ+zkP;$3}Gd!wtn zBcbA~yVsoUlh3Ti-RSbYz@ev=zd5bMb%(Qvlfgh{G3+)3xfz=s5L+E(EHX<_#w;hs z*PE~Cr6@<^D4~2xnszZ%obY?z-=d?W_s0h&q$x+-7(tQx2tNlwgMZb>>u(fl4ieAu zBw*OmY&D7)SN&wA-;E~)8J7T1*9gahDFD}HbG8%~TYn47#)XZ{?{+c7h{0&i%iD6= z{>dqG@9}Hq&QNl#ZXbfZ2@Ev!;Z)%afL^(b8}v|W2T&ZjGtFto_E&QX*F9tf#9+93?dxdDS*7%<0pLv zoc5S3wjWDpfm^X@v?2V??k552i;<4YNC9l6X4gA_Fef@H3U!R4cCo!O7CK=~NF;Otc^Y%t`c(k;fIwQwH$rFFZZhR@wEumj9GIqfyRj)_u+0HINpAi9(X)!H<0x zO?y!nTU}WMb2Qs}5dYSwJkhE461MHr7X$cuX4djbPJG6bdj)qCFDVlqSQHP3op(}b z!P}UR&;8rI7h7mNNHJsA7P5mTU>={Kpa5VIn#~#`EgcxFG23l0V^~zmjnCkq==U86 zb>cLS=Q|X2N3gwAMjrqk>Vw~yds@=U3gN-GPdQvhoM-#_X8ue1)ks@a9+bGHna-QX zndeDjb;?w3AQGKukp7)9Y6XU~Xc$3#OSzNiuL5g8_Tdw4!ECdI{D zz*SXs8}u$wZ5nGOCMFB}e$VMZzU!DX?W#Q|RP2jrg~UApZEY*=3y%K;?4zUMuvqb~ z=aT~Xll|G{B0=R%eqVL)QZVr(ld2Q$Rs7SpR7+g;@Dce%S}i5;~7?jIBZcRM+XPqC;y$pR1YTl(V?8`^oOL~Do$7; zjd`&q`?$DaQphP$&4=rws^07}Qfr%Df^8sp#Dl(5o|9v4=J5;!vnoz8&R79#hLLus z+7mVRr_f2Uwp_7fe8(4no#kVPG8=!qxKj3FZ?E8DM&ySE>Sugt0!Nv*5~9SZz-Ew| zob0k>Hv>ff!-y7jae<^tS_!ewop$VldMd-Hz}B(W*Q*l`E!$u?h97f5)pRM{;kTc( z87Z7a)qIODvwRuH`lTaZ@ks|Iu;)G$od|GlkN}3hLqpAK-|}5Zlck;X^7gl`4J>`ET9a_MMw86!0IIX zKh!U?9IU2Yvhg1G+(U#PU_EZ_&pI#?ABqoziVhmVZ=THz18)!Jzb;A?5C=Vu1wkh# zyACs0I4i7mi{=r7?!vsUNEg0Us$ikJh&bUD+TU_+>eVmvsYN;F>L<&p1=~;~pRSyZ z6&)*a!^I-eQqi67>R1^sZE#p0-tcX&NLC~rM1{GR7Ka574)&B1owL5M>a_O>bX3lSW-<n7M35*l$KSUwCs`T_9_Au~=-&_Nb?A0~XnCHC&G985wI~IUge&0!~_9 z(&GKtT_%I8{r!8AEt&)OSAnAq1CTXVgiBo)2pcV&9Im^{ZKtFAzI~@t94tUcf9LL~ zv5DMoW!NnB@x?;1WAPDj#si}qkLIB#6mpPf&$L$#h5p)I+wgWQrqRShzJ0bNW^shl zWV|Wz2GN6;7ODC%03mJ=E;;pucO|0G<$b1^yOrMIbxcamgS6HDb}tzi{!MK0KCJoC zLdK7bu9Omc+uBwzii7lrJ9U^mjpeHNE?7)+`0C!L?ugSiGdGXM|DI&R=BzAiRA)U2fNtPsln&LfGV8D?)SCMg6EDu$grWNhW1=Y8@CKoDku z(%_8EqVF zmN65j344PNuB+eeOE*@!^x6=pY;7Wi-02?N-wvKkcZ#CVI`YY)^Bteya2QE$EIxXF z_8(XFb)&LeS{^cHG6qVWe%X@{{v8oD$9jfST7Jb+N#C45m8qOJJcnGK(oh9&aTq3M;P&H0GCfCNLR}pj$%^eF?gIVVET2s$ zHf}f{P-r}x5$E!*u#p#!jeUbbqQk~VN^Eb|Z~S06xir1U?tD2KPM90+#GNrc4NKpt zS!}~^A?og0mZ7UpJ0AlQ>YVyr&5`I&AWcJ7N&PZ?P)n-46qm{*uLD7gd%P4Ey&2-94iM1U&!%Dk2)2BlU=e_}OEZ2qw>Lh2AIb*D1gbq_-3gk|h5O5?)f} z|B7El!(;TlPx8^2jKYQ}*97um80@qAN_-HoAyxOVt2yza=aPqu$w7!N!XVt{22GgrDPfL2Hz@f zEBA7^LMNeM{{huP=jBkmIadLWAqSLZj~uzs#xi6|!1@l??xmh{Yb`_Tf&#p6D|Ip$ z>!zF?Sqsq7b{%|7cu^cc)pxezS6uEs1kf(Iawam0tXA->o zO>Z$Cu_BST*A^=SYpW-*qBED>AaTs4@N3Z!XvYYUeMj$oPx$cEh4;Jp)zay3?)jAF zQmfK1ruVXO`y4JEG~y$$(o5Vk!Wt2vEp$vg4Ad&c9u<@JT^m;0Q5=q;Q^DCr-A}4# zQw|10+0~rsi%AcDnBHsXz;Y@fU)`Voo^-t`=yuW64r@l8bVJFw$@w9+{KyEEanpA9 zA@2#}={RAUJ(;Y0+MR3X@f6T0xc)r=t#Z~HZU5n3A3L!qm)1p**ZIIXGg_9V;41e= z-f!bDVkD@elOj(2RL-^vzuhaEVw@+Vm5MAQI{QwKN`mKY%C=}Ki>@L`qrHz)_7E2E z^~I11!kDQHl}!N+A6prajL}f5EA2pcyb~3adDQehDajvUX+`Ub=}ZPJQ@wHZn;Jgw zmAwxS3R)+3TfGzfiCz@E5SV;kKZjFX#J@M>GcFrWFnb{U_y~2P&n7L@W(GB)D!Q0> zLX4a8n%ZK}uhNjJCI6BSSRvQsH2ijQ#1JZ6eV^rfr7SE^r32i9v3nif^Z7Ji?Epa_ zGgWa=PHnC2Y0FV#M1-@s59hp@5?oFkYf_sJy_~$4@4CDI-V9ybNT|m@eOH!!`C8_4*b2zfuoon&_jL>n*_T_ z#~RZ>o5b&QShBveyjCTO6xMTLNn(Oi{YDYqTpUsIFRg}OUd+B5zy#HWlW|VVbZbwj zFjwJO?mBMMiQo%0W|{OZ@t`xFUhT5$x#}gxYZ={}a&IRX213C@l^!PaOx$#$PlgKRI zd`X1aF87|1h*|#F3bNPtht~*PP)s}Uoy$HDNJgHohW6bIVMQp$n~7B%kT+x$L;7x@ z^gXOsY#r#sKE!AN44Zy7D7&_a=c$3ZUVg??Sz(Aud$s<1NR=ct)FW+HzYcq3M>?G_ zzZCj?z$f@(v`~D7_6>CYLBhFrioEurA*Pj-HsT066LW?2cX2q`^)ja-`8PWWgz-;# zO=mz!O)WSCz`<*g6nGBG3aJuvhQtt?_s*<(OROp-2GPRC15s2DIBec?vptw<7T;+I`!Hq2qq;6ew1|pIU zU_|Xnbw*V5KLS$b^QymXER#EjZ7YXTz*T z{k^evSg`!LEKIekaI{FFMYX2tcLgJnZb_J62Kka=GoVyxgr>@bcsb#xNNgoIhnC7O zr&z#PH7jEpBHD%8>{bVx?gxhLzHA<&N6!>B83E%}Nn(GznRmSAujrvJ%wk~ol~NN$ zf;my)x%4X-vVzRJ@Yrz9XGIm~i`n)MOo8OB*etfc?cVPCC*p1^GwuJSJ9Z3boI}YZ8}=n8#`BSO3Pf z*e2k62})?ZV!x=aXBA&9j>{p9n^B~8TJb<+&^~BsX{nz0BRv{ERT6B<%4$hV=4BGv zlH4OK{gpL)O5)Ap%2+Y@5;CSRtfig!AX(lIreg_xbMemT{$2}MX!C3~j3bUT#QlwP zA))386I!ypWWe)k5YgJcMA|5v<&C{SAgNL^o_M{c?%cP#(hz0A&UiU(?sZ}sU;ug0 zl73>gdsM?pw3C0q4Ud-u;k=rd*f6@(B2aT_XMwbO{TR^Q)nl!c=Q-j)xaJrr(>Vm~ zkcI+UwPfk~;89`lTQ50NtXyfM0U}``B$0VU79!sf;HoaN(LsLc#<1Z1_^LxaZDLyO zje=%o3Gi#%#HAyhto?*UWUyEc@eDmck#8;!asfQ(L~~kSYFe+vUpHdUzI7AHGwm25QyOOeGBT`%Y@=b?IA;`sO!gG3X}NIEQ{zMtG>rMM@k2Ft?+W*cyV0+P zqGFX!;9DdDq^bBIRC;4K8@-ccw91F?rpHJ2)C4!>8aK5t*9kb0-oH~K3X!P0M=&-x zlrbh+A|=WI$;1KeL-&m3I=L*rPxJ3J$JkFK_j`?!5i8COL=9I!KQaaf=h}|ILvjRu zf5AdcFxHLazrEbIyu1Z(2 z-#qwSKC5^rI;7;PVleHb*nMAx!j1kFmu8{b)v-L(@Har=|0N( z62~MNJBdew-krlu_Z7UOuqb0siJzvPF(rO2eWGx<&Trp9SDrN5Orp_r1CLV*%+Df4miBe=)0{Cv2VR$6ZF5MHID55

    zS$_gDvF{dcKVB2{RLJN)WuPqD&3 zvD!~*jMDTZ{1X-EalRaPl~i*cOXy(`TA<`Hkf2m2%?)cp*nMY>83#KYoQslO7{=4d zssK_CCqr)#77LYC<`SFqtmXj@Yp2t!>1}#&$P`kY$#=S=xwhG5i;>lqMY{}GHHlqB z*79(MNb7+uG$3cK3ugwub32iJD2C4&IH7a)M5+#!WtXANhOPQ`@H5|^IU5y+4 zW9?u+t^wlc(y*U(FY<8wgj3rBlgCe}>%m&`G<6hw$gTuMb8sKF<4?*6Vc3{Oci~q{ zuDVTUrn+FV@L>`F4aUd$^s@i*3SaKE7cCv75~$T$phgCBt0qV@Zg}tFdsnYhDb8NF zK?~Pwa3W^Bxp#lQO1#@7BF5NY7-*=a!h0-}FWWZ;IJ*bcG1yGX&iFUC_d3|9o|~%4 zXb*^;y35A_EUR6E=`_3Rt)<&FK*X*uVuoO4)a|bM*!5i4>7P10GSlA?361JVuv5w7 zA38=uH!LbWfks>*GMPvx<2hiP7S+1|@zaL?N2Z;HNHCqvP?AlOey*nhWokzKIPFZn zEy=`k>u?zXK7N^QS#-v|gjI&Dd^|Nh?5Vw-V|j;BcaRqB`*d=W4q6#`#nkt4Dahb< zQCxaU&2>|j@ucpBYiZjjYR?Z6>TQt5B|B^V`k&>Vo@4=cv$o>I*|O#iQYYp|vV(-H zou#gO$aY>1WZSQ;`9E*)=qh=Q!M%j*1x?>aCCUI%@sSY-qv>r~W|)g}3CZO8=V_3i zum{nv_S?%wuJrSl*5U>QlXX=>BpOiXB-?0D@vRH)_O1|`lT!WN4~}E(xVtYV+H>{q znD0pTRR&v%C+slE&SJ>bsiwY5270ZZ?J-v!?B!nW=(l=p0f2Vrw3059;of11;lWR* zR@Ic=V=mhKl%!R9>_5lHhx`bol^{mhR5&FMWe47VJTbggAbYOj{+)|EPA|?6r{pAv zG{W;jhW$5I)5JIXXU1*tKwo`to%CqXQg{toWQYlyr# zb@@CuGrmx1XDzj(dvN5wsM7=ojLN})BbJ_WdrstG>~)49trOH#I8$C3f-C2!ro0Cs zW@{rqec|MTvaS>8Gmy34<~s~n1l29miEhzRl^6_-}*< z_b)#<01M;i3P1k&AHW>HeIZgVr!B7qkm2FAIDJz75x0X25rk+t>F>nF#dX#m^}kF} zf4~*PxL~lb;dHa0?`l1ex&{U_R^YU*A0PvK>wSI^zP`HrC&K2V7cC-Cqru+n|H9Y& zxfHk;pbq)k_s^X^2=pZ-9WCiUp;@?Fe}LoLv3?Y;_(!ncS2~~*2SP-l{v9<1_E)!9 zMgZ6z81E?4|Elln1^uEx7t<0%|95L%f5jxkm9G82)Lhj8)%8hm02l-$7Xum=ViFRZ zSE6f?;o%aFj*dXS4jVhW$e^TI;D?P$?)`>`x&dCEYP@*AKbAlr^G2d%byX7p^q|jk z?#XY#1KF<&QA8p@B4k>BVFiM5|IpCT;Na!e6@_|ys!SJMIs*|v(m+g{t5m6W~pZmNc8*Az6JV%BB+-maMAldjdE)7 zgOT{F=}V$}k)*pu&Gi|iyG^sa^)D$YVF;W?BUI-Amten|L{de zg6v5&yfUYYZ9pUgcO1Y4I>}xBxh;Gei|@&DEydf?=lFwkozMeAsQbofZ(Zqil%P z;Epww{+czvjlmI#MY%Kq$psGpwqvXEDpmvNVJuj*s7;B@wB5fFBwSP{*PhnZ)g6>H zl)zXsx%dMphy{mbrykIYAZd1$;aEFMd2UzaJ>boO<<0*@S?8%#^GcZnycpV^`(c=u z*%aVsG2JZMV0<@}oEK5%Gv+wxH(zOfDz07TMs){x7KVm(3i{ZQeFDsvK+LSHBdM%6 zJpjeYdN36m8`KKwP>Nm9 z$q_f*9?vm$Z#GpVe?*cHrGt&_qkxsnVekqD`23oVf&qxR47c98g~aIpzb57R$69f+_; z`eDy1F8ioCuxGwiHM^L*w^ii`yevnj#6+*uM&7)9HbL0l5r^NdI)2o8DN3F{qkFJZ zkPfFVt?foG7$%qN#{t%AwSM;A6W5eXaS(CGAaR-kaj7Ub6lb#Bg-w)BweEM+eOUtHweD4;fOg3^(l`{lAhOSDF~7!}NA5d0 z03H}a1tSy)-ST`-#>wAHN9xH0=#3DC#_4mb&gavrxu|M#0__G)ox^a48m0`R#uIp) zT&B0L-eZgAyIeqXYg=IiHSmI!{=-1AXUwSNLQWnz_YbgP3;&a(sn4^dmU&wSzI@{V zP$nxg6F^70Uri~P;GtCp14RaZ3M{bwag6sUo2dSydKlIT5OSJ!qgEklj}PvA<#w}H zpb|UZi4Ts2s4nkDG;u;EwfykQ^v91jpi(}|Y5a+!Yxs;N+h5pszUTqq%R2I_;y~y{ z-Gn1R!;2!%vm^AN{S(#XyZXM-P(W9}#smrqY8)AnYZaUCy*ce7zvO_9Xq($!L176( zG!)|hVeYHnqKdkI1xX1>k(LJO?hp_}N~F6>U?_{hI=^UXgTL8+L;4rp$aLKB|9~x+$+pvXqjr zL^XTR?1i>egqm?G^8+&_euc z#oZ$l7qjoeks3JN*8*_2ttD?w1XmK-VUNT3*AEkRX{k=V3qy61Vkf4|j4ctNK%W5p zxs_jre{oObtxq;yqckA)EgwO$g#ARF1?I2pY)017g zSfr_<@Qo^yRWmb_VSn&$)nVfT!wNad!rM+$bkN3&8vDvq54*1JyOe~~ht|>VNqYfC z>tU$xEBTpn?bi#wE-&>|9*+?ZFU|Sdg&11{h=dWno5{#cqI~|~(%Ce(nZ}N1os!oY z54Os(NyKB>UOQEV8reIW@^>^J*>5@gg(iFJ zlU^ejjOk8eA>kXAh(uKhj*FY0W+uLGsDRAK#svBFxzmD=S)|c{44sVdlsdPe3J_$% z0*`cHB*hn(Hs1$7d}Iz$!z$m0;1vNfmG7nA_I(<#Gj;r+JjQo^y51F%pQzf$f6_P+ zMSa-X)}o}LK@h72-imExrC=jNIN(ccbl&|F5E&L#i_wDV64f7BZK;uU4me~1un=5U zRNOfrHS=aelagZIegpy)P_upjf{0=ybBL2-GxeovW7J3j>+7>nJPWxqoe+l327Y@g zz%olx4-m^Fh&^~dRgqOq)c+H};T0P2!nptE134TUi5nk;1UUZjD$4aPTQ{B|;IV5{ zbpSZRh{mC&9rpHZC z!&bo^ZY?LCt108LFK;yN)o`QO&f;H3q%5phs>+O{frQyYpN%K<1;>rLno)D@#==PUt8!#i>o)YuQYk zEW7FB3zY?&jT?S+AFIHSjG$W|Zmd;onAJ}|&f(jc6Vu8fk-voRUY4&MH8tC>7P}K} z5+bBy)JaKVExRxr{6T3aymJ-rH03P+^6+zSf3Jbh-=*0_-QEdrN0*C~RM2pSw5ICq zjiNn_q$0{d(h^S=oY)U#nANwBF6r8lJxzEVKkd1iwXpfEZ=UOFoKCOoT#d}4saB2? zXPK)MYa^z!_Q|(yH5Kw3h-6jFqdG$yJMh8S_gs1&-v0N=O4OR%^JI$)3roC{Gbw>` zFSZ?LzK4w~J&vcoRr+NH9_uHFCtrJ~u_)5BKl8eTqiM<}2`O2Xy^n|!yK4!4fiA46r!)e@l2D-Pb zw8Xc-b-I7o1_du*m+Y$KQ3}Vz2yWa%lYf7J^KDfZf2AHs)zi56fzS;Qx-=O9XK!q6 zH$NOxz&pS(>(ok$?r%E;$1`$dyP%PMk5kX$`ixNr0Aq6{vnaxmmcv^=C4IK?Tm9Nu zl*X;9^IeJtehats&u*UVQ!b~Pj!kLZHo^DX@1sb6z8Yx1D!t7*ZA$;NMXcT8206(* zny>z=q#91lKj?C59QIqq(`mPDH2LDlBA>ABeU#2lR)AR{ZC*Br(k(|XFRZe5L-cU7 z7>}6YWV(^`0$r9oSFNs93st3BOSPUv$zIp<$-(NJBmgN4%!^H%Eqg|xvEneJJ?$IS z45&+?!ICpQR{IW?qT=KJ8mu$Zx_+_Kw*e=BF@z&Kf&NW3er4h($yz0qBDFTvAe(1E z5l+33<0!czzw^vuq&__*WQb3*I5g8#Vs+AK3=1)kkAO~tuyNK%q$TWUKXbS)ZEivi z7?4N2BQxAfFXgk0s%1R*Zp781xV{MU%?HA53YwXXT$mgoTN2ycjt^N*;Ft375K=Wf zvy{1Hxd2S=%eG_L0PCI?0)t}0HhaeBUMnb4*7c=VSf$Ox^DqV5F+bM?kg5EUeT5b6YLjW6pqw25whihjKFw5?B7f9cvvV-c#&slH~N zo*)mk=^u`iJ`gb%#kk956z0qDJ9(*eA~{vYu^^>xdQFBQdeZbo6{np3I^2Mn7CPcM zWzll2Q_^J1IP2Ph@U`;8hc|(jNw9EVJ~Yv+U?b2Bq_!g?C-}bHo$(J24-XCtG`Lp0 zfLFjb(=FAp=KA^?&yw^NG-)fDlHaq#4_2Vx)6c*sHDR5mo{urZ`ed;`N^}>l3!yln zFLY1ghE7N+wZ%p8rPpB{se+k>bC`sfF6XWT(d;2SoPyCGU(%fdBdRLKq_D9kp<8^nYqg@1PWX7JNQC#d){ zc}t#USGV^{w7q7huMwUS6u*4vn{K#b7gSyy+y$je?H>Z?-(C6+3|#VZR_3`{&KAfn zJjlQtV=GFpkbi)^3VbEMUt4Lw+Hp6RfFrX5Mr}Vzw!Uc7X~QO2$EfR7{D7c*`93bp zg=74O!<1T`74A&VkQ0?78oKXT4G-S?Nr_N>MLSLqS4u>efXg}SZ%9)X7_?0^7aS-i zPC$^rm2xLgof&4u8i%ZBSOcMCQ7}-=6&6rl2u_%BPUY$v4Wk^S;B0@}HX;Vy6JB}W zn)0**Yw_hb#4A%N3TFCdnZ?$_6$=WBtVk)6EMcy7$tyX$?=cSd+5WieFbF1+7u_`} z+0}|blYHFoHEXUX6p+M5ryD!|)Krta^+i;6|J| z#T-etps1VcDn^ug?7rio>SJx0m2uS{g<9;%ex|RZ8+6~Nldb!exW|83))Cskuf65; zYq`F@jau3OeZpthf%1W1EQ41zzy1SUL zdwa4t%U)EIM&>G5HFSyd=`g8|DMGmh8Y;!`W#DLrvi%Earv(1s9Q_E#l(MEzIK%a^ zXtF@KZMZ#kPoKD8S!>i9a%{iHKk{*E$lMGH>V6sA(_TqQ@ff+ukC2lkJzjnR819HU{nQ}GBAUMStGfs}DdQ#Qk=x$eyj9%9&nY#<`K_};0<8D> z<_Am!sY+_!pZ7}%hj+&&W!_-;2sUILf+W)n+r7nznP0tsys3&Nj=}mniM?N0SGDiq zgd`p@a$%(Qv4o$Q8MA{y6xfoVWSAIAI-2kcQA*p}ZOhwg(H7c{?F{f%^;m)aGdniv zb$U89B9&``GE}!*%4dmJ!C=^XtV3=ob8DeL3C zx@H@L4|Dq$obAfwjvY8#G#-1)`BXf}hIdfuo7@Ct3mHEkV9j>_1**#4C;r zCYgJErj^M{tYhD{O#p3(9G(~TG7e@X%vm5SqFS)GPu0h492pdEK@+6Pp5dK9N*wT! zPbTEARPj7AwWM)n1YqBpP((b*ROx4P4=CSSt!0QRY_J)IcWpA;zPXLkzeDgeu7wUo zgw}o1IzzgRViguDK|iU6n5i}zx9C(j%=cTOz_^zmh0SHFXXA66s@=7c zpX)Zc6nj|k`ta)!pE?b-K!Wo0&hgB7B^W>Au{NCZ3=h?MuO$~*p{;l$BTb+Nn)ovlDz;z_#NpC zQ|nqCHZkEU|F||b(e&xoK5kNQu2lvrezq@VN7Pi@nR19?UnS4mn`9NkPzRx#jpd*a zwm9WWF0xnMVT7hKnt>7;+jk3JVO>8&pIV>W;g&o=c1aig)nkux3ri+88IYTjlZi~x zA+-bZM7iToE|G>A_-MtTy5DrKOw@RmklwE!&9&=bGq9UXzrr`n)SNT$a8&5#q}5f8 zvKpdLB z*m5ZjRI9F-Rx*XbM6+{P8?&-YFr$Eby=`II=~@{=AJ->d)bHGG54kWDt+9<4@v7`? zj{*EMpc_|j1L%CVk~taFwu8|0J&cmaQ*?3fTVq3)O_Cyv*-Vzg%BNlr(KRN@vIq+e zXPyl0B?PY4My{d+P^WS-jCH{**csV;I|~=8gYyDVBe6r*XKPjL+`K2FB+9}T&@FCL zD>sAdZsy^=Y1ajuR|t22-|sOF?Bj(KdZ}&TeF?Z8{%;Bs$vV3&*&k zrspFM2@cB?eeS3A{WC$`U*ag+0p-&Q?Q1Je4>K%jyE7bK4kfqHE4G~N5utaQnl`QB zVV_jl`7w@;f~A&cb2l2d!Z^1-C#R%l<6%41wM4;s|4?1WU~ z%tpW+QDeY+6LI22l&2H_se(K}i;emela<@6#6~Erystoe0#;Ga`EX%6@`me( z#;byg;GNeohFVH}=gbm6p)PG;L@o77P|kNWC_K5$Ytvs$>tA>)`UIR5U(6 z4p;Lxu?JXd)4_83t~jcn_kV8`nT3Bwe|Km#Q4p(ZrpH7!9qFn(mhgXdmT=bP1W_LWb0-CQF zA~J8shz-LwO-?4a)ZJbfKM91WZvB)Fe5B*V+tZ9yrqgmqpHm-9yr%F@pR7^eJly;! z52IKvebF2C*;snK@c9SiaaoGBQqeAjdU)lxJyMCub%mXWv4nDL7;hIGto?PTD!~DD zB@O)Y?p?t;eM?ROBmj3LUw5XBR&Tpo>#o5NoAg8~1X{-Rs~d*TUe@uToB!4U;)8zj zp4-a!odV2h(duP#$T}M6=fF;3AZ_4Ak9SO?lZo|DZ7HwI>rwRbmXe|F5FfFY>j8f% z&4S^QwEd#V6Cz?hL-0G4cJLAY38f+IVBE_0Z+zUGHz9ZUE6=fa3rR%%3EB@%AUB)u zlN7>PGLP&NMSi!I9ui+oL?o-i=*fVnr;Ajk_jb#_bG?rA$`6H))p}Q;WWaY&Uy8*1 zF#{}fQB&qN%$uVnIv8dtyUwvJ^)v9A8L#?yGp1VNL=B5QkaD=){L<>0{=& zu8R2g0pjWxo;dxh6>|8#_($p4+Nn(pWu{5LK=z*%et(-y{`AgSad3p`1#xOw1nC1N zX7KRmrIwdxes+pZ>dpuP9~RTZw+j7&n)YwZui2P8Qq0_nW%Z9inc0GP4w~?wuj6Q{ z=yz~rrh?v2EHh#omTXRjKN78TU~SFT#|@%&u?)!BmQ2>o#$kmOwKNX5MA!Mm5g;17 z7eJvK!NJO7=zV@4_sXu(;grm{?OA0=7y5AZ`^R3J;&BGNj}y(;lKw$@)bP&me4V#L zM(40jBt-KmGRcy2789zWUy|bDUV5`8jrZ>Id~{VzJeyc1MtMwaLXc6|OiG8TOeT^! z>zv%G-Gj0f9)Qf494%3lb+>fWJ7@Y~Rh`;ICBCYm!vJ?<*imbsgbjh-g zjsvqQyI8pmj=r0XO-qEL8-G*J?RvB2cZ}T{$sfj_G$9+;R=DgA+RqVr z#T9QhmydMs;g0ud3LYY_Sy!0)jm93B%*0GBIImbt%MrOL842RQm`+d+F@A*!1|QE8 z^Wx%uA{|+AJIKOeTE7j9#5~$4;j7&rvb+w=bm*^Bdj^*>FxAeP>9OmW#?mNS@LN08GWu}-3>rzv(t6pP2naU z-`+~xlOLMk8v_gC2N%K10DY zlYn@BTD`#5Mzh=lzf}Ou0}68^#)!PmxEO(}(#~)SxF;e%aD?W9SwPv>u0YG@c_qSe_(|;`+mQg>H0%pSKwNv-E9YEb8c51w$AluPYxRY#xrh zn%`VzkUlsS^UhbbN|!lHaN2{RvZ6VdQ-h%2ETZ#umWW|tFa0IGT;$4*fy9j)y3qFM9rC0bK zl(HN`k0ao;M2ipe0_oBls&a>yyD?R!FL|iAn0Qzmjv^t3ALAdn`HV%{x0BaHgw++4 zmTAcZHgkM5B>hwp7n66jl8o_mbUv?|>ZD)wZcZN1lq`Ky@*mtIAavAt@zqZ;h}g#- zfh0&Y)z>zX=Xr{54w(MrUAxL2&V2Zat>er#Ia9AczrLGVkvN_h(K-G%jB{fP(_tiEEkM)ck`+EOz&o%YGm*tfJ%^y z)9O_50udURYNO*c0t>SZclNDfA|pX1nVvg&t8Pmzw9}1I(QMca(%ldAy*+V`MxvLh zAFx7$@bN_9?}gzeZoMNwEFkp(2=sH^1`eE%jyTJF7c0OJ+@faC{gq)fi@57=;C2fWd;2D4clu zFjlKhuz9#cZa3NJWwfqc>Z9A!x0yL0=7+;01q4Wwh@`|xJ-42TAn(uH&8%YxF!9T4 z{et7EqczR-*ua(K5yChhV#+c~p|QiXIzdhD)-^@gDj;0_bOSX=2BjM5ZSmS{vQmqe zHVB|ZcigpaygJvp`Q67DN`WvFYYOpjy!#=0_rClF3rPmmb}IogZ{Mrcs^$7f?fh(n zk5YGWGo-xqIL+&6bb2n*v0-5NQnBhbTwuK&n+)a1;t~GsQQ|n`MX*eLb0~-C$I+@G z-NYxUy{H7!y1Yb#4nWy=i!N)EZP;~(gn9)i>t6|r=czu$PWSe9w5L|A+X0;`PW zwJZAE5>zxiuPmgJ@16+8zEpB^v326I5f?gu^b^^aA^F}(^t5yr1cJjHTk2g(moGyf ze^HP9DG|CYU7y!fO!1GSF8fHT+VFBnJp;(3atmGxkT#AEG)gy7KiybzwN48#d*{owOG+IT|kzN?MKr(%i0!3a^w@wI<&b(qZm_?+RVX{I%>QQ_-MI1ih z_jSb2-ywsw?Eh+^nM#GAwvc?+$Q>SGfv|XIV|nm#E%sF|Bw|LpSv-8E-H2}_WQHxT zvs2vZ7nS1p2veynoqZ|!uaDOkiV?HjNk_PWq)k@+u3XaMB9ENOcQV4@=U$%NyG9a? zM2u4^G-rS7W_H3qFuR3*`|DROJh`KJARoDn>`IUW{~?`saxr)*EdE>@yPgA&N&(K7jkNudj1J{M|dvY7R}Ag z@$vCXB!q5PUl%O`a!h7`biq(b>Vgo^fO`Q@^P`2Tr4->j-fpE1+OkJKqsbDc9W}ng z|A&Xc=Jg>rYFbrNwO9j}l=Q^HI;H>Rb|Yd1Xl$OJp94#W&++MM#_3=>tP=pFw>+K? z07{veiOjXD-X2f)iJ*~W-U|R)CB9`)eLR-gBSn)ElbCo1csqgStB@gF#(?Wdtzm>9 zm!RMi07+=?1Q^xn3(?$5jV>!I{0NO&~{9=2E{^Li{c2b~m1n8G|Y(`0*>RFFvd=?jn({8r|y;(T< z{rh*#iihiTk@{t@0pPtL)SuQgnL(Ibw7a_tAa8Vjj(w(-DF*tfPs#Sfci@Epb|ItQ z$N{E?P>|>SUakx_Dj}C80NNlLAQ46W$2jES!8z*`;5{kP5K_XVt`Tn5a^z{yVA#!Q zI~`RiOtWONIB66y;g~Jf+JZn#!)t+4YaIcZ$?C*m%M#%vj9jXaMNe-5fNNv{oh~=H(o7=Px#|_Nn z$r^xaQF>HnINwKF+Q9vj#tZallp@@}dSrlF5x4DnCxB35->?B@H5*E+p78x{W@dy? z5^RZ~x#B;T>OPy-=qSQ&oqD`ip|u=r32y$d_ScYK(IR3GDWX8BaICMpbLg8wrCJMS zUat~Ykf($=hs=7dUv5rLhWTGSB>*9IqP!$Jn<7JoX+t zM-tf)FE|sk=o$gh9LwHR2ZhGlG+p-ha$$b{hs|htE~bOo!J+c9 zwCHqVez<7sX5Kek`!CNoEi%}VVguAKL)9#`%;d0fg)`HyHWg7N%;t`u$nJ7oCO#2aHbAOyy93B>g?7;EZz?~D~CVV|>cqr=Zv^(k* zJJNl9z#v6XYBz03Nkx_D7WW+jC%5Dr3gG~40#Gn6^BwN~#`N@60QB0<0=lq8p~2P< zt;S!u0?+`7$}7$V8{a|22hcM5HgEfp_zc^a_I6R3>EU+Eq;iPNyOM<_GBUEzCCAjq z6q1=~WgzMLmkr^A4J?|j17VoUMi@82h!q~eVfU>^W{vu+8vqs)emw1%HeHD8L=V*_ zs0-oet8hDBtOHzXi@J}8xT6+Mha`FoMxn}o?)c)H(B-)=hp; z;it=qBb`#@PWEY6^!>>`wfQ|wIl1u4H}3ZP_NL(A#H;1ub6|@8>yS?Jc_HlT%h5`s zw#4C}WQ{d33_^KRkx^UXbzJC3X5j8jN|F78c<1A?Fe`msI|DJ{o=om80q?JHTf*F9 zX{NeOpua6vZ;vxlZ>C+eE3R893#R5-M5ak@g|(JhKg@n3%NucA!!hW9lYDo{1mV zSYy!YkWRl|sYE(~D`$1+4UcrKdf5{Y9xi?}Ix3v^QbbTv5>k!rFgKpUlI-33MiB90 z9k~PB(keN~@DF%e@Svzt?dKDKn?09fR!R7a5EN(2l$}<iGAz0m`(z>@|+Jm@<_;q}z8 zM6Oqu|FYx5VBSh1afrON|H;hUS${RHX`4a)jW?r#Ge zENyw_i<)9#zVNWtA@e`rxl2fj>dz5qkHyoaD8pPsvRs}&LN)OZ-j+4&?zb9FGu2*x z<2WJ9-2@#m~M! zvjB#w7p0z+6B|C|V=dTFdD}s2delnOW{UH!s3Av{DHi<&K(*K3oA=xQbny$#!A8 zLl7NVf0@8VhBfT3%9wfpyZ%NR3i(#3{*Uc%mJUeLQpmr1ElC0i-%Yud9;37acNuoU z+CO4ntByGEH)g&$2kX4=OAaT=lVc>xyc#oO=mnbp^g#aWa=uw3|KId5H~c>=H!zSw zIy~d#`~3R{ui}0wIW-A7?AQM5A`KKtq4_YSy(1sRNBhr10DR;BUtjmf>(XWbD*u5> zS>oR!AP^8+v5>wv^z`)9SS?IXEBtei+=ul7GN}4dv@87+N(=&m$b@7|97E$g8(_ZMRd+Q*1v@W3>X@id=L#< z_UC`uD}W!wn(J0aqeN@E^i?pokR~Qn9`vJUl!=Q}`+?JJi>A zHm?L^<$y0LU_DBNi@R0bDh#<>Ri&47l;=s;oY;3XRM3zcnJ#bp^l7R%@BDwi&DCE7 z1Oom1`O~J%iBL>MWtx3NfE~103q-xc#OKLJTELYwEGP&W1*H(ISXE{@R{>-K_v?!E z0eQM%n>#z!a~0Wu{o_^P!oJn(534bhg;^k|Z6? zb185=+V*~}n3gu2%E+OV4eU5m^NKi_@OR#W2v1WN%*Latms zNS7i>*z>Q-U?ad!iHwW{cAFQ#S~EN_&?YQT1Ck)~*W4P&%a@~Ns^{}1{S+oWpRVxU zW_NXU{Y_YV(7C~vA&%9JrTR?zbtllqB#)g%XV%x6vi$7Y~ZpVzR6#kqISa)uPW&WU?MYe`EuJrYJQ;ug1~6PxdF^xd2=Q89o>pE2fkbHcl+$8b z0Lc9S;U>MIhM_H06%})oshu>c)4@GKd7=cf`_rw)u+o=gmFQ>7embGE>^oA1S+{48 zVvh#L-Vs$a%CYRvm#Hy}oO>_AIycQh^e<`$OSugi?uBEW$dU#XWq_1%stRZU*-_z_ z0aq>zr455{m1-pd3kKRJVC^1btSVTqwt4}aq1u~eSJ~1p7m-VUx3vkWD{;7ebQl@W zw}O|WDNf5lvI|r6mcMwANgXB?Hfbm+lYv|64FXs(=>YKbU@|8SbL<6B!~=K*MAkL} zgQZQ^8sa?Tn65ocZ@qF(F=w~-uL{Yfk<~DRWUlPdPRr_@&kRc9>ba`^9>)N_LXSBB zXl~B2)_Q$;(fax=hx{sl9)1A^=9J~?LWHC@9aOg!ClZ`LcudVwq-f|GsH=Sj#feoKnw4{dzuF3X+pmcKT)E1j%rTZy_%i(22lduXNkDk9Q2$WFpr<^S!hVPL=v&O7&&Xw_8!w7&1rs9<*Lj-`jhI^8z`x>vX=`c~a8NUcQ1;uO5aQw&o+|+hU>9-L;0RoV9 zxdXUi?eVE<0x>&16s+arp%VH6@W%j&#DrGnvrG<8@kAcs2ch(4kVJjL5A19Ic7V66k+H0Fi#%grPm0kWr%jvwT}r5 zwLtBu1faK7jtDIruA?SJn{k~n8c!(NLBuZN{Xq7DHh4rp!2=LjH_QS`Fwzp~1;KM5f&bM!KtB3m!MkAneht4CjgV5IC++V zda>%)%)Qu3QBq=ZWnEd7ljx+U{K?oKa5e(~nwa@Bl;gSPuX}G8t;+mmq=(f*4U!N) zyoXIhr1V|odGKxD3S*yEb9I^GMxbWIp|jdaf7(sx;%~$jox6j1%dc-Oh+PN9Qe@+2 z9cFguu?PcnZNIoK1W2!FIa{uXZz!%x_ZKf{0L(mT)y;P+w|f<{r;(qm3{Ql!8?64+ z2PGANM)(&k-U4`)YLEl_S-e_9b|ig+^}#IuK#kVp-udlrnU9N7QjVtvbgS_ue$m#Z zA;6WYXhGxWOlK_ZMR4$uq*|cT;6om{NW+tiwxr0qIMsqxW=s!2m!+fyyzG%`Kj^XtQUX-kd{|18~JA^)3L zJQ&Pb6y#INp~_o8w-O8#q?*pU2?eeyM0;%X@^^sP=6SmoaPi1ty)2NrbE_?Q)`<;< z8Xj@Wv)3%U&=){<*i#L!MSl{U>wI~YuP2T!|5CC>@wQfSG*VT|whItB)d6qe#^mCD zDQSN{XpT4(>MW9CSGokm&6rP_8Oe2s>fGV`xAzC7>hQ9aUtF$pa&tA&ED6Nr7J4hP zgn=4mGf*ys#lfW7Lv35=4kr$2)k8qr+uBEfcu4qu?8fU>`QtJW$B3Ua#ER^JQMPM< zyb})>V3bA8rNco}i2x)4OvWsU8Q=uA53>4?(R0S*N}cA3x@6rJ--^`AVO3!#?4F(^ zR$yV80yejkGhQ{doBrDUPW0xMaSMmS2Qv&1Dnj#~lc`RxBI|g|Jdq@0$`ajPgqRx} zJUDE##lmPn_eaUrOc*%p_QLQSzkg(#5E7C_(q_9$F{Sp)`F3Jv?a|a!0NQ7(?i78+ z#5k-}s?&5xX6X$x-i*7+l?FG3*_~|MZ?jA4aSOxh){aag1K~pB2Rl380(=)SR(mTJ zooDZa!X%E8TYxqV3y;VN(Rw^uPz`$b%_ij#C{}7E4ibOJs%wuL<+xpPT4B}h66{K2 zblU*VyHZ8FwV*^M))_HU9ts`{7R@$lKW!&$D#F%)(E%D@XW)I()N(R=P`9W!zVkpM zD;p+Kp=)&dC}sCXnvTm+d;u4Nf(Q)~G~8vH*ND&EF^-L+Sam;>>0>xdeeZr2=-8EQ z{F3tf@nXM7p1CynmFVH1%n1KRtZ+begzNoess;ObT4HL2v->f&sS-l32t4skdn0Hl z^F+8rT1LFLy(&2?Csv>O5p_-#@e!#;Sg|6){c0ox0orI_^e}!NTvhD%1vFo`-PCn4 zv$Nvn8~{CwqUYYKkLM1cbwhIk8whC*ja?YPgR{ygn!(d6Shu9rY)mrM`8p?-)61By>-9_&F@;IWg&C{4p#o zZNgOi#@Q~Z$M5Lj@MK_m2km&WQ@tyTpDT>W^VzW`t+uyJp_EarvhJ6dbDUE6-_z19 zSu6X!vZ{91h2S=I>b0fRhE5<%7!j(0fcHgYz&>?4>s!8Bf+QN=9s9cCLSLjqE4WeB zSxfM`Fi=fpG0u#W=iS25#b9~)TarE`<}kxJM=m$|O0GJ3QFO}^$G1sK@H(nhAigvw z`3?zJ)L#9qO=v)88=Jpk>3pC14EsJ{O%C-3(Ps+-+Z|>3%?~%7WmwQYefIJG;vqLB+l;2)OC_tQb|Oov<~d9RH_>K^ zrQ_uq%uBox-?mZ#l-AkPjK8wcZlffipU!(K<~(}{vvY#Q0g+U>0xfEPx7h^k#}#ur z35OG<-w6s7Mx#~l&7F8XE_BW7WJP^6InZzX&JLdn22bif8{>IYRh4BiuvxkqHE%p{ zwcMYgPcD^8V>9$I4{2D>gI%ZZ$Ag2- z&%L-bCc@D|hpqc0FJfo|b<@=W-{IOw$`n6C7MtbVFLc|&?j2!as;y>4SdE+=>HaHo zMR1H9@>ql08_OLF0@)!hr5P-+U-kgk=8$^I6dTjxu+gAKJbRH?tO?0%IV)a9<&GGU zE0Ac0AR`l8-qdv(Cb#3?Ezo>UuKseeqxP#@zM+4jlDEe0T#fYa(LC=ROsckXGx+hW z=Pmys%gzPbh)sgHGZq`EID9+d0b+Q1EeaN0aPB(>)hWKXHz7dh_1A00ud$L~$_bza z6u@-Osg@gtY3nV*wypc2FONC`{3<38s(M>@#G$f=pPnB^Iei!(NP6)7~ahQv}FvZ*Es;9 z1+g-Z(CY^!w-4w3d?#-YQ<@YX zcAYiOjor} zWBf13Uif>3IQo@4&6p2@Kr~&{srJv?qB44K-di>I`M9XNtucZ#peO z2Y(g1NlSrW92ZQ*QEybn^oOxANENI5#HD&>ZFUHcM7_N~64Wit%3S%*7Vu_$!}eQo z{j@U{^X_kvg&9uGxCeU~$drHFtoiqJ;0t-(hRn;5#Gb}=f@60Wr$Y={+Sl8@D#Q`E zxIb3l#sU~n`BxK6B#pJjYz}@+1T~l{{6J&kK_~u-k3FTir>Msys5Bav9L_$Cy(iI; zx1JxDp-YX>Th0}z-IvE1J{eBr_oW;;%i5cHASO3_<59uky^vaP*vpFY{vxE=`p8pT z|KoI} zYUwzK`I^)<6{uO6x-x0Z<@*_qVc%qeR?V$AMIiBA+tUoJq+>>f04_Zl8Q+oAA*O`sM~G;g=k>Yh>)pbULQ3Sdc9} z2t)dj?k+nj3PP-GM3p|V7C7wu&Vur+`p9yt@h|<9>@%EaF3odxIiH`|&f$)DV>Q83 zlre_h{iUBHB>#6X^>&^5XeCoamSo04_RL5mM5*NV`uU7%QO08EMMnZeU%H|Z^Inyz zq2Rny+NFB&k91xo?%ZeSFZwl-xrE!?lFs{4D?a+o{K)w}88VK24j3F<2DBto09 z(ys`*KKn`_Af8S0?~DfS?JRP*%x%{)3pR96tQG8*>*D{da$(TITreEF1-Hv}vEzd_ z-2^oCnL$-%4yZhNC_0}GU3e~vGKetEX5j*f{PD`q-nA9=ptUc3nx%PX?2NuR!+_gX zQhYQ#X)r-Irah0Vd^l*UA(Su2jbU>622)gxSs=RbYM=QX7Jn=1Y7UwxeV1lJ*sVcIl#2w%pPOo~S3t1~xlrFJ>J~V)+RBQu zlCQE}&;LFo_kAyP)Xiaq!w`a(>>vf`B$o4V=pT2FB)6OJRxx&j%#BqQ#cYdF7eGiI z-^rF~t;7J8)aG@|q*YUB2D?7`(cyb8aGd@E8|o-uH)IXc!vCx=yZ`gISLJly;CbX~ zGrOyL`%ph{?Dc>cuknQHMRG^uRmtlwN?B4+YSqNrt2W8?Ncea9!Rc0bLN4B#Z4e+q zw^F`hsm5wAAJ$q8T^vr$NnYoNa&O-^-Yd>`2)DPKG8bA=&m*3yysn}pR^6&qFt z7NgS(-p%=CTM^r%4X>D9o8ZLqF=h!N{D74DiLcgIyhDc~CaE>$f8cG|Tz@_PzORX@ z)JWrNc)7ei=$#X<#-Kk1iceq}YRJ>O6X4b~fv^YRB@p5XTNI-+4Mr zA8n|KQg3OM@6E+Y9-Qlem;-bRJE2tqZFHfz}hHm@>B+2~Gewr`a zW9+J`;5P{p^;8npvnb{ILohrz) zlHMOuV4AG~xQ@9aT8YXkI%fy{MTEjSZ+hmBeraI;#g#05`bBHOgLn=nrle1DZ2M^^ z(f_r6cUz<0^t`X~ z%HI>Z(#^kGpdL$*tuigZh7X=qC?eUxXf!4C)QFERJHQa{$e}Sh|JI30ppmCRvK>I; zLaR_3$+~zr%d4I-SZ}N2u+10Dr46?l`l>q~k|x=hkG$0tL3#XCV$hAhP}fe{o6KCO zAcYYRxq|O?ZueiC56i6|Yn6z!M;k?QiPd&n2u^(yH-L2|&99}T)|Kd4ju(4`YhtrV zei#s!Sfr2L7i^VW6L^LPLpSi<{^D%%h+~V7BcA>lPpjsdwg{K|=_mS1A{Ui5t)+wL z>v8ZgL%3WSckrCHR<>KMF%nO^c-e%k;a~!*5!U8gVYmJ=u3%owjWFv%?u5?j0O*Sl z?@lwbDwBFzNW@LV0Mw1u`T;Apm8#E6djm|&7BzT^;Pkb>mG0>w552G=L=J5Ge3_lt z_!hM-2xpy?k!ZGhj`ZL{ksT!{Q(~ogDX0FmIsR*pPv%`4(bIaXo1|g`i_`|d{IRHf z_FFKfnD=Pmdl&!{CbE55_}<$vZMGSiI^@q0;bCz8qh9-))^$&kB{?|Cvp+qquFF_n zPDhNz-e?uko~yBj@}l2|FJa@_n()T`>va`XqO%~j$a8l@9AX}f!cu_K4*}a}iFZv6 zCisovz49iqf`i~j_M6|O!X%Fle_Bag-@pwWNjkcKB=!wkvOdEhuJBYGwP?}jSQ z;~qkK{lv?;LiEfLO&vNBl3=L(mmn1DMF+X=IOxmmvkMABMa9{4!YW@!9Mx=x4w@r1 zi%?DdSX4kdHe2d4ys2=`rnvfjNYVb8Fge<=`p!ZX1g4gi1#?xu9O6-0nSy#sAvWt0 zCH72ZD-|k>G2(7^%BOa0?|3h2rKQBHS$`A4A86qF?r)nWM}O&M+x5+Jw)cXxto z(BOgK?(V@QxVyW%yUT6%xo4mE-RD+)|9n+cg{no?T61>K?$P7}p6EF|X3?9X`cORahiCi^2%}sn6%!7ZBl;8XeO_9Vv^wVxRV!h^( z)}VNn>HG($PfWbS+OWE#6UIrJlho=sXRZd#7icT7OC#CH%rg5r6l!Ci7?odajmDTw1lrn$NtOr1h;NWooOK zUg_M;Q4!_FdgUl-#x&(}ZYnsDk;d3fab-cX%URy* zg-c1vWBv(%B!7Tpkw?@9MJ+M7$7O$ulwtmMMP z>OU#1E*y8nDC@(>V za)b{iGAq!qOy~f->%5a|^~+`gI*8G-Z4*I5K?Ncwz)2)`hg?QsC09~GQ|NM{lyF4^ zDwcjE~M^u{B=}mv-tR1RmTxl zWYVEygI2tSUv%*>_*1RW&&xR*{_|>N{8|O7da1TsEe3-8& zK3~%;teVZ3U?rRjZ#w;9N#Ms{5>URN-AhvPXm!ch^ZT z-48>U>EAbbOAWDoJp^kOC{v>r^k%$C0(*}LZ z_K6WnL}M>rK~N+?^=gJ4A8+G1CdteEUjq0zotFSlzv)$g$pF6>5Xq1=LMu-UcF>A9 zh2I(Hb{>Eifv?J9qmQTjm4;0^tHghFa3fEkW8*H17x4>4>=yHH?Ghg5eJQ!}sL|wV z_+Ov#FK}Yq18CG2Pk1I!e+$Zg|MD#g==SQo%)4Oq{D+n<@bFAJJPoCZ{9Eh(`+pHj zE5Ys`ti0T05cn3yBMj$7qdpFm?ARk!`xTbh6B_ERvD?kIi zG+QC0VYA)r2VUk#*i7q$``(EE#lu|uY+fv`b2vz>v{<-Jb~)Su`h@2MX#e`$i_(5~ zdgoaCIPdZF@T{P=wzVD5{Xft+9C)wSxpfug<%@1t3&0;uUr%qjn-_Sc z0o7^-%`fcg*@GuK+Hb%K&_~+Z+V)ua*T9M^v-x~y%o=hD0Hr{~F-a@{8E7+;9o=TYv*Hb;9LYW)Hf||TX}HiPfM#HE zye{?tDF9Nq(Gx&88T~o7Q@tft0Pghc_tWtvX%|puJA8NhLXXdYE70Db<0&etzyVs- zs(WyWeBibraV)>My#dY1z9eyBwP!Q8Ix`n<$=jJGNn>*GbBKN|l=w&q+J@ra!)(dyReQ0O`o+%Bz8R zR&D_CalQhsqRCyde`Qkt=j0xjd}iAGeSA{Ce&O25B;a*UZ3L!~KglKIQ{y-x-fQr* z0X}UWbWpTv^Fsi>oandMl176FmDA6}>^NolJ%Fu0V#_WAY5i!v_6*Dd571_D4UGU7 zSM}@H_{2m2W$I8rk1=QlCO}5KM)||S1I#?J3>%6s$-&p~2nZi>pE<+AcSoaHZ!XPo z()78ifVo{p-AFo+m1ik)5}5$SEFMWdf^bgZ`;1@PH=g!Vi`j(+_&!4qZ->M)lm>!d zC>-l<2>|%xBSQr>GjpT}Dk`c-7y+=z1M-aJu*Ypb3h-Q%Ajdjvywb=lM7hjnNZm$F zKEn$&hUD_5Z^X`cxSSAIZ6*z$@26x~@{;2v@vZtfF9Go)8uryDy;k?^HE_j@w*~}A zT73+idavCJTR1}C0SM%BSOtUk+ngC0#5_Zwf6r9eZ_0l@?cbsWUdk`z>aAT5FP6qcF!b_@cvmL@Ije5S`q0|NsA z7ia}g4r~Q+ewDiiU_1pN6Z7c;%i0ahOv=?n6;EKPn#LdE78{5cWXZR!OiGQjXm&dA z;pcXzV5kPTK+%!8_Zs#id=)S7S`qyryUlbdx_SqGcK~K?dvz@*@-mhDgPfIa!=USJ z+uNNNugy>E!D{u}SPq>vgY7h#PuiEmcK@SU%C||C{vQIKlGzw1JET~M|{lMEF zg~wB~FA={!%B(m}{}>efYA&uv0tz`eYH=Njfah&K;AdiF7VxUSqyQ2Bee55r?;F9( z9Lr|X|HW+Ou0i3Xf(AqbqZ^JSQ1h8+Mlcb7Z3*E~#-OCKI#>MWT8-Gs74BV~*W5SH$9$~h#2SEOOC1Fdj z^8~&y5(DX`Ho=widg;?nacn_DoN#WL#mVO(f!7A}dL2<+-KweXFxO|+Q(5}a8{x$Vq^!2zkB!c8OEKJPR zvS6=sp#3x2o9(R!zr*5{_|3dU`N5x?Jt-p0HRpvr=9xr2)huL<_!CGUnGx%7-hO}e z=6Ji)8owvxBEh|UYT7;I@y}W)cj@-*?jY3X-Z=E;Uk@PZGkb02^IrF>*S57m(~Bo_ zo?Ua=A&ndCpBFF;6O5+ZTSO9@QryOYjDI}AbU>O48Xkax8Y7fi8OTn$JKj$=48>1E z{m*{=uN_?a3Rb@JmxUN1>HE50rPCrdx(Zc$i9b^dOFGYHLSwoYr98|MG=pFzDg%a2 zPi;cock^;ki4FiZL_Uf0+GNr|6SRPRYYD5>iNe@Dwgv2NNA^Z`*i0MZq?^s}fbDXd z^#VFcO6rCp0a}PzOi@cen7tQnitdfYr-6uDv{bH;u7~2&xobMggyaFbs(!$7|)_ek1E~UP;E=|s4Z+3p%1V(U zzOLXEe^MstyCvnQ0S56kq%X&8g|`i&A=>4_iBS0Dm^dSAZ&}IR=J%h|fxtnpX8utf zdLsLuq1Cu1q(b2D$IzA;+lHF15L|!es*yQiA|avEPYiOecY=kP48ME*+c3L)GD1PnCmdv%a4Ja>X+CNsbNszd0W3q7$#ZJVdnFdn&s~;dy{L`MU z=~_oF*unWEkZIB}!|bN?xd_M*D|z?XK+t3!z2NW)G{);KH*x;FBsOeVqBE^TQMQGK zKEUO3W?`x;UgWR+P zy7eMy=cVSuRiR*?1o3#g#TPp}n%w|xQugc}0r<`2Bp<2;D@ncZoQN<^Ek1>Z2B5MceiPtj*LT3ym6%;*CZ<(p<_RJ_I z{vQQXvt%GZuIJe^HN9?J)7H>*DRKWNXDpyjMuc=$=WH-e|DX6B*((Vp-2Y|}1~dgE z1urkaRBN*ykWDMM;iQU?{Bs)xPw~@RfXRBmHzNL5L`^)r4B%AuYq>&*|AzPPb-~p< zF`jdk{&NNf2zZ0weqs4b+3Wwtn2*Cy!gn9LhWDEPxqyIL?__XZ@aFHpN&T<4Y~~jc z$iE{LDtY=(93ju z;`y%bqRKh_kDK}|H$DHr`~qJwHB(;dKg0X?IOl%`#eQ||@*4k-*C4@Y;=iYidd^w? zf z5ooG(V7&i-zdU3dqYs1|aBtqo$;wWaXr{!(Y*mU$NIdhf;CzIIjlEOp$@HIZs>P0? zTw}EYtksL_cJmj;AL-Z=A|uhTu&Vnek}#^xW@G_~44NbvWMCgI{Sm&+4=-F{@D5*zazP%km^wQn~V6z!NeD1oWA-f+AS;Z z4y|7)t9Lx#@6@kQO(6CI1wuEw1tol|0VIhSV7;7te7H+-+Kd~N$oi;7Pr+a~m2!Bc4M5;V5MhJE06YQDbz#Mz$?WgEg1L!V zJbrgqclSq+$FmfZ30ZBh?9>S@`(wWrulVo8Xs-W zrdk1(7evCw#s*I>kf-3t$@j5s8cy3GGOOv7V%zu3~D=UG|h>$c@^)vdLQGAbXz5C-0-%kTu#7CaE z3eE2f=1TrxWtV(5K^>`d8fRu6H7Fi(x%6=*D=huD7l72$o&H1be8k)z4P1Oop3-mU zNnQ3iU>M|_K*D7Kz!w~G;B4M!Iut{zdI=7UgqfyUe7qnb5DxM$)VZmA1_;)A0DaI1-T>@>ZEX#J z<;x&_@=;ixuTvtHAuTsIAUTo^1Ms+d^MgvoYT{iY!Ee2)s@E$06~VKj<$!igP5abi zoOi~CQ56KsZ7O{>23=h$npj7(7o|B#zaTqa;xs-1U5RK*W7N3XxIuAg=`MeCoxrDl z(Q~?=nLB?JZIQK_6XWPXRch``{;7|OPd)nE7=*Z@O?~fu1Jm8Y5*yvT@-Qj!d1-OT z7lQENVwEiNE9b)k+a$#C{>%0+wVC!IS;icJCjCY z1-Us=d#L|HRY${cn>3Rvc?xoE*8)87$9IAY{0`AZtV;A>=C7brd@`JY!F}?~M3?bzwGH2UqZY<=pvBp#D`J=KxC&ece3BLklh@hCMz(rJD(fZD^@v!@7hXd$G3X z-9m!&=A~uC&^*P5h&j*EYM60uNFJ^VGsElS6~I&9gPLkhNW&UG&-KmP6vLBee;Pvv z%z#CkK3Xu*G70k3Q-9Aa!=~2#m=3(9eg7V8tMG5;9%;5Yt%(2dflSZ5B9y2AD*stO zGmIH2HQCI!gUTuU{pl0Ur&}c>qwP%b$mz@%v$2isLHdoq%}W~^5;<5wxyt%-do>`? zEo7PUbk6xPP!?gnk+)*fYwTBk2Kl&cKyp5S`t2mER@m*`Jh`0b^L+}hkEE5_`Pu14 zA7$9f8*m=*qUSQiM$Rfog}os2rU1htaba%CNd)S}#a3=5tbJ^Ebg*ws@M z?wd1zjW8Rv&>qCU1A?DSWK&DFjv>|GC486a&&zDkCOr=U$_80sT)rR&;Wf(NZ*`DVxT3?eL6XC}~|FM2O zU5YqBym)6$LVR%|$K~%U54YfMK36g;%kY?U&Kzn|{Q~9f<%EtSpckfQCeij|Y|6hQ^p?RBZ%xR; zVMh3m`$K6UNdy1QIvV;Z2xg`#3^$mIx1iriB6D!{)3sktm+9{80{@9-a@`LTXvqr| zn4I!@!hunva5P=&h{2dzZ7rOpIv& z3&BaX%<*=zBI)0&B1(nv*ySH9d-T}SfJy`QAId#KJcDIyqOd5_pJ9kH zt#A?0`+3{}|U~z58dC3hH|g zt}`GnaJzLUy%N)<>LS6PyZ!);-~L$v`}>x;MgDTL&MVF;2MhaEzUfIvR`{k9`?0uV zJo-*6Lx|@}&dV2G*p#)rXc>hfVgU%MKUH;-pSH}p3FoU!PVArT8I9H!MzR23*+5P+ zy~Zmys2dfdlxc{SVNgb{b6<(6)eCQ-G$Bs&-PkwF(IJwbpZ4l_Foak03|LwXk~n9d z1@$VL(OmO#R)3Tbvv0Yy(qf+4Sg|^!Y9OMm){KN9sZFZ4r#escsmz)YQwLwSQdd03R?X}bj@U4Cl(>`~S%3Ah;xCai1e&TG@01V_`9 z_ww{onopbe!J9H^MQeg8+y}P+dfbhQ!(f=zQRI!fu-J0nbr zsMC_u{vW>2v^4C%;rD&$Uk<;u8A??nNpQTXr$@qB6?G5oqDmnwc1la``l@H~xm=!8 z3kZ}I>SLuv9`#2F){JxGoz}2*N?)9D8w!Fsg^&oBnhXo@5AozM{Li+A_N(lK__SXP zI-1U$Q{SzYdI=h=JTkf^Jp3l!`+5w_^c6FmBU6`p^MUvmlW z#6Y>p&|FKNy88R$dHV%vGp>d4Bo9|!+Uer%H*e!q_F6ufX>>`VvtWAFFTNiv#CBkj zGZqP{xKA(wfLu|0PPetaOkUyc) zo9?oO!rf43ApeCYTIC21-RMdc1*gky!A|oE&RrHWm8m9T+j9se&1@&3Gjo$oQJQ&t z9(-35UxKJ}wP`_l?1E$`7LeNiTVJIK=N%zdK-ZTYS?RAI?5tIT|71ejo7zmt95ksX z^xa1eTt$fm!>Kn8fK0b?bW@w}<6)v?9}`>(;lfQJ-+%=uKE8jcdGKBnJW~WHMArPdO2i)#&&@~1OZmJf119DpMBTnDJq3Irn*R;Rd_ z4*c$pMM;uJyFwfN9`-)n#!yBo8jd9t=^0aO{~9y?LKJ)80?UOAwyWa53}DH`ljZ&t>q>j-6!-J~ zaT0v;xsR|}4Oy9$QTzJ1(-0h{q^DW;bXo1~cnRI>|2yo)UWPmfPfaO`Hn_U8=EHz> zzvDp+g77p&)BV-ws==A;Vh^?Cj{>ZP!+55hr-igx8?@CQnPO{*yj6oRtrCg;d=wU& zUn1D7QWiZ zAg%z_;kjGT54}ybG<+CnjghXPmkbfQzS)#G9~#ki=f}y2ajtOa5w(thyVZ~K%|DWV zS+yQY&bItAH=C`(-1`vAk%9j`(sm0qFfqnm+Y)HX6|{eu)U^>=bp&J@8{dRUd{U22 z4huPmiJH-*pC^!6O>Chhr|FJu4)M=WhBMggvyE>+cYpP{kA^W?%%Db1-bG zT@p8iKkEEV>Lhk5X4N3*>jx_vwMUs)thYm7=q2W4h4EN#*^J|^q*0OwLa}Ed|I8U? z7YR|Eg{8$Q%e(vS&%ki{Q19X42NDU=t>E8JU*$PMOh@?8rNk#*4YW#R!%v#iuBw~v zCrMuISr^RPn4 z)HC@9dlQ+gfn5-MqgB!+U?bF0(aVI`w6D++ohf zNppe2LwQtJZtOKbtA|$5Htg27tFQZkz`)Yqzk$JJ&BMJ=zST#y{$aRRU&&ZCD6gI> z$H&D;tS{Fv)WmY~0i0yq?z=AHeDxb*j+(0&hmz)dHi%X(-cJ$EZf>NotKGK*hIHsR zCJ6Jms`=Y4X?_qd9#JJP#$Tw|fl$Y(z{VhO9U3|4axGo;9F)AREP_istd!IT$#+1n z@>HTl$3>-76}a79lGQPNIcO+{`4CFw2wKok8oUA3`7W?t69r1o^$bx+=@=M5{|2@B z>4yDJN$Jh_55@I|&Y-B@u?LeWwhKd}%Um}Wg$>Vq$fdUIV@8Nm{oBD6_gPXdE=%lG z21SR}>bO++;?suRupXv(o$oJ_zLY(OV0DqNirFf`nk)?sdu;XC`y+`UDdKXUFkxFm zO>B4?f;Myp6SOdgfK9Lsq<_@=DC3mja~z(4Xo8RNHH$4t7kh%+{c?8STjT!C2gbAf zrcM3MK}c@ND-(>igb2d8MCXV0O5DI+W!ld#3de3Kjs>$aZrg{%d+;xIS5E^|A7Ove zr;Kd)OvN1j{s4z8{$G}$IUoof>mCYkWDCk}+zDr+ACmAe8SFexP5s-4_9rDz{ufsZ znHe{^(N4EYOv^KE+6*U7^tv72k))#sa{cw|4zdl5fJ;>*(;(+7`g1Al*wT0P+i8TO z(XLfol*H>x(3PFu3#KtV%r8g0K_bNV`?cyu++J@>Rxd_F7bX!pg>8TTJ`;i&a}sRf z{5^sx@ON``+^G9rcidvHE-kysn(H}rs2y*Cioc7UJ){t;qsAqfag$$XUZV)=U69*~ zTP0Ljf54^XQZGG`pJ^+1CvZjI-O-mcf|C_O?2F`r`(hE{_nta0`Fe0>rC?IOs&t3w zeJgHX6vrp5cS>Fn?`*K2Q}EfLHJj3KsQnZ#NnFSHX8G&s0hRdB59-j(67Dae#RQWX zk`M5c8Icpmb%7QAz;81R*OYc7HL*lC9kc0o+)Wk~ysa4YQOF47ZEMqRw@ca!o3d|c z9h?ykvfO;i!DX3q+k>IJ++T<#sBjcmLha_P-4JG!g5HzF_}N73S(@nud=ApC9HgbO z?Q~&QxPQYNe_Hr#F=^-NJgoHX6eOe{Sc=r2^R$2el&S)`<4Cc=WS-wkK)(73^S1;2 zyV5rKE)6CFg#Y2o_O}Rf2@kXk-ZmA{e^7HkN14Wbeyb z{Ez=7)o59gE{Aedvoj6H{zt6&KpHR$$C#rq~J_H>T(qRA`J@0=e%5h(=8I0JaS>c01Z`)^XznPzSiv#&FOBz z_ONzt3dZ*#xUq?;Ac5Jk2y%sBY3h+Js@_E?YqFho!Tare9ihM2TWF7x-XwOz@98<@ zkoKslZ#V6~r<(|S!XQHs3qS?DKp}#(jPn%TV{+|go{L0Y;MIL}F)9e<8?3drkPqO) zEVQu^5j-0rUKn4={#3d8$kU8tGD+u`&%$<;d)lvCP+<1e09II^g^QKC)3>P^EhyPZ z_i{-n)K(H{zSFFU29qvYQatlm8NH3?m4N(x;ES0$&7Y}D|LY5=czLFM<(10|G|N^D z6><3GW0y}iLK`Ff`ceNiwIvGr&capME--o_r zp-db3lwyYhK^)HGg_l<60n`;7RulOGMOr7ss!s$wj^Pwv2tXg@zE8mR5?Dj*&QusK zHmJ;%yhchNF-lA-y8rX5MT;R$A~ZBKIxI!p<`+H8QJuj+JYYx$NNqEW|8uW)q?(6o z+|;(33g_%NOXkMwsNF~1l2xjOJ`<@mf8z;N9v+&m{nBciH&KQ=WVm3M8HeV@E>0wx zdpMT!w3+=#8fW)0~OFKCEy}XRy(35n7E2uKY*6KRLZ49d56IUQV(eVcM5bnLrIWF&AOsF zI`jFCbT>Lu)zuZK&C4#BtI=HD|JYWS&XVl0z{AZzm7p@5LiY>!A!}?$d1b(0g>?UM zzjtsWO3*)@NI}e6trqLfB|0IKN}HdNTSn`=6gevL&D?HEeyy}VaX9hw;K*fa)wcp4 zop9oexw(*@Ev#&h}?2hWp$6k?286U0Qk=^x4jqh=a5(Q!MZe zOlC2b%@7Fzc}aL?j`b@br-8ww$_NMy6x=8+WuOuNMXL(>Q6B*N3*a?}2c`f>^AL?h zc^epUeg2aQPbQS~?@K0vywCHFSNM}lpQQLv6eemfcDI_v-dVrM?W1U;W#nc_txC9``dm^9z@WOm@9ZY+s11AiyFtjThjNO&6E|Js$pozJxW@eh+9U+(2d z0fplQH=F=a<)cj%T((*L^va{2{;YI}w~&Fi&sax*)RK z@8pb%?Fzs`eHgdXb+&%j(k)sI@bQ9qp0&*qr8o&hxA=E*{BFM6>MvmJXAW-^ib(%V z;64o($A-=9cG1gY9vg;jlY3BZ(&JSxYjX0x(y`&?mgaze^n3#soKP0==FP|hL%<&w z=EFNp34FfDyHqF?F?z_%IyrKcJlU*Y)cUJ92GLtDp%J(3>OeDZo!)Pt0kB3R7Yo~H z_*m&y7%n><0|T<;;X*wY8roQ`tzozEFLw~0>`j&U7e^~xjpxa@87v}bV3YOTw+ z3dl3wi1cbT#|dc>6Pm*bX~G%*e(JitpvLDEcRH`Of<;i`CvzA)E=zCMAs&0NnbAv` z3+R(se&lA!`ubZ9rIf?T9y3(FrkW~jI>mHWWw&Lq@gXMjfoy^~8Q^!zRR1G?wsbko ze?@&2NUd7-d$Yu;PGw2V{0sv!5nKj+KJ28)yhw)^p5L_)}c|;o{q#KIM51MY#(1 zyx-RN$}C^yd~p~?&ORX7@rSfS!D~u>Od=IHx4vIcrE*IgS0oIwYt?X&(X*B7=qR^1 ziPIUfk<^Dwyz#_MSK`yp{uLT3(A4Y~O8+@d*_D-B#>&gVGw6>yLCZ8}Z2Jx|B(?~V zOTI-7FX)oJd9v2k)YJsLY_KINnVRpej!IOk4*|vo!wK_ay2g49__Vfa-2rn@cpMfO z#8I08Y-WS?p_D%^SBJ>yfM(TY!f2WVyzNknH#7+`F%b>_?fV{761=JydQJD$cGzhz znOop%n+CrQNp|*xa<76D`kJIg0S0D+BjqZSvSrfc`GGBR<)Sxy8*r*&#(=jQdo2083=6h@lvILbE$% z=VcBW_Rq&BRCB+LE9`bgfm7M4WggJMV@X{h29vnAc6NS%9wl}&QU>2ze~JHVvjrQU zGFkISKOszV^bQaGPqMVt>}RA~hf9-gcl>zMx@Ko(?&I)Ls&oow!Iv?FM4FM~Uz{^i z%22VTCKj}6Le(4OXynL@okr_p-yiHVb_e4A89sMMQtaey*qhF(0u`J0=J#q;mF~X2 zMq6${=`|^jY^(>(yT_vTEj2|dd{fg+^~w#2^T@Vr=Wk86xn-TrK+~ zcAy0-9kNVBGTL$phQqUOi&n|+dj(6*l!n9`@#pj7S%kUBX&)mHUnFqhMa&If*tW%> zk)@dAZd|`VWZ=M^b0?0L(y>AfiWZb`yvW`_T!V&D*zKfU?6@tvmoOiS=FJS(rC_X= zDP6IP^bfQkxGnKO{j7ircbm-sO+^lAOssWi9+54@q(tH<`2~27)Cc8!NkNpO^`R4{ z_rXjc8)y1OOS%-xsGCYkArb3IJ3v4{aCmqK<~rzmB8f=I*Drh>N%4h4ZdvlywD6w@RyG zU+)U#dH_=V*`*U5f1HL|kYcJ>y-hjXHTD>seY{<_&9`M?roi(?LKu%0k9@-lAx@}geToA46%s{kvstlbO8n2Tg?xHc z$&laivch}8-0@57)Pcg}mWDWMuX|na;}v9VQ(DSO-eT5gtN_*FHr;e|Qv_f!y-=nL z9gSMLezHHq%!4vXu0;w>X4V0{NUc;{>i+lKJw=PaEqU4Z{u+?@DVN@ff&;mmYkRy|6YHIAhAC+ z?@STeR?>F4Cnm%&+<9HwcsV2?7FRM`Cl7su-xl%Ty_ zo$Zjd;5wVqRbdi;@p+jD!Np}h_|L}JpwH<OKLlqs%=gkc2k z%`q)jVAM~OWS-{ytQF=pXM@PH$k>PXsL3)#Kh(dWhi;7WK_cylan=P0)S-#7K<2ni zSr!Pv{DH%uVo--(qisj^iRQsZU(u;X&I+HDPJ{V9nJJDI%c7mE->JOL+*dS@4BO3+ zI{+-JTZjWy?GQQPb~<(i%3IfiiUtdxbUFe*%(W%ee+mfKP?$M`ln|=6t3WDkwznqh*`AvHwfkKmAjC}0pxzN&(Xq9 z)3qU$uiuOJrRpHZDTircIJq^pX;W4eHo9T-WM`JnYJxYrBX@^!T}!A?_JGgU`^_3qPw}ZXKzbk| zC3xXaGn<*B3cpjHKJ}Xa)8}&bgtg$KD`~<7gd-zGZ2NDd!GxEr3GjtuRxn!{d`g7# z1}0Mo-^QV8B|NtHSfb$d$gz1;XgBNl9FD;MBChd z%9&I9hDZhV!r##y`2{s&|NixgrN$~sKTX!>_i{7x8D6*j?-qvERv0bvr_^#amd>S^ z%LGvRvZHmB-_tn}*}xbR;AQsiwJrS#QC03{^>{LyRO{b(H8B8vn;?CB|6?2q`4hQv z+Ip|xh4b}KOSz=(nq*DM4k?|>^ziyhfs=e6cQh|MlJEt2c42guWY=_@bFB) zEnb1arqvD>7f~Gp? z#o~MY%W|ciF6ZI?Ub>x2xD5m>)VP9{6$2BwNI7=$(YS&q#379vHi)RIkq~S{BaYF6YT+9!N|3q#U@-hgf+YrlU zy$GVGu}0~e`9r5qS!=qhN+DY*iFPzntRqPwWu;XRiah3B-!zKva}aja+K#oXVzzvrdU$r_w{P! zjz?+*tw`rqd7u26G!x>*(_Gg-AG7jDW4P}Z{(9pPp%(Iy^Mn8+K3)T9+2XBola%?OMf)v7yX zS5y|OSuAK{EmFwjXw>#A&_uo7UO%lun$RU|g%I%r;sY#o0bZf%Vc^Fzzxo) zK>8D(7sAMO9GY%6m`}oKEKLsu+qUZMaZxeANZ71lx+MJU%!lH8R~tvyF~8g%x;E_f zW)EE%Md036-cK9PVhf(ej^n<1r8`8i`yRx=Q5oIG8#BV{%A2I@?>GK)>a>g$a1CeZnGb=P3l*0{8Tq+GRy)Bx$r1eX z9!jzjHxB1_XQ$TwiC=yBW|#_Pfdz}LO(!1+viMK2zAXDNU*vh;XGPu@eXc91U*jky zZM{v;8SB7 zo>$I_0g0N`E!=Ew7FeYRQycKO;(&0`{VA$=!7AF%y^T-Lky5qlBO+UPpHA$Jf7@xW zYizkToI!nR5u3b0I;>hM%0^%Qu3r@HXL!Xd*7W$5yqQotegE*)@b*$&YTDi07n&CO ztkDK@RcR?L2(Qhr-w?I4t4*Q=AfEY4;!c5dh&1*dRv~Qg+=oN(%NAsF`Gtm%N%bO0(H}?BE(-aE--jf8Nn3y42s-Y4Hf){mu zklL#sjx?Uf*V@lW*y(SN&oR)A%%N}|Z%aAB6v702w_}R?8p5%D&3H*z0Oz!M{YR05 z?sLTnQr7OKr6#NG(E4uGtFaE*m4^R{|Jv3+%qNJDqzr<65TH zoPsZes8sUotb6YbXHy)Dk~zEeB%~N{5#8^^ZPua7KJ@p@NTG{6XX6rww?JLPA3o9A zA;~m?Nbe06U2_k1jzY^N_0gVRv7bddidreN?i=A$u}7+1ZY{MY$Ta%cxxlL@oN!S z=;58i%AdlE&I{S6i?tJ@GwAjkWPuRY-> zLX`Zlpp61t{1qLMp|aZUPnNY_K|}f2wkaEMqetweoc?&uUOumOUj3hms;gru__K3n zqOZ+E1{Bc<9ck1JLfd+V!;lH3)MnCd*FS6&O|T#q+7xf(CB=--F;-Wn4T+6!m8z;* zpKN87(Dj1B{W2f;5zU@&b)0&hSTDXj^cUhAYZG~>mnTX?pQ)J4&I zf4Ex1n%%Hnm)^4Z(fDI(TjiYcyG)G$tih^2gVCj>RD(j^KB)mcoc`1=a!70mqWYOS zuL6*Z3(sI!1e>*eh`{RU%s7W(0oaYC6&XJ1%CQf62ufIzX$OeE*MN~yVWIl`Q)JnK z#h(+)UUy&h5zxqbLssiV2pM!N6zvpLLh{t?UTfDDVscQl-p$?x%p!(Kx-@vIm0B&3 zZ$r}DN05je%WCuuGAiak>FIJUQK>@RK_j#d;N@OPn#KX zrKMYaqF#Qm1^GC%yEznhc$ei9;bT&0p+rU6E?s|4eB{#h7agI#FVqU59h2AcPGD^O zjbI`oVzl>0S-$bqxEm8yYPw*?NxtgI$6!#O>fNqpb`P^t*` zSCdiTPsrC|R%sVFl(3&;|Fj}ic75fTu*Od8Pg!8SJFc+lMlX z@X&QC>X3J3;nRcD6-M@ZqH8BRWSO`PnOib9b~*n?JfiNM(d1(&!zRbq;E8tHr*o95 zmN!RDCIxtlO?L4vBJUl8o1ytv!VaTj7=BlXoK=^+7p;0ekNiqX$U(Vy7`9JSBs%MkVn>k&Uc9 z2()6CZTNtq;c`FH57jcAk51&s$6{^!G+WatVh2GLx6wrg zI*10$)gFrSk$($D-I-A1yERJ=yX1(Y`^p(J6(4*FeRy4}o#un1qz?Lr2AEu+bhnyD z#kJlIS(URRj!6xQ>F;wUy4*@vY&u-bv|WFo;E1LLrxW!`S!(0x1y>T%7kmp#qTjs-=BE7#jy z$z34h5&v^0&VyCHAY@4>v-7+3MWZTG%#~N|R~jy4nVE|_^%s5XZqB?znp=yd``^qA za8n5$Z*hM9J$3&b2!F#)kYoD|CTKl}u2R`uQX3lw!Ir4uM4Y)AZ z<Uv@I!s0KLUfjJAS4g=vkmN=;gYWe8I2f4&>|w1E-i++v3Y zN-a2;YjeX48GWoCdmaE zW$>@25;TK3;njtDQ-8Bx1n=o`6OZ7s>x^ z+kZW+Ae7waR@(HZd%vQ$!^p~3YH4>2c_Px3;M2L!uSU=R``hXGc;)MU=?HLFeYI4D zy6E!)H#R>IMg@&%%A(KrKdbY<-(V0FLPrjah{Rf2NYHrLVKFlf`T&&(lpG1T0l5$m zME=(|L84sUq{Ao68GGS#cV>EcEN{n&?DC+1T1M-C3!qr}DQZOu$p3xx|NUPB7RcM` z2UU|PH{O`uQ;wErz5<0U^DD0l&bJ?08K&@2P-OCCG7yp=>?Qtrzj4vlkKxUxFU5+- zMFmmt?tUqy^My_eL1=IISJGhBR9${3wtWL}#xx>ZnoJP)Uwy;73T@T-F^fD?ouO)n za7Fp^9dj|hY(t8O;C!MW*1t!x;JEDw~StKLJqW!yh|FF5w#|-tzJsdm@!qqSI5-YasCg{P zqxio!_lgcF7jwh=b+gg10*BxE$pkAb)ezUS$!(5KXOy&5bQlP-$oUjuqfbf5N zGI%y8c&Lx|Ew6T2$^QH5prtlZ04izM8vX!_?0)Z$Ojt7Lwr?8UcL9_$i*D5Xe z4E1bHw5z3iBEGsCez}Cj&COdAaL1jc1lh$MtX1>2YjYc;wZu~Hu@ScNKm`g?PiTe8cfV$tT7X8ld zbASsE_sz9CV&NfTF~WLNk$%8Q7n<_{k*WM~Mi^<)>0OoT7-7xw96kzrh3*Cx)YYfWYy7>>YhnV#{c2#62F7Z!Vj*S&A|fIf#=E|- z=x*-r+Ko={%qFQW>P*H+4saPY>o0)ZP)2vD-u~p+_2K4Sj9nNG8~@!dY319!uiS=6 z4jLWMXEEZ`!7gvSb?S^Vf8*KGkjqky^$i?d#TSkU{Cjv21fdlxM2-ZNy@)J%H7nr$at z6vJlfGVk!*#)7b}gKtLb;cUeRm-t<5lV-EoUZFfE6Xms{Hs%{!N@|Kw3Y)`USQ|JP z)Vse;ew}5gGsY8oe*JA46Cgd2DS5=ec8+x##cQTZeEjQS?<{RA_psKLh^XpEvheXP@L|*mBeucVBtAsXOVYF+oB?O9q1&=5D}wxtFtKWG?@^PEbz$V|6^~mcxo1n= z8qBTpuX#zeE12I*y3-os(?mP`>XhEci!2SC^BOb3o?pK@sz{Vlv=Mr zYYAkPoICPd_uw>}p;^6?D%3L<$98IL( zcIb_x9nnV+S~$~6E!YXTy|OVm81=MV4w{TubQ)01Em7*Vm+O(UMb4KZD;S!rHn=>z zP_3v`o8Q)Hh$RZ9B>3>PAZFFxKYqrtFZ=y3cTsjmOjP|8JEF3Maa!CvEg}rD=Y_q)J)H@Grej-6>auuXiX;)aK%o&E8YsAIX9LY&hk}6{Da-y-;<{lkRZ8xW^4;vd_HfGviq>Y(xKZMqW&)8OCYFRCp& zW4xil!o!E-8PgM!6p{P_^&Y2)fo(iZ^k z4@e0uV9|fL&3?W|LO=)&4vuONBEsEdy5{>i7HCp&f-FX{$+3X;Ev+2$MMgMAIjH&S zE>thF*L4CnJFu7zisRq5R<-`G7XTg}QQdccQWx9H?<4-*EiYv*ofrdi`yZK3N})vq%ZcB z0|XcxOJf{WHb^Ls{T|D%350aohC`Rb7hUEy(s5Usm7Ua784o_%Ibjy34wLMyyC?7iIh{ImYaqfQC6#yPcr z(G!*LxdnR0hs4;P-be0(;g^OJp+4T>=y^;>8yRiqH{S)~4c018d;6qbOb^{N>X(zr zW_ayqEHK`iHy-{jvQSZ*H?+Hb@06S!@2Wh+QT877ClNnfn4!zzz|;)mYmo@cJ@wv+ zF#*o{!1$^kUev$TotlL_cIHwCOq?y3<|yg0G-o;T%)B+^e*Y}O4~2~ z%j~Gqvjo{pgRC^!@-m;2*rr>%A=YmEllC`!`#pkvOC)!K4ounM=D^!(^9=7WbS0Ux zG+%-DMfnO;o89$#={KHZ)v=8WbPcT3;v>_+)f#To<&E*?(#BJADP)EI!$YF^`-c@< z5Ay7uyiYC4X~+fXWjduPud~6)xwi`Hr0K2QJxCpJxjKOTsS3C(Lpk+df6E=*5isez z7zi*$>aGH&m{lfY?L`zzXx;}>FKlgqnIjXt@U@-|;p=5U2vfIb4yZCBhK0xidHnIUJwo_3x6!B+G{8iYmZf1$#L$B)Uy#Bs{M%SFoFrx$kXrfiikU7Z+lqk^vH* z2vJf|r?BBvwm;d^w#g;IWMO&VLPPFj*gj_XROx2b1G`GUM?8MjKZu>jT@6z5XX=xgSh>y6l^zxp zdpq z{!!ii%Z1nzycI2G&;FUN)<93oX5R4@@j1wn-lDza)zhl=PW{;qEH^nM%i-SA^?l4T z&b#{U86HC~e8aOEEPO<&m5T~VDKEHOPW37`~}_Qt9!N?PN@+Z9oqh{^OX>F!|ko#VY9 zp3!zChWDuR2#${Vl0?p5kY;t*rL$|XncjqTN;I#dZ!=ItzXXm`k0EjC9)hz};AWhmDHJ#Zoc*;0{LhJ=g z9ZW!hudi>}LZNc$bcts2C(F2((VX>BvyX6!dihXyMy=IZ?8 zZ>j8!SU!s-4~F^TNAhEs6q4$*2YDw|76a=+4@~1T+gJ^v&4GofHC>fZx8wopv2^r> zYQA4?)*tZ13H{zec5F1yxrvpiE)Dc~iNxL%{)o=0in#DUsN+^XU3OZVqx|K5wc_M$ zL9hi+Q68|s(zhvUs?K#>yL3Igh*+vPsDHm@d?>LQwNXMorH`L6-MHM=#f=f z(<##<$hD>hL5OtC?;Py=?}b=)Do2X~1w~Q36pUOjo?&(Dn6DIsPuC~L7sECbVuqJb z$l^6?ZQe-y;hayLUtCma9O_|gD%rXhIro{80Rod>*&c9$`t}P?zMbA*Nhxx|I<)7l zcbPH>L@ipJ2&bgcs4ZLMVzE&l#>6O-j>m(mf*_QUPpmS84lR9;H8{?w`3WZ>zc6x?sihPdEp{^e(c1_wsahnRem znBRqFoZ%KA>L`y%FP46mkh9+Y-5?G>0*E&<|NhA%Fuwft7H(Kzbe#3$Up&-j)a%y$QdpAoQ!|wNAqc^e%w!qMNA;^vRqCq=rZYsG!NH|h96#XhO80g9 zn|1P5;$ca=1aadSi;d+0ixrc@c$ER|qgSj|l}UV>e+@fx6l;5hhWy*-Ci#;}NBAT~ zAB(x~JA>h@?H($XX1{IKSv^M1^BdNN1}N+A`uQ07&P?XV#2W6Eim+RtUids*8D{i* zitCWa)6$|d$t^o2VV{4)m~%2PR5!#~K1eUAoi59}zb*apPGFtjq$+}NV(R^2=C&n& z7&Fg3SA58oxHT(w|GPSs01-PLUz(zeUW5oXOt~U9s^@oN)Wb1y{d)!k3S4tDQpt>_ zjh3E?MSRudp_WQtpYn;GjbTexr`$D$sn%OMq}B~|J|rqX?Ib*1_Mn~#w+29%Vx|Q91Pi963OtC~&}yp{g0_IzXJv>L+3b7TEAI{w%<>-y+*Y&)oOO+;4sI9x54vO0j>#?ZGlL_r({L@rBz@MW=iEc0=0DUJF64y5jIx`3)H` zCEaRUwv)?9(qAn+a0na)`nj#QE+YN?2n#94rgsykBu}sG6*<^Z+cw6onDU5@*(x+y zNW~WvuS!x^?8hBEr*C%<;YyqF8aHg2gwEUS*Lvt70`Zr#MfI{yMS2K|x!?LOy|UI( zu{}5qAm>wk@wj{mr>ot0!Zw3yk0N_EyaNAx4$hq|>{}1}@h2Zp+@J`&&i&6Ay{6iz zwFS~$&$M)F+@^;w#BHL^1mk{AGHi#Vj~N{`tkk&?3>;$G3XA_Kp^(D>e{AS`7SyAU zX%?XJbak{8a_)^H4)+bHAty;n$H(v{++8z}6e)8|hsNn5SS18S)6oV&C9+u!oUsQSYVuyj+fTN6CI=uB zc7OLUBG}%Ah8RJ$#D5-IKVX1jGFA@O&Nh#b$o^A!6M_V%yE$C!(+$jL-1py4PWj#T zx3=M7%hg<_uT&k5e%m}VMH8i+Ami3OQDmh~iIqJRSp7;08c|x0bWs)h-=fZdg-i;O&TN`x#%(`32EJSH9?bkMnd|LxMx7 zmYl&XO87(g)S1YhROR)ekEF2G7ij@icTxixVQqGeY#~cmLSMp0@6lPvti@jYn&_7$ zDFov(OHz-EHCk@|QpfCH(^Y8;YfATZ!zYM9a&2(Q(37VK0m8G`H@JgQAd{1#ShZy< z$=0sSj=$1$_3l_iF|e`>h&o5&$F4eMN3wG*{jrd=jIk+raw712xKYtDvw~Aj`hr#n zKX@nUY)^&VS8#T=VcjwLQQ+YoN9bPv+;M`$GJTppap9d>SsQ}X3c`hGh3P81SNoEL$^#rnf~$_jy;s>EL`*^Nfn8PSX=mQBCUU-- z6${?&pJfXs4I%19rE~_R#jjd5g8^t<0WZRfdSIu<`>Uz+qFKHLsCPen{{Gs*7=+zo zK%1;JetCfQ6Z8jamhfXCb@NlNYC=92*5Spo(^H`3Kp324zx(j@0C0`^CxhP%vaP{VXqdos?eV8U6{SmWs#$ZTs*vNBV_2v%ubo@?nWQE_uiaH## zo2xUuq%k(eyKIr zck!ty_uD;K?z+Mcw>341Ywc|D(Xy&L5qBZULgca)AIj<;Y%j=1@CgNA*zwRGX(6>` zne$dmS!S5_uwAQL@2-XFN8mYm82AYNbkl$o)>Ad?EEK9OJa$+x7(uYrV^t@wJKx8-x$%%6(XYf1g~D6-rTF2! zZaI22v<7m-xy@wgm%aVW$|GJYu94nb6e8r9ZS2f)w1d@%GmqI@2?Xfbkemcvh;s#wWMJyFF@D29!Txp|JY%zPuOQY$z+ z981;(kGv-wh2@KhLx?Pq&r<4mZN08*)R~IWPdc76liU0sj~!;SHGL9C{%C*3E;;0h zykFPgm@Ic-6az^l3v4TQ7~goA6|JLQF5;`^k=EUz@Fn(r2s1nis6r7yBc{KK)5mBv zAE=p1ib-UETD^&8c$A_1Kx7En_I`Ls;zv>frRN|)-*=_AX-sw7H)=B+u3P4 z9PUW^BYPC%*Et+2OYh8y02DLSYxyx*?JM(;N@8T4d5+OEHg)BW^@Q?v4|nTy*yFen z+G|Yxl$y|1xuO6C_jVf9#*eWGmA5IeN)*VSL490tmLEKRS_NGI(_zO`*_+G zrJoq`1Ca!pj40D^6tZA61!Sqz3l|nN>?JkYa~{UWHvXL9#<#{H;{`ZiaSY7s5gZQGl=p`3q&F{csczG1VW^R~G*$gx-k4+W~;8QSb^GD*RPBjS{k8yzeyDt7-JiZ$K$?U z<3I^zM-Lvfe6(K}2{!w0{47!))@h4HF)yRpmg1aO0O=ziQ0s9=TSqH$iD<)x6L~8Y323@)!|Amh3Pm#L+z*F!O~x%) zX=ms`v0rjEU>UdAM)s?X5ekI=*`&zi+G=Rvy{NCR zS5vB%_3a1BVynj&YqPVnKYkG55l7s<82cC6XL(B$^Iwl%f$N=M;&JWbF(*0v!#IMX zzCQW22dx{gOm?4tJtKTmv%v_;h|q`*`xGbw0u--{ZsKfu*enil$o9hJ5m?QVl9CRc zX+L8^qVb7|h^QX!^+i*HokF!*j9yNkK@yLn}V)%N#zHnn_?+tr*gsA%r5v^)d!Njim- z*fA|U2so}G5%4BBTQ?$QeoaBM7x}LjlJug*F16ZSez|=LHabW+=rMY8XfOd5N`kj3tR411}xE0zdhupd(fy>Y=V4l3h9(ugFZB5WaP;z z*(y+J0_LC6$?V0FiOknWOZULniK!DP8C9N9T7mX=zR8uN5t(Q}x2DDO`3Z=tjDcnw zphT#oqSjX;L}e+(Qz@?zac+R_+A3WMI`hAH5|M9VtZPd0auGI0@S-S56^cx8Sj38C zgoiUa7sw+KEtagXOzI=jjv#F>cE=LP?iGfw02FzGy1P(g1=Iy=TFb@i9NOC2RA!Uq zvc7V&<)9j-Qf;m(iBYmttoBPNeDQq6^SQ}lf!)OXYoOeP1}KXFMXc}wA?QM&yk=g3`mg3>^Dc`YT}VRy(jTRMamFtFuyk{+8?~6Y*JbFbe*Npq%VX}8T@R44zRUjaIMd$t9XbDKcp8Gg7TEiGNd+}N|$ z{s(mhj(Y7gE+DZaA)~VLyy3VRp6~$ll79EhbXar>!Jf=2kH#w*7qjjYZ*n?%> zRvRAd#;Fr))>`X2z?XrN0giwNuc%lVdapTl$0^Y&f`tI^jMr&fl)3E+!2-JQBz|{p zjg>W!Ffav(>%gz|MFpYd)w_4^0A|#_5X~_{35~cpQ>4lQ(&L@^mCyx!5zlL^RNxPOUEqpwBGuC!W zAIX>9`5H?sT?nRVaFBBv_8lKXbkwAh*}FHe4n5{MZ^Uzya&WsAT6 z`d%9(jv(NmWsfd=)OWS}Wj3{n{|FLa+NA0MYCt7Ksa|dFozhJo+Ho?ibP~f`{t^SuGzYy?g7Gq zw^|)GG!FblSyF1~JAB%Z@y@WbBNvN=tG;F9d=5+T1pc_7=lHl8W=krohiOJgn&>Mb zKGxRNwc(}=b&AS@vDOScc0s3W55OC#H69@_QJaRN#fm&SA?x{x2y}z{ka=$B+foWz zEgpPlYn|a;@Cd#(ZHR4aW|Mi|eZmU*_z+FH7#jed7O^7oDZVL7tW1mc@fU&fGPE~$ z%jD|h;&;6|2pV%v>tVGnG>4>gEA+VO=LVIEf2?9w2`?PiYF*A`p6*^bYh+lWZ|o)( z=ox~yWI*$$;e`tTWFHrt&x%IhdOm zsb~{tfKdo93*A6R37TGjNxfr^ihXh%!2y}R4XoXlZ`bk8oaVGT(o*Gc9>tzrqu!=(hF zLlSq`O7+bf-$7pqx&SR0OYKc%thy>iSv)Qp)&N9cg}+=v{1|;2Qnfp-$Y`O{EC}Rz z??ocU_6Cr4?RJ9#okd% zBTS``hf-84iCg)(4yGP8>95$DE=qPQTGGUK83Qy#Dm9BV01mOmK_q?;eB!Bh1bJBk zECNA}w3AE66}&6w1pygr!Fz5YcHv#UuOGkGWuyo;r*t=e(HPyKgVqOlqwsHZhM9|t zi!dk_6+d3o(1Uya@treit@BU%kDBy4aqCFNwQ8VL(xjI%O0=_xEC_07F32(Y6 zOVRhs6!eBHvYUJ3`FLmV?8(FXfNCg}=6|O9&cfM~lZFYM!!`I#Mj!tCN2+)UbA_KI zf1mvzNKPDJt;HNn0Vn=wDJqwkb>9S!OKMC0!*Iq2BZ|mWMUKHNnZ}dTZo^A_!D!lZ z-54VWgz*>to{U%GH>YQJ+}I75)9B zzuS**(Aq{!pp2;lS0n#Q_d4z#84m8-xY2|#1uOlVC*bc)BGO8-_ke6Cn}&E2lwCWPFYiTxM22LY5Icje=}(34 z8c1qRq@T7V+mRtTM~|%THJX7(Lz3-Rd1F~P66iEv*3&NnlHlm&KBzIYQ*PEz`7_1- zR9E@3r8MZBvea&vnlE0bkmwc7HQ1YnY#PQ&E5ys5^0kYM!?p|+CtbWefOEl?GB1=h znG6l3-nvf|ig_}f#W-ApUK4E=8tK~pCPn=!hwj^6H;%6yK_#m?omY91#aj26o{1lk zU7*(M4R)cTHFS#8@1$ZRQH@(D)pl~eMh$gSa;?4syqL@?)R7g5>R?~>kLmTTkl-7Z ztc9XkQ^_iqmi?M2oeu`wDjq zJ8yfW7ktXJ4IZWA@m1&7VhBB{AYUm$x=P;==?D(@d);gG!Nw<6OKX*>P_pLVjVPEy zigGrnYl3yIdTLf~LY-l*D4(6AH`l4cyFF#T4A|7U!NGyaztmzWTZV!aOc)_9TRhF! z=~&pzj1Mjqg_0wU>!~{?cOnY4c*B)vpGwlBPXqpa3`5T3Ea7 zC$4V2&R*x~SjEuWGlX>%oX{@H0J83Gqbo=6yFe{}!F8rRy;5eiwI8NRzIeS(wIM*s z$KC5IWYjjO@+wacYW)vj+|Wh&hMFX7&B?+^LwG%N>iOwfpzh5^yR&P547JQzS+mf) zZ~{IxhFJ7j<8aQM(Q|BxIxMvk9b?EsSQYnHQ5(s75S8RDT)Q|bipp-QzYCZ}5R3=Q zFt_1M2ZP@b?Zc3W9c?afSlKVQ_EEkNs&su!-V{Zy&gipKqR?t~gDr)igConWf5+il zx&jhKG8akr)Il-zG+j3Gf!t!r<8|1noUPu!1Rv&b!!qS^Jw}+G zTXa}&yWb+@v$Ttf>{1}U?*Zm5<__uT@O8NnCl$VO<8SK^#)q(r=k6KDfgQ{D=yf|_ zg<-?!qi6%`5eR!}+sb$}jd2;1@sQYYRtbmkC8>K5gH|CPoHw^%ti_GDH;p2EVstYl zOIRf~Hx{X@N$2H$zqcjD#)gkGx}_`ouJ@8@vUDy^|Kjy|X=B%X5iuDnWK;*71!mb$ zQIcCoNy1sY-5^?IK2zg>_t22|#6G5-;H)*BAXQCZ<*>z@ayX_pKk2=6()w=&13K_u z7=LZE3~eDf$QFZQyGbYYz5mk9B7vG@i}O+6?-g_bb?Vv>O_}Zy4et-@YAQsc+Zj%$X~H&6R_LxV~Mi%mrAW^PXH&j4!6} zDnSfdoRvthCO6ipBM}Oj=Lh8y1^Sg-lMdwb2#GX`N_u8|jp;7g+T&-%Q(DyD z>?rmZ-LRW)rXIW7#=Snl=rr&w4%i&wT=3$Jq0aJ(TqbAnE&Xkm-iiYu0iN!tN=1X4 zUC}w;v1m*RyS1xpuO-FgfJ;L)Mh}!Gf&;Z$zR61=51U9{j(6`PKe+H^CGTNEc|6Kp zHXhf?{1znF$P^`YWA0_uN$F=hAr8yXJWY&NorUYtbqtntNi)b(W zs9Qntovf2!h6Y=?j%;0hl`|)^7$t!)VOKT0JAP8fUNetQMAVh#Ft-yeJ^r`rOt zKA+4C+l+kcglx{?4ii~H3(6)Qsg2Z$b+sH@2!MC_5ez5Bq#I)!aYRgyNgo#W0?+6R zb8s`c;(TXs!!BYP{6knsW@QKv+vLChvY`GNP`?)|#q_iYx6Z|1F4gsm_``c-D-r}5 zzu1U9&3)b=TndQiS@)GFm5lH7lTY#-Z^2Z|hcoh|U(A*tuR6WfVLrWQ&xf>vcNa^X z`hF*?vFNw4*C%|tkG0ABzdQSJSh25$$dCs6!vx3Q)4u(!p2hXuE4AA4N1K*jPxTg2 z@dgF`yI)U%ZRy{sTq%30Uti=gtIt2E;8xW zix-P3Bc<2KrgKwWQ*+mK;<c4sjcIEPX+(mr^N87muCy`97Qj z3pGaoE$g-s5z}x~+>&JzuMRTyb*h!naHZ4*t#ifS@2@2kAJ z|2g*$0m-cJ3nA$X+K#2>_E&e6cZ7OXV((LdfE-#)3A zirQDY))W|;j?EOabgy~O)P3eyl3!CaTJjX@iGsr6h))(*Zl^7O>B4;=>A#D^FH$|7 z;;S02~m{z{J5A@-J-Gl)e@*yQrQCTxgj?QNHa z7O(k}gz@fnsE-~i+cDV;(11bLnV2mMDdeJh9#^}}a9_rDOkNEs6S0}j3aL=0nM|@F-5KVWDtxd22c*48fZmE*UfnR=w zpecYwGwGFFW3*3mxrUFV?GV01L~X3m*Tf?=(k)8o);JNPsGpux?q2t0=aou3JVvGE zE<5%O#`$E6^mZnxD*9O4*raimm-|7f2`x|7SEWDFp2C**NdkZ0v3hAjWwGR0YI`f_ z|FUNheQ%3<=VpQZ;4XA8-Q=e|u&Wc4`s{AbT#zi_s1UUXd>fSsJ0O%zU=Ga=W(P8q z(b*bnBaYB;s^Y%+Hn|Ne)SSvwM{zZbvy;rXKVnCzQz@}qE^|*~V7~HoOyY4U>{+TM z;!2_A%|?G6^8AX>>Z7G^e6&!0&%)ZPzPX01jxq+|ju%^yjO>AS{m7Vul%A0aOT5x> zWw$36fb8-^_1(&>F&Xorv$euRkp|JHBgp3R5XXW=zU<|B`-z8l5**j+hx6o03XUDq zc|TLHi^Wkw36W*$YS*S8f`h$`A(#<6C~zAPMcXGcD>GI&r0FG2y`T2vpA*-4-dP!5 zHyJIM<)620Y^hihZQP9UJPd`Lh+s*?h~-Z?=H3;j7_CL@)op}+Qsi*l`(ZQ2{w`5~ z_^6j*s0uZu-QvB;^cbgYQh!g}$hW1>!Wb;15d19C!P|hl|MxQgc(PZ5GFsnwxSmOG zrPyTdbM# zZPc-d-Q7Uvy#Oh>E9#g+8kcQvJ7z4L%t7Uxa$($>laifpkXvr@O_=599IfP9!|&UD zH}coX9ffj~`5%8+eK%TL`CfM3_RDin)bK<%D*4i=)Alu9SBJKqKG(pfDat%s#&q~s zAu0gg08Bz`Y-ErPo+1C6v^r^9x8OB%$Md)vd2mPA%jyPM!^k}q*8PvA&HM+ zQ2c~p$)M_2p*R%?c%CEf%L~5U!ru%h-;&@5|mw0QJ+#Y^_t>JqqbYXfJED? zbx!zGuV-y_5ac|+`kKxLREon%$6-c*dGnv{5Gf8RDM*sZHgDrybDGazF;Qpwu5gLz z(nRYGT4-g%_un@H`xX5zg*RH`oSD2nkvc;yo_ek<8bhiCo2*w{b`&>0l%89cZKzxI zv%ECo4m@*Hw3)gLItmxlfEjxl|5a`S?QZvtn4|kLF50${n)uu z_oP1sT|*qnYE00#w&Zu>!TaxQe4bqGW_}4KJ8gn{p>JXn*KPb@ynI~ z^G|^U!GGItd?4CKm$7=pRsVtds2&(UC)9pAmO}j7$aDcY_;DeS4e^kE($vgsa@xVL za=a?6m;1Yr^VCHQ^Y?}01*!~M>!*SF*eK1J+58Cc9WN+p)DB9| z{iwRR37u9g^F}l1g^D2ndI57_XK!7 zQXM|{Q&YxB62)4Y4~fEoNhQfw7(UN53(G4)4{@e!3fF~|ovIQ`$S?7mk4l=|DC)vH zovG=c?|V*V;t@j4q3{wu2Y zCQRg>bU4D_40^!X(ZB|BHtd1!W78>e4?n#%Oy#P4=coX&UR}P2L=G<-ZX7kCT%|#M z){)b%1RVrrOmS1;5#1XF!ugV5WaQys;-z19-EA6l3hwb+y~bZ9k~23-St9~hjcKqP zFEaR>88hr2+WQRTvl2VCKRHmh^v8GzJBZt~volC!Dx)egkSNfEX}joLuBnEF4bg>t z-gQG%&)uC3F`U0#HTy;Ul*Kv}*P{4+4Yuj+#k`1oq$nN7etv(}!M^k} zi9T-DqXTMEkR%&S>Mdm_izkrQHZ#)L*yqQ=z2k~sN79|}mxDV7eUiT-3~F+&1s%9r zH#-zoBr9<)*S0$5qpNN3X%WWX?;_b7BoHg7eW7o7yRmiyCD8NMG9x3yyHrInM4O}5 z`8;PercAv#sxMD5A6S-dWL`K$@@l@uRApAZK77`)RL7Oif+ASC^*2aC-kW8lq7%o6 zJE_PrR?=vkuLBb0p@E&fh-Jh=C2f3+Bahn{Y%Fxu%y0Xtw8#YfF#6}F3qM=ywST#* z^M1Ltk^COD*DF)Azr*|a2z@e1{c^sd1xo$6(UcdSmJ38X+L_X5yJ;hU8%=vP66i9kq&am#uAHO^v zgg%IMTgP4~wihJ2+dj?U zzjjkCAC>A zBmrWDWR+_lFP%UtnKLlKHe=3NYJ@98N}9knBp<$@L17>WO+yB=b@?hd6^_A zA46HNtykGIL;CEa$PS#XSz$c;w0V$69L8$0RDOJnA{cigg;`umRv||{!-_$otW**G zRHBbWnF6f=&5epX9}Vm6?}r<7vT;BD-P|wuQzSm#5Rc^Dk>13m7wdWXEi8 zxr05Lw07Dgxa>a>#XnP;_Xi*%M^}~k$9fO6<*bl;42*5LOgzRsxqLi)jHpg5P$t^f z$!n7THmCmUYFPph^E0VWlKEl{u%peE4YFGo!JuUE+Y{pA;h$6HUxlJb8z5*m##7%* z{QLgme`-j!+<#0c9vQvT(*J+{${Y^JJ)!y%eE&Ft|Eo_3{=Xd_Kr;w-qmDKj&6Jmy z17#Qt92|(au9%Mv2?>da_`KHchmVh6tkhed$Vh@n@&3YLX3hiZ4C|EB?Ch*5EiElGGa6Q|K@CmK zE%AZfv(cZmLyr0-ZX2?qhm}Jmb!gv{5-Tlr*x1EPg@jqM?WuwJjW?XgDljbv?#@6# zxChcM+nP>+bZIJI-WaeY7A3{ez2T$*1P={-rMHC=IBoQR8E`Gv$DYnkCs$Wbk^e!$`Jaf?A;6d=GzC$R<%(K$e}AOVtzz}MZ# z^@u9Hnok(uHBi|@#y`sA4LXJH5!j7-Y6$P6N*O@1(NZ$9@XQ33%105bK|btj4R)Md z+?W5ZbB^U5a=JW3+_txw9E+Q=B>yeqzNGy9_d4D0oxFN^axPvz3-{Eh3Yz>qX>svy zo9t|CikB9aCMHxUFekaPkF=*;andHb(d4m1*!i9&COOThG~|#Uetbh|b^HxzEC4n+ zLru}afTCV9awhjOb?4z}0C;&Nhl#0aUyi^Kl*S^UI~;+?Z(y2@`tk+{{V`~jbn-~W z!VO-#0f#xjicU;SjGev#u(?*9t)Zg8xOgF!88A)omLn^x5L3jGAedO4iw_#hEGkuB zz-)NDsXEB;yffO~9I`OJPX3wkA?copOff3;`W?ArIrKBN!o#JIN-1|-SOHF)H50kw zl3cz**k(6?P>^3H#9IGI*SVy@#OWIRVsZt$OoSK&?iBI)1;0fn^n0g{jmJ}0z*cKD z{_vt;VR5lh?HBTg6n8nttkTjJfVw+;48!H{-(LqTBgtW)xCF8!KI36LpcYC-qd*B( zDb;F1V;7nN@98E13P*|hjT7=WdAuQ3IlKbV+9$IQ^{m$?y*Lgzuf&@RjL<|CeK6>s zl~iyP9Q%&zvkKJJ)qj#h<0QpCcudwrQpJ_jzi|-INco;T(<;hY>Ejb!cksw@Xe}5` zBiez3Rl>@7Lv*Di)8GBRBJV~S_4k(&KY_4lPMlrDLMyH^Z;Xin!Wq(cvaCOU@-c|K z9p_tqHv=h8(ls}9fXH2&cy&@0$s#`mudTc=F|4C7(I3i}_Uw%2xn?mQmoYW>7vn|d zJ&aDy*?wt@s2laS|F5mD49g?gx+MgcpuyeUonXP;-Q8V-dvJog1r6@*PSD^k!QI_% zGjq>(=FAL#czBB>!<(vYIn3fR2Mkt5It?7xio$o1WeZ$hd)IXctoCB)}2s3>vdb zW3$F;odD`q=+Oxi{X*b-^8JWEUq;5r2$0cy0(IR1jUu302L|;4;1=oG{q79~CX>Ml z+|;`}H$Vxl`z+}zqds0=Shx#VKU&U~egQ=4taZudNZK91vIMwHdIvdxIv1e7Jw2Xw zAhk!qyJ`Rwn>G(uYU+jYk3w_!+%89ePSJSM^>h_5Hl{Zi1Nb!zJAh;!sFxcfoKv7k zMFh-t3^1ioC>G}#)!Jj3cv*#l!hAgoY;GPIkjt$A@3uoV7Z>(4FPgI=-LOc4W8Ewx zB~CVh`wCFj_i;O0xR)PCZS;F2Y&bWU-cds0^|wciGHmR-*s-2yj(7jkBD>fi%yOd8 zJN#y0Nhi7tB~!;ddAMaV+fv??QmMxY_kC7X_d^GM3?6;VEYoh;-u6fl6>9^{9IN9G z5y7r?XQlp!LnL|w!WAmk+K;8!a?+Zbu-KN?O_*LovRmXoofvmUtqhlDM^XEW1M$KV zvta9(CetRW8I1G}^k2tVM_W8nb5T1x%#D4h<(zJ$V}(-Z`bP6ywI$Idz2hky$Ii2T zYmZ(t;E@i@JrzXOK(*q6cYCg`@n`RKVc%*%0PZ?)#Ma_t|XRMqp2|~x9R=pKly5}%T_h(-N5iNI2G70 z10gkhB?WA3K}5b~(d&;Ev!x5b3lxwMhDS1Q+2F@wcRZfQxlb3#o12>h{FyYs-yoIM za?iB}hoYJ07A(8D%8;6bqMo#-zJ7-;GO@)K>X)wfJvctKRTPMLt9}oJ*$Th}>Vy*p zteGn`>JETgsO+1nukVdY)o2p;Qqs zqQX$NP|i|;ZC@@$M!!vf&bsvsKc8*%0F1iKeb7uhF`IgBW#|G+PlV|TU3^6lwcfAK z1i)+cYnp+JPv@L}R@Pdz@$dv_KRyyt7fTR}&>gTL_!-Ps>ht@ZV%7pgM0RDbKPU=) zWZ5D@Zjc319C$2+U$*;LrE-PThv@@@!fP%sV47hheo7<^lJqARunB~!J6nN8Tv7Ck zf&OL^n$&`FQ+Do&W74L*C&pef+TOBi{^-ok;{0m1(15u0(AF67%i|e)9#-|n>4RkK zlRfz&IotE@>KH{(F;?S1VJfEW2KonxPZ@La2G}SIHN6nIW<_%`zh54o+pie# z=kgq6@+CmPhaz3F19f}F+AXauZGXZ_edE}9l$(L#Q3{oyEgJqnEChjB_7e|;_gUy$ z8u;nbtc&|%g3C%c&moH4PKic8Xq!4NPQ~$M#>8}UeVN}k^4GYCALSd4;>r!dE1obW zkof%uNH@jabnaYCudRgvih2tDH=2yF&D_o<*7a91S7}988ud&*F|tk%n?gfe2n#J1 z!^eAxHxRFfWNGt7yG9sEscl2tBIjkcgH!4YswUBpSe(yX_vVes@+(qgnabA&y>r^0 z#0UD7ja4-?nIt3v4%}>B^6aAZL~rWEA`YYoPkYW zidW0gus@>7{n`R3{If-~9}5+43wl@CNe&dtFy7OVI_c>OM~DgywQAQqd1uZ85HA6i zCDGc-3hs+OO_7PxEx=050T(d&3zk5d?dCG+P3^^Fj9Y??&kbwor& zUH~gLD&W{8?~ z_#Ad1-1`KOmq=%;@56r^;h0d^)o7tktmZYdzLQ}S$}R$%4hgYd{e_DIk1KWEqtqe!+#I%*h=U!g zPZi-P4JX4PSHv%r=%P(c3xi6UxL-l}^09IT%F3yZjY=ErD{1;M5d<@B)&jh9LQ~w# zEfxpcl}eJ&!=I72*eN|GDR|TCUP@8MiTjQ-A~A+Wmj}^VM^1tY36J&0PW9+Ny>i72 zz1~VIXkx#s!Fv=@(~!38nwntQ$qLHJ^wDsUczKE=io6=Zd7Y0K$T3%e;G)F5kX!&J zg-!O-(#+k}FjzrXxNU5j8nlH{Vq4rE;G53hN1~^%&uGva^89!^(D(5v$dI#BHmGfO zUh+sSv`7hTpqewD0Q6%ZNFWPQJ`gO1fuqkuzRLoo2~%-Do!A1nmL}orvcX@|n|dK( z-fd|Wvee^GJ-rW-{xxqB<9jin2aq=LdvokAwmXp*ZLgWBe>Y$q|n zWz>XfMs796fM(IyI=S~UghdtwkGQEx*dh>bPD;7i{^LT5^+?Z@PC++v?}fsN_7}$2 z3jX$!J*6LM30BSiUdh;d;CVlP_nz%->o;wxpeTfoAD3bYN+`%-tj`UsH2 zP`yPHT3zeGd-Vi|^^R*pt8W}HFW7XW9}d<1^ZDn-#Lz7ZxAE-Yt2swXK~Ny@Q>e;p z?lX)1Q&Ke(r=+dY#EK^6q%6@OE_5D}dF;=X~G)F3eHZ)6-Kj`~>y z;a0XK&IRWF(79+i^V-4NsIK?9MLUw4GTPWaBhNA5u`U~Q+DET5I>d)_TNL41G{jPO zO!B0@5FqKl>v>0u1AiiQJ~5v4Bh{_5V$y@&Sb#LYExR3b;+se2b}WcDyU*n)J3!#?c96bNW%BOYEM%*<*;!@!q!GpxV99SzB!>h=P>x-U zJzV^e??VKPGE7&0zsSk^AW55KF4Yz)_vmdG9ba-xOCH2Wuh*An08=zTYFrNe9cE~@ zR8RYTIp;EEbQ~34X?t)5wOPe@XmoBOLNn-%F@zf6i-q)VjY(G%7Si4^t&eSUd3aKS zJ7p+QlMm)&gR5fo!%l@qRmtfFev$Rv7$rROGT3iMZc{m)DT#-9t~A3=*6;Yts14g~T+wrfd56%~$ec?|dZnNU@p3a0 z*1w-Z`d9dGlImkl{*tC*j^*amb|?O<75XUA-hvAZHsWcT0H7Rw2#YSV{3zI4)lnkw z3LMPk?4k9(>X$YwR~y6L%7U|r^n=Qv!Q9Ap7f8>;hK&LW)}myvN^W)*hL-2XU_``- zNCebd;$X>}_u%6Ui54}|`mj!HWn}M+!;J}mQr>`iF(o}uwKVAC&S0J)6zY)N2c)}F z=prPfyM-52-O`_Q-4su%ly*-ed#?P>PiAW^K=6%!IS z$-B?U2AUefh_qWc!@iWAv54u~_@!#@q}oqeu%J?WNxnS&iWZE`{INv+!jRcx=xyNxL5sz>AaJ{B!RB>G50fEE$vKkBg~xok(6B93V0dr7Qf3W?%;y z3(z<-Rm51lmcXa^!0D%#&hlU>5dQP5egKg0@Jmb#XF!04_A})sBZI)#R5PG%WHues z^J_>?dC)0}e|sbP1Jj@JyWdRKILZlR{`S@m50s3i9U0i9%)T^hiG>p_e_+N4BK+7j zE)}avDratnww%T6#0qc2lkgwX;pgA@5oyY--e|<3Vn2I%Ef6`-J>wGUvy(Y%V?Kh0 zuxo_}Rv^7*M1IH!Nw&3pBZB@a(T^%xmp9D;tD5hmO5{Cz5*Q58?6{33c zu}90h`UY0TL7vy2$9rbiEsP$dL+a8$SrNQ;C{pE=d+q-2+N2J_IgFr_ z$kL6Y`LZ4j+1%w>IXOnqqz}TJpKlx=x)46*gLVRDHZa%3UG_nR%nDEGco$Y5evWT^ ztYpiesG%jgM)bwuiwVZ4Rs^%dg~P=~sw%Sy>Ixw%Pokx%K`~KFPo5GR zJgX)ezd1t}?#HrK#zVZ`150yhTa|lmO93^79S@OHy7(La&mPP=hMF5adsp@Mk)TL{;Qq2qeA)^GK*vu?lwX(UyjmL2ZwzKiS12Zk?n~HL<0{q zH6gO2SgzB2%nh+Y?PEu5E}+`mcrA1%CbxnLi&oy?@+UlfxfownXR28{#fLg{;9gGv zcDl)j4;>Dy)7WwYpr+)`<<>U@G-bnM>`h-ZoN4YfAyp6SmPAqRIG!KJ{bm4pdh>w* z4b~OIrY+98fsLH_C@rPl^Rl)KJXjIHV|Ew#gA z+iJ(l^}F=Bu6GC8Z4-yP#z+~lO}`y_mo^31K4oxPA0c*?JBfv*E;tH{*?Z?>bq7H+KbANF{KVso`lUM-Yi6+ia`|SWnD6a33C&)Thlo^TuFi*3@Q67 zpOj%a5iz&uegUY32)HOanMUPw<_fsiP>NjoT-)~wSWQ?I`GU`_KJh+Qz@aqM{Ofxf z_$xFgM+Ia4`#*r*L=Ym?^R_UaZ*M4yUziBUsyWS8uuobGa*G?{nFmCNQKM#j)iFO_ zk84?NNZkfmWiGbKyRAe|NBDK^fy(pu;+JeqGnBNVzU>g(z7yL6B)-v?kS&U+NKzl~ zWKgE^=NXOyCg0KW>tdYe*hyabR$!AmpWBnM?!Jp={Iox~yJeo*n`!zb;i587rQE+* zGm+Vle#Vj_9_zw+t6u8s9G7%#&&p|}xpdovpkkQvynd0m-bde1IaM1ti=&U>62;9Q zHA^`-YoftZVVt%<#8BTH6Z^LvX0;avqaT^d9k~<{{RKg%`T&5{A9w3sz)qD=W}cxx zqy=A{Ll2Hic|IX|M)9nE5R0)+K})T#)=Y?v#^3c24Xv(s7rm{p={_-)yD<3y4!jQk zj@I9e15iEPn55mdwL=kwqlx5F0p01bv2J=jl`_{82OY0A*Yt2T0`8RdCx4~ze_-Ti zKajJbE@iJ1a_s+yt>75~BAo0Kf|!s*_%4irUa)byWd9azDyc#Sy>U1T)Y09U#*@f4SrT^fulQNEr;Dhf6ky{NoM?KwlYwad|z57i)o&DD&uN6QC-e%iaXw_2uoW`wXZGsryc9>*~^2Emgwc6%_yReEh-$vvG=T zN_lu4wgv$MSril$B&U_uFPDJ17*oX_@G3R8wgyV>eIx;#DFI!~$<7W0{S}~{ZEI`O zKi%32JlhwE#HzYMLqmIbcp#U}loAv3J&&hUWMX0h06@P3R*Pxh6YH7ckHD#PZDeHR z4YyRVhf`5ef#L<6F3$lG3h+zc#%2{5hfE%i7r?I;YF9*#y?Jl7jeA56_pk&g-^*aP z&M)G?=Wzo^gmaI<8Qf;K(GA=;R=F+EVWXE*pI2-~12CLTx2^4MR;zi${M*wtK)$0U zBqRh#cw3zI{nPwO@qm*$hx37woZL4#3aiOH=&+-sqi+Z_fb>eYQtzE(ifzdjv{xi1 zGZ_QJ+1>f39(W!QHFRw8sjYE0bJ(qe_|GIv7t;J=t?_>$k^7+B5EUiks0gVm^i5H610c=cG%U`Wv2*$ zyZBYh7?%K!bqau9QNeJS{!{=;cX@dU=pHdAzipdY+?{Oz)d&EWUpsq4D{7TeU$cgW zh5@ZkAYYKmW)1V+&i4oaC7J?lppSp+eX|(@kh)*FqB%E=0eX6RAe%)+6d?P+ zx2dS0ouCpP0v?OP?MhVe2nYkrlNNY;um*UMdRAtLcn-AzVIyo-Qo<297P`{JZ??Su z<#PS;mZC5P`ti#=;GCoO~b%y-`j12AXG+I8n^5SkeIopYhu zElrY`YF&U@xWJ66>mYqQR=bzo=2&XLlJDZ!1fd6f8oMAP{iyehdKgNld zigPZV6UV0+vGqj46~<8C&;UU53_v;HYG_gBP$o}+!1y!SWv4cPVZyw8*}HfBg8za) zh4`ic&fVa%l1BUI;)3DNUe3gU2!exTs->DMunWh?-_%OUs~bqwW#c?FZ~O{^#E8YV(E-%* zfh>;f%mFaM6daFOn|tPpii$VL&_zz41U)r0G>E#&#YM2nO+MwSe_}@1;?H0*zkY5n zA$-)efs=~S5?y9werCcIfHq9^{m~tPXimd4z&x9^$w@%q%N+^=8o`)pzZsHfN{;lc zr#1rYifwuNEl_8ujL&GJtS={nmX(#gHtDle@k&#Y_{XHWi-(S9pNY&iD^(7D>cIkX zTNY&Psb27nvDhgbXotW|wxUG-@#BY^i3_oye<<@V7R65XRlu`@<~Qv3ioGy;I|=~S z(e2Af>HCLB#bb?v4fu7gCrAOw;)CAHe0FA5;OofYpaXCS?elC`dMqy zYGgw5qGrnB|bVU>M_!o-lfH|ArJd2M)Is z1tA+^rL@pxm0HyV#c6Nly2~z4x5bUoV9a_!!9Y%xWa1)hj}H9~mZJfPo@i=Bi)Lk5?uY$jtgMLlczfIVY+XQ#KO1=U_7~Y)D_3554aJhaWhfg8 z;%WxuO)=o=Jp+93K2^mm0gCl4t33cc`uk9|L!(M-dOy%)SJ_)!0hkYFTcl&z24cUx zO0h^3$PuUG&N|o;0N@(JG8U=a4V}vwS5S2nJr`T-2HeY4Hd0!ZeAs0J-CrPGhO!r3 z`7LgvWCdUqY=#4gJ7>1Qw)p$Z&dlRFKwL&9cn(()8!*e)8_VRuPAid3Wq}?wV0|oA zuR-iBZ&!ay&;D&O#FK++qzWMsGbAq<9x*pNntc|NYf>Jy=#M_`txR(rvaJC+f*G4i zM6=Z&Wq&3~ypEGrB=FoV9T_l?Tr)7Oq@){&GFYkJyz}_YP|!K>w~yUD`xs#Wyem5U zbx$@>^5Oqxw3%48SYf)wJXs3TJ9uaYZ+iI1p;96giiYBr<&L7W5#m-H?jk}zJNF%o zN(Y}gr+~lobsexf8O;~ikCp=b`b8mL?p;KSA1}R*&9?q>QPCa{L8xB2cKW!#<~6@6 zK4mHHR=+RW|8J4X|9Ld=;6My!EReAH&nX35M?lP9oVE)2m*)R7_4&bmh5;mtY9h(w zf5u;Ld%}$L>EEWn{~rWnVP7Rz^_YB@|Km*j^}25d1-F0OQU3f&ziOaxMoa0SLd(DQ zM$CE2<8M#(&->(82l}F|V)R4%FHhmWL(rT`AokP8%s`y&Uz-g9k>n?yu{JT;`E4~e z3xGcVz5l;#eA&=Iusj!tyzt+4|I!-8Tln9XBjWs*|M>r70bFJF*;lE7EdC8~{_8mW z`3Ju}K)s~MFOxyqLen4FfML#_VVAz&y_ zzxvwPQ`sMcOp(5O2gGLbl#~WCF8Y)6^PNLO^%|_??+H5?Zgcah9WO4Zw)YP`shD9? zCYK|Qv=jxzQ+!a}rvKv+_nNHKMM?BSjZ`WV_;w;W|S#*cmum9F%ZIVN&$7#fqh6`UY_Cds)$ZiV>U_g z7W{$SNGE;cr7MbLvX#cXoKbf-AhC}DO7iEjBlV4a(Va~^2`l;BirV{x`Emjt3`9?BkbC=MUfs^~e@&o)q6eeq6nm7RUc0n)Scr%#Z5YYwh zGq>YSR6w#r?iUp$AI_b6{=uiA(`m1|tq|<$(!ZP8Iy#yzRqy$g`}O?ldKz_TMLvd( zUaPg)9+1?(;;B5vsN}f}CIdhh6RF*cw8TeP?-HzP83>!pwCPFr&xb$7lETD7B}Z57 ziTk<5Jjtne*eha_NGo#Ux+cA4ninq?%Z^UY)sxlI6D~Q6Pf*39+RNE=8}dql1GAxF z96^(`w6wBU8a5Ud44D5wG=BU_Nm1>#ko^tjD=INh#_q;%t`86r*7GAM(I`Z5H6~8g zhK>@{=Uhx)oi09(?PINUE|$1~$w`g)$u|TPW!0fN=FS4gz$BH+gj#R8ik5ECs5kpQ z4Xu)S5`Pi|75@z&ToeZctb7-CoOdZLqg}WvOc@;c$@?(=W7VtK`Dj9eVtviy%&68AIt{J9K0*0ej9PqHDd}x6h$_v+W)2cy4FV7p*KNnGr+2lh&e zdw2y{V12|(f&zx>p&=oQtzT{t919YMvGdZ1K=Xz9NhGRjSzJrx%WAQnppMVJJfywe zMIIL!U-knY>F!T=oDS2dRX2TN$r#wIHhanuVM;;3eZ7Y9E6RMb8WR5bvu4A5p=r0U zku&u?nY-9T`Js5X!{8d}p$#h;Vn+KS3V48Zb*vf=**WS%r(dl%&Nc(-P70uAl3ls1 zY!EzLoNxP7zf;@Bnz~eJIuRYU`W&RYu*nMcLF$Abftj1?kmWw)pBf?UhxGb(Me0@Y z7b>v3PI0c_+__gbf+}^~QJK3rmTa4LXNgE2sO7UC&F**GX-NcqVWn&@S2!(3d8 z?cRRLBNx~3cCHn_>a~aIG8U^kq>z#0fWz&>(LzaSsa3r9<1rYys7FBzqhX;ptG!YU z8GQ0^p3$#(O2m+0vjEm-4l%f%0(likVXN=cJFY`gVI0=a2}Q1}7t< zqjmbZ?!>|HaySU=kR^?yqoa+SRvOAkQ`g1HlC!1vn?rHv$?kg#CBvOBJg%?zx7(6) z%uFP>T(u`l4K32f)GW@=1-D)AMPKJ@W5w56H+YQ1IwG+f9`EkviosE7D>H+HyIiE- z0CUhV7sVG!<##5Gr zSnwv=Rok2EsoJMFpi0M8_EI2nWE38z+c_s8G3!GMN-SOyVVU)iCg1eJf&$sj%yPBX z+=#J5u+!m8ayakz%IPB&83^r9qm3s+rW?N#c8RlujP+{D3qJT;=W09G)>S(=%;`q( z-f}IFQ`V$H+j^rf$>3Gn{<>q?uU5=)_3zuCY$f~9eb0lNOqgTV^-GQ#rR@i<)dFM0 z()L_ilyC>c&fvSVQ?3Q=OQa09%n0d5caPK$W=85OsrZ@coX)!6bS-XNML)w|*I{$O z_+Y9fSmzXl0_hZZ!$cMq>VrMyg^o~(uglL~$u)H`FAu2~0(tqLjj!Y(o_2mN>% zKincm+JAqbDRoLP@67Eoy-I*!siVxiy6C6u`JGgfUfAGQcl;CjwYZqOHnUDZad2^e z=#zGXfxNLe`d4?EZr}NlAk*$#p#@kE&hKKWajx84h7&3sE;ErX(RS?*Y{nNqD#I({ zNI9FPE|zq^Fdm4jVd3msEEc}mobb|vB8TP)*N6b*8qMpaQ*PJNsb4W`wxF?qvjP6Y z?J1-E@1p72+6?X+pjZzAcYQ_v+Gy4staL6d=ern+nZZFsWELKtmHq;zM3E8;l+R8Z z-5;$NS@2oi0gOu4N4<)dnz}@`qP$Xe{96P*AAnU9!=jB%&dl(59ju*i76Nwazs6MR zzcZ15Q6s^!hmQ^o!9zofYNLwhPx|_<8xPNI?d*(Yum`9k1Kw1JadE=B(m3V>sO_HD zDzdWM0L=)^fzR`4Wa)7un$Ig*@+@Yp@7IB(c|K@NJ1I?_Dq^vkQh?>4SBgQtDKNEPKCi<{JZ57_@?@ zm#6+ds??OXBrd~MZ!sF3sB+rLt>$T;0smL!a~GdW<$YPbxtqa`|E7MXja#qz4^pHll5Uw8EM(zd0OeE=2GV z3qCw=%;klh-F7Jp{;rwTiR}KlaNUzGAEv#~Y~yxlF{HUV+$ENMNuy+CN#&SV(qx?9 zMyx0*NzFm%D8+1v0NKTw75_{0^GG1qv1Q8lJ#{sWU0QDxEH%%m`f8R21tA4A67~y5 z%ySwEriQqT+@N-!h&+q-Lp;HQ`i;m!c%SF>Vt1~^uO|bp%Xc>qR~jGg--nBh#b2UA zl9_~0!WvY)^Zfln;7a{+t2=+Nue9huymJ@6g*%Qy%4nelV;x3+k1j?*r+DPOpy@F*?FCJs0|G@&j7y`;PYF3{CSH#05=6q}OP{ z$=3IZuu86GSb5yxpeW4xq1AjdZrR3~D9=}=%L%IA(Ov8D6Y1|(jstffxV&5-BW%o% zjdbMfvy<+(ZrF+@2N(ACYVsTf%mrW%nOd;OLi49&zY<4fe1Y9zmy!i`YR^@$>KbF8 z_W;w51E54fBH-fl)^;pETdlP>7!Q*vwqp)#wahsjuK8Tu!>YD8?-Q7cCjmJo6yLi~ zjyt~>YLc=&7@O8|1gSmkMx>-sPqB(Uc1njLv8Dy(wPkO~qqF!LUjyY=zDB19_C9~P zf5ixj0Ew%t3|VPG7)j&SuEOn0KRX+wO;fG9pC`6n&t8=haZgi3%P);&*+atRYR>1rr3Ykt-2oH6_cEt7rU+P2;DcSBy${Zse!})l zbUZwU3m4*As0jF<2xn*q66r$ue;}%PFcwF~bzQtvqkx?;^UB1x?O3qnHv4p-t@JJU z+P5_?KuHBPTQ}TMxxiQxkt?8DPw%!uNwNbJC^i+&_Z-E-Igi@uDYx5e0%yET0xf1u zuDFUOYb8773CNSx>?@&$&5y&}GO4QOxAO-hc!rS~u=OD-j>ET(Iv#}0vd){NUKz;>JNMB3@oNRkkM(3uC=OUklxH?CU&zs>(0n3F`@uNo zDhv?6eXBY*xC-;b%2=1{Q?i}oP%VHp^s^bT_U<|dI8vXEjN2O3&ebvo=TSG+3#f({ z1kohUY0Q091)jX{=`T0Ef1H~yEH54DsD5EVH+1BqsQb}|Si_3ouW&BQ=VQ^$M;1Ui zGdEeht5nH@joOmS-ymGqy)wvy1BbZUsb(O`F5s=j<%pRXuWWm5xwF`S7{~%?4a`O=o^lpc9WoZb^q?Xtbx_UFz`f&&ctwya?w+rBRDnFe&2Bn= z0g;gB{^X3rDQ;@3jy6L5U{9{e=g&lr_Xpc)fP0Zc#$?$Ni>P90)q~L2DCTi+=KF%>tdlVbyM%p8 zTwJabTo?s1O5B!4f#e@SMrXo03j#M`F4>ute%@hRD(z2KgSAL8+Y#vCAZCQcMkTHU zOEALfPq-<3>U3Ei(2zQL6tEU(*kuArb_v3YN!=mZf!m+!J3~X7qx}_I8ZrOmTQ%`e z6-<$Es-?g}t1O6pbrx9jtyogjspk10BS^sr@UD(K&liS9leHBiz604?SN|EWkB%km zyG5KLdwuz6cM?q|q~b|}y0^~w^4~Z-#um<+cDpfHz7>#XkwjW6+wrHj@fQ}9HM4%( z_ae{+-zKJ!aVP?8rEJNauQ2y8FRS__v(LUJcW0V?S!9JRjk{mS~ZzeR%G5UeIe z+PIE4)h9aTf)OOCDAQqASP~3LNWtfjt?r}+EwwwWjXnFhCsLFMQWQ!*ard3rKeiQF zFguXRd&i`?vL#S@92}JqavoM`xQdLXCYp;dFEzDfQPF|wq(9kmc}ysfHpb>reM92n zL=>yNc}9*kx4Z<|`etU?g~RuT#koB%`w`)icFqaHB~=Ke)lu@v#|9D$8l_dLJhE(& zy?6G+N4Q5f$2_ebbAEU{TmY@Vd$7{(04U6$)G$uVvtuYNtZAa(*+1lyd-`D2IyXdHJ;8y@XoN3I$`27U<7H z$z2h(>7o1K1|n!pzSL_7CCcOh17cPt4JN)eD=w+wW^EAn7Ns<>`2$%qCroU2cjbim z*dV@$i%_1?Ty2c-tR23E&4SQseI=eunua^slXz|KioY%4^iAY=sXl3qiAD|6G$qTZ zY+p!q&d4^CJ!VSmvCX3nd!oog`}fb{q^iPztGeBmTGz=549k`V#X){7dUlbtr^SsZ zJ}F$0&8Ko>{np+b$k4C&12x5(vd5kXHUkPpmbRr|uOB3ArR~WiN)&RSc2(@_c5FS8 zeOI8Uu!mNwlT8g)&s(3`X1{G35yBD=)~$P<)pEe#_ZL5WM&fxp;>&_% z*LGy_82?rUEH~Q=3sujwBX!T_d0`;Q>`zgXOiY3ZnU{$GG_)Gv?0o{<=qiO!83+paXdKKA3P0rf6t4C?9gLuE3SaCtqE znD4j;jN~p?mQi>1afjZ^B!C-$f)O71A@sfOw*c#A0hdr&J`?;p}BsYAngP(Gk!_#`U0mr2JLb9`sSyV|xM0#TBgS zV7_rpN*0#ft>(U+5i@6BfxYFnz+ztEk7=3%HSJKc+F;vIXUXR1r4oYcb#p~J{H_Iu zcxO3ZLz(R>Ksho%Zu~N(xpU!MOFel!XXgm`xRL_guW@uXRYNR4Qw|c2cQ}&)Ynff$tPx%DM#)v5tV!ktO0}JC!9Lcw)EGKgP>5!yPzRO%| z!2gz}RxVkn&}j3v<2$LtmQa`iHfu_qRS-`GJP`Z^wkxv;X1m#{3W_-7UUgF=WhTs1 zPCM1?=)#K!Tx};7H5r#pd)6|UGevCg*KexBTn#0@2nr$@` zACm-E|0>+>>Oa{?+>D+aHae4hVCVVJizb62ly3xH0zx;38|=3b_XGvr6icL=sN{@| zaW*vxBb+<=^2Qhv&d&@LbAZgT89oToSKaHLTFnlMT))fp7uE{Ps4uqh93lrltU@yL zQ-zIFPy=PO_5pINIsN$HKq){Z;@f@&DU;&T^a`CC%txx*{gp`8Y=Est0OoSEjE;dC7D~<$7LCK>^}F|8Ai&*G z)y%Rx$D@IsBz9y}^G1)^k;VCGi}UD$$Kpz^fNpHI+4G+4!w3HT{TlS!Bi^ER>G|G% z(oTph>GWUVw6y5@c!(GddxJxRMHp7j5W_XQ^!VKF&DKk342p_*?TT;NhV>~DhTPoI zzHd%A!Vx_Qh?|iCKcaZ(5Qz=b)NMTweU|8jQ_~!@|P`^4l_l zFD84<(IiKKhnN>^k$Mvy#9V`#BhSvG4LG^o&xGInpISE$pD&O_x7*Tp&CQEE+zle{ zMFk&^p+|lW_e}cH7eiH5G-}aG)3wYnwwUy3I&eJ=xB025bSa%P?ZSJx&Oh|BCDhb7 zl0SV!O(p9q`s$WUb99_1K5PVdi}MQ;_y#l<$~;HBOLx>MNxyTz74>J{ytN}e!a(tilPQ2 z%Q?b_Yh0uYaMM@X9CzE*YrK0?G+kWSV9`d>dA-_G=_dSn(F?4R5oh|8K)$1wW z&*`YD?*0z4oY%vFxO@7XXn21+U)7_ZTM)7Y`c{bUP7A8G#Jt+4=<;_BQpZYyb%e$D z64s_F<+X<$F$8l1q_kMhs|t`_A zF}z9?77Zt^A|zzx&rpIyKgNW9 zz$hA$U{qvhJdkISz*#WpLN1%Rv|Hg%k=~v@9*b6-yz7 z#D$jYjQwJE{z)d*t)@Xdav{wAVVmLhKMXKn zNBaNQ3X=i}x1!#`%zw*F`4+roawNiz{;gRk)C3?m_#K(p<3DWyXX5`hoC@SI%P1+U zi9!G8<3In9Q+mriNkkm|YkJU30?3vXz)3+&eNfl3t^3 ze2R;Z5gKw0-Q&n|&bsM#-M*?MNw_b2ox$E6V(NmNqqVxx*aDC)|KDxDHRt!5_;v&5 z*X*W}yWeeRcv z*Bl)kx8W2Nras_t@tR-Uwmo`6r`^A5Mh(w5f|V~EFWvU^0AqsLFEBoxS!^72= z0oiopBT1%DqaGx0$D;okR4NW2f0*@vt#^GOJ+9kI6)vyS=Iyaq`{i?vT>1GULRP7E z&6mzj9dg+d?K+F|%>nwGlh?17D2NyUM{9Z@Ix`Z7)#z}Rb*Z7kdaAzfP?dMk^LaMO zQvK-a?tIF@!68grTe&ZY&wH&-5>h$;Eg1Y;1{Tm%=QT^>np3jh-JM@5*f4f*o_a(l z(rUwh)W{7E*Lnm_eWlt<)+0rPK#GmExMk#C|6mOFF*a5>B87s~`Qhpw9((rjItf3G z)m(02adPqJcf|p=aP(30mF9)t!W{|A%=pMyc(?6KS~h`w?N;l`1Ir_|^D{sGN~8R< zSAfRKDO_V?s$s3#IXXXqG`i5|ZUQ=l9cmEJ46^YMZ{9{O>2};W13-L}#YL&Z#E0X#_e*901vHuHDxvXazD)8@lx%*(wsFqD)qwa2}=7lNSK3j zp}}gV)Hcf|7=r05vxv?@|6*VM!7Q!EYU{an6=_iomddh=Z7;1fNmC9<(a@hj7sE@aM?dm+%(=Hq=xgG&Ls6+tGthWv?U*S@5 zcF+q`%4zXgRVVzF2&kW`L)Fn4Lh zmBG8|v(oJ2#|gTlFmqWl$E(@!vcHQSVtnk@Q~GpGZf(8rG`(<{^vdZ##lo^YTklXf xb{vdwT#=t2^h6Y+Iz#!tRztwrl%s=w!Y}WZ6rgLg#s>j@#D!&q%0KJ*|38BCGK2sC literal 0 HcmV?d00001 diff --git a/dkan/docs/index.rst b/dkan/docs/index.rst index 1edf0deee..d02e09314 100644 --- a/dkan/docs/index.rst +++ b/dkan/docs/index.rst @@ -1,23 +1,24 @@ DKAN Open Data Portal ===================== -This is the central site for technical/developer documentation of DKAN. DKAN is a Drupal-based open data portal and catalog developed by `Granicus `_ (previously NuCivic and GovDelivery). +This is the central site for technical/developer documentation of DKAN. DKAN is a Drupal-based open data portal and catalog. Development sponsored by `CivicActions `_ . .. toctree:: :maxdepth: 1 introduction/index - admin/index components/index + community/index + admin/index development/index apis/index releases/index + license Additional resources -------------------- - `DKAN Home `_: Central portal for the DKAN community. - `DKAN Starter Documentation `_: Implementation and deployment tools -- `Granicus Open Data Documentation `_: User documentation for the Granicus turnkey DKAN product. - `Drupal Documentation `_ - `CKAN `_: Open-source data portal that is the inspiration for DKAN diff --git a/dkan/docs/introduction/about.md b/dkan/docs/introduction/about.md index 52abdcbfd..dff59836e 100644 --- a/dkan/docs/introduction/about.md +++ b/dkan/docs/introduction/about.md @@ -1,6 +1,6 @@ # About this documentation -What follows is a style guide for the DKAN documentation. Use it both to follow the conventions used throughout the site, and for your own contributions. DKAN's docs are written in a combination of [Markdown](https://daringfireball.net/projects/markdown) (specifiically, [CommonMark](http://commonmark.org/)) and [ReStructuredText (RST)](http://www.sphinx-doc.org/en/stable/rest.html), and built with [Sphynx](http://www.sphinx-doc.org/en/stable/index.html). The docs live in the `/docs` folder of the [DKAN Project](https://github.com/NuCivic/dkan); to suggest modifications, submit a pull request as you would for any suggested code change. +What follows is a style guide for the DKAN documentation. Use it both to follow the conventions used throughout the site, and for your own contributions. DKAN's docs are written in a combination of [Markdown](https://daringfireball.net/projects/markdown) (specifiically, [CommonMark](http://commonmark.org/)) and [ReStructuredText (RST)](http://www.sphinx-doc.org/en/stable/rest.html), and built with [Sphynx](http://www.sphinx-doc.org/en/stable/index.html). The docs live in the `/docs` folder of the [DKAN Project](https://github.com/GetDKAN/dkan); to suggest modifications, submit a pull request as you would for any suggested code change. ## File types diff --git a/dkan/docs/introduction/dkan-sites.rst b/dkan/docs/introduction/dkan-sites.rst new file mode 100644 index 000000000..956d06add --- /dev/null +++ b/dkan/docs/introduction/dkan-sites.rst @@ -0,0 +1,144 @@ +DKAN sites +========== + +A partial list of `DKAN `_ sites around the world. + +`Submit an issue `_ to add sites not on this list. + +Multinational +------------- + +=========================================== ============= +Organization URL +=========================================== ============= +United Nations (Open Data System Inventory) http://data.un.org/ +The World Bank http://climatesmartplanning.org +Votes Without Violence http://www.voteswithoutviolence.org +=========================================== ============= + + +United States of America +------------------------ + +================================================== ============= +Organization URL +================================================== ============= +U.S. Department of Health and Human Services (USA) http://healthdata.gov +National Democratic Institute http://nditech.org/project/dkan +USDA National Agricultural Library http://data.nal.usda.gov +California http://data.ca.gov +Oklahoma http://data.ok.gov +North Dakota http://gishubdata.nd.gov/ +Georgia (Governor's Office of Student Achievement) http://schoolgrades.ga.gov +Massachusetts http://docs.digital.mass.gov +Nebraska http://nebraskamap.gov/ +Louisville, KY http://data.louisvilleky.gov +OpenOakland http://data.openoakland.org +DigitalC http://civicinsights.org +================================================== ============= + + +Europe +------- + +================================================== ============= +Organization URL +================================================== ============= +Cambridgeshire, UK http://opendata.cambridgeshireinsight.org.uk +Marine Scotland, UK http://marinedata.scotland.gov.uk +Detail Data Northern Ireland, UK http://data.nicva.org +UK Financial Conduct Authority Internal site - no public access +Bank of England Internal site - no public access +Bonn, Germany http://opendata.bonn.de +Cologne, Germany http://offenedaten-koeln.de +Mülheim an der Ruhr, Germany http://geo.muelheim-ruhr.de +Bielefeld University, Germany http://dszbo-portal.uni-bielefeld.de +Wuppertal, Germany http://offenedaten-wuppertal.de +RNV, Germany http://opendata.rnv-online.de +KDZV Frechen Rhein Erft Rur, Germany http://offenedaten.kdvz-frechen.de +Montpellier, France http://data.montpellier3m.fr +Italy http://dati.gov.it +Genova, Italy http://dati.comune.genova.it +Pompeii, Italy http://open.pompeiisites.org +Formia, Italy http://dati.comune.formia.lt.it +Torino, Italy http://aperto.comune.torino.it +Confiscati Bene, Italy http://www.confiscatibene.it +Donneche Contano, Italy http://donnechecontano.it +Data Hub, Hungary http://data-hub.hu +Ministry of Finance, Czech Republic http://data.mfcr.cz +Ministry of Defence, Czech Republic http://data.army.cz +Ministry of Regional Development, Czech Republic http://data.mmr.cz +Czech Telecommunications Office, Czech Republic http://data.ctu.cz +Děčín Municipality, Czech Republic http://data.mmdecin.cz +Opava Municipality, Czech Republic http://kod.opava-city.cz +Decentralised Administration of Crete, Greece http://apdkritis.gov.gr/en +Bosnia and Herzegovina http://opendata.ba +Belarus http://opendata.by +Ukraine http://data.gov.ua +Russia http://data.gov.ru +Moscow Region, Russia http://data.mosreg.ru +Instituto Politécnico de Bragança, Portugal http://observatoriottm.ipb.pt +================================================== ============= + + +Asia and Oceania +---------------- + +================================================== ============= +Organization URL +================================================== ============= +Saudi Arabia http://data.gov.sa/ +Bangladesh http://data.gov.bd/ +Transport for New South Wales, Australia https://opendata.transport.nsw.gov.au/ +Maps and Data, Cape York, Australia http://maps.capeyorknrm.com.au +G0V, Taiwan http://data.g0v.tw/ +Ikoma, Japan http://data.code4ikoma.org/ +Kyoto, Japan https://data.city.kyoto.lg.jp/ +Urban Data Challenge, Japan http://udct-data.aigid.jp +Banda Aceh City Council, Indonesia http://data.bandaacehkota.go.id/ +Gerakan Anti Corruption Project, Indonesia http://data.gerakaceh.id/ +Hutanriau, Indonesia http://Hutanriau.org +================================================== ============= + + +Americas +-------- + +============================================================== ============= +Organization URL +============================================================== ============= +Jamaica http://data.gov.jm +Saint Lucia http://data.govt.lc +Open Puerto Rico http://abrepr.org +El Salvador http://datoselsalvador.org +Buenos Aires, Argentina http://dkan.puertasdebuenosaires.com +Rosario, Argentina http://datos.rosario.gob.ar +IT PAMI, Argentina https://it.pami.org.ar/ +Bogotá Secretariat of Culture, Recreation, and Sport, Colombia http://sispru.scrd.gov.co/siscred/dataset +Narino, Colombia http://datos.narino.gov.co/ +IMSS, Mexico http://datos.imss.gob.mx/ +CONCYTEC, Peru http://datos.concytec.gob.pe/ +Ministry of Education, Peru http://datos.minedu.gob.pe/ +Ministry of Health, Peru http://datos.minsa.gob.pe/ +National Jury of Elections, Peru http://jnedatosabiertos.pe/ +Ministry of Labor, Peru http://datos.trabajo.gob.pe/ +Open Data Windsor Essex, Canada http://odwe.ca/ +City of Fredericton, Canada http://data.fredericton.ca) +============================================================== ============= + + +Africa +------ + +============================================== ============= +Organization URL +============================================== ============= +Pan-Africa http://transformagriculture.org +Sierra Leone http://opendata.gov.sl +Nigeria http://dataportal.visualdata.com.ng +Ghana http://data.gov.gh +Namibia http://www.namopendata.com/demo/ +South Africa http://data.gov.za +Local Development Research Initiative, Kenya http://transformagriculture.org +Sayada, Tunisia http://opendata.sayada.tn/fr +============================================== ============= diff --git a/dkan/docs/introduction/get-dkan.md b/dkan/docs/introduction/get-dkan.md index beb3f62ef..059ad9156 100644 --- a/dkan/docs/introduction/get-dkan.md +++ b/dkan/docs/introduction/get-dkan.md @@ -1,6 +1,6 @@ # Get DKAN -DKAN is open source and flexible: You can download it for free and run it on your own server or choose from one of our hosting partners below. +DKAN is open source and flexible: You can download it for free and run it on your own server or choose from one of our hosting partners below. Visit getdkan.org for more information. ## Download and run DKAN on your server @@ -34,13 +34,9 @@ Updates to DKAN are released frequently. Acquia will not push these updates to y Pantheon provides reliable Drupal cloud hosting with a powerful development tools and web-based user interface designed to facilitate and encourage best development practices. With essentially a single click, you can spin up a new DKAN instance on Pantheon and log in to your new site in just a few minutes. -You can register for a free account [here](https://www.getpantheon.com/). Once you have access, create a new site: +You can register for a free account [here](https://www.getpantheon.com/). Once you have access, create a new [dkan site](https://dashboard.getpantheon.com/products/dkan/spinup): -![Pantheon new site form](../images/pantheon-new-site.png) - -Choose to make a new site from scratch, and to use the DKAN distribution: - -![DKAN distribution link](../images/pantheon-install-button.png) +![Pantheon new site form](../images/Pantheon_Dashboard.png) Pantheon will then build your new based site on the latest DKAN release. You will go through a normal Drupal install process, explained in detail in the [installation instructions](../installation.md). @@ -56,7 +52,7 @@ Replace "DKAN Example Site" with the name of your new DKAN site. The last argume #### Managing updates -Pantheon uses a modified version of Drupal Pressflow, which is [publicly available on GitHub](https://github.com/pantheon-systems/drops-7). Whenever a new version of the DKAN distribution is released, the changes are merged into a version of DKAN special-built for Pantheon, [also available on GitHub](https://github.com/NuCivic/dkan-drops-7). +Pantheon uses a modified version of Drupal Pressflow, which is [publicly available on GitHub](https://github.com/pantheon-systems/drops-7). Whenever a new version of the DKAN distribution is released, the changes are merged into a version of DKAN special-built for Pantheon, [also available on GitHub](https://github.com/GetDKAN/dkan-drops-7). However, Pantheon provides an easy way to update your instance of DKAN (or any Drupal distribution hosted with them). Each time the DKAN's Pantheon build is updated, an alert will appear in your Pantheon dashboard: @@ -74,8 +70,3 @@ An error like the following is often seen at the end of the install process on P This will hopefully be fixed on future releases. However, the resulting site should still be fully installed and functional. - -## Granicus Data Subscription - -[Granicus](http://granicus.com), the company leading DKAN's development, offers a turn-key software as a service (SaaS) product called [Granicus Data Enterprise](https://insights.govdelivery.com/Digital_Services/GovDelivery_Open_Data). Hosted on Acquia Cloud, Granicus Data Enterprise meets US government [security standards](https://docs.acquia.com/cloud/arch/compliance-standards-and-regulations), comes pre-configured for out-of-the-box open data standards compliance and advanced data visualization techniques, and includes 24-hour, enterprise-level support. [Contact Granicus](http://granicus.com/contact) for more information. - diff --git a/dkan/docs/introduction/index.rst b/dkan/docs/introduction/index.rst index d0b2a66ed..244641de9 100644 --- a/dkan/docs/introduction/index.rst +++ b/dkan/docs/introduction/index.rst @@ -1,7 +1,7 @@ DKAN Overview ============= -DKAN is a Drupal-based open data tool with a full suite of cataloging, publishing and visualization features that allows governments, nonprofits and universities to easily publish data to the public. DKAN is maintained by GovDelivery. +DKAN is a Drupal-based open data tool with a full suite of cataloging, publishing and visualization features that allows governments, nonprofits and universities to easily publish data to the public. DKAN is maintained by CivicActions. .. toctree:: :maxdepth: 1 @@ -13,3 +13,4 @@ DKAN is a Drupal-based open data tool with a full suite of cataloging, publishin get-dkan installation maintaining + dkan-sites diff --git a/dkan/docs/introduction/installation.rst b/dkan/docs/introduction/installation.rst index 2cb22fe6c..f0185535f 100644 --- a/dkan/docs/introduction/installation.rst +++ b/dkan/docs/introduction/installation.rst @@ -21,13 +21,13 @@ with: distributions `__ What you will find in the main `DKAN -Repository `__ is a Drupal +Repository `__ is a Drupal *installation profile*. To set up a working website using DKAN, you will need to acquire or build a full DKAN distribution of Drupal. .. tip:: `DKAN Starter `_ is project - containing a prebuilt version of DKAN and the tools `Granicus - `_ uses for our own implementations and + containing a prebuilt version of DKAN and the tools `CivicActions + `_ uses for our own implementations and deployments. Learn more advanced workflows in that project's `documentation `_. @@ -72,7 +72,7 @@ Using fully made version ~~~~~~~~~~~~~~~~~~~~~~~~ At the moment, our supported fully-made DKAN codebase is the `DKAN -DROPS-7 `__ repository, which +DROPS-7 `__ repository, which is optimized to run on the Pantheon platform. You can build a DKAN site with a single click on Pantheon `here `__. (We @@ -80,7 +80,7 @@ also offer `one-click installation on Acquia `__) Download and unzip `the latest version of the "DKAN DROPS" -codebase `__ +codebase `__ on your server webroot. if you want to do this with git instead: @@ -107,7 +107,7 @@ Requires drush version 8.x. :: - $ git clone --branch 7.x-1.x https://github.com/NuCivic/dkan.git + $ git clone --branch 7.x-1.x https://github.com/GetDKAN/dkan.git $ cd dkan $ drush make --prepare-install drupal-org-core.make webroot --yes $ rsync -av . webroot/profiles/dkan --exclude webroot @@ -119,7 +119,7 @@ correct tag after cloning. For instance: :: - $ git clone --branch 7.x-1.x https://github.com/NuCivic/dkan.git + $ git clone --branch 7.x-1.x https://github.com/GetDKAN/dkan.git $ git checkout tags/7.x-1.11 ... diff --git a/dkan/docs/introduction/maintaining.rst b/dkan/docs/introduction/maintaining.rst index 50f66d308..6d643a37f 100644 --- a/dkan/docs/introduction/maintaining.rst +++ b/dkan/docs/introduction/maintaining.rst @@ -12,9 +12,9 @@ and libraries work the same as any other modules, themes, or libraries that are added to Drupal sites. They are packaged together in the ``profiles`` directory to make it easier to install and maintain. -.. tip:: `DKAN Starter `_ is project - containing a prebuilt version of DKAN and the tools `Granicus - `_ uses for our own implementations and +.. tip:: `DKAN Starter `_ is project + containing a prebuilt version of DKAN and the tools `CivicActions + `_ uses for our own implementations and deployments. Learn more advanced workflows in that project's `documentation `_. @@ -70,9 +70,9 @@ update of Drupal itself `__. 1. Back up your database (just in case!) 2. Copy your ``sites`` folder somewhere safe. 3. Replace your entire codebase with the latest fully built version of - DKAN from `DKAN DROPS-7 `__. + DKAN from `DKAN DROPS-7 `__. 4. Check the new versions' `release - notes `__ to see if there + notes `__ to see if there are any special instructions for updating. (If you are several releases behind, you may need to follow instructions for several releases). @@ -104,7 +104,7 @@ is similar to the process described above. Assuming you have followed the instructions for ``drush make`` and have a ``webroot`` folder inside a main clone of the `DKAN -repo `__: +repo `__: 1. Back up your database 2. Copy your ``sites`` folder somewhere safe. @@ -117,7 +117,7 @@ repo `__: 8. Replace the ``sites`` folder in your new codebase with your old ``sites`` folder. 9. Check the new versions' `release - notes `__ to see if there + notes `__ to see if there are any special instructions for updating. (If you are several releases behind, you may need to follow instructions for several releases). @@ -149,7 +149,7 @@ Using a Custom Make file ~~~~~~~~~~~~~~~~~~~~~~~~ DKAN is “built” using a make file and ``drush make``. The -`drupal-org.make `_ +`drupal-org.make `_ file in DKAN contains a list of most of the modules installed in DKAN. When developing a website for production, it is recommended to keep a diff --git a/dkan/docs/license.rst b/dkan/docs/license.rst new file mode 100644 index 000000000..fd0785815 --- /dev/null +++ b/dkan/docs/license.rst @@ -0,0 +1,6 @@ +License +======= + +DKAN is licensed on the same terms as Drupal, under GPLv2 or later. If you have any questions about the license a good place to start is to look at the Drupal Licensing `FAQ `_. + +The DKAN license also covers the related modules such as recline, open data scheme map, visualization entity feeds flat processor, and the taxonomy features. diff --git a/dkan/docs/releases/notes/1.10.md b/dkan/docs/releases/notes/1.10.md index 7e508adb1..b5b0dcfb4 100644 --- a/dkan/docs/releases/notes/1.10.md +++ b/dkan/docs/releases/notes/1.10.md @@ -1,6 +1,6 @@ # DKAN 1.10 Release Notes -Check out what’s new in the latest version of **DKAN 7.x-1.10**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Check out what’s new in the latest version of **DKAN 7.x-1.10**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ### DKAN Distribution - A number of improvements to our test infrastructure @@ -14,7 +14,7 @@ Check out what’s new in the latest version of **DKAN 7.x-1.10**! Have question ### DKAN Dataset Module -https://github.com/NuCivic/dkan_dataset +https://github.com/GetDKAN/dkan_dataset - Various improvements to dataset teaser displays. - Support for external previews (opening catalogued resources instantly in third-party visualization services, \* including ArcGIS and CartoDB) - Support for Flaticon at module level, so vector icons work on any theme @@ -22,6 +22,6 @@ https://github.com/NuCivic/dkan_dataset ### NuBoot Radix Theme -https://github.com/NuCivic/nuboot_radix +https://github.com/GetDKAN/nuboot_radix - Style improvements for "open with" button - Fix default logo path when svg not available diff --git a/dkan/docs/releases/notes/1.11.md b/dkan/docs/releases/notes/1.11.md index 7a9d829b9..253754b40 100644 --- a/dkan/docs/releases/notes/1.11.md +++ b/dkan/docs/releases/notes/1.11.md @@ -1,50 +1,50 @@ # DKAN 1.11 Release Notes -Check out what’s new in the latest version of **DKAN 7.x-1.11**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Check out what’s new in the latest version of **DKAN 7.x-1.11**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ## New Features and Enhancements ### New roles and permissions module -We made a new module (“DKAN Permissions”) to replace the previous “Sitewide Roles and Permissions” module. The previous feature largely left it to the administrator to determine user roles and what each role could do. While administrators will still have the ability to customize user roles and permissions, we wanted to make it easier to use DKAN right after installation. We have a detailed post about the standard roles in this new feature, [DKAN roles and permissions made simple](http://www.nucivic.com/dkan-roles-and-permissions-just-got-easier-in-the-latest-release/). Read up on how this standard DKAN feature makes user management easier out-of-the-box. +We made a new module (“DKAN Permissions”) to replace the previous “Sitewide Roles and Permissions” module. The previous feature largely left it to the administrator to determine user roles and what each role could do. While administrators will still have the ability to customize user roles and permissions, we wanted to make it easier to use DKAN right after installation. Learn more here: [DKAN roles and permissions](../../admin/people/dkan_user_accounts.html#roles-and-permissions-overview). Read up on how this standard DKAN feature makes user management easier out-of-the-box. ### Group roles and permissions in a new module -The old “Sitewide Roles and Permissions” module also included group roles and permissions. As the new “DKAN Permissions” replaces the old module, groups were also updated. The capabilities of groups, the roles and permissions within, and how groups interact with the rest of a DKAN site have been moved to a new module, “DKAN Dataset Group Perms”. You can read more detailed user-documentation about Group roles and permissions as part of [DKAN roles and permissions made simple](http://www.nucivic.com/dkan-roles-and-permissions-just-got-easier-in-the-latest-release/). +The old “Sitewide Roles and Permissions” module also included group roles and permissions. As the new “DKAN Permissions” replaces the old module, groups were also updated. The capabilities of groups, the roles and permissions within, and how groups interact with the rest of a DKAN site have been moved to a new module, “DKAN Dataset Group Perms”. Learn more here: [DKAN group roles and permissions](../../admin/people/group_roles_and_permissions.html). ### Re-designed dataset/search page -In this version of DKAN, we improved the layout and visual appearance of the datasets page to make it easier for site visitors to browse, search and find content. In previous versions, the search box on the homepage was the only way for site visitors to search all content types. The re-designed datasets page directs site visitors to a page with results pre-selected to filter the datasets content type. Site visitors have the option to add and remove filters on the datasets page in order to browse all content types as well use the search bar at the top of the page to find specific content. +In this version of DKAN, we improved the layout and visual appearance of the datasets page to make it easier for site visitors to browse, search and find content. In previous versions, the search box on the homepage was the only way for site visitors to search all content types. The re-designed datasets page directs site visitors to a page with results pre-selected to filter the datasets content type. Site visitors have the option to add and remove filters on the datasets page in order to browse all content types as well use the search bar at the top of the page to find specific content. ### Related visualizations on resource page enhancement -The visualization entity on DKAN makes it easy for content contributors, editors, and site managers to create charts, graphs and maps based on resources in their DKAN data catalog. With the resource-visualizations enhancement, site visitors will see all the visualizations made with a resource as related content at the bottom of the specific resource page. +The visualization entity on DKAN makes it easy for content contributors, editors, and site managers to create charts, graphs and maps based on resources in their DKAN data catalog. With the resource-visualizations enhancement, site visitors will see all the visualizations made with a resource as related content at the bottom of the specific resource page. ## Minor Upgrades and Improvements ### User experience improvements -- **Dataset page layout:** The dataset page now has a cleaner layout and overall better visual design that is a more intuitive user experience. We also added icons for content types that are standard across the site, so that site visitors can quickly recognize what type of content they are clicking on. -- **User profile image UX:** In this release we removed the confusion in the user experience of changing a user’s profile image including the existing Gravatar integration. +- **Dataset page layout:** The dataset page now has a cleaner layout and overall better visual design that is a more intuitive user experience. We also added icons for content types that are standard across the site, so that site visitors can quickly recognize what type of content they are clicking on. +- **User profile image UX:** In this release we removed the confusion in the user experience of changing a user’s profile image including the existing Gravatar integration. - **Groups view:** We changed the default number of groups displayed on a page from 10 to 12. This keeps the layout of groups evenly separated in neat rows of 3. ### Patches and Bug Fixes - **Colorizer feature bug fix**: fix to the colorizer feature on DKAN so that style changes don’t disappear after running the Poormanscron Drupal module. - **Group node page bug fix:** a quick fix to remove an extra page on the Groups page. -- **Warning message bug fix:** a quick fix to remove redundant error messages for admins upon installing DKAN. -- **Fontyourface module patch:** makes it easier to see fonts changes on your DKAN site by updating as soon as changes saved. -- **FacetAPI module patch:** patched a potential security breach that appeared through cross-site scripting. +- **Warning message bug fix:** a quick fix to remove redundant error messages for admins upon installing DKAN. +- **Fontyourface module patch:** makes it easier to see fonts changes on your DKAN site by updating as soon as changes saved. +- **FacetAPI module patch:** patched a potential security breach that appeared through cross-site scripting. ## Special Notes ### Permissions/roles upgrade -As mentioned above, this release includes a new module called DKAN Permissions (dkan_permissions), which is meant to replace the old DKAN Sitewide Roles and Permissions (dkan_sitewide_roles_perms). New installs of DKAN will enable this module and ignore the old one, while existing sites will see no change (but are recommended to upgrade). See more information in the module's [README file](https://github.com/NuCivic/dkan/blob/7.x-1.x/modules/dkan/dkan_permissions/README.md). +As mentioned above, this release includes a new module called DKAN Permissions (dkan_permissions), which is meant to replace the old DKAN Sitewide Roles and Permissions (dkan_sitewide_roles_perms). New installs of DKAN will enable this module and ignore the old one, while existing sites will see no change (but are recommended to upgrade). See more information in the module's [README file](https://github.com/GetDKAN/dkan/blob/7.x-1.x/modules/dkan/dkan_permissions/README.md). The command line method, including deleting the now-deprecated "storyteller" role, would look like this: ``` $ drush dis dkan_sitewide_roles_perms -y -$ drush rdel 'storyteller' +$ drush rdel 'storyteller' $ drush en dkan_permissions -y $ drush fra -y $ drush fr dkan_permissions -y @@ -72,7 +72,7 @@ $ drush rr This release of DKAN includes a redesigned search page, which is also the page used to browse datasets. This redesign required some changes to the included search indexes. Use the following drush commands to rebuild your search indexes, or go to admin/config/search/search_api/index/datasets and disable, re-enable and re-index the _datasets_ search index. ``` -$ drush search-api-disable datasets -y +$ drush search-api-disable datasets -y $ drush search-api-enable datasets -y $ drush sapi-r -y $ drush sapi-i -y @@ -80,4 +80,4 @@ $ drush sapi-i -y ### DKAN Dataset -See the DKAN Dataset [release notes for 7.x-1.11](https://github.com/NuCivic/dkan_dataset/releases/tag/7.x-1.11) for notes specific to the DKAN Dataset module. +See the DKAN Dataset [release notes for 7.x-1.11](https://github.com/GetDKAN/dkan_dataset/releases/tag/7.x-1.11) for notes specific to the DKAN Dataset module. diff --git a/dkan/docs/releases/notes/1.12.1.md b/dkan/docs/releases/notes/1.12.1.md index 4883e9ea7..abb6b1690 100644 --- a/dkan/docs/releases/notes/1.12.1.md +++ b/dkan/docs/releases/notes/1.12.1.md @@ -3,7 +3,7 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Improvements in this release -- New version of [Visualization Entity Charts](https://github.com/NuCivic/visualization_entity_charts) fixes a javascript error that was causing multiple UI bugs, and restores support for Google Sheets and Data Proxy data backends +- New version of [Visualization Entity Charts](https://github.com/GetDKAN/visualization_entity_charts) fixes a javascript error that was causing multiple UI bugs, and restores support for Google Sheets and Data Proxy data backends - Fix XSS vulnerability by adding sanitization for titles on workbench view - Update of a number of contrib modules: Colorizer, Admin Menu Source, Honey Pot, Panopoly Widgets, Panopoly Images, Pathauto, Rules, Restws, Manual Crop, Image Cache Actions, Features, Search API, Organic Groups, Chosen, Date, Entity, Facet API, Facet API Bonus, Facet API Pretty Paths, UUID, Views, Select or other, Remote Stream Wrapper, Link, Libraries, Beauty Tips, Gravatar, OG Extras, Services and Workbench Email. - Patch colorfield module to avoid incorrect status error. See https://www.drupal.org/node/2696505 diff --git a/dkan/docs/releases/notes/1.12.10.md b/dkan/docs/releases/notes/1.12.10.md index c37a6b8c8..de6de1a01 100644 --- a/dkan/docs/releases/notes/1.12.10.md +++ b/dkan/docs/releases/notes/1.12.10.md @@ -4,4 +4,4 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKA ## Improvements in this release - Fixes an issue causing JavaScript errors in IE browsers, preventing recline previews from displaying. Bug was introduced in 7.x-1.12.7. -- Provides a better upgrade path for Markdown text format and bueditor improvements added in [#1085](https://github.com/NuCivic/dkan/pull/1085) +- Provides a better upgrade path for Markdown text format and bueditor improvements added in [#1085](https://github.com/GetDKAN/dkan/pull/1085) diff --git a/dkan/docs/releases/notes/1.12.12.md b/dkan/docs/releases/notes/1.12.12.md index 55b851902..b84bc6882 100644 --- a/dkan/docs/releases/notes/1.12.12.md +++ b/dkan/docs/releases/notes/1.12.12.md @@ -3,11 +3,11 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Group assignment cleanup update -This release contains a database update that may take some time to complete on larger sites. As described in [#1267](https://github.com/NuCivic/dkan/issues/1267), on older DKAN sites it was very easy to add resources to datasets that would not be added to the parent dataset's group. +This release contains a database update that may take some time to complete on larger sites. As described in [#1267](https://github.com/GetDKAN/dkan/issues/1267), on older DKAN sites it was very easy to add resources to datasets that would not be added to the parent dataset's group. Many sites may have this issue and not even realize, but it will create problems for organizations that use DKAN's out-of-box group roles and permissions; it give users permission to edit content in their own group but not content outside of it. If a resource is not assigned to a group, this could block a group user from editing their groups' own datasets. -This patch release contains a database update that will identify datasets with resources missing their group assignments, and correct them. See pull request [#1491](https://github.com/NuCivic/dkan/issues/1491) for the fix itself. +This patch release contains a database update that will identify datasets with resources missing their group assignments, and correct them. See pull request [#1491](https://github.com/GetDKAN/dkan/issues/1491) for the fix itself. ## Other improvements in this release - Data previews can be captured in a certain state for embedding into other web pages as an iframe, but these previews were not cached by Drupal. This has been fixed; embedded previews are now cached, which is a significant performance boost for some websites. diff --git a/dkan/docs/releases/notes/1.12.2.md b/dkan/docs/releases/notes/1.12.2.md index 77317d24d..fd3b9c497 100644 --- a/dkan/docs/releases/notes/1.12.2.md +++ b/dkan/docs/releases/notes/1.12.2.md @@ -3,4 +3,4 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Improvements in this release -- Fixed a bug in chart creation with [Visualization Entity Charts](https://github.com/NuCivic/visualization_entity_charts) due to a reference to an [incorrect version of csv.js in the Recline makefule](https://github.com/NuCivic/recline/commit/66dd041dbcc74a07a27e68ad488a68a59dcf07f0) +- Fixed a bug in chart creation with [Visualization Entity Charts](https://github.com/GetDKAN/visualization_entity_charts) due to a reference to an [incorrect version of csv.js in the Recline makefule](https://github.com/GetDKAN/recline/commit/66dd041dbcc74a07a27e68ad488a68a59dcf07f0) diff --git a/dkan/docs/releases/notes/1.12.3.md b/dkan/docs/releases/notes/1.12.3.md index 4df816ce7..773044fc6 100644 --- a/dkan/docs/releases/notes/1.12.3.md +++ b/dkan/docs/releases/notes/1.12.3.md @@ -5,8 +5,8 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Improvements in this release -- [Open Data Schema Map](https://github.com/NuCivic/open_data_schema_map) update: Improves performance of package_show endpoint, which became nearly unresponsive on sites with thousands of datasets. -- Point to new release of [Visualization Entity](https://github.com/NuCivic/visualization_entity), which cleans up some makefiles and brings visualization_entity_charts into the same project repository. +- [Open Data Schema Map](https://github.com/GetDKAN/open_data_schema_map) update: Improves performance of package_show endpoint, which became nearly unresponsive on sites with thousands of datasets. +- Point to new release of [Visualization Entity](https://github.com/GetDKAN/visualization_entity), which cleans up some makefiles and brings visualization_entity_charts into the same project repository. - Fix editor permissions to allow access to visualizations list from admin menu - Upgrade Views to 7.14 - Upgrade Drupal core to 7.44 (security update) @@ -20,7 +20,7 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKA - Add body field to Dashboard content type - Front page page manager (panels) config moved to the dkan_sitewide_demo_front feature - Front page group views moved to the dkan_dataset_groups feature -- Add functions to convert between iso and dkan fields [#241](https://github.com/NuCivic/dkan_dataset/pull/241) +- Add functions to convert between iso and dkan fields [#241](https://github.com/GetDKAN/dkan_dataset/pull/241) ## Upgrade steps diff --git a/dkan/docs/releases/notes/1.12.4.md b/dkan/docs/releases/notes/1.12.4.md index 86e4848b3..a6d0233be 100644 --- a/dkan/docs/releases/notes/1.12.4.md +++ b/dkan/docs/releases/notes/1.12.4.md @@ -3,7 +3,7 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Improvements in this release -- Fixes an oversight that broke RDF endpoints for Datasets (the "RDF" link in the left sidebar of a dataset page). The [DKAN Permissions](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) module did not give the "Access the resource node" _RESTFull Web Services_ permission to anonymous users. +- Fixes an oversight that broke RDF endpoints for Datasets (the "RDF" link in the left sidebar of a dataset page). The [DKAN Permissions](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) module did not give the "Access the resource node" _RESTFull Web Services_ permission to anonymous users. ## Upgrade steps Only necessary if you are using DKAN Permissions module: diff --git a/dkan/docs/releases/notes/1.12.5.md b/dkan/docs/releases/notes/1.12.5.md index d71ea0702..1539e6de6 100644 --- a/dkan/docs/releases/notes/1.12.5.md +++ b/dkan/docs/releases/notes/1.12.5.md @@ -6,12 +6,12 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKA ## Improvements in this release - Updates the [RESTFull Web Services module](https://www.drupal.org/project/restws) to 7.x-2.6, fixing a [highly critical security issue announced by the Drupal Security team on July 13](https://www.drupal.org/node/2765567). -- Updates the version of recline.js used in the [Recline module](https://github.com/NuCivic/recline) to point to a new source for map tiles. Previously map tiles were served by MapQuest, but a change in policy has broken map previews on all applications using recline.js. See the original PR on recline.js: okfn/recline#501 -- **Updates Drupal core to version 7.50.** +- Updates the version of recline.js used in the [Recline module](https://github.com/GetDKAN/recline) to point to a new source for map tiles. Previously map tiles were served by MapQuest, but a change in policy has broken map previews on all applications using recline.js. See the original PR on recline.js: okfn/recline#501 +- **Updates Drupal core to version 7.50.** ## Special Note -This is a fairly big update to Drupal and you may want to familiarize yourself with it by reading the [release announcement](https://www.drupal.org/blog/drupal-7-50). +This is a fairly big update to Drupal and you may want to familiarize yourself with it by reading the [release announcement](https://www.drupal.org/blog/drupal-7-50). -Of note to DKAN users is that "Administer fields" is now a separate permission. This means, for instance that site managers and editors, who by default have "administer taxonomy vocabularies" permissions, will no longer be able to add, remove, reorder or otherwise modify fields in a taxonomy vocabulary. +Of note to DKAN users is that "Administer fields" is now a separate permission. This means, for instance that site managers and editors, who by default have "administer taxonomy vocabularies" permissions, will no longer be able to add, remove, reorder or otherwise modify fields in a taxonomy vocabulary. -Only administrators will be able to do administer fields. We see this as a welcome improvement, as making minor changes to, say, the topics vocabulary should not require giving a site manager permission to alter the entire data architecture. +Only administrators will be able to do administer fields. We see this as a welcome improvement, as making minor changes to, say, the topics vocabulary should not require giving a site manager permission to alter the entire data architecture. diff --git a/dkan/docs/releases/notes/1.12.6.md b/dkan/docs/releases/notes/1.12.6.md index aab8f68ea..3f1385cce 100644 --- a/dkan/docs/releases/notes/1.12.6.md +++ b/dkan/docs/releases/notes/1.12.6.md @@ -5,9 +5,9 @@ This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 7.x-1.12, but adding no new functionality. Upgrading should be straightforward. ## Improvements in this release -- Adds validation to search parameters. Without this, text can be passed into search parameters and passed unsanitized to the browser. The way the facets are themed allowed Javascript to be injected into the attributes of any facet items with icons, (such as content types). The fix validates all facet input and returns a "page not found" error if a search parameter passed in the URL arguments does not match available options. See [#1271](https://github.com/NuCivic/dkan/pull/1271) +- Adds validation to search parameters. Without this, text can be passed into search parameters and passed unsanitized to the browser. The way the facets are themed allowed Javascript to be injected into the attributes of any facet items with icons, (such as content types). The fix validates all facet input and returns a "page not found" error if a search parameter passed in the URL arguments does not match available options. See [#1271](https://github.com/GetDKAN/dkan/pull/1271) - Starts sanitizing output to the facets on the search page, as an additional safeguard against malicious input from the search parameters. -- Adds icons to the topics drop-down menu rather than just the title of the topic. -- Added a new module called Role Assign, which gives site managers the ability to assign roles to other users without giving them access to the entire Permissions module, which meant previously only admins could assign roles. +- Adds icons to the topics drop-down menu rather than just the title of the topic. +- Added a new module called Role Assign, which gives site managers the ability to assign roles to other users without giving them access to the entire Permissions module, which meant previously only admins could assign roles. - Made links and emails in dataset metadata clickable in certain places that they hadn't been for a better user experience. diff --git a/dkan/docs/releases/notes/1.12.md b/dkan/docs/releases/notes/1.12.md index 176f92e13..81c8ac519 100644 --- a/dkan/docs/releases/notes/1.12.md +++ b/dkan/docs/releases/notes/1.12.md @@ -1,56 +1,51 @@ # DKAN 1.12 Release Notes -Check out what’s new in the latest version of **DKAN 7.x-1.12**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Check out what’s new in the latest version of **DKAN 7.x-1.12**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ## New Features and Enhancements ### New DKAN Workflow Module -[DKAN Workflow](https://github.com/NuCivic/dkan_workflow) is a new module that ships with DKAN but is not enabled by default. Once the module is enabled, DKAN Workflow creates an editorial publishing workflow on DKAN for moderating content. Within this module is a secondary set of permissions and roles layered on [core DKAN roles and permissions](http://www.nucivic.com/dkan-roles-and-permissions-just-got-easier-in-the-latest-release/). This module can be very useful to establish more controls among large teams managing content. +[DKAN Workflow](https://github.com/GetDKAN/dkan_workflow) is a new module that ships with DKAN but is not enabled by default. Once the module is enabled, DKAN Workflow creates an editorial publishing workflow on DKAN for moderating content. Within this module is a secondary set of permissions and roles layered on [core DKAN roles and permissions](../../admin/people/dkan_user_accounts.html). This module can be very useful to establish more controls among large teams managing content. -[Read more about Workflow in the main DKAN Documentation](http://docs.getdkan.com/dkan-documentation/dkan-features/dkan-workflow). - -Check out the blog post: [http://www.nucivic.com/new-feature-alert-dkan-workflow/](http://www.nucivic.com/new-feature-alert-dkan-workflow/) +[Read more about Workflow in the main DKAN Documentation](../../../components/workflow.html). ### Large File Support and Fast Import -Through the file_resup module we've added the ability to support large file uploads on DKAN. There are no limits technically imposed by the software, but file sizes limited up to few gigabytes will produce the best results. For large files, we also added a mySQL statement to quickly import the files into the [DKAN datastore](https://github.com/NuCivic/dkan_datastore). We're calling this [DKAN Data Datastore Fast Import](https://github.com/NuCivic/dkan_datastore/tree/7.x-1.x/modules/dkan_datastore_fast_import) module and it appears as such in the module configuration on DKAN. The module is disabled by default, and must be enabled and then configured to be utilized in DKAN. OOB DKAN defaults to using the Drupal file importer that also processes the data (better for smaller files). In configuration, the mySQL statement may replace the Drupal file importer or appear as an additional option for importing a file into the DKAN Datastore. Rather than processing the data, the mySQL statement favors a faster load time by importing directly to a mySQL database. - -Large file support also makes for a more robust [DKAN Datastore API](https://github.com/NuCivic/dkan_datastore/tree/7.x-1.x/modules/dkan_datastore_api). Files imported into the DKAN Datastore are included in the public DKAN Datastore API. +Through the file_resup module we've added the ability to support large file uploads on DKAN. There are no limits technically imposed by the software, but file sizes limited up to few gigabytes will produce the best results. For large files, we also added a mySQL statement to quickly import the files into the [DKAN datastore](https://github.com/GetDKAN/dkan_datastore). We're calling this [DKAN Data Datastore Fast Import](https://github.com/GetDKAN/dkan_datastore/tree/7.x-1.x/modules/dkan_datastore_fast_import) module and it appears as such in the module configuration on DKAN. The module is disabled by default, and must be enabled and then configured to be utilized in DKAN. OOB DKAN defaults to using the Drupal file importer that also processes the data (better for smaller files). In configuration, the mySQL statement may replace the Drupal file importer or appear as an additional option for importing a file into the DKAN Datastore. Rather than processing the data, the mySQL statement favors a faster load time by importing directly to a mySQL database. -Read more details about the DKAN Datastore and the Datastore API on our [blog post](http://www.nucivic.com/dkan-datastore-enhancement-bigger-files-painless-import/). +Large file support also makes for a more robust [DKAN Datastore API](https://github.com/GetDKAN/dkan_datastore/tree/7.x-1.x/modules/dkan_datastore_api). Files imported into the DKAN Datastore are included in the public DKAN Datastore API. ### Topics -[DKAN Topics](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_topics) is a new module added into DKAN core with the 7.x-1.12 release. Topics are preset by an administrator that reflect the areas of interest to the target audience. Topics are configured by default to appear as a panel on the homepage of a DKAN site. +[DKAN Topics](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_topics) is a new module added into DKAN core with the 7.x-1.12 release. Topics are preset by an administrator that reflect the areas of interest to the target audience. Topics are configured by default to appear as a panel on the homepage of a DKAN site. -In DKAN, Topics are a taxonomy with a vocabulary (also set by the admin) and can be associated to datasets by lower-access users as they contribute data to DKAN. Additionally admins can set which icons may or may not be used within a font set for Topics by other users. OOB DKAN includes a font set of over 100 icons to choose from, and new font sets can easily be added. Alternatively, images may be uploaded for Topics icons. +In DKAN, Topics are a taxonomy with a vocabulary (also set by the admin) and can be associated to datasets by lower-access users as they contribute data to DKAN. Additionally admins can set which icons may or may not be used within a font set for Topics by other users. OOB DKAN includes a font set of over 100 icons to choose from, and new font sets can easily be added. Alternatively, images may be uploaded for Topics icons. -Read more details about Topics on our [blog post](http://www.nucivic.com/dkan-topics-feature-focus-data-and-reflect-citizen-interests/). ## Minor Upgrades and Improvements -- Changed UI of DKAN Charts to include "Tick Values" "Step" and "Goal" line in chart. This gives users added functionality in what they can do with Charts. The UI is also more organized to tell users how the options affect which parts of the Charts. +- Changed UI of DKAN Charts to include "Tick Values" "Step" and "Goal" line in chart. This gives users added functionality in what they can do with Charts. The UI is also more organized to tell users how the options affect which parts of the Charts. - Upgrade [Drupal core to 7.43](https://www.drupal.org/drupal-7.43-release-notes) to fix security vulnerabilities. - [Security update for Features](https://www.drupal.org/node/2705637) - [Security update for Fieldable Panels Panes](https://www.drupal.org/node/2679589) -- Move permissions dependency of from features_roles_permissions to [dkan_permissions module](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions). -- Remove export of administrator permissions when new modules are enabled, so that [dkan_permissions](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) does not appear as overridden. With the admin_role module, admin roles automatically receive permissions for modules as they are enabled. By removing the export of administrator permissions, overrides will only appear when true changes to the dkan_permissions module have been made. +- Move permissions dependency of from features_roles_permissions to [dkan_permissions module](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions). +- Remove export of administrator permissions when new modules are enabled, so that [dkan_permissions](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) does not appear as overridden. With the admin_role module, admin roles automatically receive permissions for modules as they are enabled. By removing the export of administrator permissions, overrides will only appear when true changes to the dkan_permissions module have been made. ## User experience improvements -- Enable [Pretty Paths Facet API](https://www.drupal.org/project/facetapi_pretty_paths) to make URL paths on DKAN pages human-readable and SEO optimized. This module is combined with the [Drupal Search API](https://www.drupal.org/project/search_api) module. -- With the new [search page redesign](https://github.com/NuCivic/dkan/releases/tag/7.x-1.11) in DKAN 7.x-1.11, this release includes optimized search functionality. Previously only datasets were displayed in search results; in version 1.12 all content appears in search results. The /search path will lead to the main search page and the /dataset page will redirect to the /search?type=dataset for backward compatibility, pre-filtered for dataset content search results. -- The [dkan_sitewide_profile_page](https://github.com/NuCivic/dkan_sitewide_profile_page/blob/master/README.md) module was removed and new code added to existing modules (detailed documentation as code comments). With the removal of this module, the DKAN command center no longer exists and profiles of any user role appear the same. +- Enable [Pretty Paths Facet API](https://www.drupal.org/project/facetapi_pretty_paths) to make URL paths on DKAN pages human-readable and SEO optimized. This module is combined with the [Drupal Search API](https://www.drupal.org/project/search_api) module. +- With the new [search page redesign](https://github.com/GetDKAN/dkan/releases/tag/7.x-1.11) in DKAN 7.x-1.11, this release includes optimized search functionality. Previously only datasets were displayed in search results; in version 1.12 all content appears in search results. The /search path will lead to the main search page and the /dataset page will redirect to the /search?type=dataset for backward compatibility, pre-filtered for dataset content search results. +- The [dkan_sitewide_profile_page](https://github.com/GetDKAN/dkan_sitewide_profile_page/blob/master/README.md) module was removed and new code added to existing modules (detailed documentation as code comments). With the removal of this module, the DKAN command center no longer exists and profiles of any user role appear the same. - A "Data dashboard" creation link was added on user admin menu. - Facet titles between user, search and group pages were standarized. ## Patches and Bug Fixes -- Added permission to allow anonymous users to see any piece of content created with the [visualization entity](https://github.com/NuCivic/visualization_entity) module such [charts](https://github.com/NuCivic/visualization_entity_charts) and [maps](https://github.com/NuCivic/visualization_entity_maps). -- Created patch to solve bug that kept fonts enabled after being turned off. +- Added permission to allow anonymous users to see any piece of content created with the [visualization entity](https://github.com/GetDKAN/visualization_entity) module such [charts](https://github.com/GetDKAN/visualization_entity_charts) and [maps](https://github.com/GetDKAN/visualization_entity_maps). +- Created patch to solve bug that kept fonts enabled after being turned off. - Fixed regex used to rewrite font file paths on Dkan Topics, which was breaking filepaths in data.json. ## Upgrade Notes -If you upgrade an existing site to 7.x-1.12 and enable DKAN Topics, you may encounter issues with your search index. For troubleshooting tips, see the [DKAN Topics Readme](https://github.com/NuCivic/dkan/blob/7.x-1.x/modules/dkan/dkan_topics/README.md). +If you upgrade an existing site to 7.x-1.12 and enable DKAN Topics, you may encounter issues with your search index. For troubleshooting tips, see the [DKAN Topics Readme](https://github.com/GetDKAN/dkan/blob/7.x-1.x/modules/dkan/dkan_topics/README.md). ### Upgrade instructions diff --git a/dkan/docs/releases/notes/1.13.1.rst b/dkan/docs/releases/notes/1.13.1.rst index 5a263858e..e448500b8 100644 --- a/dkan/docs/releases/notes/1.13.1.rst +++ b/dkan/docs/releases/notes/1.13.1.rst @@ -1,15 +1,15 @@ DKAN 1.13.1 Release Notes ========================= -This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 1.13, but adding no new functionality. It was released very shortly after 1.13 to address bugs that surfaced during deployments and upgrades. If you have not yet upgraded to 1.13, upgrade *directly* to this release and skip 1.13; if you have already upgraded, we recommend updating to 1.13.1 immediately. +This is a "patch" release of DKAN, containing bug fixes and minor updates to DKAN 1.13, but adding no new functionality. It was released very shortly after 1.13 to address bugs that surfaced during deployments and upgrades. If you have not yet upgraded to 1.13, upgrade *directly* to this release and skip 1.13; if you have already upgraded, we recommend updating to 1.13.1 immediately. :doc:`See full 1.13 release notes here <1.13>`. Improvements in this release ----------------------------- -- Fix validation page permission check using wrong permission name `odsm `_. -- Fixed a bug in the `home page conversion function `_ +- Fix validation page permission check using wrong permission name `odsm `_. +- Fixed a bug in the `home page conversion function `_ - Fixed the page title (````) so that it's just the site name (not the node or panel title) - Updated the DKAN API link on dataset pages to use the new `documentation site page <http://docs.getdkan.com/en/latest/apis/index.html>`_. - Fixed error messages appearing on homepage after upgrade diff --git a/dkan/docs/releases/notes/1.13.5.md b/dkan/docs/releases/notes/1.13.5.md index d88a7d58d..aa42b2cc1 100644 --- a/dkan/docs/releases/notes/1.13.5.md +++ b/dkan/docs/releases/notes/1.13.5.md @@ -9,4 +9,4 @@ This is a small release adressing some minor issues in 1.13.4. The only signific The devel module and its submodules _will_ be disabled by default in DKAN however, and should only be enabled in development environments. Enabling devel in production should be considered a security risk. -All other improvements are minor issues related to installation and tests that arose during deployments of DKAN 1.13.4. Check the CHANGELOG and [Pull Request #2003](https://github.com/NuCivic/dkan/pull/2003) where most of these changes are captured. +All other improvements are minor issues related to installation and tests that arose during deployments of DKAN 1.13.4. Check the CHANGELOG and [Pull Request #2003](https://github.com/GetDKAN/dkan/pull/2003) where most of these changes are captured. diff --git a/dkan/docs/releases/notes/1.13.6.md b/dkan/docs/releases/notes/1.13.6.md index 1f89afcc4..540aa0e27 100644 --- a/dkan/docs/releases/notes/1.13.6.md +++ b/dkan/docs/releases/notes/1.13.6.md @@ -5,12 +5,12 @@ updates, but adding no new functionality. ## Improvements in this release -- Add file_resup to the list of up to date projects ([#2036](https://github.com/NuCivic/dkan/pull/2036)) -- Change the 'Datasets' field on the Resource form to use autocomplete ([#2035](https://github.com/NuCivic/dkan/pull/2035)) -- Include language selectors in the 'chosen_jquery_selector' config ([#2034](https://github.com/NuCivic/dkan/pull/2034)) -- Module upgrades: fieldable_panels_panes, media, and search_api ([#2020](https://github.com/NuCivic/dkan/pull/2020)) +- Add file_resup to the list of up to date projects ([#2036](https://github.com/GetDKAN/dkan/pull/2036)) +- Change the 'Datasets' field on the Resource form to use autocomplete ([#2035](https://github.com/GetDKAN/dkan/pull/2035)) +- Include language selectors in the 'chosen_jquery_selector' config ([#2034](https://github.com/GetDKAN/dkan/pull/2034)) +- Module upgrades: fieldable_panels_panes, media, and search_api ([#2020](https://github.com/GetDKAN/dkan/pull/2020)) **Testing Improvements** -- Additional test/devops improvements needed for deployment. See ([#2012](https://github.com/NuCivic/dkan/pull/2012), [#2014](https://github.com/NuCivic/dkan/pull/2014), [#2015](https://github.com/NuCivic/dkan/pull/2015), [#2016](https://github.com/NuCivic/dkan/pull/2016), [#2018](https://github.com/NuCivic/dkan/pull/2018)) for specifics. -- Add configurable arguments via Behat Contexts. ([#2025](https://github.com/NuCivic/dkan/pull/2025)) -- Add unique tags to more test scenarios ([#2021](https://github.com/NuCivic/dkan/pull/2021)) +- Additional test/devops improvements needed for deployment. See ([#2012](https://github.com/GetDKAN/dkan/pull/2012), [#2014](https://github.com/GetDKAN/dkan/pull/2014), [#2015](https://github.com/GetDKAN/dkan/pull/2015), [#2016](https://github.com/GetDKAN/dkan/pull/2016), [#2018](https://github.com/GetDKAN/dkan/pull/2018)) for specifics. +- Add configurable arguments via Behat Contexts. ([#2025](https://github.com/GetDKAN/dkan/pull/2025)) +- Add unique tags to more test scenarios ([#2021](https://github.com/GetDKAN/dkan/pull/2021)) diff --git a/dkan/docs/releases/notes/1.13.md b/dkan/docs/releases/notes/1.13.md index c1dfa4e50..6bac9726f 100644 --- a/dkan/docs/releases/notes/1.13.md +++ b/dkan/docs/releases/notes/1.13.md @@ -2,7 +2,7 @@ Read up on our latest release, 1.13! This is a _huge_ release and we have new features and enhancements that will make using DKAN better than ever. Major new features include a Harvester, API improvements, new data previews, and DCAT-AP support. -Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) in the issues queue or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) in the issues queue or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ## What's new @@ -159,7 +159,7 @@ We have moved DKAN's technical documentation from the Drupal-based site where it ## Special Notes -**Front Page** - [Upgrade Instructions](https://github.com/NuCivic/dkan/blob/7.x-1.x/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md) +**Front Page** - [Upgrade Instructions](https://github.com/GetDKAN/dkan/blob/7.x-1.x/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md) Front page configuration has been removed from features and the dkan_sitewide_demo_front feature has been deprecated. To save existing front page configuration, run the following command `drush php-eval "dkan_sitewide_convert_panel_page('<page-name>', TRUE);"` This will convert the front page to a panelized node. diff --git a/dkan/docs/releases/notes/1.14.md b/dkan/docs/releases/notes/1.14.md new file mode 100644 index 000000000..d99f145ea --- /dev/null +++ b/dkan/docs/releases/notes/1.14.md @@ -0,0 +1,62 @@ + # DKAN 1.14 Release notes + + Read up on the latest release of DKAN, 1.14! While not nearly as big as the previous DKAN point release, 1.13, it brings a number of useful new features and improvements, as well as some important bug fixes. The primary focus of this release is on + +1. Improvements and fixes to data visualizations and previews, and +2. Refinement of the Harvester functionality introduced in 1.13. + +For a full, detailed list of changes in this release, please consult the CHANGELOG. + +## What's New + +### DKAN Harvest + +In 1.13, the Harvester would run an entire migration as a single "step" in the web UI, which resulted in timeouts and memory errors on sources with more than a few dozen datasets. When run from the UI, the Harvester now better leverages Drupal's [Batch API] to process the migrations in 5-dataset "chunks." You'll notice more incremental progress on the status bar that appears while a source is being harvested, and hopefully even the largest sources will complete without exhausting server resources. + +A Topics field has also been added to _harvest source_ nodes. When this field contains one or more of the topics from your data catalog, those topics will be applied to every dataset that is harvested from the source. Additionally, the way the Harvester handles _resource_ nodes has been improved and better-documented. + +The error messages from the Harvester when filter values are not not present on the source's items have been made clearer. + +### Visualization Entity Charts + +We've made some small but significant improvements to the chart creation experience. Help text is now available for all fields on the chart configuration form, accessed by clicking on a small "?" icon beside the field. Additionally: + +* The chart type selection now includes a descriptive name of the chart type (rather than just an image). +* Tick values for axes are validated so that values which would result in an unreadable chart are rejected. +* We now use relative paths for file URLs and set the X-Frame headers to allow easier embedding of charts on external websites. +* Support for values with commas for thousands separators + +### Dataset Previews + +* Tab delimiters and TSV files are now supported for previews. +* Embedded previews no longer show the Grid/Graph/Map tabs. +* Help text has been added to explain the pager buttons on data previews. + +### Datastore + +* Tab delimiters and TSV files are now supported for Datastore import. +* An inconsistency in how the limit (by default, 100 records) on Datastore API requests is applied to results was corrected. +* A bug in the "fast import" method which occasionally led to files being imported to the datastore without dropping the existing records (causing the tables to balloon in size after several consecutive imports of the same file) has been fixed. +* Developer's note: A hook has been added to the Datastore API module to allow altering the fields excluded ([see example](https://github.com/kducharm/dkan/blob/5e1d2039b2deed7c591e7afb8c99906fc5bf7259/modules/dkan/dkan_datastore/modules/dkan_datastore_api/dkan_datastore_api.api.php)). + +### Open Data Schema Mapper + +The ODSM module includes a "filecache" system that writes certain open data endpoints to static files on disk rather than generating them on every page request (which is unusably slow on larger sites). A new column on the ODSM main configuration page displays the filecache status of each endpoint and gives the user the ability to generate or delete each cache. + +A bug on the mapping for the "language" field in Project Open Data (data.json) that caused many catalogs to fail validation has been fixed. + +### Workflow + +Drafts that were submitted to an editor and then rejected under workflow would never return to the "My Drafts" screen of the original submitter, meaning a contributor could never act on an editor's feedback. This has been fixed. + +### Administration Views + +DKAN now includes the [Administration Views module](https://www.drupal.org/project/admin_views), which replaces Drupal's under-powered default content and user administration pages with more powerful, filterable and searchable versions. + +### Search + +**Author** facet removed from the search filters. It has been noted that the "author" of a dataset - the Drupal user that the node is connected to - is often not useful metadata at all for an end data consumer. The author is in most cases an arbitrary person on staff who had nothing to do with the creation of the dataset. It is unlikely any data consumer will want to view all datasets created by a particular user. + +## Upgrade notes + +Upgrades to this release should be fairly straightforward -- it's a much lower-impact update than version 1.13 was. One note: previous upgrades may have failed on an update to the Search API module. This version contains a [patch to avoid this error](https://www.drupal.org/node/2855634). diff --git a/dkan/docs/releases/notes/1.8.md b/dkan/docs/releases/notes/1.8.md index 6e05499c1..366d9dd24 100644 --- a/dkan/docs/releases/notes/1.8.md +++ b/dkan/docs/releases/notes/1.8.md @@ -2,7 +2,7 @@ **Special note:** This release contains *security updates* and should be applied immediately. -Check out what’s new in the latest version of **DKAN 7.x-1.8**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Check out what’s new in the latest version of **DKAN 7.x-1.8**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ## New Features and Enhancements - Drupal core update to 7.36 diff --git a/dkan/docs/releases/notes/1.9.md b/dkan/docs/releases/notes/1.9.md index 9d31ac216..ec05dcede 100644 --- a/dkan/docs/releases/notes/1.9.md +++ b/dkan/docs/releases/notes/1.9.md @@ -1,6 +1,6 @@ # DKAN 1.9 Release Notes -Check out what’s new in the latest version of **DKAN 7.x-1.9**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/NuCivic/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/NuCivic/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). +Check out what’s new in the latest version of **DKAN 7.x-1.9**! Have questions or thoughts? Let us know on our public [DKAN Repo](https://github.com/GetDKAN/dkan) with issues or chat with us in our [Gitter room](https://gitter.im/GetDKAN/dkan?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge). ## New Features and Enhancements - Added "Data Dashboards" and "Data Stories" content types with customizable layouts @@ -10,7 +10,7 @@ Check out what’s new in the latest version of **DKAN 7.x-1.9**! Have questions - Added a "command center" to the user's own profile page to more easily find common functions - @font-your-face module added w/configuration for easier font admin - Multiple security updates and other contrib module and theme updates. -- Drupal now on version 7.39. +- Drupal now on version 7.39. - Many bug fixes and code cleanups - See release notes for nuboot_radix theme and individual DKAN modules for additional release notes diff --git a/dkan/docs/releases/notes/index.rst b/dkan/docs/releases/notes/index.rst index bb065ef1a..8a133cebc 100644 --- a/dkan/docs/releases/notes/index.rst +++ b/dkan/docs/releases/notes/index.rst @@ -1,12 +1,14 @@ Release Notes ============= -Release notes here will be identical to the releases kept in the `Github repository's releases section <https://github.com/NuCivic/dkan/releases>`_. +Release notes here will be identical to the releases kept in the `Github repository's releases section <https://github.com/GetDKAN/dkan/releases>`_. .. toctree:: :maxdepth: 1 + 1.14 <1.14> + 1.13.7 <1.13.7> 1.13.6 <1.13.6> 1.13.5 <1.13.5> 1.13.4 <1.13.4> diff --git a/dkan/docs/scratch/viz-entity.md b/dkan/docs/scratch/viz-entity.md index 31bde5b85..1ef61e901 100644 --- a/dkan/docs/scratch/viz-entity.md +++ b/dkan/docs/scratch/viz-entity.md @@ -2,14 +2,14 @@ You may also refer to the [Visualization Entity specific ReadTheDocs site.](http://visualization-entity.readthedocs.io/en/latest/) -The <a href="https://github.com/NuCivic/visualization_entity">Visualization Entity</a> module provides a suite of options for creating visualizations in DKAN that used natively or embedded in other sites. +The <a href="https://github.com/GetDKAN/visualization_entity">Visualization Entity</a> module provides a suite of options for creating visualizations in DKAN that used natively or embedded in other sites. This module is under development. Documentation will be updated as the module is updated. ### The Visualization Entity module provides the following types of visualizations: * Charts and Graphs - * [More information](https://github.com/NuCivic/visualization_entity_charts) (Under development) + * [More information](https://github.com/GetDKAN/visualization_entity_charts) (Under development) * Choropleth maps * [More information]( http://visualization-entity.readthedocs.org/en/latest/create-a-choropleth-visualization/) diff --git a/dkan/drupal-org-core.make b/dkan/drupal-org-core.make index ed7ac37ca..2bebfdeb4 100644 --- a/dkan/drupal-org-core.make +++ b/dkan/drupal-org-core.make @@ -11,3 +11,5 @@ projects: 1903010: 'https://www.drupal.org/files/issues/drupal-undefinedindex_fileupload-1903010-4.patch' # Warning: filesize(): stat failed 628094: 'https://www.drupal.org/files/issues/file.remote-file_save.628094.22.patch' + # State error with select multiple + 2844358: 'https://www.drupal.org/files/issues/drupal_bug_multiple_values_select_states.patch' diff --git a/dkan/drupal-org.make b/dkan/drupal-org.make index 259f040e5..48004ec9f 100644 --- a/dkan/drupal-org.make +++ b/dkan/drupal-org.make @@ -1,25 +1,26 @@ +--- api: '2' core: 7.x includes: - - "https://raw.githubusercontent.com/NuCivic/visualization_entity/7.x-1.x/visualization_entity.make" - - "https://raw.githubusercontent.com/NuCivic/open_data_schema_map/7.x-1.x/open_data_schema_map.make" - - "https://raw.githubusercontent.com/NuCivic/leaflet_draw_widget/master/leaflet_widget.make" - - "https://raw.githubusercontent.com/NuCivic/recline/7.x-1.x/recline.make" +- https://raw.githubusercontent.com/NuCivic/visualization_entity/7.x-1.14-RC3/visualization_entity.make +- https://raw.githubusercontent.com/NuCivic/open_data_schema_map/7.x-1.14-RC3/open_data_schema_map.make +- https://raw.githubusercontent.com/NuCivic/leaflet_draw_widget/5a5f8faf664aeca02371f6692307580d9fab9116/leaflet_widget.make +- https://raw.githubusercontent.com/NuCivic/recline/7.x-1.14-RC3/recline.make projects: admin_menu: - version: '3.0-rc5' + version: 3.0-rc5 admin_menu_source: version: '1.1' patch: - 2441283: 'https://www.drupal.org/files/issues/allow_ordering_of_the-2441283-5.patch' + 2441283: https://www.drupal.org/files/issues/allow_ordering_of_the-2441283-5.patch admin_views: version: '1.6' patch: - 1780004: 'https://www.drupal.org/files/issues/admin_views-duplicate_system_path-1780004-54.patch' + 1780004: https://www.drupal.org/files/issues/admin_views-duplicate_system_path-1780004-54.patch adminrole: version: '1.1' autocomplete_deluxe: - version: '2.2' + version: '2.3' patch: 2833824: https://www.drupal.org/files/issues/autocomplete-deluxe-2833824-4.patch beautytips: @@ -31,7 +32,7 @@ projects: patch: 849232: http://drupal.org/files/include-excanvas-via-libraries-api-d7-849232-13.patch better_exposed_filters: - version: '3.4' + version: '3.5' bueditor: version: '1.8' bueditor_plus: @@ -60,7 +61,7 @@ projects: date: version: '2.10' defaultconfig: - version: '1.0-alpha11' + version: 1.0-alpha11 devel: version: '1.5' diff: @@ -115,8 +116,8 @@ projects: feeds_flatstore_processor: download: type: git - url: 'https://github.com/NuCivic/feeds_flatstore_processor.git' - branch: master + url: https://github.com/GetDKAN/feeds_flatstore_processor.git + revision: 82b2a05bd133dbf870bdf09f1c0a45711f1432e3 field_group: version: '1.5' patch: @@ -138,7 +139,7 @@ projects: 2826182: https://www.drupal.org/files/issues/fieldable_panels_panes-title-shown-when-set-to-hidden-2826182-3.patch 2826205: https://www.drupal.org/files/issues/fieldable_panels_panes-n2826205-32.patch file_entity: - version: 2.3 + version: 2.12 file_resup: download: type: git @@ -186,8 +187,8 @@ projects: leaflet_draw_widget: download: type: git - url: 'https://github.com/NuCivic/leaflet_draw_widget.git' - branch: 'master' + url: https://github.com/GetDKAN/leaflet_draw_widget.git + revision: 5a5f8faf664aeca02371f6692307580d9fab9116 libraries: version: '2.3' link: @@ -205,11 +206,9 @@ projects: patch: 2045225: http://drupal.org/files/remove-dsm-from-hook-install-2045225-1.patch media: - version: 2.9 - patch: - 2272567: https://www.drupal.org/files/issues/media_dialog_appears_2272567-32.patch + version: 2.13 media_youtube: - version: '3.4' + version: '3.5' media_vimeo: version: '2.1' patch: @@ -246,8 +245,8 @@ projects: open_data_schema_map: download: type: git - url: https://github.com/NuCivic/open_data_schema_map.git - branch: 7.x-1.x + url: https://github.com/GetDKAN/open_data_schema_map.git + tag: 7.x-1.14-RC3 panelizer: version: '3.4' panels: @@ -276,8 +275,8 @@ projects: recline: download: type: git - url: 'https://github.com/NuCivic/recline.git' - branch: 7.x-1.x + url: https://github.com/GetDKAN/recline.git + tag: 7.x-1.14-RC3 ref_field: download: type: git @@ -288,8 +287,8 @@ projects: remote_stream_wrapper: download: type: git - url: https://github.com/NuCivic/remote_stream_wrapper.git - branch: 7.x-1.x + url: https://github.com/GetDKAN/remote_stream_wrapper.git + revision: 20311eee8f0ba87cbb7e48788b176c34e0313a78 role_export: version: '1.0' rules: @@ -321,20 +320,20 @@ projects: strongarm: version: '2.0' tablefield: - version: '2.5' + version: '3.1' taxonomy_menu: version: '1.5' taxonomy_fixtures: download: type: git - url: 'https://github.com/NuCivic/taxonomy_fixtures.git' - branch: 7.x-1.x + url: https://github.com/GetDKAN/taxonomy_fixtures.git + revision: b2f092c963f4a24afe1e6443eb9ff01c959079ed token: version: '1.7' uuid: version: '1.0' views: - version: '3.17' + version: '3.18' views_autocomplete_filters: version: '1.2' patch: @@ -347,8 +346,8 @@ projects: visualization_entity: download: type: git - url: https://github.com/NuCivic/visualization_entity.git - branch: 7.x-1.x + url: https://github.com/GetDKAN/visualization_entity.git + tag: 7.x-1.14-RC3 type: module workbench: version: '1.2' @@ -358,6 +357,7 @@ projects: version: '3.0' patch: 2360973: https://www.drupal.org/files/issues/workbench_moderation-install-warnings-2360973-3.patch + 1512442: https://www.drupal.org/files/issues/1512442-20-workbench_moderation-fix_access_check.patch drafty: version: 1.0-beta4 libraries: @@ -396,7 +396,7 @@ libraries: spectrum: download: type: git - url: https://github.com/NuCivic/spectrum.git + url: https://github.com/GetDKAN/spectrum.git tag: 1.8.0-civic-4736 directory_name: bgrins-spectrum spyc: diff --git a/dkan/libraries/chroma/chroma.js b/dkan/libraries/chroma/chroma.js index bbf7a92c9..c5c85cadf 100644 --- a/dkan/libraries/chroma/chroma.js +++ b/dkan/libraries/chroma/chroma.js @@ -132,6 +132,8 @@ })(Color, arguments, function(){}); }; + chroma["default"] = chroma; + _interpolators = []; if ((typeof module !== "undefined" && module !== null) && (module.exports != null)) { diff --git a/dkan/libraries/chroma/chroma.min.js b/dkan/libraries/chroma/chroma.min.js index 6acb8cd64..41a029421 100644 --- a/dkan/libraries/chroma/chroma.min.js +++ b/dkan/libraries/chroma/chroma.min.js @@ -29,5 +29,5 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=[].slice;va=function(){var a,b,c,d,e;for(a={},e="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),d=0,b=e.length;d<b;d++)c=e[d],a["[object "+c+"]"]=c.toLowerCase();return function(b){var c;return c=Object.prototype.toString.call(b),a[c]||"object"}}(),S=function(a,b,c){return null==b&&(b=0),null==c&&(c=1),a<b&&(a=b),a>c&&(a=c),a},wa=function(a){return a.length>=3?[].slice.call(a):a[0]},t=function(a){var b,c;for(a._clipped=!1,a._unclipped=a.slice(0),b=c=0;c<3;b=++c)b<3?((a[b]<0||a[b]>255)&&(a._clipped=!0),a[b]<0&&(a[b]=0),a[b]>255&&(a[b]=255)):3===b&&(a[b]<0&&(a[b]=0),a[b]>1&&(a[b]=1));return a._clipped||delete a._unclipped,a},d=Math.PI,qa=Math.round,v=Math.cos,A=Math.floor,_=Math.pow,T=Math.log,sa=Math.sin,ta=Math.sqrt,m=Math.atan2,W=Math.max,l=Math.abs,g=2*d,e=d/3,b=d/180,f=180/d,s=function(){return arguments[0]instanceof a?arguments[0]:function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,arguments,function(){})},k=[],"undefined"!=typeof module&&null!==module&&null!=module.exports&&(module.exports=s),"function"==typeof define&&define.amd?define([],function(){return s}):(pa="undefined"!=typeof exports&&null!==exports?exports:this,pa.chroma=s),s.version="1.3.4",j={},h=[],i=!1,a=function(){function a(){var a,b,c,d,e,f,g,k,l;for(f=this,b=[],k=0,d=arguments.length;k<d;k++)null!=(a=arguments[k])&&b.push(a);if(g=b[b.length-1],null!=j[g])f._rgb=t(j[g](wa(b.slice(0,-1))));else{for(i||(h=h.sort(function(a,b){return b.p-a.p}),i=!0),l=0,e=h.length;l<e&&(c=h[l],!(g=c.test.apply(c,b)));l++);g&&(f._rgb=t(j[g].apply(j,b)))}null==f._rgb&&console.warn("unknown format: "+b),null==f._rgb&&(f._rgb=[0,0,0]),3===f._rgb.length&&f._rgb.push(1)}return a.prototype.toString=function(){return this.hex()},a.prototype.clone=function(){return s(me._rgb)},a}(),s._input=j,s.brewer=q={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var a,b;b=[];for(a in q)b.push(q[a.toLowerCase()]=q[a]);b}(),xa={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},s.colors=xa,N=function(){var a,b,d,e,f,g,h,i,j;return b=wa(arguments),f=b[0],a=b[1],d=b[2],i=(f+16)/116,h=isNaN(a)?i:i+a/500,j=isNaN(d)?i:i-d/200,i=c.Yn*O(i),h=c.Xn*O(h),j=c.Zn*O(j),g=za(3.2404542*h-1.5371385*i-.4985314*j),e=za(-.969266*h+1.8760108*i+.041556*j),d=za(.0556434*h-.2040259*i+1.0572252*j),[g,e,d,b.length>3?b[3]:1]},za=function(a){return 255*(a<=.00304?12.92*a:1.055*_(a,1/2.4)-.055)},O=function(a){return a>c.t1?a*a*a:c.t2*(a-c.t0)},c={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ha=function(){var a,b,c,d,e,f,g,h;return d=wa(arguments),c=d[0],b=d[1],a=d[2],e=ma(c,b,a),f=e[0],g=e[1],h=e[2],[116*g-16,500*(f-g),200*(g-h)]},na=function(a){return(a/=255)<=.04045?a/12.92:_((a+.055)/1.055,2.4)},ya=function(a){return a>c.t3?_(a,1/3):a/c.t2+c.t0},ma=function(){var a,b,d,e,f,g,h;return e=wa(arguments),d=e[0],b=e[1],a=e[2],d=na(d),b=na(b),a=na(a),f=ya((.4124564*d+.3575761*b+.1804375*a)/c.Xn),g=ya((.2126729*d+.7151522*b+.072175*a)/c.Yn),h=ya((.0193339*d+.119192*b+.9503041*a)/c.Zn),[f,g,h]},s.lab=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["lab"]),function(){})},j.lab=N,a.prototype.lab=function(){return ha(this._rgb)},n=function(a){var b,c,d,e,f,g,h,i,j,k,l;return a=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(s(e));return d}(),2===a.length?(j=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=j[0],g=j[1],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push(f[b]+a*(g[b]-f[b]));return d}(),s.lab.apply(s,c)}):3===a.length?(k=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=k[0],g=k[1],h=k[2],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*f[b]+2*(1-a)*a*g[b]+a*a*h[b]);return d}(),s.lab.apply(s,c)}):4===a.length?(l=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=l[0],g=l[1],h=l[2],i=l[3],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*(1-a)*f[b]+3*(1-a)*(1-a)*a*g[b]+3*(1-a)*a*a*h[b]+a*a*a*i[b]);return d}(),s.lab.apply(s,c)}):5===a.length&&(c=n(a.slice(0,3)),d=n(a.slice(2,5)),b=function(a){return a<.5?c(2*a):d(2*(a-.5))}),b},s.bezier=function(a){var b;return b=n(a),b.scale=function(){return s.scale(b)},b},s.cubehelix=function(a,b,c,d,e){var f,h,i;return null==a&&(a=300),null==b&&(b=-1.5),null==c&&(c=1),null==d&&(d=1),null==e&&(e=[0,1]),f=0,"array"===va(e)?h=e[1]-e[0]:(h=0,e=[e,e]),i=function(i){var j,k,l,m,n,o,p,q,r;return j=g*((a+120)/360+b*i),p=_(e[0]+h*i,d),o=0!==f?c[0]+i*f:c,k=o*p*(1-p)/2,m=v(j),r=sa(j),q=p+k*(-.14861*m+1.78277*r),n=p+k*(-.29227*m-.90649*r),l=p+k*(1.97294*m),s(t([255*q,255*n,255*l]))},i.start=function(b){return null==b?a:(a=b,i)},i.rotations=function(a){return null==a?b:(b=a,i)},i.gamma=function(a){return null==a?d:(d=a,i)},i.hue=function(a){return null==a?c:(c=a,"array"===va(c)?0===(f=c[1]-c[0])&&(c=c[1]):f=0,i)},i.lightness=function(a){return null==a?e:("array"===va(a)?(e=a,h=a[1]-a[0]):(e=[a,a],h=0),i)},i.scale=function(){return s.scale(i)},i.hue(c),i},s.random=function(){var b,c,d;for(c="0123456789abcdef",b="#",d=0;d<6;++d)b+=c.charAt(A(16*Math.random()));return new a(b)},s.average=function(a,b){var c,e,f,g,h,i,j,k,l,n,o,p,q;null==b&&(b="rgb"),l=a.length,a=a.map(function(a){return s(a)}),j=a.splice(0,1)[0],p=j.get(b),g=[],h=0,i=0;for(k in p)p[k]=p[k]||0,g.push(isNaN(p[k])?0:1),"h"!==b.charAt(k)||isNaN(p[k])||(c=p[k]/180*d,h+=v(c),i+=sa(c));for(e=j.alpha(),o=0,n=a.length;o<n;o++){f=a[o],q=f.get(b),e+=f.alpha();for(k in p)isNaN(q[k])||(p[k]+=q[k],g[k]+=1,"h"===b.charAt(k)&&(c=p[k]/180*d,h+=v(c),i+=sa(c)))}for(k in p)if(p[k]=p[k]/g[k],"h"===b.charAt(k)){for(c=m(i/g[k],h/g[k])/d*180;c<0;)c+=360;for(;c>=360;)c-=360;p[k]=c}return s(p,b).alpha(e/l)},j.rgb=function(){var a,b,c,d;b=wa(arguments),c=[];for(a in b)d=b[a],c.push(d);return c},s.rgb=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["rgb"]),function(){})},a.prototype.rgb=function(a){return null==a&&(a=!0),a?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},a.prototype.rgba=function(a){return null==a&&(a=!0),a?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},h.push({p:3,test:function(a){var b;return b=wa(arguments),"array"===va(b)&&3===b.length?"rgb":4===b.length&&"number"===va(b[3])&&b[3]>=0&&b[3]<=1?"rgb":void 0}}),C=function(a){var b,c,d,e,f,g;if(a.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==a.length&&7!==a.length||(a=a.substr(1)),3===a.length&&(a=a.split(""),a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),g=parseInt(a,16),e=g>>16,d=g>>8&255,c=255&g,[e,d,c,1];if(a.match(/^#?([A-Fa-f0-9]{8})$/))return 9===a.length&&(a=a.substr(1)),g=parseInt(a,16),e=g>>24&255,d=g>>16&255,c=g>>8&255,b=qa((255&g)/255*100)/100,[e,d,c,b];if(null!=j.css&&(f=j.css(a)))return f;throw"unknown color: "+a},da=function(a,b){var c,d,e,f,g,h,i;return null==b&&(b="rgb"),g=a[0],e=a[1],d=a[2],c=a[3],g=Math.round(g),e=Math.round(e),d=Math.round(d),i=g<<16|e<<8|d,h="000000"+i.toString(16),h=h.substr(h.length-6),f="0"+qa(255*c).toString(16),f=f.substr(f.length-2),"#"+function(){switch(b.toLowerCase()){case"rgba":return h+f;case"argb":return f+h;default:return h}}()},j.hex=function(a){return C(a)},s.hex=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hex"]),function(){})},a.prototype.hex=function(a){return null==a&&(a="rgb"),da(this._rgb,a)},h.push({p:4,test:function(a){if(1===arguments.length&&"string"===va(a))return"hex"}}),F=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(a=wa(arguments),e=a[0],k=a[1],g=a[2],0===k)i=d=b=255*g;else{for(n=[0,0,0],c=[0,0,0],m=g<.5?g*(1+k):g+k-g*k,l=2*g-m,e/=360,n[0]=e+1/3,n[1]=e,n[2]=e-1/3,f=h=0;h<=2;f=++h)n[f]<0&&(n[f]+=1),n[f]>1&&(n[f]-=1),6*n[f]<1?c[f]=l+6*(m-l)*n[f]:2*n[f]<1?c[f]=m:3*n[f]<2?c[f]=l+(m-l)*(2/3-n[f])*6:c[f]=l;j=[qa(255*c[0]),qa(255*c[1]),qa(255*c[2])],i=j[0],d=j[1],b=j[2]}return a.length>3?[i,d,b,a[3]]:[i,d,b]},fa=function(a,b,c){var d,e,f,g,h;return void 0!==a&&a.length>=3&&(g=a,a=g[0],b=g[1],c=g[2]),a/=255,b/=255,c/=255,f=Math.min(a,b,c),W=Math.max(a,b,c),e=(W+f)/2,W===f?(h=0,d=Number.NaN):h=e<.5?(W-f)/(W+f):(W-f)/(2-W-f),a===W?d=(b-c)/(W-f):b===W?d=2+(c-a)/(W-f):c===W&&(d=4+(a-b)/(W-f)),d*=60,d<0&&(d+=360),[d,h,e]},s.hsl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsl"]),function(){})},j.hsl=F,a.prototype.hsl=function(){return fa(this._rgb)},G=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(a=wa(arguments),e=a[0],p=a[1],r=a[2],r*=255,0===p)i=d=b=r;else switch(360===e&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60,f=A(e),c=e-f,g=r*(1-p),h=r*(1-p*c),q=r*(1-p*(1-c)),f){case 0:j=[r,q,g],i=j[0],d=j[1],b=j[2];break;case 1:k=[h,r,g],i=k[0],d=k[1],b=k[2];break;case 2:l=[g,r,q],i=l[0],d=l[1],b=l[2];break;case 3:m=[g,h,r],i=m[0],d=m[1],b=m[2];break;case 4:n=[q,g,r],i=n[0],d=n[1],b=n[2];break;case 5:o=[r,g,h],i=o[0],d=o[1],b=o[2]}return[i,d,b,a.length>3?a[3]:1]},ga=function(){var a,b,c,d,e,f,g,h,i;return g=wa(arguments),f=g[0],c=g[1],a=g[2],e=Math.min(f,c,a),W=Math.max(f,c,a),b=W-e,i=W/255,0===W?(d=Number.NaN,h=0):(h=b/W,f===W&&(d=(c-a)/b),c===W&&(d=2+(a-f)/b),a===W&&(d=4+(f-c)/b),(d*=60)<0&&(d+=360)),[d,h,i]},s.hsv=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsv"]),function(){})},j.hsv=G,a.prototype.hsv=function(){return ga(this._rgb)},Z=function(a){var b,c,d;return"number"===va(a)&&a>=0&&a<=16777215?(d=a>>16,c=a>>8&255,b=255&a,[d,c,b,1]):(console.warn("unknown num color: "+a),[0,0,0,1])},ka=function(){var a,b,c,d;return d=wa(arguments),c=d[0],b=d[1],a=d[2],(c<<16)+(b<<8)+a},s.num=function(b){return new a(b,"num")},a.prototype.num=function(a){return null==a&&(a="rgb"),ka(this._rgb,a)},j.num=Z,h.push({p:1,test:function(a){if(1===arguments.length&&"number"===va(a)&&a>=0&&a<=16777215)return"num"}}),B=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(c=wa(arguments),h=c[0],e=c[1],b=c[2],e/=100,g=g/100*255,a=255*e,0===e)l=g=d=b;else switch(360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360),h/=60,i=A(h),f=h-i,j=b*(1-e),k=j+a*(1-f),s=j+a*f,t=j+a,i){case 0:m=[t,s,j],l=m[0],g=m[1],d=m[2];break;case 1:n=[k,t,j],l=n[0],g=n[1],d=n[2];break;case 2:o=[j,t,s],l=o[0],g=o[1],d=o[2];break;case 3:p=[j,k,t],l=p[0],g=p[1],d=p[2];break;case 4:q=[s,j,t],l=q[0],g=q[1],d=q[2];break;case 5:r=[t,j,k],l=r[0],g=r[1],d=r[2]}return[l,g,d,c.length>3?c[3]:1]},ca=function(){var a,b,c,d,e,f,g,h,i;return i=wa(arguments),h=i[0],e=i[1],b=i[2],g=Math.min(h,e,b),W=Math.max(h,e,b),d=W-g,c=100*d/255,a=g/(255-d)*100,0===d?f=Number.NaN:(h===W&&(f=(e-b)/d),e===W&&(f=2+(b-h)/d),b===W&&(f=4+(h-e)/d),(f*=60)<0&&(f+=360)),[f,c,a]},s.hcg=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hcg"]),function(){})},j.hcg=B,a.prototype.hcg=function(){return ca(this._rgb)},w=function(a){var b,c,d,e,f,g,h,i;if(a=a.toLowerCase(),null!=s.colors&&s.colors[a])return C(s.colors[a]);if(f=a.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(h=f.slice(1,4),e=g=0;g<=2;e=++g)h[e]=+h[e];h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(h=f.slice(1,5),e=i=0;i<=3;e=++i)h[e]=+h[e];else if(f=a.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(h=f.slice(1,4),e=b=0;b<=2;e=++b)h[e]=qa(2.55*h[e]);h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(h=f.slice(1,5),e=c=0;c<=2;e=++c)h[e]=qa(2.55*h[e]);h[3]=+h[3]}else(f=a.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=1):(f=a.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=+f[4]);return h},ba=function(a){var b;return b=a[3]<1?"rgba":"rgb","rgb"===b?b+"("+a.slice(0,3).map(qa).join(",")+")":"rgba"===b?b+"("+a.slice(0,3).map(qa).join(",")+","+a[3]+")":void 0},oa=function(a){return qa(100*a)/100},E=function(a,b){var c;return c=b<1?"hsla":"hsl",a[0]=oa(a[0]||0),a[1]=oa(100*a[1])+"%",a[2]=oa(100*a[2])+"%","hsla"===c&&(a[3]=b),c+"("+a.join(",")+")"},j.css=function(a){return w(a)},s.css=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["css"]),function(){})},a.prototype.css=function(a){return null==a&&(a="rgb"),"rgb"===a.slice(0,3)?ba(this._rgb):"hsl"===a.slice(0,3)?E(this.hsl(),this.alpha()):void 0},j.named=function(a){return C(xa[a])},h.push({p:5,test:function(a){if(1===arguments.length&&null!=xa[a])return"named"}}),a.prototype.name=function(a){var b,c;arguments.length&&(xa[a]&&(this._rgb=C(xa[a])),this._rgb[3]=1),b=this.hex();for(c in xa)if(b===xa[c])return c;return b},P=function(){var a,c,d,e;return e=wa(arguments),d=e[0],a=e[1],c=e[2],c*=b,[d,v(c)*a,sa(c)*a]},Q=function(){var a,b,c,d,e,f,g,h,i,j,k;return c=wa(arguments),h=c[0],e=c[1],g=c[2],j=P(h,e,g),a=j[0],b=j[1],d=j[2],k=N(a,b,d),i=k[0],f=k[1],d=k[2],[i,f,d,c.length>3?c[3]:1]},M=function(){var a,b,c,d,e,g;return g=wa(arguments),e=g[0],a=g[1],b=g[2],c=ta(a*a+b*b),d=(m(b,a)*f+360)%360,0===qa(1e4*c)&&(d=Number.NaN),[e,c,d]},ia=function(){var a,b,c,d,e,f,g;return f=wa(arguments),e=f[0],c=f[1],b=f[2],g=ha(e,c,b),d=g[0],a=g[1],b=g[2],M(d,a,b)},s.lch=function(){var b;return b=wa(arguments),new a(b,"lch")},s.hcl=function(){var b;return b=wa(arguments),new a(b,"hcl")},j.lch=Q,j.hcl=function(){var a,b,c,d;return d=wa(arguments),b=d[0],a=d[1],c=d[2],Q([c,a,b])},a.prototype.lch=function(){return ia(this._rgb)},a.prototype.hcl=function(){return ia(this._rgb).reverse()},aa=function(a){var b,c,d,e,f,g,h,i,j;return null==a&&(a="rgb"),i=wa(arguments),h=i[0],e=i[1],b=i[2],h/=255,e/=255,b/=255,f=1-Math.max(h,Math.max(e,b)),d=f<1?1/(1-f):0,c=(1-h-f)*d,g=(1-e-f)*d,j=(1-b-f)*d,[c,g,j,f]},u=function(){var a,b,c,d,e,f,g,h,i;return b=wa(arguments),d=b[0],g=b[1],i=b[2],f=b[3],a=b.length>4?b[4]:1,1===f?[0,0,0,a]:(h=d>=1?0:255*(1-d)*(1-f),e=g>=1?0:255*(1-g)*(1-f),c=i>=1?0:255*(1-i)*(1-f),[h,e,c,a])},j.cmyk=function(){return u(wa(arguments))},s.cmyk=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["cmyk"]),function(){})},a.prototype.cmyk=function(){return aa(this._rgb)},j.gl=function(){var a,b,c,d,e;for(d=function(){var a,c;a=wa(arguments),c=[];for(b in a)e=a[b],c.push(e);return c}.apply(this,arguments),a=c=0;c<=2;a=++c)d[a]*=255;return d},s.gl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["gl"]),function(){})},a.prototype.gl=function(){var a;return a=this._rgb,[a[0]/255,a[1]/255,a[2]/255,a[3]]},ja=function(a,b,c){var d;return d=wa(arguments),a=d[0],b=d[1],c=d[2],a=U(a),b=U(b),c=U(c),.2126*a+.7152*b+.0722*c},U=function(a){return a/=255,a<=.03928?a/12.92:_((a+.055)/1.055,2.4)},k=[],H=function(a,b,c,d){var e,f,g,h;for(null==c&&(c=.5),null==d&&(d="rgb"),"object"!==va(a)&&(a=s(a)),"object"!==va(b)&&(b=s(b)),g=0,f=k.length;g<f;g++)if(e=k[g],d===e[0]){h=e[1](a,b,c,d);break}if(null==h)throw"color mode "+d+" is not supported";return h.alpha(a.alpha()+c*(b.alpha()-a.alpha()))},s.interpolate=H,a.prototype.interpolate=function(a,b,c){return H(this,a,b,c)},s.mix=H,a.prototype.mix=a.prototype.interpolate,L=function(b,c,d,e){var f,g;return f=b._rgb,g=c._rgb,new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["rgb",L]),a.prototype.luminance=function(a,b){var c,d,e,f;return null==b&&(b="rgb"),arguments.length?(0===a?this._rgb=[0,0,0,this._rgb[3]]:1===a?this._rgb=[255,255,255,this._rgb[3]]:(d=1e-7,e=20,f=function(c,g){var h,i;return i=c.interpolate(g,.5,b),h=i.luminance(),Math.abs(a-h)<d||!e--?i:h>a?f(c,i):f(i,g)},c=ja(this._rgb),this._rgb=(c>a?f(s("black"),this):f(this,s("white"))).rgba()),this):ja(this._rgb)},ua=function(a){var b,c,d,e;return e=a/100,e<66?(d=255,c=-155.25485562709179-.44596950469579133*(c=e-2)+104.49216199393888*T(c),b=e<20?0:-254.76935184120902+.8274096064007395*(b=e-10)+115.67994401066147*T(b)):(d=351.97690566805693+.114206453784165*(d=e-55)-40.25366309332127*T(d),c=325.4494125711974+.07943456536662342*(c=e-50)-28.0852963507957*T(c),b=255),[d,c,b]},la=function(){var a,b,c,d,e,f,g,h;for(f=wa(arguments),e=f[0],f[1],a=f[2],d=1e3,c=4e4,b=.4;c-d>b;)h=.5*(c+d),g=ua(h),g[2]/g[0]>=a/e?c=h:d=h;return qa(h)},s.temperature=s.kelvin=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["temperature"]),function(){})},j.temperature=j.kelvin=j.K=ua,a.prototype.temperature=function(){return la(this._rgb)},a.prototype.kelvin=a.prototype.temperature,s.contrast=function(b,c){var d,e,f,g;return"string"!==(f=va(b))&&"number"!==f||(b=new a(b)),"string"!==(g=va(c))&&"number"!==g||(c=new a(c)),d=b.luminance(),e=c.luminance(),d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)},s.distance=function(b,c,d){var e,f,g,h,i,j,k;null==d&&(d="lab"),"string"!==(i=va(b))&&"number"!==i||(b=new a(b)),"string"!==(j=va(c))&&"number"!==j||(c=new a(c)),g=b.get(d),h=c.get(d),k=0;for(f in g)e=(g[f]||0)-(h[f]||0),k+=e*e;return Math.sqrt(k)},s.deltaE=function(b,c,e,f){var g,h,i,j,k,n,o,p,q,r,s,t,u,w,x,y,z,A,B,C,D,E,F,G,H,I,J;for(null==e&&(e=1),null==f&&(f=1),"string"!==(z=va(b))&&"number"!==z||(b=new a(b)),"string"!==(A=va(c))&&"number"!==A||(c=new a(c)),B=b.lab(),g=B[0],i=B[1],k=B[2],C=c.lab(),h=C[0],j=C[1],n=C[2],o=ta(i*i+k*k),p=ta(j*j+n*n),F=g<16?.511:.040975*g/(1+.01765*g),D=.0638*o/(1+.0131*o)+.638,y=o<1e-6?0:180*m(k,i)/d;y<0;)y+=360;for(;y>=360;)y-=360;return G=y>=164&&y<=345?.56+l(.2*v(d*(y+168)/180)):.36+l(.4*v(d*(y+35)/180)),q=o*o*o*o,x=ta(q/(q+1900)),E=D*(x*G+1-x),w=g-h,u=o-p,s=i-j,t=k-n,r=s*s+t*t-u*u,H=w/(e*F),I=u/(f*D),J=E,ta(H*H+I*I+r/(J*J))},a.prototype.get=function(a){var b,c,d,e,f,g;return d=this,f=a.split("."),e=f[0],b=f[1],g=d[e](),b?(c=e.indexOf(b),c>-1?g[c]:console.warn("unknown channel "+b+" in mode "+e)):g},a.prototype.set=function(a,b){var c,d,e,f,g,h;if(e=this,g=a.split("."),f=g[0],c=g[1],c)if(h=e[f](),(d=f.indexOf(c))>-1)if("string"===va(b))switch(b.charAt(0)){case"+":case"-":h[d]+=+b;break;case"*":h[d]*=+b.substr(1);break;case"/":h[d]/=+b.substr(1);break;default:h[d]=+b}else h[d]=b;else console.warn("unknown channel "+c+" in mode "+f);else h=b;return s(h,f).alpha(e.alpha())},a.prototype.clipped=function(){return this._rgb._clipped||!1},a.prototype.alpha=function(a){return arguments.length?s.rgb([this._rgb[0],this._rgb[1],this._rgb[2],a]):this._rgb[3]},a.prototype.darken=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lab(),b[0]-=c.Kn*a,s.lab(b).alpha(d.alpha())},a.prototype.brighten=function(a){return null==a&&(a=1),this.darken(-a)},a.prototype.darker=a.prototype.darken,a.prototype.brighter=a.prototype.brighten,a.prototype.saturate=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lch(),b[1]+=a*c.Kn,b[1]<0&&(b[1]=0),s.lch(b).alpha(d.alpha())},a.prototype.desaturate=function(a){return null==a&&(a=1),this.saturate(-a)},a.prototype.premultiply=function(){var a,b;return b=this.rgb(),a=this.alpha(),s(b[0]*a,b[1]*a,b[2]*a,a)},o=function(a,b,c){if(!o[c])throw"unknown blend mode "+c;return o[c](a,b)},p=function(a){return function(b,c){var d,e;return d=s(c).rgb(),e=s(b).rgb(),s(a(d,e),"rgb")}},z=function(a){return function(b,c){var d,e,f;for(f=[],d=e=0;e<=3;d=++e)f[d]=a(b[d],c[d]);return f}},Y=function(a,b){return a},X=function(a,b){return a*b/255},x=function(a,b){return a>b?b:a},R=function(a,b){return a>b?a:b},ra=function(a,b){return 255*(1-(1-a/255)*(1-b/255))},$=function(a,b){return b<128?2*a*b/255:255*(1-2*(1-a/255)*(1-b/255))},r=function(a,b){return 255*(1-(1-b/255)/(a/255))},y=function(a,b){return 255===a?255:(a=b/255*255/(1-a/255),a>255?255:a)},o.normal=p(z(Y)),o.multiply=p(z(X)),o.screen=p(z(ra)),o.overlay=p(z($)),o.darken=p(z(x)),o.lighten=p(z(R)),o.dodge=p(z(y)),o.burn=p(z(r)),s.blend=o,s.analyze=function(a){var b,c,d,e;for(d={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},c=0,b=a.length;c<b;c++)null==(e=a[c])||isNaN(e)||(d.values.push(e),d.sum+=e,e<d.min&&(d.min=e),e>d.max&&(d.max=e),d.count+=1);return d.domain=[d.min,d.max],d.limits=function(a,b){return s.limits(d,a,b)},d},s.scale=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,t,u,v,w;return j="rgb",k=s("#ccc"),o=0,!1,g=[0,1],n=[],m=[0,0],c=!1,e=[],l=!1,i=0,h=1,f=!1,d={},p=!0,v=function(a){var b,c,d,f,g,h;if(null==a&&(a=["#fff","#000"]),null!=a&&"string"===va(a)&&null!=s.brewer&&(a=s.brewer[a]||s.brewer[a.toLowerCase()]||a),"array"===va(a)){for(a=a.slice(0),b=d=0,f=a.length-1;0<=f?d<=f:d>=f;b=0<=f?++d:--d)c=a[b],"string"===va(c)&&(a[b]=s(c));for(n.length=0,b=h=0,g=a.length-1;0<=g?h<=g:h>=g;b=0<=g?++h:--h)n.push(b/(a.length-1))}return u(),e=a},r=function(a){var b,d;if(null!=c){for(d=c.length-1,b=0;b<d&&a>=c[b];)b++;return b-1}return 0},w=function(a){return a},function(a){var b,d,e,f,g;return g=a,c.length>2&&(f=c.length-1,b=r(a),e=c[0]+(c[1]-c[0])*(0+.5*o),d=c[f-1]+(c[f]-c[f-1])*(1-.5*o),g=i+(c[b]+.5*(c[b+1]-c[b])-e)/(d-e)*(h-i)),g},t=function(a,b){var f,g,l,o,q,t,u,v;if(null==b&&(b=!1),isNaN(a))return k;if(b?v=a:c&&c.length>2?(f=r(a),v=f/(c.length-2),v=m[0]+v*(1-m[0]-m[1])):h!==i?(v=(a-i)/(h-i),v=m[0]+v*(1-m[0]-m[1]),v=Math.min(1,Math.max(0,v))):v=1,b||(v=w(v)),o=Math.floor(1e4*v),p&&d[o])g=d[o];else{if("array"===va(e))for(l=q=0,u=n.length-1;0<=u?q<=u:q>=u;l=0<=u?++q:--q){if(t=n[l],v<=t){g=e[l];break}if(v>=t&&l===n.length-1){g=e[l];break}if(v>t&&v<n[l+1]){v=(v-t)/(n[l+1]-t),g=s.interpolate(e[l],e[l+1],v,j);break}}else"function"===va(e)&&(g=e(v));p&&(d[o]=g)}return g},u=function(){return d={}},v(a),q=function(a){var b;return b=s(t(a)),l&&b[l]?b[l]():b},q.classes=function(a){var b;return null!=a?("array"===va(a)?(c=a,g=[a[0],a[a.length-1]]):(b=s.analyze(g),c=0===a?[b.min,b.max]:s.limits(b,"e",a)),q):c},q.domain=function(a){var b,c,d,f,j,k,l;if(!arguments.length)return g;if(i=a[0],h=a[a.length-1],n=[],d=e.length,a.length===d&&i!==h)for(j=0,f=a.length;j<f;j++)c=a[j],n.push((c-i)/(h-i));else for(b=l=0,k=d-1;0<=k?l<=k:l>=k;b=0<=k?++l:--l)n.push(b/(d-1));return g=[i,h],q},q.mode=function(a){return arguments.length?(j=a,u(),q):j},q.range=function(a,b){return v(a,b),q},q.out=function(a){return l=a,q},q.spread=function(a){return arguments.length?(o=a,q):o},q.correctLightness=function(a){return null==a&&(a=!0),f=a,u(),w=f?function(a){var b,c,d,e,f,g,h,i,j;for(b=t(0,!0).lab()[0],c=t(1,!0).lab()[0],h=b>c,d=t(a,!0).lab()[0],f=b+(c-b)*a,e=d-f,i=0,j=1,g=20;Math.abs(e)>.01&&g-- >0;)!function(){h&&(e*=-1),e<0?(i=a,a+=.5*(j-a)):(j=a,a+=.5*(i-a)),d=t(a,!0).lab()[0],e=d-f}();return a}:function(a){return a},q},q.padding=function(a){return null!=a?("number"===va(a)&&(a=[a,a]),m=a,q):m},q.colors=function(b,d){var f,h,i,j,k,l,m,n;if(arguments.length<2&&(d="hex"),k=[],0===arguments.length)k=e.slice(0);else if(1===b)k=[q(.5)];else if(b>1)h=g[0],f=g[1]-h,k=function(){l=[];for(var a=0;0<=b?a<b:a>b;0<=b?a++:a--)l.push(a);return l}.apply(this).map(function(a){return q(h+a/(b-1)*f)});else{if(a=[],m=[],c&&c.length>2)for(i=n=1,j=c.length;1<=j?n<j:n>j;i=1<=j?++n:--n)m.push(.5*(c[i-1]+c[i]));else m=g;k=m.map(function(a){return q(a)})}return s[d]&&(k=k.map(function(a){return a[d]()})),k},q.cache=function(a){return null!=a?p=a:p},q},null==s.scales&&(s.scales={}),s.scales.cool=function(){return s.scale([s.hsl(180,1,.9),s.hsl(250,.7,.4)])},s.scales.hot=function(){return s.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},s.analyze=function(a,b,c){var d,e,f,g,h,i,j;if(h={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},null==c&&(c=function(){return!0}),d=function(a){null==a||isNaN(a)||(h.values.push(a),h.sum+=a,a<h.min&&(h.min=a),a>h.max&&(h.max=a),h.count+=1)},j=function(a,e){if(c(a,e))return d(null!=b&&"function"===va(b)?b(a):null!=b&&"string"===va(b)||"number"===va(b)?a[b]:a)},"array"===va(a))for(g=0,f=a.length;g<f;g++)i=a[g],j(i);else for(e in a)i=a[e],j(i,e);return h.domain=[h.min,h.max],h.limits=function(a,b){return s.limits(h,a,b)},h},s.limits=function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,p,q,r,t,u,v,w,x,y,z,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,U,V,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja;if(null==b&&(b="equal"),null==c&&(c=7),"array"===va(a)&&(a=s.analyze(a)),E=a.min,W=a.max,a.sum,ia=a.values.sort(function(a,b){return a-b}),1===c)return[E,W];if(C=[],"c"===b.substr(0,1)&&(C.push(E),C.push(W)),"e"===b.substr(0,1)){for(C.push(E),y=K=1,O=c-1;1<=O?K<=O:K>=O;y=1<=O?++K:--K)C.push(E+y/c*(W-E)) -;C.push(W)}else if("l"===b.substr(0,1)){if(E<=0)throw"Logarithmic scales are only possible for values > 0";for(F=Math.LOG10E*T(E),D=Math.LOG10E*T(W),C.push(E),y=ja=1,P=c-1;1<=P?ja<=P:ja>=P;y=1<=P?++ja:--ja)C.push(_(10,F+y/c*(D-F)));C.push(W)}else if("q"===b.substr(0,1)){for(C.push(E),y=d=1,X=c-1;1<=X?d<=X:d>=X;y=1<=X?++d:--d)L=(ia.length-1)*y/c,M=A(L),M===L?C.push(ia[M]):(N=L-M,C.push(ia[M]*(1-N)+ia[M+1]*N));C.push(W)}else if("k"===b.substr(0,1)){for(H=ia.length,r=new Array(H),w=new Array(c),ea=!0,I=0,u=null,u=[],u.push(E),y=e=1,Y=c-1;1<=Y?e<=Y:e>=Y;y=1<=Y?++e:--e)u.push(E+y/c*(W-E));for(u.push(W);ea;){for(z=f=0,Z=c-1;0<=Z?f<=Z:f>=Z;z=0<=Z?++f:--f)w[z]=0;for(y=g=0,$=H-1;0<=$?g<=$:g>=$;y=0<=$?++g:--g){for(ha=ia[y],G=Number.MAX_VALUE,z=h=0,aa=c-1;0<=aa?h<=aa:h>=aa;z=0<=aa?++h:--h)(x=l(u[z]-ha))<G&&(G=x,t=z);w[t]++,r[y]=t}for(J=new Array(c),z=i=0,ba=c-1;0<=ba?i<=ba:i>=ba;z=0<=ba?++i:--i)J[z]=null;for(y=j=0,ca=H-1;0<=ca?j<=ca:j>=ca;y=0<=ca?++j:--j)v=r[y],null===J[v]?J[v]=ia[y]:J[v]+=ia[y];for(z=k=0,da=c-1;0<=da?k<=da:k>=da;z=0<=da?++k:--k)J[z]*=1/w[z];for(ea=!1,z=m=0,Q=c-1;0<=Q?m<=Q:m>=Q;z=0<=Q?++m:--m)if(J[z]!==u[y]){ea=!0;break}u=J,I++,I>200&&(ea=!1)}for(B={},z=n=0,R=c-1;0<=R?n<=R:n>=R;z=0<=R?++n:--n)B[z]=[];for(y=o=0,S=H-1;0<=S?o<=S:o>=S;y=0<=S?++o:--o)v=r[y],B[v].push(ia[y]);for(fa=[],z=p=0,U=c-1;0<=U?p<=U:p>=U;z=0<=U?++p:--p)fa.push(B[z][0]),fa.push(B[z][B[z].length-1]);for(fa=fa.sort(function(a,b){return a-b}),C.push(fa[0]),y=q=1,V=fa.length-1;q<=V;y=q+=2)ga=fa[y],isNaN(ga)||C.indexOf(ga)!==-1||C.push(ga)}return C},D=function(a,b,c){var d,f,h,i;return d=wa(arguments),a=d[0],b=d[1],c=d[2],isNaN(a)&&(a=0),a/=360,a<1/3?(f=(1-b)/3,i=(1+b*v(g*a)/v(e-g*a))/3,h=1-(f+i)):a<2/3?(a-=1/3,i=(1-b)/3,h=(1+b*v(g*a)/v(e-g*a))/3,f=1-(i+h)):(a-=2/3,h=(1-b)/3,f=(1+b*v(g*a)/v(e-g*a))/3,i=1-(h+f)),i=S(c*i*3),h=S(c*h*3),f=S(c*f*3),[255*i,255*h,255*f,d.length>3?d[3]:1]},ea=function(){var a,b,c,d,e,f,h,i;return h=wa(arguments),f=h[0],b=h[1],a=h[2],g=2*Math.PI,f/=255,b/=255,a/=255,e=Math.min(f,b,a),d=(f+b+a)/3,i=1-e/d,0===i?c=0:(c=(f-b+(f-a))/2,c/=Math.sqrt((f-b)*(f-b)+(f-a)*(b-a)),c=Math.acos(c),a>b&&(c=g-c),c/=g),[360*c,i,d]},s.hsi=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsi"]),function(){})},j.hsi=D,a.prototype.hsi=function(){return ea(this._rgb)},I=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;return"hsl"===d?(o=a.hsl(),p=b.hsl()):"hsv"===d?(o=a.hsv(),p=b.hsv()):"hcg"===d?(o=a.hcg(),p=b.hcg()):"hsi"===d?(o=a.hsi(),p=b.hsi()):"lch"!==d&&"hcl"!==d||(d="hcl",o=a.hcl(),p=b.hcl()),"h"===d.substr(0,1)&&(g=o[0],m=o[1],j=o[2],h=p[0],n=p[1],k=p[2]),isNaN(g)||isNaN(h)?isNaN(g)?isNaN(h)?f=Number.NaN:(f=h,1!==j&&0!==j||"hsv"===d||(l=n)):(f=g,1!==k&&0!==k||"hsv"===d||(l=m)):(e=h>g&&h-g>180?h-(g+360):h<g&&g-h>180?h+360-g:h-g,f=g+c*e),null==l&&(l=m+c*(n-m)),i=j+c*(k-j),s[d](f,l,i)},k=k.concat(function(){var a,b,c,d;for(c=["hsv","hsl","hsi","hcl","lch","hcg"],d=[],b=0,a=c.length;b<a;b++)V=c[b],d.push([V,I]);return d}()),K=function(a,b,c,d){var e,f;return e=a.num(),f=b.num(),s.num(e+(f-e)*c,"num")},k.push(["num",K]),J=function(b,c,d,e){var f,g;return f=b.lab(),g=c.lab(),new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["lab",J])}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=[].slice;va=function(){var a,b,c,d,e;for(a={},e="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),d=0,b=e.length;d<b;d++)c=e[d],a["[object "+c+"]"]=c.toLowerCase();return function(b){var c;return c=Object.prototype.toString.call(b),a[c]||"object"}}(),S=function(a,b,c){return null==b&&(b=0),null==c&&(c=1),a<b&&(a=b),a>c&&(a=c),a},wa=function(a){return a.length>=3?[].slice.call(a):a[0]},t=function(a){var b,c;for(a._clipped=!1,a._unclipped=a.slice(0),b=c=0;c<3;b=++c)b<3?((a[b]<0||a[b]>255)&&(a._clipped=!0),a[b]<0&&(a[b]=0),a[b]>255&&(a[b]=255)):3===b&&(a[b]<0&&(a[b]=0),a[b]>1&&(a[b]=1));return a._clipped||delete a._unclipped,a},d=Math.PI,qa=Math.round,v=Math.cos,A=Math.floor,_=Math.pow,T=Math.log,sa=Math.sin,ta=Math.sqrt,m=Math.atan2,W=Math.max,l=Math.abs,g=2*d,e=d/3,b=d/180,f=180/d,s=function(){return arguments[0]instanceof a?arguments[0]:function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,arguments,function(){})},s.default=s,k=[],"undefined"!=typeof module&&null!==module&&null!=module.exports&&(module.exports=s),"function"==typeof define&&define.amd?define([],function(){return s}):(pa="undefined"!=typeof exports&&null!==exports?exports:this,pa.chroma=s),s.version="1.3.4",j={},h=[],i=!1,a=function(){function a(){var a,b,c,d,e,f,g,k,l;for(f=this,b=[],k=0,d=arguments.length;k<d;k++)null!=(a=arguments[k])&&b.push(a);if(g=b[b.length-1],null!=j[g])f._rgb=t(j[g](wa(b.slice(0,-1))));else{for(i||(h=h.sort(function(a,b){return b.p-a.p}),i=!0),l=0,e=h.length;l<e&&(c=h[l],!(g=c.test.apply(c,b)));l++);g&&(f._rgb=t(j[g].apply(j,b)))}null==f._rgb&&console.warn("unknown format: "+b),null==f._rgb&&(f._rgb=[0,0,0]),3===f._rgb.length&&f._rgb.push(1)}return a.prototype.toString=function(){return this.hex()},a.prototype.clone=function(){return s(me._rgb)},a}(),s._input=j,s.brewer=q={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var a,b;b=[];for(a in q)b.push(q[a.toLowerCase()]=q[a])}(),xa={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},s.colors=xa,N=function(){var a,b,d,e,f,g,h,i,j;return b=wa(arguments),f=b[0],a=b[1],d=b[2],i=(f+16)/116,h=isNaN(a)?i:i+a/500,j=isNaN(d)?i:i-d/200,i=c.Yn*O(i),h=c.Xn*O(h),j=c.Zn*O(j),g=za(3.2404542*h-1.5371385*i-.4985314*j),e=za(-.969266*h+1.8760108*i+.041556*j),d=za(.0556434*h-.2040259*i+1.0572252*j),[g,e,d,b.length>3?b[3]:1]},za=function(a){return 255*(a<=.00304?12.92*a:1.055*_(a,1/2.4)-.055)},O=function(a){return a>c.t1?a*a*a:c.t2*(a-c.t0)},c={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ha=function(){var a,b,c,d,e,f,g,h;return d=wa(arguments),c=d[0],b=d[1],a=d[2],e=ma(c,b,a),f=e[0],g=e[1],h=e[2],[116*g-16,500*(f-g),200*(g-h)]},na=function(a){return(a/=255)<=.04045?a/12.92:_((a+.055)/1.055,2.4)},ya=function(a){return a>c.t3?_(a,1/3):a/c.t2+c.t0},ma=function(){var a,b,d,e,f,g,h;return e=wa(arguments),d=e[0],b=e[1],a=e[2],d=na(d),b=na(b),a=na(a),f=ya((.4124564*d+.3575761*b+.1804375*a)/c.Xn),g=ya((.2126729*d+.7151522*b+.072175*a)/c.Yn),h=ya((.0193339*d+.119192*b+.9503041*a)/c.Zn),[f,g,h]},s.lab=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["lab"]),function(){})},j.lab=N,a.prototype.lab=function(){return ha(this._rgb)},n=function(a){var b,c,d,e,f,g,h,i,j,k,l;return a=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(s(e));return d}(),2===a.length?(j=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=j[0],g=j[1],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push(f[b]+a*(g[b]-f[b]));return d}(),s.lab.apply(s,c)}):3===a.length?(k=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=k[0],g=k[1],h=k[2],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*f[b]+2*(1-a)*a*g[b]+a*a*h[b]);return d}(),s.lab.apply(s,c)}):4===a.length?(l=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=l[0],g=l[1],h=l[2],i=l[3],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*(1-a)*f[b]+3*(1-a)*(1-a)*a*g[b]+3*(1-a)*a*a*h[b]+a*a*a*i[b]);return d}(),s.lab.apply(s,c)}):5===a.length&&(c=n(a.slice(0,3)),d=n(a.slice(2,5)),b=function(a){return a<.5?c(2*a):d(2*(a-.5))}),b},s.bezier=function(a){var b;return b=n(a),b.scale=function(){return s.scale(b)},b},s.cubehelix=function(a,b,c,d,e){var f,h,i;return null==a&&(a=300),null==b&&(b=-1.5),null==c&&(c=1),null==d&&(d=1),null==e&&(e=[0,1]),f=0,"array"===va(e)?h=e[1]-e[0]:(h=0,e=[e,e]),i=function(i){var j,k,l,m,n,o,p,q,r;return j=g*((a+120)/360+b*i),p=_(e[0]+h*i,d),o=0!==f?c[0]+i*f:c,k=o*p*(1-p)/2,m=v(j),r=sa(j),q=p+k*(-.14861*m+1.78277*r),n=p+k*(-.29227*m-.90649*r),l=p+k*(1.97294*m),s(t([255*q,255*n,255*l]))},i.start=function(b){return null==b?a:(a=b,i)},i.rotations=function(a){return null==a?b:(b=a,i)},i.gamma=function(a){return null==a?d:(d=a,i)},i.hue=function(a){return null==a?c:(c=a,"array"===va(c)?0===(f=c[1]-c[0])&&(c=c[1]):f=0,i)},i.lightness=function(a){return null==a?e:("array"===va(a)?(e=a,h=a[1]-a[0]):(e=[a,a],h=0),i)},i.scale=function(){return s.scale(i)},i.hue(c),i},s.random=function(){var b,c,d;for(c="0123456789abcdef",b="#",d=0;d<6;++d)b+=c.charAt(A(16*Math.random()));return new a(b)},s.average=function(a,b){var c,e,f,g,h,i,j,k,l,n,o,p,q;null==b&&(b="rgb"),l=a.length,a=a.map(function(a){return s(a)}),j=a.splice(0,1)[0],p=j.get(b),g=[],h=0,i=0;for(k in p)p[k]=p[k]||0,g.push(isNaN(p[k])?0:1),"h"!==b.charAt(k)||isNaN(p[k])||(c=p[k]/180*d,h+=v(c),i+=sa(c));for(e=j.alpha(),o=0,n=a.length;o<n;o++){f=a[o],q=f.get(b),e+=f.alpha();for(k in p)isNaN(q[k])||(p[k]+=q[k],g[k]+=1,"h"===b.charAt(k)&&(c=p[k]/180*d,h+=v(c),i+=sa(c)))}for(k in p)if(p[k]=p[k]/g[k],"h"===b.charAt(k)){for(c=m(i/g[k],h/g[k])/d*180;c<0;)c+=360;for(;c>=360;)c-=360;p[k]=c}return s(p,b).alpha(e/l)},j.rgb=function(){var a,b,c,d;b=wa(arguments),c=[];for(a in b)d=b[a],c.push(d);return c},s.rgb=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["rgb"]),function(){})},a.prototype.rgb=function(a){return null==a&&(a=!0),a?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},a.prototype.rgba=function(a){return null==a&&(a=!0),a?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},h.push({p:3,test:function(a){var b;return b=wa(arguments),"array"===va(b)&&3===b.length?"rgb":4===b.length&&"number"===va(b[3])&&b[3]>=0&&b[3]<=1?"rgb":void 0}}),C=function(a){var b,c,d,e,f,g;if(a.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==a.length&&7!==a.length||(a=a.substr(1)),3===a.length&&(a=a.split(""),a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),g=parseInt(a,16),e=g>>16,d=g>>8&255,c=255&g,[e,d,c,1];if(a.match(/^#?([A-Fa-f0-9]{8})$/))return 9===a.length&&(a=a.substr(1)),g=parseInt(a,16),e=g>>24&255,d=g>>16&255,c=g>>8&255,b=qa((255&g)/255*100)/100,[e,d,c,b];if(null!=j.css&&(f=j.css(a)))return f;throw"unknown color: "+a},da=function(a,b){var c,d,e,f,g,h,i;return null==b&&(b="rgb"),g=a[0],e=a[1],d=a[2],c=a[3],g=Math.round(g),e=Math.round(e),d=Math.round(d),i=g<<16|e<<8|d,h="000000"+i.toString(16),h=h.substr(h.length-6),f="0"+qa(255*c).toString(16),f=f.substr(f.length-2),"#"+function(){switch(b.toLowerCase()){case"rgba":return h+f;case"argb":return f+h;default:return h}}()},j.hex=function(a){return C(a)},s.hex=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hex"]),function(){})},a.prototype.hex=function(a){return null==a&&(a="rgb"),da(this._rgb,a)},h.push({p:4,test:function(a){if(1===arguments.length&&"string"===va(a))return"hex"}}),F=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(a=wa(arguments),e=a[0],k=a[1],g=a[2],0===k)i=d=b=255*g;else{for(n=[0,0,0],c=[0,0,0],m=g<.5?g*(1+k):g+k-g*k,l=2*g-m,e/=360,n[0]=e+1/3,n[1]=e,n[2]=e-1/3,f=h=0;h<=2;f=++h)n[f]<0&&(n[f]+=1),n[f]>1&&(n[f]-=1),6*n[f]<1?c[f]=l+6*(m-l)*n[f]:2*n[f]<1?c[f]=m:3*n[f]<2?c[f]=l+(m-l)*(2/3-n[f])*6:c[f]=l;j=[qa(255*c[0]),qa(255*c[1]),qa(255*c[2])],i=j[0],d=j[1],b=j[2]}return a.length>3?[i,d,b,a[3]]:[i,d,b]},fa=function(a,b,c){var d,e,f,g,h;return void 0!==a&&a.length>=3&&(g=a,a=g[0],b=g[1],c=g[2]),a/=255,b/=255,c/=255,f=Math.min(a,b,c),W=Math.max(a,b,c),e=(W+f)/2,W===f?(h=0,d=Number.NaN):h=e<.5?(W-f)/(W+f):(W-f)/(2-W-f),a===W?d=(b-c)/(W-f):b===W?d=2+(c-a)/(W-f):c===W&&(d=4+(a-b)/(W-f)),d*=60,d<0&&(d+=360),[d,h,e]},s.hsl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsl"]),function(){})},j.hsl=F,a.prototype.hsl=function(){return fa(this._rgb)},G=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(a=wa(arguments),e=a[0],p=a[1],r=a[2],r*=255,0===p)i=d=b=r;else switch(360===e&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60,f=A(e),c=e-f,g=r*(1-p),h=r*(1-p*c),q=r*(1-p*(1-c)),f){case 0:j=[r,q,g],i=j[0],d=j[1],b=j[2];break;case 1:k=[h,r,g],i=k[0],d=k[1],b=k[2];break;case 2:l=[g,r,q],i=l[0],d=l[1],b=l[2];break;case 3:m=[g,h,r],i=m[0],d=m[1],b=m[2];break;case 4:n=[q,g,r],i=n[0],d=n[1],b=n[2];break;case 5:o=[r,g,h],i=o[0],d=o[1],b=o[2]}return[i,d,b,a.length>3?a[3]:1]},ga=function(){var a,b,c,d,e,f,g,h,i;return g=wa(arguments),f=g[0],c=g[1],a=g[2],e=Math.min(f,c,a),W=Math.max(f,c,a),b=W-e,i=W/255,0===W?(d=Number.NaN,h=0):(h=b/W,f===W&&(d=(c-a)/b),c===W&&(d=2+(a-f)/b),a===W&&(d=4+(f-c)/b),(d*=60)<0&&(d+=360)),[d,h,i]},s.hsv=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsv"]),function(){})},j.hsv=G,a.prototype.hsv=function(){return ga(this._rgb)},Z=function(a){var b,c,d;return"number"===va(a)&&a>=0&&a<=16777215?(d=a>>16,c=a>>8&255,b=255&a,[d,c,b,1]):(console.warn("unknown num color: "+a),[0,0,0,1])},ka=function(){var a,b,c,d;return d=wa(arguments),c=d[0],b=d[1],a=d[2],(c<<16)+(b<<8)+a},s.num=function(b){return new a(b,"num")},a.prototype.num=function(a){return null==a&&(a="rgb"),ka(this._rgb,a)},j.num=Z,h.push({p:1,test:function(a){if(1===arguments.length&&"number"===va(a)&&a>=0&&a<=16777215)return"num"}}),B=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(c=wa(arguments),h=c[0],e=c[1],b=c[2],e/=100,g=g/100*255,a=255*e,0===e)l=g=d=b;else switch(360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360),h/=60,i=A(h),f=h-i,j=b*(1-e),k=j+a*(1-f),s=j+a*f,t=j+a,i){case 0:m=[t,s,j],l=m[0],g=m[1],d=m[2];break;case 1:n=[k,t,j],l=n[0],g=n[1],d=n[2];break;case 2:o=[j,t,s],l=o[0],g=o[1],d=o[2];break;case 3:p=[j,k,t],l=p[0],g=p[1],d=p[2];break;case 4:q=[s,j,t],l=q[0],g=q[1],d=q[2];break;case 5:r=[t,j,k],l=r[0],g=r[1],d=r[2]}return[l,g,d,c.length>3?c[3]:1]},ca=function(){var a,b,c,d,e,f,g,h,i;return i=wa(arguments),h=i[0],e=i[1],b=i[2],g=Math.min(h,e,b),W=Math.max(h,e,b),d=W-g,c=100*d/255,a=g/(255-d)*100,0===d?f=Number.NaN:(h===W&&(f=(e-b)/d),e===W&&(f=2+(b-h)/d),b===W&&(f=4+(h-e)/d),(f*=60)<0&&(f+=360)),[f,c,a]},s.hcg=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hcg"]),function(){})},j.hcg=B,a.prototype.hcg=function(){return ca(this._rgb)},w=function(a){var b,c,d,e,f,g,h,i;if(a=a.toLowerCase(),null!=s.colors&&s.colors[a])return C(s.colors[a]);if(f=a.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(h=f.slice(1,4),e=g=0;g<=2;e=++g)h[e]=+h[e];h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(h=f.slice(1,5),e=i=0;i<=3;e=++i)h[e]=+h[e];else if(f=a.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(h=f.slice(1,4),e=b=0;b<=2;e=++b)h[e]=qa(2.55*h[e]);h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(h=f.slice(1,5),e=c=0;c<=2;e=++c)h[e]=qa(2.55*h[e]);h[3]=+h[3]}else(f=a.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=1):(f=a.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=+f[4]);return h},ba=function(a){var b;return b=a[3]<1?"rgba":"rgb","rgb"===b?b+"("+a.slice(0,3).map(qa).join(",")+")":"rgba"===b?b+"("+a.slice(0,3).map(qa).join(",")+","+a[3]+")":void 0},oa=function(a){return qa(100*a)/100},E=function(a,b){var c;return c=b<1?"hsla":"hsl",a[0]=oa(a[0]||0),a[1]=oa(100*a[1])+"%",a[2]=oa(100*a[2])+"%","hsla"===c&&(a[3]=b),c+"("+a.join(",")+")"},j.css=function(a){return w(a)},s.css=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["css"]),function(){})},a.prototype.css=function(a){return null==a&&(a="rgb"),"rgb"===a.slice(0,3)?ba(this._rgb):"hsl"===a.slice(0,3)?E(this.hsl(),this.alpha()):void 0},j.named=function(a){return C(xa[a])},h.push({p:5,test:function(a){if(1===arguments.length&&null!=xa[a])return"named"}}),a.prototype.name=function(a){var b,c;arguments.length&&(xa[a]&&(this._rgb=C(xa[a])),this._rgb[3]=1),b=this.hex();for(c in xa)if(b===xa[c])return c;return b},P=function(){var a,c,d,e;return e=wa(arguments),d=e[0],a=e[1],c=e[2],c*=b,[d,v(c)*a,sa(c)*a]},Q=function(){var a,b,c,d,e,f,g,h,i,j,k;return c=wa(arguments),h=c[0],e=c[1],g=c[2],j=P(h,e,g),a=j[0],b=j[1],d=j[2],k=N(a,b,d),i=k[0],f=k[1],d=k[2],[i,f,d,c.length>3?c[3]:1]},M=function(){var a,b,c,d,e,g;return g=wa(arguments),e=g[0],a=g[1],b=g[2],c=ta(a*a+b*b),d=(m(b,a)*f+360)%360,0===qa(1e4*c)&&(d=Number.NaN),[e,c,d]},ia=function(){var a,b,c,d,e,f,g;return f=wa(arguments),e=f[0],c=f[1],b=f[2],g=ha(e,c,b),d=g[0],a=g[1],b=g[2],M(d,a,b)},s.lch=function(){var b;return b=wa(arguments),new a(b,"lch")},s.hcl=function(){var b;return b=wa(arguments),new a(b,"hcl")},j.lch=Q,j.hcl=function(){var a,b,c,d;return d=wa(arguments),b=d[0],a=d[1],c=d[2],Q([c,a,b])},a.prototype.lch=function(){return ia(this._rgb)},a.prototype.hcl=function(){return ia(this._rgb).reverse()},aa=function(a){var b,c,d,e,f,g,h,i,j;return null==a&&(a="rgb"),i=wa(arguments),h=i[0],e=i[1],b=i[2],h/=255,e/=255,b/=255,f=1-Math.max(h,Math.max(e,b)),d=f<1?1/(1-f):0,c=(1-h-f)*d,g=(1-e-f)*d,j=(1-b-f)*d,[c,g,j,f]},u=function(){var a,b,c,d,e,f,g,h,i;return b=wa(arguments),d=b[0],g=b[1],i=b[2],f=b[3],a=b.length>4?b[4]:1,1===f?[0,0,0,a]:(h=d>=1?0:255*(1-d)*(1-f),e=g>=1?0:255*(1-g)*(1-f),c=i>=1?0:255*(1-i)*(1-f),[h,e,c,a])},j.cmyk=function(){return u(wa(arguments))},s.cmyk=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["cmyk"]),function(){})},a.prototype.cmyk=function(){return aa(this._rgb)},j.gl=function(){var a,b,c,d,e;for(d=function(){var a,c;a=wa(arguments),c=[];for(b in a)e=a[b],c.push(e);return c}.apply(this,arguments),a=c=0;c<=2;a=++c)d[a]*=255;return d},s.gl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["gl"]),function(){})},a.prototype.gl=function(){var a;return a=this._rgb,[a[0]/255,a[1]/255,a[2]/255,a[3]]},ja=function(a,b,c){var d;return d=wa(arguments),a=d[0],b=d[1],c=d[2],a=U(a),b=U(b),c=U(c),.2126*a+.7152*b+.0722*c},U=function(a){return a/=255,a<=.03928?a/12.92:_((a+.055)/1.055,2.4)},k=[],H=function(a,b,c,d){var e,f,g,h;for(null==c&&(c=.5),null==d&&(d="rgb"),"object"!==va(a)&&(a=s(a)),"object"!==va(b)&&(b=s(b)),g=0,f=k.length;g<f;g++)if(e=k[g],d===e[0]){h=e[1](a,b,c,d);break}if(null==h)throw"color mode "+d+" is not supported";return h.alpha(a.alpha()+c*(b.alpha()-a.alpha()))},s.interpolate=H,a.prototype.interpolate=function(a,b,c){return H(this,a,b,c)},s.mix=H,a.prototype.mix=a.prototype.interpolate,L=function(b,c,d,e){var f,g;return f=b._rgb,g=c._rgb,new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["rgb",L]),a.prototype.luminance=function(a,b){var c,d,e,f;return null==b&&(b="rgb"),arguments.length?(0===a?this._rgb=[0,0,0,this._rgb[3]]:1===a?this._rgb=[255,255,255,this._rgb[3]]:(d=1e-7,e=20,f=function(c,g){var h,i;return i=c.interpolate(g,.5,b),h=i.luminance(),Math.abs(a-h)<d||!e--?i:h>a?f(c,i):f(i,g)},c=ja(this._rgb),this._rgb=(c>a?f(s("black"),this):f(this,s("white"))).rgba()),this):ja(this._rgb)},ua=function(a){var b,c,d,e;return e=a/100,e<66?(d=255,c=-155.25485562709179-.44596950469579133*(c=e-2)+104.49216199393888*T(c),b=e<20?0:.8274096064007395*(b=e-10)-254.76935184120902+115.67994401066147*T(b)):(d=351.97690566805693+.114206453784165*(d=e-55)-40.25366309332127*T(d),c=325.4494125711974+.07943456536662342*(c=e-50)-28.0852963507957*T(c),b=255),[d,c,b]},la=function(){var a,b,c,d,e,f,g,h;for(f=wa(arguments),e=f[0],f[1],a=f[2],d=1e3,c=4e4,b=.4;c-d>b;)h=.5*(c+d),g=ua(h),g[2]/g[0]>=a/e?c=h:d=h;return qa(h)},s.temperature=s.kelvin=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["temperature"]),function(){})},j.temperature=j.kelvin=j.K=ua,a.prototype.temperature=function(){return la(this._rgb)},a.prototype.kelvin=a.prototype.temperature,s.contrast=function(b,c){var d,e,f,g;return"string"!==(f=va(b))&&"number"!==f||(b=new a(b)),"string"!==(g=va(c))&&"number"!==g||(c=new a(c)),d=b.luminance(),e=c.luminance(),d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)},s.distance=function(b,c,d){var e,f,g,h,i,j,k;null==d&&(d="lab"),"string"!==(i=va(b))&&"number"!==i||(b=new a(b)),"string"!==(j=va(c))&&"number"!==j||(c=new a(c)),g=b.get(d),h=c.get(d),k=0;for(f in g)e=(g[f]||0)-(h[f]||0),k+=e*e;return Math.sqrt(k)},s.deltaE=function(b,c,e,f){var g,h,i,j,k,n,o,p,q,r,s,t,u,w,x,y,z,A,B,C,D,E,F,G,H,I,J;for(null==e&&(e=1),null==f&&(f=1),"string"!==(z=va(b))&&"number"!==z||(b=new a(b)),"string"!==(A=va(c))&&"number"!==A||(c=new a(c)),B=b.lab(),g=B[0],i=B[1],k=B[2],C=c.lab(),h=C[0],j=C[1],n=C[2],o=ta(i*i+k*k),p=ta(j*j+n*n),F=g<16?.511:.040975*g/(1+.01765*g),D=.0638*o/(1+.0131*o)+.638,y=o<1e-6?0:180*m(k,i)/d;y<0;)y+=360;for(;y>=360;)y-=360;return G=y>=164&&y<=345?.56+l(.2*v(d*(y+168)/180)):.36+l(.4*v(d*(y+35)/180)),q=o*o*o*o,x=ta(q/(q+1900)),E=D*(x*G+1-x),w=g-h,u=o-p,s=i-j,t=k-n,r=s*s+t*t-u*u,H=w/(e*F),I=u/(f*D),J=E,ta(H*H+I*I+r/(J*J))},a.prototype.get=function(a){var b,c,d,e,f,g;return d=this,f=a.split("."),e=f[0],b=f[1],g=d[e](),b?(c=e.indexOf(b),c>-1?g[c]:console.warn("unknown channel "+b+" in mode "+e)):g},a.prototype.set=function(a,b){var c,d,e,f,g,h;if(e=this,g=a.split("."),f=g[0],c=g[1],c)if(h=e[f](),(d=f.indexOf(c))>-1)if("string"===va(b))switch(b.charAt(0)){case"+":case"-":h[d]+=+b;break;case"*":h[d]*=+b.substr(1);break;case"/":h[d]/=+b.substr(1);break;default:h[d]=+b}else h[d]=b;else console.warn("unknown channel "+c+" in mode "+f);else h=b;return s(h,f).alpha(e.alpha())},a.prototype.clipped=function(){return this._rgb._clipped||!1},a.prototype.alpha=function(a){return arguments.length?s.rgb([this._rgb[0],this._rgb[1],this._rgb[2],a]):this._rgb[3]},a.prototype.darken=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lab(),b[0]-=c.Kn*a,s.lab(b).alpha(d.alpha())},a.prototype.brighten=function(a){return null==a&&(a=1),this.darken(-a)},a.prototype.darker=a.prototype.darken,a.prototype.brighter=a.prototype.brighten,a.prototype.saturate=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lch(),b[1]+=a*c.Kn,b[1]<0&&(b[1]=0),s.lch(b).alpha(d.alpha())},a.prototype.desaturate=function(a){return null==a&&(a=1),this.saturate(-a)},a.prototype.premultiply=function(){var a,b;return b=this.rgb(),a=this.alpha(),s(b[0]*a,b[1]*a,b[2]*a,a)},o=function(a,b,c){if(!o[c])throw"unknown blend mode "+c;return o[c](a,b)},p=function(a){return function(b,c){var d,e;return d=s(c).rgb(),e=s(b).rgb(),s(a(d,e),"rgb")}},z=function(a){return function(b,c){var d,e,f;for(f=[],d=e=0;e<=3;d=++e)f[d]=a(b[d],c[d]);return f}},Y=function(a,b){return a},X=function(a,b){return a*b/255},x=function(a,b){return a>b?b:a},R=function(a,b){return a>b?a:b},ra=function(a,b){return 255*(1-(1-a/255)*(1-b/255))},$=function(a,b){return b<128?2*a*b/255:255*(1-2*(1-a/255)*(1-b/255))},r=function(a,b){return 255*(1-(1-b/255)/(a/255))},y=function(a,b){return 255===a?255:(a=b/255*255/(1-a/255),a>255?255:a)},o.normal=p(z(Y)),o.multiply=p(z(X)),o.screen=p(z(ra)),o.overlay=p(z($)),o.darken=p(z(x)),o.lighten=p(z(R)),o.dodge=p(z(y)),o.burn=p(z(r)),s.blend=o,s.analyze=function(a){var b,c,d,e;for(d={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},c=0,b=a.length;c<b;c++)null==(e=a[c])||isNaN(e)||(d.values.push(e),d.sum+=e,e<d.min&&(d.min=e),e>d.max&&(d.max=e),d.count+=1);return d.domain=[d.min,d.max],d.limits=function(a,b){return s.limits(d,a,b)},d},s.scale=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,t,u,v,w;return j="rgb",k=s("#ccc"),o=0,!1,g=[0,1],n=[],m=[0,0],c=!1,e=[],l=!1,i=0,h=1,f=!1,d={},p=!0,v=function(a){var b,c,d,f,g,h;if(null==a&&(a=["#fff","#000"]),null!=a&&"string"===va(a)&&null!=s.brewer&&(a=s.brewer[a]||s.brewer[a.toLowerCase()]||a),"array"===va(a)){for(a=a.slice(0),b=d=0,f=a.length-1;0<=f?d<=f:d>=f;b=0<=f?++d:--d)c=a[b],"string"===va(c)&&(a[b]=s(c));for(n.length=0,b=h=0,g=a.length-1;0<=g?h<=g:h>=g;b=0<=g?++h:--h)n.push(b/(a.length-1))}return u(),e=a},r=function(a){var b,d;if(null!=c){for(d=c.length-1,b=0;b<d&&a>=c[b];)b++;return b-1}return 0},w=function(a){return a},function(a){var b,d,e,f,g;return g=a,c.length>2&&(f=c.length-1,b=r(a),e=c[0]+(c[1]-c[0])*(0+.5*o),d=c[f-1]+(c[f]-c[f-1])*(1-.5*o),g=i+(c[b]+.5*(c[b+1]-c[b])-e)/(d-e)*(h-i)),g},t=function(a,b){var f,g,l,o,q,t,u,v;if(null==b&&(b=!1),isNaN(a))return k;if(b?v=a:c&&c.length>2?(f=r(a),v=f/(c.length-2),v=m[0]+v*(1-m[0]-m[1])):h!==i?(v=(a-i)/(h-i),v=m[0]+v*(1-m[0]-m[1]),v=Math.min(1,Math.max(0,v))):v=1,b||(v=w(v)),o=Math.floor(1e4*v),p&&d[o])g=d[o];else{if("array"===va(e))for(l=q=0,u=n.length-1;0<=u?q<=u:q>=u;l=0<=u?++q:--q){if(t=n[l],v<=t){g=e[l];break}if(v>=t&&l===n.length-1){g=e[l];break}if(v>t&&v<n[l+1]){v=(v-t)/(n[l+1]-t),g=s.interpolate(e[l],e[l+1],v,j);break}}else"function"===va(e)&&(g=e(v));p&&(d[o]=g)}return g},u=function(){return d={}},v(a),q=function(a){var b;return b=s(t(a)),l&&b[l]?b[l]():b},q.classes=function(a){var b;return null!=a?("array"===va(a)?(c=a,g=[a[0],a[a.length-1]]):(b=s.analyze(g),c=0===a?[b.min,b.max]:s.limits(b,"e",a)),q):c},q.domain=function(a){var b,c,d,f,j,k,l;if(!arguments.length)return g;if(i=a[0],h=a[a.length-1],n=[],d=e.length,a.length===d&&i!==h)for(j=0,f=a.length;j<f;j++)c=a[j],n.push((c-i)/(h-i));else for(b=l=0,k=d-1;0<=k?l<=k:l>=k;b=0<=k?++l:--l)n.push(b/(d-1));return g=[i,h],q},q.mode=function(a){return arguments.length?(j=a,u(),q):j},q.range=function(a,b){return v(a,b),q},q.out=function(a){return l=a,q},q.spread=function(a){return arguments.length?(o=a,q):o},q.correctLightness=function(a){return null==a&&(a=!0),f=a,u(),w=f?function(a){var b,c,d,e,f,g,h,i,j;for(b=t(0,!0).lab()[0],c=t(1,!0).lab()[0],h=b>c,d=t(a,!0).lab()[0],f=b+(c-b)*a,e=d-f,i=0,j=1,g=20;Math.abs(e)>.01&&g-- >0;)!function(){h&&(e*=-1),e<0?(i=a,a+=.5*(j-a)):(j=a,a+=.5*(i-a)),d=t(a,!0).lab()[0],e=d-f}();return a}:function(a){return a},q},q.padding=function(a){return null!=a?("number"===va(a)&&(a=[a,a]),m=a,q):m},q.colors=function(b,d){var f,h,i,j,k,l,m,n;if(arguments.length<2&&(d="hex"),k=[],0===arguments.length)k=e.slice(0);else if(1===b)k=[q(.5)];else if(b>1)h=g[0],f=g[1]-h,k=function(){l=[];for(var a=0;0<=b?a<b:a>b;0<=b?a++:a--)l.push(a);return l}.apply(this).map(function(a){return q(h+a/(b-1)*f)});else{if(a=[],m=[],c&&c.length>2)for(i=n=1,j=c.length;1<=j?n<j:n>j;i=1<=j?++n:--n)m.push(.5*(c[i-1]+c[i]));else m=g;k=m.map(function(a){return q(a)})}return s[d]&&(k=k.map(function(a){return a[d]()})),k},q.cache=function(a){return null!=a?p=a:p},q},null==s.scales&&(s.scales={}),s.scales.cool=function(){return s.scale([s.hsl(180,1,.9),s.hsl(250,.7,.4)])},s.scales.hot=function(){return s.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},s.analyze=function(a,b,c){var d,e,f,g,h,i,j;if(h={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==c&&(c=function(){return!0}),d=function(a){null==a||isNaN(a)||(h.values.push(a),h.sum+=a,a<h.min&&(h.min=a),a>h.max&&(h.max=a),h.count+=1)},j=function(a,e){if(c(a,e))return d(null!=b&&"function"===va(b)?b(a):null!=b&&"string"===va(b)||"number"===va(b)?a[b]:a)},"array"===va(a))for(g=0,f=a.length;g<f;g++)i=a[g],j(i);else for(e in a)i=a[e],j(i,e);return h.domain=[h.min,h.max],h.limits=function(a,b){return s.limits(h,a,b)},h},s.limits=function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,p,q,r,t,u,v,w,x,y,z,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,U,V,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja;if(null==b&&(b="equal"),null==c&&(c=7),"array"===va(a)&&(a=s.analyze(a)),E=a.min,W=a.max,a.sum,ia=a.values.sort(function(a,b){return a-b}),1===c)return[E,W];if(C=[],"c"===b.substr(0,1)&&(C.push(E),C.push(W)),"e"===b.substr(0,1)){for(C.push(E),y=K=1, +O=c-1;1<=O?K<=O:K>=O;y=1<=O?++K:--K)C.push(E+y/c*(W-E));C.push(W)}else if("l"===b.substr(0,1)){if(E<=0)throw"Logarithmic scales are only possible for values > 0";for(F=Math.LOG10E*T(E),D=Math.LOG10E*T(W),C.push(E),y=ja=1,P=c-1;1<=P?ja<=P:ja>=P;y=1<=P?++ja:--ja)C.push(_(10,F+y/c*(D-F)));C.push(W)}else if("q"===b.substr(0,1)){for(C.push(E),y=d=1,X=c-1;1<=X?d<=X:d>=X;y=1<=X?++d:--d)L=(ia.length-1)*y/c,M=A(L),M===L?C.push(ia[M]):(N=L-M,C.push(ia[M]*(1-N)+ia[M+1]*N));C.push(W)}else if("k"===b.substr(0,1)){for(H=ia.length,r=new Array(H),w=new Array(c),ea=!0,I=0,u=null,u=[],u.push(E),y=e=1,Y=c-1;1<=Y?e<=Y:e>=Y;y=1<=Y?++e:--e)u.push(E+y/c*(W-E));for(u.push(W);ea;){for(z=f=0,Z=c-1;0<=Z?f<=Z:f>=Z;z=0<=Z?++f:--f)w[z]=0;for(y=g=0,$=H-1;0<=$?g<=$:g>=$;y=0<=$?++g:--g){for(ha=ia[y],G=Number.MAX_VALUE,z=h=0,aa=c-1;0<=aa?h<=aa:h>=aa;z=0<=aa?++h:--h)(x=l(u[z]-ha))<G&&(G=x,t=z);w[t]++,r[y]=t}for(J=new Array(c),z=i=0,ba=c-1;0<=ba?i<=ba:i>=ba;z=0<=ba?++i:--i)J[z]=null;for(y=j=0,ca=H-1;0<=ca?j<=ca:j>=ca;y=0<=ca?++j:--j)v=r[y],null===J[v]?J[v]=ia[y]:J[v]+=ia[y];for(z=k=0,da=c-1;0<=da?k<=da:k>=da;z=0<=da?++k:--k)J[z]*=1/w[z];for(ea=!1,z=m=0,Q=c-1;0<=Q?m<=Q:m>=Q;z=0<=Q?++m:--m)if(J[z]!==u[y]){ea=!0;break}u=J,I++,I>200&&(ea=!1)}for(B={},z=n=0,R=c-1;0<=R?n<=R:n>=R;z=0<=R?++n:--n)B[z]=[];for(y=o=0,S=H-1;0<=S?o<=S:o>=S;y=0<=S?++o:--o)v=r[y],B[v].push(ia[y]);for(fa=[],z=p=0,U=c-1;0<=U?p<=U:p>=U;z=0<=U?++p:--p)fa.push(B[z][0]),fa.push(B[z][B[z].length-1]);for(fa=fa.sort(function(a,b){return a-b}),C.push(fa[0]),y=q=1,V=fa.length-1;q<=V;y=q+=2)ga=fa[y],isNaN(ga)||-1!==C.indexOf(ga)||C.push(ga)}return C},D=function(a,b,c){var d,f,h,i;return d=wa(arguments),a=d[0],b=d[1],c=d[2],isNaN(a)&&(a=0),a/=360,a<1/3?(f=(1-b)/3,i=(1+b*v(g*a)/v(e-g*a))/3,h=1-(f+i)):a<2/3?(a-=1/3,i=(1-b)/3,h=(1+b*v(g*a)/v(e-g*a))/3,f=1-(i+h)):(a-=2/3,h=(1-b)/3,f=(1+b*v(g*a)/v(e-g*a))/3,i=1-(h+f)),i=S(c*i*3),h=S(c*h*3),f=S(c*f*3),[255*i,255*h,255*f,d.length>3?d[3]:1]},ea=function(){var a,b,c,d,e,f,h,i;return h=wa(arguments),f=h[0],b=h[1],a=h[2],g=2*Math.PI,f/=255,b/=255,a/=255,e=Math.min(f,b,a),d=(f+b+a)/3,i=1-e/d,0===i?c=0:(c=(f-b+(f-a))/2,c/=Math.sqrt((f-b)*(f-b)+(f-a)*(b-a)),c=Math.acos(c),a>b&&(c=g-c),c/=g),[360*c,i,d]},s.hsi=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsi"]),function(){})},j.hsi=D,a.prototype.hsi=function(){return ea(this._rgb)},I=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;return"hsl"===d?(o=a.hsl(),p=b.hsl()):"hsv"===d?(o=a.hsv(),p=b.hsv()):"hcg"===d?(o=a.hcg(),p=b.hcg()):"hsi"===d?(o=a.hsi(),p=b.hsi()):"lch"!==d&&"hcl"!==d||(d="hcl",o=a.hcl(),p=b.hcl()),"h"===d.substr(0,1)&&(g=o[0],m=o[1],j=o[2],h=p[0],n=p[1],k=p[2]),isNaN(g)||isNaN(h)?isNaN(g)?isNaN(h)?f=Number.NaN:(f=h,1!==j&&0!==j||"hsv"===d||(l=n)):(f=g,1!==k&&0!==k||"hsv"===d||(l=m)):(e=h>g&&h-g>180?h-(g+360):h<g&&g-h>180?h+360-g:h-g,f=g+c*e),null==l&&(l=m+c*(n-m)),i=j+c*(k-j),s[d](f,l,i)},k=k.concat(function(){var a,b,c,d;for(c=["hsv","hsl","hsi","hcl","lch","hcg"],d=[],b=0,a=c.length;b<a;b++)V=c[b],d.push([V,I]);return d}()),K=function(a,b,c,d){var e,f;return e=a.num(),f=b.num(),s.num(e+(f-e)*c,"num")},k.push(["num",K]),J=function(b,c,d,e){var f,g;return f=b.lab(),g=c.lab(),new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["lab",J])}).call(this); \ No newline at end of file diff --git a/dkan/libraries/chroma/docs/libs/chroma.js b/dkan/libraries/chroma/docs/libs/chroma.js index bbf7a92c9..c5c85cadf 100644 --- a/dkan/libraries/chroma/docs/libs/chroma.js +++ b/dkan/libraries/chroma/docs/libs/chroma.js @@ -132,6 +132,8 @@ })(Color, arguments, function(){}); }; + chroma["default"] = chroma; + _interpolators = []; if ((typeof module !== "undefined" && module !== null) && (module.exports != null)) { diff --git a/dkan/libraries/chroma/docs/libs/chroma.min.js b/dkan/libraries/chroma/docs/libs/chroma.min.js index 6acb8cd64..41a029421 100644 --- a/dkan/libraries/chroma/docs/libs/chroma.min.js +++ b/dkan/libraries/chroma/docs/libs/chroma.min.js @@ -29,5 +29,5 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=[].slice;va=function(){var a,b,c,d,e;for(a={},e="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),d=0,b=e.length;d<b;d++)c=e[d],a["[object "+c+"]"]=c.toLowerCase();return function(b){var c;return c=Object.prototype.toString.call(b),a[c]||"object"}}(),S=function(a,b,c){return null==b&&(b=0),null==c&&(c=1),a<b&&(a=b),a>c&&(a=c),a},wa=function(a){return a.length>=3?[].slice.call(a):a[0]},t=function(a){var b,c;for(a._clipped=!1,a._unclipped=a.slice(0),b=c=0;c<3;b=++c)b<3?((a[b]<0||a[b]>255)&&(a._clipped=!0),a[b]<0&&(a[b]=0),a[b]>255&&(a[b]=255)):3===b&&(a[b]<0&&(a[b]=0),a[b]>1&&(a[b]=1));return a._clipped||delete a._unclipped,a},d=Math.PI,qa=Math.round,v=Math.cos,A=Math.floor,_=Math.pow,T=Math.log,sa=Math.sin,ta=Math.sqrt,m=Math.atan2,W=Math.max,l=Math.abs,g=2*d,e=d/3,b=d/180,f=180/d,s=function(){return arguments[0]instanceof a?arguments[0]:function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,arguments,function(){})},k=[],"undefined"!=typeof module&&null!==module&&null!=module.exports&&(module.exports=s),"function"==typeof define&&define.amd?define([],function(){return s}):(pa="undefined"!=typeof exports&&null!==exports?exports:this,pa.chroma=s),s.version="1.3.4",j={},h=[],i=!1,a=function(){function a(){var a,b,c,d,e,f,g,k,l;for(f=this,b=[],k=0,d=arguments.length;k<d;k++)null!=(a=arguments[k])&&b.push(a);if(g=b[b.length-1],null!=j[g])f._rgb=t(j[g](wa(b.slice(0,-1))));else{for(i||(h=h.sort(function(a,b){return b.p-a.p}),i=!0),l=0,e=h.length;l<e&&(c=h[l],!(g=c.test.apply(c,b)));l++);g&&(f._rgb=t(j[g].apply(j,b)))}null==f._rgb&&console.warn("unknown format: "+b),null==f._rgb&&(f._rgb=[0,0,0]),3===f._rgb.length&&f._rgb.push(1)}return a.prototype.toString=function(){return this.hex()},a.prototype.clone=function(){return s(me._rgb)},a}(),s._input=j,s.brewer=q={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var a,b;b=[];for(a in q)b.push(q[a.toLowerCase()]=q[a]);b}(),xa={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},s.colors=xa,N=function(){var a,b,d,e,f,g,h,i,j;return b=wa(arguments),f=b[0],a=b[1],d=b[2],i=(f+16)/116,h=isNaN(a)?i:i+a/500,j=isNaN(d)?i:i-d/200,i=c.Yn*O(i),h=c.Xn*O(h),j=c.Zn*O(j),g=za(3.2404542*h-1.5371385*i-.4985314*j),e=za(-.969266*h+1.8760108*i+.041556*j),d=za(.0556434*h-.2040259*i+1.0572252*j),[g,e,d,b.length>3?b[3]:1]},za=function(a){return 255*(a<=.00304?12.92*a:1.055*_(a,1/2.4)-.055)},O=function(a){return a>c.t1?a*a*a:c.t2*(a-c.t0)},c={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ha=function(){var a,b,c,d,e,f,g,h;return d=wa(arguments),c=d[0],b=d[1],a=d[2],e=ma(c,b,a),f=e[0],g=e[1],h=e[2],[116*g-16,500*(f-g),200*(g-h)]},na=function(a){return(a/=255)<=.04045?a/12.92:_((a+.055)/1.055,2.4)},ya=function(a){return a>c.t3?_(a,1/3):a/c.t2+c.t0},ma=function(){var a,b,d,e,f,g,h;return e=wa(arguments),d=e[0],b=e[1],a=e[2],d=na(d),b=na(b),a=na(a),f=ya((.4124564*d+.3575761*b+.1804375*a)/c.Xn),g=ya((.2126729*d+.7151522*b+.072175*a)/c.Yn),h=ya((.0193339*d+.119192*b+.9503041*a)/c.Zn),[f,g,h]},s.lab=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["lab"]),function(){})},j.lab=N,a.prototype.lab=function(){return ha(this._rgb)},n=function(a){var b,c,d,e,f,g,h,i,j,k,l;return a=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(s(e));return d}(),2===a.length?(j=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=j[0],g=j[1],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push(f[b]+a*(g[b]-f[b]));return d}(),s.lab.apply(s,c)}):3===a.length?(k=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=k[0],g=k[1],h=k[2],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*f[b]+2*(1-a)*a*g[b]+a*a*h[b]);return d}(),s.lab.apply(s,c)}):4===a.length?(l=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=l[0],g=l[1],h=l[2],i=l[3],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*(1-a)*f[b]+3*(1-a)*(1-a)*a*g[b]+3*(1-a)*a*a*h[b]+a*a*a*i[b]);return d}(),s.lab.apply(s,c)}):5===a.length&&(c=n(a.slice(0,3)),d=n(a.slice(2,5)),b=function(a){return a<.5?c(2*a):d(2*(a-.5))}),b},s.bezier=function(a){var b;return b=n(a),b.scale=function(){return s.scale(b)},b},s.cubehelix=function(a,b,c,d,e){var f,h,i;return null==a&&(a=300),null==b&&(b=-1.5),null==c&&(c=1),null==d&&(d=1),null==e&&(e=[0,1]),f=0,"array"===va(e)?h=e[1]-e[0]:(h=0,e=[e,e]),i=function(i){var j,k,l,m,n,o,p,q,r;return j=g*((a+120)/360+b*i),p=_(e[0]+h*i,d),o=0!==f?c[0]+i*f:c,k=o*p*(1-p)/2,m=v(j),r=sa(j),q=p+k*(-.14861*m+1.78277*r),n=p+k*(-.29227*m-.90649*r),l=p+k*(1.97294*m),s(t([255*q,255*n,255*l]))},i.start=function(b){return null==b?a:(a=b,i)},i.rotations=function(a){return null==a?b:(b=a,i)},i.gamma=function(a){return null==a?d:(d=a,i)},i.hue=function(a){return null==a?c:(c=a,"array"===va(c)?0===(f=c[1]-c[0])&&(c=c[1]):f=0,i)},i.lightness=function(a){return null==a?e:("array"===va(a)?(e=a,h=a[1]-a[0]):(e=[a,a],h=0),i)},i.scale=function(){return s.scale(i)},i.hue(c),i},s.random=function(){var b,c,d;for(c="0123456789abcdef",b="#",d=0;d<6;++d)b+=c.charAt(A(16*Math.random()));return new a(b)},s.average=function(a,b){var c,e,f,g,h,i,j,k,l,n,o,p,q;null==b&&(b="rgb"),l=a.length,a=a.map(function(a){return s(a)}),j=a.splice(0,1)[0],p=j.get(b),g=[],h=0,i=0;for(k in p)p[k]=p[k]||0,g.push(isNaN(p[k])?0:1),"h"!==b.charAt(k)||isNaN(p[k])||(c=p[k]/180*d,h+=v(c),i+=sa(c));for(e=j.alpha(),o=0,n=a.length;o<n;o++){f=a[o],q=f.get(b),e+=f.alpha();for(k in p)isNaN(q[k])||(p[k]+=q[k],g[k]+=1,"h"===b.charAt(k)&&(c=p[k]/180*d,h+=v(c),i+=sa(c)))}for(k in p)if(p[k]=p[k]/g[k],"h"===b.charAt(k)){for(c=m(i/g[k],h/g[k])/d*180;c<0;)c+=360;for(;c>=360;)c-=360;p[k]=c}return s(p,b).alpha(e/l)},j.rgb=function(){var a,b,c,d;b=wa(arguments),c=[];for(a in b)d=b[a],c.push(d);return c},s.rgb=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["rgb"]),function(){})},a.prototype.rgb=function(a){return null==a&&(a=!0),a?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},a.prototype.rgba=function(a){return null==a&&(a=!0),a?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},h.push({p:3,test:function(a){var b;return b=wa(arguments),"array"===va(b)&&3===b.length?"rgb":4===b.length&&"number"===va(b[3])&&b[3]>=0&&b[3]<=1?"rgb":void 0}}),C=function(a){var b,c,d,e,f,g;if(a.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==a.length&&7!==a.length||(a=a.substr(1)),3===a.length&&(a=a.split(""),a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),g=parseInt(a,16),e=g>>16,d=g>>8&255,c=255&g,[e,d,c,1];if(a.match(/^#?([A-Fa-f0-9]{8})$/))return 9===a.length&&(a=a.substr(1)),g=parseInt(a,16),e=g>>24&255,d=g>>16&255,c=g>>8&255,b=qa((255&g)/255*100)/100,[e,d,c,b];if(null!=j.css&&(f=j.css(a)))return f;throw"unknown color: "+a},da=function(a,b){var c,d,e,f,g,h,i;return null==b&&(b="rgb"),g=a[0],e=a[1],d=a[2],c=a[3],g=Math.round(g),e=Math.round(e),d=Math.round(d),i=g<<16|e<<8|d,h="000000"+i.toString(16),h=h.substr(h.length-6),f="0"+qa(255*c).toString(16),f=f.substr(f.length-2),"#"+function(){switch(b.toLowerCase()){case"rgba":return h+f;case"argb":return f+h;default:return h}}()},j.hex=function(a){return C(a)},s.hex=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hex"]),function(){})},a.prototype.hex=function(a){return null==a&&(a="rgb"),da(this._rgb,a)},h.push({p:4,test:function(a){if(1===arguments.length&&"string"===va(a))return"hex"}}),F=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(a=wa(arguments),e=a[0],k=a[1],g=a[2],0===k)i=d=b=255*g;else{for(n=[0,0,0],c=[0,0,0],m=g<.5?g*(1+k):g+k-g*k,l=2*g-m,e/=360,n[0]=e+1/3,n[1]=e,n[2]=e-1/3,f=h=0;h<=2;f=++h)n[f]<0&&(n[f]+=1),n[f]>1&&(n[f]-=1),6*n[f]<1?c[f]=l+6*(m-l)*n[f]:2*n[f]<1?c[f]=m:3*n[f]<2?c[f]=l+(m-l)*(2/3-n[f])*6:c[f]=l;j=[qa(255*c[0]),qa(255*c[1]),qa(255*c[2])],i=j[0],d=j[1],b=j[2]}return a.length>3?[i,d,b,a[3]]:[i,d,b]},fa=function(a,b,c){var d,e,f,g,h;return void 0!==a&&a.length>=3&&(g=a,a=g[0],b=g[1],c=g[2]),a/=255,b/=255,c/=255,f=Math.min(a,b,c),W=Math.max(a,b,c),e=(W+f)/2,W===f?(h=0,d=Number.NaN):h=e<.5?(W-f)/(W+f):(W-f)/(2-W-f),a===W?d=(b-c)/(W-f):b===W?d=2+(c-a)/(W-f):c===W&&(d=4+(a-b)/(W-f)),d*=60,d<0&&(d+=360),[d,h,e]},s.hsl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsl"]),function(){})},j.hsl=F,a.prototype.hsl=function(){return fa(this._rgb)},G=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(a=wa(arguments),e=a[0],p=a[1],r=a[2],r*=255,0===p)i=d=b=r;else switch(360===e&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60,f=A(e),c=e-f,g=r*(1-p),h=r*(1-p*c),q=r*(1-p*(1-c)),f){case 0:j=[r,q,g],i=j[0],d=j[1],b=j[2];break;case 1:k=[h,r,g],i=k[0],d=k[1],b=k[2];break;case 2:l=[g,r,q],i=l[0],d=l[1],b=l[2];break;case 3:m=[g,h,r],i=m[0],d=m[1],b=m[2];break;case 4:n=[q,g,r],i=n[0],d=n[1],b=n[2];break;case 5:o=[r,g,h],i=o[0],d=o[1],b=o[2]}return[i,d,b,a.length>3?a[3]:1]},ga=function(){var a,b,c,d,e,f,g,h,i;return g=wa(arguments),f=g[0],c=g[1],a=g[2],e=Math.min(f,c,a),W=Math.max(f,c,a),b=W-e,i=W/255,0===W?(d=Number.NaN,h=0):(h=b/W,f===W&&(d=(c-a)/b),c===W&&(d=2+(a-f)/b),a===W&&(d=4+(f-c)/b),(d*=60)<0&&(d+=360)),[d,h,i]},s.hsv=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsv"]),function(){})},j.hsv=G,a.prototype.hsv=function(){return ga(this._rgb)},Z=function(a){var b,c,d;return"number"===va(a)&&a>=0&&a<=16777215?(d=a>>16,c=a>>8&255,b=255&a,[d,c,b,1]):(console.warn("unknown num color: "+a),[0,0,0,1])},ka=function(){var a,b,c,d;return d=wa(arguments),c=d[0],b=d[1],a=d[2],(c<<16)+(b<<8)+a},s.num=function(b){return new a(b,"num")},a.prototype.num=function(a){return null==a&&(a="rgb"),ka(this._rgb,a)},j.num=Z,h.push({p:1,test:function(a){if(1===arguments.length&&"number"===va(a)&&a>=0&&a<=16777215)return"num"}}),B=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(c=wa(arguments),h=c[0],e=c[1],b=c[2],e/=100,g=g/100*255,a=255*e,0===e)l=g=d=b;else switch(360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360),h/=60,i=A(h),f=h-i,j=b*(1-e),k=j+a*(1-f),s=j+a*f,t=j+a,i){case 0:m=[t,s,j],l=m[0],g=m[1],d=m[2];break;case 1:n=[k,t,j],l=n[0],g=n[1],d=n[2];break;case 2:o=[j,t,s],l=o[0],g=o[1],d=o[2];break;case 3:p=[j,k,t],l=p[0],g=p[1],d=p[2];break;case 4:q=[s,j,t],l=q[0],g=q[1],d=q[2];break;case 5:r=[t,j,k],l=r[0],g=r[1],d=r[2]}return[l,g,d,c.length>3?c[3]:1]},ca=function(){var a,b,c,d,e,f,g,h,i;return i=wa(arguments),h=i[0],e=i[1],b=i[2],g=Math.min(h,e,b),W=Math.max(h,e,b),d=W-g,c=100*d/255,a=g/(255-d)*100,0===d?f=Number.NaN:(h===W&&(f=(e-b)/d),e===W&&(f=2+(b-h)/d),b===W&&(f=4+(h-e)/d),(f*=60)<0&&(f+=360)),[f,c,a]},s.hcg=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hcg"]),function(){})},j.hcg=B,a.prototype.hcg=function(){return ca(this._rgb)},w=function(a){var b,c,d,e,f,g,h,i;if(a=a.toLowerCase(),null!=s.colors&&s.colors[a])return C(s.colors[a]);if(f=a.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(h=f.slice(1,4),e=g=0;g<=2;e=++g)h[e]=+h[e];h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(h=f.slice(1,5),e=i=0;i<=3;e=++i)h[e]=+h[e];else if(f=a.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(h=f.slice(1,4),e=b=0;b<=2;e=++b)h[e]=qa(2.55*h[e]);h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(h=f.slice(1,5),e=c=0;c<=2;e=++c)h[e]=qa(2.55*h[e]);h[3]=+h[3]}else(f=a.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=1):(f=a.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=+f[4]);return h},ba=function(a){var b;return b=a[3]<1?"rgba":"rgb","rgb"===b?b+"("+a.slice(0,3).map(qa).join(",")+")":"rgba"===b?b+"("+a.slice(0,3).map(qa).join(",")+","+a[3]+")":void 0},oa=function(a){return qa(100*a)/100},E=function(a,b){var c;return c=b<1?"hsla":"hsl",a[0]=oa(a[0]||0),a[1]=oa(100*a[1])+"%",a[2]=oa(100*a[2])+"%","hsla"===c&&(a[3]=b),c+"("+a.join(",")+")"},j.css=function(a){return w(a)},s.css=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["css"]),function(){})},a.prototype.css=function(a){return null==a&&(a="rgb"),"rgb"===a.slice(0,3)?ba(this._rgb):"hsl"===a.slice(0,3)?E(this.hsl(),this.alpha()):void 0},j.named=function(a){return C(xa[a])},h.push({p:5,test:function(a){if(1===arguments.length&&null!=xa[a])return"named"}}),a.prototype.name=function(a){var b,c;arguments.length&&(xa[a]&&(this._rgb=C(xa[a])),this._rgb[3]=1),b=this.hex();for(c in xa)if(b===xa[c])return c;return b},P=function(){var a,c,d,e;return e=wa(arguments),d=e[0],a=e[1],c=e[2],c*=b,[d,v(c)*a,sa(c)*a]},Q=function(){var a,b,c,d,e,f,g,h,i,j,k;return c=wa(arguments),h=c[0],e=c[1],g=c[2],j=P(h,e,g),a=j[0],b=j[1],d=j[2],k=N(a,b,d),i=k[0],f=k[1],d=k[2],[i,f,d,c.length>3?c[3]:1]},M=function(){var a,b,c,d,e,g;return g=wa(arguments),e=g[0],a=g[1],b=g[2],c=ta(a*a+b*b),d=(m(b,a)*f+360)%360,0===qa(1e4*c)&&(d=Number.NaN),[e,c,d]},ia=function(){var a,b,c,d,e,f,g;return f=wa(arguments),e=f[0],c=f[1],b=f[2],g=ha(e,c,b),d=g[0],a=g[1],b=g[2],M(d,a,b)},s.lch=function(){var b;return b=wa(arguments),new a(b,"lch")},s.hcl=function(){var b;return b=wa(arguments),new a(b,"hcl")},j.lch=Q,j.hcl=function(){var a,b,c,d;return d=wa(arguments),b=d[0],a=d[1],c=d[2],Q([c,a,b])},a.prototype.lch=function(){return ia(this._rgb)},a.prototype.hcl=function(){return ia(this._rgb).reverse()},aa=function(a){var b,c,d,e,f,g,h,i,j;return null==a&&(a="rgb"),i=wa(arguments),h=i[0],e=i[1],b=i[2],h/=255,e/=255,b/=255,f=1-Math.max(h,Math.max(e,b)),d=f<1?1/(1-f):0,c=(1-h-f)*d,g=(1-e-f)*d,j=(1-b-f)*d,[c,g,j,f]},u=function(){var a,b,c,d,e,f,g,h,i;return b=wa(arguments),d=b[0],g=b[1],i=b[2],f=b[3],a=b.length>4?b[4]:1,1===f?[0,0,0,a]:(h=d>=1?0:255*(1-d)*(1-f),e=g>=1?0:255*(1-g)*(1-f),c=i>=1?0:255*(1-i)*(1-f),[h,e,c,a])},j.cmyk=function(){return u(wa(arguments))},s.cmyk=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["cmyk"]),function(){})},a.prototype.cmyk=function(){return aa(this._rgb)},j.gl=function(){var a,b,c,d,e;for(d=function(){var a,c;a=wa(arguments),c=[];for(b in a)e=a[b],c.push(e);return c}.apply(this,arguments),a=c=0;c<=2;a=++c)d[a]*=255;return d},s.gl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["gl"]),function(){})},a.prototype.gl=function(){var a;return a=this._rgb,[a[0]/255,a[1]/255,a[2]/255,a[3]]},ja=function(a,b,c){var d;return d=wa(arguments),a=d[0],b=d[1],c=d[2],a=U(a),b=U(b),c=U(c),.2126*a+.7152*b+.0722*c},U=function(a){return a/=255,a<=.03928?a/12.92:_((a+.055)/1.055,2.4)},k=[],H=function(a,b,c,d){var e,f,g,h;for(null==c&&(c=.5),null==d&&(d="rgb"),"object"!==va(a)&&(a=s(a)),"object"!==va(b)&&(b=s(b)),g=0,f=k.length;g<f;g++)if(e=k[g],d===e[0]){h=e[1](a,b,c,d);break}if(null==h)throw"color mode "+d+" is not supported";return h.alpha(a.alpha()+c*(b.alpha()-a.alpha()))},s.interpolate=H,a.prototype.interpolate=function(a,b,c){return H(this,a,b,c)},s.mix=H,a.prototype.mix=a.prototype.interpolate,L=function(b,c,d,e){var f,g;return f=b._rgb,g=c._rgb,new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["rgb",L]),a.prototype.luminance=function(a,b){var c,d,e,f;return null==b&&(b="rgb"),arguments.length?(0===a?this._rgb=[0,0,0,this._rgb[3]]:1===a?this._rgb=[255,255,255,this._rgb[3]]:(d=1e-7,e=20,f=function(c,g){var h,i;return i=c.interpolate(g,.5,b),h=i.luminance(),Math.abs(a-h)<d||!e--?i:h>a?f(c,i):f(i,g)},c=ja(this._rgb),this._rgb=(c>a?f(s("black"),this):f(this,s("white"))).rgba()),this):ja(this._rgb)},ua=function(a){var b,c,d,e;return e=a/100,e<66?(d=255,c=-155.25485562709179-.44596950469579133*(c=e-2)+104.49216199393888*T(c),b=e<20?0:-254.76935184120902+.8274096064007395*(b=e-10)+115.67994401066147*T(b)):(d=351.97690566805693+.114206453784165*(d=e-55)-40.25366309332127*T(d),c=325.4494125711974+.07943456536662342*(c=e-50)-28.0852963507957*T(c),b=255),[d,c,b]},la=function(){var a,b,c,d,e,f,g,h;for(f=wa(arguments),e=f[0],f[1],a=f[2],d=1e3,c=4e4,b=.4;c-d>b;)h=.5*(c+d),g=ua(h),g[2]/g[0]>=a/e?c=h:d=h;return qa(h)},s.temperature=s.kelvin=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["temperature"]),function(){})},j.temperature=j.kelvin=j.K=ua,a.prototype.temperature=function(){return la(this._rgb)},a.prototype.kelvin=a.prototype.temperature,s.contrast=function(b,c){var d,e,f,g;return"string"!==(f=va(b))&&"number"!==f||(b=new a(b)),"string"!==(g=va(c))&&"number"!==g||(c=new a(c)),d=b.luminance(),e=c.luminance(),d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)},s.distance=function(b,c,d){var e,f,g,h,i,j,k;null==d&&(d="lab"),"string"!==(i=va(b))&&"number"!==i||(b=new a(b)),"string"!==(j=va(c))&&"number"!==j||(c=new a(c)),g=b.get(d),h=c.get(d),k=0;for(f in g)e=(g[f]||0)-(h[f]||0),k+=e*e;return Math.sqrt(k)},s.deltaE=function(b,c,e,f){var g,h,i,j,k,n,o,p,q,r,s,t,u,w,x,y,z,A,B,C,D,E,F,G,H,I,J;for(null==e&&(e=1),null==f&&(f=1),"string"!==(z=va(b))&&"number"!==z||(b=new a(b)),"string"!==(A=va(c))&&"number"!==A||(c=new a(c)),B=b.lab(),g=B[0],i=B[1],k=B[2],C=c.lab(),h=C[0],j=C[1],n=C[2],o=ta(i*i+k*k),p=ta(j*j+n*n),F=g<16?.511:.040975*g/(1+.01765*g),D=.0638*o/(1+.0131*o)+.638,y=o<1e-6?0:180*m(k,i)/d;y<0;)y+=360;for(;y>=360;)y-=360;return G=y>=164&&y<=345?.56+l(.2*v(d*(y+168)/180)):.36+l(.4*v(d*(y+35)/180)),q=o*o*o*o,x=ta(q/(q+1900)),E=D*(x*G+1-x),w=g-h,u=o-p,s=i-j,t=k-n,r=s*s+t*t-u*u,H=w/(e*F),I=u/(f*D),J=E,ta(H*H+I*I+r/(J*J))},a.prototype.get=function(a){var b,c,d,e,f,g;return d=this,f=a.split("."),e=f[0],b=f[1],g=d[e](),b?(c=e.indexOf(b),c>-1?g[c]:console.warn("unknown channel "+b+" in mode "+e)):g},a.prototype.set=function(a,b){var c,d,e,f,g,h;if(e=this,g=a.split("."),f=g[0],c=g[1],c)if(h=e[f](),(d=f.indexOf(c))>-1)if("string"===va(b))switch(b.charAt(0)){case"+":case"-":h[d]+=+b;break;case"*":h[d]*=+b.substr(1);break;case"/":h[d]/=+b.substr(1);break;default:h[d]=+b}else h[d]=b;else console.warn("unknown channel "+c+" in mode "+f);else h=b;return s(h,f).alpha(e.alpha())},a.prototype.clipped=function(){return this._rgb._clipped||!1},a.prototype.alpha=function(a){return arguments.length?s.rgb([this._rgb[0],this._rgb[1],this._rgb[2],a]):this._rgb[3]},a.prototype.darken=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lab(),b[0]-=c.Kn*a,s.lab(b).alpha(d.alpha())},a.prototype.brighten=function(a){return null==a&&(a=1),this.darken(-a)},a.prototype.darker=a.prototype.darken,a.prototype.brighter=a.prototype.brighten,a.prototype.saturate=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lch(),b[1]+=a*c.Kn,b[1]<0&&(b[1]=0),s.lch(b).alpha(d.alpha())},a.prototype.desaturate=function(a){return null==a&&(a=1),this.saturate(-a)},a.prototype.premultiply=function(){var a,b;return b=this.rgb(),a=this.alpha(),s(b[0]*a,b[1]*a,b[2]*a,a)},o=function(a,b,c){if(!o[c])throw"unknown blend mode "+c;return o[c](a,b)},p=function(a){return function(b,c){var d,e;return d=s(c).rgb(),e=s(b).rgb(),s(a(d,e),"rgb")}},z=function(a){return function(b,c){var d,e,f;for(f=[],d=e=0;e<=3;d=++e)f[d]=a(b[d],c[d]);return f}},Y=function(a,b){return a},X=function(a,b){return a*b/255},x=function(a,b){return a>b?b:a},R=function(a,b){return a>b?a:b},ra=function(a,b){return 255*(1-(1-a/255)*(1-b/255))},$=function(a,b){return b<128?2*a*b/255:255*(1-2*(1-a/255)*(1-b/255))},r=function(a,b){return 255*(1-(1-b/255)/(a/255))},y=function(a,b){return 255===a?255:(a=b/255*255/(1-a/255),a>255?255:a)},o.normal=p(z(Y)),o.multiply=p(z(X)),o.screen=p(z(ra)),o.overlay=p(z($)),o.darken=p(z(x)),o.lighten=p(z(R)),o.dodge=p(z(y)),o.burn=p(z(r)),s.blend=o,s.analyze=function(a){var b,c,d,e;for(d={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},c=0,b=a.length;c<b;c++)null==(e=a[c])||isNaN(e)||(d.values.push(e),d.sum+=e,e<d.min&&(d.min=e),e>d.max&&(d.max=e),d.count+=1);return d.domain=[d.min,d.max],d.limits=function(a,b){return s.limits(d,a,b)},d},s.scale=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,t,u,v,w;return j="rgb",k=s("#ccc"),o=0,!1,g=[0,1],n=[],m=[0,0],c=!1,e=[],l=!1,i=0,h=1,f=!1,d={},p=!0,v=function(a){var b,c,d,f,g,h;if(null==a&&(a=["#fff","#000"]),null!=a&&"string"===va(a)&&null!=s.brewer&&(a=s.brewer[a]||s.brewer[a.toLowerCase()]||a),"array"===va(a)){for(a=a.slice(0),b=d=0,f=a.length-1;0<=f?d<=f:d>=f;b=0<=f?++d:--d)c=a[b],"string"===va(c)&&(a[b]=s(c));for(n.length=0,b=h=0,g=a.length-1;0<=g?h<=g:h>=g;b=0<=g?++h:--h)n.push(b/(a.length-1))}return u(),e=a},r=function(a){var b,d;if(null!=c){for(d=c.length-1,b=0;b<d&&a>=c[b];)b++;return b-1}return 0},w=function(a){return a},function(a){var b,d,e,f,g;return g=a,c.length>2&&(f=c.length-1,b=r(a),e=c[0]+(c[1]-c[0])*(0+.5*o),d=c[f-1]+(c[f]-c[f-1])*(1-.5*o),g=i+(c[b]+.5*(c[b+1]-c[b])-e)/(d-e)*(h-i)),g},t=function(a,b){var f,g,l,o,q,t,u,v;if(null==b&&(b=!1),isNaN(a))return k;if(b?v=a:c&&c.length>2?(f=r(a),v=f/(c.length-2),v=m[0]+v*(1-m[0]-m[1])):h!==i?(v=(a-i)/(h-i),v=m[0]+v*(1-m[0]-m[1]),v=Math.min(1,Math.max(0,v))):v=1,b||(v=w(v)),o=Math.floor(1e4*v),p&&d[o])g=d[o];else{if("array"===va(e))for(l=q=0,u=n.length-1;0<=u?q<=u:q>=u;l=0<=u?++q:--q){if(t=n[l],v<=t){g=e[l];break}if(v>=t&&l===n.length-1){g=e[l];break}if(v>t&&v<n[l+1]){v=(v-t)/(n[l+1]-t),g=s.interpolate(e[l],e[l+1],v,j);break}}else"function"===va(e)&&(g=e(v));p&&(d[o]=g)}return g},u=function(){return d={}},v(a),q=function(a){var b;return b=s(t(a)),l&&b[l]?b[l]():b},q.classes=function(a){var b;return null!=a?("array"===va(a)?(c=a,g=[a[0],a[a.length-1]]):(b=s.analyze(g),c=0===a?[b.min,b.max]:s.limits(b,"e",a)),q):c},q.domain=function(a){var b,c,d,f,j,k,l;if(!arguments.length)return g;if(i=a[0],h=a[a.length-1],n=[],d=e.length,a.length===d&&i!==h)for(j=0,f=a.length;j<f;j++)c=a[j],n.push((c-i)/(h-i));else for(b=l=0,k=d-1;0<=k?l<=k:l>=k;b=0<=k?++l:--l)n.push(b/(d-1));return g=[i,h],q},q.mode=function(a){return arguments.length?(j=a,u(),q):j},q.range=function(a,b){return v(a,b),q},q.out=function(a){return l=a,q},q.spread=function(a){return arguments.length?(o=a,q):o},q.correctLightness=function(a){return null==a&&(a=!0),f=a,u(),w=f?function(a){var b,c,d,e,f,g,h,i,j;for(b=t(0,!0).lab()[0],c=t(1,!0).lab()[0],h=b>c,d=t(a,!0).lab()[0],f=b+(c-b)*a,e=d-f,i=0,j=1,g=20;Math.abs(e)>.01&&g-- >0;)!function(){h&&(e*=-1),e<0?(i=a,a+=.5*(j-a)):(j=a,a+=.5*(i-a)),d=t(a,!0).lab()[0],e=d-f}();return a}:function(a){return a},q},q.padding=function(a){return null!=a?("number"===va(a)&&(a=[a,a]),m=a,q):m},q.colors=function(b,d){var f,h,i,j,k,l,m,n;if(arguments.length<2&&(d="hex"),k=[],0===arguments.length)k=e.slice(0);else if(1===b)k=[q(.5)];else if(b>1)h=g[0],f=g[1]-h,k=function(){l=[];for(var a=0;0<=b?a<b:a>b;0<=b?a++:a--)l.push(a);return l}.apply(this).map(function(a){return q(h+a/(b-1)*f)});else{if(a=[],m=[],c&&c.length>2)for(i=n=1,j=c.length;1<=j?n<j:n>j;i=1<=j?++n:--n)m.push(.5*(c[i-1]+c[i]));else m=g;k=m.map(function(a){return q(a)})}return s[d]&&(k=k.map(function(a){return a[d]()})),k},q.cache=function(a){return null!=a?p=a:p},q},null==s.scales&&(s.scales={}),s.scales.cool=function(){return s.scale([s.hsl(180,1,.9),s.hsl(250,.7,.4)])},s.scales.hot=function(){return s.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},s.analyze=function(a,b,c){var d,e,f,g,h,i,j;if(h={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0},null==c&&(c=function(){return!0}),d=function(a){null==a||isNaN(a)||(h.values.push(a),h.sum+=a,a<h.min&&(h.min=a),a>h.max&&(h.max=a),h.count+=1)},j=function(a,e){if(c(a,e))return d(null!=b&&"function"===va(b)?b(a):null!=b&&"string"===va(b)||"number"===va(b)?a[b]:a)},"array"===va(a))for(g=0,f=a.length;g<f;g++)i=a[g],j(i);else for(e in a)i=a[e],j(i,e);return h.domain=[h.min,h.max],h.limits=function(a,b){return s.limits(h,a,b)},h},s.limits=function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,p,q,r,t,u,v,w,x,y,z,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,U,V,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja;if(null==b&&(b="equal"),null==c&&(c=7),"array"===va(a)&&(a=s.analyze(a)),E=a.min,W=a.max,a.sum,ia=a.values.sort(function(a,b){return a-b}),1===c)return[E,W];if(C=[],"c"===b.substr(0,1)&&(C.push(E),C.push(W)),"e"===b.substr(0,1)){for(C.push(E),y=K=1,O=c-1;1<=O?K<=O:K>=O;y=1<=O?++K:--K)C.push(E+y/c*(W-E)) -;C.push(W)}else if("l"===b.substr(0,1)){if(E<=0)throw"Logarithmic scales are only possible for values > 0";for(F=Math.LOG10E*T(E),D=Math.LOG10E*T(W),C.push(E),y=ja=1,P=c-1;1<=P?ja<=P:ja>=P;y=1<=P?++ja:--ja)C.push(_(10,F+y/c*(D-F)));C.push(W)}else if("q"===b.substr(0,1)){for(C.push(E),y=d=1,X=c-1;1<=X?d<=X:d>=X;y=1<=X?++d:--d)L=(ia.length-1)*y/c,M=A(L),M===L?C.push(ia[M]):(N=L-M,C.push(ia[M]*(1-N)+ia[M+1]*N));C.push(W)}else if("k"===b.substr(0,1)){for(H=ia.length,r=new Array(H),w=new Array(c),ea=!0,I=0,u=null,u=[],u.push(E),y=e=1,Y=c-1;1<=Y?e<=Y:e>=Y;y=1<=Y?++e:--e)u.push(E+y/c*(W-E));for(u.push(W);ea;){for(z=f=0,Z=c-1;0<=Z?f<=Z:f>=Z;z=0<=Z?++f:--f)w[z]=0;for(y=g=0,$=H-1;0<=$?g<=$:g>=$;y=0<=$?++g:--g){for(ha=ia[y],G=Number.MAX_VALUE,z=h=0,aa=c-1;0<=aa?h<=aa:h>=aa;z=0<=aa?++h:--h)(x=l(u[z]-ha))<G&&(G=x,t=z);w[t]++,r[y]=t}for(J=new Array(c),z=i=0,ba=c-1;0<=ba?i<=ba:i>=ba;z=0<=ba?++i:--i)J[z]=null;for(y=j=0,ca=H-1;0<=ca?j<=ca:j>=ca;y=0<=ca?++j:--j)v=r[y],null===J[v]?J[v]=ia[y]:J[v]+=ia[y];for(z=k=0,da=c-1;0<=da?k<=da:k>=da;z=0<=da?++k:--k)J[z]*=1/w[z];for(ea=!1,z=m=0,Q=c-1;0<=Q?m<=Q:m>=Q;z=0<=Q?++m:--m)if(J[z]!==u[y]){ea=!0;break}u=J,I++,I>200&&(ea=!1)}for(B={},z=n=0,R=c-1;0<=R?n<=R:n>=R;z=0<=R?++n:--n)B[z]=[];for(y=o=0,S=H-1;0<=S?o<=S:o>=S;y=0<=S?++o:--o)v=r[y],B[v].push(ia[y]);for(fa=[],z=p=0,U=c-1;0<=U?p<=U:p>=U;z=0<=U?++p:--p)fa.push(B[z][0]),fa.push(B[z][B[z].length-1]);for(fa=fa.sort(function(a,b){return a-b}),C.push(fa[0]),y=q=1,V=fa.length-1;q<=V;y=q+=2)ga=fa[y],isNaN(ga)||C.indexOf(ga)!==-1||C.push(ga)}return C},D=function(a,b,c){var d,f,h,i;return d=wa(arguments),a=d[0],b=d[1],c=d[2],isNaN(a)&&(a=0),a/=360,a<1/3?(f=(1-b)/3,i=(1+b*v(g*a)/v(e-g*a))/3,h=1-(f+i)):a<2/3?(a-=1/3,i=(1-b)/3,h=(1+b*v(g*a)/v(e-g*a))/3,f=1-(i+h)):(a-=2/3,h=(1-b)/3,f=(1+b*v(g*a)/v(e-g*a))/3,i=1-(h+f)),i=S(c*i*3),h=S(c*h*3),f=S(c*f*3),[255*i,255*h,255*f,d.length>3?d[3]:1]},ea=function(){var a,b,c,d,e,f,h,i;return h=wa(arguments),f=h[0],b=h[1],a=h[2],g=2*Math.PI,f/=255,b/=255,a/=255,e=Math.min(f,b,a),d=(f+b+a)/3,i=1-e/d,0===i?c=0:(c=(f-b+(f-a))/2,c/=Math.sqrt((f-b)*(f-b)+(f-a)*(b-a)),c=Math.acos(c),a>b&&(c=g-c),c/=g),[360*c,i,d]},s.hsi=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsi"]),function(){})},j.hsi=D,a.prototype.hsi=function(){return ea(this._rgb)},I=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;return"hsl"===d?(o=a.hsl(),p=b.hsl()):"hsv"===d?(o=a.hsv(),p=b.hsv()):"hcg"===d?(o=a.hcg(),p=b.hcg()):"hsi"===d?(o=a.hsi(),p=b.hsi()):"lch"!==d&&"hcl"!==d||(d="hcl",o=a.hcl(),p=b.hcl()),"h"===d.substr(0,1)&&(g=o[0],m=o[1],j=o[2],h=p[0],n=p[1],k=p[2]),isNaN(g)||isNaN(h)?isNaN(g)?isNaN(h)?f=Number.NaN:(f=h,1!==j&&0!==j||"hsv"===d||(l=n)):(f=g,1!==k&&0!==k||"hsv"===d||(l=m)):(e=h>g&&h-g>180?h-(g+360):h<g&&g-h>180?h+360-g:h-g,f=g+c*e),null==l&&(l=m+c*(n-m)),i=j+c*(k-j),s[d](f,l,i)},k=k.concat(function(){var a,b,c,d;for(c=["hsv","hsl","hsi","hcl","lch","hcg"],d=[],b=0,a=c.length;b<a;b++)V=c[b],d.push([V,I]);return d}()),K=function(a,b,c,d){var e,f;return e=a.num(),f=b.num(),s.num(e+(f-e)*c,"num")},k.push(["num",K]),J=function(b,c,d,e){var f,g;return f=b.lab(),g=c.lab(),new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["lab",J])}).call(this); \ No newline at end of file +(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,sa,ta,ua,va,wa,xa,ya,za,Aa=[].slice;va=function(){var a,b,c,d,e;for(a={},e="Boolean Number String Function Array Date RegExp Undefined Null".split(" "),d=0,b=e.length;d<b;d++)c=e[d],a["[object "+c+"]"]=c.toLowerCase();return function(b){var c;return c=Object.prototype.toString.call(b),a[c]||"object"}}(),S=function(a,b,c){return null==b&&(b=0),null==c&&(c=1),a<b&&(a=b),a>c&&(a=c),a},wa=function(a){return a.length>=3?[].slice.call(a):a[0]},t=function(a){var b,c;for(a._clipped=!1,a._unclipped=a.slice(0),b=c=0;c<3;b=++c)b<3?((a[b]<0||a[b]>255)&&(a._clipped=!0),a[b]<0&&(a[b]=0),a[b]>255&&(a[b]=255)):3===b&&(a[b]<0&&(a[b]=0),a[b]>1&&(a[b]=1));return a._clipped||delete a._unclipped,a},d=Math.PI,qa=Math.round,v=Math.cos,A=Math.floor,_=Math.pow,T=Math.log,sa=Math.sin,ta=Math.sqrt,m=Math.atan2,W=Math.max,l=Math.abs,g=2*d,e=d/3,b=d/180,f=180/d,s=function(){return arguments[0]instanceof a?arguments[0]:function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,arguments,function(){})},s.default=s,k=[],"undefined"!=typeof module&&null!==module&&null!=module.exports&&(module.exports=s),"function"==typeof define&&define.amd?define([],function(){return s}):(pa="undefined"!=typeof exports&&null!==exports?exports:this,pa.chroma=s),s.version="1.3.4",j={},h=[],i=!1,a=function(){function a(){var a,b,c,d,e,f,g,k,l;for(f=this,b=[],k=0,d=arguments.length;k<d;k++)null!=(a=arguments[k])&&b.push(a);if(g=b[b.length-1],null!=j[g])f._rgb=t(j[g](wa(b.slice(0,-1))));else{for(i||(h=h.sort(function(a,b){return b.p-a.p}),i=!0),l=0,e=h.length;l<e&&(c=h[l],!(g=c.test.apply(c,b)));l++);g&&(f._rgb=t(j[g].apply(j,b)))}null==f._rgb&&console.warn("unknown format: "+b),null==f._rgb&&(f._rgb=[0,0,0]),3===f._rgb.length&&f._rgb.push(1)}return a.prototype.toString=function(){return this.hex()},a.prototype.clone=function(){return s(me._rgb)},a}(),s._input=j,s.brewer=q={OrRd:["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"],PuBu:["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"],BuPu:["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"],Oranges:["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"],BuGn:["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"],YlOrBr:["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"],YlGn:["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"],Reds:["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"],RdPu:["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"],Greens:["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"],YlGnBu:["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"],Purples:["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"],GnBu:["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"],Greys:["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"],YlOrRd:["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"],PuRd:["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"],Blues:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],PuBuGn:["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"],Viridis:["#440154","#482777","#3f4a8a","#31678e","#26838f","#1f9d8a","#6cce5a","#b6de2b","#fee825"],Spectral:["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],RdYlGn:["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],RdBu:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],PiYG:["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],PRGn:["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],RdYlBu:["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],BrBG:["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],RdGy:["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],PuOr:["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],Set2:["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"],Accent:["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"],Set1:["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"],Set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],Dark2:["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"],Paired:["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"],Pastel2:["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"],Pastel1:["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]},function(){var a,b;b=[];for(a in q)b.push(q[a.toLowerCase()]=q[a])}(),xa={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflower:"#6495ed",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",laserlemon:"#ffff54",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrod:"#fafad2",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",maroon2:"#7f0000",maroon3:"#b03060",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",purple2:"#7f007f",purple3:"#a020f0",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},s.colors=xa,N=function(){var a,b,d,e,f,g,h,i,j;return b=wa(arguments),f=b[0],a=b[1],d=b[2],i=(f+16)/116,h=isNaN(a)?i:i+a/500,j=isNaN(d)?i:i-d/200,i=c.Yn*O(i),h=c.Xn*O(h),j=c.Zn*O(j),g=za(3.2404542*h-1.5371385*i-.4985314*j),e=za(-.969266*h+1.8760108*i+.041556*j),d=za(.0556434*h-.2040259*i+1.0572252*j),[g,e,d,b.length>3?b[3]:1]},za=function(a){return 255*(a<=.00304?12.92*a:1.055*_(a,1/2.4)-.055)},O=function(a){return a>c.t1?a*a*a:c.t2*(a-c.t0)},c={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ha=function(){var a,b,c,d,e,f,g,h;return d=wa(arguments),c=d[0],b=d[1],a=d[2],e=ma(c,b,a),f=e[0],g=e[1],h=e[2],[116*g-16,500*(f-g),200*(g-h)]},na=function(a){return(a/=255)<=.04045?a/12.92:_((a+.055)/1.055,2.4)},ya=function(a){return a>c.t3?_(a,1/3):a/c.t2+c.t0},ma=function(){var a,b,d,e,f,g,h;return e=wa(arguments),d=e[0],b=e[1],a=e[2],d=na(d),b=na(b),a=na(a),f=ya((.4124564*d+.3575761*b+.1804375*a)/c.Xn),g=ya((.2126729*d+.7151522*b+.072175*a)/c.Yn),h=ya((.0193339*d+.119192*b+.9503041*a)/c.Zn),[f,g,h]},s.lab=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["lab"]),function(){})},j.lab=N,a.prototype.lab=function(){return ha(this._rgb)},n=function(a){var b,c,d,e,f,g,h,i,j,k,l;return a=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(s(e));return d}(),2===a.length?(j=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=j[0],g=j[1],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push(f[b]+a*(g[b]-f[b]));return d}(),s.lab.apply(s,c)}):3===a.length?(k=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=k[0],g=k[1],h=k[2],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*f[b]+2*(1-a)*a*g[b]+a*a*h[b]);return d}(),s.lab.apply(s,c)}):4===a.length?(l=function(){var b,c,d;for(d=[],c=0,b=a.length;c<b;c++)e=a[c],d.push(e.lab());return d}(),f=l[0],g=l[1],h=l[2],i=l[3],b=function(a){var b,c;return c=function(){var c,d;for(d=[],b=c=0;c<=2;b=++c)d.push((1-a)*(1-a)*(1-a)*f[b]+3*(1-a)*(1-a)*a*g[b]+3*(1-a)*a*a*h[b]+a*a*a*i[b]);return d}(),s.lab.apply(s,c)}):5===a.length&&(c=n(a.slice(0,3)),d=n(a.slice(2,5)),b=function(a){return a<.5?c(2*a):d(2*(a-.5))}),b},s.bezier=function(a){var b;return b=n(a),b.scale=function(){return s.scale(b)},b},s.cubehelix=function(a,b,c,d,e){var f,h,i;return null==a&&(a=300),null==b&&(b=-1.5),null==c&&(c=1),null==d&&(d=1),null==e&&(e=[0,1]),f=0,"array"===va(e)?h=e[1]-e[0]:(h=0,e=[e,e]),i=function(i){var j,k,l,m,n,o,p,q,r;return j=g*((a+120)/360+b*i),p=_(e[0]+h*i,d),o=0!==f?c[0]+i*f:c,k=o*p*(1-p)/2,m=v(j),r=sa(j),q=p+k*(-.14861*m+1.78277*r),n=p+k*(-.29227*m-.90649*r),l=p+k*(1.97294*m),s(t([255*q,255*n,255*l]))},i.start=function(b){return null==b?a:(a=b,i)},i.rotations=function(a){return null==a?b:(b=a,i)},i.gamma=function(a){return null==a?d:(d=a,i)},i.hue=function(a){return null==a?c:(c=a,"array"===va(c)?0===(f=c[1]-c[0])&&(c=c[1]):f=0,i)},i.lightness=function(a){return null==a?e:("array"===va(a)?(e=a,h=a[1]-a[0]):(e=[a,a],h=0),i)},i.scale=function(){return s.scale(i)},i.hue(c),i},s.random=function(){var b,c,d;for(c="0123456789abcdef",b="#",d=0;d<6;++d)b+=c.charAt(A(16*Math.random()));return new a(b)},s.average=function(a,b){var c,e,f,g,h,i,j,k,l,n,o,p,q;null==b&&(b="rgb"),l=a.length,a=a.map(function(a){return s(a)}),j=a.splice(0,1)[0],p=j.get(b),g=[],h=0,i=0;for(k in p)p[k]=p[k]||0,g.push(isNaN(p[k])?0:1),"h"!==b.charAt(k)||isNaN(p[k])||(c=p[k]/180*d,h+=v(c),i+=sa(c));for(e=j.alpha(),o=0,n=a.length;o<n;o++){f=a[o],q=f.get(b),e+=f.alpha();for(k in p)isNaN(q[k])||(p[k]+=q[k],g[k]+=1,"h"===b.charAt(k)&&(c=p[k]/180*d,h+=v(c),i+=sa(c)))}for(k in p)if(p[k]=p[k]/g[k],"h"===b.charAt(k)){for(c=m(i/g[k],h/g[k])/d*180;c<0;)c+=360;for(;c>=360;)c-=360;p[k]=c}return s(p,b).alpha(e/l)},j.rgb=function(){var a,b,c,d;b=wa(arguments),c=[];for(a in b)d=b[a],c.push(d);return c},s.rgb=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["rgb"]),function(){})},a.prototype.rgb=function(a){return null==a&&(a=!0),a?this._rgb.map(Math.round).slice(0,3):this._rgb.slice(0,3)},a.prototype.rgba=function(a){return null==a&&(a=!0),a?[Math.round(this._rgb[0]),Math.round(this._rgb[1]),Math.round(this._rgb[2]),this._rgb[3]]:this._rgb.slice(0)},h.push({p:3,test:function(a){var b;return b=wa(arguments),"array"===va(b)&&3===b.length?"rgb":4===b.length&&"number"===va(b[3])&&b[3]>=0&&b[3]<=1?"rgb":void 0}}),C=function(a){var b,c,d,e,f,g;if(a.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==a.length&&7!==a.length||(a=a.substr(1)),3===a.length&&(a=a.split(""),a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),g=parseInt(a,16),e=g>>16,d=g>>8&255,c=255&g,[e,d,c,1];if(a.match(/^#?([A-Fa-f0-9]{8})$/))return 9===a.length&&(a=a.substr(1)),g=parseInt(a,16),e=g>>24&255,d=g>>16&255,c=g>>8&255,b=qa((255&g)/255*100)/100,[e,d,c,b];if(null!=j.css&&(f=j.css(a)))return f;throw"unknown color: "+a},da=function(a,b){var c,d,e,f,g,h,i;return null==b&&(b="rgb"),g=a[0],e=a[1],d=a[2],c=a[3],g=Math.round(g),e=Math.round(e),d=Math.round(d),i=g<<16|e<<8|d,h="000000"+i.toString(16),h=h.substr(h.length-6),f="0"+qa(255*c).toString(16),f=f.substr(f.length-2),"#"+function(){switch(b.toLowerCase()){case"rgba":return h+f;case"argb":return f+h;default:return h}}()},j.hex=function(a){return C(a)},s.hex=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hex"]),function(){})},a.prototype.hex=function(a){return null==a&&(a="rgb"),da(this._rgb,a)},h.push({p:4,test:function(a){if(1===arguments.length&&"string"===va(a))return"hex"}}),F=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(a=wa(arguments),e=a[0],k=a[1],g=a[2],0===k)i=d=b=255*g;else{for(n=[0,0,0],c=[0,0,0],m=g<.5?g*(1+k):g+k-g*k,l=2*g-m,e/=360,n[0]=e+1/3,n[1]=e,n[2]=e-1/3,f=h=0;h<=2;f=++h)n[f]<0&&(n[f]+=1),n[f]>1&&(n[f]-=1),6*n[f]<1?c[f]=l+6*(m-l)*n[f]:2*n[f]<1?c[f]=m:3*n[f]<2?c[f]=l+(m-l)*(2/3-n[f])*6:c[f]=l;j=[qa(255*c[0]),qa(255*c[1]),qa(255*c[2])],i=j[0],d=j[1],b=j[2]}return a.length>3?[i,d,b,a[3]]:[i,d,b]},fa=function(a,b,c){var d,e,f,g,h;return void 0!==a&&a.length>=3&&(g=a,a=g[0],b=g[1],c=g[2]),a/=255,b/=255,c/=255,f=Math.min(a,b,c),W=Math.max(a,b,c),e=(W+f)/2,W===f?(h=0,d=Number.NaN):h=e<.5?(W-f)/(W+f):(W-f)/(2-W-f),a===W?d=(b-c)/(W-f):b===W?d=2+(c-a)/(W-f):c===W&&(d=4+(a-b)/(W-f)),d*=60,d<0&&(d+=360),[d,h,e]},s.hsl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsl"]),function(){})},j.hsl=F,a.prototype.hsl=function(){return fa(this._rgb)},G=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(a=wa(arguments),e=a[0],p=a[1],r=a[2],r*=255,0===p)i=d=b=r;else switch(360===e&&(e=0),e>360&&(e-=360),e<0&&(e+=360),e/=60,f=A(e),c=e-f,g=r*(1-p),h=r*(1-p*c),q=r*(1-p*(1-c)),f){case 0:j=[r,q,g],i=j[0],d=j[1],b=j[2];break;case 1:k=[h,r,g],i=k[0],d=k[1],b=k[2];break;case 2:l=[g,r,q],i=l[0],d=l[1],b=l[2];break;case 3:m=[g,h,r],i=m[0],d=m[1],b=m[2];break;case 4:n=[q,g,r],i=n[0],d=n[1],b=n[2];break;case 5:o=[r,g,h],i=o[0],d=o[1],b=o[2]}return[i,d,b,a.length>3?a[3]:1]},ga=function(){var a,b,c,d,e,f,g,h,i;return g=wa(arguments),f=g[0],c=g[1],a=g[2],e=Math.min(f,c,a),W=Math.max(f,c,a),b=W-e,i=W/255,0===W?(d=Number.NaN,h=0):(h=b/W,f===W&&(d=(c-a)/b),c===W&&(d=2+(a-f)/b),a===W&&(d=4+(f-c)/b),(d*=60)<0&&(d+=360)),[d,h,i]},s.hsv=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsv"]),function(){})},j.hsv=G,a.prototype.hsv=function(){return ga(this._rgb)},Z=function(a){var b,c,d;return"number"===va(a)&&a>=0&&a<=16777215?(d=a>>16,c=a>>8&255,b=255&a,[d,c,b,1]):(console.warn("unknown num color: "+a),[0,0,0,1])},ka=function(){var a,b,c,d;return d=wa(arguments),c=d[0],b=d[1],a=d[2],(c<<16)+(b<<8)+a},s.num=function(b){return new a(b,"num")},a.prototype.num=function(a){return null==a&&(a="rgb"),ka(this._rgb,a)},j.num=Z,h.push({p:1,test:function(a){if(1===arguments.length&&"number"===va(a)&&a>=0&&a<=16777215)return"num"}}),B=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(c=wa(arguments),h=c[0],e=c[1],b=c[2],e/=100,g=g/100*255,a=255*e,0===e)l=g=d=b;else switch(360===h&&(h=0),h>360&&(h-=360),h<0&&(h+=360),h/=60,i=A(h),f=h-i,j=b*(1-e),k=j+a*(1-f),s=j+a*f,t=j+a,i){case 0:m=[t,s,j],l=m[0],g=m[1],d=m[2];break;case 1:n=[k,t,j],l=n[0],g=n[1],d=n[2];break;case 2:o=[j,t,s],l=o[0],g=o[1],d=o[2];break;case 3:p=[j,k,t],l=p[0],g=p[1],d=p[2];break;case 4:q=[s,j,t],l=q[0],g=q[1],d=q[2];break;case 5:r=[t,j,k],l=r[0],g=r[1],d=r[2]}return[l,g,d,c.length>3?c[3]:1]},ca=function(){var a,b,c,d,e,f,g,h,i;return i=wa(arguments),h=i[0],e=i[1],b=i[2],g=Math.min(h,e,b),W=Math.max(h,e,b),d=W-g,c=100*d/255,a=g/(255-d)*100,0===d?f=Number.NaN:(h===W&&(f=(e-b)/d),e===W&&(f=2+(b-h)/d),b===W&&(f=4+(h-e)/d),(f*=60)<0&&(f+=360)),[f,c,a]},s.hcg=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hcg"]),function(){})},j.hcg=B,a.prototype.hcg=function(){return ca(this._rgb)},w=function(a){var b,c,d,e,f,g,h,i;if(a=a.toLowerCase(),null!=s.colors&&s.colors[a])return C(s.colors[a]);if(f=a.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(h=f.slice(1,4),e=g=0;g<=2;e=++g)h[e]=+h[e];h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(h=f.slice(1,5),e=i=0;i<=3;e=++i)h[e]=+h[e];else if(f=a.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(h=f.slice(1,4),e=b=0;b<=2;e=++b)h[e]=qa(2.55*h[e]);h[3]=1}else if(f=a.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(h=f.slice(1,5),e=c=0;c<=2;e=++c)h[e]=qa(2.55*h[e]);h[3]=+h[3]}else(f=a.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=1):(f=a.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&(d=f.slice(1,4),d[1]*=.01,d[2]*=.01,h=F(d),h[3]=+f[4]);return h},ba=function(a){var b;return b=a[3]<1?"rgba":"rgb","rgb"===b?b+"("+a.slice(0,3).map(qa).join(",")+")":"rgba"===b?b+"("+a.slice(0,3).map(qa).join(",")+","+a[3]+")":void 0},oa=function(a){return qa(100*a)/100},E=function(a,b){var c;return c=b<1?"hsla":"hsl",a[0]=oa(a[0]||0),a[1]=oa(100*a[1])+"%",a[2]=oa(100*a[2])+"%","hsla"===c&&(a[3]=b),c+"("+a.join(",")+")"},j.css=function(a){return w(a)},s.css=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["css"]),function(){})},a.prototype.css=function(a){return null==a&&(a="rgb"),"rgb"===a.slice(0,3)?ba(this._rgb):"hsl"===a.slice(0,3)?E(this.hsl(),this.alpha()):void 0},j.named=function(a){return C(xa[a])},h.push({p:5,test:function(a){if(1===arguments.length&&null!=xa[a])return"named"}}),a.prototype.name=function(a){var b,c;arguments.length&&(xa[a]&&(this._rgb=C(xa[a])),this._rgb[3]=1),b=this.hex();for(c in xa)if(b===xa[c])return c;return b},P=function(){var a,c,d,e;return e=wa(arguments),d=e[0],a=e[1],c=e[2],c*=b,[d,v(c)*a,sa(c)*a]},Q=function(){var a,b,c,d,e,f,g,h,i,j,k;return c=wa(arguments),h=c[0],e=c[1],g=c[2],j=P(h,e,g),a=j[0],b=j[1],d=j[2],k=N(a,b,d),i=k[0],f=k[1],d=k[2],[i,f,d,c.length>3?c[3]:1]},M=function(){var a,b,c,d,e,g;return g=wa(arguments),e=g[0],a=g[1],b=g[2],c=ta(a*a+b*b),d=(m(b,a)*f+360)%360,0===qa(1e4*c)&&(d=Number.NaN),[e,c,d]},ia=function(){var a,b,c,d,e,f,g;return f=wa(arguments),e=f[0],c=f[1],b=f[2],g=ha(e,c,b),d=g[0],a=g[1],b=g[2],M(d,a,b)},s.lch=function(){var b;return b=wa(arguments),new a(b,"lch")},s.hcl=function(){var b;return b=wa(arguments),new a(b,"hcl")},j.lch=Q,j.hcl=function(){var a,b,c,d;return d=wa(arguments),b=d[0],a=d[1],c=d[2],Q([c,a,b])},a.prototype.lch=function(){return ia(this._rgb)},a.prototype.hcl=function(){return ia(this._rgb).reverse()},aa=function(a){var b,c,d,e,f,g,h,i,j;return null==a&&(a="rgb"),i=wa(arguments),h=i[0],e=i[1],b=i[2],h/=255,e/=255,b/=255,f=1-Math.max(h,Math.max(e,b)),d=f<1?1/(1-f):0,c=(1-h-f)*d,g=(1-e-f)*d,j=(1-b-f)*d,[c,g,j,f]},u=function(){var a,b,c,d,e,f,g,h,i;return b=wa(arguments),d=b[0],g=b[1],i=b[2],f=b[3],a=b.length>4?b[4]:1,1===f?[0,0,0,a]:(h=d>=1?0:255*(1-d)*(1-f),e=g>=1?0:255*(1-g)*(1-f),c=i>=1?0:255*(1-i)*(1-f),[h,e,c,a])},j.cmyk=function(){return u(wa(arguments))},s.cmyk=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["cmyk"]),function(){})},a.prototype.cmyk=function(){return aa(this._rgb)},j.gl=function(){var a,b,c,d,e;for(d=function(){var a,c;a=wa(arguments),c=[];for(b in a)e=a[b],c.push(e);return c}.apply(this,arguments),a=c=0;c<=2;a=++c)d[a]*=255;return d},s.gl=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["gl"]),function(){})},a.prototype.gl=function(){var a;return a=this._rgb,[a[0]/255,a[1]/255,a[2]/255,a[3]]},ja=function(a,b,c){var d;return d=wa(arguments),a=d[0],b=d[1],c=d[2],a=U(a),b=U(b),c=U(c),.2126*a+.7152*b+.0722*c},U=function(a){return a/=255,a<=.03928?a/12.92:_((a+.055)/1.055,2.4)},k=[],H=function(a,b,c,d){var e,f,g,h;for(null==c&&(c=.5),null==d&&(d="rgb"),"object"!==va(a)&&(a=s(a)),"object"!==va(b)&&(b=s(b)),g=0,f=k.length;g<f;g++)if(e=k[g],d===e[0]){h=e[1](a,b,c,d);break}if(null==h)throw"color mode "+d+" is not supported";return h.alpha(a.alpha()+c*(b.alpha()-a.alpha()))},s.interpolate=H,a.prototype.interpolate=function(a,b,c){return H(this,a,b,c)},s.mix=H,a.prototype.mix=a.prototype.interpolate,L=function(b,c,d,e){var f,g;return f=b._rgb,g=c._rgb,new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["rgb",L]),a.prototype.luminance=function(a,b){var c,d,e,f;return null==b&&(b="rgb"),arguments.length?(0===a?this._rgb=[0,0,0,this._rgb[3]]:1===a?this._rgb=[255,255,255,this._rgb[3]]:(d=1e-7,e=20,f=function(c,g){var h,i;return i=c.interpolate(g,.5,b),h=i.luminance(),Math.abs(a-h)<d||!e--?i:h>a?f(c,i):f(i,g)},c=ja(this._rgb),this._rgb=(c>a?f(s("black"),this):f(this,s("white"))).rgba()),this):ja(this._rgb)},ua=function(a){var b,c,d,e;return e=a/100,e<66?(d=255,c=-155.25485562709179-.44596950469579133*(c=e-2)+104.49216199393888*T(c),b=e<20?0:.8274096064007395*(b=e-10)-254.76935184120902+115.67994401066147*T(b)):(d=351.97690566805693+.114206453784165*(d=e-55)-40.25366309332127*T(d),c=325.4494125711974+.07943456536662342*(c=e-50)-28.0852963507957*T(c),b=255),[d,c,b]},la=function(){var a,b,c,d,e,f,g,h;for(f=wa(arguments),e=f[0],f[1],a=f[2],d=1e3,c=4e4,b=.4;c-d>b;)h=.5*(c+d),g=ua(h),g[2]/g[0]>=a/e?c=h:d=h;return qa(h)},s.temperature=s.kelvin=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["temperature"]),function(){})},j.temperature=j.kelvin=j.K=ua,a.prototype.temperature=function(){return la(this._rgb)},a.prototype.kelvin=a.prototype.temperature,s.contrast=function(b,c){var d,e,f,g;return"string"!==(f=va(b))&&"number"!==f||(b=new a(b)),"string"!==(g=va(c))&&"number"!==g||(c=new a(c)),d=b.luminance(),e=c.luminance(),d>e?(d+.05)/(e+.05):(e+.05)/(d+.05)},s.distance=function(b,c,d){var e,f,g,h,i,j,k;null==d&&(d="lab"),"string"!==(i=va(b))&&"number"!==i||(b=new a(b)),"string"!==(j=va(c))&&"number"!==j||(c=new a(c)),g=b.get(d),h=c.get(d),k=0;for(f in g)e=(g[f]||0)-(h[f]||0),k+=e*e;return Math.sqrt(k)},s.deltaE=function(b,c,e,f){var g,h,i,j,k,n,o,p,q,r,s,t,u,w,x,y,z,A,B,C,D,E,F,G,H,I,J;for(null==e&&(e=1),null==f&&(f=1),"string"!==(z=va(b))&&"number"!==z||(b=new a(b)),"string"!==(A=va(c))&&"number"!==A||(c=new a(c)),B=b.lab(),g=B[0],i=B[1],k=B[2],C=c.lab(),h=C[0],j=C[1],n=C[2],o=ta(i*i+k*k),p=ta(j*j+n*n),F=g<16?.511:.040975*g/(1+.01765*g),D=.0638*o/(1+.0131*o)+.638,y=o<1e-6?0:180*m(k,i)/d;y<0;)y+=360;for(;y>=360;)y-=360;return G=y>=164&&y<=345?.56+l(.2*v(d*(y+168)/180)):.36+l(.4*v(d*(y+35)/180)),q=o*o*o*o,x=ta(q/(q+1900)),E=D*(x*G+1-x),w=g-h,u=o-p,s=i-j,t=k-n,r=s*s+t*t-u*u,H=w/(e*F),I=u/(f*D),J=E,ta(H*H+I*I+r/(J*J))},a.prototype.get=function(a){var b,c,d,e,f,g;return d=this,f=a.split("."),e=f[0],b=f[1],g=d[e](),b?(c=e.indexOf(b),c>-1?g[c]:console.warn("unknown channel "+b+" in mode "+e)):g},a.prototype.set=function(a,b){var c,d,e,f,g,h;if(e=this,g=a.split("."),f=g[0],c=g[1],c)if(h=e[f](),(d=f.indexOf(c))>-1)if("string"===va(b))switch(b.charAt(0)){case"+":case"-":h[d]+=+b;break;case"*":h[d]*=+b.substr(1);break;case"/":h[d]/=+b.substr(1);break;default:h[d]=+b}else h[d]=b;else console.warn("unknown channel "+c+" in mode "+f);else h=b;return s(h,f).alpha(e.alpha())},a.prototype.clipped=function(){return this._rgb._clipped||!1},a.prototype.alpha=function(a){return arguments.length?s.rgb([this._rgb[0],this._rgb[1],this._rgb[2],a]):this._rgb[3]},a.prototype.darken=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lab(),b[0]-=c.Kn*a,s.lab(b).alpha(d.alpha())},a.prototype.brighten=function(a){return null==a&&(a=1),this.darken(-a)},a.prototype.darker=a.prototype.darken,a.prototype.brighter=a.prototype.brighten,a.prototype.saturate=function(a){var b,d;return null==a&&(a=1),d=this,b=d.lch(),b[1]+=a*c.Kn,b[1]<0&&(b[1]=0),s.lch(b).alpha(d.alpha())},a.prototype.desaturate=function(a){return null==a&&(a=1),this.saturate(-a)},a.prototype.premultiply=function(){var a,b;return b=this.rgb(),a=this.alpha(),s(b[0]*a,b[1]*a,b[2]*a,a)},o=function(a,b,c){if(!o[c])throw"unknown blend mode "+c;return o[c](a,b)},p=function(a){return function(b,c){var d,e;return d=s(c).rgb(),e=s(b).rgb(),s(a(d,e),"rgb")}},z=function(a){return function(b,c){var d,e,f;for(f=[],d=e=0;e<=3;d=++e)f[d]=a(b[d],c[d]);return f}},Y=function(a,b){return a},X=function(a,b){return a*b/255},x=function(a,b){return a>b?b:a},R=function(a,b){return a>b?a:b},ra=function(a,b){return 255*(1-(1-a/255)*(1-b/255))},$=function(a,b){return b<128?2*a*b/255:255*(1-2*(1-a/255)*(1-b/255))},r=function(a,b){return 255*(1-(1-b/255)/(a/255))},y=function(a,b){return 255===a?255:(a=b/255*255/(1-a/255),a>255?255:a)},o.normal=p(z(Y)),o.multiply=p(z(X)),o.screen=p(z(ra)),o.overlay=p(z($)),o.darken=p(z(x)),o.lighten=p(z(R)),o.dodge=p(z(y)),o.burn=p(z(r)),s.blend=o,s.analyze=function(a){var b,c,d,e;for(d={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},c=0,b=a.length;c<b;c++)null==(e=a[c])||isNaN(e)||(d.values.push(e),d.sum+=e,e<d.min&&(d.min=e),e>d.max&&(d.max=e),d.count+=1);return d.domain=[d.min,d.max],d.limits=function(a,b){return s.limits(d,a,b)},d},s.scale=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,t,u,v,w;return j="rgb",k=s("#ccc"),o=0,!1,g=[0,1],n=[],m=[0,0],c=!1,e=[],l=!1,i=0,h=1,f=!1,d={},p=!0,v=function(a){var b,c,d,f,g,h;if(null==a&&(a=["#fff","#000"]),null!=a&&"string"===va(a)&&null!=s.brewer&&(a=s.brewer[a]||s.brewer[a.toLowerCase()]||a),"array"===va(a)){for(a=a.slice(0),b=d=0,f=a.length-1;0<=f?d<=f:d>=f;b=0<=f?++d:--d)c=a[b],"string"===va(c)&&(a[b]=s(c));for(n.length=0,b=h=0,g=a.length-1;0<=g?h<=g:h>=g;b=0<=g?++h:--h)n.push(b/(a.length-1))}return u(),e=a},r=function(a){var b,d;if(null!=c){for(d=c.length-1,b=0;b<d&&a>=c[b];)b++;return b-1}return 0},w=function(a){return a},function(a){var b,d,e,f,g;return g=a,c.length>2&&(f=c.length-1,b=r(a),e=c[0]+(c[1]-c[0])*(0+.5*o),d=c[f-1]+(c[f]-c[f-1])*(1-.5*o),g=i+(c[b]+.5*(c[b+1]-c[b])-e)/(d-e)*(h-i)),g},t=function(a,b){var f,g,l,o,q,t,u,v;if(null==b&&(b=!1),isNaN(a))return k;if(b?v=a:c&&c.length>2?(f=r(a),v=f/(c.length-2),v=m[0]+v*(1-m[0]-m[1])):h!==i?(v=(a-i)/(h-i),v=m[0]+v*(1-m[0]-m[1]),v=Math.min(1,Math.max(0,v))):v=1,b||(v=w(v)),o=Math.floor(1e4*v),p&&d[o])g=d[o];else{if("array"===va(e))for(l=q=0,u=n.length-1;0<=u?q<=u:q>=u;l=0<=u?++q:--q){if(t=n[l],v<=t){g=e[l];break}if(v>=t&&l===n.length-1){g=e[l];break}if(v>t&&v<n[l+1]){v=(v-t)/(n[l+1]-t),g=s.interpolate(e[l],e[l+1],v,j);break}}else"function"===va(e)&&(g=e(v));p&&(d[o]=g)}return g},u=function(){return d={}},v(a),q=function(a){var b;return b=s(t(a)),l&&b[l]?b[l]():b},q.classes=function(a){var b;return null!=a?("array"===va(a)?(c=a,g=[a[0],a[a.length-1]]):(b=s.analyze(g),c=0===a?[b.min,b.max]:s.limits(b,"e",a)),q):c},q.domain=function(a){var b,c,d,f,j,k,l;if(!arguments.length)return g;if(i=a[0],h=a[a.length-1],n=[],d=e.length,a.length===d&&i!==h)for(j=0,f=a.length;j<f;j++)c=a[j],n.push((c-i)/(h-i));else for(b=l=0,k=d-1;0<=k?l<=k:l>=k;b=0<=k?++l:--l)n.push(b/(d-1));return g=[i,h],q},q.mode=function(a){return arguments.length?(j=a,u(),q):j},q.range=function(a,b){return v(a,b),q},q.out=function(a){return l=a,q},q.spread=function(a){return arguments.length?(o=a,q):o},q.correctLightness=function(a){return null==a&&(a=!0),f=a,u(),w=f?function(a){var b,c,d,e,f,g,h,i,j;for(b=t(0,!0).lab()[0],c=t(1,!0).lab()[0],h=b>c,d=t(a,!0).lab()[0],f=b+(c-b)*a,e=d-f,i=0,j=1,g=20;Math.abs(e)>.01&&g-- >0;)!function(){h&&(e*=-1),e<0?(i=a,a+=.5*(j-a)):(j=a,a+=.5*(i-a)),d=t(a,!0).lab()[0],e=d-f}();return a}:function(a){return a},q},q.padding=function(a){return null!=a?("number"===va(a)&&(a=[a,a]),m=a,q):m},q.colors=function(b,d){var f,h,i,j,k,l,m,n;if(arguments.length<2&&(d="hex"),k=[],0===arguments.length)k=e.slice(0);else if(1===b)k=[q(.5)];else if(b>1)h=g[0],f=g[1]-h,k=function(){l=[];for(var a=0;0<=b?a<b:a>b;0<=b?a++:a--)l.push(a);return l}.apply(this).map(function(a){return q(h+a/(b-1)*f)});else{if(a=[],m=[],c&&c.length>2)for(i=n=1,j=c.length;1<=j?n<j:n>j;i=1<=j?++n:--n)m.push(.5*(c[i-1]+c[i]));else m=g;k=m.map(function(a){return q(a)})}return s[d]&&(k=k.map(function(a){return a[d]()})),k},q.cache=function(a){return null!=a?p=a:p},q},null==s.scales&&(s.scales={}),s.scales.cool=function(){return s.scale([s.hsl(180,1,.9),s.hsl(250,.7,.4)])},s.scales.hot=function(){return s.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},s.analyze=function(a,b,c){var d,e,f,g,h,i,j;if(h={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==c&&(c=function(){return!0}),d=function(a){null==a||isNaN(a)||(h.values.push(a),h.sum+=a,a<h.min&&(h.min=a),a>h.max&&(h.max=a),h.count+=1)},j=function(a,e){if(c(a,e))return d(null!=b&&"function"===va(b)?b(a):null!=b&&"string"===va(b)||"number"===va(b)?a[b]:a)},"array"===va(a))for(g=0,f=a.length;g<f;g++)i=a[g],j(i);else for(e in a)i=a[e],j(i,e);return h.domain=[h.min,h.max],h.limits=function(a,b){return s.limits(h,a,b)},h},s.limits=function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,p,q,r,t,u,v,w,x,y,z,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,U,V,X,Y,Z,$,aa,ba,ca,da,ea,fa,ga,ha,ia,ja;if(null==b&&(b="equal"),null==c&&(c=7),"array"===va(a)&&(a=s.analyze(a)),E=a.min,W=a.max,a.sum,ia=a.values.sort(function(a,b){return a-b}),1===c)return[E,W];if(C=[],"c"===b.substr(0,1)&&(C.push(E),C.push(W)),"e"===b.substr(0,1)){for(C.push(E),y=K=1, +O=c-1;1<=O?K<=O:K>=O;y=1<=O?++K:--K)C.push(E+y/c*(W-E));C.push(W)}else if("l"===b.substr(0,1)){if(E<=0)throw"Logarithmic scales are only possible for values > 0";for(F=Math.LOG10E*T(E),D=Math.LOG10E*T(W),C.push(E),y=ja=1,P=c-1;1<=P?ja<=P:ja>=P;y=1<=P?++ja:--ja)C.push(_(10,F+y/c*(D-F)));C.push(W)}else if("q"===b.substr(0,1)){for(C.push(E),y=d=1,X=c-1;1<=X?d<=X:d>=X;y=1<=X?++d:--d)L=(ia.length-1)*y/c,M=A(L),M===L?C.push(ia[M]):(N=L-M,C.push(ia[M]*(1-N)+ia[M+1]*N));C.push(W)}else if("k"===b.substr(0,1)){for(H=ia.length,r=new Array(H),w=new Array(c),ea=!0,I=0,u=null,u=[],u.push(E),y=e=1,Y=c-1;1<=Y?e<=Y:e>=Y;y=1<=Y?++e:--e)u.push(E+y/c*(W-E));for(u.push(W);ea;){for(z=f=0,Z=c-1;0<=Z?f<=Z:f>=Z;z=0<=Z?++f:--f)w[z]=0;for(y=g=0,$=H-1;0<=$?g<=$:g>=$;y=0<=$?++g:--g){for(ha=ia[y],G=Number.MAX_VALUE,z=h=0,aa=c-1;0<=aa?h<=aa:h>=aa;z=0<=aa?++h:--h)(x=l(u[z]-ha))<G&&(G=x,t=z);w[t]++,r[y]=t}for(J=new Array(c),z=i=0,ba=c-1;0<=ba?i<=ba:i>=ba;z=0<=ba?++i:--i)J[z]=null;for(y=j=0,ca=H-1;0<=ca?j<=ca:j>=ca;y=0<=ca?++j:--j)v=r[y],null===J[v]?J[v]=ia[y]:J[v]+=ia[y];for(z=k=0,da=c-1;0<=da?k<=da:k>=da;z=0<=da?++k:--k)J[z]*=1/w[z];for(ea=!1,z=m=0,Q=c-1;0<=Q?m<=Q:m>=Q;z=0<=Q?++m:--m)if(J[z]!==u[y]){ea=!0;break}u=J,I++,I>200&&(ea=!1)}for(B={},z=n=0,R=c-1;0<=R?n<=R:n>=R;z=0<=R?++n:--n)B[z]=[];for(y=o=0,S=H-1;0<=S?o<=S:o>=S;y=0<=S?++o:--o)v=r[y],B[v].push(ia[y]);for(fa=[],z=p=0,U=c-1;0<=U?p<=U:p>=U;z=0<=U?++p:--p)fa.push(B[z][0]),fa.push(B[z][B[z].length-1]);for(fa=fa.sort(function(a,b){return a-b}),C.push(fa[0]),y=q=1,V=fa.length-1;q<=V;y=q+=2)ga=fa[y],isNaN(ga)||-1!==C.indexOf(ga)||C.push(ga)}return C},D=function(a,b,c){var d,f,h,i;return d=wa(arguments),a=d[0],b=d[1],c=d[2],isNaN(a)&&(a=0),a/=360,a<1/3?(f=(1-b)/3,i=(1+b*v(g*a)/v(e-g*a))/3,h=1-(f+i)):a<2/3?(a-=1/3,i=(1-b)/3,h=(1+b*v(g*a)/v(e-g*a))/3,f=1-(i+h)):(a-=2/3,h=(1-b)/3,f=(1+b*v(g*a)/v(e-g*a))/3,i=1-(h+f)),i=S(c*i*3),h=S(c*h*3),f=S(c*f*3),[255*i,255*h,255*f,d.length>3?d[3]:1]},ea=function(){var a,b,c,d,e,f,h,i;return h=wa(arguments),f=h[0],b=h[1],a=h[2],g=2*Math.PI,f/=255,b/=255,a/=255,e=Math.min(f,b,a),d=(f+b+a)/3,i=1-e/d,0===i?c=0:(c=(f-b+(f-a))/2,c/=Math.sqrt((f-b)*(f-b)+(f-a)*(b-a)),c=Math.acos(c),a>b&&(c=g-c),c/=g),[360*c,i,d]},s.hsi=function(){return function(a,b,c){c.prototype=a.prototype;var d=new c,e=a.apply(d,b);return Object(e)===e?e:d}(a,Aa.call(arguments).concat(["hsi"]),function(){})},j.hsi=D,a.prototype.hsi=function(){return ea(this._rgb)},I=function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p;return"hsl"===d?(o=a.hsl(),p=b.hsl()):"hsv"===d?(o=a.hsv(),p=b.hsv()):"hcg"===d?(o=a.hcg(),p=b.hcg()):"hsi"===d?(o=a.hsi(),p=b.hsi()):"lch"!==d&&"hcl"!==d||(d="hcl",o=a.hcl(),p=b.hcl()),"h"===d.substr(0,1)&&(g=o[0],m=o[1],j=o[2],h=p[0],n=p[1],k=p[2]),isNaN(g)||isNaN(h)?isNaN(g)?isNaN(h)?f=Number.NaN:(f=h,1!==j&&0!==j||"hsv"===d||(l=n)):(f=g,1!==k&&0!==k||"hsv"===d||(l=m)):(e=h>g&&h-g>180?h-(g+360):h<g&&g-h>180?h+360-g:h-g,f=g+c*e),null==l&&(l=m+c*(n-m)),i=j+c*(k-j),s[d](f,l,i)},k=k.concat(function(){var a,b,c,d;for(c=["hsv","hsl","hsi","hcl","lch","hcg"],d=[],b=0,a=c.length;b<a;b++)V=c[b],d.push([V,I]);return d}()),K=function(a,b,c,d){var e,f;return e=a.num(),f=b.num(),s.num(e+(f-e)*c,"num")},k.push(["num",K]),J=function(b,c,d,e){var f,g;return f=b.lab(),g=c.lab(),new a(f[0]+d*(g[0]-f[0]),f[1]+d*(g[1]-f[1]),f[2]+d*(g[2]-f[2]),e)},k.push(["lab",J])}).call(this); \ No newline at end of file diff --git a/dkan/libraries/chroma/docs/src/index.md b/dkan/libraries/chroma/docs/src/index.md index 637005766..caa01257b 100644 --- a/dkan/libraries/chroma/docs/src/index.md +++ b/dkan/libraries/chroma/docs/src/index.md @@ -184,7 +184,7 @@ chroma.average(['red', 'rgba(0,0,0,0.5)']).css(); ### chroma.blend #### (color1, color2, mode) -Blends two colors using RGB channel-wise blend functions. Valid blend modes are `multiply`, `darken`, `lighten`, `screen`, `overlay`, `burn`, and `dogde`. +Blends two colors using RGB channel-wise blend functions. Valid blend modes are `multiply`, `darken`, `lighten`, `screen`, `overlay`, `burn`, and `dodge`. ```js chroma.blend('4CBBFC', 'EEEE22', 'multiply'); diff --git a/dkan/libraries/chroma/readme.md b/dkan/libraries/chroma/readme.md index 5bea96e3a..fc35c2d29 100644 --- a/dkan/libraries/chroma/readme.md +++ b/dkan/libraries/chroma/readme.md @@ -85,3 +85,9 @@ Versions prior to 0.4 were released under [GPL](http://www.gnu.org/licenses/gpl- * [How To Avoid Equidistant HSV Colors](https://vis4.net/blog/posts/avoid-equidistant-hsv-colors/) * [Mastering Multi-hued Color Scales with Chroma.js](https://vis4.net/blog/posts/mastering-multi-hued-color-scales/) + +### FAQ + +**There have been no commits in X weeks. Is chroma.js dead?** + +No! It's just that the author of this library has other things to do than devoting every week of his life to making cosmetic changes to a piece of software that is working just fine as it is, just so that people like you don't feel like it's abandoned and left alone in this world to die. Bugs will be fixed. Some new things will come at some point. Patience. diff --git a/dkan/libraries/chroma/src/api.coffee b/dkan/libraries/chroma/src/api.coffee index 0d4693cc0..4732f6b35 100644 --- a/dkan/libraries/chroma/src/api.coffee +++ b/dkan/libraries/chroma/src/api.coffee @@ -2,6 +2,7 @@ chroma = () -> return arguments[0] if arguments[0] instanceof Color new Color arguments... +chroma.default = chroma _interpolators = [] diff --git a/dkan/libraries/symfonyserializer/Annotation/Groups.php b/dkan/libraries/symfonyserializer/Annotation/Groups.php index b67239bc6..432f7f9ef 100644 --- a/dkan/libraries/symfonyserializer/Annotation/Groups.php +++ b/dkan/libraries/symfonyserializer/Annotation/Groups.php @@ -29,8 +29,6 @@ class Groups private $groups; /** - * @param array $data - * * @throws InvalidArgumentException */ public function __construct(array $data) diff --git a/dkan/libraries/symfonyserializer/CHANGELOG.md b/dkan/libraries/symfonyserializer/CHANGELOG.md index f8839b0eb..853e00eb2 100644 --- a/dkan/libraries/symfonyserializer/CHANGELOG.md +++ b/dkan/libraries/symfonyserializer/CHANGELOG.md @@ -18,6 +18,9 @@ CHANGELOG * added `AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT` context option to disable throwing an `UnexpectedValueException` on a type mismatch * added support for serializing `DateInterval` objects + * added getter for extra attributes in `ExtraAttributesException` + * improved `CsvEncoder` to handle variable nested structures + * CSV headers can be passed to the `CsvEncoder` via the `csv_headers` serialization context variable 3.3.0 ----- diff --git a/dkan/libraries/symfonyserializer/Encoder/ChainDecoder.php b/dkan/libraries/symfonyserializer/Encoder/ChainDecoder.php index c44510f60..545841fff 100644 --- a/dkan/libraries/symfonyserializer/Encoder/ChainDecoder.php +++ b/dkan/libraries/symfonyserializer/Encoder/ChainDecoder.php @@ -57,14 +57,9 @@ public function supportsDecoding($format, array $context = array()) /** * Gets the decoder supporting the format. * - * @param string $format - * @param array $context - * - * @return DecoderInterface - * * @throws RuntimeException if no decoder is found */ - private function getDecoder($format, array $context) + private function getDecoder(string $format, array $context): DecoderInterface { if (isset($this->decoderByFormat[$format]) && isset($this->decoders[$this->decoderByFormat[$format]]) diff --git a/dkan/libraries/symfonyserializer/Encoder/ChainEncoder.php b/dkan/libraries/symfonyserializer/Encoder/ChainEncoder.php index ae12cc9f2..2737f6eba 100644 --- a/dkan/libraries/symfonyserializer/Encoder/ChainEncoder.php +++ b/dkan/libraries/symfonyserializer/Encoder/ChainEncoder.php @@ -80,14 +80,9 @@ public function needsNormalization($format, array $context = array()) /** * Gets the encoder supporting the format. * - * @param string $format - * @param array $context - * - * @return EncoderInterface - * * @throws RuntimeException if no encoder is found */ - private function getEncoder($format, array $context) + private function getEncoder(string $format, array $context): EncoderInterface { if (isset($this->encoderByFormat[$format]) && isset($this->encoders[$this->encoderByFormat[$format]]) diff --git a/dkan/libraries/symfonyserializer/Encoder/CsvEncoder.php b/dkan/libraries/symfonyserializer/Encoder/CsvEncoder.php index cdbe0eb44..b4e501d7e 100644 --- a/dkan/libraries/symfonyserializer/Encoder/CsvEncoder.php +++ b/dkan/libraries/symfonyserializer/Encoder/CsvEncoder.php @@ -17,6 +17,7 @@ * Encodes CSV data. * * @author Kévin Dunglas <dunglas@gmail.com> + * @author Oliver Hoff <oliver@hofff.com> */ class CsvEncoder implements EncoderInterface, DecoderInterface { @@ -25,6 +26,7 @@ class CsvEncoder implements EncoderInterface, DecoderInterface const ENCLOSURE_KEY = 'csv_enclosure'; const ESCAPE_CHAR_KEY = 'csv_escape_char'; const KEY_SEPARATOR_KEY = 'csv_key_separator'; + const HEADERS_KEY = 'csv_headers'; private $delimiter; private $enclosure; @@ -69,21 +71,22 @@ public function encode($data, $format, array $context = array()) } } - list($delimiter, $enclosure, $escapeChar, $keySeparator) = $this->getCsvOptions($context); + list($delimiter, $enclosure, $escapeChar, $keySeparator, $headers) = $this->getCsvOptions($context); - $headers = null; - foreach ($data as $value) { - $result = array(); - $this->flatten($value, $result, $keySeparator); + foreach ($data as &$value) { + $flattened = array(); + $this->flatten($value, $flattened, $keySeparator); + $value = $flattened; + } + unset($value); - if (null === $headers) { - $headers = array_keys($result); - fputcsv($handle, $headers, $delimiter, $enclosure, $escapeChar); - } elseif (array_keys($result) !== $headers) { - throw new InvalidArgumentException('To use the CSV encoder, each line in the data array must have the same structure. You may want to use a custom normalizer class to normalize the data format before passing it to the CSV encoder.'); - } + $headers = array_merge(array_values($headers), array_diff($this->extractHeaders($data), $headers)); + + fputcsv($handle, $headers, $delimiter, $enclosure, $escapeChar); - fputcsv($handle, $result, $delimiter, $enclosure, $escapeChar); + $headers = array_fill_keys($headers, ''); + foreach ($data as $row) { + fputcsv($handle, array_replace($headers, $row), $delimiter, $enclosure, $escapeChar); } rewind($handle); @@ -194,7 +197,50 @@ private function getCsvOptions(array $context) $enclosure = isset($context[self::ENCLOSURE_KEY]) ? $context[self::ENCLOSURE_KEY] : $this->enclosure; $escapeChar = isset($context[self::ESCAPE_CHAR_KEY]) ? $context[self::ESCAPE_CHAR_KEY] : $this->escapeChar; $keySeparator = isset($context[self::KEY_SEPARATOR_KEY]) ? $context[self::KEY_SEPARATOR_KEY] : $this->keySeparator; + $headers = isset($context[self::HEADERS_KEY]) ? $context[self::HEADERS_KEY] : array(); + + if (!is_array($headers)) { + throw new InvalidArgumentException(sprintf('The "%s" context variable must be an array or null, given "%s".', self::HEADERS_KEY, gettype($headers))); + } + + return array($delimiter, $enclosure, $escapeChar, $keySeparator, $headers); + } + + /** + * @param array $data + * + * @return string[] + */ + private function extractHeaders(array $data) + { + $headers = array(); + $flippedHeaders = array(); + + foreach ($data as $row) { + $previousHeader = null; + + foreach ($row as $header => $_) { + if (isset($flippedHeaders[$header])) { + $previousHeader = $header; + continue; + } + + if (null === $previousHeader) { + $n = count($headers); + } else { + $n = $flippedHeaders[$previousHeader] + 1; + + for ($j = count($headers); $j > $n; --$j) { + ++$flippedHeaders[$headers[$j] = $headers[$j - 1]]; + } + } + + $headers[$n] = $header; + $flippedHeaders[$header] = $n; + $previousHeader = $header; + } + } - return array($delimiter, $enclosure, $escapeChar, $keySeparator); + return $headers; } } diff --git a/dkan/libraries/symfonyserializer/Encoder/JsonDecode.php b/dkan/libraries/symfonyserializer/Encoder/JsonDecode.php index 46a1e006f..218f4008f 100644 --- a/dkan/libraries/symfonyserializer/Encoder/JsonDecode.php +++ b/dkan/libraries/symfonyserializer/Encoder/JsonDecode.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Serializer\Encoder; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotEncodableValueException; /** * Decodes JSON data. @@ -73,7 +73,7 @@ public function __construct($associative = false, $depth = 512) * * @return mixed * - * @throws UnexpectedValueException + * @throws NotEncodableValueException * * @see http://php.net/json_decode json_decode */ @@ -88,7 +88,7 @@ public function decode($data, $format, array $context = array()) $decodedData = json_decode($data, $associative, $recursionDepth, $options); if (JSON_ERROR_NONE !== $this->lastError = json_last_error()) { - throw new UnexpectedValueException(json_last_error_msg()); + throw new NotEncodableValueException(json_last_error_msg()); } return $decodedData; @@ -105,8 +105,6 @@ public function supportsDecoding($format) /** * Merges the default options of the Json Decoder with the passed context. * - * @param array $context - * * @return array */ private function resolveContext(array $context) diff --git a/dkan/libraries/symfonyserializer/Encoder/JsonEncode.php b/dkan/libraries/symfonyserializer/Encoder/JsonEncode.php index 14cd2c949..ca42abc5a 100644 --- a/dkan/libraries/symfonyserializer/Encoder/JsonEncode.php +++ b/dkan/libraries/symfonyserializer/Encoder/JsonEncode.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Serializer\Encoder; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotEncodableValueException; /** * Encodes JSON data. @@ -40,7 +40,7 @@ public function encode($data, $format, array $context = array()) $encodedJson = json_encode($data, $context['json_encode_options']); if (JSON_ERROR_NONE !== $this->lastError = json_last_error()) { - throw new UnexpectedValueException(json_last_error_msg()); + throw new NotEncodableValueException(json_last_error_msg()); } return $encodedJson; @@ -57,8 +57,6 @@ public function supportsEncoding($format) /** * Merge default json encode options with context. * - * @param array $context - * * @return array */ private function resolveContext(array $context = array()) diff --git a/dkan/libraries/symfonyserializer/Encoder/XmlEncoder.php b/dkan/libraries/symfonyserializer/Encoder/XmlEncoder.php index 43a893e83..93122b6c5 100644 --- a/dkan/libraries/symfonyserializer/Encoder/XmlEncoder.php +++ b/dkan/libraries/symfonyserializer/Encoder/XmlEncoder.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Serializer\Encoder; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotEncodableValueException; use Symfony\Component\Serializer\SerializerAwareInterface; use Symfony\Component\Serializer\SerializerAwareTrait; @@ -82,7 +82,7 @@ public function encode($data, $format, array $context = array()) public function decode($data, $format, array $context = array()) { if ('' === trim($data)) { - throw new UnexpectedValueException('Invalid XML data, it can not be empty.'); + throw new NotEncodableValueException('Invalid XML data, it can not be empty.'); } $internalErrors = libxml_use_internal_errors(true); @@ -98,13 +98,13 @@ public function decode($data, $format, array $context = array()) if ($error = libxml_get_last_error()) { libxml_clear_errors(); - throw new UnexpectedValueException($error->message); + throw new NotEncodableValueException($error->message); } $rootNode = null; foreach ($dom->childNodes as $child) { if (XML_DOCUMENT_TYPE_NODE === $child->nodeType) { - throw new UnexpectedValueException('Document types are not allowed.'); + throw new NotEncodableValueException('Document types are not allowed.'); } if (!$rootNode && XML_PI_NODE !== $child->nodeType) { $rootNode = $child; @@ -384,7 +384,7 @@ private function parseXmlValue(\DOMNode $node, array $context = array()) * * @return bool * - * @throws UnexpectedValueException + * @throws NotEncodableValueException */ private function buildXml(\DOMNode $parentNode, $data, $xmlRootNodeName = null) { @@ -441,7 +441,7 @@ private function buildXml(\DOMNode $parentNode, $data, $xmlRootNodeName = null) return $this->appendNode($parentNode, $data, 'data'); } - throw new UnexpectedValueException(sprintf('An unexpected value could not be serialized: %s', var_export($data, true))); + throw new NotEncodableValueException(sprintf('An unexpected value could not be serialized: %s', var_export($data, true))); } /** @@ -489,7 +489,7 @@ private function needsCdataWrapping($val) * * @return bool * - * @throws UnexpectedValueException + * @throws NotEncodableValueException */ private function selectNodeType(\DOMNode $node, $val) { @@ -521,8 +521,6 @@ private function selectNodeType(\DOMNode $node, $val) /** * Get real XML root node name, taking serializer options into account. * - * @param array $context - * * @return string */ private function resolveXmlRootName(array $context = array()) diff --git a/dkan/libraries/symfonyserializer/Encoder/YamlEncoder.php b/dkan/libraries/symfonyserializer/Encoder/YamlEncoder.php index 41ac04f20..3ac1af679 100644 --- a/dkan/libraries/symfonyserializer/Encoder/YamlEncoder.php +++ b/dkan/libraries/symfonyserializer/Encoder/YamlEncoder.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Serializer\Encoder; +use Symfony\Component\Serializer\Exception\RuntimeException; use Symfony\Component\Yaml\Dumper; use Symfony\Component\Yaml\Parser; @@ -29,6 +30,10 @@ class YamlEncoder implements EncoderInterface, DecoderInterface public function __construct(Dumper $dumper = null, Parser $parser = null, array $defaultContext = array()) { + if (!class_exists(Dumper::class)) { + throw new RuntimeException('The YamlEncoder class requires the "Yaml" component. Install "symfony/yaml" to use it.'); + } + $this->dumper = $dumper ?: new Dumper(); $this->parser = $parser ?: new Parser(); $this->defaultContext = array_merge($this->defaultContext, $defaultContext); diff --git a/dkan/libraries/symfonyserializer/Exception/ExtraAttributesException.php b/dkan/libraries/symfonyserializer/Exception/ExtraAttributesException.php index d321618b8..74d87f87f 100644 --- a/dkan/libraries/symfonyserializer/Exception/ExtraAttributesException.php +++ b/dkan/libraries/symfonyserializer/Exception/ExtraAttributesException.php @@ -18,10 +18,24 @@ */ class ExtraAttributesException extends RuntimeException { + private $extraAttributes; + public function __construct(array $extraAttributes, \Exception $previous = null) { $msg = sprintf('Extra attributes are not allowed ("%s" are unknown).', implode('", "', $extraAttributes)); + $this->extraAttributes = $extraAttributes; + parent::__construct($msg, 0, $previous); } + + /** + * Get the extra attributes that are not allowed. + * + * @return array + */ + public function getExtraAttributes() + { + return $this->extraAttributes; + } } diff --git a/dkan/libraries/symfonyserializer/Exception/NotEncodableValueException.php b/dkan/libraries/symfonyserializer/Exception/NotEncodableValueException.php new file mode 100644 index 000000000..e1709fb1e --- /dev/null +++ b/dkan/libraries/symfonyserializer/Exception/NotEncodableValueException.php @@ -0,0 +1,19 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Exception; + +/** + * @author Christian Flothmann <christian.flothmann@sensiolabs.de> + */ +class NotEncodableValueException extends UnexpectedValueException +{ +} diff --git a/dkan/libraries/symfonyserializer/Exception/NotNormalizableValueException.php b/dkan/libraries/symfonyserializer/Exception/NotNormalizableValueException.php new file mode 100644 index 000000000..58adf72ca --- /dev/null +++ b/dkan/libraries/symfonyserializer/Exception/NotNormalizableValueException.php @@ -0,0 +1,19 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Exception; + +/** + * @author Christian Flothmann <christian.flothmann@sensiolabs.de> + */ +class NotNormalizableValueException extends UnexpectedValueException +{ +} diff --git a/dkan/libraries/symfonyserializer/Mapping/AttributeMetadata.php b/dkan/libraries/symfonyserializer/Mapping/AttributeMetadata.php index b9daf5d25..5888234a4 100644 --- a/dkan/libraries/symfonyserializer/Mapping/AttributeMetadata.php +++ b/dkan/libraries/symfonyserializer/Mapping/AttributeMetadata.php @@ -19,8 +19,6 @@ class AttributeMetadata implements AttributeMetadataInterface { /** - * @var string - * * @internal This property is public in order to reduce the size of the * class' serialized representation. Do not access it. Use * {@link getName()} instead. @@ -28,8 +26,6 @@ class AttributeMetadata implements AttributeMetadataInterface public $name; /** - * @var array - * * @internal This property is public in order to reduce the size of the * class' serialized representation. Do not access it. Use * {@link getGroups()} instead. diff --git a/dkan/libraries/symfonyserializer/Mapping/AttributeMetadataInterface.php b/dkan/libraries/symfonyserializer/Mapping/AttributeMetadataInterface.php index abba8c196..944a7b313 100644 --- a/dkan/libraries/symfonyserializer/Mapping/AttributeMetadataInterface.php +++ b/dkan/libraries/symfonyserializer/Mapping/AttributeMetadataInterface.php @@ -59,8 +59,6 @@ public function getMaxDepth(); /** * Merges an {@see AttributeMetadataInterface} with in the current one. - * - * @param AttributeMetadataInterface $attributeMetadata */ public function merge(AttributeMetadataInterface $attributeMetadata); } diff --git a/dkan/libraries/symfonyserializer/Mapping/ClassMetadataInterface.php b/dkan/libraries/symfonyserializer/Mapping/ClassMetadataInterface.php index c00981b64..3811e5654 100644 --- a/dkan/libraries/symfonyserializer/Mapping/ClassMetadataInterface.php +++ b/dkan/libraries/symfonyserializer/Mapping/ClassMetadataInterface.php @@ -33,8 +33,6 @@ public function getName(); /** * Adds an {@link AttributeMetadataInterface}. - * - * @param AttributeMetadataInterface $attributeMetadata */ public function addAttributeMetadata(AttributeMetadataInterface $attributeMetadata); @@ -47,8 +45,6 @@ public function getAttributesMetadata(); /** * Merges a {@link ClassMetadataInterface} in the current one. - * - * @param ClassMetadataInterface $classMetadata */ public function merge(ClassMetadataInterface $classMetadata); diff --git a/dkan/libraries/symfonyserializer/Mapping/Factory/ClassMetadataFactory.php b/dkan/libraries/symfonyserializer/Mapping/Factory/ClassMetadataFactory.php index 448e61a6b..ce376010e 100644 --- a/dkan/libraries/symfonyserializer/Mapping/Factory/ClassMetadataFactory.php +++ b/dkan/libraries/symfonyserializer/Mapping/Factory/ClassMetadataFactory.php @@ -24,9 +24,6 @@ class ClassMetadataFactory implements ClassMetadataFactoryInterface { use ClassResolverTrait; - /** - * @var LoaderInterface - */ private $loader; /** diff --git a/dkan/libraries/symfonyserializer/Mapping/Loader/AnnotationLoader.php b/dkan/libraries/symfonyserializer/Mapping/Loader/AnnotationLoader.php index 4495f0d56..5527b5f71 100644 --- a/dkan/libraries/symfonyserializer/Mapping/Loader/AnnotationLoader.php +++ b/dkan/libraries/symfonyserializer/Mapping/Loader/AnnotationLoader.php @@ -25,14 +25,8 @@ */ class AnnotationLoader implements LoaderInterface { - /** - * @var Reader - */ private $reader; - /** - * @param Reader $reader - */ public function __construct(Reader $reader) { $this->reader = $reader; diff --git a/dkan/libraries/symfonyserializer/Mapping/Loader/FileLoader.php b/dkan/libraries/symfonyserializer/Mapping/Loader/FileLoader.php index 38bb59389..229111b6f 100644 --- a/dkan/libraries/symfonyserializer/Mapping/Loader/FileLoader.php +++ b/dkan/libraries/symfonyserializer/Mapping/Loader/FileLoader.php @@ -26,8 +26,6 @@ abstract class FileLoader implements LoaderInterface protected $file; /** - * Constructor. - * * @param string $file The mapping file to load * * @throws MappingException if the mapping file does not exist or is not readable diff --git a/dkan/libraries/symfonyserializer/Mapping/Loader/LoaderInterface.php b/dkan/libraries/symfonyserializer/Mapping/Loader/LoaderInterface.php index ebf84b6a9..1310a7169 100644 --- a/dkan/libraries/symfonyserializer/Mapping/Loader/LoaderInterface.php +++ b/dkan/libraries/symfonyserializer/Mapping/Loader/LoaderInterface.php @@ -21,10 +21,6 @@ interface LoaderInterface { /** - * Load class metadata. - * - * @param ClassMetadataInterface $classMetadata A metadata - * * @return bool */ public function loadClassMetadata(ClassMetadataInterface $classMetadata); diff --git a/dkan/libraries/symfonyserializer/Mapping/Loader/YamlFileLoader.php b/dkan/libraries/symfonyserializer/Mapping/Loader/YamlFileLoader.php index e3afa4763..970241d34 100644 --- a/dkan/libraries/symfonyserializer/Mapping/Loader/YamlFileLoader.php +++ b/dkan/libraries/symfonyserializer/Mapping/Loader/YamlFileLoader.php @@ -113,7 +113,7 @@ private function getClassesFromYaml() $this->yamlParser = new Parser(); } - $classes = $this->yamlParser->parse(file_get_contents($this->file)); + $classes = $this->yamlParser->parseFile($this->file); if (empty($classes)) { return array(); diff --git a/dkan/libraries/symfonyserializer/Normalizer/AbstractNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/AbstractNormalizer.php index d27ea89b1..77262cc53 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/AbstractNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/AbstractNormalizer.php @@ -28,6 +28,7 @@ */ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface { + use ObjectToPopulateTrait; use SerializerAwareTrait; const CIRCULAR_REFERENCE_LIMIT = 'circular_reference_limit'; @@ -72,9 +73,6 @@ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerIn /** * Sets the {@link ClassMetadataFactoryInterface} to use. - * - * @param ClassMetadataFactoryInterface|null $classMetadataFactory - * @param NameConverterInterface|null $nameConverter */ public function __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null) { @@ -137,8 +135,6 @@ public function setCallbacks(array $callbacks) /** * Set ignored attributes for normalization and denormalization. * - * @param array $ignoredAttributes - * * @return self */ public function setIgnoredAttributes(array $ignoredAttributes) @@ -307,12 +303,7 @@ protected function getConstructor(array &$data, $class, array &$context, \Reflec */ protected function instantiateObject(array &$data, $class, array &$context, \ReflectionClass $reflectionClass, $allowedAttributes, string $format = null) { - if ( - isset($context[static::OBJECT_TO_POPULATE]) && - is_object($context[static::OBJECT_TO_POPULATE]) && - $context[static::OBJECT_TO_POPULATE] instanceof $class - ) { - $object = $context[static::OBJECT_TO_POPULATE]; + if (null !== $object = $this->extractObjectToPopulate($class, $context, static::OBJECT_TO_POPULATE)) { unset($context[static::OBJECT_TO_POPULATE]); return $object; diff --git a/dkan/libraries/symfonyserializer/Normalizer/AbstractObjectNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/AbstractObjectNormalizer.php index 5a49cfec9..c63f5dee5 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/AbstractObjectNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/AbstractObjectNormalizer.php @@ -15,7 +15,7 @@ use Symfony\Component\Serializer\Encoder\JsonEncoder; use Symfony\Component\Serializer\Exception\ExtraAttributesException; use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotNormalizableValueException; use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; use Symfony\Component\PropertyInfo\Type; use Symfony\Component\Serializer\Mapping\AttributeMetadataInterface; @@ -36,6 +36,7 @@ abstract class AbstractObjectNormalizer extends AbstractNormalizer private $propertyTypeExtractor; private $attributesCache = array(); + private $cache = array(); public function __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null) { @@ -49,7 +50,7 @@ public function __construct(ClassMetadataFactoryInterface $classMetadataFactory */ public function supportsNormalization($data, $format = null) { - return is_object($data) && !$data instanceof \Traversable; + return \is_object($data) && !$data instanceof \Traversable; } /** @@ -109,7 +110,7 @@ public function normalize($object, $format = null, array $context = array()) * * @return string[] */ - protected function getAttributes($object, $format = null, array $context) + protected function getAttributes($object, $format, array $context) { $class = get_class($object); $key = $class.'-'.$context['cache_key']; @@ -163,7 +164,7 @@ abstract protected function getAttributeValue($object, $attribute, $format = nul */ public function supportsDenormalization($data, $type, $format = null) { - return class_exists($type); + return isset($this->cache[$type]) ? $this->cache[$type] : $this->cache[$type] = class_exists($type); } /** @@ -199,7 +200,7 @@ public function denormalize($data, $class, $format = null, array $context = arra try { $this->setAttributeValue($object, $attribute, $value, $format, $context); } catch (InvalidArgumentException $e) { - throw new UnexpectedValueException($e->getMessage(), $e->getCode(), $e); + throw new NotNormalizableValueException($e->getMessage(), $e->getCode(), $e); } } @@ -232,7 +233,7 @@ abstract protected function setAttributeValue($object, $attribute, $value, $form * * @return mixed * - * @throws UnexpectedValueException + * @throws NotNormalizableValueException * @throws LogicException */ private function validateAndDenormalize($currentClass, $attribute, $data, $format, array $context) @@ -291,7 +292,7 @@ private function validateAndDenormalize($currentClass, $attribute, $data, $forma return $data; } - throw new UnexpectedValueException(sprintf('The type of the "%s" attribute for class "%s" must be one of "%s" ("%s" given).', $attribute, $currentClass, implode('", "', array_keys($expectedTypes)), gettype($data))); + throw new NotNormalizableValueException(sprintf('The type of the "%s" attribute for class "%s" must be one of "%s" ("%s" given).', $attribute, $currentClass, implode('", "', array_keys($expectedTypes)), gettype($data))); } /** diff --git a/dkan/libraries/symfonyserializer/Normalizer/ArrayDenormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/ArrayDenormalizer.php index 55fb84ed8..af4771348 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/ArrayDenormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/ArrayDenormalizer.php @@ -13,7 +13,7 @@ use Symfony\Component\Serializer\Exception\BadMethodCallException; use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotNormalizableValueException; use Symfony\Component\Serializer\SerializerAwareInterface; use Symfony\Component\Serializer\SerializerInterface; @@ -33,6 +33,8 @@ class ArrayDenormalizer implements ContextAwareDenormalizerInterface, Serializer /** * {@inheritdoc} + * + * @throws NotNormalizableValueException */ public function denormalize($data, $class, $format = null, array $context = array()) { @@ -52,7 +54,7 @@ public function denormalize($data, $class, $format = null, array $context = arra $builtinType = isset($context['key_type']) ? $context['key_type']->getBuiltinType() : null; foreach ($data as $key => $value) { if (null !== $builtinType && !call_user_func('is_'.$builtinType, $key)) { - throw new UnexpectedValueException(sprintf('The type of the key "%s" must be "%s" ("%s" given).', $key, $builtinType, gettype($key))); + throw new NotNormalizableValueException(sprintf('The type of the key "%s" must be "%s" ("%s" given).', $key, $builtinType, gettype($key))); } $data[$key] = $serializer->denormalize($value, $class, $format, $context); diff --git a/dkan/libraries/symfonyserializer/Normalizer/CustomNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/CustomNormalizer.php index 688590ef0..b56b10f2d 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/CustomNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/CustomNormalizer.php @@ -19,8 +19,11 @@ */ class CustomNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface { + use ObjectToPopulateTrait; use SerializerAwareTrait; + private $cache = array(); + /** * {@inheritdoc} */ @@ -34,7 +37,7 @@ public function normalize($object, $format = null, array $context = array()) */ public function denormalize($data, $class, $format = null, array $context = array()) { - $object = new $class(); + $object = $this->extractObjectToPopulate($class, $context) ?: new $class(); $object->denormalize($this->serializer, $data, $format, $context); return $object; @@ -64,10 +67,14 @@ public function supportsNormalization($data, $format = null) */ public function supportsDenormalization($data, $type, $format = null) { + if (isset($this->cache[$type])) { + return $this->cache[$type]; + } + if (!class_exists($type)) { - return false; + return $this->cache[$type] = false; } - return is_subclass_of($type, 'Symfony\Component\Serializer\Normalizer\DenormalizableInterface'); + return $this->cache[$type] = is_subclass_of($type, 'Symfony\Component\Serializer\Normalizer\DenormalizableInterface'); } } diff --git a/dkan/libraries/symfonyserializer/Normalizer/DataUriNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/DataUriNormalizer.php index 9e5af130d..995bdf144 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/DataUriNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/DataUriNormalizer.php @@ -15,7 +15,7 @@ use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser; use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface; use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotNormalizableValueException; /** * Normalizes an {@see \SplFileInfo} object to a data URI. @@ -25,6 +25,12 @@ */ class DataUriNormalizer implements NormalizerInterface, DenormalizerInterface { + private static $supportedTypes = array( + \SplFileInfo::class => true, + \SplFileObject::class => true, + File::class => true, + ); + /** * @var MimeTypeGuesserInterface */ @@ -79,11 +85,14 @@ public function supportsNormalization($data, $format = null) * Regex adapted from Brian Grinstead code. * * @see https://gist.github.com/bgrins/6194623 + * + * @throws InvalidArgumentException + * @throws NotNormalizableValueException */ public function denormalize($data, $class, $format = null, array $context = array()) { if (!preg_match('/^data:([a-z0-9][a-z0-9\!\#\$\&\-\^\_\+\.]{0,126}\/[a-z0-9][a-z0-9\!\#\$\&\-\^\_\+\.]{0,126}(;[a-z0-9\-]+\=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9\!\$\&\\\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i', $data)) { - throw new UnexpectedValueException('The provided "data:" URI is not valid.'); + throw new NotNormalizableValueException('The provided "data:" URI is not valid.'); } try { @@ -96,7 +105,7 @@ public function denormalize($data, $class, $format = null, array $context = arra return new \SplFileObject($data); } } catch (\RuntimeException $exception) { - throw new UnexpectedValueException($exception->getMessage(), $exception->getCode(), $exception); + throw new NotNormalizableValueException($exception->getMessage(), $exception->getCode(), $exception); } throw new InvalidArgumentException(sprintf('The class parameter "%s" is not supported. It must be one of "SplFileInfo", "SplFileObject" or "Symfony\Component\HttpFoundation\File\File".', $class)); @@ -107,13 +116,7 @@ public function denormalize($data, $class, $format = null, array $context = arra */ public function supportsDenormalization($data, $type, $format = null) { - $supportedTypes = array( - \SplFileInfo::class => true, - \SplFileObject::class => true, - 'Symfony\Component\HttpFoundation\File\File' => true, - ); - - return isset($supportedTypes[$type]); + return isset(self::$supportedTypes[$type]); } /** diff --git a/dkan/libraries/symfonyserializer/Normalizer/DateTimeNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/DateTimeNormalizer.php index 08469b0db..29b3a93cd 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/DateTimeNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/DateTimeNormalizer.php @@ -12,7 +12,7 @@ namespace Symfony\Component\Serializer\Normalizer; use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; +use Symfony\Component\Serializer\Exception\NotNormalizableValueException; /** * Normalizes an object implementing the {@see \DateTimeInterface} to a date string. @@ -31,6 +31,12 @@ class DateTimeNormalizer implements NormalizerInterface, DenormalizerInterface private $format; private $timezone; + private static $supportedTypes = array( + \DateTimeInterface::class => true, + \DateTimeImmutable::class => true, + \DateTime::class => true, + ); + /** * @param string $format * @param \DateTimeZone|null $timezone @@ -73,7 +79,7 @@ public function supportsNormalization($data, $format = null) /** * {@inheritdoc} * - * @throws UnexpectedValueException + * @throws NotNormalizableValueException */ public function denormalize($data, $class, $format = null, array $context = array()) { @@ -89,7 +95,7 @@ public function denormalize($data, $class, $format = null, array $context = arra $dateTimeErrors = \DateTime::class === $class ? \DateTime::getLastErrors() : \DateTimeImmutable::getLastErrors(); - throw new UnexpectedValueException(sprintf( + throw new NotNormalizableValueException(sprintf( 'Parsing datetime string "%s" using format "%s" resulted in %d errors:'."\n".'%s', $data, $dateTimeFormat, @@ -101,7 +107,7 @@ public function denormalize($data, $class, $format = null, array $context = arra try { return \DateTime::class === $class ? new \DateTime($data, $timezone) : new \DateTimeImmutable($data, $timezone); } catch (\Exception $e) { - throw new UnexpectedValueException($e->getMessage(), $e->getCode(), $e); + throw new NotNormalizableValueException($e->getMessage(), $e->getCode(), $e); } } @@ -110,13 +116,7 @@ public function denormalize($data, $class, $format = null, array $context = arra */ public function supportsDenormalization($data, $type, $format = null) { - $supportedTypes = array( - \DateTimeInterface::class => true, - \DateTimeImmutable::class => true, - \DateTime::class => true, - ); - - return isset($supportedTypes[$type]); + return isset(self::$supportedTypes[$type]); } /** diff --git a/dkan/libraries/symfonyserializer/Normalizer/GetSetMethodNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/GetSetMethodNormalizer.php index 3d2c0665b..426ae562f 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/GetSetMethodNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/GetSetMethodNormalizer.php @@ -35,13 +35,14 @@ class GetSetMethodNormalizer extends AbstractObjectNormalizer { private static $setterAccessibleCache = array(); + private $cache = array(); /** * {@inheritdoc} */ public function supportsNormalization($data, $format = null) { - return parent::supportsNormalization($data, $format) && $this->supports(get_class($data)); + return parent::supportsNormalization($data, $format) && (isset($this->cache[$type = \get_class($data)]) ? $this->cache[$type] : $this->cache[$type] = $this->supports($type)); } /** @@ -49,7 +50,7 @@ public function supportsNormalization($data, $format = null) */ public function supportsDenormalization($data, $type, $format = null) { - return parent::supportsDenormalization($data, $type, $format) && $this->supports($type); + return parent::supportsDenormalization($data, $type, $format) && (isset($this->cache[$type]) ? $this->cache[$type] : $this->cache[$type] = $this->supports($type)); } /** diff --git a/dkan/libraries/symfonyserializer/Normalizer/ObjectNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/ObjectNormalizer.php index 87fdfca11..dac7f0621 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/ObjectNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/ObjectNormalizer.php @@ -15,6 +15,7 @@ use Symfony\Component\PropertyAccess\PropertyAccess; use Symfony\Component\PropertyAccess\PropertyAccessorInterface; use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface; +use Symfony\Component\Serializer\Exception\RuntimeException; use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; use Symfony\Component\Serializer\NameConverter\NameConverterInterface; @@ -32,6 +33,10 @@ class ObjectNormalizer extends AbstractObjectNormalizer public function __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyAccessorInterface $propertyAccessor = null, PropertyTypeExtractorInterface $propertyTypeExtractor = null) { + if (!class_exists('Symfony\Component\PropertyAccess\PropertyAccess')) { + throw new RuntimeException('The ObjectNormalizer class requires the "PropertyAccess" component. Install "symfony/property-access" to use it.'); + } + parent::__construct($classMetadataFactory, $nameConverter, $propertyTypeExtractor); $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); diff --git a/dkan/libraries/symfonyserializer/Normalizer/ObjectToPopulateTrait.php b/dkan/libraries/symfonyserializer/Normalizer/ObjectToPopulateTrait.php new file mode 100644 index 000000000..ac6478891 --- /dev/null +++ b/dkan/libraries/symfonyserializer/Normalizer/ObjectToPopulateTrait.php @@ -0,0 +1,37 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Normalizer; + +trait ObjectToPopulateTrait +{ + /** + * Extract the `object_to_populate` field from the context if it exists + * and is an instance of the provided $class. + * + * @param string $class The class the object should be + * @param $context The denormalization context + * @param string $key They in which to look for the object to populate. + * Keeps backwards compatibility with `AbstractNormalizer`. + * + * @return object|null an object if things check out, null otherwise + */ + protected function extractObjectToPopulate($class, array $context, $key = null) + { + $key = $key ?: 'object_to_populate'; + + if (isset($context[$key]) && is_object($context[$key]) && $context[$key] instanceof $class) { + return $context[$key]; + } + + return null; + } +} diff --git a/dkan/libraries/symfonyserializer/Normalizer/PropertyNormalizer.php b/dkan/libraries/symfonyserializer/Normalizer/PropertyNormalizer.php index 9795ec4bc..2921e5baf 100644 --- a/dkan/libraries/symfonyserializer/Normalizer/PropertyNormalizer.php +++ b/dkan/libraries/symfonyserializer/Normalizer/PropertyNormalizer.php @@ -30,12 +30,14 @@ */ class PropertyNormalizer extends AbstractObjectNormalizer { + private $cache = array(); + /** * {@inheritdoc} */ public function supportsNormalization($data, $format = null) { - return parent::supportsNormalization($data, $format) && $this->supports(get_class($data)); + return parent::supportsNormalization($data, $format) && (isset($this->cache[$type = \get_class($data)]) ? $this->cache[$type] : $this->cache[$type] = $this->supports($type)); } /** @@ -43,7 +45,7 @@ public function supportsNormalization($data, $format = null) */ public function supportsDenormalization($data, $type, $format = null) { - return parent::supportsDenormalization($data, $type, $format) && $this->supports($type); + return parent::supportsDenormalization($data, $type, $format) && (isset($this->cache[$type]) ? $this->cache[$type] : $this->cache[$type] = $this->supports($type)); } /** @@ -77,7 +79,7 @@ protected function isAllowedAttribute($classOrObject, $attribute, $format = null } try { - $reflectionProperty = new \ReflectionProperty(is_string($classOrObject) ? $classOrObject : get_class($classOrObject), $attribute); + $reflectionProperty = $this->getReflectionProperty($classOrObject, $attribute); if ($reflectionProperty->isStatic()) { return false; } @@ -96,13 +98,15 @@ protected function extractAttributes($object, $format = null, array $context = a $reflectionObject = new \ReflectionObject($object); $attributes = array(); - foreach ($reflectionObject->getProperties() as $property) { - if (!$this->isAllowedAttribute($object, $property->name)) { - continue; - } + do { + foreach ($reflectionObject->getProperties() as $property) { + if (!$this->isAllowedAttribute($reflectionObject->getName(), $property->name)) { + continue; + } - $attributes[] = $property->name; - } + $attributes[] = $property->name; + } + } while ($reflectionObject = $reflectionObject->getParentClass()); return $attributes; } @@ -113,7 +117,7 @@ protected function extractAttributes($object, $format = null, array $context = a protected function getAttributeValue($object, $attribute, $format = null, array $context = array()) { try { - $reflectionProperty = new \ReflectionProperty(get_class($object), $attribute); + $reflectionProperty = $this->getReflectionProperty($object, $attribute); } catch (\ReflectionException $reflectionException) { return; } @@ -132,7 +136,7 @@ protected function getAttributeValue($object, $attribute, $format = null, array protected function setAttributeValue($object, $attribute, $value, $format = null, array $context = array()) { try { - $reflectionProperty = new \ReflectionProperty(get_class($object), $attribute); + $reflectionProperty = $this->getReflectionProperty($object, $attribute); } catch (\ReflectionException $reflectionException) { return; } @@ -148,4 +152,26 @@ protected function setAttributeValue($object, $attribute, $value, $format = null $reflectionProperty->setValue($object, $value); } + + /** + * @param string|object $classOrObject + * @param string $attribute + * + * @return \ReflectionProperty + * + * @throws \ReflectionException + */ + private function getReflectionProperty($classOrObject, $attribute) + { + $reflectionClass = new \ReflectionClass($classOrObject); + while (true) { + try { + return $reflectionClass->getProperty($attribute); + } catch (\ReflectionException $e) { + if (!$reflectionClass = $reflectionClass->getParentClass()) { + throw $e; + } + } + } + } } diff --git a/dkan/libraries/symfonyserializer/Serializer.php b/dkan/libraries/symfonyserializer/Serializer.php index 0911c6710..880b0fd4d 100644 --- a/dkan/libraries/symfonyserializer/Serializer.php +++ b/dkan/libraries/symfonyserializer/Serializer.php @@ -17,6 +17,8 @@ use Symfony\Component\Serializer\Encoder\ContextAwareEncoderInterface; use Symfony\Component\Serializer\Encoder\EncoderInterface; use Symfony\Component\Serializer\Encoder\DecoderInterface; +use Symfony\Component\Serializer\Exception\NotEncodableValueException; +use Symfony\Component\Serializer\Exception\NotNormalizableValueException; use Symfony\Component\Serializer\Normalizer\ContextAwareDenormalizerInterface; use Symfony\Component\Serializer\Normalizer\ContextAwareNormalizerInterface; use Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface; @@ -24,7 +26,6 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\UnexpectedValueException; /** * Serializer serializes and deserializes data. @@ -98,7 +99,7 @@ public function __construct(array $normalizers = array(), array $encoders = arra final public function serialize($data, $format, array $context = array()) { if (!$this->supportsEncoding($format)) { - throw new UnexpectedValueException(sprintf('Serialization for the format %s is not supported', $format)); + throw new NotEncodableValueException(sprintf('Serialization for the format %s is not supported', $format)); } if ($this->encoder->needsNormalization($format)) { @@ -114,7 +115,7 @@ final public function serialize($data, $format, array $context = array()) final public function deserialize($data, $type, $format, array $context = array()) { if (!$this->supportsDecoding($format)) { - throw new UnexpectedValueException(sprintf('Deserialization for the format %s is not supported', $format)); + throw new NotEncodableValueException(sprintf('Deserialization for the format %s is not supported', $format)); } $data = $this->decode($data, $format, $context); @@ -150,18 +151,28 @@ public function normalize($data, $format = null, array $context = array()) throw new LogicException('You must register at least one normalizer to be able to normalize objects.'); } - throw new UnexpectedValueException(sprintf('Could not normalize object of type %s, no supporting normalizer found.', get_class($data))); + throw new NotNormalizableValueException(sprintf('Could not normalize object of type %s, no supporting normalizer found.', get_class($data))); } - throw new UnexpectedValueException(sprintf('An unexpected value could not be normalized: %s', var_export($data, true))); + throw new NotNormalizableValueException(sprintf('An unexpected value could not be normalized: %s', var_export($data, true))); } /** * {@inheritdoc} + * + * @throws NotNormalizableValueException */ public function denormalize($data, $type, $format = null, array $context = array()) { - return $this->denormalizeObject($data, $type, $format, $context); + if (!$this->normalizers) { + throw new LogicException('You must register at least one normalizer to be able to denormalize objects.'); + } + + if ($normalizer = $this->getDenormalizer($data, $type, $format, $context)) { + return $normalizer->denormalize($data, $type, $format, $context); + } + + throw new NotNormalizableValueException(sprintf('Could not denormalize object of type %s, no supporting normalizer found.', $type)); } /** @@ -233,32 +244,6 @@ final public function decode($data, $format, array $context = array()) return $this->decoder->decode($data, $format, $context); } - /** - * Denormalizes data back into an object of the given class. - * - * @param mixed $data data to restore - * @param string $class the expected class to instantiate - * @param string $format format name, present to give the option to normalizers to act differently based on formats - * @param array $context The context data for this particular denormalization - * - * @return object - * - * @throws LogicException - * @throws UnexpectedValueException - */ - private function denormalizeObject($data, $class, $format, array $context = array()) - { - if (!$this->normalizers) { - throw new LogicException('You must register at least one normalizer to be able to denormalize objects.'); - } - - if ($normalizer = $this->getDenormalizer($data, $class, $format, $context)) { - return $normalizer->denormalize($data, $class, $format, $context); - } - - throw new UnexpectedValueException(sprintf('Could not denormalize object of type %s, no supporting normalizer found.', $class)); - } - /** * {@inheritdoc} */ diff --git a/dkan/libraries/symfonyserializer/SerializerAwareInterface.php b/dkan/libraries/symfonyserializer/SerializerAwareInterface.php index dd0a62e7f..13dfb392e 100644 --- a/dkan/libraries/symfonyserializer/SerializerAwareInterface.php +++ b/dkan/libraries/symfonyserializer/SerializerAwareInterface.php @@ -20,8 +20,6 @@ interface SerializerAwareInterface { /** * Sets the owning Serializer object. - * - * @param SerializerInterface $serializer */ public function setSerializer(SerializerInterface $serializer); } diff --git a/dkan/libraries/symfonyserializer/Tests/Encoder/ChainEncoderTest.php b/dkan/libraries/symfonyserializer/Tests/Encoder/ChainEncoderTest.php index 3e5c31ea8..82c64cc14 100644 --- a/dkan/libraries/symfonyserializer/Tests/Encoder/ChainEncoderTest.php +++ b/dkan/libraries/symfonyserializer/Tests/Encoder/ChainEncoderTest.php @@ -13,6 +13,7 @@ use PHPUnit\Framework\TestCase; use Symfony\Component\Serializer\Encoder\ChainEncoder; +use Symfony\Component\Serializer\Encoder\EncoderInterface; use Symfony\Component\Serializer\Encoder\NormalizationAwareInterface; class ChainEncoderTest extends TestCase @@ -123,10 +124,14 @@ class ChainNormalizationAwareEncoder extends ChainEncoder implements Normalizati { } -class NormalizationAwareEncoder implements NormalizationAwareInterface +class NormalizationAwareEncoder implements EncoderInterface, NormalizationAwareInterface { public function supportsEncoding($format) { return true; } + + public function encode($data, $format, array $context = array()) + { + } } diff --git a/dkan/libraries/symfonyserializer/Tests/Encoder/CsvEncoderTest.php b/dkan/libraries/symfonyserializer/Tests/Encoder/CsvEncoderTest.php index 61cbc03ee..a5e5c256f 100644 --- a/dkan/libraries/symfonyserializer/Tests/Encoder/CsvEncoderTest.php +++ b/dkan/libraries/symfonyserializer/Tests/Encoder/CsvEncoderTest.php @@ -135,12 +135,42 @@ public function testEncodeEmptyArray() $this->assertEquals("\n\n", $this->encoder->encode(array(array()), 'csv')); } - /** - * @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException - */ - public function testEncodeNonFlattenableStructure() + public function testEncodeVariableStructure() + { + $value = array( + array('a' => array('foo', 'bar')), + array('a' => array(), 'b' => 'baz'), + array('a' => array('bar', 'foo'), 'c' => 'pong'), + ); + $csv = <<<CSV +a.0,a.1,c,b +foo,bar,, +,,,baz +bar,foo,pong, + +CSV; + + $this->assertEquals($csv, $this->encoder->encode($value, 'csv')); + } + + public function testEncodeCustomHeaders() { - $this->encoder->encode(array(array('a' => array('foo', 'bar')), array('a' => array())), 'csv'); + $context = array( + CsvEncoder::HEADERS_KEY => array( + 'b', + 'c', + ), + ); + $value = array( + array('a' => 'foo', 'b' => 'bar'), + ); + $csv = <<<CSV +b,c,a +bar,,foo + +CSV; + + $this->assertEquals($csv, $this->encoder->encode($value, 'csv', $context)); } public function testSupportsDecoding() diff --git a/dkan/libraries/symfonyserializer/Tests/Fixtures/GroupDummyChild.php b/dkan/libraries/symfonyserializer/Tests/Fixtures/GroupDummyChild.php new file mode 100644 index 000000000..fa72160ec --- /dev/null +++ b/dkan/libraries/symfonyserializer/Tests/Fixtures/GroupDummyChild.php @@ -0,0 +1,33 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Serializer\Tests\Fixtures; + +class GroupDummyChild extends GroupDummy +{ + private $baz; + + /** + * @return mixed + */ + public function getBaz() + { + return $this->baz; + } + + /** + * @param mixed $baz + */ + public function setBaz($baz) + { + $this->baz = $baz; + } +} diff --git a/dkan/libraries/symfonyserializer/Tests/Normalizer/CustomNormalizerTest.php b/dkan/libraries/symfonyserializer/Tests/Normalizer/CustomNormalizerTest.php index a3c3c1a0e..e5d0d4457 100644 --- a/dkan/libraries/symfonyserializer/Tests/Normalizer/CustomNormalizerTest.php +++ b/dkan/libraries/symfonyserializer/Tests/Normalizer/CustomNormalizerTest.php @@ -56,6 +56,18 @@ public function testDeserialize() $this->assertNull($obj->xmlFoo); } + public function testDenormalizeWithObjectToPopulateUsesProvidedObject() + { + $expected = new ScalarDummy(); + $obj = $this->normalizer->denormalize('foo', ScalarDummy::class, 'json', array( + 'object_to_populate' => $expected, + )); + + $this->assertSame($expected, $obj); + $this->assertEquals('foo', $obj->foo); + $this->assertNull($obj->xmlFoo); + } + public function testSupportsNormalization() { $this->assertTrue($this->normalizer->supportsNormalization(new ScalarDummy())); diff --git a/dkan/libraries/symfonyserializer/Tests/Normalizer/ObjectToPopulateTraitTest.php b/dkan/libraries/symfonyserializer/Tests/Normalizer/ObjectToPopulateTraitTest.php new file mode 100644 index 000000000..def71e5de --- /dev/null +++ b/dkan/libraries/symfonyserializer/Tests/Normalizer/ObjectToPopulateTraitTest.php @@ -0,0 +1,47 @@ +<?php + +namespace Symfony\Component\Serializer\Tests\Normalizer; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\Serializer\Normalizer\ObjectToPopulateTrait; +use Symfony\Component\Serializer\Tests\Fixtures\ProxyDummy; + +class ObjectToPopulateTraitTest extends TestCase +{ + use ObjectToPopulateTrait; + + public function testExtractObjectToPopulateReturnsNullWhenKeyIsMissing() + { + $object = $this->extractObjectToPopulate(ProxyDummy::class, array()); + + $this->assertNull($object); + } + + public function testExtractObjectToPopulateReturnsNullWhenNonObjectIsProvided() + { + $object = $this->extractObjectToPopulate(ProxyDummy::class, array( + 'object_to_populate' => 'not an object', + )); + + $this->assertNull($object); + } + + public function testExtractObjectToPopulateReturnsNullWhenTheClassIsNotAnInstanceOfTheProvidedClass() + { + $object = $this->extractObjectToPopulate(ProxyDummy::class, array( + 'object_to_populate' => new \stdClass(), + )); + + $this->assertNull($object); + } + + public function testExtractObjectToPopulateReturnsObjectWhenEverythingChecksOut() + { + $expected = new ProxyDummy(); + $object = $this->extractObjectToPopulate(ProxyDummy::class, array( + 'object_to_populate' => $expected, + )); + + $this->assertSame($expected, $object); + } +} diff --git a/dkan/libraries/symfonyserializer/Tests/Normalizer/PropertyNormalizerTest.php b/dkan/libraries/symfonyserializer/Tests/Normalizer/PropertyNormalizerTest.php index 73b5f689c..954de0b03 100644 --- a/dkan/libraries/symfonyserializer/Tests/Normalizer/PropertyNormalizerTest.php +++ b/dkan/libraries/symfonyserializer/Tests/Normalizer/PropertyNormalizerTest.php @@ -20,6 +20,7 @@ use Symfony\Component\Serializer\Serializer; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Serializer\Tests\Fixtures\GroupDummy; +use Symfony\Component\Serializer\Tests\Fixtures\GroupDummyChild; use Symfony\Component\Serializer\Tests\Fixtures\MaxDepthDummy; use Symfony\Component\Serializer\Tests\Fixtures\PropertyCircularReferenceDummy; use Symfony\Component\Serializer\Tests\Fixtures\PropertySiblingHolder; @@ -65,6 +66,35 @@ public function testDenormalize() $this->assertEquals('bar', $obj->getBar()); } + public function testNormalizeWithParentClass() + { + $group = new GroupDummyChild(); + $group->setBaz('baz'); + $group->setFoo('foo'); + $group->setBar('bar'); + $group->setKevin('Kevin'); + $group->setCoopTilleuls('coop'); + $this->assertEquals( + array('foo' => 'foo', 'bar' => 'bar', 'kevin' => 'Kevin', + 'coopTilleuls' => 'coop', 'fooBar' => null, 'symfony' => null, 'baz' => 'baz', ), + $this->normalizer->normalize($group, 'any') + ); + } + + public function testDenormalizeWithParentClass() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => 'bar', 'kevin' => 'Kevin', 'baz' => 'baz'), + GroupDummyChild::class, + 'any' + ); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->getBar()); + $this->assertEquals('Kevin', $obj->getKevin()); + $this->assertEquals('baz', $obj->getBaz()); + $this->assertNull($obj->getSymfony()); + } + public function testConstructorDenormalize() { $obj = $this->normalizer->denormalize( @@ -147,12 +177,14 @@ public function testGroupsNormalize() 'bar' => 'bar', ), $this->normalizer->normalize($obj, null, array(PropertyNormalizer::GROUPS => array('c')))); - // The PropertyNormalizer is not able to hydrate properties from parent classes + // The PropertyNormalizer is also able to hydrate properties from parent classes $this->assertEquals(array( 'symfony' => 'symfony', 'foo' => 'foo', 'fooBar' => 'fooBar', 'bar' => 'bar', + 'kevin' => 'kevin', + 'coopTilleuls' => 'coopTilleuls', ), $this->normalizer->normalize($obj, null, array(PropertyNormalizer::GROUPS => array('a', 'c')))); } diff --git a/dkan/libraries/symfonyserializer/composer.json b/dkan/libraries/symfonyserializer/composer.json index 068696cc6..578e29f2b 100644 --- a/dkan/libraries/symfonyserializer/composer.json +++ b/dkan/libraries/symfonyserializer/composer.json @@ -31,6 +31,7 @@ "phpdocumentor/reflection-docblock": "^3.0|^4.0" }, "conflict": { + "phpdocumentor/type-resolver": "<0.2.1", "symfony/dependency-injection": "<3.4", "symfony/property-access": "<3.4", "symfony/property-info": "<3.4", diff --git a/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.api.php b/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.api.php index 29d26f5ed..80026c677 100755 --- a/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.api.php +++ b/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.api.php @@ -1,5 +1,4 @@ <?php -// $Id$ /** * @file @@ -12,24 +11,26 @@ * When you want to use the Autocomplete Deluxe element, you have to choose * between two types sources for the suggestion data: Ajax Callbacks or Lists. * You can set the source type by using the appropriate options: - * - #autocomplete_deluxe_path expects a string with an url, that points to the ajax - * callback. The response should be encoded as json(like for the core + * - #autocomplete_deluxe_path expects a string with an url, that points to the + * ajax callback. The response should be encoded as json (like for the core * autocomplete). - * - #autocomplete_options needs an array in the form of an array(similar to #options in core - * for selects or checkboxes): array('a', 'b', 'c') or array(1 => 'a', 2 => - * 'b', 3 => 'c'). + * - #autocomplete_options needs an array in the form of an array (similar to + * #options in core for selects or checkboxes): array('a', 'b', 'c') or + * array(1 => 'a', 2 => 'b', 3 => 'c'). * - * Besides this two, there are three other options, wich autocomplete deluxe + * Besides these two, there are four other options which autocomplete deluxe * accepts: * - #multiple Indicates whether the user may select more than one item. Expects * TRUE or FALSE, by default it is set to FALSE. - * - #autocomplete_multiple_delimiter If #multiple is TRUE, then you can use - * this option to set a seperator for multiple values. By default a string - * with the follwing content will be used: ', '. - * - #autocomplete_min_length Indicates how many characters must be entered - * until, the suggesion list can be opened. Especially helpfull, when your + * - #delimiter If #multiple is TRUE, then you can use this option to set a + * seperator for multiple values. By default a string with the following + * content will be used: ', '. + * - #min_length Indicates how many characters must be entered + * until, the suggesion list can be opened. Especially helpful, when your * ajax callback returns only valid suggestion for a minimum characters. * The default is 0. + * - #not_found_message A message text which will be displayed, if the entered + * term was not found. */ function somefunction() { switch ($type) { @@ -38,16 +39,18 @@ function somefunction() { '#type' => 'autocomplete_deluxe', '#autocomplete_options' => $options, '#multiple' => FALSE, - '#autocomplete_min_length' => 0, + '#min_length' => 0, ); break; + case 'ajax': $element = array( '#type' => 'autocomplete_deluxe', '#autocomplete_deluxe_path' => url('some_uri', array('absolute' => TRUE)), '#multiple' => TRUE, - '#autocomplete_min_length' => 1, - '#autocomplete_multiple_delimiter' => '|', + '#min_length' => 1, + '#delimiter' => '|', + '#not_found_message' => "The term '@term' will be added.", ); break; } diff --git a/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.info b/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.info index 42af1bb4a..9e31eb7c5 100644 --- a/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.info +++ b/dkan/modules/contrib/autocomplete_deluxe/autocomplete_deluxe.info @@ -5,9 +5,9 @@ core = 7.x files[] = autocomplete_deluxe.module dependencies[] = taxonomy -; Information added by Drupal.org packaging script on 2017-01-11 -version = "7.x-2.2" +; Information added by Drupal.org packaging script on 2017-07-25 +version = "7.x-2.3" core = "7.x" project = "autocomplete_deluxe" -datestamp = "1484128687" +datestamp = "1501005546" diff --git a/dkan/modules/contrib/better_exposed_filters/better_exposed_filters.info b/dkan/modules/contrib/better_exposed_filters/better_exposed_filters.info index ba8f6ce34..a0b782d75 100644 --- a/dkan/modules/contrib/better_exposed_filters/better_exposed_filters.info +++ b/dkan/modules/contrib/better_exposed_filters/better_exposed_filters.info @@ -7,9 +7,9 @@ dependencies[] = views files[] = better_exposed_filters_exposed_form_plugin.inc files[] = tests/better_exposed_filters.test -; Information added by Drupal.org packaging script on 2017-02-01 -version = "7.x-3.4" +; Information added by Drupal.org packaging script on 2017-10-25 +version = "7.x-3.5" core = "7.x" project = "better_exposed_filters" -datestamp = "1485926287" +datestamp = "1508952850" diff --git a/dkan/modules/contrib/better_exposed_filters/better_exposed_filters_exposed_form_plugin.inc b/dkan/modules/contrib/better_exposed_filters/better_exposed_filters_exposed_form_plugin.inc index 4cdc074f5..eb679fba3 100644 --- a/dkan/modules/contrib/better_exposed_filters/better_exposed_filters_exposed_form_plugin.inc +++ b/dkan/modules/contrib/better_exposed_filters/better_exposed_filters_exposed_form_plugin.inc @@ -849,7 +849,7 @@ dateFormat: "dd-mm-yy" $secondary = array( '#type' => 'fieldset', - '#title' => $settings['general']['secondary_label'], + '#title' => filter_xss_admin($settings['general']['secondary_label']), '#collapsible' => TRUE, '#collapsed' => $secondary_collapse, '#theme' => 'secondary_exposed_elements', @@ -1048,7 +1048,7 @@ dateFormat: "dd-mm-yy" '#type' => 'fieldset', '#collapsible' => TRUE, '#collapsed' => TRUE, - '#title' => $settings['sort']['advanced']['collapsible_label'], + '#title' => filter_xss_admin($settings['sort']['advanced']['collapsible_label']), ); foreach ($sort_elems as $elem) { $form['bef_sort_options'][$elem] = $form[$elem]; diff --git a/dkan/modules/contrib/better_exposed_filters/tests/bef_test_content/bef_test_content.info b/dkan/modules/contrib/better_exposed_filters/tests/bef_test_content/bef_test_content.info index bf81fff30..7ac42b846 100644 --- a/dkan/modules/contrib/better_exposed_filters/tests/bef_test_content/bef_test_content.info +++ b/dkan/modules/contrib/better_exposed_filters/tests/bef_test_content/bef_test_content.info @@ -41,9 +41,9 @@ features_exclude[field][node-bef_test-field_price] = node-bef_test-field_price features_exclude[field][node-bef_test-field_date] = node-bef_test-field_date hidden = 1 -; Information added by Drupal.org packaging script on 2017-02-01 -version = "7.x-3.4" +; Information added by Drupal.org packaging script on 2017-10-25 +version = "7.x-3.5" core = "7.x" project = "better_exposed_filters" -datestamp = "1485926287" +datestamp = "1508952850" diff --git a/dkan/modules/contrib/file_entity/admin_views_default/file.admin-content-file.inc b/dkan/modules/contrib/file_entity/admin_views_default/file.admin-content-file.inc index c108497ca..dc2f0de58 100644 --- a/dkan/modules/contrib/file_entity/admin_views_default/file.admin-content-file.inc +++ b/dkan/modules/contrib/file_entity/admin_views_default/file.admin-content-file.inc @@ -33,78 +33,78 @@ $handler->display->display_options['pager']['options']['id'] = '0'; $handler->display->display_options['pager']['options']['quantity'] = '9'; $handler->display->display_options['style_plugin'] = 'table'; $handler->display->display_options['style_options']['columns'] = array( - 'views_bulk_operations' => 'views_bulk_operations', - 'filename' => 'filename', - 'type' => 'type', - 'name' => 'name', - 'filesize' => 'filesize', - 'timestamp' => 'timestamp', - 'edit' => 'edit', - 'delete' => 'delete', + 'views_bulk_operations' => 'views_bulk_operations', + 'filename' => 'filename', + 'type' => 'type', + 'name' => 'name', + 'filesize' => 'filesize', + 'timestamp' => 'timestamp', + 'edit' => 'edit', + 'delete' => 'delete', ); $handler->display->display_options['style_options']['default'] = 'timestamp'; $handler->display->display_options['style_options']['info'] = array( - 'views_bulk_operations' => array( - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'filename' => array( - 'sortable' => 1, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'type' => array( - 'sortable' => 1, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'name' => array( - 'sortable' => 1, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'filesize' => array( - 'sortable' => 1, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'timestamp' => array( - 'sortable' => 1, - 'default_sort_order' => 'desc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'edit' => array( - 'sortable' => 0, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'usage' => array( - 'sortable' => 1, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), - 'delete' => array( - 'sortable' => 0, - 'default_sort_order' => 'asc', - 'align' => '', - 'separator' => '', - 'empty_column' => 0, - ), + 'views_bulk_operations' => array( + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'filename' => array( + 'sortable' => 1, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'type' => array( + 'sortable' => 1, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'name' => array( + 'sortable' => 1, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'filesize' => array( + 'sortable' => 1, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'timestamp' => array( + 'sortable' => 1, + 'default_sort_order' => 'desc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'edit' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'usage' => array( + 'sortable' => 1, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), + 'delete' => array( + 'sortable' => 0, + 'default_sort_order' => 'asc', + 'align' => '', + 'separator' => '', + 'empty_column' => 0, + ), ); $handler->display->display_options['style_options']['sticky'] = TRUE; $handler->display->display_options['style_options']['empty_table'] = TRUE; @@ -130,67 +130,67 @@ $handler->display->display_options['fields']['views_bulk_operations']['vbo_setti $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['force_single'] = 0; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['entity_load_capacity'] = '10'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_operations'] = array( - 'action::views_bulk_operations_archive_action' => array( - 'selected' => 1, - 'postpone_processing' => 0, - 'skip_confirmation' => 0, - 'override_label' => 1, - 'label' => 'Archive', - 'settings' => array( - 'scheme' => 'public', - 'temporary' => 1, - ), - ), - 'action::views_bulk_operations_delete_item' => array( - 'selected' => 1, - 'postpone_processing' => 0, - 'skip_confirmation' => 0, - 'override_label' => 1, - 'label' => 'Delete', - ), - 'action::views_bulk_operations_script_action' => array( - 'selected' => 0, - 'postpone_processing' => 0, - 'skip_confirmation' => 0, - 'override_label' => 0, - 'label' => '', + 'action::views_bulk_operations_archive_action' => array( + 'selected' => 1, + 'postpone_processing' => 0, + 'skip_confirmation' => 0, + 'override_label' => 1, + 'label' => 'Archive', + 'settings' => array( + 'scheme' => 'public', + 'temporary' => 1, ), - 'action::views_bulk_operations_modify_action' => array( - 'selected' => 1, - 'postpone_processing' => 0, - 'skip_confirmation' => 1, - 'override_label' => 1, - 'label' => 'Change value', - 'settings' => array( - 'show_all_tokens' => 1, - 'display_values' => array( - '_all_' => '_all_', - ), + ), + 'action::views_bulk_operations_delete_item' => array( + 'selected' => 1, + 'postpone_processing' => 0, + 'skip_confirmation' => 0, + 'override_label' => 1, + 'label' => 'Delete', + ), + 'action::views_bulk_operations_script_action' => array( + 'selected' => 0, + 'postpone_processing' => 0, + 'skip_confirmation' => 0, + 'override_label' => 0, + 'label' => '', + ), + 'action::views_bulk_operations_modify_action' => array( + 'selected' => 1, + 'postpone_processing' => 0, + 'skip_confirmation' => 1, + 'override_label' => 1, + 'label' => 'Change value', + 'settings' => array( + 'show_all_tokens' => 1, + 'display_values' => array( + '_all_' => '_all_', ), ), - 'action::views_bulk_operations_argument_selector_action' => array( - 'selected' => 0, - 'skip_confirmation' => 0, - 'override_label' => 0, - 'label' => '', - 'settings' => array( - 'url' => '', - ), - ), - 'action::system_send_email_action' => array( - 'selected' => 0, - 'postpone_processing' => 0, - 'skip_confirmation' => 0, - 'override_label' => 0, - 'label' => '', - ), - 'action::panelizer_set_status_action' => array( - 'selected' => 0, - 'postpone_processing' => 0, - 'skip_confirmation' => 0, - 'override_label' => 0, - 'label' => '', + ), + 'action::views_bulk_operations_argument_selector_action' => array( + 'selected' => 0, + 'skip_confirmation' => 0, + 'override_label' => 0, + 'label' => '', + 'settings' => array( + 'url' => '', ), + ), + 'action::system_send_email_action' => array( + 'selected' => 0, + 'postpone_processing' => 0, + 'skip_confirmation' => 0, + 'override_label' => 0, + 'label' => '', + ), + 'action::panelizer_set_status_action' => array( + 'selected' => 0, + 'postpone_processing' => 0, + 'skip_confirmation' => 0, + 'override_label' => 0, + 'label' => '', + ), ); /* Field: File: Name */ $handler->display->display_options['fields']['filename']['id'] = 'filename'; @@ -267,9 +267,9 @@ $handler->display->display_options['filters']['filename']['expose']['operator'] $handler->display->display_options['filters']['filename']['expose']['identifier'] = 'filename'; $handler->display->display_options['filters']['filename']['expose']['remember'] = TRUE; $handler->display->display_options['filters']['filename']['expose']['remember_roles'] = array( - 2 => '2', - 1 => 0, - 3 => 0, + 2 => '2', + 1 => 0, + 3 => 0, ); /* Filter criterion: File: Type */ $handler->display->display_options['filters']['type']['id'] = 'type'; @@ -283,9 +283,9 @@ $handler->display->display_options['filters']['type']['expose']['operator'] = 't $handler->display->display_options['filters']['type']['expose']['identifier'] = 'type'; $handler->display->display_options['filters']['type']['expose']['remember'] = TRUE; $handler->display->display_options['filters']['type']['expose']['remember_roles'] = array( - 2 => '2', - 1 => 0, - 3 => 0, + 2 => '2', + 1 => 0, + 3 => 0, ); /* Filter criterion: User: Name */ $handler->display->display_options['filters']['uid']['id'] = 'uid'; @@ -301,9 +301,9 @@ $handler->display->display_options['filters']['uid']['expose']['operator'] = 'ui $handler->display->display_options['filters']['uid']['expose']['identifier'] = 'uid'; $handler->display->display_options['filters']['uid']['expose']['remember'] = TRUE; $handler->display->display_options['filters']['uid']['expose']['remember_roles'] = array( - 2 => '2', - 1 => 0, - 3 => 0, + 2 => '2', + 1 => 0, + 3 => 0, ); /* Display: System */ diff --git a/dkan/modules/contrib/file_entity/file_entity.admin.inc b/dkan/modules/contrib/file_entity/file_entity.admin.inc index 3e3097b20..2f5a1ae92 100644 --- a/dkan/modules/contrib/file_entity/file_entity.admin.inc +++ b/dkan/modules/contrib/file_entity/file_entity.admin.inc @@ -1,4 +1,5 @@ <?php + /** * @file * File administration and module settings UI. @@ -178,7 +179,7 @@ function file_entity_filter_form_submit($form, &$form_state) { * Array of key/value pairs with file field names and the * value to update that field to. */ -function file_entity_mass_update($files, $updates) { +function file_entity_mass_update(array $files, array $updates) { // We use batch processing to prevent timeout when updating a large number // of files. if (count($files) > 10) { @@ -323,17 +324,26 @@ function file_entity_admin_files() { 'timestamp' => array( 'data' => t('Updated'), 'field' => 'fm.timestamp', - 'sort' => 'desc'), + 'sort' => 'desc', + ), 'usage' => array('data' => t('Used in'), 'field' => 'total_count'), 'operations' => array('data' => t('Operations')), ); + if (variable_get('file_entity_total_count_optimization', FALSE)) { + // If the total_count is being retrieved by subqueries, + // the table is not sortable by this column. + unset($header['usage']['field']); + } + $query = db_select('file_managed', 'fm')->extend('PagerDefault')->extend('TableSort'); - $query->leftJoin('file_usage', 'fu', 'fm.fid = fu.fid'); - $query->groupBy('fm.fid'); - $query->groupBy('fm.uid'); - $query->groupBy('fm.timestamp'); - $query->addExpression('SUM(fu.count)', 'total_count'); + if (!variable_get('file_entity_total_count_optimization', FALSE)) { + $query->leftJoin('file_usage', 'fu', 'fm.fid = fu.fid'); + $query->groupBy('fm.fid'); + $query->groupBy('fm.uid'); + $query->groupBy('fm.timestamp'); + $query->addExpression('SUM(fu.count)', 'total_count'); + } file_entity_build_filter_query($query); $result = $query @@ -343,6 +353,24 @@ function file_entity_admin_files() { ->addTag('file_access') ->execute() ->fetchAllAssoc('fid'); + + if (variable_get('file_entity_total_count_optimization', FALSE)) { + // Get the total_count in separate queries, otherwise the main + // query will take too long. + // This setting can be configured under /admin/config/development/performance. + foreach ($result as &$file_result) { + $count_query = db_select('file_usage', 'fu') + ->fields('fu', array('fid', 'count')) + ->condition('fu.fid', $file_result->fid, '='); + $count_query->addExpression('SUM(fu.count)', 'total_count'); + $count_result = $count_query->execute()->fetchAll(); + + if (!empty($count_result[0]->total_count)) { + $file_result->total_count = $count_result[0]->total_count; + } + } + } + $files = file_load_multiple(array_keys($result)); $uids = array(); @@ -357,6 +385,7 @@ function file_entity_admin_files() { foreach ($files as $file) { $file_type = file_type_load($file->type); $account = isset($accounts[$file->uid]) ? $accounts[$file->uid] : NULL; + $total_count = (int) isset($result[$file->fid]->total_count) ? $result[$file->fid]->total_count : 0; $options[$file->fid] = array( 'title' => array( 'data' => array( @@ -369,7 +398,7 @@ function file_entity_admin_files() { 'size' => format_size($file->filesize), 'author' => theme('username', array('account' => $account)), 'timestamp' => format_date($file->timestamp, 'short'), - 'usage' => format_plural((int) $result[$file->fid]->total_count, '1 place', '@count places'), + 'usage' => format_plural($total_count, '1 place', '@count places'), ); // Show a warning for files that do not exist. @@ -931,7 +960,6 @@ function file_entity_file_type_form_submit($form, &$form_state) { $form_state['redirect'] = 'admin/structure/file-types'; } - /** * Menu callback; disable a single file type. */ @@ -942,7 +970,6 @@ function file_entity_type_enable_confirm($form, &$form_state, $type) { return confirm_form($form, $message, 'admin/structure/file-types', '', t('Enable')); } - /** * Process file type disable confirm submissions. */ @@ -952,10 +979,8 @@ function file_entity_type_enable_confirm_submit($form, &$form_state) { drupal_set_message(t('The file type %label has been enabled.', $t_args)); watchdog('file_entity', 'Enabled file type %label.', $t_args, WATCHDOG_NOTICE); $form_state['redirect'] = 'admin/structure/file-types'; - return; } - /** * Menu callback; disable a single file type. */ @@ -989,10 +1014,8 @@ function file_entity_type_disable_confirm_submit($form, &$form_state) { drupal_set_message(t('The file type %label has been disabled.', $t_args)); watchdog('file_entity', 'Disabled file type %label.', $t_args, WATCHDOG_NOTICE); $form_state['redirect'] = 'admin/structure/file-types'; - return; } - /** * Menu callback; revert a single file type. */ @@ -1003,7 +1026,6 @@ function file_entity_type_revert_confirm($form, &$form_state, $type) { return confirm_form($form, $message, 'admin/structure/file-types', '', t('Revert')); } - /** * Process file type delete confirm submissions. */ @@ -1014,10 +1036,8 @@ function file_entity_type_revert_confirm_submit($form, &$form_state) { drupal_set_message(t('The file type %label has been reverted.', $t_args)); watchdog('file_entity', 'Reverted file type %label.', $t_args, WATCHDOG_NOTICE); $form_state['redirect'] = 'admin/structure/file-types'; - return; } - /** * Menu callback; delete a single file type. */ @@ -1049,7 +1069,6 @@ function file_entity_type_delete_confirm_submit($form, &$form_state) { watchdog('file_entity', 'Deleted file type %label.', $t_args, WATCHDOG_NOTICE); $form_state['redirect'] = 'admin/structure/file-types'; - return; } /** @@ -1065,11 +1084,28 @@ function file_entity_settings_form($form, &$form_state) { '#element_validate' => array('_file_generic_settings_max_filesize'), ); + $form['file_entity_default_file_directory'] = array( + '#type' => 'textfield', + '#title' => t('Default file directory'), + '#default_value' => variable_get('file_entity_default_file_directory', ''), + '#maxlength' => NULL, + ); + if (module_exists('token')) { + $form['file_entity_default_file_directory']['#description'] = t('Optional subdirectory within the upload destination where files will be stored if the file is uploaded through the file entity overview page and the directory is not specified otherwise. Do not include preceding or trailing slashes. This field supports tokens. Suggest using: [current-date:custom:Y]/[current-date:custom:m]/[current-date:custom:d]'); + $form['file_entity_default_file_directory']['tokens'] = array( + '#theme' => 'token_tree', + '#dialog' => TRUE, + ); + } + else { + $form['file_entity_default_file_directory']['#description'] = t('Optional subdirectory within the upload destination where files will be stored if the file is uploaded through the file entity overview page and the directory is not specified otherwise. Do not include preceding or trailing slashes.'); + } + $form['file_entity_default_allowed_extensions'] = array( '#type' => 'textfield', '#title' => t('Default allowed file extensions'), '#default_value' => variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'), - '#description' => t('Separate extensions with a space or comma and do not include the leading dot.'), + '#description' => t('Separate extensions with a space and do not include the leading dot.'), '#maxlength' => NULL, ); diff --git a/dkan/modules/contrib/file_entity/file_entity.api.php b/dkan/modules/contrib/file_entity/file_entity.api.php index 3a7368124..01c6e881d 100644 --- a/dkan/modules/contrib/file_entity/file_entity.api.php +++ b/dkan/modules/contrib/file_entity/file_entity.api.php @@ -78,7 +78,7 @@ function hook_file_formatter_info() { * Array of information on file formatters exposed by * hook_file_formatter_info() implementations. */ -function hook_file_formatter_info_alter(&$info) { +function hook_file_formatter_info_alter(array &$info) { // @todo Add example. } @@ -170,7 +170,7 @@ function hook_file_operations() { * - "delete" * - "update" * - "view" - * - "download" + * - "download". * @param object $file * The file on which the operation is to be performed, or, if it does * not yet exist, the type of file to be created. @@ -178,7 +178,7 @@ function hook_file_operations() { * A user object representing the user for whom the operation is to be * performed. * - * @return string|NULL + * @return string|null * FILE_ENTITY_ACCESS_ALLOW if the operation is to be allowed; * FILE_ENTITY_ACCESS_DENY if the operation is to be denied; * FILE_ENTITY_ACCESS_IGNORE to not affect this operation at all. @@ -377,7 +377,7 @@ function hook_file_type($file) { * @param object $file * File object. */ -function hook_file_type_alter(&$types, $file) { +function hook_file_type_alter(array &$types, $file) { // Choose a specific, non-first, file type. $types = array($types[4]); } diff --git a/dkan/modules/contrib/file_entity/file_entity.devel_generate.inc b/dkan/modules/contrib/file_entity/file_entity.devel_generate.inc index 05842c304..7de4483e1 100644 --- a/dkan/modules/contrib/file_entity/file_entity.devel_generate.inc +++ b/dkan/modules/contrib/file_entity/file_entity.devel_generate.inc @@ -5,6 +5,11 @@ * Devel generate integration for the File Entity module. */ +/** + * Devel generate file form. + * + * Options for Devel generate file integration. + */ function file_entity_generate_file_form() { $form['count'] = array( '#type' => 'textfield', @@ -32,12 +37,18 @@ function file_entity_generate_file_form() { return $form; } +/** + * Implements hook_ID_form_submit(). + */ function file_entity_generate_file_form_submit(&$form, &$form_state) { $file_types = array_values(array_filter($form_state['values']['file_types'])); $batch = file_entity_generate_file_batch_info($form_state['values']['count'], $file_types, $form_state['values']['delete']); batch_set($batch); } +/** + * Implements hook_batch_info(). + */ function file_entity_generate_file_batch_info($count, array $file_types = array(), $delete = FALSE) { if (empty($file_types)) { $file_types = array_keys(file_entity_type_get_names()); @@ -56,6 +67,9 @@ function file_entity_generate_file_batch_info($count, array $file_types = array( ); } +/** + * Implements hook_batch_delete(). + */ function file_entity_generate_file_batch_delete(array $file_types, array &$context) { if (empty($context['sandbox'])) { $context['sandbox'] = array(); @@ -80,6 +94,9 @@ function file_entity_generate_file_batch_delete(array $file_types, array &$conte } } +/** + * Implements hook_generate_file_batch_generate() using Devel generate api. + */ function file_entity_generate_file_batch_generate(array $file_types, $num, array &$context) { if (empty($context['sandbox'])) { module_load_include('inc', 'devel_generate'); @@ -114,6 +131,9 @@ function file_entity_generate_file_batch_generate(array $file_types, $num, array } } +/** + * When the batch is finished set a status message. + */ function file_entity_generate_file_batch_finished($success, $results, $operations) { if ($success) { drupal_set_message(format_plural(count($results), 'One file created.', '@count files created.')); @@ -126,6 +146,9 @@ function file_entity_generate_file_batch_finished($success, $results, $operation } } +/** + * Generate file function for file_entity. + */ function file_entity_generate_file($file_type) { $type = file_type_load($file_type); $possible_extensions = file_type_get_valid_extensions($type); diff --git a/dkan/modules/contrib/file_entity/file_entity.field.inc b/dkan/modules/contrib/file_entity/file_entity.field.inc index 4f7a11b45..fa47a0379 100644 --- a/dkan/modules/contrib/file_entity/file_entity.field.inc +++ b/dkan/modules/contrib/file_entity/file_entity.field.inc @@ -34,6 +34,10 @@ function file_entity_field_formatter_info() { 'field types' => array('file'), 'settings' => array( 'controls' => TRUE, + 'controls_list' => array( + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => FALSE, 'loop' => FALSE, 'preload' => '', @@ -49,6 +53,11 @@ function file_entity_field_formatter_info() { 'field types' => array('file'), 'settings' => array( 'controls' => TRUE, + 'controls_list' => array( + 'fullscreen' => 'fullscreen', + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => FALSE, 'loop' => FALSE, 'muted' => FALSE, @@ -123,6 +132,16 @@ function file_entity_field_formatter_settings_form($field, $instance, $view_mode '#type' => 'checkbox', '#default_value' => $settings['controls'], ); + $element['controls_list'] = array( + '#title' => t('Controls list'), + '#type' => 'checkboxes', + '#options' => array( + 'download' => t('Download'), + 'remote_playback' => t('Remote playback'), + ), + '#default_value' => $settings['controls_list'], + '#description' => t("Customize native media controls such as the download and remoteplayback buttons. Valid only if above \"Show audio controls\" setting is enabled.<br>Please note that not all browsers support this feature. Only Chrome 58+ and Opera 45+ supports it."), + ); $element['autoplay'] = array( '#title' => t('Autoplay'), '#type' => 'checkbox', @@ -159,6 +178,17 @@ function file_entity_field_formatter_settings_form($field, $instance, $view_mode '#type' => 'checkbox', '#default_value' => $settings['controls'], ); + $element['controls_list'] = array( + '#title' => t('Controls list'), + '#type' => 'checkboxes', + '#options' => array( + 'fullscreen' => t('Fullscreen'), + 'download' => t('Download'), + 'remote_playback' => t('Remote playback'), + ), + '#default_value' => $settings['controls_list'], + '#description' => t("Customize native media controls such as the download, fullscreen and remoteplayback buttons. Valid only if above \"Show video controls\" setting is enabled.<br>Please note that not all browsers support this feature. Only Chrome 58+ and Opera 45+ supports it."), + ); $element['autoplay'] = array( '#title' => t('Autoplay'), '#type' => 'checkbox', @@ -231,6 +261,17 @@ function file_entity_field_formatter_settings_summary($field, $instance, $view_m elseif ($display['type'] === 'file_audio') { if (isset($settings['controls'])) { $summary[] = t('Controls: %controls', array('%controls' => $settings['controls'] ? 'visible' : 'hidden')); + if (!empty($settings['controls_list'])) { + $controls_list = array(); + foreach ($settings['controls_list'] as $key => $value) { + if ($value) { + $controls_list[] = ucfirst(str_replace('_', ' ', $key)); + } + } + if (!empty($controls_list)) { + $summary[] = t('Controls list: %controls_list', array('%controls_list' => implode(', ', $controls_list))); + } + } } if (isset($settings['autoplay'])) { $summary[] = t('Autoplay: %autoplay', array('%autoplay' => $settings['autoplay'] ? t('yes') : t('no'))); @@ -248,6 +289,17 @@ function file_entity_field_formatter_settings_summary($field, $instance, $view_m elseif ($display['type'] === 'file_video') { if (isset($settings['controls'])) { $summary[] = t('Controls: %controls', array('%controls' => $settings['controls'] ? 'visible' : 'hidden')); + if (!empty($settings['controls_list'])) { + $controls_list = array(); + foreach ($settings['controls_list'] as $key => $value) { + if ($value) { + $controls_list[] = ucfirst(str_replace('_', ' ', $key)); + } + } + if (!empty($controls_list)) { + $summary[] = t('Controls list: %controls_list', array('%controls_list' => implode(', ', $controls_list))); + } + } } if (isset($settings['autoplay'])) { $summary[] = t('Autoplay: %autoplay', array('%autoplay' => $settings['autoplay'] ? t('yes') : t('no'))); @@ -356,6 +408,12 @@ function file_entity_field_formatter_view($entity_type, $entity, $field, $instan $items = array_filter($items); foreach ($items as $delta => $item) { if (!empty($item['fid']) && ($file = file_load($item['fid'])) && file_entity_access('download', $file)) { + if (isset($item['display'])) { + $file->display = $item['display']; + } + if (isset($item['description'])) { + $file->description = $item['description']; + } $element[$delta] = array( '#theme' => 'file_entity_download_link', '#file' => $file, @@ -391,6 +449,7 @@ function file_entity_field_formatter_view($entity_type, $entity, $field, $instan '#theme' => 'file_entity_file_audio', '#files' => $sources, '#controls' => $settings['controls'], + '#controls_list' => $settings['controls_list'], '#autoplay' => $settings['autoplay'], '#loop' => $settings['loop'], '#preload' => $settings['preload'], @@ -424,6 +483,7 @@ function file_entity_field_formatter_view($entity_type, $entity, $field, $instan '#theme' => 'file_entity_file_video', '#files' => $sources, '#controls' => $settings['controls'], + '#controls_list' => $settings['controls_list'], '#autoplay' => $settings['autoplay'], '#loop' => $settings['loop'], '#muted' => $settings['muted'], diff --git a/dkan/modules/contrib/file_entity/file_entity.file.inc b/dkan/modules/contrib/file_entity/file_entity.file.inc index ef505b4d7..96c5a1e08 100644 --- a/dkan/modules/contrib/file_entity/file_entity.file.inc +++ b/dkan/modules/contrib/file_entity/file_entity.file.inc @@ -150,16 +150,12 @@ function file_entity_file_delete($file) { * Implements hook_file_mimetype_mapping_alter(). */ function file_entity_file_mimetype_mapping_alter(&$mapping) { - // Add support for mka and mkv. - // @todo Remove when http://drupal.org/node/1443070 is fixed in core. - $new_mappings['mka'] = 'audio/x-matroska'; - $new_mappings['mkv'] = 'video/x-matroska'; + // For info on adding new mime-types to core: http://drupal.org/node/1443070. - // Add support for weba, webm, and webp. - // @todo Remove when http://drupal.org/node/1443070 is fixed in core. - $new_mappings['weba'] = 'audio/webm'; - $new_mappings['webm'] = 'video/webm'; - $new_mappings['webp'] = 'image/webp'; + // @todo. Remove after fixing this in core http://drupal.org/node/2912875. + // Add support for autocad drawings. + $new_mappings['dwg'] = 'application/acad'; + // For info on adding new mime-types to file_entity: drupal.org/node/2900830. foreach ($new_mappings as $extension => $mime_type) { if (!in_array($mime_type, $mapping['mimetypes'])) { @@ -178,48 +174,136 @@ function file_entity_file_mimetype_mapping_alter(&$mapping) { */ function file_entity_file_load($files) { // Add alt and title text to images. + file_entity_set_title_alt_properties($files); + + // Add metadata to each file. + foreach ($files as $file) { + $file->metadata = array(); + } + $results = db_query("SELECT * FROM {file_metadata} WHERE fid IN (:fids)", array(':fids' => array_keys($files))); + + foreach ($results as $result) { + $name = $result->name; + + // image.module required height and width to be properties of the file. + if ($name == 'height' || $name == 'width') { + $files[$result->fid]->$name = unserialize($result->value); + } + + $files[$result->fid]->metadata[$name] = unserialize($result->value); + } +} + +/** + * Implements hook_entitycache_ENTITY_TYPE_load(). + */ +function file_entitycache_file_load($files) { + // Integrates with entitycache - ensures the alt and title text on images is + // localized. + file_entity_set_title_alt_properties($files); +} + +/** + * Implements hook_entity_load(). + */ +function file_entity_entity_load($entities, $entity_type) { + file_entity_set_title_alt_properties_on_file_fields($entities, $entity_type); +} + +/** + * Implements hook_entitycache_load(). + */ +function file_entity_entitycache_load($entities, $entity_type) { + file_entity_set_title_alt_properties_on_file_fields($entities, $entity_type); +} + +/** + * Sets the title / alt properties on file fields attached to entities. + * + * Files attached to a file or image field can be stored in the field cache or + * entity cache for whichever entity that the field is attached to. Because + * $file->alt and $file->title are set in file_entity_file_load() based on the + * current page language, they will go into the cache with that language as + * well. To ensure that the correct language is used when the entity is later + * loaded and displayed in a different language, the alt and title properties + * can be set again using this function. + * + * @param array $entities + * An array of entity objects of the same type. + * @param string $entity_type + * The type of entity. + * + * @see file_entity_entity_load() + * @see file_entity_entitycache_load() + */ +function file_entity_set_title_alt_properties_on_file_fields($entities, $entity_type) { + foreach ($entities as $entity) { + list(, , $bundle) = entity_extract_ids($entity_type, $entity); + foreach (field_info_instances($entity_type, $bundle) as $instance) { + if (!empty($entity->{$instance['field_name']})) { + foreach ($entity->{$instance['field_name']} as &$items) { + foreach ($items as &$item) { + // We need to detect any field items that passed through + // file_field_load(), whether they are files, images, or something + // else. There is no direct way to do that, but checking for a few + // expected file properties on the field item should be sufficient. + if (is_array($item) && !empty($item['fid']) && isset($item['uri']) && isset($item['filename'])) { + $file = (object) $item; + file_entity_set_title_alt_properties(array($file)); + $item = (array) $file; + } + } + } + } + } + } +} + +/** + * Set the title / alt properties of file objects. + * + * @param array $files + * List of file entities. + * @param stdClass $language + * (optional) A language object to use for translating the title and alt + * properties. Defaults to the language of the current request. + */ +function file_entity_set_title_alt_properties($files, $language = NULL) { + if (!isset($language)) { + $language = $GLOBALS['language']; + } + $alt = variable_get('file_entity_alt', '[file:field_file_image_alt_text]'); $title = variable_get('file_entity_title', '[file:field_file_image_title_text]'); $replace_options = array( 'clear' => TRUE, 'sanitize' => FALSE, + 'language' => $language, ); foreach ($files as $file) { - $file->metadata = array(); - // Load alt and title text from fields. if (!empty($alt)) { $output = token_replace($alt, array('file' => $file), $replace_options); - // @todo Remove once https://www.drupal.org/node/1713164 is fixed. - // There is currently no way to get the raw alt text returned from the - // token so we revert the encoding done during tokenization. - $file->alt = decode_entities($output); + if (!empty($output)) { + // @todo Remove once https://www.drupal.org/node/1713164 is fixed. + // There is currently no way to get the raw alt text returned from the + // token so we revert the encoding done during tokenization. + $file->alt = decode_entities($output); + } } if (!empty($title)) { $output = token_replace($title, array('file' => $file), $replace_options); - // @todo Remove once https://www.drupal.org/node/1713164 is fixed. - // There is currently no way to get the raw title text returned from the - // token so we revert the encoding done during tokenization. - $file->title = decode_entities($output); - } - } - - // Load and unserialize metadata. - $results = db_query("SELECT * FROM {file_metadata} WHERE fid IN (:fids)", array(':fids' => array_keys($files))); - - foreach ($results as $result) { - $name = $result->name; - - // image.module required height and width to be properties of the file. - if ($name == 'height' || $name == 'width') { - $files[$result->fid]->$name = unserialize($result->value); + if (!empty($output)) { + // @todo Remove once https://www.drupal.org/node/1713164 is fixed. + // There is currently no way to get the raw title text returned from the + // token so we revert the encoding done during tokenization. + $file->title = decode_entities($output); + } } - - $files[$result->fid]->metadata[$name] = unserialize($result->value); } } diff --git a/dkan/modules/contrib/file_entity/file_entity.file_api.inc b/dkan/modules/contrib/file_entity/file_entity.file_api.inc index 39d643c01..fd5705420 100644 --- a/dkan/modules/contrib/file_entity/file_entity.file_api.inc +++ b/dkan/modules/contrib/file_entity/file_entity.file_api.inc @@ -241,6 +241,19 @@ function file_view_file($file, $displays = 'full', $langcode = NULL) { drupal_alter('file_displays', $displays, $file, $view_mode); _file_sort_array_by_weight($displays); + // Since $file->alt and $file->title were set in file_entity_file_load() + // (which is a language-agnostic hook) they will not be in the correct + // language if the file is being displayed in a language other than the + // default one. Set them again here, using the correct language. This must + // run after hook_file_displays_alter() since the Media module sets + // $file->alt and $file->title again during that hook. + if ($langcode != $GLOBALS['language_content']->language) { + $languages = language_list(); + if (isset($languages[$langcode])) { + file_entity_set_title_alt_properties(array($file), $languages[$langcode]); + } + } + // Attempt to display the file with each of the possible displays. Stop after // the first successful one. See file_displays() for details. $element = NULL; diff --git a/dkan/modules/contrib/file_entity/file_entity.file_default_displays.inc b/dkan/modules/contrib/file_entity/file_entity.file_default_displays.inc index ccf2376a8..a7b396b2f 100644 --- a/dkan/modules/contrib/file_entity/file_entity.file_default_displays.inc +++ b/dkan/modules/contrib/file_entity/file_entity.file_default_displays.inc @@ -18,6 +18,10 @@ function file_entity_file_default_displays() { $file_display->status = TRUE; $file_display->settings = array( 'controls' => 1, + 'controls_list' => array( + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => 0, 'loop' => 0, 'multiple_file_behavior' => 'tags', @@ -39,6 +43,10 @@ function file_entity_file_default_displays() { $file_display->status = TRUE; $file_display->settings = array( 'controls' => 1, + 'controls_list' => array( + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => 0, 'loop' => 0, 'multiple_file_behavior' => 'tags', @@ -139,6 +147,11 @@ function file_entity_file_default_displays() { $file_display->status = TRUE; $file_display->settings = array( 'controls' => 1, + 'controls_list' => array( + 'fullscreen' => 'fullscreen', + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => 0, 'loop' => 0, 'width' => '', @@ -162,6 +175,11 @@ function file_entity_file_default_displays() { $file_display->status = TRUE; $file_display->settings = array( 'controls' => 1, + 'controls_list' => array( + 'fullscreen' => 'fullscreen', + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => 0, 'loop' => 0, 'width' => '', diff --git a/dkan/modules/contrib/file_entity/file_entity.info b/dkan/modules/contrib/file_entity/file_entity.info index deaaab4b8..3a7f4bb95 100644 --- a/dkan/modules/contrib/file_entity/file_entity.info +++ b/dkan/modules/contrib/file_entity/file_entity.info @@ -32,9 +32,9 @@ configure = admin/config/media/file-settings ; We have to add a fake version so Git checkouts do not fail Media dependencies version = 7.x-2.x-dev -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2017-10-31 +version = "7.x-2.12" core = "7.x" project = "file_entity" -datestamp = "1499174351" +datestamp = "1509415090" diff --git a/dkan/modules/contrib/file_entity/file_entity.install b/dkan/modules/contrib/file_entity/file_entity.install index 6f07b917a..526d043cc 100644 --- a/dkan/modules/contrib/file_entity/file_entity.install +++ b/dkan/modules/contrib/file_entity/file_entity.install @@ -239,6 +239,7 @@ function file_entity_uninstall() { // Remove variables. variable_del('file_entity_max_filesize'); variable_del('file_entity_default_allowed_extensions'); + variable_del('file_entity_default_file_directory'); variable_del('file_entity_alt'); variable_del('file_entity_title'); variable_del('file_entity_allow_insecure_download'); diff --git a/dkan/modules/contrib/file_entity/file_entity.module b/dkan/modules/contrib/file_entity/file_entity.module index 13916ce6b..735602eed 100644 --- a/dkan/modules/contrib/file_entity/file_entity.module +++ b/dkan/modules/contrib/file_entity/file_entity.module @@ -894,6 +894,10 @@ function file_entity_theme() { 'variables' => array( 'files' => array(), 'controls' => TRUE, + 'controls_list' => array( + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => FALSE, 'loop' => FALSE, 'preload' => NULL, @@ -904,6 +908,11 @@ function file_entity_theme() { 'variables' => array( 'files' => array(), 'controls' => TRUE, + 'controls_list' => array( + 'fullscreen' => 'fullscreen', + 'download' => 'download', + 'remote_playback' => 'remote_playback', + ), 'autoplay' => FALSE, 'loop' => FALSE, 'muted' => FALSE, @@ -1678,12 +1687,15 @@ function file_entity_access($op, $file = NULL, $account = NULL) { // $file may be either an object or a file type. Since file types cannot be // an integer, use either fid or type as the static cache id. $cache_id = NULL; - if (!empty($file->id)) { - $cache_id = $file->id; + if (is_object($file) && !empty($file->fid)) { + $cache_id = $file->fid; } - elseif (is_string($file) && $op == 'create') { + elseif ($op == 'create' && is_string($file)) { $cache_id = $file; } + elseif ($op == 'create' && is_object($file) && !empty($file->type)) { + $cache_id = $file->type; + } else { $cache_id = drupal_hash_base64(serialize($file)); } @@ -1746,6 +1758,12 @@ function file_entity_access($op, $file = NULL, $account = NULL) { * Implements hook_file_entity_access(). */ function file_entity_file_entity_access($op, $file, $account) { + // If the op is "create," all that's needed is to check the create permission. + if ($op == 'create') { + if (user_access('create files')) { + return FILE_ENTITY_ACCESS_ALLOW; + } + } // If the file URI is invalid, deny access. if (is_object($file) && isset($file->uri) && !file_valid_uri($file->uri)) { if(isset($file->is_new) && $file->is_new == true && user_access('create files')) { @@ -1754,12 +1772,6 @@ function file_entity_file_entity_access($op, $file, $account) { return FILE_ENTITY_ACCESS_DENY; } - if ($op == 'create') { - if (user_access('create files')) { - return FILE_ENTITY_ACCESS_ALLOW; - } - } - if (!empty($file)) { $type = is_string($file) ? $file : $file->type; @@ -2137,7 +2149,9 @@ function file_entity_file_default_types() { 'label' => t('Document'), 'description' => t('A <em>Document</em> file is written information.'), 'mimetypes' => array( + 'text/html', 'text/plain', + 'application/acad', 'application/msword', 'application/vnd.ms-excel', 'application/pdf', @@ -2643,3 +2657,14 @@ function file_entity_features_pipe_file_type_alter(&$pipe, $data, $export) { } } +/** + * Implements hook_FORM_ID_alter(). + */ +function file_entity_form_system_performance_settings_alter(&$form, &$form_state) { + $form['bandwidth_optimization']['file_entity_total_count_optimization'] = array( + '#type' => 'checkbox', + '#title' => t('Optimize the calculation of the total usage count of files in the files overview.'), + '#default_value' => variable_get('file_entity_total_count_optimization', FALSE), + '#description' => t('Recommended if the files admin page loads too slowly due to a high number of files.'), + ); +} diff --git a/dkan/modules/contrib/file_entity/file_entity.pages.inc b/dkan/modules/contrib/file_entity/file_entity.pages.inc index 6c1c1d8fe..6e99cb4e5 100644 --- a/dkan/modules/contrib/file_entity/file_entity.pages.inc +++ b/dkan/modules/contrib/file_entity/file_entity.pages.inc @@ -90,7 +90,7 @@ function file_entity_add_upload($form, &$form_state, $options = array()) { 'enabledPlugins' => array(), 'schemes' => array(), 'max_filesize' => '', - 'uri_scheme' => 'public', + 'uri_scheme' => file_default_scheme(), 'plugins' => '' ); @@ -511,7 +511,7 @@ function file_entity_add_upload_submit($form, &$form_state) { function file_entity_upload_destination_uri(array $params, array $data = array()) { $params += array( 'uri_scheme' => file_default_scheme(), - 'file_directory' => '', + 'file_directory' => variable_get('file_entity_default_file_directory', ''), ); $destination = trim($params['file_directory'], '/'); @@ -827,7 +827,10 @@ function file_entity_edit_submit($form, &$form_state) { $replacement = $form_state['values']['replace_upload']; // Move file from temp to permanent home. if (pathinfo($replacement->uri, PATHINFO_EXTENSION) == pathinfo($file->uri, PATHINFO_EXTENSION)) { - file_unmanaged_copy($replacement->uri, $file->uri, FILE_EXISTS_REPLACE); + if ($new_file_uri = file_unmanaged_copy($replacement->uri, $file->uri, FILE_EXISTS_REPLACE)) { + // Remove temporary file. + file_delete($replacement); + } } else { $destination_uri = rtrim($file->uri, drupal_basename($file->uri)) . drupal_basename($replacement->uri); $replace_mode = $destination_uri == $file->uri ? FILE_EXISTS_REPLACE : FILE_EXISTS_RENAME; @@ -839,8 +842,8 @@ function file_entity_edit_submit($form, &$form_state) { // Update if the uri target has changed. if ($new_file_uri != $file->uri) { - // Store the original file uri to delete if save is successful. - $orphaned_uri = $file->uri; + // Store the original file uri to delete if save is successful. + $orphaned_uri = $file->uri; // Update file entity uri. $file->uri = $new_file_uri; diff --git a/dkan/modules/contrib/file_entity/file_entity.theme.inc b/dkan/modules/contrib/file_entity/file_entity.theme.inc index aa78d5d22..f6c449a7b 100644 --- a/dkan/modules/contrib/file_entity/file_entity.theme.inc +++ b/dkan/modules/contrib/file_entity/file_entity.theme.inc @@ -53,7 +53,10 @@ function theme_file_entity_file_link($variables) { $options['attributes']['title'] = check_plain($file->filename); } - return '<span class="file">' . $icon . ' ' . l($link_text, $url, $options) . '</span>'; + $output = '<span class="file">' . $icon . ' ' . l($link_text, $uri['path'], $uri['options']); + $output .= ' ' . '<span class="file-size">(' . format_size($file->filesize) . ')</span>'; + $output .= '</span>'; + return $output; } /** @@ -131,6 +134,23 @@ function theme_file_entity_file_audio($variables) { $audio_attributes = array(); if ($variables['controls']) { $audio_attributes['controls'] = 'controls'; + + if (!empty($variables['controls_list'])) { + $controls_list = array(); + foreach ($variables['controls_list'] as $key => $value) { + if (!$value) { + switch ($key) { + case 'download': + $controls_list[] = 'nodownload'; + break; + case 'remote_playback': + $controls_list[] = 'noremoteplayback'; + break; + } + } + } + $audio_attributes['controlsList'] = implode(' ', $controls_list); + } } if ($variables['autoplay']) { $audio_attributes['autoplay'] = 'autoplay'; @@ -177,6 +197,26 @@ function theme_file_entity_file_video($variables) { $video_attributes = array(); if ($variables['controls']) { $video_attributes['controls'] = 'controls'; + + if (!empty($variables['controls_list'])) { + $controls_list = array(); + foreach ($variables['controls_list'] as $key => $value) { + if (!$value) { + switch ($key) { + case 'fullscreen': + $controls_list[] = 'nofullscreen'; + break; + case 'download': + $controls_list[] = 'nodownload'; + break; + case 'remote_playback': + $controls_list[] = 'noremoteplayback'; + break; + } + } + } + $video_attributes['controlsList'] = implode(' ', $controls_list); + } } if ($variables['autoplay']) { $video_attributes['autoplay'] = 'autoplay'; diff --git a/dkan/modules/contrib/file_entity/tests/file_entity_test.info b/dkan/modules/contrib/file_entity/tests/file_entity_test.info index 208305290..c782cfb86 100644 --- a/dkan/modules/contrib/file_entity/tests/file_entity_test.info +++ b/dkan/modules/contrib/file_entity/tests/file_entity_test.info @@ -5,9 +5,9 @@ core = 7.x dependencies[] = file_entity hidden = TRUE -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2017-10-31 +version = "7.x-2.12" core = "7.x" project = "file_entity" -datestamp = "1499174351" +datestamp = "1509415090" diff --git a/dkan/modules/contrib/media/PATCHES.txt b/dkan/modules/contrib/media/PATCHES.txt deleted file mode 100644 index 6ad8b7f90..000000000 --- a/dkan/modules/contrib/media/PATCHES.txt +++ /dev/null @@ -1,4 +0,0 @@ -The following patches have been applied to this project: -- https://www.drupal.org/files/issues/media_dialog_appears_2272567-32.patch - -This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/dkan/modules/contrib/media/css/media.css b/dkan/modules/contrib/media/css/media.css index 2cb1112c3..7315c6acb 100644 --- a/dkan/modules/contrib/media/css/media.css +++ b/dkan/modules/contrib/media/css/media.css @@ -11,10 +11,6 @@ padding: 0; } -.ui-front.media-wrapper { - z-index: 10001 !important; -} - .ui-dialog.media-wrapper .ui-dialog-content { padding: 0; } @@ -23,6 +19,12 @@ display: none; } +/* Workaround for Modal dialog underneith the Ctools modal dialog with jQuery 1.10. + @TODO Remove this if ever ctools issue #1397370 ever gets fixed. */ +.ui-front.media-wrapper { + z-index: 10001 !important; +} + #media-browser-tabset .ui-widget-header { background: none; } diff --git a/dkan/modules/contrib/media/js/media.browser.js b/dkan/modules/contrib/media/js/media.browser.js index bfd2fe039..66b7a8140 100644 --- a/dkan/modules/contrib/media/js/media.browser.js +++ b/dkan/modules/contrib/media/js/media.browser.js @@ -40,6 +40,27 @@ Drupal.behaviors.MediaBrowser = { }); $('.media-browser-tab').each( Drupal.media.browser.validateButtons ); + + // Keep keyboard focus from going to the browser chrome. + $('body', context).once(function () { + $(window).bind('keydown', function (event) { + if (event.keyCode === 9) { + var tabbables = $(':tabbable'), + first = tabbables.filter(':first'), + last = tabbables.filter(':last'), + new_event; + if ((event.target === last[0] && !event.shiftKey) || (event.target === first[0] && event.shiftKey)) { + // If we're at the end of the tab list, then send a keyboard event + // to the parent iframe. + if (parent_iframe = Drupal.media.browser.getParentIframe(window)) { + $('.ui-dialog-titlebar-close', $(parent_iframe).closest('.ui-dialog')).focus(); + event.preventDefault(); + return false; + } + } + } + }); + }); } // Wait for additional params to be passed in. }; diff --git a/dkan/modules/contrib/media/js/media.js b/dkan/modules/contrib/media/js/media.js index bc7bb2a4d..1600325b8 100644 --- a/dkan/modules/contrib/media/js/media.js +++ b/dkan/modules/contrib/media/js/media.js @@ -18,12 +18,14 @@ Drupal.behaviors.mediaElement = { var elements; function initMediaBrowser(selector) { - $context.find(selector) - .once('media-browser-launch') - .siblings('.browse').show() - .siblings('.upload').hide() - .siblings('.attach').hide() - .siblings('.browse').bind('click', {configuration: settings.media.elements[selector]}, Drupal.media.openBrowser); + var widget=$context.find(selector).once('media-browser-launch'); + var browse=widget.siblings('.browse').add(widget.find('.browse')); + var upload=browse.siblings('.upload').add(widget.find('.upload')); + var attach=upload.siblings('.attach').add(widget.find('.attach')); + browse.show(); + upload.hide(); + attach.hide(); + browse.bind('click', {configuration: settings.media.elements[selector]}, Drupal.media.openBrowser); } if (settings.media && settings.media.elements) { diff --git a/dkan/modules/contrib/media/js/media.popups.js b/dkan/modules/contrib/media/js/media.popups.js index c7a9af527..2dadd9978 100644 --- a/dkan/modules/contrib/media/js/media.popups.js +++ b/dkan/modules/contrib/media/js/media.popups.js @@ -128,7 +128,8 @@ Drupal.media.popups.mediaBrowser.mediaBrowserOnLoad = function (e) { var options = e.data; // Ensure that the iFrame is defined. - if (this.contentWindow.Drupal.media.browser == undefined) { + if (typeof this.contentWindow.Drupal.media === 'undefined' || typeof + this.contentWindow.Drupal.media.browser === 'undefined') { return; } @@ -373,7 +374,7 @@ Drupal.media.popups.getPopupIframe = function (src, id, options) { var defaults = {width: '100%', scrolling: 'auto'}; var options = $.extend({}, defaults, options); - return $('<iframe class="media-modal-frame"/>') + return $('<iframe class="media-modal-frame" tabindex="0"/>') .attr('src', src) .attr('width', options.width) .attr('id', id) diff --git a/dkan/modules/contrib/media/js/plugins/media.views.js b/dkan/modules/contrib/media/js/plugins/media.views.js index 1ea444065..f3816f178 100644 --- a/dkan/modules/contrib/media/js/plugins/media.views.js +++ b/dkan/modules/contrib/media/js/plugins/media.views.js @@ -93,7 +93,7 @@ Drupal.media.browser.views.select = function(view) { Drupal.media.browser.selectMedia([]); // Reset all 'selected'-status. - $('.view-content .media-item', view).removeClass('selected'); + $('.view-content .media-item', view).removeClass('selected').parent().attr('aria-checked', 'false'); } /** @@ -140,16 +140,15 @@ Drupal.media.browser.views.setup = function(view) { }); - // Catch the click on a media item - $('.view-content .media-item', view).bind('click', function () { + function onSelectMediaItem() { var fid = $(this).closest('.media-item[data-fid]').data('fid'), selectedFiles = new Array(); // Remove all currently selected files - $('.view-content .media-item', view).removeClass('selected'); + $('.view-content .media-item', view).removeClass('selected').parent().attr('aria-checked', 'false'); // Mark it as selected - $(this).addClass('selected'); + $(this).addClass('selected').parent().attr('aria-checked', 'true'); // Multiselect! if (Drupal.settings.media.browser.params.multiselect) { @@ -160,7 +159,7 @@ Drupal.media.browser.views.setup = function(view) { // If the current file exists in the list of already selected // files, we deselect instead of selecting if (currentFid == fid) { - $(this).removeClass('selected'); + $(this).removeClass('selected').parent().attr('aria-checked', 'false'); // If we change the fid, the later matching won't // add it back again because it can't find it. fid = NaN; @@ -173,7 +172,7 @@ Drupal.media.browser.views.setup = function(view) { selectedFiles.push(Drupal.media.browser.selectedMedia[index]); // Mark it as selected - $('.view-content *[data-fid=' + currentFid + '].media-item', view).addClass('selected'); + $('.view-content *[data-fid=' + currentFid + '].media-item', view).addClass('selected').parent().attr('aria-checked', 'true'); } } } @@ -194,6 +193,15 @@ Drupal.media.browser.views.setup = function(view) { } } Drupal.media.browser.selectMedia(selectedFiles); + } + + // Catch the click or space bar press on a media item. + $('.view-content .media-item', view).bind('click', onSelectMediaItem); + $('.view-content .media-item', view).parent().bind('keydown', function (evt) { + if (evt.which == 32 || evt.which == 13) { + onSelectMediaItem.call($('.media-item', this).get(0), evt); + return false; + } }); // Add the processed class, so we dont accidentally process the same element twice.. diff --git a/dkan/modules/contrib/media/media-views-view-media-browser.tpl.php b/dkan/modules/contrib/media/media-views-view-media-browser.tpl.php index b37f0cf52..feb0a2b12 100644 --- a/dkan/modules/contrib/media/media-views-view-media-browser.tpl.php +++ b/dkan/modules/contrib/media/media-views-view-media-browser.tpl.php @@ -13,7 +13,7 @@ <div class="clearfix"> <?php print $list_type_prefix; ?> <?php foreach ($rows as $id => $row): ?> - <li id="media-item-<?php print $row->fid; ?>" class="<?php print $classes_array[$id]; ?>"> + <li id="media-item-<?php print $row->fid; ?>" class="<?php print $classes_array[$id]; ?>" tabindex="0" role="<?php print $aria_role; ?>" aria-checked="false"> <?php print $row->preview; ?> </li> <?php endforeach; ?> diff --git a/dkan/modules/contrib/media/media.info b/dkan/modules/contrib/media/media.info index f2b84448d..01b54674b 100644 --- a/dkan/modules/contrib/media/media.info +++ b/dkan/modules/contrib/media/media.info @@ -3,7 +3,7 @@ description = Provides the core Media API package = Media core = 7.x -dependencies[] = file_entity (>7.x-2.0) +dependencies[] = file_entity dependencies[] = image dependencies[] = views @@ -24,9 +24,9 @@ configure = admin/config/media/browser ; We have to add a fake version so Git checkouts do not fail Media dependencies version = 7.x-2.x-dev -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/media.install b/dkan/modules/contrib/media/media.install index 6aa7981dd..5ba3cf943 100644 --- a/dkan/modules/contrib/media/media.install +++ b/dkan/modules/contrib/media/media.install @@ -112,12 +112,25 @@ function media_requirements($phase) { if ($phase == 'update') { $info = system_get_info('module', 'file_entity'); - if (strpos($info['version'], '7.x-2') === FALSE) { + $file_entity_installed_date = $info['datestamp']; + $file_entity_version = $info['version']; + $file_entity_minimum_date = 1495439635; + // Time of 2017-05-22 07:53:55 is most recent commit in 7.x-2.0. + if ($file_entity_installed_date < $file_entity_minimum_date) { + $description = $t('Media 2.10 or newer requires <a href="@url">File entity 2.0 or newer (2.4 or higher recommended)</a>. Please download the correct version and make sure you have deleted the file_entity folder inside the media module directory.', array('@url' => 'http://drupal.org/project/file_entity')); + $requirements['file_entity']['description'] = $description; + $requirements['file_entity']['severity'] = REQUIREMENT_ERROR; + $requirements['file_entity']['value'] = $file_entity_version; + $requirements['file_entity']['title'] = $t('Fieldable Files (file_entity) module 7.x-2.0 or newer is required by Media'); + drupal_set_message($description, 'error', TRUE); + } + if (strpos($info['version'], '7.x-2') === FALSE && + strpos($info['version'], '7.x-3') === FALSE) { $requirements['file_entity'] = array( - 'title' => $t('File entity 2.x'), + 'title' => $t('File entity 2.x or 3.x required.'), 'value' => $t('Wrong version'), 'severity' => REQUIREMENT_ERROR, - 'description' => $t('Media 2.x requires <a href="@url">File entity 2.x</a>. Please download the correct version and make sure you have deleted the file_entity folder inside the media module directory.', array('@url' => 'http://drupal.org/project/file_entity')), + 'description' => $t('Media requires <a href="@url">File entity 2.x or 3.x</a>. Please download the correct version and make sure you have deleted the file_entity folder inside the media module directory.', array('@url' => 'http://drupal.org/project/file_entity')), ); } } @@ -138,7 +151,7 @@ function media_requirements($phase) { $requirements['entity_translation']['severity'] = REQUIREMENT_ERROR; $requirements['entity_translation']['value'] = $et_installed_version; $requirements['entity_translation']['title'] = $t('Entity translation (when installed) with Media'); - drupal_set_message($description, 'error', TRUE); + drupal_set_message($description, 'error', TRUE); } } } diff --git a/dkan/modules/contrib/media/media.module b/dkan/modules/contrib/media/media.module index 098e503b5..c17e86158 100644 --- a/dkan/modules/contrib/media/media.module +++ b/dkan/modules/contrib/media/media.module @@ -607,7 +607,7 @@ function media_parse_to_uri($url) { * @see media_parse_to_uri() * @see media_add_from_url_submit() */ -function media_parse_to_file($url) { +function media_parse_to_file($url, $params = array()) { try { $uri = media_parse_to_uri($url); } @@ -646,9 +646,15 @@ function media_parse_to_file($url) { return; } $source_file = file_uri_to_object($source_uri); - $scheme = variable_get('file_default_scheme', 'public') . '://'; + if(isset($params['to_directory'])){ + $scheme = variable_get('file_default_scheme', 'public') . '://' . $params['to_directory'] . '/'; + } + else{ + $scheme = variable_get('file_default_scheme', 'public') . '://'; + } $uri = file_stream_wrapper_uri_normalize($scheme . $source_file->filename); // Now to its new home. + file_prepare_directory($scheme, FILE_CREATE_DIRECTORY || FILE_MODIFY_PERMISSIONS); $file = file_move($source_file, $uri, FILE_EXISTS_RENAME); } diff --git a/dkan/modules/contrib/media/media.views.inc b/dkan/modules/contrib/media/media.views.inc index 9640dde2c..5fd2c02f2 100644 --- a/dkan/modules/contrib/media/media.views.inc +++ b/dkan/modules/contrib/media/media.views.inc @@ -98,6 +98,7 @@ function template_preprocess_media_views_view_media_browser(&$vars) { drupal_add_js(array('media' => array('files' => array_values($files))), 'setting'); // Add the browser parameters to the settings and that this display exists. + $params = media_get_browser_params(); drupal_add_js(array( 'media' => array( 'browser' => array( @@ -126,6 +127,7 @@ function template_preprocess_media_views_view_media_browser(&$vars) { $vars['wrapper_suffix'] = '</div>'; $vars['list_type_prefix'] = '<' . $handler->options['type'] . ' id="media-browser-library-list" class="' . implode(' ', $class) . '">'; $vars['list_type_suffix'] = '</' . $handler->options['type'] . '>'; + $vars['aria_role'] = $params['multiselect'] ? 'checkbox' : 'radio'; // Run theming variables through a standard Views preprocess function. template_preprocess_views_view_unformatted($vars); diff --git a/dkan/modules/contrib/media/modules/media_bulk_upload/includes/media_bulk_upload.admin.inc b/dkan/modules/contrib/media/modules/media_bulk_upload/includes/media_bulk_upload.admin.inc index bc0b77f6b..4fdd9ada2 100644 --- a/dkan/modules/contrib/media/modules/media_bulk_upload/includes/media_bulk_upload.admin.inc +++ b/dkan/modules/contrib/media/modules/media_bulk_upload/includes/media_bulk_upload.admin.inc @@ -19,6 +19,13 @@ function media_bulk_upload_import($form, &$form_state) { '#required' => TRUE, ); + $form['to_directory'] = array( + '#type' => 'textfield', + '#title' => t('To Directory'), + '#description' => t('Enter the subdirectory of /sites/default/files where files will be copied. If empty the default directory will be use.'), + '#required' => FALSE, + ); + $form['pattern'] = array( '#type' => 'textarea', '#title' => t('Pattern'), @@ -76,6 +83,7 @@ function media_bulk_upload_import_validate($form, &$form_state) { form_set_error('pattern', t('No files were found in %directory matching the regular expression %pattern', array('%directory' => $directory, '%pattern' => $pattern_quoted))); } $form_state['storage']['files'] = $files; + $form_state['storage']['to_directory'] = $form_state['values']['to_directory']; } } @@ -85,10 +93,12 @@ function media_bulk_upload_import_validate($form, &$form_state) { function media_bulk_upload_import_submit($form, &$form_state) { if ($form_state['values']['op'] == t('Confirm')) { $files = $form_state['storage']['files']; + $params = array(); + $params['to_directory'] = $form_state['storage']['to_directory']; $batch = array( 'title' => t('Importing'), 'operations' => array( - array('media_bulk_upload_import_batch_import_files', array($files)), + array('media_bulk_upload_import_batch_import_files', array($files, $params)), ), 'finished' => 'media_bulk_upload_import_batch_import_complete', 'file' => drupal_get_path('module', 'media_bulk_upload') . '/includes/media_bulk_upload.admin.inc', @@ -103,7 +113,7 @@ function media_bulk_upload_import_submit($form, &$form_state) { /** * BatchAPI callback op for media import. */ -function media_bulk_upload_import_batch_import_files($files, &$context) { +function media_bulk_upload_import_batch_import_files($files, $params, &$context) { if (!isset($context['sandbox']['files'])) { // This runs the first time the batch runs. // This is stupid, but otherwise, I don't think it will work... @@ -121,7 +131,7 @@ function media_bulk_upload_import_batch_import_files($files, &$context) { foreach ($to_process as $file) { try { - $file_obj = media_parse_to_file($file); + $file_obj = media_parse_to_file($file, $params); $context['results']['success'][] = $file; if (!$image_in_message) { // @todo Is this load step really necessary? When there's time, test diff --git a/dkan/modules/contrib/media/modules/media_bulk_upload/media_bulk_upload.info b/dkan/modules/contrib/media/modules/media_bulk_upload/media_bulk_upload.info index 3b1b1b1c0..0d92c3ad6 100644 --- a/dkan/modules/contrib/media/modules/media_bulk_upload/media_bulk_upload.info +++ b/dkan/modules/contrib/media/modules/media_bulk_upload/media_bulk_upload.info @@ -15,9 +15,9 @@ test_dependencies[] = plupload files[] = includes/MediaBrowserBulkUpload.inc files[] = tests/media_bulk_upload.test -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/media_internet/media_internet.info b/dkan/modules/contrib/media/modules/media_internet/media_internet.info index 64873fe86..ab0d85232 100644 --- a/dkan/modules/contrib/media/modules/media_internet/media_internet.info +++ b/dkan/modules/contrib/media/modules/media_internet/media_internet.info @@ -12,9 +12,9 @@ files[] = includes/MediaInternetNoHandlerException.inc files[] = includes/MediaInternetValidationException.inc files[] = tests/media_internet.test -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/media_internet/tests/media_internet_test.info b/dkan/modules/contrib/media/modules/media_internet/tests/media_internet_test.info index 65073d6b9..1dec6e0b1 100644 --- a/dkan/modules/contrib/media/modules/media_internet/tests/media_internet_test.info +++ b/dkan/modules/contrib/media/modules/media_internet/tests/media_internet_test.info @@ -7,9 +7,9 @@ hidden = TRUE files[] = includes/MediaInternetTestStreamWrapper.inc files[] = includes/MediaInternetTestHandler.inc -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/media_migrate_file_types/media_migrate_file_types.info b/dkan/modules/contrib/media/modules/media_migrate_file_types/media_migrate_file_types.info index f98bf5c8e..04084bd7d 100644 --- a/dkan/modules/contrib/media/modules/media_migrate_file_types/media_migrate_file_types.info +++ b/dkan/modules/contrib/media/modules/media_migrate_file_types/media_migrate_file_types.info @@ -8,9 +8,9 @@ dependencies[] = media configure = admin/structure/file-types/upgrade -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/css/media_wysiwyg.base.css b/dkan/modules/contrib/media/modules/media_wysiwyg/css/media_wysiwyg.base.css index fba97ad8d..daa8730c3 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/css/media_wysiwyg.base.css +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/css/media_wysiwyg.base.css @@ -2,14 +2,18 @@ * @file * Styles to apply to all user-facing pages for alignment support. */ -.media-wysiwyg-align-left { +.media-wysiwyg-align-left, +.media-float-left { float: left; margin-right: 20px; } -.media-wysiwyg-align-right { +.media-wysiwyg-align-right, +.media-float-right { float: right; margin-left: 20px; } .media-wysiwyg-align-center { + text-align: -moz-center; + text-align: -webkit-center; text-align: center; } diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.features.inc b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.features.inc index 8bad2d7e6..e375d1dc2 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.features.inc +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.features.inc @@ -42,7 +42,7 @@ function media_wysiwyg_features_export_options() { } // Add default option. $options[$file_type . '_default_restrict_wysiwyg'] = - t('@file_type view mode restriction: Default', array( + t('@file_type view mode restriction: Default', array( '@file_type' => $file_type_label, )); } @@ -91,7 +91,7 @@ function media_wysiwyg_features_export_render($module_name = '', $data, $export $mode_data_key = $file_type . '_wysiwyg_view_mode'; if (array_key_exists($mode_data_key, $data) || in_array($mode_data_key, $data, TRUE)) { $view_mode = _media_wysiwyg_get_wysiwyg_mode($file_type); - $view_mode_export = (!empty($view_mode) ? features_var_export($view_mode) : "'none'"); + $view_mode_export = (!empty($view_mode) ? features_var_export($view_mode) : "'none'"); $code[] = " // WYSIWYG view mode for $file_type files."; $code[] = " \$media_wysiwyg['{$mode_data_key}'] = {$view_mode_export};"; $code[] = ""; diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.file_usage.inc b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.file_usage.inc index 7d9016684..228047745 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.file_usage.inc +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.file_usage.inc @@ -59,7 +59,7 @@ function _media_wysiwyg_filter_add_file_usage_from_fields($entity_type, $entity) unset($entity_files[$fid]); } // There are the same number of files, nothing to do - elseif ($entity_files[$fid] == $old_file_count) { + elseif ($entity_files[$fid] == $old_file_count) { unset($entity_files[$fid]); } // There are more files now, adjust the difference for the greater number. @@ -121,8 +121,8 @@ function media_wysiwyg_filter_parse_from_fields($entity_type, $entity) { /** * Utility function to get the file count in this entity * - * @param type $entity - * @param type $entity_type + * @param string or int or object... $entity + * @param string or int or object... $entity_type * @return int */ function media_wysiwyg_entity_field_count_files($entity_type, $entity) { @@ -154,15 +154,15 @@ function media_wysiwyg_entity_delete($entity, $type) { /** * Implements hook_field_attach_delete_revision(). * - * @param type $entity_type - * @param type $entity + * @param string or int or object... $entity_type + * @param string or int or object... $entity */ function media_wysiwyg_field_attach_delete_revision($entity_type, $entity) { list($entity_id) = entity_extract_ids($entity_type, $entity); $files = media_wysiwyg_entity_field_count_files($entity_type, $entity); foreach ($files as $fid => $count) { if ($file = file_load($fid)) { - file_usage_delete($file, 'media', $entity_type , $entity_id, $count); + file_usage_delete($file, 'media', $entity_type, $entity_id, $count); } } } diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.filter.inc b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.filter.inc index a28475206..03daeae9d 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.filter.inc +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.filter.inc @@ -238,6 +238,11 @@ function media_wysiwyg_token_to_markup($match, $wysiwyg = FALSE, $langcode = NUL $settings[$dimension] = $settings['attributes'][$dimension]; } } + // If the element is floated via WYSIWYG editor functionality, delegate + // that information to the outer element. + if (!empty($css_properties['float'])) { + $settings['float'] = $css_properties['float']; + } } foreach (array('title', 'alt') as $field_type) { if (isset($settings['attributes'][$field_type])) { @@ -331,6 +336,11 @@ function media_wysiwyg_token_to_markup($match, $wysiwyg = FALSE, $langcode = NUL field_attach_prepare_view('file', array($file->fid => $file), $tag_info['view_mode'], $langcode); entity_prepare_view('file', array($file->fid => $file), $langcode); $element['content'] += field_attach_view('file', $file, $tag_info['view_mode'], $langcode); + + // Add any float information via an extra class + if (!empty($settings['float'])) { + $element['content']['file']['#attributes']['class'][] = drupal_html_class('media-float-' . $settings['float']); + } } if (count(element_children($element['content'])) > 1) { // Add surrounding divs to group them together. @@ -342,6 +352,10 @@ function media_wysiwyg_token_to_markup($match, $wysiwyg = FALSE, $langcode = NUL 'media-element-container', 'media-' . $element['content']['file']['#view_mode'], ); + // Add the float information to the outer element. + if (!empty($settings['float'])) { + $element['content']['#attributes']['class'][] = drupal_html_class('media-float-' . $settings['float']); + } if (variable_get('media_wysiwyg_remove_media_class', FALSE)) { $classes = $element['content']['#attributes']['class']; $element['content']['#attributes']['class'] = array_diff($classes, array('media')); @@ -455,7 +469,7 @@ function _media_wysiwyg_generate_tagMap($text) { // between function calls. Since media_process_form is multiple times // with same form, this function is also called multiple times. static $tagmap = array(); - preg_match_all("/\[\[.*?\]\]/s", $text, $matches, PREG_SET_ORDER); + preg_match_all("/\[\[(?!nid:).*?\]\]/s", $text, $matches, PREG_SET_ORDER); foreach ($matches as $match) { // We see if tagContent is already in $tagMap, if not we add it // to $tagmap. If we return an empty array, we break embeddings of the same diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.pages.inc b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.pages.inc index fdb4c5352..c126058a4 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.pages.inc +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/includes/media_wysiwyg.pages.inc @@ -80,7 +80,7 @@ function media_wysiwyg_format_form($form, &$form_state, $file) { '#default_value' => $default_view_mode, '#description' => t('Choose the type of display you would like for this file. Please be aware that files may display differently than they do when - they are inserted into an editor.') + they are inserted into an editor.'), ); // If necessary, display the alignment widget. @@ -112,8 +112,8 @@ function media_wysiwyg_format_form($form, &$form_state, $file) { // Get the external url from the fid array. $external_url = empty($query_fields['external_url']) ? NULL : $query_fields['external_url']; // Field to attach external url's to files for linking. - if(variable_get('media_wysiwyg_external_link', FALSE)) { - if($file->type == 'image') { + if (variable_get('media_wysiwyg_external_link', FALSE)) { + if ($file->type == 'image') { $form['options']['external_url'] = array( '#type' => 'textfield', '#title' => t('Link Image'), @@ -155,9 +155,9 @@ function media_wysiwyg_format_form($form, &$form_state, $file) { /** * Add ajax preview when selecting view mode in wysiwyg editor. */ -function media_wysiwyg_format_form_view_mode(&$form, $form_state, $file) { +function media_wysiwyg_format_form_view_mode(&$form, $form_state, $file) { // Check to see if a view mode ("format") has already been specified for - // this media item. First, check for a standard form-submitted value. + // this media item. First, check for a standard form-submitted value. if (!empty($form_state['values']['format'])) { $view_mode = $form_state['values']['format']; } @@ -169,15 +169,25 @@ function media_wysiwyg_format_form_view_mode(&$form, $form_state, $file) { } } // If we were unable to determine a view mode, or we found a view mode - // that does not exist in the list of format options presented on this - // form, use the default view mode. + // that does not exist in the list of format options presented on this + // form, use the default view mode. if (!isset($view_mode) || !array_key_exists($view_mode, $form['options']['format']['#options'])) { $view_mode = variable_get('media_wysiwyg_wysiwyg_default_view_mode', 'full'); } + $link_options = array( + 'attributes' => array( + 'class' => 'button', + 'title' => t('Use for replace fox or edit file fields.'), + ), + ); + if (!empty($_GET['render'])) { + $link_options['query']['render'] = $_GET['render']; + } + $form['preview'] = array(); $form['preview']['#prefix'] = '<div class="media-preview-group"><div class="media-item"><div class="media-thumbnail">'; - $form['preview']['#suffix'] = '</div><div class="label-wrapper"><label class="media-filename">' . check_plain($file->filename) . '</label></div></div><div class="edit-file-link">' . l(t('Edit file'), 'file/'.$file->fid.'/edit', array('attributes' => array('class' => 'button', 'title' => t('Use for replace file or edit file fields.')))) . '</div></div>'; + $form['preview']['#suffix'] = '</div><div class="label-wrapper"><label class="media-filename">' . check_plain($file->filename) . '</label></div></div><div class="edit-file-link">' . l(t('Edit file'), 'file/' . $file->fid . '/edit', $link_options) . '</div></div>'; $form['preview']['thumbnail'] = file_view_file($file, $view_mode); $form['preview']['thumbnail']['#prefix'] = '<div id="media-preview">'; $form['preview']['thumbnail']['#suffix'] = '</div>'; @@ -212,7 +222,7 @@ function media_wysiwyg_format_form_view_mode(&$form, $form_state, $file) { } /** - * AJAX callback to select the portion of the format form to be updated with a preview. + * AJAX callback to select portion of format form to be updated with a preview. * * @param array $form * An associative array containing the structure of the form. diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/js/wysiwyg-media.js b/dkan/modules/contrib/media/modules/media_wysiwyg/js/wysiwyg-media.js index 31cac5cb1..87ac8cc66 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/js/wysiwyg-media.js +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/js/wysiwyg-media.js @@ -13,6 +13,11 @@ Drupal.media = Drupal.media || {}; */ Drupal.wysiwyg.plugins.media = { + /** + * The selected text string. + */ + selectedText: null, + /** * Determine whether a DOM element belongs to this plugin. * @@ -51,6 +56,9 @@ Drupal.wysiwyg.plugins.media = { insert.onSelect([media_file]); } else { + // Store currently selected text. + this.selectedText = data.content; + // Insert new media. insert.prompt(settings.global); } @@ -118,7 +126,8 @@ InsertMedia.prototype = { fid: this.mediaFile.fid, view_mode: formatted_media.type, attributes: this.mediaFile.attributes, - fields: formatted_media.options + fields: formatted_media.options, + link_text: Drupal.wysiwyg.plugins.media.selectedText }); // Get the markup and register it for the macro / placeholder handling. var markup = Drupal.media.filter.getWysiwygHTML(element); diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.info b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.info index 94cb805b9..4105ebb3f 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.info +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.info @@ -16,9 +16,9 @@ files[] = tests/media_wysiwyg.paragraph_fix_filter.test configure = admin/config/media/browser -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.install b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.install index 3bcd60bb1..ae2685662 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.install +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.install @@ -89,6 +89,8 @@ function media_wysiwyg_update_dependencies() { $dependencies['media_wysiwyg'][7201] = array( 'media' => 7226, ); + + return $dependencies; } /** @@ -249,6 +251,6 @@ function media_wysiwyg_update_7206() { * Notify upgraders that there's optional media linking functionality that needs to be enabled. */ function media_wysiwyg_update_7207() { - $message = t('If you would like to be able to link images to a page got o /admin/config/media/browser and check "Provide the ability to link media to pages", and save the settings.'); + $message = t('If you would like to be able to link images to a page, go to /admin/config/media/browser, check "Provide the ability to link media to pages", and save the settings.'); drupal_set_message($message, 'warning', TRUE); } diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.variable.inc b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.variable.inc index 206905a08..ad85d2dbb 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.variable.inc +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/media_wysiwyg.variable.inc @@ -20,8 +20,8 @@ function media_wysiwyg_variable_group_info() { } /** -* Implements hook_variable_info(). -*/ + * Implements hook_variable_info(). + */ function media_wysiwyg_variable_info($options) { $variables['media_wysiwyg_wysiwyg_title'] = array( 'type' => 'string', diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg/tests/media_wysiwyg.macro.test b/dkan/modules/contrib/media/modules/media_wysiwyg/tests/media_wysiwyg.macro.test index 7ac1bc4c7..82af18aff 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg/tests/media_wysiwyg.macro.test +++ b/dkan/modules/contrib/media/modules/media_wysiwyg/tests/media_wysiwyg.macro.test @@ -92,4 +92,29 @@ class MediaWYSIWYGWYSIWYGOverridesTest extends MediaWYSIWYGTestHelper { // Ensure that the alt/title from attributes display rather the field ones. $this->assertRaw(drupal_attributes($attributes), t('Image displays with alt/title set as attributes overriding field values.')); } + + /** + * Test image media overrides on images with fields attached. + */ + public function testAttributeOverridesWithFields() { + // First make images display the title field on the preview mode we use. + $instance = field_read_instance('file', 'field_file_image_title_text', 'image'); + $instance['display']['preview']['type'] = 'text_default'; + $instance['display']['preview']['module'] = 'text'; + field_update_instance($instance); + + $files = $this->drupalGetTestFiles('image'); + $file = file_save($files[0]); + + $attributes = array( + 'style' => 'float: left;', + ); + $fields = array( + 'field_file_image_title_text[und][0][value]' => $this->randomName(), + ); + $nid = $this->createNode($file->fid, $attributes, $fields); + $this->drupalGet('node/' . $nid); + $this->assertRaw('float: left;', 'Image displays with overriden attributes when displays with fields.'); + $this->assertRaw('media-float-left', 'Media float class added.'); + } } diff --git a/dkan/modules/contrib/media/modules/media_wysiwyg_view_mode/media_wysiwyg_view_mode.info b/dkan/modules/contrib/media/modules/media_wysiwyg_view_mode/media_wysiwyg_view_mode.info index e4f6704b0..c76c4d947 100644 --- a/dkan/modules/contrib/media/modules/media_wysiwyg_view_mode/media_wysiwyg_view_mode.info +++ b/dkan/modules/contrib/media/modules/media_wysiwyg_view_mode/media_wysiwyg_view_mode.info @@ -3,9 +3,9 @@ description = DEPRECATED, this folder is only here so that the module can be uni package = Media core = 7.x -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/modules/mediafield/mediafield.info b/dkan/modules/contrib/media/modules/mediafield/mediafield.info index 13c3d21a5..70ac49567 100644 --- a/dkan/modules/contrib/media/modules/mediafield/mediafield.info +++ b/dkan/modules/contrib/media/modules/mediafield/mediafield.info @@ -4,9 +4,9 @@ package = Media core = 7.x dependencies[] = media -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media/tests/media_module_test.info b/dkan/modules/contrib/media/tests/media_module_test.info index 924bb216d..9644b7b8d 100644 --- a/dkan/modules/contrib/media/tests/media_module_test.info +++ b/dkan/modules/contrib/media/tests/media_module_test.info @@ -6,9 +6,9 @@ hidden = TRUE files[] = includes/MediaModuleTest.inc -; Information added by Drupal.org packaging script on 2017-07-04 -version = "7.x-2.9" +; Information added by Drupal.org packaging script on 2017-10-19 +version = "7.x-2.13" core = "7.x" project = "media" -datestamp = "1499174646" +datestamp = "1508430548" diff --git a/dkan/modules/contrib/media_youtube/includes/MediaInternetYouTubeHandler.inc b/dkan/modules/contrib/media_youtube/includes/MediaInternetYouTubeHandler.inc index 55f7b1f79..a58097338 100644 --- a/dkan/modules/contrib/media_youtube/includes/MediaInternetYouTubeHandler.inc +++ b/dkan/modules/contrib/media_youtube/includes/MediaInternetYouTubeHandler.inc @@ -14,8 +14,8 @@ class MediaInternetYouTubeHandler extends MediaInternetBaseHandler { public function parse($embedCode) { $list_patterns = array( - '@youtube\.com/playlist[#\?].*?list=([^"\& ]+)@i', - '@youtube\.com/view_play_list[#\?].*?p=([^"\& ]+)@i', + '@youtube\.com/playlist[#\?].*?list=([^"#\& ]+)@i', + '@youtube\.com/view_play_list[#\?].*?p=([^"#\& ]+)@i', ); foreach ($list_patterns as $pattern) { @@ -32,15 +32,15 @@ class MediaInternetYouTubeHandler extends MediaInternetBaseHandler { // http://youtu.be/* // http://gdata.youtube.com/feeds/api/videos/* $patterns = array( - '@youtube\.com/watch[#\?].*?v=([^"\& ]+).*&list=([^"\& ]+)@i', - '@youtu\.be/([^"\&\? ]+)\?list=([^"\& ]+)@i', - '@youtube\.com/embed/([^"\&\? ]+)\?list=([^"\& ]+)@i', - '@youtube\.com/watch[#\?].*?v=([^"\& ]+)@i', - '@youtube\.com/embed/([^"\&\? ]+)@i', - '@youtube\.com/v/([^"\&\? ]+)@i', - '@youtube\.com/\?v=([^"\& ]+)@i', - '@youtu\.be/([^"\&\? ]+)@i', - '@gdata\.youtube\.com/feeds/api/videos/([^"\&\? ]+)@i', + '@youtube\.com/watch[#\?].*?v=([^"#\& ]+).*&list=([^"#\& ]+)@i', + '@youtu\.be/([^"#\&\? ]+)\?list=([^"#\& ]+)@i', + '@youtube\.com/embed/([^"#\&\? ]+)\?list=([^"#\& ]+)@i', + '@youtube\.com/watch[#\?].*?v=([^"#\& ]+)@i', + '@youtube\.com/embed/([^"#\&\? ]+)@i', + '@youtube\.com/v/([^"#\&\? ]+)@i', + '@youtube\.com/\?v=([^"#\& ]+)@i', + '@youtu\.be/([^"#\&\? ]+)@i', + '@gdata\.youtube\.com/feeds/api/videos/([^"#\&\? ]+)@i', ); foreach ($patterns as $pattern) { @@ -51,7 +51,7 @@ class MediaInternetYouTubeHandler extends MediaInternetBaseHandler { $uri = 'youtube://v/' . $matches[1][0]; if (isset($matches[2][0]) && $this->validId($matches[2][0], 'l')) { $uri .= '/l/' . $matches[2][0]; - } + } return file_stream_wrapper_uri_normalize($uri); } } diff --git a/dkan/modules/contrib/media_youtube/includes/MediaYouTubeStreamWrapper.inc b/dkan/modules/contrib/media_youtube/includes/MediaYouTubeStreamWrapper.inc index d3d404196..46c08b6a5 100644 --- a/dkan/modules/contrib/media_youtube/includes/MediaYouTubeStreamWrapper.inc +++ b/dkan/modules/contrib/media_youtube/includes/MediaYouTubeStreamWrapper.inc @@ -10,7 +10,7 @@ * $youtube = new MediaYouTubeStreamWrapper('youtube://v/[video-code]'); */ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { - protected $base_url = 'http://www.youtube.com/watch'; + protected $base_url = 'https://www.youtube.com/watch'; static function getMimeType($uri, $mapping = NULL) { return 'video/youtube'; @@ -18,8 +18,12 @@ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { function getOriginalThumbnailPath() { $parts = $this->get_parameters(); - $thumbnail_url = 'http://img.youtube.com/vi/' . check_plain($parts['v']) . "/maxresdefault.jpg"; + $thumbnail_url = 'https://img.youtube.com/vi/' . check_plain($parts['v']) . "/maxresdefault.jpg"; $response = drupal_http_request($thumbnail_url); + if ($response->code == 404) { + $thumbnail_url = 'https://img.youtube.com/vi/' . check_plain($parts['v']) . "/hqdefault.jpg"; + $response = drupal_http_request($thumbnail_url); + } if (!isset($response->error)) { return $thumbnail_url; } @@ -27,7 +31,7 @@ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { throw new MediaInternetValidationException("Embedding has been disabled for this video."); } elseif ($response->code == 404) { - return "http://s.ytimg.com/yts/img/image-hh-404-vflvCykRp.png"; + return "https://s.ytimg.com/yts/img/image-hh-404-vflvCykRp.png"; } elseif ($response->code != 200) { throw new MediaInternetValidationException("The YouTube video ID is invalid or the video was deleted."); @@ -35,7 +39,7 @@ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { else { $uri = file_stream_wrapper_uri_normalize('youtube://v/' . check_plain($parts['v'])); $external_url = file_create_url($uri); - $oembed_url = url('http://www.youtube.com/oembed', array('query' => array('url' => $external_url, 'format' => 'json'))); + $oembed_url = url('https://www.youtube.com/oembed', array('query' => array('url' => $external_url, 'format' => 'json'))); $response = drupal_http_request($oembed_url); if (!isset($response->error)) { @@ -65,7 +69,7 @@ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { file_unmanaged_save_data($response->data, $local_path, TRUE); } else { - @copy($this->getOriginalThumbnailPath(), $local_path); + system_retrieve_file($this->getOriginalThumbnailPath(), $local_path, FALSE, FILE_EXISTS_REPLACE); } } catch (Exception $e) { @@ -86,7 +90,7 @@ class MediaYouTubeStreamWrapper extends MediaReadOnlyStreamWrapper { function setBaseUrl($parameters) { if (isset($parameters['l'])) { if (!isset($parameters['v'])) { - $this->base_url = 'http://youtube.com/playlist'; + $this->base_url = 'https://youtube.com/playlist'; } $parameters['list'] = $parameters['l']; unset($parameters['l']); diff --git a/dkan/modules/contrib/media_youtube/includes/media_youtube.formatters.inc b/dkan/modules/contrib/media_youtube/includes/media_youtube.formatters.inc index 87dc0612c..639a33958 100644 --- a/dkan/modules/contrib/media_youtube/includes/media_youtube.formatters.inc +++ b/dkan/modules/contrib/media_youtube/includes/media_youtube.formatters.inc @@ -29,6 +29,7 @@ function media_youtube_file_formatter_info() { 'showinfo' => TRUE, 'theme' => 'dark', 'captions' => FALSE, + 'controls' => FALSE, ), 'view callback' => 'media_youtube_file_formatter_video_view', 'settings callback' => 'media_youtube_file_formatter_video_settings', @@ -66,7 +67,7 @@ function media_youtube_file_formatter_video_view($file, $display, $langcode) { // Fake a default for attributes so the ternary doesn't choke. $display['settings']['attributes'] = array(); - foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme', 'attributes', 'captions') as $setting) { + foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme', 'attributes', 'captions','controls') as $setting) { $element['#options'][$setting] = isset($file->override[$setting]) ? $file->override[$setting] : $display['settings'][$setting]; } @@ -146,6 +147,11 @@ function media_youtube_file_formatter_video_settings($form, &$form_state, $setti '#type' => 'checkbox', '#default_value' => $settings['loop'], ); + $element['controls'] = array( + '#title' => t('Show Controls'), + '#type' => 'checkbox', + '#default_value' => $settings['controls'], + ); // Note: make sure the positive/negative language lines up with option // processing in media_youtube.theme.inc. diff --git a/dkan/modules/contrib/media_youtube/media_youtube.info b/dkan/modules/contrib/media_youtube/media_youtube.info index ce6e752c7..e6d862034 100644 --- a/dkan/modules/contrib/media_youtube/media_youtube.info +++ b/dkan/modules/contrib/media_youtube/media_youtube.info @@ -11,9 +11,9 @@ files[] = media_youtube.test files[] = includes/MediaYouTubeStreamWrapper.inc files[] = includes/MediaInternetYouTubeHandler.inc -; Information added by Drupal.org packaging script on 2017-06-09 -version = "7.x-3.4" +; Information added by Drupal.org packaging script on 2017-08-14 +version = "7.x-3.5" core = "7.x" project = "media_youtube" -datestamp = "1497020345" +datestamp = "1502719245" diff --git a/dkan/modules/contrib/media_youtube/tests/media_youtube_test.info b/dkan/modules/contrib/media_youtube/tests/media_youtube_test.info index d577d8879..a1cc74b99 100644 --- a/dkan/modules/contrib/media_youtube/tests/media_youtube_test.info +++ b/dkan/modules/contrib/media_youtube/tests/media_youtube_test.info @@ -8,9 +8,9 @@ hidden = TRUE files[] = includes/MediaYouTubeTestStreamWrapper.inc files[] = includes/MediaYouTubeTestHandler.inc -; Information added by Drupal.org packaging script on 2017-06-09 -version = "7.x-3.4" +; Information added by Drupal.org packaging script on 2017-08-14 +version = "7.x-3.5" core = "7.x" project = "media_youtube" -datestamp = "1497020345" +datestamp = "1502719245" diff --git a/dkan/modules/contrib/media_youtube/themes/media_youtube.theme.inc b/dkan/modules/contrib/media_youtube/themes/media_youtube.theme.inc index 86d286b84..85aa62050 100644 --- a/dkan/modules/contrib/media_youtube/themes/media_youtube.theme.inc +++ b/dkan/modules/contrib/media_youtube/themes/media_youtube.theme.inc @@ -12,16 +12,24 @@ function media_youtube_preprocess_media_youtube_video(&$variables) { // Build the URI. $wrapper = file_stream_wrapper_get_instance_by_uri($variables['uri']); - $parts = $wrapper->get_parameters(); - if (isset($parts['v'])) { - $variables['embed_type'] = 'video'; - $variables['video_id'] = check_plain($parts['v']); - $embed_path = '/embed/' . $variables['video_id']; + if ($wrapper instanceof MediaReadOnlyStreamWrapper) { + $parts = $wrapper->get_parameters(); + if (isset($parts['v'])) { + $variables['embed_type'] = 'video'; + $variables['video_id'] = check_plain($parts['v']); + $embed_path = '/embed/' . $variables['video_id']; + } + elseif (isset($parts['l'])) { + $variables['embed_type'] = 'playlist'; + $variables['video_id'] = check_plain($parts['l']); + $embed_path = '/embed/videoseries'; + } } - elseif (isset($parts['l'])) { - $variables['embed_type'] = 'playlist'; - $variables['video_id'] = check_plain($parts['l']); - $embed_path = '/embed/videoseries'; + else { + // This happens when stream wrappers are not yet initialized. This is + // normally only encountered when creating content during profile install + // using drush make. At that point, video_id is irrelevant anyway. + $variables['video_id'] = ''; } // Checked existing function. @@ -42,6 +50,14 @@ function media_youtube_preprocess_media_youtube_video(&$variables) { // Make css z-index work with flash object. Must be the first parameter. $query['wmode'] = 'opaque'; + //YouTube video controls, on or off. + if (isset($variables['options']['controls'])) { + //on or off (TRUE/FALSE) depending on what is stored in $variables['options']['controls']. + $query['controls'] = $variables['options']['controls']; + } else { + //on + $query['controls'] = TRUE; + } // These queries default to 0. If the option is true, set value to 1. foreach (array('autoplay', 'enablejsapi', 'loop', 'modestbranding') as $option) { if ($variables['options'][$option]) { diff --git a/dkan/modules/contrib/open_data_schema_map/CHANGELOG.txt b/dkan/modules/contrib/open_data_schema_map/CHANGELOG.txt index 9b6a50b67..102358d2b 100644 --- a/dkan/modules/contrib/open_data_schema_map/CHANGELOG.txt +++ b/dkan/modules/contrib/open_data_schema_map/CHANGELOG.txt @@ -1,3 +1,7 @@ +7.x-1.14 +------- +- #95 Add UI for odsm cache admin. +- #2103 Added Dataset Federated Data Filtering 7.x-1.13.4 ---------- diff --git a/dkan/modules/contrib/open_data_schema_map/README.md b/dkan/modules/contrib/open_data_schema_map/README.md index 1d669afa0..e61e3ccdf 100644 --- a/dkan/modules/contrib/open_data_schema_map/README.md +++ b/dkan/modules/contrib/open_data_schema_map/README.md @@ -105,6 +105,12 @@ When you return to the tags section of the form after saving, you will now see a ![screen shot 2014-07-16 at 12 22 00 am](https://cloud.githubusercontent.com/assets/512243/5281826/ad5e3eac-7ac6-11e4-8c7d-91076527c84d.png) +### Data Federation Filtering + +To exclude specific groups from the API, navigate to `/admin/config/services/odsm/settings` and choose the groups you wish to include. + +You must then edit your API and check the **Apply Data Federation Filters** checkbox for the filters to apply to your endpoint. + ## Customizing ### Adding new schemas @@ -127,11 +133,10 @@ Open Data Schema Map endpoints that list a large number of entities -- Project O Open Data Schema Map includes a file caching function to save a snapshot of any endpoint as a static file to be served up quickly, with very few hits to the database. -File caches at present can only be generated by a Drush command. The recommended usage on a production website is to set up a cron job or use a task runner like [Jenkins](https://jenkins.io/) to regenerate the file caches for your performance-intensive endpoints daily, at whatever time your site experiences the least amount of traffic. The trade-off of course is that any additions or changes to your site will not be reflected on these endpoints until they are regenerated. +File caches can be generated either via a Drush command, or an admin UI. The recommended usage on a production website is to set up a cron job or use a task runner like [Jenkins](https://jenkins.io/) to regenerate the file caches for your performance-intensive endpoints daily (usin the drush command), at whatever time your site experiences the least amount of traffic. The trade-off of course is that any additions or changes to your site will not be reflected on these endpoints until they are regenerated. -An administrative UI to regenerate a file cache manually may be included in a future release. -### Use +### Drush Use The Drush command supplied by Open Data Schema Map is `odsm-filecache` (also available simply as the alias `odsmfc`). This command takes as its argument the machine name for an ODSM endpoint. For example: @@ -147,6 +152,12 @@ public://odsm_cache_data_json_1_1 Now a hit to `/data.json` will be routed to this file, which in most cases will actually live at `/sites/default/files/odsm_cache_data_json_1_1`. +### UI Use + +An administrative UI to regenerate file caches manually is also included. This interface is useful in cases where manual creation of the cache files is sufficient. + +To use, navigate to admin/config/services/odsm where there is a column called "Cache" with links to the individual admin pages for specific enpoint caches. If there is no cache the link is labled "none", otherwise the link is labled with the age of the cache in hours. From the cache admin pages you can create, delete or regenerate the cache. + ## Schema Validation Both the Project Open Data and DCAT-AP schemas ship with validation tools you can access from the Drupal admin menu. More documentation on this feature coming soon... diff --git a/dkan/modules/contrib/open_data_schema_map/dkan-module-init.sh b/dkan/modules/contrib/open_data_schema_map/dkan-module-init.sh index 6bcbfb4bd..1f511b93d 100644 --- a/dkan/modules/contrib/open_data_schema_map/dkan-module-init.sh +++ b/dkan/modules/contrib/open_data_schema_map/dkan-module-init.sh @@ -30,6 +30,7 @@ if wget -q "$URL"; then bash dkan-init.sh dkan --skip-init --deps cd .. echo -ne 'y\n' | ahoy dkan drupal-rebuild $DATABASE_URL + ahoy dkan remake echo -ne 'N\n' | ahoy dkan reinstall else wget -O /tmp/dkan-init.sh https://raw.githubusercontent.com/NuCivic/dkan/$DKAN_VERSION/dkan-init.sh @@ -46,6 +47,7 @@ else bash /tmp/dkan-init.sh $DKAN_MODULE $@ --skip-reinstall --branch=$DKAN_VERSION fi +echo "Linking/Building Module..." ahoy dkan module-link $DKAN_MODULE ahoy dkan module-make $DKAN_MODULE @@ -59,6 +61,7 @@ else fi ahoy drush en $DKAN_MODULE -y +ahoy drush updb -y #Fix for behat bug not recognizing symlinked feature files or files outside it's root. See https://jira.govdelivery.com/browse/CIVIC-1005 #cp dkan_workflow/test/features/dkan_workflow.feature dkan/test/features/. diff --git a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.info b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.info index f8078733f..7881a1919 100644 --- a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.info +++ b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.info @@ -5,3 +5,7 @@ package = Open Data dependencies[] = features dependencies[] = open_data_schema_map dependencies[] = pathauto + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.module b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.module index 19c3881da..97bb4ce46 100644 --- a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.module +++ b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_ckan/open_data_schema_ckan.module @@ -24,7 +24,7 @@ function open_data_schema_ckan_open_data_schema_map_load($machine_name) { $record->name = 'CKAN Site Read'; $record->enabled = TRUE; $record->api_schema = 'ckan_no_schema'; - $record->entity = ''; + $record->type = ''; $record->bundle = ''; $record->arguments = array(); $record->machine_name = 'ckan_site_read'; @@ -38,7 +38,7 @@ function open_data_schema_ckan_open_data_schema_map_load($machine_name) { $record->name = 'CKAN Revision List'; $record->enabled = TRUE; $record->api_schema = 'ckan_dataset'; - $record->entity = ''; + $record->type = ''; $record->bundle = ''; $record->arguments = array(); $record->machine_name = 'ckan_revision_list'; @@ -52,7 +52,7 @@ function open_data_schema_ckan_open_data_schema_map_load($machine_name) { $record->name = 'CKAN Package Revision List'; $record->enabled = TRUE; $record->api_schema = 'ckan_dataset'; - $record->entity = ''; + $record->type = ''; $record->bundle = ''; $record->arguments = array('1' => array('field' => 'id', 'required' => 1)); $record->machine_name = 'ckan_package_revision_list'; diff --git a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_dcat/open_data_schema_dcat.info b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_dcat/open_data_schema_dcat.info index 92b003c90..eb0baa6f4 100644 --- a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_dcat/open_data_schema_dcat.info +++ b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_dcat/open_data_schema_dcat.info @@ -6,3 +6,7 @@ dependencies[] = features dependencies[] = open_data_schema_map dependencies[] = open_data_schema_map_xml_output dependencies[] = pathauto + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_map_xml_output/open_data_schema_map_xml_output.info b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_map_xml_output/open_data_schema_map_xml_output.info index 296f94c80..6f86de351 100644 --- a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_map_xml_output/open_data_schema_map_xml_output.info +++ b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_map_xml_output/open_data_schema_map_xml_output.info @@ -3,3 +3,7 @@ description = Provides xml output for for Open Data Schema Map. core = 7.x package = Open Data dependencies[] = open_data_schema_map + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_pod/open_data_schema_pod.info b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_pod/open_data_schema_pod.info index 221438501..e6711cc1e 100644 --- a/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_pod/open_data_schema_pod.info +++ b/dkan/modules/contrib/open_data_schema_map/modules/open_data_schema_pod/open_data_schema_pod.info @@ -4,3 +4,7 @@ core = 7.x package = Open Data dependencies[] = features dependencies[] = open_data_schema_map + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.admin.inc b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.admin.inc new file mode 100644 index 000000000..d0b3a7c53 --- /dev/null +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.admin.inc @@ -0,0 +1,49 @@ +<?php +/** + * @file + * ODSM Admin form functions. + */ + +/** + * ODSM Admin Settings Form. + * + * @param array $form_state + * Form state array + * + * @return array + * Form array + */ +function open_data_schema_map_admin_settings_form($form_state) { + $available_filters = _open_data_schema_map_get_available_filters('name'); + $form['data_json'] = array( + '#type' => 'fieldset', + '#title' => t('Data Federation Filters'), + '#description' => t('Use this form to exclude specific groups from federated data. Currently, these filters are available to schemas:') . ' ' . implode(', ', $available_filters), + ); + $group_options = array(); + $result = db_query("SELECT node.title AS node_title, node.nid AS nid + FROM {node} node + WHERE ((node.status = '1') AND (node.type IN ('group')) ) + ORDER BY node_title ASC" + ); + if ($result) { + foreach ($result as $record) { + $group_options[$record->nid] = $record->node_title; + } + } + $form['data_json']['odsm_settings_groups'] = array( + '#type' => 'checkboxes', + '#title' => t('Groups to include'), + '#default_value' => variable_get('odsm_settings_groups', array()), + '#options' => $group_options, + '#description' => t('If none of the groups are selected, all groups will be included in the data.json. If any of the groups are checked, only datasets belonging to those groups will be included.'), + ); + $form['data_json']['odsm_settings_no_publishers'] = array( + '#type' => 'checkbox', + '#title' => t('Include datasets with no listed publisher in the data.json.'), + '#description' => t('If this option is selected, datasets with no listed publisher will be given the default publisher name.'), + '#default_value' => variable_get('odsm_settings_no_publishers', 1), + ); + + return system_settings_form($form); +} diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.api.php b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.api.php index 8a91aebc4..5ac11c0e1 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.api.php +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.api.php @@ -25,7 +25,7 @@ function hook_open_data_schema_map_endpoints_alter(&$records) { * - name * - enabled * - schema - * - entity + * - type * - bundle * - arguments * - description @@ -39,7 +39,7 @@ function hook_open_data_schema_map_load($machine_name) { $record->name = 'My endpoint name'; $record->enabled = TRUE; $record->schema = ''; - $record->entity = ''; + $record->type = ''; $record->bundle = ''; $record->arguments = ''; $record->machine_name = 'my_machine_name'; diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.file_cache.inc b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.file_cache.inc index 655840402..fb654c98e 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.file_cache.inc +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.file_cache.inc @@ -1,4 +1,5 @@ <?php + /** * @file * Performance for open_data_schema_map. @@ -18,6 +19,56 @@ function open_data_schema_map_file_cache_name_helper($api, $arguments = array()) return $name; } +/** + * Generate a link to an api endpoint file cache admin page. + */ +function open_data_schema_map_file_cache_admin_link($api) { + $label = open_data_schema_map_file_cache_admin_link_label($api); + return l($label, OPEN_DATA_SCHEMA_MAP_ADMIN_PATH . '/cache/' . $api->machine_name); +} + +/** + * Get cache age in hours or false if none exists. + */ +function open_data_schema_map_file_cache_age($api) { + if (open_data_schema_map_file_cache_exits($api)) { + $filename = open_data_schema_map_file_cache_name_helper($api); + $stat = stat($filename); + $seconds_in_hour = 3600; + $time = time(); + $elapsed_time = $time > $stat['ctime'] ? $time - $stat['ctime'] : 0; + return floor($elapsed_time / $seconds_in_hour); + } + + return FALSE; +} + +/** + * Generate a label for api endpoint file cache admin page link. + */ +function open_data_schema_map_file_cache_admin_link_label($api) { + $label = 'none'; + $age = open_data_schema_map_file_cache_age($api); + + if (is_numeric($age)) { + $label = "$age " . t('hrs'); + } + return $label; +} + +/** + * Generate a status for api endpoint file cache admin page. + */ +function open_data_schema_map_file_cache_status($api) { + $status = t('Not cached'); + $age = open_data_schema_map_file_cache_age($api); + + if (is_numeric($age)) { + $status = "$age " . t('hours ago'); + } + return $status; +} + /** * Check existance of a file_cache for an api endpoint. */ @@ -31,19 +82,89 @@ function open_data_schema_map_file_cache_exits($api, $arguments = array()) { function open_data_schema_map_file_cache_endpoint($machine_name) { $api = open_data_schema_map_api_load($machine_name); if (isset($api)) { - drush_log('API present and loaded', 'success'); + watchdog('open_data_schema_map', 'api present and loaded', WATCHDOG_INFO); $filename = open_data_schema_map_file_cache_name_helper($api); // This will only work for data.json v1.1 right now. - drush_log('Beginning processing for endpoint (this could take a while)', 'success'); + watchdog('open_data_schema_map', 'Beginning processing for endpoint (this could take a while)', WATCHDOG_INFO); $render = open_data_schema_map_render_api($api); $result = $render['result']; // Load the correct output format, render results, and write to a file. if ($output_format = open_data_schema_map_output_format_load($api->outputformat)) { $response = $output_format['callback']($api, $result); - drush_log('Saving ' . $filename, 'success'); + watchdog('open_data_schema_map', "Saving $filename", WATCHDOG_INFO); file_save_data($response, $filename, FILE_EXISTS_REPLACE); - drush_log($filename . ' saved', 'success'); + watchdog('open_data_schema_map', "$filename saved", WATCHDOG_INFO); } } } + +/** + * API wrapper for open_data_schema_map_file_cache_endpoint. + */ +function open_data_schema_map_file_cache_create($api) { + open_data_schema_map_file_cache_endpoint($api->machine_name); +} + +/** + * Delete a specific api endpoint file cache. + */ +function open_data_schema_map_file_cache_delete($api) { + $filename = open_data_schema_map_file_cache_name_helper($api); + if (file_exists($filename)) { + file_unmanaged_delete($filename); + } +} + +/** + * Callback for the api endpoint file cache admin page. + */ +function open_data_schema_map_cache_manage(array $form, array &$form_state, $api = NULL) { + $name = $api->name; + $title = "$name Cache"; + drupal_set_title($title, FALSE); + $form['help'] = array( + '#type' => 'item', + '#markup' => "The Open Data Schema Map filecache writes an open data endpoint such as data.json to disk, so that it does not need to be generated upon every request. See the <a href='http://docs.getdkan.com/en/latest/components/open-data-schema.html#the-odsm-file-cache'>documentation</a> for instructions on automating this process. Use the controls on this page to manually generate or remove this API's filecache.", + ); + + $status_label = t("Filecache status"); + $status = open_data_schema_map_file_cache_status($api); + + $form['status'] = array( + '#type' => 'item', + '#markup' => "<strong>$status_label:</strong> $status", + ); + + if (open_data_schema_map_file_cache_exits($api)) { + $form['rebuild'] = array('#type' => 'submit', '#value' => t('Rebuild')); + $form['delete'] = array('#type' => 'submit', '#value' => t('Delete')); + } + else { + $form['create'] = array('#type' => 'submit', '#value' => t('Create')); + } + $form['#api'] = $api; + return $form; +} + +/** + * Submit function for managing the api endpoint file caches. + */ +function open_data_schema_map_cache_manage_submit(array $form, array &$form_state) { + $api = $form['#api']; + $op = $form_state['input']['op']; + + if ($op == t('Create') || $op == t('Rebuild')) { + open_data_schema_map_file_cache_create($api); + drupal_set_message(t('A cache file for the %name api endpoint has been created.', array('%name' => $api->name))); + } + elseif ($op == t('Delete')) { + drupal_set_message(t('A cache file for the %name api endpoint has been deleted.', array('%name' => $api->name))); + open_data_schema_map_file_cache_delete($api); + } + + // Rebuild menu so the api is not available anymore. + menu_rebuild(); + + drupal_goto('admin/config/services/odsm'); +} diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.info b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.info index 04565dbeb..42ca6c0d2 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.info +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.info @@ -8,3 +8,7 @@ dependencies[] = features dependencies[] = token files[] = open_data_schema_map.features.inc files[] = test/open_data_schema_map_api.test + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.install b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.install index 6b5222770..7ea3176a1 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.install +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.install @@ -71,7 +71,7 @@ function open_data_schema_map_schema() { 'description' => 'Output Format.', 'type' => 'varchar', 'length' => 20, - 'not null' => True, + 'not null' => TRUE, 'default' => 'json', ), 'endpoint' => array( @@ -87,6 +87,13 @@ function open_data_schema_map_schema() { 'size' => 'big', 'serialize' => TRUE, ), + 'filter_enabled' => array( + 'description' => 'Whether Data Federation Filter is enabled.', + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => 0, + ), ), 'primary key' => array('id'), ); @@ -95,19 +102,17 @@ function open_data_schema_map_schema() { /** + * Ensures that the output format field is in the table. * - * Ensures that the output format field is in the table * Also sets outputformat to 'json' for all existing entries - * */ - function open_data_schema_map_update_7001() { $column = array( 'type' => 'varchar', 'description' => "Output Format", 'length' => 20, - 'not null' => True, + 'not null' => TRUE, 'default' => 'json', ); @@ -116,3 +121,21 @@ function open_data_schema_map_update_7001() { db_add_field($data_table_name, 'outputformat', $column); } } + +/** + * Ensures that the filter_enabled field is in the table. + */ +function open_data_schema_map_update_7002() { + $column = array( + 'description' => 'Whether Data Federation Filter is enabled.', + 'type' => 'int', + 'not null' => TRUE, + 'size' => 'tiny', + 'default' => 0, + ); + + $data_table_name = 'open_data_schema_map'; + if (!db_field_exists('open_data_schema_map', 'filter_enabled')) { + db_add_field($data_table_name, 'filter_enabled', $column); + } +} diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.module b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.module index 580d53361..eb28a3319 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.module +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.module @@ -8,11 +8,18 @@ $module_path = drupal_get_path('module', 'open_data_schema_map'); require_once $module_path . '/open_data_schema_map.file_cache.inc'; +define('OPEN_DATA_SCHEMA_MAP_ADMIN_PATH', 'admin/config/services/odsm'); +/** + * Class OpenDataSchemaMapException + */ class OpenDataSchemaMapException extends Exception { + private $data; /** * Override Exception constructor to add data parameter. + * + * {@inheritdoc} */ public function __construct($message, $code = 0, $data = NULL) { parent::__construct($message, $code); @@ -62,7 +69,7 @@ class OpenDataSchemaMapException extends Exception { */ function open_data_schema_map_menu() { $items = array(); - $pre = 'admin/config/services/odsm'; + $pre = OPEN_DATA_SCHEMA_MAP_ADMIN_PATH; $apis = open_data_schema_map_api_load_all(); if ($apis) { @@ -100,6 +107,15 @@ function open_data_schema_map_menu() { 'file' => 'open_data_schema_map.pages.inc', 'type' => MENU_LOCAL_ACTION, ); + $items[$pre . '/settings'] = array( + 'title' => 'Settings', + 'description' => 'Open Data Schema Map Settings', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('open_data_schema_map_admin_settings_form'), + 'access arguments' => array('administer open data schema mapper'), + 'file' => 'open_data_schema_map.admin.inc', + 'type' => MENU_LOCAL_ACTION, + ); $items[$pre . '/edit/%open_data_schema_map_api'] = array( 'title' => 'Edit API', 'description' => 'Edit an existing API Endpoint', @@ -108,6 +124,14 @@ function open_data_schema_map_menu() { 'access arguments' => array('administer open data schema mapper'), 'file' => 'open_data_schema_map.pages.inc', ); + $items[$pre . '/cache/%open_data_schema_map_api'] = array( + 'title' => 'API Cache File', + 'description' => 'Administer an existing API Endpoint File Cache', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('open_data_schema_map_cache_manage', 5), + 'access arguments' => array('administer open data schema mapper'), + 'file' => 'open_data_schema_map.file_cache.inc', + ); $items[$pre . '/delete/%open_data_schema_map_api'] = array( 'title' => 'Delete API', 'description' => 'Delete an existing API Endpoint', @@ -117,10 +141,10 @@ function open_data_schema_map_menu() { 'file' => 'open_data_schema_map.pages.inc', ); - //Read validation implementation and add to menu. + // Read validation implementation and add to menu. foreach (module_implements('open_data_schema_map_validation') as $module) { $data = module_invoke($module, 'open_data_schema_map_validation'); - $path = 'admin/config/services/odsm/validate/' . $data['name']; + $path = OPEN_DATA_SCHEMA_MAP_ADMIN_PATH . '/validate/' . $data['name']; $items[$path] = array( 'title' => $data['title'], @@ -198,16 +222,24 @@ function open_data_schema_map_help($path, $arg) { return t('Create APIs using Drupal entities that map to Open Data specifications. See !docs for more instructions.', array('!docs' => l(t('documentation'), 'https://github.com/NuCivic/open_data_schema_map#open-data-schema-map'))); } + return NULL; } /** * Provides form type from field type. + * + * @param string $field_type + * Field type + * + * @return string + * Form type */ function open_data_schema_map_form_field_type($field_type) { switch ($field_type) { case "string": return 'textfield'; } + return ''; } /** @@ -221,6 +253,9 @@ function open_data_schema_map_form_field_type($field_type) { * $api object which is passed around because procedural. * @param array $defaults * Array of defaults which matches up with the $schema. + * + * @return array + * Form array */ function open_data_schema_map_form_recursion(&$form, $schema, $api, $defaults = NULL) { $entity_ref_fields = open_data_schema_map_entity_ref_fields($api->type, $api->bundle); @@ -268,6 +303,11 @@ function open_data_schema_map_form_recursion(&$form, $schema, $api, $defaults = /** * Recursive function that walks throw tokens to output rows. + * + * @param array $rows + * Output rows + * @param array $token_info + * Tokens */ function open_data_schema_map_token_rows(&$rows, $token_info) { if (isset($token_info['children'])) { @@ -293,6 +333,12 @@ function open_data_schema_map_token_rows(&$rows, $token_info) { /** * Creates token tree for single token. + * + * @param string $token + * Token + * + * @return string + * Rendered token */ function open_data_schema_map_token_tree($token) { module_load_include('inc', 'token', 'token.pages'); @@ -333,7 +379,7 @@ function open_data_schema_map_token_tree($token) { $element['#attributes']['class'][] = 'token-click-insert'; return drupal_render($element); } - + return ''; } /** @@ -347,6 +393,7 @@ function open_data_schema_map_api_table() { unset($apis[$num]->mapping); unset($apis[$num]->arguments); $apis[$num]->edit = l(t('edit'), 'admin/config/services/odsm/edit/' . $api->machine_name); + $apis[$num]->cache = open_data_schema_map_file_cache_admin_link($api); } return $apis; } @@ -356,6 +403,9 @@ function open_data_schema_map_api_table() { * * @param string $machine_name * API machine name. + * + * @return bool + * Returns FALSE */ function open_data_schema_map_api_exist($machine_name) { return FALSE; @@ -402,10 +452,17 @@ function open_data_schema_map_api_load($machine_name) { $record->arguments = unserialize($record->arguments); return $record; } + return NULL; } /** * Loads schema from file. + * + * @param string $schema_name + * Schema name + * + * @return array + * Schema array */ function open_data_schema_map_schema_load($schema_name) { $schemas = &drupal_static(__FUNCTION__, array()); @@ -427,11 +484,11 @@ function open_data_schema_map_schema_load($schema_name) { /** * Retrieves public, published dataset nodes. * - * @param string $api + * @param object $api * Api object. - * @param string $limit + * @param int $limit * Number of results to return. - * @param string $offset + * @param int $offset * Offset of results to return. * @param array $args * - query: current value of query. @@ -485,6 +542,12 @@ function open_data_schema_map_endpoint_query($api, $limit = 0, $offset = 0, $arg /** * Returns array from token. + * + * @param string $token + * Token + * + * @return array + * Array from token */ function open_data_schema_map_discover_field($token) { $token = rtrim(trim($token, '['), ']'); @@ -493,6 +556,12 @@ function open_data_schema_map_discover_field($token) { /** * Discovers callback for argument options. + * + * @param string $id + * Argument option + * + * @return string + * Callback */ function open_data_schema_map_schema_options_callback($id) { $schema_types = open_data_schema_map_schema_types(); @@ -503,8 +572,15 @@ function open_data_schema_map_schema_options_callback($id) { } return NULL; } + /** * Discovers callback for schema type. + * + * @param string $id + * Schema type + * + * @return string + * Callback */ function open_data_schema_map_schema_types_callback($id) { $schema_types = open_data_schema_map_schema_types(); @@ -539,6 +615,18 @@ function open_data_schema_map_schema_types() { /** * Creates argument form. + * + * @param int $num_args + * Number of args + * @param array $options + * Options array + * @param array $defaults + * Defaults array + * @param object $api + * API Object + * + * @return array + * Form array */ function open_data_schema_map_args_form($num_args, $options, $defaults, $api) { $map = $api->mapping; @@ -601,6 +689,9 @@ function open_data_schema_map_args_form($num_args, $options, $defaults, $api) { /** * Special fields for arguments. + * + * @return array + * Array of arguments */ function open_data_schema_map_special_arguments() { return array( @@ -616,6 +707,8 @@ function open_data_schema_map_special_arguments() { * Entity machine name. * @param string $bundle * Bundle machine name. + * @param array $ref_fields + * List of fields * * @return array * Array of entity reference or similar fields. @@ -648,6 +741,16 @@ function open_data_schema_map_entity_ref_fields($entity, $bundle, $ref_fields = /** * Creates form from JSON 4 schema. + * + * @param array $schema + * Schema array + * @param object $api + * API object + * @param array $defaults + * Array of defaults + * + * @return array + * Form array */ function open_data_schema_map_json_4($schema, $api, $defaults) { $form = array(); @@ -730,6 +833,15 @@ function open_data_schema_map_json_4($schema, $api, $defaults) { /** * Constructs form for json schema 3. + * + * @param array $form + * Form array + * @param array $schema + * Schema + * @param object $api + * API object + * @param array $defaults + * Array of defaults */ function open_data_schema_map_json_3_recursion(&$form, $schema, $api, $defaults = NULL) { foreach ($schema as $item => $data) { @@ -776,6 +888,16 @@ function open_data_schema_map_json_3_recursion(&$form, $schema, $api, $defaults /** * Creates form from JSON 3 schema. + * + * @param array $schema + * Schema array + * @param object $api + * API object + * @param array $defaults + * Array of defaults + * + * @return array + * Form array */ function open_data_schema_map_json_3($schema, $api, $defaults) { $form = array(); @@ -789,6 +911,12 @@ function open_data_schema_map_json_3($schema, $api, $defaults) { /** * Creates option list from available arguments. + * + * @param array $schema + * Schema array + * + * @return array + * Options array */ function open_data_schema_mapper_args_options_json_4($schema) { $options = array(); @@ -800,6 +928,12 @@ function open_data_schema_mapper_args_options_json_4($schema) { /** * Creates option list from available arguments. + * + * @param array $schema + * Schema array + * + * @return array + * Options array */ function open_data_schema_mapper_args_options_json_3($schema) { $options = array(); @@ -811,8 +945,20 @@ function open_data_schema_mapper_args_options_json_3($schema) { /** * Wrapper around token_replace. + * + * @param string $token + * Token + * @param string $entity_type + * Entity Type + * @param object $entity + * Entity object + * + * @return string + * Token replaced string */ function open_data_schema_mapper_token_replace($token, $entity_type, $entity) { + $rend_tokens = array(); + // Does the token have an "or". $output = ''; if (preg_match('/\] \|\| \[/', $token)) { @@ -840,6 +986,16 @@ function open_data_schema_mapper_token_replace($token, $entity_type, $entity) { /** * Provides working arguments by validating fields and queries. + * + * @param array $map + * Map array + * @param array $queries + * Queries array + * @param array $args + * Args array + * + * @return array + * Array of args */ function open_data_schema_map_endpoint_args(&$map, $queries, $args = array()) { $output = array(); @@ -864,11 +1020,18 @@ function open_data_schema_map_endpoint_args(&$map, $queries, $args = array()) { /** * Process entities using api. + * + * @param array $ids + * IDs array + * @param object $api + * API Object + * + * @return array + * Array of processed entities */ function open_data_schema_map_endpoint_process_map($ids, $api) { $output = array(); if ($ids) { - $schema = open_data_schema_map_schema_load($api->api_schema); foreach ($ids as $key => $id) { $result = array(); $entity = entity_load_single($api->type, $id); @@ -881,6 +1044,15 @@ function open_data_schema_map_endpoint_process_map($ids, $api) { /** * Walks through map adding to results. + * + * @param array $result + * Results array + * @param array $map + * Map array + * @param string $type + * API type + * @param object $entity + * Entiy object */ function open_data_schema_map_endpoint_process_map_recursion(&$result, $map, $type, $entity) { foreach ($map as $api_field => $token) { @@ -898,7 +1070,6 @@ function open_data_schema_map_endpoint_process_map_recursion(&$result, $map, $ty unset($token['odsm_entity_reference']); if ($values) { foreach ($values as $num => $item) { - $subvalue = array(); $sub_result = array(); foreach ($token as $subfield => $subtoken) { $subtoken['value'] = str_replace('Nth', $num, $subtoken['value']) ? str_replace('Nth', $num, $subtoken['value']) : $subtoken['value']; @@ -937,6 +1108,18 @@ function open_data_schema_map_endpoint_process_map_recursion(&$result, $map, $ty /** * Processes individual field. + * + * @param string $api_field + * API field + * @param array $token + * Token array + * @param string $type + * API type + * @param object $entity + * Entity object + * + * @return array + * Array of results */ function open_data_schema_map_endpoint_process_field($api_field, $token, $type, $entity) { $result = array(); @@ -950,6 +1133,14 @@ function open_data_schema_map_endpoint_process_field($api_field, $token, $type, /** * Checks output for expected types and adjusts. + * + * @param string $value + * Value + * @param array $token + * Token array + * + * @return mixed + * Casted value */ function open_data_schema_mapper_field_type_check($value, $token) { if ($token['type'] == 'array') { @@ -963,7 +1154,7 @@ function open_data_schema_mapper_field_type_check($value, $token) { } } elseif ($token['type'] == 'boolean') { - $value = (boolean)$value; + $value = (boolean) $value; } elseif ($token['type'] == 'object') { // TODO: make object. @@ -973,12 +1164,19 @@ function open_data_schema_mapper_field_type_check($value, $token) { /** * Grabs special from arguments and removes it. + * + * @param array $args + * Args array + * @param string $type + * API type + * + * @return string + * Arg */ function open_data_schema_map_endpoint_special_arg(&$args, $type) { $value = ''; foreach ($args as $num => $arg) { if ($arg['field'] == $type) { - $value = $args[$num]; unset($args[$num]); return $arg['query']; } @@ -992,14 +1190,14 @@ function open_data_schema_map_endpoint_special_arg(&$args, $type) { */ function open_data_schema_map_open_data_schema_map_args_alter(&$field, &$arg) { if ($arg['token']['value'] == '[node:url:arg:last]' || $arg['token']['value'] == '[node:url:args:last]') { - // Query against a like statement to reduce forloop - $result = db_select('url_alias', 'url') + // Query against a like statement to reduce forloop. + $results = db_select('url_alias', 'url') ->fields('url', array('source', 'alias')) ->condition('alias', '%/' . $arg['query'], 'LIKE') ->execute() - ->fetchAll(); + ->fetchAll(); $field[1] = 'nid'; - foreach ($result as $result) { + foreach ($results as $result) { $alias = explode('/', $result->alias); if ($alias[count($alias) - 1] == $arg['query']) { $nid = explode('/', $result->source); @@ -1012,7 +1210,7 @@ function open_data_schema_map_open_data_schema_map_args_alter(&$field, &$arg) { 404, array( '__type' => 'Query Error', - 'name_or_id' => t('Query \'!query\' doesn\'t return results', array('!query' => $arg['query'])), + 'name_or_id' => t("Query '!query' doesn't return results", array('!query' => $arg['query'])), ) ); } @@ -1035,6 +1233,16 @@ function open_data_schema_map_open_data_schema_map_args_alter(&$field, &$arg) { /** * Function that renders and odsm api for endpoint. + * + * @param object $api + * API object + * @param array $query + * Query array + * @param array $queries + * Queries array + * + * @return array + * Array of results/headers */ function open_data_schema_map_render_api($api, $query = NULL, $queries = NULL) { if (!isset($queries)) { @@ -1099,26 +1307,40 @@ function open_data_schema_map_render_api($api, $query = NULL, $queries = NULL) { /** * Discovers additional fields. + * + * @param object $api + * API Object + * + * @return array + * Array of additional fields */ function open_data_schema_map_additional_fields($api) { $tokens = array(); + $additional_fields = array(); foreach ($api->mapping as $schema_id => $item) { if (isset($item['value']) && $item['value'] && !is_array($item['value'])) { $tokens[] = $item['value']; } } - $unsused_fields = array(); $fields = field_info_instances('node', 'dataset'); foreach ($fields as $field_name => $instance) { if (!in_array('[node:' . $field_name . ']', $tokens)) { - $addtional_fields[] = $field_name; + $additional_fields[] = $field_name; } } - return $addtional_fields; + return $additional_fields; } /** * Adds additional fields to mapping. + * + * @param array $fields + * Fields array + * @param object $api + * API object + * + * @return object + * Updated API object */ function open_data_schema_map_additional_fields_add($fields, $api) { foreach ($fields as $field_name) { @@ -1128,8 +1350,14 @@ function open_data_schema_map_additional_fields_add($fields, $api) { return $api; } - /* +/** * Adds node links to errors. + * + * @param array $rows + * Array of error rows + * + * @return array + * Error rows with node links added */ function open_data_schema_validation_process_errors($rows) { foreach ($rows as $key => $row) { @@ -1142,7 +1370,7 @@ function open_data_schema_validation_process_errors($rows) { else { $node = $ids[$row['id']]; } - $rows[$key]['title'] = l($node->title,'node/' . $node->nid); + $rows[$key]['title'] = l($node->title, 'node/' . $node->nid); } return $rows; } @@ -1169,7 +1397,7 @@ function open_data_schema_map_tokens_alter(array &$replacements, array $context) $replacements['[node:field-frequency]'] = open_data_schema_map_accrual_iso_8601_value($replacements['[node:field-frequency]']); } if (isset($replacements['[node:field-data-dictionary]'])) { - //Check if is a url. + // Check if is a url. $url = check_url($context['data']['node']->field_data_dictionary[LANGUAGE_NONE][0]['value']); $output = valid_url($url, TRUE) ? $url : $context['data']['node']->field_data_dictionary[LANGUAGE_NONE][0]['value']; $replacements['[node:field-data-dictionary]'] = $output; @@ -1178,6 +1406,12 @@ function open_data_schema_map_tokens_alter(array &$replacements, array $context) /** * Provides value for human readable name. + * + * @param string $name + * Name + * + * @return string + * Human readable name */ function open_data_schema_map_accrual_iso_8601_value($name) { if ($name == 'Annually') { @@ -1194,6 +1428,9 @@ function open_data_schema_map_accrual_iso_8601_value($name) { /** * Provides iso 8601 accrual periodicity. + * + * @return array + * Array of iso values */ function open_data_schema_map_accrual_iso_8601() { return array( @@ -1211,9 +1448,175 @@ function open_data_schema_map_accrual_iso_8601() { 'Three times a month' => 'R/P0.33M', 'Continuously updated' => 'R/PT1S', 'Monthly' => 'R/P1M', - 'Quarterly' => ' R/P3M', + 'Quarterly' => 'R/P3M', 'Semimonthly' => 'R/P0.5M', 'Three times a year' => 'R/P4M', 'Weekly' => 'R/P1W', ); } + +/** + * Implements hook_open_data_schema_map_results_alter(). + */ +function open_data_schema_map_open_data_schema_map_results_alter(&$result, $api_machine_name, $schema) { + $api = open_data_schema_map_api_load($api_machine_name); + if ($api->filter_enabled && in_array($api_machine_name, _open_data_schema_map_get_available_filters('machine_name'))) { + $ghosts = 0; + $itemcount = count($result); + $include_datasets_with_no_publishers = variable_get('odsm_settings_no_publishers', 1); + watchdog('open_data_schema_map', "Generating data.json: about to iterate over $itemcount datasets."); + // Determine whether to filter the data.json feed by publisher. + $publishers = array(); + $included_agency_nids = variable_get('odsm_settings_groups', array()); + $filter_by_publisher = FALSE; + // If none of the groups are selected, don't filter the data.json by + // publisher. If any of the groups are checked, only those groups + // will be included. + + // NIDs are zero if unchecked, so use sum. + if (array_sum($included_agency_nids)) { + $filter_by_publisher = TRUE; + $publishers = array(); + $agencies = db_query("SELECT node.title AS node_title, node.nid AS nid + FROM {node} node + WHERE ((node.status = '1') AND (node.type IN ('group')) ) + ORDER BY node_title ASC" + ); + foreach ($agencies as $agency) { + if (in_array($agency->nid, $included_agency_nids)) { + $publishers[] = htmlentities($agency->node_title); + } + } + } + foreach ($result as $key => $dataset) { + // Exclude "ghost datasets," i.e., datasets with no title. + if (is_array($dataset) && !isset($dataset['title'])) { + unset($result[$key]); + watchdog('open_data_schema_map', 'Ghost dataset: <pre>@key</pre>', array('@key' => print_r($result[$key])), TRUE); + $ghosts++; + continue; + } + // Remove datasets that don't have a publisher. + elseif (!$include_datasets_with_no_publishers && !isset($dataset['publisher']['name'])) { + unset($result[$key]); + continue; + } + // Remove datasets that are not on the included publishers list. + elseif ($filter_by_publisher && isset($dataset['publisher']['name']) && !_open_data_schema_map_settings_contains($dataset['publisher']['name'], $publishers)) { + unset($result[$key]); + continue; + } + + // Do some cleanup to improve data.json validation. + if (isset($dataset['@type']) && $dataset['@type'] == 'dcat:Dataset') { + // Default hasEmail to site email. + if (isset($dataset['contactPoint']) + && isset($dataset['contactPoint']['hasEmail']) + && $dataset['contactPoint']['hasEmail'] == 'mailto:') { + $result[$key]['contactPoint']['hasEmail'] .= variable_get('site_mail'); + } + if (!isset($dataset['keyword'])) { + if (isset($dataset['publisher']['name'])) { + $result[$key]['keyword'] = array(_open_data_schema_map_keyword_string($dataset['publisher']['name'])); + } + else { + $result[$key]['keyword'] = array('health'); + } + } + if (!isset($dataset['description'])) { + $result[$key]['description'] = t('No description provided'); + } + if (isset($dataset['distribution'])) { + foreach ($dataset['distribution'] as $num => $dist) { + if (empty($dist['mediaType'])) { + $result[$key]['distribution'][$num]['mediaType'] = 'application/unknown'; + } + if (empty($dist['downloadURL']) || $dist['downloadURL'] == 'http://') { + unset($result[$key]['distribution'][$num]['downloadURL']); + } + if (!$dist['format']) { + unset($result[$key]['distribution'][$num]['format']); + } + } + } + } + } + } +} + +/** + * Get available filters. + * + * @param string $return_type + * Valid values are 'machine_name', 'api_schema', 'name' + * + * @return array + * Array of filters values of $return_type + */ +function _open_data_schema_map_get_available_filters($return_type = 'machine_name') { + $available_filters = array(); + $available_filters_machine_name = array( + 'data_json_1_1', + 'dcat_v1_1', + 'dcat_v1_1_json', + ); + + // Validate return_type. + if (!in_array($return_type, array('machine_name', 'api_schema', 'name'))) { + watchdog('open_data_schema_map', + 'Invalid return type @return_type specified for _open_data_schema_map_get_available_filters()', + array('@return_type' => $return_type) + ); + return NULL; + } + + $apis = open_data_schema_map_api_load_all(); + foreach ($apis as $num => $api) { + if (in_array($api->machine_name, $available_filters_machine_name)) { + $available_filters[] = $api->$return_type; + } + } + + return $available_filters; +} + +/** + * Utility function to see if an agency is in a list of publishers. + * + * @param string $agency_string + * A string with the name of the agency or agencies that publish a dataset. + * @param array $publishers + * An array with the names of publishers to be included. + * + * @return bool + * Boolean (true if $agency_string contains one or more of the publishers). + */ +function _open_data_schema_map_settings_contains($agency_string, array $publishers) { + foreach ($publishers as $publisher) { + if (stripos($agency_string, $publisher) !== FALSE) { + return TRUE; + } + } + return FALSE; +} + +/** + * String utility function. + * + * @param string $string + * Input string + * + * @return string + * Keyword alphanumeric string w/only dashes. + */ +function _open_data_schema_map_keyword_string($string) { + // Lower case everything. + $string = strtolower($string); + // Make alphanumeric (removes all other characters). + $string = preg_replace("/[^a-z0-9_\s-]/", "", $string); + // Clean up multiple dashes or whitespaces. + $string = preg_replace("/[\s-]+/", " ", $string); + // Convert whitespaces and underscore to dash. + $string = preg_replace("/[\s_]/", "-", $string); + return $string; +} diff --git a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.pages.inc b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.pages.inc index e841100fc..065508b26 100644 --- a/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.pages.inc +++ b/dkan/modules/contrib/open_data_schema_map/open_data_schema_map.pages.inc @@ -30,8 +30,6 @@ function open_data_schema_map_page_overview() { $function($data); } // TODO: report features status. - // $data['configuration'] = theme('entity_status', - // array('status' => $data['features'])); $data['enabled'] = $data['enabled'] ? t('Enabled') : t('Disabled'); $list[] = $data; } @@ -41,11 +39,11 @@ function open_data_schema_map_page_overview() { $header[] = t('Schema'); $header[] = t('Entity'); $header[] = t('Bundle'); - $header[] = t('Endpoint'); $header[] = t('Output Format'); + $header[] = t('Endpoint'); $header[] = t('Edit'); + $header[] = t('Cache'); $header[] = t('Delete'); - // $header[] = t('Configuration'); $rows = $list; return array( '#theme' => 'table', @@ -58,6 +56,16 @@ function open_data_schema_map_page_overview() { /** * Callback for delete page. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array + * @param object $api + * API Object + * + * @return array + * Form Array */ function open_data_schema_map_delete(array $form, array &$form_state, $api = NULL) { if (isset($api->callback)) { @@ -75,6 +83,11 @@ function open_data_schema_map_delete(array $form, array &$form_state, $api = NUL /** * Submit function for deleting an API. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array */ function open_data_schema_map_delete_submit(array $form, array &$form_state) { $api = $form['#api']; @@ -92,8 +105,19 @@ function open_data_schema_map_delete_submit(array $form, array &$form_state) { /** * Callback for primary menu page. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array + * @param object $api + * API Object + * + * @return array + * Form Array */ function open_data_schema_map_manage(array $form, array &$form_state, $api = NULL) { + $entity_list = array(); if (isset($api->callback)) { $form['in_code'] = array( '#type' => 'item', @@ -294,6 +318,15 @@ function open_data_schema_map_manage(array $form, array &$form_state, $api = NUL } $form['mapping'] = $form['mapping'] + open_data_schema_map_schema_map_form($schema, $api); + if (in_array($api->machine_name, _open_data_schema_map_get_available_filters('machine_name'))) { + $form['filter_enabled'] = array( + '#type' => 'checkbox', + '#title' => t('Apply Data Federation Filters'), + '#description' => t('Check to apply filters configured in the') . ' ' . l(t('Data Federation Filters'), '/admin/config/services/odsm/settings') . ' ' . t('settings'), + '#weight' => 6, + ); + } + // Load defaults. $form['name']['#default_value'] = $api->name; $form['machine_name']['#default_value'] = $api->machine_name; @@ -304,12 +337,12 @@ function open_data_schema_map_manage(array $form, array &$form_state, $api = NUL $form['enabled']['#default_value'] = $api->enabled; $form['api_schema']['#default_value'] = $api->api_schema; $form['arguments']['#default_value'] = $api->arguments; + $form['filter_enabled']['#default_value'] = $api->filter_enabled; $form['id'] = array( '#type' => 'hidden', '#value' => $api->id, ); - } if ($api) { $form['submit'] = array( @@ -336,6 +369,14 @@ function open_data_schema_map_manage(array $form, array &$form_state, $api = NUL /** * Creates form for schema fields. + * + * @param array $schema + * Schema array + * @param object $api + * API Object + * + * @return array + * Form array */ function open_data_schema_map_schema_map_form($schema, $api) { $function = open_data_schema_map_schema_types_callback($schema['$schema']); @@ -349,6 +390,14 @@ function open_data_schema_map_schema_map_form($schema, $api) { /** * Form AJAX handler. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array + * + * @return array + * Bundle array */ function open_data_schema_map_bundle_ajax_callback(array $form, array &$form_state) { return $form['bundle']; @@ -356,6 +405,14 @@ function open_data_schema_map_bundle_ajax_callback(array $form, array &$form_sta /** * Form AJAX handler. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array + * + * @return array + * Arguments array */ function open_data_schema_mapper_args_ajax_callback(array $form, array &$form_state) { return $form['arguments']; @@ -363,6 +420,11 @@ function open_data_schema_mapper_args_ajax_callback(array $form, array &$form_st /** * Submit function for api map. + * + * @param array $form + * Form array + * @param array $form_state + * Form state array */ function open_data_schema_map_manage_submit($form, $form_state) { $db_schema = drupal_get_schema('open_data_schema_map'); @@ -405,6 +467,11 @@ function open_data_schema_map_manage_submit($form, $form_state) { /** * Adds field type to field definition. + * + * @param array $values + * Values array + * @param array $mapping + * Mapping array */ function open_data_schema_map_add_type(&$values, $mapping) { foreach ($values as $api_field => $token) { @@ -419,17 +486,20 @@ function open_data_schema_map_add_type(&$values, $mapping) { } /** - * Main endpoint callback + * Main endpoint callback. + * + * @param object $api + * API object */ function open_data_schema_map_endpoint($api) { - // Start by setting the content type header based on the API settings + // Start by setting the content type header based on the API settings. if ($output_format = open_data_schema_map_output_format_load($api->outputformat)) { - foreach($output_format['headers'] as $key => $value) { + foreach ($output_format['headers'] as $key => $value) { drupal_add_http_header($key, $value); } } - // Check if a file cache exists, and simply return this if it does + // Check if a file cache exists, and simply return this if it does. if (open_data_schema_map_file_cache_exits($api)) { $filename = open_data_schema_map_file_cache_name_helper($api); drupal_add_http_header('Expires', gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); @@ -438,7 +508,7 @@ function open_data_schema_map_endpoint($api) { readfile($filename); } - // If not, render the results and output with the appropriate formatter + // If not, render the results and output with the appropriate formatter. else { $render = open_data_schema_map_render_api($api); $headers = $render['headers']; diff --git a/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaFileCacheTest.php b/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaFileCacheTest.php new file mode 100644 index 000000000..b32826f0c --- /dev/null +++ b/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaFileCacheTest.php @@ -0,0 +1,66 @@ +<?php + +/** + * Test for file cache functionality. + */ +class OpenDataSchemaFileCacheTest extends PHPUnit_Framework_TestCase { + + /** + * Remove cache files if found. + */ + protected function tearDown() { + $api = open_data_schema_map_api_load('data_json_1_1'); + open_data_schema_map_file_cache_delete($api); + } + + /** + * Test open_data_schema_map_file_cache_admin_link_label(). + */ + public function testFileCacheAdminLinkLabel() { + // Defaults to none. + $api = open_data_schema_map_api_load('data_json_1_1'); + $expected = "none"; + $actual = open_data_schema_map_file_cache_admin_link_label($api); + $this->assertEquals($actual, $expected); + + // Otherwise defaults to age of cache. + open_data_schema_map_file_cache_create($api); + $expected = "0 hrs"; + $actual = open_data_schema_map_file_cache_admin_link_label($api); + $this->assertEquals($actual, $expected); + } + + /** + * Test open_data_schema_map_file_cache_admin_link(). + */ + public function testFileCacheAdminLink() { + $api = open_data_schema_map_api_load('data_json_1_1'); + $label = open_data_schema_map_file_cache_admin_link_label($api); + $expected = l($label, OPEN_DATA_SCHEMA_MAP_ADMIN_PATH . '/cache/' . $api->machine_name); + $actual = open_data_schema_map_file_cache_admin_link($api); + $this->assertEquals($actual, $expected); + } + + /** + * Test open_data_schema_map_file_cache_create(). + */ + public function testFileCacheCreate() { + $api = open_data_schema_map_api_load('data_json_1_1'); + $this->assertFalse(open_data_schema_map_file_cache_exits($api)); + open_data_schema_map_file_cache_create($api); + $this->assertTrue(open_data_schema_map_file_cache_exits($api)); + } + + /** + * Test open_data_schema_map_file_cache_delete(). + */ + public function testFileCacheDelete() { + $api = open_data_schema_map_api_load('data_json_1_1'); + open_data_schema_map_file_cache_create($api); + $this->assertTrue(open_data_schema_map_file_cache_exits($api)); + + open_data_schema_map_file_cache_delete($api); + $this->assertFalse(open_data_schema_map_file_cache_exits($api)); + } + +} diff --git a/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaMapBaseTest.php b/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaMapBaseTest.php index c2f41600e..2081bb5df 100644 --- a/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaMapBaseTest.php +++ b/dkan/modules/contrib/open_data_schema_map/test/OpenDataSchemaMapBaseTest.php @@ -1,7 +1,17 @@ <?php +/** + * @file + * Open Data Schema Map PHPUnit Tests. + */ + +/** + * Class OpenDataSchemaMapBaseTest + */ class OpenDataSchemaMapBaseTest extends PHPUnit_Framework_TestCase { - + /** + * {@inheritdoc} + */ public static function setUpBeforeClass() { // Change /data.json path to /json during tests. $data_json = open_data_schema_map_api_load('data_json_1_1'); @@ -9,15 +19,32 @@ public static function setUpBeforeClass() { drupal_write_record('open_data_schema_map', $data_json, 'id'); drupal_static_reset('open_data_schema_map_api_load_all'); menu_rebuild(); + + // Save original variables. + $original_included_agency_nids = variable_get('odsm_settings_groups', array()); + variable_set('original_included_agency_nids', $original_included_agency_nids); + + // Save original filter enabled on data.json. + variable_set('original_data_json_1_1_filter_enabled', $data_json->filter_enabled); } + /** + * {@inheritdoc} + */ public static function tearDownAfterClass() { - // Restore /data.json path + // Restore /data.json path, filter_eenabled. $data_json = open_data_schema_map_api_load('data_json_1_1'); $data_json->endpoint = 'data.json'; + $data_json->filter_enabled = variable_get('original_data_json_1_1_filter_enabled', FALSE); drupal_write_record('open_data_schema_map', $data_json, 'id'); drupal_static_reset('open_data_schema_map_api_load_all'); - menu_rebuild(); + menu_rebuild(); + + // Restore overridden variables. + $original_included_agency_nids = variable_get('original_included_agency_nids'); + variable_set('odsm_settings_groups', $original_included_agency_nids); + variable_del('original_included_agency_nids'); + variable_del('original_included_agency_nids'); } /** @@ -109,6 +136,164 @@ public function testDkanDatasetAPIRead() { } } + /** + * Test filtering of API. + */ + public function testDkanDatasetAPIFilter() { + $api_machine_name = 'data_json_1_1'; + // Test when enable_filter is disabled. + self::modifyApiFieldValues('data_json_1_1', array('filter_enabled' => 0)); + + $query = new EntityFieldQuery(); + $num_datasets = $query->entityCondition('entity_type', 'node') + ->entityCondition('bundle', 'dataset') + ->propertyCondition('status', NODE_PUBLISHED) + ->count()->execute(); + + // Load data.json responses. + $responses = $this->runQueries($api_machine_name); + $data = json_decode($responses[0]->data); + + // Ensure all datasets are being shown. + $message = t( + 'No Filter Enabled: Found @num_results_datasets, expected @expected_datasets datasets', + array( + '@num_results_datasets' => count($data->dataset), + '@expected_datasets' => $num_datasets, + ) + ); + $this->assertEquals(count($data->dataset), $num_datasets, $message); + + // Test filter enabled, no groups are selected, publishers without name ok. + self::modifyApiFieldValues($api_machine_name, array('filter_enabled' => 1)); + variable_set('odsm_settings_groups', array()); + variable_set('odsm_settings_no_publishers', 1); + + $query = new EntityFieldQuery(); + $num_datasets = $query->entityCondition('entity_type', 'node') + ->entityCondition('bundle', 'dataset') + ->propertyCondition('status', NODE_PUBLISHED) + ->count()->execute(); + + // Load data.json responses. + $responses = $this->runQueries($api_machine_name); + $data = json_decode($responses[0]->data); + + // Ensure all datasets are being shown. + $message = t( + 'Filter Enabled/No Groups: Found @num_results_datasets, expected @expected_datasets datasets', + array( + '@num_results_datasets' => count($data->dataset), + '@expected_datasets' => $num_datasets, + ) + ); + $this->assertEquals(count($data->dataset), $num_datasets, $message); + + // Test one group for filtering, publishers without name ok. + variable_set('odsm_settings_no_publishers', 1); + + $query = db_query("SELECT node.title AS node_title, node.nid AS nid + FROM {node} node + WHERE ((node.status = '1') AND (node.type IN ('group')) ) + ORDER BY node_title ASC" + ); + $groups = $query->fetchAll(); + + + // Set the 1st group as the one to be included. + $group_to_filter = reset($groups); + variable_set('odsm_settings_groups', array($group_to_filter->nid => $group_to_filter->nid)); + + // Load data.json responses. + $responses = $this->runQueries($api_machine_name); + $data = json_decode($responses[0]->data); + + foreach ($data->dataset as $dataset) { + // Check each dataset's og_group_ref (publisher/group). + $query = new EntityFieldQuery(); + $loaded_dataset_nids = $query->entityCondition('entity_type', 'node') + ->entityCondition('bundle', 'dataset') + ->propertyCondition('status', NODE_PUBLISHED) + ->propertyCondition('uuid', $dataset->identifier) + ->execute(); + $loaded_group_nodes = node_load_multiple(array_keys($loaded_dataset_nids['node'])); + + foreach ($loaded_group_nodes as $loaded_group_node) { + if (isset($loaded_group_node->og_group_ref[LANGUAGE_NONE])) { + foreach ($loaded_group_node->og_group_ref[LANGUAGE_NONE] as $target_ids) { + // Ensure the dataset is part of the group. + $message = t( + 'Group of dataset @dataset_title did not match filter group NID @nid', + array( + '@dataset_title' => $group_to_filter->title, + '@nid' => $target_ids['target_id'], + ) + ); + $this->assertEquals($group_to_filter->nid, $target_ids['target_id'], $message); + } + } + else { + // No publisher set, no check necessary on this test. + } + } + } + + // Test one group for filtering, publishers without name not ok. + variable_set('odsm_settings_no_publishers', 0); + + $query = db_query("SELECT node.title AS node_title, node.nid AS nid + FROM {node} node + WHERE ((node.status = '1') AND (node.type IN ('group')) ) + ORDER BY node_title ASC" + ); + $groups = $query->fetchAll(); + + // Set the 1st group as the one to be included. + $group_to_filter = reset($groups); + variable_set('odsm_settings_groups', array($group_to_filter->nid => $group_to_filter->nid)); + + // Load data.json responses. + $responses = $this->runQueries($api_machine_name); + $data = json_decode($responses[0]->data); + + foreach ($data->dataset as $dataset) { + // Check each dataset's og_group_ref (publisher/group). + $query = new EntityFieldQuery(); + $loaded_dataset_nids = $query->entityCondition('entity_type', 'node') + ->entityCondition('bundle', 'dataset') + ->propertyCondition('status', NODE_PUBLISHED) + ->propertyCondition('uuid', $dataset->identifier) + ->execute(); + $loaded_group_nodes = node_load_multiple(array_keys($loaded_dataset_nids['node'])); + + foreach ($loaded_group_nodes as $loaded_group_node) { + if (isset($loaded_group_node->og_group_ref[LANGUAGE_NONE])) { + foreach ($loaded_group_node->og_group_ref[LANGUAGE_NONE] as $target_ids) { + // Ensure the dataset is part of the group. + $message = t( + 'Group of dataset @dataset_title did not match filter group NID @nid', + array( + '@dataset_title' => $group_to_filter->title, + '@nid' => $target_ids['target_id'], + ) + ); + $this->assertEquals($group_to_filter->nid, $target_ids['target_id'], $message); + } + } + else { + // No publisher set, that violates the test. + $message = t( + 'Blank publisher found on dataset @dataset_title', + array( + '@dataset_title' => $group_to_filter->title, + ) + ); + $this->assertTrue(FALSE, $message); + } + } + } + } + /** * Run common test to an array of package. * @@ -129,7 +314,7 @@ protected function runCommonTest($result, $text) { /** * Run common test to an array of package. * - * @param array $packages + * @param mixed $packages * An array of json datasets. */ protected function runPackageTests($packages) { @@ -168,19 +353,22 @@ protected function runPackageTest($package) { } /** - * Runs querys for every hook_menu_item related to $slug. + * Runs queries for every hook_menu_item related to $slug. * * @param string $slug * identifier for a specific api endpoint * @param string $uuid * unique identifier for a specific group, resource or dataset query + * + * @return array + * Array of successful queries. */ - protected function runQueries($slug, $uuid = FALSE) { + protected function runQueries($slug, $uuid = '') { $uris = $this->getHookMenuItems($slug); - + foreach ($uris as $key => $uri) { $uris[$key] = array('uri' => $uri, 'options' => array()); - if ($uuid) { + if (!empty($uuid)) { if (strpos($uri, '%') !== FALSE) { $uris[$key]['uri'] = str_replace('%', $uuid, $uri); } @@ -226,8 +414,21 @@ protected function getHookMenuItems($callback) { return array($endpoints[$callback]); } - /*public function testDataJsonRollback() { - $this->rollback('dkan_migrate_base_example_data_json11'); - }*/ - + /** + * Sets fields/values in an API schema. + * + * @param string $api_name + * API machine name + * @param array $field_values + * Array of field_name => value to set + */ + protected static function modifyApiFieldValues($api_name, $field_values) { + $data_json = open_data_schema_map_api_load($api_name); + foreach ($field_values as $field => $value) { + $data_json->$field = $value; + } + drupal_write_record('open_data_schema_map', $data_json, 'id'); + drupal_static_reset('open_data_schema_map_api_load_all'); + menu_rebuild(); + } } diff --git a/dkan/modules/contrib/recline/recline.info b/dkan/modules/contrib/recline/recline.info index 3f9776aba..e903bab69 100644 --- a/dkan/modules/contrib/recline/recline.info +++ b/dkan/modules/contrib/recline/recline.info @@ -6,3 +6,7 @@ dependencies[] = libraries dependencies[] = file scripts[] = js/jsondataview.js scripts[] = js/restdataview.js + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/search_api_db/PATCHES.txt b/dkan/modules/contrib/search_api_db/PATCHES.txt index e7e744b0c..3a3c534fe 100644 --- a/dkan/modules/contrib/search_api_db/PATCHES.txt +++ b/dkan/modules/contrib/search_api_db/PATCHES.txt @@ -1,4 +1,4 @@ The following patches have been applied to this project: - https://www.drupal.org/files/issues/2855634-23--fix_update_7107_for_different_db.patch -This file was automatically generated by Drush Make (http://drupal.org/project/drush). \ No newline at end of file +This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/dkan/modules/contrib/tablefield/README.txt b/dkan/modules/contrib/tablefield/README.txt index 61b47cc05..d9fcb2a09 100644 --- a/dkan/modules/contrib/tablefield/README.txt +++ b/dkan/modules/contrib/tablefield/README.txt @@ -1,18 +1,151 @@ -TableField ----------- -This module provides a simple, generic form/widget to input tabular data. The -form allows the user to select the number of rows/columns in the table, then -enter the data via textfields. Since this is a field, it is automatically -revision capable, multi-value capable, and has integration with Views. - -INSTALLATION ------------- -- Copy tablefield directory to /sites/all/modules -- Enable module at /admin/modules -- Add a tablefield to any entity, for example /admin/structure/types - -CREDITS -------- +# TableField # + +Provides a simple, generic form/widget to input tabular data. The form allows +the user to select the number of rows/columns in the table, then enter the data +via textfields. Since this is a field it is revision capable,multi-value +capable and has integration with Views. + + +## INSTALLATION ## + +- Copy tablefield directory to ../sites/all/modules. +- Enable module at ../admin/modules. + + +## GET STARTED ## + +Add a tablefield to any entity: +- For nodes at ../admin/structure/types. Then click 'manage fields' for the + desired content type. +- For users at ../admin/config/people/accounts/fields. +- For taxonomies at ../admin/structure/taxonomy. Then click 'edit vocabulary' + for the desired vocabulary. +- For files using the File Entity (fieldable files) module + (https://www.drupal.org/project/file_entity) at + ../admin/structure/file-types. Then click 'manage fields' for the desired + file type. + + +## FEATURES ## + +### Per table (in Edit mode) ### + +- Change number of rows/columns per table (even within multi-value instances). + Optionally restict that to users with the permission 'Rebuild tablefied' + (see field settings below). +- Rows can be rearranged with drag and drop. +- Upload a CSV file to be converted into a table on the fly. The used + separator can be defined at ../admin/config/content/tablefield. +- Copy paste tables e.g. from Excel. +- Add a table caption. +- Easily remove tables from a multi-value field with the button. Just install + and enable https://www.drupal.org/project/multiple_fields_remove_button. + + +### Per field (field settings) ### + +For nodes field settings for some of the below options can be found through +'manage fields' at ../admin/structure/types. For others entities see above. + +- Restrict rebuilding to users with the permission "rebuild tablefield". +- Lock table header so default values cannot be changed. +- Input type: textfield or textarea. +- Maximum cell length in characters (integer >= 1, max 999999). +- Table cell processing (radios). + * Plain text + * Filtered text (user selects input format) +- Default value for example to create a header on new tables. Can be locked + selecting the appropriate checkbox mentiond above. + + +### Per display mode (display settings) ### + +For nodes display settings for the below options can be found through +'manage display' at ../admin/structure/types. For others entities see above +under 'GET STARTED'. Display options can be set per view mode e.g. 'Default' or +'Teaser'. + +The options of all of the below settings are 'Yes'/'No' (checkbox) unless +stated otherwise. + + +#### Tabular view #### + +- Sticky header +- Sortable (install and enable https://drupal.org/project/tablesorter) +- Hide first row +- Hide empty columns ignoring column header +- Trim empty trailing columns +- Trim empty trailing rows +- Hide empty rows +- Hide empty columns +- Show link to export table data as CSV depending on permission + + +#### Raw data (JSON or XML) #### + +This format is intended to provide table data as a service: + +- directly by enabling the submodule TableField Themeless. It provides + themeless output of a node's tablefield on the path 'node/%/themeless' (HTML, + JSON or XML). +- using a View (e.g. with https://www.drupal.org/project/views_datasource) that + outputs JSON or XML. The Views field settings includes 'Formatter'. +- using a custom service (e.g. with https://www.drupal.org/project/services). + + +When choosing 'Raw data (JSON or XML)' it shows the below options: + +- Wrapper for table data (if applicable) + * tabledata (fixed string) + * Label: [the actual field label] + * Machine name: [the actual field machine name without field_ prefix] + * To provide a custom value install and enable the 'Select (or other)' + module (https://www.drupal.org/project/select_or_other). +- Use first row/column values as array keys (if not empty). (select) + * No + * Header only + * Both first row and first column (two headers) +- Row identifier key +- Vertical header (first column instead of first row) +- Table data only (no caption) +- Encode numeric strings as numbers (for JSON only) +- XML instead of JSON +- How to make field values XML safe? (for XML only) + * Convert special characters to HTML entities (htmlspecialchars) + * Represent field values that contain special characters as a CDATA section + * Represent all field values as a CDATA section + +Using this format for a display mode for a node content type will display the +JSON or XML in pretty print. More logical is to use the regular 'Tabular view' +for the node display and use the 'Raw dat (JSON)' diplay only for a service. +That would expose the data of published tables on a site automatically as a +service. + + +### Themeless output ### + +Enabling the submodule TableField Themeless provides themeless output of a +node's tablefield on the path 'node/%/themeless' (HTML, JSON or XML). This is +useful to embed the table's HTML elsewhere (as an iFrame) or to provide the +table data as a service (JSON or XML) directly without the need of Views or a +Service. + +- Enable the submodule TableField Themeless. +- Go to ../admin/structure/types/manage/[your-content-type]/display. +- Uncollapse the CUSTOM DISPLAY SETTINGS and select 'Themeless'. +- Save. +- Now a new display mode appears besides Default and Teaser. Go and configure. +- Save. + +Install and enable https://www.drupal.org/project/subpathauto to have the +themeless output available under the alias path like 'some/alias/themeless' +besides 'node/%/themeless'. + + +## CREDITS ## + - Original author: Kevin Hankens (http://www.kevinhankens.com) - Maintainer: vitalie (https://www.drupal.org/u/vitalie) - Maintainer: jenlampton (https://www.drupal.org/u/jenlampton) +- Maintainer D7: Martin Postma (https://www.drupal.org/u/lolandese) diff --git a/dkan/modules/contrib/tablefield/UPGRADE.txt b/dkan/modules/contrib/tablefield/UPGRADE.txt new file mode 100644 index 000000000..ccf560474 --- /dev/null +++ b/dkan/modules/contrib/tablefield/UPGRADE.txt @@ -0,0 +1,16 @@ +Upgrading from tablefield-7.x-2.x to tablefield-7.x-3.x: + +A database update script using hook_update_N is provided that takes care of: +- converting existing table to a new database structure +- moving existing field settings to diplay settings instead, maintaining the + values. +- moving options from TABLE FIELD SETTINGS to [content-type] SETTINGS, + maintaining the values. + +It should be noted that the database structure has fundamentally changed. If +you use (custom) code that interacts directly with the tablefield data you +would probably have to revise the code. + +Backup your database and take note of what version of the module you currently +use (of make a copy if it is a dev version). After you run update.php check +your existing tables and their settings thoroughly. diff --git a/dkan/modules/contrib/tablefield/tablefield.css b/dkan/modules/contrib/tablefield/css/tablefield.css similarity index 73% rename from dkan/modules/contrib/tablefield/tablefield.css rename to dkan/modules/contrib/tablefield/css/tablefield.css index 515a0ddb2..8586acc58 100644 --- a/dkan/modules/contrib/tablefield/tablefield.css +++ b/dkan/modules/contrib/tablefield/css/tablefield.css @@ -1,3 +1,7 @@ +/** + * @file + * Styles for Table fields themselves and the form field as well. + */ .field-widget-tablefield .form-tablefield table, .form-tablefield table { @@ -21,11 +25,8 @@ overflow: hidden; width: 98%; } -.form-tablefield input.tablefield-row-0 { - font-weight: bold; -} .table-no-headers input.tablefield-row-0 { - font-weight: normal!important; + font-weight: normal !important; } .form-tablefield input { background-color: transparent; @@ -35,3 +36,7 @@ .form-tablefield fieldset { margin: 0.5em 0; } +/* To have an input value close to its unit for the field 'Maximum cell length'.*/ +.tablefield-form-align { + text-align: right; /* LTR */ +} diff --git a/dkan/modules/contrib/tablefield/css/tablefield_header_hor.css b/dkan/modules/contrib/tablefield/css/tablefield_header_hor.css new file mode 100644 index 000000000..8acf4c032 --- /dev/null +++ b/dkan/modules/contrib/tablefield/css/tablefield_header_hor.css @@ -0,0 +1,8 @@ +/** + * @file + * Styles for TableField form field in case of vertical header (first column). + */ + +.form-tablefield input.tablefield-row-0 { + font-weight: bold; +} diff --git a/dkan/modules/contrib/tablefield/css/tablefield_header_vert.css b/dkan/modules/contrib/tablefield/css/tablefield_header_vert.css new file mode 100644 index 000000000..081b1b671 --- /dev/null +++ b/dkan/modules/contrib/tablefield/css/tablefield_header_vert.css @@ -0,0 +1,8 @@ +/** + * @file + * Styles for TableField form field in case of vertical header (first column). + */ + +.form-tablefield td.col-0 input { + font-weight: bold; +} diff --git a/dkan/modules/contrib/tablefield/css/tablefield_sort.css b/dkan/modules/contrib/tablefield/css/tablefield_sort.css new file mode 100644 index 000000000..6eda9f790 --- /dev/null +++ b/dkan/modules/contrib/tablefield/css/tablefield_sort.css @@ -0,0 +1,27 @@ +/** + * @file + * Sorting indicator (arrow up/down). + */ +.tablesorter thead { + cursor: pointer; +} +.headerSortDown:after, +.headerSortUp:after { + content: ' '; + position: relative; + left: 10px; + border: 7px solid transparent; +} +.headerSortDown:after { + top: 10px; + border-top-color: silver; +} +.headerSortUp:after { + bottom: 15px; + border-bottom-color: silver; +} +.headerSortDown, +.headerSortUp { + padding-left: 20px; + opacity: 0.8; +} diff --git a/dkan/modules/contrib/tablefield/tablefield.info b/dkan/modules/contrib/tablefield/tablefield.info index d12c955c9..42bc3df66 100644 --- a/dkan/modules/contrib/tablefield/tablefield.info +++ b/dkan/modules/contrib/tablefield/tablefield.info @@ -1,12 +1,15 @@ name = TableField description = Defines a tabular data field. core = 7.x +; 5.4.0 JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, and JSON_UNESCAPED_UNICODE options were added. +php = 5.4 package = Fields dependencies[] = field +configure = admin/config/content/tablefield -; Information added by Drupal.org packaging script on 2016-09-05 -version = "7.x-2.5" +; Information added by Drupal.org packaging script on 2017-06-13 +version = "7.x-3.1" core = "7.x" project = "tablefield" -datestamp = "1473110940" +datestamp = "1497359647" diff --git a/dkan/modules/contrib/tablefield/tablefield.install b/dkan/modules/contrib/tablefield/tablefield.install index 7e2ff9b1f..4eb31864d 100644 --- a/dkan/modules/contrib/tablefield/tablefield.install +++ b/dkan/modules/contrib/tablefield/tablefield.install @@ -5,27 +5,12 @@ * Installation options for TableField. */ -/** - * Implements hook_enable(). - * - * Notify content module when this module is enabled. - */ -function tablefield_enable() { -} - -/** - * Implements hook_disable(). - * - * Notify content module when this module is disabled. - */ -function tablefield_disable() { -} - /** * Implements hook_uninstall(). */ function tablefield_uninstall() { variable_del('tablefield_csv_separator'); + variable_del('tablefield_detect_encodings'); } /** @@ -37,7 +22,6 @@ function tablefield_update_dependencies() { $dependencies['text'][7000] = array( 'filter' => 7010, ); - return $dependencies; } @@ -123,3 +107,297 @@ function tablefield_update_7002() { } } } + +/** + * Re-save the default existing table fields and all entities containing them. + */ +function tablefield_update_7003() { + // Change the default field for each content type. + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + // Rationalize the table data. + if (!empty($instance['default_value'][0]['tablefield'])) { + // Remove extraneous data. + $count_cols = $instance['default_value'][0]['tablefield']['rebuild']['count_cols']; + $count_rows = $instance['default_value'][0]['tablefield']['rebuild']['count_rows']; + $caption = $instance['default_value'][0]['tablefield']['caption']; + $rebuild = $instance['default_value'][0]['tablefield']['rebuild']; + $import = $instance['default_value'][0]['tablefield']['import']; + $paste = $instance['default_value'][0]['tablefield']['paste']; + unset($instance['default_value'][0]['tablefield']['caption']); + unset($instance['default_value'][0]['tablefield']['rebuild']); + unset($instance['default_value'][0]['tablefield']['import']); + unset($instance['default_value'][0]['tablefield']['paste']); + + foreach ($instance['default_value'][0]['tablefield'] as $key => $value) { + if (preg_match('/cell_(.*)_(.*)/', $key, $cell)) { + // $cell[1] is row count $cell[2] is col count. + if ((int) $cell[1] < $count_rows && (int) $cell[2] < $count_cols) { + $cel = explode('_', ltrim($key, 'cell_')); + if ($cel[1] === 'weight') { + $instance['default_value'][0]['tablefield']['tabledata']['row_' . $cel[0]]['weight'] = $value; + } + else { + $instance['default_value'][0]['tablefield']['tabledata']['row_' . $cel[0]]['col_' . $cel[1]] = $value; + } + unset($instance['default_value'][0]['tablefield'][$key]); + } + } + } + } + // Recreate previous removed data. + $instance['default_value'][0]['tablefield']['caption'] = $caption; + $instance['default_value'][0]['tablefield']['rebuild'] = $rebuild; + $instance['default_value'][0]['tablefield']['import'] = $import; + $instance['default_value'][0]['tablefield']['paste'] = $paste; + field_update_instance($instance); + } + } + } + } + + // Change all existing fields to store the data with the new format. + foreach ($field_names as $field_name) { + $tables = array('field_data_' . $field_name, 'field_revision_' . $field_name); + foreach ($tables as $table) { + $field = $field_name . '_value'; + $query = db_select($table, 'n') + ->fields('n') + ->execute() + ->fetchAll(); + foreach ($query as $record) { + $instance = unserialize($record->$field); + + // Rationalize the table data. + if (!empty($instance)) { + // Remove extraneous data. + $count_cols = $instance['rebuild']['count_cols']; + $count_rows = $instance['rebuild']['count_rows']; + $caption = $instance['caption']; + $rebuild = $instance['rebuild']; + $import = $instance['import']; + $paste = $instance['paste']; + unset($instance['caption']); + unset($instance['rebuild']); + unset($instance['import']); + unset($instance['paste']); + + foreach ($instance as $key => $value) { + if (preg_match('/cell_(.*)_(.*)/', $key, $cell)) { + // $cell[1] is row count $cell[2] is col count. + if ((int) $cell[1] < $count_rows && (int) $cell[2] < $count_cols) { + $cel = explode('_', ltrim($key, 'cell_')); + if ($cel[1] === 'weight') { + $instance['tabledata']['row_' . $cel[0]]['weight'] = $value; + } + else { + $instance['tabledata']['row_' . $cel[0]]['col_' . $cel[1]] = $value; + } + unset($instance[$key]); + } + } + } + } + // Recreate previous removed data. + $instance['caption'] = $caption; + $instance['rebuild'] = $rebuild; + $instance['import'] = $import; + $instance['paste'] = $paste; + + // Change the stored data by a per record unique column key combination. + db_update($table) + ->fields(array( + $field => serialize($instance), + )) + ->condition('entity_id', $record->entity_id) + ->condition('revision_id', $record->revision_id) + ->condition('delta', $record->delta) + ->condition('entity_type', $record->entity_type) + ->condition('bundle', $record->bundle) + ->execute(); + } + } + } + + field_cache_clear(); + drupal_set_message(t('All Table Field fields are now stored with a new data format.'), 'warning'); +} + +/** + * Convert field settings to display settings. + */ +function tablefield_update_7004() { + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + // Convert the entity properties. + foreach ($instance['display'] as $view_mode => $occurrence) { + $instance['display'][$view_mode]['settings']['hide_header'] = $field_info['settings']['hide_headers'] ? 1 : 0; + $instance['display'][$view_mode]['settings']['export_csv'] = $field_info['settings']['export'] ? 1 : 0; + } + field_update_instance($instance); + } + } + } + } + field_cache_clear(); + drupal_set_message(t('All Table Field fields have their display related field settings converted to display settings.'), 'warning'); +} + +/** + * Remove all empty multi-value TableField fields with locked values. + */ +function tablefield_update_7005() { + // Get all the field names for all multi-value tablefields with locked values. + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield')) + && $field_info['cardinality'] != 1 + && $field_info['settings']['lock_values'] == 1 + ) { + // Uniquely store the field names in an array for later use. + if (!in_array($instance['field_name'], $field_names)) { + array_push($field_names, $instance['field_name']); + } + } + } + } + } + // Go through all empty multi-value TableField fields with locked values. + foreach ($field_names as $field_name) { + $tables = array('field_data_' . $field_name, 'field_revision_' . $field_name); + foreach ($tables as $table) { + $field = $field_name . '_value'; + $query = db_select($table, 'n') + ->fields('n') + ->execute() + ->fetchAll(); + foreach ($query as $record) { + $instance = unserialize($record->$field); + + // Rationalize the table data. + if (!empty($instance)) { + // Remove extraneous data. + $count_cols = $instance['rebuild']['count_cols']; + $count_rows = $instance['rebuild']['count_rows']; + $caption = $instance['caption']; + $rebuild = $instance['rebuild']; + $import = $instance['import']; + $paste = $instance['paste']; + unset($instance['caption']); + unset($instance['rebuild']); + unset($instance['import']); + unset($instance['paste']); + foreach ($instance as $key => $value) { + array_shift($value); + $empty = TRUE; + foreach ($value as $row) { + array_pop($row); + if (array_filter($row)) { + $empty = FALSE; + } + } + } + } + if ($empty) { + unset($instance['tabledata']); + } + else { + // Recreate previous removed data. + $instance['caption'] = $caption; + $instance['rebuild'] = $rebuild; + $instance['import'] = $import; + $instance['paste'] = $paste; + } + // Change the stored data by a per record unique column key combination. + db_update($table) + ->fields(array( + $field => serialize($instance), + )) + ->condition('entity_id', $record->entity_id) + ->condition('revision_id', $record->revision_id) + ->condition('delta', $record->delta) + ->condition('entity_type', $record->entity_type) + ->condition('bundle', $record->bundle) + ->execute(); + // Delete the tables that are now empty. + db_delete($table) + ->condition($field_name . '_value', 'a:0:{}') + ->execute(); + } + } + } + + field_cache_clear(); + drupal_set_message(t('All empty multi-value TableField fields with locked values are now removed.'), 'warning'); +} + +/** + * Convert field settings to widget settings. + */ +function tablefield_update_7006() { + $instances = field_info_instances(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield'))) { + // Convert the entity properties. + foreach ($instance['display'] as $view_mode => $occurrence) { + $instance['widget']['settings']['restrict_rebuild'] = $field_info['settings']['restrict_rebuild'] ? 1 : 0; + $instance['widget']['settings']['lock_values'] = $field_info['settings']['lock_values'] ? 1 : 0; + $instance['widget']['settings']['cell_processing'] = $field_info['settings']['cell_processing'] ? 1 : 0; + } + field_update_instance($instance); + } + } + } + } + $norepeat = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + $field_info = field_info_field($field_name); + if (in_array($instance['widget']['type'], array('tablefield')) && !in_array($field_info['id'], $norepeat)) { + // Remove the now unused field settings values. We can not use + // field_update_field($field) as there is data in the field thus the + // field's storage module forbids an update. + $update = array(); + $data = db_query("SELECT data FROM {field_config} WHERE id = :id", array(':id' => $field_info['id']))->fetchField(); + $data = unserialize($data); + $data['settings'] = array(); + $update['data'] = serialize($data); + if ($update) { + $query = db_update('field_config') + ->condition('id', $field_info['id']) + ->fields($update) + ->execute(); + } + $norepeat[] = $field_info['id']; + } + } + } + } + field_cache_clear(); + drupal_set_message(t('All Table Field fields have their field settings converted to widget settings.'), 'warning'); +} diff --git a/dkan/modules/contrib/tablefield/tablefield.module b/dkan/modules/contrib/tablefield/tablefield.module index 9ac208ab5..1992b13e9 100644 --- a/dkan/modules/contrib/tablefield/tablefield.module +++ b/dkan/modules/contrib/tablefield/tablefield.module @@ -1,4 +1,5 @@ <?php + /** * @file * Provides a set of fields that can be used to store tabular data with a node. @@ -7,6 +8,17 @@ * - We should see if it makes sense to sanitize on load as well as view. */ +/** + * Implements hook_help(). + */ +function tablefield_help($path, $arg) { + switch ($path) { + case 'admin/help#tablefield': + // Return a line-break version of the README.txt. + return _filter_autop(file_get_contents(dirname(__FILE__) . '/README.txt')); + } +} + /** * Implements hook_menu(). */ @@ -21,8 +33,8 @@ function tablefield_menu() { 'admin/config/content/tablefield' => array( 'page callback' => 'drupal_get_form', 'page arguments' => array('tablefield_admin_settings_form'), - 'title' => 'tablefield', - 'description' => 'Global configuration for the tablefield module', + 'title' => 'Tablefield', + 'description' => 'Global configuration for the Tablefield module.', 'access arguments' => array('configure tablefield'), ), ); @@ -46,18 +58,6 @@ function tablefield_admin_settings_form() { return system_settings_form($form); } -/** - * Form validation handler for tablefield_admin_settings_form(). - * - * @see tablefield_admin_settings_form() - */ -function tablefield_admin_settings_form_validate($form, &$form_state) { - if (drupal_strlen($form_state['values']['tablefield_csv_separator']) !== 1) { - $message = t('Separator must be one character only!'); - form_set_error('tablefield_csv_separator', $message); - } -} - /** * Implements hook_permission(). */ @@ -65,9 +65,15 @@ function tablefield_permission() { return array( 'export tablefield' => array( 'title' => t('Export Tablefield Data as CSV'), + 'description' => t('Acts in addition to the field widget settings (AND).'), + ), + 'always use additional datasources' => array( + 'title' => t('Always allow additional data sources to be used (CSV upload or copy/paste)'), + 'description' => t('Overrides the field widget settings (OR).'), ), 'rebuild tablefield' => array( 'title' => t('Rebuild any tablefield'), + 'description' => t('Overrides the field widget settings (OR).'), ), 'configure tablefield' => array( 'title' => t('Allow changes in the global tablefield module configuration'), @@ -101,10 +107,11 @@ function tablefield_export_csv($entity_type, $entity_id, $field_name, $langcode, // Ensure that the data is available and that we can load a // temporary file to stream the data. if (isset($entity->{$field_name}[$langcode][$delta]['value']) && $fp = fopen($uri, 'w+')) { - $table = tablefield_rationalize_table(unserialize($entity->{$field_name}[$langcode][$delta]['value'])); - + $table = unserialize($entity->{$field_name}[$langcode][$delta]['value']); // Save the data as a CSV file. - foreach ($table as $row) { + foreach ($table['tabledata'] as $row) { + // Remove the weight column. + array_pop($row); fputcsv($fp, $row, variable_get('tablefield_csv_separator', ',')); } @@ -159,56 +166,220 @@ function tablefield_property_info_callback(&$info, $entity_type, $field, $instan $property = &$info[$entity_type]['bundles'][$instance['bundle']]['properties'][$field['field_name']]; $property['getter callback'] = 'entity_metadata_field_verbatim_get'; $property['setter callback'] = 'entity_metadata_field_verbatim_set'; + // Needed for Search API indexing. + $property['property info'] = tablefield_item_property_info(); unset($property['query callback']); } /** - * Implements hook_field_settings_form(). + * Define metadata about item properties. Search API indexing addition. */ -function tablefield_field_settings_form($field, $instance, $has_data) { - $form = array(); - $form['export'] = array( - '#type' => 'checkbox', - '#title' => 'Allow users to export table data as CSV', - '#default_value' => isset($field['settings']['export']) ? $field['settings']['export'] : FALSE, +function tablefield_item_property_info() { + + $properties['table_value'] = array( + 'type' => 'text', + 'label' => t('The value of the table.'), + 'computed' => TRUE, + 'getter callback' => 'tablefield_get_table_value', ); + + return $properties; +} + +/** + * Get the property just as it is set in the data. Search API indexing addition. + */ +function tablefield_get_table_value($data, array $options, $name, $type, $info) { + if (isset($data['tabledata'])) { + $data['value'] = ''; + + foreach ($data['tabledata'] as $rows) { + $data['value'] .= implode(" ", $rows) . " "; + } + } + + return trim($data['value']); +} + +/** + * Implements hook_field_widget_settings_form(). + */ +function tablefield_field_widget_settings_form($field, $instance) { + $form = array(); $form['restrict_rebuild'] = array( '#type' => 'checkbox', - '#title' => 'Restrict rebuilding to users with the permission "rebuild tablefield"', - '#default_value' => isset($field['settings']['restrict_rebuild']) ? $field['settings']['restrict_rebuild'] : FALSE, + '#title' => t('Restrict rebuilding'), + '#description' => t('Avoid the number of cols/rows being changed by content editors. For all users in combination with locked cells below. For users without the permission "rebuild tablefield" in other cases.') . '<br />' . t('Also needed if added or removed rows from the default field settings should apply on the edit form of existing content.'), + '#default_value' => isset($instance['widget']['settings']['restrict_rebuild']) ? $instance['widget']['settings']['restrict_rebuild'] : FALSE, ); $form['lock_values'] = array( '#type' => 'checkbox', - '#title' => 'Lock table header so default values cannot be changed.', - '#default_value' => isset($field['settings']['lock_values']) ? $field['settings']['lock_values'] : FALSE, + '#title' => t('Lock cells with default values'), + '#description' => t('Avoid headers being changed by content editors.'), + '#default_value' => isset($instance['widget']['settings']['lock_values']) ? $instance['widget']['settings']['lock_values'] : FALSE, ); - $form['hide_headers'] = array( - '#type' => 'checkbox', - '#title' => 'Hide table header row.', - '#default_value' => isset($field['settings']['hide_headers']) ? $field['settings']['hide_headers'] : FALSE, + $form['input_type'] = array( + '#type' => 'radios', + '#title' => t('Input type'), + '#default_value' => isset($instance['widget']['settings']['input_type']) ? $instance['widget']['settings']['input_type'] : 'textfield', + '#required' => TRUE, + '#options' => array( + 'textfield' => t('textfield'), + 'textarea' => t('textarea'), + ), + ); + $form['max_length'] = array( + '#type' => 'textfield', + '#title' => t('Maximum cell length'), + '#default_value' => isset($instance['widget']['settings']['max_length']) ? $instance['widget']['settings']['max_length'] : '2048', + '#element_validate' => array('tablefield_validate_number'), + '#size' => 6, + '#maxlength' => 6, + '#min' => 1, + '#step' => 1, + '#field_suffix' => t('characters'), + '#attributes' => array('class' => array('tablefield-form-align')), + '#required' => TRUE, ); $form['cell_processing'] = array( '#type' => 'radios', '#title' => t('Table cell processing'), - '#default_value' => isset($field['settings']['cell_processing']) ? $field['settings']['cell_processing'] : 0, + '#default_value' => isset($instance['widget']['settings']['cell_processing']) ? $instance['widget']['settings']['cell_processing'] : 0, '#options' => array( t('Plain text'), t('Filtered text (user selects input format)'), ), ); - $form['default_message'] = array( - '#type' => 'markup', - '#value' => t('To specify a default table, use the "Default Value" above. There you can specify a default number of rows/columns and values.'), + $form['data_sources'] = array( + '#type' => 'checkboxes', + '#title' => 'Additional data sources', + '#description' => t('Note this setting gets overridden for users with the permission "always use additional datasources".'), + '#options' => array( + 'paste' => t('Copy & Paste'), + 'upload' => t('Upload CSV file'), + ), + '#default_value' => isset($instance['widget']['settings']['data_sources']) ? $instance['widget']['settings']['data_sources'] : array('paste', 'upload'), ); return $form; } +/** + * Implements hook_field_settings_form(). + */ +function tablefield_field_settings_form($field, $instance, $has_data) { + $multiple_fields_remove_button_module = l(t('Multiple Fields Remove Button module'), 'https://www.drupal.org/project/multiple_fields_remove_button', array( + 'attributes' => array( + 'title' => t('Project page on Drupal.org'), + 'target' => '_blank', + ), + )); + $manage_display = l(t('Manage display'), '/admin/structure/types/manage/' . $instance['bundle'] . '/display', array( + 'attributes' => array( + 'title' => t('More tablefield options'), + ), + )); + $form = array(); + $form['message'] = array( + '#markup' => t('If multiple values are allowed it is recommended to install and enable the !multiple_fields_remove_button_module. Additional TableField settings are available at !manage_display.', array('!multiple_fields_remove_button_module' => $multiple_fields_remove_button_module, '!manage_display' => $manage_display)), + '#weight' => -100, + ); + + return $form; +} + +/** + * Form element validation handler for #type 'tablefield_number'. + * + * Note that #required is validated by _form_validate() already. + */ +function tablefield_validate_number($element, &$form_state) { + $value = $element['#value']; + if ($value === '') { + return; + } + + $name = empty($element['#title']) ? $element['#parents'][0] : $element['#title']; + + // Ensure the input is numeric. + if (!is_numeric($value)) { + form_error($element, t('%name must be a number.', array('%name' => $name))); + return; + } + + // Ensure that the input is greater than the #min property, if set. + if (isset($element['#min']) && $value < $element['#min']) { + form_error($element, t('%name must be higher or equal to %min.', array('%name' => $name, '%min' => $element['#min']))); + } + + // Ensure that the input is less than the #max property, if set. + if (isset($element['#max']) && $value > $element['#max']) { + form_error($element, t('%name must be below or equal to %max.', array('%name' => $name, '%max' => $element['#max']))); + } + + if (isset($element['#step']) && strtolower($element['#step']) != 'any') { + // Check that the input is an allowed multiple of #step (offset by #min if + // #min is set). + $offset = isset($element['#min']) ? $element['#min'] : 0.0; + + if (!tablefield_valid_number_step($value, $element['#step'], $offset)) { + form_error($element, t('%name is not a multiple of %step.', array('%name' => $name, '%step' => $element['#step']))); + } + } +} + +/** + * Verifies that a number is a multiple of a given step. + * + * The implementation assumes it is dealing with IEEE 754 double precision + * floating point numbers that are used by PHP on most systems. + * + * This is based on the number/range verification methods of webkit. + * + * @param $value + * The value that needs to be checked. + * @param $step + * The step scale factor. Must be positive. + * @param $offset + * (optional) An offset, to which the difference must be a multiple of the + * given step. + * + * @return bool + * TRUE if no step mismatch has occured, or FALSE otherwise. + * + * @see http://opensource.apple.com/source/WebCore/WebCore-1298/html/NumberInputType.cpp + */ +function tablefield_valid_number_step($value, $step, $offset = 0.0) { + $double_value = (double) abs($value - $offset); + + // The fractional part of a double has 53 bits. The greatest number that could + // be represented with that is 2^53. If the given value is even bigger than + // $step * 2^53, then dividing by $step will result in a very small remainder. + // Since that remainder can't even be represented with a single precision + // float the following computation of the remainder makes no sense and we can + // safely ignore it instead. + if ($double_value / pow(2.0, 53) > $step) { + return TRUE; + } + + // Now compute that remainder of a division by $step. + $remainder = (double) abs($double_value - $step * round($double_value / $step)); + + // $remainder is a double precision floating point number. Remainders that + // can't be represented with single precision floats are acceptable. The + // fractional part of a float has 24 bits. That means remainders smaller than + // $step * 2^-24 are acceptable. + $computed_acceptable_error = (double) ($step / pow(2.0, 24)); + + return $computed_acceptable_error >= $remainder || $remainder >= ($step - $computed_acceptable_error); +} + /** * Implements hook_field_prepare_view(). */ function tablefield_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) { - $instance = reset($instances); // This isn't used, hack here is okay. + // Reset the array's internal pointer to the first element. + $instance = reset($instances); foreach ($entities as $id => $entity) { $entity_items = &$items[$id]; tablefield_field_presave($entity_type, $entity, $field, $instance, $langcode, $entity_items); @@ -223,53 +394,32 @@ function tablefield_field_presave($entity_type, $entity, $field, $instance, $lan if (empty($table['value'])) { $tablefield = array(); if (!empty($table['tablefield'])) { - $rows_max = $table['tablefield']['rebuild']['count_rows']; - $cols_max = $table['tablefield']['rebuild']['count_cols']; - $count_rows = 0; - $count_cols = 0; - - // Build an array we can sort by weight out of the data. - $meta = array(); - $tablified_data = array(); - foreach ($table['tablefield'] as $key => $value) { - if (substr($key, 0, 5) !== 'cell_') { - // Save these for later. - $meta[$key] = $value; - } - else { - if (strstr($key, '_weight')) { - // To use this for sorting, we call it's key "weight". - $tablified_data[$count_rows]['weight'] = $value; - } - else { - if ($count_cols == $cols_max) { - $count_rows++; - $count_cols = 0; - } - $tablified_data[$count_rows]['data'][$count_cols] = $value; - $count_cols++; - } - } - } - + unset($tablefield['tablefield']); // Sort by weight. - uasort($tablified_data, 'drupal_sort_weight'); - + uasort($table['tablefield']['tabledata'], 'drupal_sort_weight'); // Put the data in the desired order before saving. $row_counter = $col_counter = 0; - foreach ($tablified_data as $row) { - foreach ($row['data'] as $cell) { - $tablefield['cell_' . $row_counter . '_' . $col_counter] = $cell; + foreach ($table['tablefield']['tabledata'] as $row) { + foreach ($row as $key => $cell) { + if ($key === 'weight') { + $tablefield['tablefield']['tabledata']['row_' . $row_counter]['weight'] = $cell; + } + else { + $tablefield['tablefield']['tabledata']['row_' . $row_counter]['col_' . $col_counter] = $cell; + } $col_counter++; } $row_counter++; $col_counter = 0; } + // Clear the old table data and repopulate it with the new values. + unset($table['tablefield']['tabledata']); + $table['tablefield']['tabledata'] = $tablefield['tablefield']['tabledata']; // Add the non-value data back in before we save. - $tablefield = array_merge($tablefield, $meta); + $tablefield = array_merge($tablefield, $table); } - $items[$delta]['value'] = serialize($tablefield); + $items[$delta]['value'] = isset($tablefield['tablefield']) ? serialize($tablefield['tablefield']) : ''; } elseif (empty($table['tablefield'])) { // Batch processing only provides the 'value'. @@ -303,10 +453,10 @@ function tablefield_field_widget_error($element, $error, $form, &$form_state) { * Implements hook_field_load(). */ function tablefield_field_load($entity_type, $entities, $field, $instances, $langcode, &$items, $age) { - foreach ($items as $delta => $table) { - foreach ($table as $id => $field){ - if (isset($field['value'])) { - $items[$delta][$id]['tabledata'] = tablefield_rationalize_table(unserialize($field['value'])); + foreach ($entities as $id => $entity) { + foreach ($items[$id] as $delta => $item) { + if (isset($item['value'])) { + $items[$id][$delta]['tabledata'] = unserialize($item['value']); } } } @@ -319,8 +469,7 @@ function tablefield_field_is_empty($item, $field) { // @todo, is this the best way to mark the default value form? // if we don't, it won't save the number of rows/cols // Allow the system settings form to have an emtpy table - $arg0 = arg(0); - if ($arg0 == 'admin') { + if (arg(0) == 'admin') { return FALSE; } @@ -330,14 +479,21 @@ function tablefield_field_is_empty($item, $field) { return FALSE; } + $count_rows = $item['tablefield']['rebuild']['count_rows']; // Remove the preference fields to see if the table cells are all empty. unset($item['tablefield']['caption']); unset($item['tablefield']['rebuild']); unset($item['tablefield']['import']); - if (!empty($item['tablefield'])) { - foreach ($item['tablefield'] as $cell) { - if (!empty($cell)) { - return FALSE; + unset($item['tablefield']['paste']); + if (!empty($item['tablefield']['tabledata'])) { + + for ($i = 0; $i < $count_rows; $i++) { + foreach ($item['tablefield']['tabledata']["row_{$i}"] as $key => $cell) { + // Keys denoting weight data and anything still iterateable should be + // ignored while checking for empty cell data. + if (strpos($key, 'weight') === FALSE && !is_array($cell) && !empty($cell)) { + return FALSE; + } } } } @@ -351,11 +507,34 @@ function tablefield_field_is_empty($item, $field) { function tablefield_field_formatter_info() { return array( 'tablefield_default' => array( - 'label' => t('Tabular View'), + 'label' => t('Tabular view'), 'field types' => array('tablefield'), 'settings' => array( - 'trim_trailing_rows' => FALSE, + 'header_orientation' => 'Horizontal', + 'sticky_header' => TRUE, + 'striping' => TRUE, + 'sortable' => FALSE, + 'hide_header' => FALSE, + 'hide_empty_rows' => FALSE, + 'hide_empty_cols' => FALSE, + 'hide_cols_skip_head' => FALSE, 'trim_trailing_cols' => FALSE, + 'trim_trailing_rows' => FALSE, + 'export_csv' => FALSE, + ), + ), + 'format_raw' => array( + 'label' => t('Raw data (JSON or XML)'), + 'field types' => array('tablefield'), + 'settings' => array( + 'tabledatakey' => 'tabledata', + 'usearraykeys' => 'No', + 'rowkey' => FALSE, + 'vertheader' => FALSE, + 'tabledataonly' => TRUE, + 'numeric_check' => TRUE, + 'xml' => FALSE, + 'xml_safe' => 'cdata', ), ), ); @@ -367,12 +546,64 @@ function tablefield_field_formatter_info() { function tablefield_field_formatter_settings_summary($field, $instance, $view_mode) { $display = $instance['display'][$view_mode]; $settings = $display['settings']; - if ($display['type'] === 'tablefield_default') { - $trim_trailing_rows = empty($settings['trim_trailing_rows']) ? t('No') : t('Yes'); - $trim_trailing_cols = empty($settings['trim_trailing_cols']) ? t('No') : t('Yes'); - return t('Trim empty trailing rows: %tr', array('%tr' => $trim_trailing_rows)) . '<br>' . t('Trim empty trailing columns: %tr', array('%tr' => $trim_trailing_cols)); + $summary = array(); + switch ($display['type']) { + case 'format_raw': + $summary[] = t('Wrapper for table data (if applicable): %tr', array('%tr' => $settings['tabledatakey'])); + $summary[] = t('Use first row/column values as keys (if not empty): %tr', array('%tr' => $settings['usearraykeys'])); + if ($settings['usearraykeys'] === 'Both') { + $summary[] = t('Row identifier key: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Row identifier key: %tr', array('%tr' => $settings['rowkey'] ? t('Yes') : t('No'))); + } + $summary[] = t('Vertical header (first column instead of first row): %tr', array('%tr' => $settings['vertheader'] ? t('Yes') : t('No'))); + $summary[] = t('Table data only (no caption): %tr', array('%tr' => ($settings['tabledataonly']) ? t('Yes') : t('No'))); + if ($settings['xml']) { + $summary[] = t('Encode numeric strings as numbers: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Encode numeric strings as numbers: %tr', array('%tr' => ($settings['numeric_check']) ? t('Yes') : t('No'))); + } + $summary[] = t('XML instead of JSON: %tr', array('%tr' => ($settings['xml']) ? t('Yes') : t('No'))); + if (!$settings['xml']) { + $summary[] = t('How to make field values XML safe?: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('How to make field values XML safe?: %tr', array('%tr' => $settings['xml_safe'])); + } + break; + + default: + $summary[] = t('Header orientation: %tr', array('%tr' => $settings['header_orientation'])); + if ($settings['header_orientation'] === 'Vertical') { + $summary[] = t('Sticky header: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Sticky header: %tr', array('%tr' => ($settings['sticky_header']) ? t('Yes') : t('No'))); + } + $summary[] = t('Striping (odd/even class): %tr', array('%tr' => ($settings['striping']) ? t('Yes') : t('No'))); + if (!module_exists('tablesorter') || $settings['header_orientation'] === 'Vertical') { + $summary[] = t('Sortable: %tr', array('%tr' => t('Disabled'))); + } + else { + $summary[] = t('Sortable: %tr', array('%tr' => ($settings['sortable']) ? t('Yes') : t('No'))); + } + $summary[] = t('Hide first row: %tr', array('%tr' => ($settings['hide_header']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty columns ignoring column header: %tr', array('%tr' => ($settings['hide_cols_skip_head']) ? t('Yes') : t('No'))); + $summary[] = t('Trim empty trailing rows: %tr', array('%tr' => ($settings['trim_trailing_rows']) ? t('Yes') : t('No'))); + $summary[] = t('Trim empty trailing columns: %tr', array('%tr' => ($settings['trim_trailing_cols']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty rows: %tr', array('%tr' => ($settings['hide_empty_rows']) ? t('Yes') : t('No'))); + $summary[] = t('Hide empty columns: %tr', array('%tr' => ($settings['hide_empty_cols']) ? t('Yes') : t('No'))); + $permission = l(t('permission'), 'admin/people/permissions', array( + 'fragment' => 'module-tablefield', + 'attributes' => array( + 'title' => t('Manage user permissions'), + ), + )); + $summary[] = t('Show link to export table data as CSV depending on !permission: %tr', array('%tr' => ($settings['hide_cols_skip_head']) ? t('Yes') : t('No'), '!permission' => $permission)); } - return ''; + return implode('<br />', $summary);; } /** @@ -382,17 +613,188 @@ function tablefield_field_formatter_settings_form($field, $instance, $view_mode, $display = $instance['display'][$view_mode]; $settings = $display['settings']; $element = array(); - if ($display['type'] === 'tablefield_default') { - $element['trim_trailing_rows'] = array( - '#title' => t('Trim empty trailing rows'), - '#type' => 'checkbox', - '#default_value' => $settings['trim_trailing_rows'], - ); - $element['trim_trailing_cols'] = array( - '#title' => t('Trim empty trailing columns'), - '#type' => 'checkbox', - '#default_value' => $settings['trim_trailing_cols'], - ); + switch ($display['type']) { + case 'format_raw': + // Get a machine name from the field name (without 'field_' prefix). + $prefix = 'field_'; + $machine = $instance['field_name']; + $select = 'select'; + $select_or_other_module = l(t('Select (or other) module'), 'https://drupal.org/project/select_or_other', array( + 'attributes' => array( + 'title' => t('Select (or other) | Drupal.org'), + 'target' => '_blank', + ), + )); + $description = t('To provide a custom value install and enable the !select_or_other_module.', array('!select_or_other_module' => $select_or_other_module)); + if (module_exists('select_or_other')) { + $select = 'select_or_other'; + $description = NULL; + } + if (substr($machine, 0, strlen($prefix)) == $prefix) { + $machine = substr($machine, strlen($prefix)); + } + $element['tabledatakey'] = array( + '#type' => $select, + '#title' => t('Wrapper for table data (if applicable)'), + '#description' => $description, + '#options' => array( + 'tabledata' => t('tabledata (fixed string)'), + $instance['label'] => t('Label: @label', array('@label' => $instance['label'])), + $machine => t('Machine name: @machine', array('@machine' => $machine)), + ), + '#default_value' => $settings['tabledatakey'], + '#other_unknown_defaults' => 'other', + '#other_delimiter' => FALSE, + ); + $element['usearraykeys'] = array( + '#type' => 'select', + '#title' => t('Use first row/column values as keys (if not empty)'), + '#options' => array( + 'No' => t('No'), + 'Header' => t('Header only'), + 'Both' => t('Both first row and first column (two headers, horizontal and vertical)'), + ), + '#default_value' => $settings['usearraykeys'], + ); + $element['rowkey'] = array( + '#title' => t('Row identifier key'), + '#type' => 'checkbox', + '#default_value' => $settings['rowkey'], + ); + if ($settings['usearraykeys'] === 'Both') { + $element['rowkey']['#disabled'] = TRUE; + $element['rowkey']['#title'] = '<span class="grayed-out">' . t('Row identifier key') . '</span> | ' . t("Disabled because above the first column values are set to be used as row identifiers."); + } + $element['vertheader'] = array( + '#title' => t('Vertical header (first column instead of first row)'), + '#type' => 'checkbox', + '#default_value' => $settings['vertheader'], + ); + $element['tabledataonly'] = array( + '#title' => t('Table data only (no caption)'), + '#type' => 'checkbox', + '#default_value' => $settings['tabledataonly'], + ); + $element['numeric_check'] = array( + '#title' => t('Encode numeric strings as numbers'), + '#type' => 'checkbox', + '#default_value' => $settings['numeric_check'], + ); + if ($settings['xml']) { + $element['numeric_check']['#disabled'] = TRUE; + $element['numeric_check']['#title'] = '<span class="grayed-out">' . t('Encode numeric strings as numbers') . '</span> | ' . t("Disabled because below XML is selected that does not use quotes around any values."); + } + $element['xml'] = array( + '#title' => t('XML instead of JSON'), + '#type' => 'checkbox', + '#default_value' => $settings['xml'], + ); + $element['xml_safe'] = array( + '#type' => 'select', + '#title' => t('How to make field values XML safe?'), + '#options' => array( + 'htmlspecialchars' => t('Convert special characters to HTML entities (htmlspecialchars)'), + 'cdata' => t('Represent field values that contain special characters as a CDATA section'), + 'cdata_all' => t('Represent all field values as a CDATA section'), + ), + '#default_value' => $settings['xml_safe'], + ); + if (!$settings['xml']) { + $element['xml_safe']['#disabled'] = TRUE; + $element['xml_safe']['#title'] = '<span class="grayed-out">' . t('How to make field values XML safe?') . '</span> | ' . t("Disabled because above XML is not selected."); + } + break; + + default: + $element['header_orientation'] = array( + '#type' => 'select', + '#title' => t('Header orientation'), + '#options' => array( + 'Horizontal' => t('First row (horizontal)'), + 'Vertical' => t('First column (vertical)'), + 'Both' => t('Both first row and first column (two headers, horizontal and vertical)'), + ), + '#default_value' => $settings['header_orientation'], + ); + $element['sticky_header'] = array( + '#title' => t('Sticky header'), + '#type' => 'checkbox', + '#default_value' => $settings['sticky_header'], + ); + if ($settings['header_orientation'] === 'Vertical') { + $element['sticky_header']['#disabled'] = TRUE; + $element['sticky_header']['#title'] = '<span class="grayed-out">' . t('Sticky header') . '</span> | ' . t("Disabled because above only the first column is set as header."); + } + $element['striping'] = array( + '#title' => t('Striping (odd/even class)'), + '#type' => 'checkbox', + '#default_value' => $settings['striping'], + ); + $element['sortable'] = array( + '#title' => t('Sortable'), + '#type' => 'checkbox', + '#default_value' => $settings['sortable'], + ); + $tablesorter_module = l(t('Tablesorter module'), 'https://drupal.org/project/tablesorter', array( + 'attributes' => array( + 'title' => t('Tablesorter | Drupal.org'), + 'target' => '_blank', + ), + )); + if (!module_exists('tablesorter')) { + $element['sortable']['#disabled'] = TRUE; + $element['sortable']['#title'] = '<span class="grayed-out">' . t('Sortable') . '</span> | ' . t("Disabled until the !tablesorter_module gets enabled.", array('!tablesorter_module' => $tablesorter_module)); + } + elseif ($settings['header_orientation'] === 'Vertical') { + $element['sortable']['#disabled'] = TRUE; + $element['sortable']['#title'] = '<span class="grayed-out">' . t('Sortable') . '</span> | ' . t("Disabled because the header orientation is only 'Vertical'.", array('!tablesorter_module' => $tablesorter_module)); + } + $element['hide_header'] = array( + '#title' => t('Hide first row'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_header'], + ); + $element['hide_cols_skip_head'] = array( + '#title' => t('Hide empty columns ignoring column header'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_cols_skip_head'], + ); + $element['trim_trailing_cols'] = array( + '#title' => t('Trim empty trailing columns'), + '#type' => 'checkbox', + '#default_value' => $settings['trim_trailing_cols'], + ); + $element['trim_trailing_rows'] = array( + '#title' => t('Trim empty trailing rows'), + '#type' => 'checkbox', + '#default_value' => $settings['trim_trailing_rows'], + ); + $element['hide_empty_rows'] = array( + '#title' => t('Hide empty rows'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_empty_rows'], + ); + $element['hide_empty_cols'] = array( + '#title' => t('Hide empty columns'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_empty_cols'], + ); + $element['hide_cols_skip_head'] = array( + '#title' => t('Hide empty columns ignoring column header'), + '#type' => 'checkbox', + '#default_value' => $settings['hide_cols_skip_head'], + ); + $permission = l(t('permission'), 'admin/people/permissions', array( + 'fragment' => 'module-tablefield', + 'attributes' => array( + 'title' => t('Manage user permissions'), + ), + )); + $element['export_csv'] = array( + '#title' => t('Show link to export table data as CSV depending on !permission', array('!permission' => $permission)), + '#type' => 'checkbox', + '#default_value' => $settings['export_csv'], + ); } return $element; } @@ -404,87 +806,348 @@ function tablefield_field_formatter_view($entity_type, $entity, $field, $instanc $element = array(); $settings = $display['settings']; $formatter = $display['type']; + if (!empty($items)) { + switch ($display['type']) { + case 'format_raw': + $values = array(); + foreach ($items as $delta => $table) { + $value = unserialize($table['value']); + // Swap rows and columns if the header is vertical (first column). + if ($settings['vertheader']) { + $transposed = tablefield_transpose($value['tabledata']); + unset($value['tabledata']); + array_pop($transposed); + // Swap column and row key names. + foreach ($transposed as $colk => $colv) { + foreach ($colv as $rowk => $rowv) { + $value['tabledata'][str_replace('col_', 'row_', $colk)][str_replace('row_', 'col_', $rowk)] = $rowv; + } + // Add a 'weight' although the value is not relevant. + $value['tabledata'][str_replace('col_', 'row_', $colk)]['weight'] = 0; + } + } + // Remove unneeded data. + unset($value['rebuild']); + unset($value['import']); + unset($value['paste']); + // DEVELOPERS! Extra future data should be captured and unset below. + $caption = $value['caption']; + unset($value['caption']); + if ($settings['usearraykeys'] === 'Header' || $settings['usearraykeys'] === 'Both') { + // Keep first row values (header) to use for array keys later. + $keys = $value['tabledata']['row_0']; + // Remove linebreaks from array keys. + array_walk_recursive($keys, function (&$key) { + $key = str_replace(array("\r", "\n", "<br />"), '', $key); + }); + // If a header value is empty use the column key (col_#). + foreach ($keys as $key => $content) { + if (empty($content)) { + $keys[$key] = $key; + } + } + // Warning about columns with duplicate names being suppressed. + $unique = array_unique($keys); + $duplicates = array_diff_assoc($keys, $unique); + foreach ($duplicates as $duplicate) { + drupal_set_message(t('The column header "%key" appears multiple times in a table. In the JSON output only the last column with this key is used to avoid duplicate names.', array('%key' => $duplicate)), 'warning', FALSE); + } + unset($keys['weight']); + // Remove the first row (header). + unset($value['tabledata']['row_0']); + + if ($settings['usearraykeys'] === 'Both') { + // Remove the first column from the keys. + unset($keys['col_0']); + // Make number of elements same as $row for array_combine later. + unset($keys['weight']); + } + } + foreach ($value['tabledata'] as $key => $row) { + unset($row['weight']); + if ($settings['usearraykeys'] === 'Header' || $settings['usearraykeys'] === 'Both') { + if ($settings['usearraykeys'] === 'Both') { + $row_ident = $row['col_0']; + // Clean up unneeded data. + unset($value['tabledata'][$key]); + unset($row['col_0']); + $row = array_combine($keys, $row); + // If the first column value is empty use the row key (row_#). + $row_id = empty($row_ident) ? $key : $row_ident; + $row_id = str_replace(array("\r", "\n", "<br />"), '', $row_id); + // Warning about rows with duplicate names being suppressed. + if (isset($value['tabledata'][$row_id])) { + drupal_set_message(t('The row header "%row_id" appears multiple times in a table. In the JSON output only the last row with this key is used to avoid duplicate names.', array('%row_id' => $row_id)), 'warning', FALSE); + } + $value['tabledata'][$row_id] = $row; + // Remove the old key from the data set if it was replaced. + if (!empty($row_ident)) { + unset($value['tabledata'][$key]); + } + } + $unique = array_unique($keys); + $row = array_combine($unique, $row); + } + if ($settings['usearraykeys'] != 'Both') { + $value['tabledata'][$key] = $row; + } + } + // For a row identifier key to be retained we need to insert a + // numeric index key for each row. + if ($settings['usearraykeys'] === 'Both' || $settings['rowkey']) { + $i = 0; + foreach ($value as $key => $val) { + $value[$i][$key] = $val; + // Remove original key. We'll get it back with array_values(). + unset($value[$key]); + $i++; + } + } + if ($settings['tabledataonly']) { + $value = reset($value); + } + else { + // DEVELOPERS! Extra future data should be unset below (e.g. title). + $value['caption'] = $caption; + } + // Use the set wrapper for the table data. + if (isset($value[0]['tabledata']) && $settings['tabledatakey'] !== 'tabledata') { + $value[0][$settings['tabledatakey']] = $value[0]['tabledata']; + unset($value[0]['tabledata']); + } + elseif (isset($value['tabledata']) && $settings['tabledatakey'] !== 'tabledata') { + $value[$settings['tabledatakey']] = $value['tabledata']; + unset($value['tabledata']); + } + // Add the table to the final output. + if ($settings['tabledataonly']) { + array_push($values, array_values($value)); + } + else { + $value[$settings['tabledatakey']] = $settings['usearraykeys'] === 'Both' || $settings['rowkey'] ? $value[0][$settings['tabledatakey']] : array_values($value[$settings['tabledatakey']]); + unset($value[0]); + krsort($value); + array_push($values, $value); + } + // If the field is not plain text and a text area then remove + // linebreaks. + $format = isset($items[$delta]['format']) ? $items[$delta]['format'] : 'plain_text'; + array_walk_recursive($values, function (&$value) use ($format, $settings) { + if ($format !== 'plain_text') { + if ($settings['xml']) { + switch ($settings['xml_safe']) { + case 'htmlspecialchars': + $value = str_replace(array("\r", "\n"), '', htmlspecialchars($value)); + break; + + case 'cdata': + if (preg_match('/[&"\'<>]/', $value)) { + $value = str_replace(array("\r", "\n"), '', '<![CDATA[' . str_replace(']]>', '', $value) . ']]>'); + } + else { + $value = str_replace(array("\r", "\n"), '', $value); + } + break; + + default: + $value = str_replace(array("\r", "\n"), '', '<![CDATA[' . str_replace(']]>', '', $value) . ']]>'); + break; + } + } + else { + $value = str_replace(array("\r", "\n"), '', $value); + } + } + }); + } + // Serve pretty print with a fixed-width font and preserve spaces and + // line breaks. + // Show pretty print on node pages and raw on other pages. + $prettyprint = (menu_get_object() && arg(2) !== 'themeless') ? JSON_PRETTY_PRINT : FALSE; + if ($prettyprint) { + $element['#prefix'] = '<pre>'; + $element['#suffix'] = '</pre>'; + } + $numeric_check = $settings['numeric_check'] ? JSON_NUMERIC_CHECK : FALSE; + // Avoid a wrapping array if we have a single table (not multi-value). + if (!(count($values) - 1)) { + $values = array_shift($values); + } + // Render multiple values as one to ensure valid JSON (e.g. seperator) + // or XML. + if ($settings['xml']) { + // Creating object of SimpleXMLElement. + $xml_data = new SimpleXMLElement('<?xml version="1.0"?><' . $settings['tabledatakey'] . '></' . $settings['tabledatakey'] . '>'); + // Flatten the array if we only have one element. + if (count($values) === 1) { + $values = current($values); + } + // Function call to convert array to xml. + array_to_xml($values, $xml_data); + if ($prettyprint) { + $dom = dom_import_simplexml($xml_data)->ownerDocument; + $dom->formatOutput = TRUE; + $output = $dom->saveXML(); + $markup = '<xmp>' . $output . '</xmp>'; + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => 'xml_pretty_print', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + '#markup' => $markup, + ); + } + else { + $output = $xml_data->asXML(); + $markup = str_replace('<?xml version="1.0"?>', '', $output); + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => 'xml_raw', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + '#markup' => $markup, + ); + } + } + else { + $markup = json_encode($values, $prettyprint | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | $numeric_check); + // Let other modules change the output. + $context = array( + 'entity_type' => $entity_type, + 'entity' => $entity, + 'field' => $field, + 'instance' => $instance, + 'language' => $langcode, + 'items' => $items, + 'display' => $display, + 'table_field_output_type' => $prettyprint ? 'json_pretty_print' : 'json_raw', + ); + drupal_alter('tablefield_output', $markup, $context); + $element[0] = array( + // See http://php.net/manual/en/json.constants.php#119565. + '#markup' => $markup, + ); + } + break; - foreach ($items as $delta => $table) { - // Check for table caption. - $raw = unserialize($table['value']); - $caption = isset($raw['caption'])? check_plain($raw['caption']): ''; + default: + foreach ($items as $delta => $table) { + // Check for table caption. + $raw = unserialize($table['value']); + $caption = isset($raw['caption']) ? check_plain($raw['caption']) : ''; - // Rationalize the stored data. - if (!empty($table['tabledata'])) { - $tabledata = $table['tabledata']; - } - elseif (!empty($table['value'])) { - $tabledata = tablefield_rationalize_table(unserialize($table['value'])); - } + // Rationalize the stored data. + if (!empty($table['tablefield'])) { + $tabledata = $table['tablefield']; + } + elseif (!empty($table['value'])) { + $tabledata = unserialize($table['value']); + } - // Run the table through input filters. - if (isset($tabledata)) { - if (!empty($tabledata)) { + // Run the table through input filters. + if (isset($tabledata['tabledata'])) { + if (!empty($tabledata['tabledata'])) { - if (!empty($settings['trim_trailing_rows'])) { - $tabledata = tablefield_rtrim_rows($tabledata); - } + if ($settings['trim_trailing_rows']) { + $tabledata['tabledata'] = tablefield_trim($tabledata['tabledata']); + } - if (!empty($settings['trim_trailing_cols'])) { - $tabledata = tablefield_rtrim_cols($tabledata); - } + if ($settings['trim_trailing_cols']) { + $tabledata['tabledata'] = tablefield_rtrim_cols($tabledata['tabledata']); + } + + if ($settings['hide_empty_rows']) { + $tabledata['tabledata'] = tablefield_hide_rows($tabledata['tabledata']); + } + + if ($settings['hide_empty_cols']) { + $tabledata['tabledata'] = tablefield_hide_cols($tabledata['tabledata']); + } - foreach ($tabledata as $row_key => $row) { - foreach ($row as $col_key => $cell) { - if (!empty($table['format'])) { - $tabledata[$row_key][$col_key] = array( - 'data' => check_markup($cell, $table['format']), - 'class' => array('row_' . $row_key, 'col_' . $col_key), - ); + if ($settings['hide_cols_skip_head']) { + $tabledata['tabledata'] = tablefield_hide_cols($tabledata['tabledata'], TRUE); + } + + foreach ($tabledata['tabledata'] as $row_key => $row) { + foreach ($row as $col_key => $cell) { + if (!empty($table['format']) && $col_key !== 'weight') { + $tabledata[$row_key][$col_key] = array( + 'data' => check_markup($cell, $table['format']), + 'class' => array($row_key, $col_key), + ); + } + elseif ($col_key !== 'weight') { + $tabledata[$row_key][$col_key] = array( + 'data' => check_plain($cell), + 'class' => array($row_key, $col_key), + ); + } + } + } } - else { - $tabledata[$row_key][$col_key] = array( - 'data' => check_plain($cell), - 'class' => array('row_' . $row_key, 'col_' . $col_key), - ); + + // Pull the header for theming. + unset($tabledata['caption']); + unset($tabledata['tabledata']); + unset($tabledata['rebuild']); + unset($tabledata['import']); + unset($tabledata['paste']); + $header_data = isset($tabledata['row_0']) ? $tabledata['row_0'] : NULL; + + // Check for an empty header, if so we don't want to theme it. + $noheader = TRUE; + if (empty($settings['hide_header']) && $header_data) { + foreach ($header_data as $cell) { + if (strlen($cell['data']) > 0) { + $noheader = FALSE; + break; + } + } } - } - } - } - // Check for an empty header, if so we don't want to theme it. - $noheader = TRUE; - if (empty($field['settings']['hide_headers'])) { - $header_data = array_shift($tabledata); - foreach ($header_data as $cell) { - if (strlen($cell['data']) > 0) { - $noheader = FALSE; - break; + $header = $noheader ? NULL : $header_data; + $entity_info = entity_get_info($entity_type); + $entity_id = !empty($entity_info['entity keys']['id']) ? $entity->{$entity_info['entity keys']['id']} : NULL; + + // Remove the first row from the tabledata. + array_shift($tabledata); + // Theme the table for display. + $element[$delta] = array( + '#theme' => 'tablefield_view', + '#caption' => $caption, + '#header_orientation' => isset($settings['header_orientation']) ? $settings['header_orientation'] : 'Horizontal', + '#sticky' => isset($settings['sticky_header']) ? $settings['sticky_header'] : NULL, + '#striping' => isset($settings['striping']) ? $settings['striping'] : NULL, + '#sortable' => isset($settings['sortable']) ? $settings['sortable'] : NULL, + '#header' => $header, + '#rows' => $tabledata, + '#delta' => $delta, + '#export' => isset($settings['export_csv']) ? $settings['export_csv'] : NULL, + '#entity_type' => $entity_type, + '#entity_id' => $entity_id, + '#field_name' => $field['field_name'], + '#langcode' => $langcode, + '#formatter' => $formatter, + ); } } - } - - $header = $noheader ? NULL : $header_data; - - $entity_info = entity_get_info($entity_type); - $entity_id = !empty($entity_info['entity keys']['id']) ? $entity->{$entity_info['entity keys']['id']} : NULL; - - // Theme the table for display. - $element[$delta] = array( - '#theme' => 'tablefield_view', - '#attributes' => array( - 'id' => 'tablefield-' . $delta, - 'class' => array('tablefield'), - ), - '#caption' => $caption, - '#header' => $header, - '#rows' => $tabledata, - '#delta' => $delta, - '#export' => isset($field['settings']['export']) ? $field['settings']['export'] : NULL, - '#entity_type' => $entity_type, - '#entity_id' => $entity_id, - '#field_name' => $field['field_name'], - '#langcode' => $langcode, - '#formatter' => $formatter, - ); } - } return $element; } @@ -506,13 +1169,31 @@ function tablefield_field_widget_info() { } /** - * Implements hook_widget_form(). + * Implements hook_field_widget_form(). */ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { - drupal_add_css(drupal_get_path('module', 'tablefield') . '/tablefield.css'); - + $form['#after_build'][] = 'tablefield_after_build'; + $settings = isset($instance['display']['default']['settings']) ? $instance['display']['default']['settings'] : FALSE; $element['#type'] = 'tablefield'; $form['#attributes']['enctype'] = 'multipart/form-data'; + if ($settings) { + $hide_header = isset($settings['hide_header']) ? $settings['hide_header'] : FALSE; + } + $header_orientation = isset($settings['header_orientation']) ? $settings['header_orientation'] : 'Horizontal'; + switch ($header_orientation) { + case 'Both': + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_hor.css'); + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_vert.css'); + break; + + case 'Vertical': + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_vert.css'); + break; + + default: + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_header_hor.css'); + break; + } /* Tablefield is sometimes embedded within another form by other modules, such * as Field Collection. Because of that, we cannot rely on field_name and @@ -557,7 +1238,7 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); } elseif ($form_state['triggering_element']['#name'] == $pasted_id) { - // Importing pasted data + // Importing pasted data. tablefield_import_pasted($form, $form_state, $langcode, $pasted_id, $tablefield_parents); $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); if (empty($default_value['rebuild'])) { @@ -570,7 +1251,6 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $default_value = drupal_array_get_nested_value($form_state['input'], $tablefield_parents); } } - // If no values by now, get tablefield item value stored in database, if any. if (!$default_value) { // This could be set e.g. when using paragraphs module. @@ -592,8 +1272,6 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ else { $default_size = $default_value['rebuild']; } - $default_value = tablefield_rationalize_table($default_value); - $count_rows = $default_size['count_rows']; $count_cols = $default_size['count_cols']; @@ -602,11 +1280,18 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $help_text = $instance['description']; } else { - if ($field['settings']['hide_headers'] == TRUE) { - $help_text = t('This table will not have a header.'); - } - else { - $help_text = t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + if ($settings) { + $display_settings = l(t('default display settings'), 'admin/structure/types/manage/' . $element['#bundle'] . '/display', array( + 'attributes' => array( + 'title' => t('Manage display settings'), + ), + )); + if ($hide_header == TRUE) { + $help_text = t('This table will not have a header according to the !display_settings.', array('!display_settings' => $display_settings)); + } + else { + $help_text = t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + } } } @@ -623,8 +1308,10 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ '#prefix' => '<div id="' . $ajax_wrapper_id . '">', '#suffix' => '</div>', ); - if (!empty($field['settings']['hide_headers'])) { - $element['tablefield']['#attributes']['class'][] = 'table-no-headers'; + if ($settings) { + if ($hide_header) { + $element['tablefield']['#attributes']['class'][] = 'table-no-headers'; + } } // Give the fieldset the appropriate class if it is required. @@ -634,68 +1321,100 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $element['tablefield']['#title'] .= '">*</span>'; } - $arg0 = arg(0); - if ($arg0 == 'admin') { + if (arg(0) == 'admin') { $element['tablefield']['#description'] = t('This form defines the table field defaults, but the number of rows/columns and content can be overridden.'); - if (!$field['settings']['hide_headers']) { - $element['tablefield']['#description'] .= ' ' . t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + if ($settings) { + if (!$hide_header) { + $element['tablefield']['#description'] .= ' ' . t('The first row will appear as the table header. Leave the first row blank if you do not need a header.'); + } } } // Render the form table. - $element['tablefield']['a_break'] = array( + $element['tablefield']['tabledata']['a_break'] = array( '#markup' => '<table id="tablefield-editor">', ); + $default_value = isset($default_value['tabledata']) ? $default_value['tabledata'] : $default_value; + // Make added default values visible when editing existing content. + if (isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && $instance['widget']['settings']['lock_values'] + && arg(0) !== 'admin' + && arg(0) !== 'system') { + // Use the default number of cols/rows if they changed. + $count_cols = $count_cols != $instance['default_value'][0]['tablefield']['rebuild']['count_cols'] ? $instance['default_value'][0]['tablefield']['rebuild']['count_cols'] : $count_cols; + $count_rows = $count_rows != $instance['default_value'][0]['tablefield']['rebuild']['count_rows'] ? $instance['default_value'][0]['tablefield']['rebuild']['count_rows'] : $count_rows; + } // Loop over all the rows. for ($i = 0; $i < $count_rows; $i++) { $zebra = $i % 2 == 0 ? 'even' : 'odd'; - $element['tablefield']['b_break' . $i] = array( - '#markup' => '<tr class="draggable tablefield-row-' . $i . ' ' . $zebra . '"><td class="tablefield-row-count">' . ($i+1) . '</td>', + // Disable table drag functionality in case of locked default cells under + // the first row or completely on the field settings form. + $draggable = 'draggable '; + unset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]['weight']); + if (arg(0) == 'admin' || + (isset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]) + && array_filter($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"])) + ) { + $draggable = FALSE; + } + $element['tablefield']['tabledata']['b_break' . $i] = array( + '#markup' => '<tr class="' . $draggable . 'tablefield-row-' . $i . ' ' . $zebra . '"><td class="tablefield-row-count">' . ($i + 1) . '</td>', ); // Loop over all the columns. for ($ii = 0; $ii < $count_cols; $ii++) { - $instance_default = array(); - if (isset($instance['default_value'][0]['tablefield']["cell_{$i}_{$ii}"])) { - $instance_default = $instance['default_value'][0]['tablefield']["cell_{$i}_{$ii}"]; - } - if (!empty($instance_default) && !empty($field['settings']['lock_values']) && $arg0 != 'admin') { + $instance_default = isset($instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]["col_{$ii}"]) ? $instance['default_value'][0]['tablefield']['tabledata']["row_{$i}"]["col_{$ii}"] : array(); + if (!empty($instance_default) && !empty($instance['widget']['settings']['lock_values']) && arg(0) != 'admin') { // The value still needs to be send on every load in order for the // table to be saved correctly. - $element['tablefield']['cell_' . $i . '_' . $ii] = array( + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii] = array( '#type' => 'value', '#value' => $instance_default, ); // Display the default value, since it's not editable. - $element['tablefield']['cell_' . $i . '_' . $ii . '_display'] = array( + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii . '_display'] = array( '#type' => 'item', '#title' => $instance_default, - '#prefix' => '<td>', + '#prefix' => '<td class="col-' . $ii . '">', '#suffix' => '</td>', ); } else { - $cell_default = isset($default_value[$i][$ii]) ? $default_value[$i][$ii] : ''; - $element['tablefield']['cell_' . $i . '_' . $ii] = array( - '#type' => 'textfield', - '#maxlength' => 2048, + $input_type = isset($instance['widget']['settings']['input_type']) ? $instance['widget']['settings']['input_type'] : 'textfield'; + $max_length = isset($instance['widget']['settings']['max_length']) ? abs($instance['widget']['settings']['max_length']) : '2048'; + $cell_default = isset($default_value['row_' . $i]['col_' . $ii]) ? $default_value['row_' . $i]['col_' . $ii] : ''; + // If the field does not contain HTML, is not plain text and a text area + // then covert linebreaks to <br />. + $format = isset($items[$delta]['format']) ? $items[$delta]['format'] : 'plain_text'; + if (!($cell_default != strip_tags($cell_default)) && $format !== 'plain_text') { + $nl2br = array('_cell_validate'); + } + else { + $nl2br = NULL; + } + + $element['tablefield']['tabledata']['row_' . $i]['col_' . $ii] = array( + '#type' => $input_type, + '#maxlength' => $max_length, '#size' => 0, '#attributes' => array( 'id' => $id . '-cell-' . $i . '-' . $ii, 'class' => array('tablefield-row-' . $i, 'tablefield-col-' . $ii), - 'style' => 'min-width:100%', + 'style' => 'min-width: 100%', ), '#default_value' => $cell_default, - '#prefix' => '<td>', + '#prefix' => '<td class="col-' . $ii . '">', '#suffix' => '</td>', + '#element_validate' => $nl2br, ); } } // Add an extra column for the weight. - $row_weight_default = isset($default_value[$i]['weight']) ? $default_value[$i]['weight'] : ($i+1); - $element['tablefield']['cell_' . $i . '_weight'] = array( + $row_weight_default = isset($default_value[$i]['weight']) ? $default_value[$i]['weight'] : ($i + 1); + $element['tablefield']['tabledata']['row_' . $i]['weight'] = array( '#type' => 'weight', '#title' => t('Weight'), '#default_value' => $row_weight_default, @@ -713,7 +1432,6 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ $element['tablefield']['t_break' . $i] = array( '#markup' => '</table>', ); - drupal_add_tabledrag('tablefield-editor', 'order', 'sibling', 'tablefield-weight'); // Provide caption field to describe the data contained in the table. $element['tablefield']['caption'] = array( @@ -731,7 +1449,16 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ // If the user doesn't have rebuild perms, we pass along the data as a value. // Otherwise we provide form elements to specify the size and ajax rebuild. - if (isset($field['settings']['restrict_rebuild']) && $field['settings']['restrict_rebuild'] && !user_access('rebuild tablefield')) { + if (( + isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && !user_access('rebuild tablefield')) + || (isset($instance['widget']['settings']['restrict_rebuild']) + && $instance['widget']['settings']['restrict_rebuild'] + && $instance['widget']['settings']['lock_values'] + && arg(0) !== 'admin' + && arg(0) !== 'system' + )) { $element['tablefield']['rebuild'] = array( '#type' => 'value', '#tree' => TRUE, @@ -792,85 +1519,89 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ ); } - // Allow the user to import a csv file. - $element['tablefield']['import'] = array( - '#type' => 'fieldset', - '#tree' => TRUE, - '#title' => t('Upload CSV file'), - '#collapsible' => TRUE, - '#collapsed' => TRUE, - ); - $element['tablefield']['import']['file'] = array( - '#name' => 'files[' . $import_id . ']', - '#title' => t('File upload'), - '#type' => 'file', - ); - $element['tablefield']['import']['import'] = array( - '#type' => 'button', - '#validate' => array(), - '#limit_validation_errors' => array(), - '#executes_submit_callback' => TRUE, - '#submit' => array('tablefield_rebuild_form'), - '#value' => t('Upload CSV'), - '#name' => $import_id, - '#attributes' => array( - 'class' => array('tablefield-rebuild'), - ), - '#ajax' => array( - 'callback' => 'tablefield_rebuild_form_ajax', - 'wrapper' => $ajax_wrapper_id, - 'effect' => 'fade', - ), - ); + if (user_access('always use additional datasources') || (isset($instance['widget']['settings']['data_sources']['upload']) && ($instance['widget']['settings']['data_sources']['upload'] === 'upload'))) { + // Allow the user to import a csv file. + $element['tablefield']['import'] = array( + '#type' => 'fieldset', + '#tree' => TRUE, + '#title' => t('Upload CSV file'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $element['tablefield']['import']['file'] = array( + '#name' => 'files[' . $import_id . ']', + '#title' => t('File upload'), + '#type' => 'file', + ); + $element['tablefield']['import']['import'] = array( + '#type' => 'button', + '#validate' => array(), + '#limit_validation_errors' => array(), + '#executes_submit_callback' => TRUE, + '#submit' => array('tablefield_rebuild_form'), + '#value' => t('Upload CSV'), + '#name' => $import_id, + '#attributes' => array( + 'class' => array('tablefield-rebuild'), + ), + '#ajax' => array( + 'callback' => 'tablefield_rebuild_form_ajax', + 'wrapper' => $ajax_wrapper_id, + 'effect' => 'fade', + ), + ); + } - // Allow user to paste data (e.g. from Excel) - $element['tablefield']['paste'] = array( - '#type' => 'fieldset', - '#tree' => TRUE, - '#title' => t('Copy & Paste'), - '#attributes' => array('class' => array('tablefield-extra tablefield-paste')), - '#collapsible' => TRUE, - '#collapsed' => TRUE, - ); - $delimiters = array( - 'TAB' => 'TAB', - ',' => 'Comma ,', - ';' => 'Semicolon ;', - '|' => 'Pipe |', - '+' => 'Plus +', - ':' => 'Colon :', - ); - $element['tablefield']['paste']['paste_delimiter'] = array( - '#type' => 'select', - '#tree' => TRUE, - '#title' => t('Column separator'), - '#name' => 'delimiter[' . $pasted_id . ']', - '#options' => $delimiters, - '#description' => t('Data copied from Excel will use TAB.'), - ); - $element['tablefield']['paste']['data'] = array( - '#type' => 'textarea', - '#tree' => TRUE, - '#name' => 'data[' . $pasted_id . ']', - '#title' => t('Paste table data here:'), - ); - $element['tablefield']['paste']['paste_import'] = array( - '#type' => 'button', - '#validate' => array(), - '#limit_validation_errors' => array(), - '#executes_submit_callback' => TRUE, - '#submit' => array('tablefield_rebuild_form'), - '#value' => t('Import & Rebuild'), - '#name' => $pasted_id, - '#ajax' => array( - 'callback' => 'tablefield_rebuild_form_ajax', - 'wrapper' => $ajax_wrapper_id, - 'effect' => 'fade', - ), - ); + if (user_access('always use additional datasources') || (isset($instance['widget']['settings']['data_sources']['paste']) && ($instance['widget']['settings']['data_sources']['paste'] === 'paste'))) { + // Allow user to paste data (e.g. from Excel). + $element['tablefield']['paste'] = array( + '#type' => 'fieldset', + '#tree' => TRUE, + '#title' => t('Copy & Paste'), + '#attributes' => array('class' => array('tablefield-extra tablefield-paste')), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $delimiters = array( + 'TAB' => t('TAB'), + ',' => t('Comma ,'), + ';' => t('Semicolon ;'), + '|' => t('Pipe |'), + '+' => t('Plus +'), + ':' => t('Colon :'), + ); + $element['tablefield']['paste']['paste_delimiter'] = array( + '#type' => 'select', + '#tree' => TRUE, + '#title' => t('Column separator'), + '#name' => 'delimiter[' . $pasted_id . ']', + '#options' => $delimiters, + '#description' => t('Data copied from Excel will use TAB.'), + ); + $element['tablefield']['paste']['data'] = array( + '#type' => 'textarea', + '#tree' => TRUE, + '#name' => 'data[' . $pasted_id . ']', + '#title' => t('Paste table data here:'), + ); + $element['tablefield']['paste']['paste_import'] = array( + '#type' => 'button', + '#validate' => array(), + '#limit_validation_errors' => array(), + '#executes_submit_callback' => TRUE, + '#submit' => array('tablefield_rebuild_form'), + '#value' => t('Import & Rebuild'), + '#name' => $pasted_id, + '#ajax' => array( + 'callback' => 'tablefield_rebuild_form_ajax', + 'wrapper' => $ajax_wrapper_id, + 'effect' => 'fade', + ), + ); + } // Allow the user to select input filters. - if (!empty($field['settings']['cell_processing'])) { + if (!empty($instance['widget']['settings']['cell_processing'])) { $element['#base_type'] = $element['#type']; $element['#type'] = 'text_format'; $element['#format'] = isset($items[$delta]['format']) ? $items[$delta]['format'] : NULL; @@ -882,6 +1613,26 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $ return $element; } +/** + * Custom callback for a textarea to be processed for linebreaks. + */ +function _cell_validate($element, &$form_state) { + $value = $element['#value']; + if (!empty($element['#value'])) { + $value = nl2br($value); + form_set_value($element, $value, $form_state); + } +} + +/** + * Form #after_build callback for tablefield_field_widget_form(). + */ +function tablefield_after_build($form, &$form_state) { + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield.css'); + drupal_add_tabledrag('tablefield-editor', 'order', 'sibling', 'tablefield-weight'); + return $form; +} + /** * Helper function to import data from a CSV file. * @@ -908,6 +1659,18 @@ function tablefield_import_csv($form, &$form_state, $langcode, $file_form_field_ tablefield_delete_table_values(drupal_array_get_nested_value($form_state['values'], $tablefield_parents)); tablefield_delete_table_values(drupal_array_get_nested_value($form_state['input'], $tablefield_parents)); + // Checking the encoding of the CSV file to be UTF-8. + $encoding = 'UTF-8'; + if (function_exists('mb_detect_encoding')) { + $file_contents = file_get_contents($file->uri); + $encodings_list = implode(',', variable_get('tablefield_detect_encodings', array( + 'UTF-8', + 'ISO-8859-1', + 'WINDOWS-1251', + ))); + $encoding = mb_detect_encoding($file_contents, $encodings_list); + } + // Populate CSV values. $max_col_count = 0; $row_count = 0; @@ -915,7 +1678,7 @@ function tablefield_import_csv($form, &$form_state, $langcode, $file_form_field_ while (($csv = fgetcsv($handle, 0, variable_get('tablefield_csv_separator', ','))) !== FALSE) { $col_count = count($csv); foreach ($csv as $col_id => $col) { - $imported_tablefield['cell_' . $row_count . '_' . $col_id] = $col; + $imported_tablefield['row_' . $row_count]['col_' . $col_id] = tablefield_convert_encoding($col, $encoding); } $max_col_count = $col_count > $max_col_count ? $col_count : $max_col_count; $row_count++; @@ -935,12 +1698,16 @@ function tablefield_import_csv($form, &$form_state, $langcode, $file_form_field_ } /** - * Helper function to import pasted data + * Helper function to import pasted data. + * * @param array $form + * The form structure. * @param array $form_state + * The current state of the form. * @param string $langcode - * @param string $file_form_field_name + * The language associated with the form items. * @param array $tablefield_parents + * The parents of the tablefield element. */ function tablefield_import_pasted($form, &$form_state, $langcode, $pasted_form_field_name, $tablefield_parents) { $data = $form_state['input']['data'][$pasted_form_field_name]; @@ -962,11 +1729,11 @@ function tablefield_import_pasted($form, &$form_state, $langcode, $pasted_form_f $rows = explode(PHP_EOL, $data); foreach ($rows as $row_id => $row) { // Explode the current row into columns: - $cols = explode($col_delimiter, $row); + $cols = str_getcsv($row, $col_delimiter); $col_count = count($cols); if ($col_count > 0) { foreach ($cols as $col_id => $col) { - $imported_tablefield['cell_' . $row_count . '_' . $col_id] = $col; + $imported_tablefield['row_' . $row_count]['col_' . $col_id] = $col; } $max_col_count = $col_count > $max_col_count ? $col_count : $max_col_count; $row_count++; @@ -994,7 +1761,7 @@ function tablefield_import_pasted($form, &$form_state, $langcode, $pasted_form_f function tablefield_delete_table_values(&$tablefield) { // Empty out previously entered values. foreach ($tablefield as $key => $value) { - if (strpos($key, 'cell_') === 0) { + if (strpos($key, 'row_') === 0) { $tablefield[$key] = ''; } } @@ -1044,38 +1811,6 @@ function tablefield_rebuild_form($form, &$form_state) { $form_state['rebuild'] = TRUE; } -/** - * Helper function to turn form elements into a structured array. - * - * @param array $tablefield - * The table as it appears in FAPI. - */ -function tablefield_rationalize_table($tablefield) { - $tabledata = array(); - - // Rationalize the table data. - if (!empty($tablefield)) { - // Remove exterraneous form data. - $count_cols = $tablefield['rebuild']['count_cols']; - $count_rows = $tablefield['rebuild']['count_rows']; - unset($tablefield['caption']); - unset($tablefield['rebuild']); - unset($tablefield['import']); - unset($tablefield['paste']); - - foreach ($tablefield as $key => $value) { - if (preg_match('/cell_(.*)_(.*)/', $key, $cell)) { - // $cell[1] is row count $cell[2] is col count. - if ((int) $cell[1] < $count_rows && (int) $cell[2] < $count_cols) { - $tabledata[$cell[1]][$cell[2]] = $value; - } - } - } - } - - return $tabledata; -} - /** * Implements hook_theme(). */ @@ -1093,9 +1828,26 @@ function tablefield_theme() { 'field_name' => NULL, 'langcode' => NULL, 'formatter' => NULL, + 'header_orientation' => 'Horizontal', + 'sticky' => NULL, + 'striping' => NULL, + 'sortable' => NULL, 'attributes' => array(), ), ), + 'tablefield' => array( + 'variables' => array( + 'rows' => NULL, + 'attributes' => array(), + 'caption' => NULL, + 'colgroups' => array(), + 'header_orientation' => 'Horizontal', + 'sticky' => NULL, + 'striping' => NULL, + 'sortable' => NULL, + 'empty' => NULL, + ), + ), ); } @@ -1103,9 +1855,10 @@ function tablefield_theme() { * Theme function for table view. */ function theme_tablefield_view($variables) { - $attributes = $variables['attributes'] + array( + $sortable = $variables['sortable'] ? 'tablesorter' : NULL; + $attributes = array( 'id' => 'tablefield-' . $variables['delta'], - 'class' => array('tablefield', 'tablefield-' . $variables['delta']), + 'class' => array('tablefield', $sortable), ); // Apply scope property to headers for accessibility. @@ -1119,70 +1872,106 @@ function theme_tablefield_view($variables) { $export = ''; if ($variables['export'] && user_access('export tablefield')) { $url = sprintf('tablefield/export/%s/%s/%s/%s/%s', $variables['entity_type'], $variables['entity_id'], $variables['field_name'], $variables['langcode'], $variables['delta']); - $export = '<div id="tablefield-export-link-' . $variables['delta'] . '" class="tablefield-export-link">' . l(t('Export Table Data'), $url) . '</div>'; + $export = '<div id="' . drupal_html_id('tablefield-export-link-' . $variables['delta']) . '" class="tablefield-export-link">' . l(t('Export Table Data'), $url) . '</div>'; } - // Prepare variables for theme_table(). + // Prepare variables for theme_tablefield(). $theme_variables = array( 'header' => $variables['header'], 'rows' => $variables['rows'], 'attributes' => $attributes, + 'colgroups' => array(), + 'empty' => NULL, ); - if ($variables['caption']) { + if (isset($variables['caption'])) { $theme_variables['caption'] = $variables['caption']; } - - return '<div id="tablefield-wrapper-' . $variables['delta'] . '" class="tablefield-wrapper">' - . theme('table__tablefield', $theme_variables) + if (isset($variables['header_orientation'])) { + $theme_variables['header_orientation'] = $variables['header_orientation']; + } + if (isset($variables['sticky'])) { + $theme_variables['sticky'] = $variables['sticky']; + } + if (isset($variables['striping'])) { + $theme_variables['striping'] = $variables['striping']; + } + if (isset($variables['sortable'])) { + $theme_variables['sortable'] = $variables['sortable']; + } + return '<div id="' . drupal_html_id('tablefield-wrapper-' . $variables['delta']) . '" class="tablefield-wrapper">' + . theme('tablefield', $theme_variables) . $export . '</div>'; } /** - * Helper function to fill in locked values from instance defaults. + * Helper function to detect and convert strings not in UTF-8 to UTF-8. * - * @param array $tablefield - * The table as it appears in FAPI. - * @param array $instance_default - * Instance default tablefield. + * @param string $data + * The string which needs converting. + * @param string $encoding + * The encoding of the CSV file. * - * @return array - * Filled tablefield. + * @return string + * UTF encoded string. */ -function tablefield_fill_locked_values($tablefield, $instance_default) { - if (!empty($tablefield['rebuild'])) { - $count_cols = $tablefield['rebuild']['count_cols']; - $count_rows = $tablefield['rebuild']['count_rows']; +function tablefield_convert_encoding($data, $encoding) { + // Converting UTF-8 to UTF-8 will not work. + if ($encoding == 'UTF-8') { + return $data; + } - for ($i = 0; $i < $count_rows; $i++) { - for ($ii = 0; $ii < $count_cols; $ii++) { - if (!isset($tablefield["cell_${i}_${ii}"])) { - $tablefield["cell_${i}_${ii}"] = isset($instance_default["cell_${i}_${ii}"]) ? $instance_default["cell_${i}_${ii}"] : ''; - } - } - } + // Try convert the data to UTF-8. + if ($encoded_data = drupal_convert_to_utf8($data, $encoding)) { + return $encoded_data; } - return $tablefield; + + // Fallback on the input data. + return $data; } /** - * Trim trailing empty rows. + * Trim trailing empty rows/columns. * * @param array $tabledata * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. */ -function tablefield_rtrim_rows($tabledata) { - $row_num = count($tabledata); - while ($row_num) { - $row_num--; - foreach ($tabledata[$row_num] as $value) { +function tablefield_trim($tabledata, $ignore_head = FALSE) { + $tabledata = array_reverse($tabledata); + // For columns the transposed array has the 'weight' one level higher. + unset($tabledata['weight']); + foreach ($tabledata as $key => $value) { + // Removes the weight key for the rows. + unset($value['weight']); + $empty = TRUE; + if (is_array($value)) { + foreach ($value as $k2 => $v2) { + if (!empty($v2)) { + // Stop traversing at the first non empty value. + if (!$ignore_head || ($ignore_head && $k2 !== 'row_0')) { + $empty = FALSE; + } + } + } + } + else { if (!empty($value)) { // Stop traversing at the first non empty value. - break 2; + $empty = FALSE; } } - unset($tabledata[$row_num]); + + if ($empty) { + unset($tabledata[$key]); + } + else { + break; + } } + $tabledata = array_reverse($tabledata); + return $tabledata; } @@ -1191,8 +1980,10 @@ function tablefield_rtrim_rows($tabledata) { * * @param array $tabledata * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. */ -function tablefield_rtrim_cols($tabledata) { +function tablefield_rtrim_cols($tabledata, $ignore_head = FALSE) { $row_num = count($tabledata); if (!$row_num) { @@ -1203,7 +1994,7 @@ function tablefield_rtrim_cols($tabledata) { $tabledata = tablefield_transpose($tabledata); // Trim trailing empty rows. - $tabledata = tablefield_rtrim_rows($tabledata); + $tabledata = tablefield_trim($tabledata, $ignore_head); // Transpose back. $tabledata = tablefield_transpose($tabledata); @@ -1223,3 +2014,371 @@ function tablefield_transpose($array) { } return $transposed; } + +/** + * Hide all empty rows. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_hide_rows($tabledata, $ignore_head = FALSE) { + foreach ($tabledata as $key => $value) { + // Removes the weight key. + unset($value['weight']); + $empty = TRUE; + + if (is_array($value)) { + foreach ($value as $k2 => $v2) { + if (!empty($v2)) { + // Stop traversing at the first non empty value. + if (!$ignore_head || ($ignore_head && $k2 !== 'row_0')) { + $empty = FALSE; + } + } + } + } + else { + if (!empty($value)) { + // Stop traversing at the first non empty value. + $empty = FALSE; + } + } + + if ($empty) { + unset($tabledata[$key]); + } + } + + return $tabledata; +} + +/** + * Hide all empty columns. + * + * @param array $tabledata + * The rationalized tablefield. + * @param bool $ignore_head + * Whether ignoring header or not. + */ +function tablefield_hide_cols($tabledata, $ignore_head = FALSE) { + $row_num = count($tabledata); + + if (!$row_num) { + return $tabledata; + } + + // Transpose the array. + $tabledata = tablefield_transpose($tabledata); + + // Trim trailing empty rows. + $tabledata = tablefield_hide_rows($tabledata, $ignore_head); + + // Transpose back. + $tabledata = tablefield_transpose($tabledata); + + return $tabledata; +} + +/** + * Implements hook_multiple_field_remove_button_field_widgets_alter(). + * + * Enable https://www.drupal.org/project/multiple_fields_remove_button. + */ +function tablefield_multiple_field_remove_button_field_widgets_alter(&$fieldwidgets) { + // Remove button for the following field type widgets. + $fieldwidgets = array( + 'tablefield', + ); +} + +/** + * Implements hook_form_alter(). + * + * Avoid empty tables on multivalue fields with default header values. + */ +function tablefield_form_alter(&$form, &$form_state, $form_id) { + $instances = field_info_instances(); + $field_names = array(); + foreach ($instances as $entity_type => $entities) { + foreach ($entities as $bundle => $fields) { + foreach ($fields as $field_name => $instance) { + if ($instance['widget']['type'] === 'tablefield') { + $field_info = field_info_field($field_name); + if (empty($field_info['field_name'])) { + return; + } + if (isset($form[$field_info['field_name']]) && $field_info['cardinality'] != 1) { + $field_language = $form[$field_info['field_name']]['#language']; + $max_delta = $form[$field_info['field_name']][$field_language]['#max_delta']; + unset($form[$field_name][$field_language][$max_delta]); + } + } + } + } + } +} + +/** + * Returns HTML for a table. Based on the core function theme_table(). + * + * @param array $variables + * An associative array containing: + * - header: An array containing the table headers. Each element of the array + * can be either a localized string or an associative array with the + * following keys: + * - "data": The localized title of the table column. + * - "field": The database field represented in the table column (required + * if user is to be able to sort on this column). + * - "sort": A default sort order for this column ("asc" or "desc"). Only + * one column should be given a default sort order because table sorting + * only applies to one column at a time. + * - Any HTML attributes, such as "colspan", to apply to the column header + * cell. + * - rows: An array of table rows. Every row is an array of cells, or an + * associative array with the following keys: + * - "data": an array of cells + * - Any HTML attributes, such as "class", to apply to the table row. + * - "no_striping": a boolean indicating that the row should receive no + * 'even / odd' styling. Defaults to FALSE. + * Each cell can be either a string or an associative array with the + * following keys: + * - "data": The string to display in the table cell. + * - "header": Indicates this cell is a header. + * - Any HTML attributes, such as "colspan", to apply to the table cell. + * Here's an example for $rows:. + * + * @code + * $rows = array( + * // Simple row + * array( + * 'Cell 1', 'Cell 2', 'Cell 3' + * ), + * // Row with attributes on the row and some of its cells. + * array( + * 'data' => array('Cell 1', array('data' => 'Cell 2', 'colspan' => 2)), 'class' => array('funky') + * ) + * ); + * @endcode + * - attributes: An array of HTML attributes to apply to the table tag. + * - caption: A localized string to use for the <caption> tag. + * - colgroups: An array of column groups. Each element of the array can be + * either: + * - An array of columns, each of which is an associative array of HTML + * attributes applied to the COL element. + * - An array of attributes applied to the COLGROUP element, which must + * include a "data" attribute. To add attributes to COL elements, set the + * "data" attribute with an array of columns, each of which is an + * associative array of HTML attributes. + * Here's an example for $colgroup: + * @code + * $colgroup = array( + * // COLGROUP with one COL element. + * array( + * array( + * 'class' => array('funky'), // Attribute for the COL element. + * ), + * ), + * // Colgroup with attributes and inner COL elements. + * array( + * 'data' => array( + * array( + * 'class' => array('funky'), // Attribute for the COL element. + * ), + * ), + * 'class' => array('jazzy'), // Attribute for the COLGROUP element. + * ), + * ); + * @endcode + * These optional tags are used to group and set properties on columns + * within a table. For example, one may easily group three columns and + * apply same background style to all. + * - header_orientation: Horizontal, vertical or both. + * - sticky: Use a "sticky" table header. + * - striping: Do add an 'odd' or 'even' class to rows. + * - sortable: Allow column sorting by clicking the column in the first row. + * - empty: The message to display in an extra row if table does not have any + * rows. + */ +function theme_tablefield($variables) { + $header = $variables['header']; + $rows = $variables['rows']; + $attributes = $variables['attributes']; + $caption = $variables['caption']; + $colgroups = $variables['colgroups']; + $header_orientation = $variables['header_orientation']; + $sticky = $variables['sticky']; + $no_striping = !$variables['striping']; + $empty = $variables['empty']; + if ($variables['sortable']) { + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_sort.css'); + $tooltip = ' title="' . t('Sort column') . '"'; + } + else { + $tooltip = NULL; + } + drupal_add_css(drupal_get_path('module', 'tablefield') . '/css/tablefield_sort.css'); $empty = $variables['empty']; + // If the only header is the first column make the first row a normal row. + if (!isset($rows['row_0']) && $header_orientation == 'Vertical') { + $rows['row_0'] = $header; + ksort($rows); + $header = array(); + } + // Add sticky headers, if applicable. + if (count($header) && $sticky) { + drupal_add_js('misc/tableheader.js'); + // Add 'sticky-enabled' class to the table to identify it for JS. + // This is needed to target tables constructed by this function. + $attributes['class'][] = 'sticky-enabled'; + } + + $output = '<table' . drupal_attributes($attributes) . ">\n"; + + if (isset($caption)) { + $output .= '<caption>' . $caption . "</caption>\n"; + } + + // Format the table columns: + if (count($colgroups)) { + foreach ($colgroups as $number => $colgroup) { + $attributes = array(); + + // Check if we're dealing with a simple or complex column. + if (isset($colgroup['data'])) { + foreach ($colgroup as $key => $value) { + if ($key == 'data') { + $cols = $value; + } + else { + $attributes[$key] = $value; + } + } + } + else { + $cols = $colgroup; + } + + // Build colgroup. + if (is_array($cols) && count($cols)) { + $output .= ' <colgroup' . drupal_attributes($attributes) . '>'; + $i = 0; + foreach ($cols as $col) { + $output .= ' <col' . drupal_attributes($col) . ' />'; + } + $output .= " </colgroup>\n"; + } + else { + $output .= ' <colgroup' . drupal_attributes($attributes) . " />\n"; + } + } + } + + // Add the 'empty' row message if available. + if (!count($rows) && $empty) { + $header_count = 0; + foreach ($header as $header_cell) { + if (is_array($header_cell)) { + $header_count += isset($header_cell['colspan']) ? $header_cell['colspan'] : 1; + } + else { + $header_count++; + } + } + $rows[] = array( + array( + 'data' => $empty, + 'colspan' => $header_count, + 'class' => array('empty', 'message'), + ), + ); + } + + // Format the table header: + if (count($header)) { + $ts = tablesort_init($header); + // HTML requires that the thead tag has tr tags in it followed by tbody + // tags. Using ternary operator to check and see if we have any rows. + $output .= (count($rows) ? ' <thead' . $tooltip . '><tr>' : ' <tr>'); + foreach ($header as $cell) { + $cell = tablesort_header($cell, $header, $ts); + $output .= _theme_table_cell($cell, TRUE); + } + // Using ternary operator to close the tags based on whether or not there + // are rows. + $output .= (count($rows) ? " </tr></thead>\n" : "</tr>\n"); + } + else { + $ts = array(); + } + + // Format the table rows: + if (count($rows)) { + $output .= "<tbody>\n"; + $flip = array('even' => 'odd', 'odd' => 'even'); + $class = 'even'; + foreach ($rows as $number => $row) { + // Check if we're dealing with a simple or complex row. + if (isset($row['data'])) { + $cells = $row['data']; + $no_striping = isset($row['no_striping']) ? $row['no_striping'] : FALSE; + + // Set the attributes array and exclude 'data' and 'no_striping'. + $attributes = $row; + unset($attributes['data']); + unset($attributes['no_striping']); + } + else { + $cells = $row; + $attributes = array(); + } + if (count($cells)) { + // Add odd/even class. + if (!$no_striping) { + $class = $flip[$class]; + $attributes['class'][] = $class; + } + + // Build row. + $output .= ' <tr' . drupal_attributes($attributes) . '>'; + $i = 0; + foreach ($cells as $cell) { + $cell = tablesort_cell($cell, $header, $ts, $i++); + $output .= _theme_table_cell($cell, ($header_orientation === 'Both' || $header_orientation === 'Vertical') && $i == 1); + $i++; + } + $output .= " </tr>\n"; + } + } + $output .= "</tbody>\n"; + } + + $output .= "</table>\n"; + return $output; +} + +/** + * Convert array to XML. See http://stackoverflow.com/a/5965940/523688. + */ +function array_to_xml($data, &$xml_data) { + foreach ($data as $key => $value) { + if (is_numeric($key)) { + // Dealing with <0/>..<n/> issues. + $key = 'item_' . $key; + } + // Within keys (XML element tags) only accept A-Z (case insensitive), 0-9, + // a dash (-) and an underscore (_). Replace all others with an underscore. + // Avoid multiple consecutive underscores. + $key = preg_replace('/_+/', '_', preg_replace('/[^A-Za-z0-9_\-]/', '_', $key)); + // If the <3element> starts with a number, prefix it with an underscore + // <_3element> to get valid XML. + $key = is_numeric(substr($key, 0, 1)) ? substr_replace($key, '_', 0, 0) : $key; + if (is_array($value)) { + $subnode = $xml_data->addChild($key); + array_to_xml($value, $subnode); + } + else { + $xml_data->addChild("$key", htmlspecialchars("$value")); + } + } +} diff --git a/dkan/modules/contrib/tablefield/themeless/README.txt b/dkan/modules/contrib/tablefield/themeless/README.txt new file mode 100644 index 000000000..4cd777056 --- /dev/null +++ b/dkan/modules/contrib/tablefield/themeless/README.txt @@ -0,0 +1,26 @@ +# TableField Themeless # + +Provides themeless output of a node's tablefield on the path 'node/%/themeless'. + + +## INSTALLATION ## + +- Enable the submodule at ../admin/modules. + + +## GET STARTED ## + +- Go to ../admin/structure/types/manage/[your-content-type]/display/themeless + and make sure it includes a TableField field. +- Choose the desired format and format settings. +- Update. +- Save. +- Visit a content page at ../node/%nid/themeless . + + +## TO KEEP IN MIND ## + +- Only the first found TableField field will be included in the output (also + multivalue). +- Enable https://www.drupal.org/project/subpathauto to have URLs with aliases + accessible for the themeless output, e.g. ../my/custom/alias/themeless. diff --git a/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.info b/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.info new file mode 100644 index 000000000..39d3661fb --- /dev/null +++ b/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.info @@ -0,0 +1,12 @@ +name = TableField Themeless +description = Provides themeless output of a node's tablefield on the path 'node/%/themeless'. +core = 7.x +package = Fields +dependencies[] = tablefield + +; Information added by Drupal.org packaging script on 2017-06-13 +version = "7.x-3.1" +core = "7.x" +project = "tablefield" +datestamp = "1497359647" + diff --git a/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.module b/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.module new file mode 100644 index 000000000..885dbd0f5 --- /dev/null +++ b/dkan/modules/contrib/tablefield/themeless/tablefield_themeless.module @@ -0,0 +1,108 @@ +<?php + +/** + * @file + * Themeless output of a node's tablefield on the path 'node/%/themeless'. + */ + +/** + * Implements hook_menu(). + */ +function tablefield_themeless_menu() { + $items = array(); + $items['node/%node/themeless'] = array( + 'title' => 'Themeless TableField', + 'page callback' => 'tablefield_themeless_view', + 'page arguments' => array(1), + 'access arguments' => array('access content'), + ); + + return $items; +} + +/** + * Implements hook_menu_local_tasks_alter(). + */ +function tablefield_themeless_menu_local_tasks_alter(&$data, $router_item, $root_path) { + $node = is_numeric(arg(1)) ? node_load(arg(1)) : NULL; + // Get all fields of entity type. + $fields = $node ? field_info_instances('node', $node->type) : array(); + // Get all table fields. + $tablefield = array(); + foreach ($fields as $key => $value) { + if ($value['widget']['type'] === 'tablefield') { + $tablefield[] = $key; + } + } + // Add a 'Themeless TableField' tab only if the content type has a TableField. + if ($node && $root_path == 'node/%' && isset($tablefield[0]) && !empty($tablefield[0])) { + $data['tabs'][0]['output'][] = array( + '#theme' => 'menu_local_task', + '#link' => array( + 'title' => t('Themeless TableField'), + 'href' => 'node/' . arg(1) . '/themeless', + 'localized_options' => array(), + ), + ); + } +} + +/** + * Get a node by a menucallback and return the first table field as JSON. + * + * @param object $node + * Fully loaded node object. + */ +function tablefield_themeless_view($node) { + // Get all fields of entity type. + $fields = field_info_instances('node', $node->type); + // Get all table fields. + $tablefield = array(); + foreach ($fields as $key => $value) { + if ($value['widget']['type'] === 'tablefield') { + $tablefield[] = $key; + } + } + // Populate $node->content with a render() array. + node_build_content($node, 'themeless'); + + $build = $node->content; + + // Get the field instance of the first found table field. + $instance = isset($tablefield[0]) ? field_info_instance('node', $tablefield[0], $node->type) : NULL; + $settings = isset($instance) ? field_get_display($instance, 'themeless', 'node') : NULL; + // XML. + if (isset($settings['settings']['xml']) && isset($build[$tablefield[0]][0]['#markup']) && $settings['settings']['xml']) { + // We are returning XML, so tell the browser. + drupal_add_http_header('Content-Type', 'application/xml'); + // Render the content of the first found table field. + print $build[$tablefield[0]][0]['#markup']; + } + // JSON. + elseif (isset($build[$tablefield[0]][0]['#markup'])) { + // We are returning JSON, so tell the browser. + drupal_add_http_header('Content-Type', 'application/json'); + // Render the content of the first found table field. + print $build[$tablefield[0]][0]['#markup']; + } + // HTML. + elseif ($tablefield[0] && $settings['type'] !== 'format_themeless') { + $output = field_view_field('node', $node, $tablefield[0], $settings); + print drupal_render($output); + } + else { + $nodata['code'] = $instance ? 204 : 404; + $nodata['message'] = $instance ? t('No Content: the tablefield is empty') : t('Not Found: no tablefield found'); + print drupal_json_output($nodata); + } +} + +/** + * Implements hook_entity_info_alter(). + */ +function tablefield_entity_info_alter(&$entity_info) { + $entity_info['node']['view modes']['themeless'] = array( + 'label' => t('Themeless'), + 'custom settings' => FALSE, + ); +} diff --git a/dkan/modules/contrib/views/README.txt b/dkan/modules/contrib/views/README.txt index 8097eb453..3e361c5d1 100644 --- a/dkan/modules/contrib/views/README.txt +++ b/dkan/modules/contrib/views/README.txt @@ -1,19 +1,50 @@ +CONTENTS OF THIS FILE +--------------------- + + * Introduction + * Requirements + * Installation + * Configuration + * Recommended + + +INTRODUCTION +------------ Welcome to Views 3. Please see the advanced help for more information. -If you're having trouble installing this module, please ensure that your -tar program is not flattening the directory tree, truncating filenames -or losing files. +If you're having trouble installing this module, please ensure that your tar +program is not flattening the directory tree, truncating filenames or losing +files. + + +REQUIREMENTS +------------ + +This module requires the following modules: + + * Chaos tool suite (ctools) (https://drupal.org/project/ctools) + + +INSTALLATION +------------ + +Install as you would normally install a contributed Drupal module. See: +https://drupal.org/documentation/install/modules-themes/modules-7 for further +information. + +Navigate to administer >> modules. Enable Views and Views UI. -Installing Views: -Place the entirety of this directory in sites/all/modules/views -You must also install the CTools module (http://www.drupal.org/project/ctools) to use Views. +RECOMMENDED +----------- -Navigate to administer >> build >> modules. Enable Views and Views UI. + * SimpleViews (https://www.drupal.org/project/simpleviews): + If you're new to Views, try the Simple Views which can create some often used + Views for you, this might save you some time. -If you're new to Views, try the Simple Views module which can create some -often used Views for you, this might save you some time. + * Advanced help (https://www.drupal.org/project/advanced_help): + If you enable the advanced help, Views will provide more and better help. -Here you can find many modules extending the functionality of Views: - http://drupal.org/taxonomy/term/89 + * Here you can find many modules extending the functionality of Views: + http://drupal.org/taxonomy/term/89 diff --git a/dkan/modules/contrib/views/includes/handlers.inc b/dkan/modules/contrib/views/includes/handlers.inc index b1ce1a315..c8fd3b034 100644 --- a/dkan/modules/contrib/views/includes/handlers.inc +++ b/dkan/modules/contrib/views/includes/handlers.inc @@ -1544,6 +1544,12 @@ class views_join { // Tack on the extra. if (isset($this->extra)) { + // If extra has been provided as string instead of an array, convert it + // to an array. + if (!is_array($this->extra)) { + $this->extra = array($this->extra); + } + $extras = array(); foreach ($this->extra as $info) { if (is_array($info)) { @@ -1658,6 +1664,12 @@ class views_join_subquery extends views_join { // This is just copied verbatim from the parent class, which itself has a // bug: http://drupal.org/node/1118100 if (isset($this->extra)) { + // If extra has been provided as string instead of an array, convert it + // to an array. + if (!is_array($this->extra)) { + $this->extra = array($this->extra); + } + $extras = array(); foreach ($this->extra as $info) { if (is_array($info)) { diff --git a/dkan/modules/contrib/views/modules/node.views.inc b/dkan/modules/contrib/views/modules/node.views.inc index 9e80c1109..57e6b28fc 100644 --- a/dkan/modules/contrib/views/modules/node.views.inc +++ b/dkan/modules/contrib/views/modules/node.views.inc @@ -733,7 +733,7 @@ function node_row_node_view_preprocess_node(&$vars) { unset($vars['content']['links']); } - if (module_exists('comments') && !empty($options['comments']) && user_access('access comments') && $node->comment) { + if (module_exists('comment') && !empty($options['comments']) && user_access('access comments') && $node->comment) { $vars['content']['comments'] = comment_node_page_additions($node); } } diff --git a/dkan/modules/contrib/views/modules/node/views_plugin_row_node_view.inc b/dkan/modules/contrib/views/modules/node/views_plugin_row_node_view.inc index 26761a491..70e49234d 100644 --- a/dkan/modules/contrib/views/modules/node/views_plugin_row_node_view.inc +++ b/dkan/modules/contrib/views/modules/node/views_plugin_row_node_view.inc @@ -61,7 +61,7 @@ class views_plugin_row_node_view extends views_plugin_row { '#type' => 'checkbox', '#title' => t('Display comments'), '#default_value' => $this->options['comments'], - '#access' => module_exists('comments'), + '#access' => module_exists('comment'), ); } diff --git a/dkan/modules/contrib/views/modules/search.views.inc b/dkan/modules/contrib/views/modules/search.views.inc index dad84bb7c..a956ec22a 100644 --- a/dkan/modules/contrib/views/modules/search.views.inc +++ b/dkan/modules/contrib/views/modules/search.views.inc @@ -43,14 +43,14 @@ function search_views_data() { 'left_table' => 'search_index', 'left_field' => 'sid', 'field' => 'sid', - 'extra' => 'search_index.type = search_dataset.type', + 'extra' => array('search_index.type = search_dataset.type'), 'type' => 'INNER', ), 'users' => array( 'left_table' => 'search_index', 'left_field' => 'sid', 'field' => 'sid', - 'extra' => 'search_index.type = search_dataset.type', + 'extra' => array('search_index.type = search_dataset.type'), 'type' => 'INNER', ), ); diff --git a/dkan/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc b/dkan/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc index 574617a10..6c3339296 100644 --- a/dkan/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc +++ b/dkan/modules/contrib/views/modules/taxonomy/views_handler_filter_term_node_tid.inc @@ -275,7 +275,7 @@ class views_handler_filter_term_node_tid extends views_handler_filter_many_to_on // We only validate if they've chosen the text field style. if ($this->options['type'] != 'textfield') { - if ($form_state['values'][$identifier] != 'All') { + if (isset($form_state['values'][$identifier]) && $form_state['values'][$identifier] != 'All') { $this->validated_exposed_input = (array) $form_state['values'][$identifier]; } return; diff --git a/dkan/modules/contrib/views/plugins/views_plugin_display.inc b/dkan/modules/contrib/views/plugins/views_plugin_display.inc index b7aa6cee2..0750fa835 100644 --- a/dkan/modules/contrib/views/plugins/views_plugin_display.inc +++ b/dkan/modules/contrib/views/plugins/views_plugin_display.inc @@ -365,6 +365,19 @@ class views_plugin_display extends views_plugin { return FALSE; } + /** + * Should the enabled display more link being opened in an new window? + * + * @codingStandardsIgnoreStart + */ + function use_more_open_new_window() { + // @codingStandardsIgnoreEnd + if (!empty($this->definition['use more'])) { + return $this->get_option('open_new_window'); + } + return FALSE; + } + /** * Does the display have custom link text? */ @@ -414,9 +427,29 @@ class views_plugin_display extends views_plugin { 'hide_admin_links' => array('hide_admin_links'), 'group_by' => array('group_by'), 'query' => array('query'), - 'use_more' => array('use_more', 'use_more_always', 'use_more_text'), - 'use_more_always' => array('use_more', 'use_more_always', 'use_more_text'), - 'use_more_text' => array('use_more', 'use_more_always', 'use_more_text'), + 'use_more' => array('use_more', + 'use_more_always', + 'open_new_window', + 'use_more_text', + ), + 'use_more_always' => array( + 'use_more', + 'use_more_always', + 'open_new_window', + 'use_more_text', + ), + 'use_more_text' => array( + 'use_more', + 'use_more_always', + 'open_new_window', + 'use_more_text', + ), + 'open_new_window' => array( + 'use_more', + 'use_more_always', + 'open_new_window', + 'use_more_text', + ), 'link_display' => array('link_display', 'link_url'), // Force these to cascade properly. @@ -481,6 +514,7 @@ class views_plugin_display extends views_plugin { 'pager_options' => TRUE, 'use_more' => TRUE, 'use_more_always' => TRUE, + 'open_new_window' => FALSE, 'use_more_text' => TRUE, 'exposed_form' => TRUE, 'exposed_form_options' => TRUE, @@ -1529,6 +1563,17 @@ class views_plugin_display extends views_plugin { 'edit-use-more' => array(TRUE), ), ); + + $form['open_new_window'] = array( + '#type' => 'checkbox', + '#title' => t("Open 'more' link in new window (target='blank')"), + '#description' => t("Leave this unchecked to open the more link in the same window."), + '#default_value' => $this->get_option('open_new_window'), + '#dependency' => array( + 'edit-use-more' => array(TRUE), + ), + ); + $form['use_more_text'] = array( '#type' => 'textfield', '#title' => t('More link text'), @@ -2386,6 +2431,7 @@ class views_plugin_display extends views_plugin { case 'use_more': $this->set_option($section, intval($form_state['values'][$section])); $this->set_option('use_more_always', !intval($form_state['values']['use_more_always'])); + $this->set_option('open_new_window', $form_state['values']['open_new_window']) == '1'; $this->set_option('use_more_text', $form_state['values']['use_more_text']); case 'distinct': $this->set_option($section, $form_state['values'][$section]); @@ -2599,7 +2645,7 @@ class views_plugin_display extends views_plugin { $path = check_url(url($path, $url_options)); - return theme($theme, array('more_url' => $path, 'link_text' => check_plain($this->use_more_text()), 'view' => $this->view)); + return theme($theme, array('more_url' => $path, 'new_window' => $this->use_more_open_new_window(), 'link_text' => check_plain($this->use_more_text()), 'view' => $this->view)); } } } diff --git a/dkan/modules/contrib/views/plugins/views_plugin_pager_full.inc b/dkan/modules/contrib/views/plugins/views_plugin_pager_full.inc index aedb2237a..084aa0a48 100644 --- a/dkan/modules/contrib/views/plugins/views_plugin_pager_full.inc +++ b/dkan/modules/contrib/views/plugins/views_plugin_pager_full.inc @@ -417,7 +417,7 @@ class views_plugin_pager_full extends views_plugin_pager { function exposed_form_validate(&$form, &$form_state) { if (!empty($form_state['values']['offset']) && trim($form_state['values']['offset'])) { if (!is_numeric($form_state['values']['offset']) || $form_state['values']['offset'] < 0) { - form_set_error('offset', t('Offset must be an number greather or equal than 0.')); + form_set_error('offset', t('Offset must be an number greater or equal than 0.')); } } } diff --git a/dkan/modules/contrib/views/tests/views_ajax.test b/dkan/modules/contrib/views/tests/views_ajax.test index 3f553db44..685d09ef1 100644 --- a/dkan/modules/contrib/views/tests/views_ajax.test +++ b/dkan/modules/contrib/views/tests/views_ajax.test @@ -73,10 +73,10 @@ class ViewsAjaxTest extends ViewsSqlTest { $this->assertEqual($drupal_settings['views']['ajaxViews'][$view_entry]['view_name'], 'test_ajax_view', 'The view\'s ajaxViews array entry has the correct \'view_name\' key.'); $this->assertEqual($drupal_settings['views']['ajaxViews'][$view_entry]['view_display_id'], 'page_1', 'The view\'s ajaxViews array entry has the correct \'view_display_id\' key.'); - $post = [ + $post = array( 'view_name' => 'test_ajax_view', 'view_display_id' => 'page_1', - ]; + ); $response = $this->simpleAjaxPost('views/ajax', 'application/json', $post); $data = drupal_json_decode($response); @@ -91,10 +91,10 @@ class ViewsAjaxTest extends ViewsSqlTest { $result = $this->xpath('//div[contains(@class, "views-row")]'); $this->assertEqual(count($result), 2, 'Ensure that two items are rendered in the HTML.'); - $post = [ + $post = array( 'view_name' => 'test_noajax_view', 'view_display_id' => 'default', - ]; + ); $response = $this->simpleAjaxPost('views/ajax', 'application/json', $post); $data = drupal_json_decode($response); diff --git a/dkan/modules/contrib/views/tests/views_test.info b/dkan/modules/contrib/views/tests/views_test.info index 592df6f06..c23f6c03d 100644 --- a/dkan/modules/contrib/views/tests/views_test.info +++ b/dkan/modules/contrib/views/tests/views_test.info @@ -5,9 +5,9 @@ core = 7.x dependencies[] = views hidden = TRUE -; Information added by Drupal.org packaging script on 2017-08-16 -version = "7.x-3.17" +; Information added by Drupal.org packaging script on 2017-08-23 +version = "7.x-3.18" core = "7.x" project = "views" -datestamp = "1502903349" +datestamp = "1503495103" diff --git a/dkan/modules/contrib/views/tests/views_test.views_default.inc b/dkan/modules/contrib/views/tests/views_test.views_default.inc index f19f34adf..fa49acb9e 100644 --- a/dkan/modules/contrib/views/tests/views_test.views_default.inc +++ b/dkan/modules/contrib/views/tests/views_test.views_default.inc @@ -1,4 +1,3 @@ - <?php /** diff --git a/dkan/modules/contrib/views/tests/views_view.test b/dkan/modules/contrib/views/tests/views_view.test index d268a0c12..e72e81118 100644 --- a/dkan/modules/contrib/views/tests/views_view.test +++ b/dkan/modules/contrib/views/tests/views_view.test @@ -7,8 +7,11 @@ /** * Views class tests. + * + * @codingStandardsIgnoreStart */ class ViewsViewTest extends ViewsSqlTest { + // @codingStandardsIgnoreEnd public static function getInfo() { return array( 'name' => 'Test the view class', @@ -227,6 +230,8 @@ class ViewsViewTest extends ViewsSqlTest { 'default' => 'default', 'page_1' => 'page_1', ); + + // @codingStandardsIgnoreLine $translatables['test_destroy'] = array( t('Master'), t('more'), @@ -272,6 +277,8 @@ class ViewsViewTest extends ViewsSqlTest { $handler->display->display_options['pager']['type'] = 'full'; $handler->display->display_options['style_plugin'] = 'default'; $handler->display->display_options['row_plugin'] = 'fields'; + + // @codingStandardsIgnoreLine $translatables['test_view_delete'] = array( t('Defaults'), t('more'), diff --git a/dkan/modules/contrib/views/theme/views-more.tpl.php b/dkan/modules/contrib/views/theme/views-more.tpl.php index 0b7080bc5..a2e1703cb 100644 --- a/dkan/modules/contrib/views/theme/views-more.tpl.php +++ b/dkan/modules/contrib/views/theme/views-more.tpl.php @@ -7,13 +7,16 @@ * - $view: The view object. * - $more_url: the url for the more link. * - $link_text: the text for the more link. + * - $new_window: The flag that indicates if link should be opened in a new + * window. * * @ingroup views_templates */ ?> <div class="more-link"> - <a href="<?php print $more_url ?>"> + <a href="<?php print $more_url ?>"<?php if (!empty($new_window)) { ?> target="_blank"<?php + } ?>> <?php print $link_text; ?> </a> </div> diff --git a/dkan/modules/contrib/views/views.info b/dkan/modules/contrib/views/views.info index eabac635a..021c64e9d 100644 --- a/dkan/modules/contrib/views/views.info +++ b/dkan/modules/contrib/views/views.info @@ -328,9 +328,9 @@ files[] = tests/views_cache.test files[] = tests/views_view.test files[] = tests/views_ui.test -; Information added by Drupal.org packaging script on 2017-08-16 -version = "7.x-3.17" +; Information added by Drupal.org packaging script on 2017-08-23 +version = "7.x-3.18" core = "7.x" project = "views" -datestamp = "1502903349" +datestamp = "1503495103" diff --git a/dkan/modules/contrib/views/views.install b/dkan/modules/contrib/views/views.install index a8eeeefd7..35c570c38 100644 --- a/dkan/modules/contrib/views/views.install +++ b/dkan/modules/contrib/views/views.install @@ -252,8 +252,7 @@ function views_schema_6000() { ), ); - // $schema['cache_views_data'] added in views_schema_6006() - + // $schema['cache_views_data'] added in views_schema_6006(). return $schema; } @@ -295,8 +294,10 @@ function views_update_6001() { update_sql("UPDATE {blocks} SET delta = CONCAT(delta, '-block_1') WHERE module = 'views'"); } -// NOTE: Update 6002 removed because it did not always work. -// Update 6004 implements the change correctly. +/* + * NOTE: Update 6002 removed because it did not always work. + * Update 6004 implements the change correctly. + */ /** * Add missing unique key. @@ -487,7 +488,7 @@ function views_update_6011() { */ function views_update_6012() { // There is only one simple query to run. - $update = db_update('blocks') + db_update('blocks') ->condition('module', 'views') ->condition('delta', db_like('-exp-') . '%', 'LIKE') ->fields(array('cache' => DRUPAL_NO_CACHE)); diff --git a/dkan/modules/contrib/views/views.module b/dkan/modules/contrib/views/views.module index d2b582b86..2093aa742 100644 --- a/dkan/modules/contrib/views/views.module +++ b/dkan/modules/contrib/views/views.module @@ -9,6 +9,32 @@ * incoming page and block requests. */ +/** + * Implements hook_help(). + */ +function views_help($path, $arg) { + switch ($path) { + case 'admin/help#views': + $output = ''; + $output .= '<h3>' . t('About') . '</h3>'; + $output .= '<p>' . t('The Views module provides a back end to fetch information from content, user accounts, taxonomy terms, and other entities from the database and present it to the user as a grid, HTML list, table, unformatted list, etc. The resulting displays are known generally as views.') . '</p>'; + $output .= '<p>' . t('For more information, see the <a href="@views" target="blank">online documentation for the Views</a>.', array('@views' => 'https://www.drupal.org/documentation/modules/views')) . '</p>'; + $output .= '<p>' . t('In order to create and modify your own views using the administration and configuration user interface, you will need to enable either the Views UI module in core or a contributed module that provides a user interface for Views. See the <a href="/admin/structure/views">Views UI module help page</a> for more information.') . '</p>'; + + $output .= '<h3>' . t('Uses') . '</h3>'; + $output .= '<dl>'; + $output .= '<dt>' . t('Adding functionality to administrative pages') . '</dt>'; + $output .= '<dd>' . t('The Views module adds functionality to some core administration pages. For example, <em>admin/content</em> uses Views to filter and sort content. With Views uninstalled, <em>admin/content</em> is more limited.') . '</dd>'; + + $output .= '<dt>' . t('Expanding Views functionality') . '</dt>'; + $output .= '<dd>' . t('Contributed projects that support the Views module can be found in the <a href="@views-related" target="blank">online documentation for Views-related contributed modules.</a>.', array('@views-related' => 'https://www.drupal.org/documentation/modules/views/add-ons')) . '</dd>'; + + $output .= '<dt>' . t('Improving table accessibility') . '</dt>'; + $output .= '<dd>' . t('Views tables include semantic markup to improve accessibility. Data cells are automatically associated with header cells through id and header attributes. To improve the accessibility of your tables you can add descriptive elements within the Views table settings. The caption element can introduce context for a table, making it easier to understand. The summary element can provide an overview of how the data has been organized and how to navigate the table. Both the caption and summary are visible by default and also implemented according to HTML5 guidelines.') . '</dd>'; + return $output; + } +} + /** * Advertise the current views api version */ diff --git a/dkan/modules/contrib/views/views.tokens.inc b/dkan/modules/contrib/views/views.tokens.inc index cc45b5cba..bdd0da193 100644 --- a/dkan/modules/contrib/views/views.tokens.inc +++ b/dkan/modules/contrib/views/views.tokens.inc @@ -48,7 +48,6 @@ function views_tokens($type, $tokens, array $data = array(), array $options = ar $url_options['language'] = $options['language']; } $sanitize = !empty($options['sanitize']); - $langcode = isset($options['language']) ? $options['language']->language : NULL; $replacements = array(); diff --git a/dkan/modules/contrib/views/views_ui.info b/dkan/modules/contrib/views/views_ui.info index 6c99a3e6d..21705eae9 100644 --- a/dkan/modules/contrib/views/views_ui.info +++ b/dkan/modules/contrib/views/views_ui.info @@ -4,12 +4,13 @@ package = Views core = 7.x configure = admin/structure/views dependencies[] = views +# @codingStandardsIgnoreLine files[] = views_ui.module files[] = plugins/views_wizard/views_ui_base_views_wizard.class.php -; Information added by Drupal.org packaging script on 2017-08-16 -version = "7.x-3.17" +; Information added by Drupal.org packaging script on 2017-08-23 +version = "7.x-3.18" core = "7.x" project = "views" -datestamp = "1502903349" +datestamp = "1503495103" diff --git a/dkan/modules/contrib/views/views_ui.module b/dkan/modules/contrib/views/views_ui.module index 38fea7d67..c33526a47 100644 --- a/dkan/modules/contrib/views/views_ui.module +++ b/dkan/modules/contrib/views/views_ui.module @@ -5,6 +5,29 @@ * Provide structure for the administrative interface to Views. */ +/** + * Implements hook_help(). + */ +function views_ui_help($path, $arg) { + switch ($path) { + case 'admin/help#views_ui': + $output = ''; + $output .= '<h3>' . t('About') . '</h3>'; + $output .= '<p>' . t('The Views UI module provides an interface for managing views for the Views module. For more information, see the <a href="@views" target="blank">online documentation for the Views UI module</a>.', array('@views' => 'https://www.drupal.org/documentation/modules/views')) . '</p>'; + $output .= '<h3>' . t('Uses') . '</h3>'; + $output .= '<dl>'; + $output .= '<dt>' . t('Creating and managing views') . '</dt>'; + $output .= '<dd>' . t('Views can be created from the <a href="/admin/structure/views">Views list page</a> by using the "Add view" action. Existing views can be managed from the <a href="/admin/structure/views">Views list page</a> by locating the view in the "Enabled" or "Disabled" list and selecting the desired operation action, for example "Edit".') . '</dd>'; + + $output .= '<dt>' . t('Enabling and disabling views') . '</dt>'; + $output .= '<dd>' . t('Views can be enabled or disabled from the <a href="/admin/structure/views">Views list page</a>. To enable a view, find the view within the "Disabled" list and select the "Enable" operation. To disable a view find the view within the "Enabled" list and select the "Disable" operation.') . '</dd>'; + + $output .= '<dt>' . t('Exporting and importing views') . '</dt>'; + $output .= '<dd>' . t('Views can be exported and imported as configuration files by using the Configuration Manager module.') . '</dd>'; + return $output; + } +} + /** * Implements hook_menu(). */ @@ -96,7 +119,6 @@ function views_ui_menu() { ) + $base; // Additional pages for acting on a View. - $items['admin/structure/views/view/%views_ui_cache/break-lock'] = array( 'title' => 'Break lock', 'page callback' => 'drupal_get_form', @@ -143,7 +165,7 @@ function views_ui_menu() { 'type' => MENU_CALLBACK, ) + $base; - // A page in the Reports section to show usage of fields in all views + // A page in the Reports section to show usage of fields in all views. $items['admin/reports/fields/list'] = array( 'title' => 'List', 'type' => MENU_DEFAULT_LOCAL_TASK, @@ -175,9 +197,17 @@ function views_ui_theme() { require_once DRUPAL_ROOT . "/$path/includes/admin.inc"; return array( - // edit a view + // Edit a view. 'views_ui_display_tab_setting' => array( - 'variables' => array('description' => '', 'link' => '', 'settings_links' => array(), 'overridden' => FALSE, 'defaulted' => FALSE, 'description_separator' => TRUE, 'class' => array()), + 'variables' => array( + 'description' => '', + 'link' => '', + 'settings_links' => array(), + 'overridden' => FALSE, + 'defaulted' => FALSE, + 'description_separator' => TRUE, + 'class' => array(), + ), 'template' => 'views-ui-display-tab-setting', 'path' => "$path/theme", ), @@ -198,7 +228,7 @@ function views_ui_theme() { 'file' => 'includes/admin.inc', ), - // list views + // List views. 'views_ui_view_info' => array( 'variables' => array('view' => NULL, 'base' => NULL), 'file' => "includes/admin.inc", @@ -210,7 +240,7 @@ function views_ui_theme() { 'file' => 'includes/admin.inc', ), - // tab themes + // Tab themes. 'views_tabset' => array( 'variables' => array('tabs' => NULL), ), @@ -222,15 +252,19 @@ function views_ui_theme() { 'file' => 'includes/admin.inc', ), - - // On behalf of a plugin + // On behalf of a plugin. 'views_ui_style_plugin_table' => array( 'render element' => 'form', ), // When previewing a view. 'views_ui_view_preview_section' => array( - 'variables' => array('view' => NULL, 'section' => NULL, 'content' => NULL, 'links' => ''), + 'variables' => array( + 'view' => NULL, + 'section' => NULL, + 'content' => NULL, + 'links' => '', + ), ), // Generic container wrapper, to use instead of theme_container when an id @@ -274,10 +308,10 @@ function views_ui_edit_page_title($view) { /** * Specialized menu callback to load a view and check its locked status. * - * @param $name + * @param string $name * The machine name of the view. * - * @return + * @return object * The view object, with a "locked" property indicating whether or not * someone else is already editing the view. */ @@ -315,6 +349,8 @@ function views_ui_cache_load($name) { } /** + * Cache set. + * * Specialized cache function to add a flag to our view, include an appropriate * include, and cache more easily. */ @@ -324,7 +360,8 @@ function views_ui_cache_set(&$view) { return; } ctools_include('object-cache'); - $view->changed = TRUE; // let any future object know that this view has changed. + // Let any future object know that this view has changed. + $view->changed = TRUE; if (isset($view->current_display)) { // Add the knowledge of the changed display, too. @@ -332,7 +369,7 @@ function views_ui_cache_set(&$view) { unset($view->current_display); } - // Unset handlers; we don't want to write these into the cache + // Unset handlers; we don't want to write these into the cache. unset($view->display_handler); unset($view->default_display); $view->query = NULL; @@ -343,8 +380,9 @@ function views_ui_cache_set(&$view) { ctools_object_cache_set('view', $view->name, $view); } - /** + * Default Load. + * * Specialized menu callback to load a view that is only a default * view. */ @@ -364,7 +402,21 @@ function views_ui_preprocess_views_view(&$vars) { $view = $vars['view']; if (!empty($view->views_ui_context) && module_exists('contextual')) { $view->hide_admin_links = TRUE; - foreach (array('title', 'header', 'exposed', 'rows', 'pager', 'more', 'footer', 'empty', 'attachment_after', 'attachment_before') as $section) { + + $sections = array( + 'title', + 'header', + 'exposed', + 'rows', + 'pager', + 'more', + 'footer', + 'empty', + 'attachment_after', + 'attachment_before', + ); + + foreach ($sections as $section) { if (!empty($vars[$section])) { $vars[$section] = array( '#theme' => 'views_ui_view_preview_section', @@ -392,40 +444,49 @@ function template_preprocess_views_ui_view_preview_section(&$vars) { $vars['title'] = t('Title'); $links = views_ui_view_preview_section_display_category_links($vars['view'], 'title', $vars['title']); break; + case 'header': $vars['title'] = t('Header'); $links = views_ui_view_preview_section_handler_links($vars['view'], $vars['section']); break; + case 'empty': $vars['title'] = t('No results behavior'); $links = views_ui_view_preview_section_handler_links($vars['view'], $vars['section']); break; + case 'exposed': // @todo Sorts can be exposed too, so we may need a better title. $vars['title'] = t('Exposed Filters'); $links = views_ui_view_preview_section_display_category_links($vars['view'], 'exposed_form_options', $vars['title']); break; + case 'rows': // @todo The title needs to depend on what is being viewed. $vars['title'] = t('Content'); $links = views_ui_view_preview_section_rows_links($vars['view']); break; + case 'pager': $vars['title'] = t('Pager'); $links = views_ui_view_preview_section_display_category_links($vars['view'], 'pager_options', $vars['title']); break; + case 'more': $vars['title'] = t('More'); $links = views_ui_view_preview_section_display_category_links($vars['view'], 'use_more', $vars['title']); break; + case 'footer': $vars['title'] = t('Footer'); $links = views_ui_view_preview_section_handler_links($vars['view'], $vars['section']); break; + case 'attachment_before': // @todo: Add links to the attachment configuration page. $vars['title'] = t('Attachment before'); break; + case 'attachment_after': // @todo: Add links to the attachment configuration page. $vars['title'] = t('Attachment after'); @@ -454,18 +515,18 @@ function template_preprocess_views_ui_view_preview_section(&$vars) { function theme_views_ui_view_preview_section($vars) { return '<h1 class="section-title">' . $vars['title'] . '</h1>' . $vars['links'] - . '<div class="preview-section">'. $vars['content'] . '</div>'; + . '<div class="preview-section">' . $vars['content'] . '</div>'; } /** * Returns contextual links for each handler of a certain section. * + * @param string $title + * Add a bolded title of this section. + * * @TODO * Bring in relationships * Refactor this function to use much stuff of views_ui_edit_form_get_bucket. - * - * @param $title - * Add a bolded title of this section. */ function views_ui_view_preview_section_handler_links($view, $type, $title = FALSE) { $display = $view->display_handler->display; @@ -516,8 +577,9 @@ function views_ui_view_preview_section_display_category_links($view, $type, $tit * Returns all contextual links for the main content part of the view. */ function views_ui_view_preview_section_rows_links($view) { - $display = $view->display_handler->display; + $links = array(); + $links = array_merge($links, views_ui_view_preview_section_handler_links($view, 'filter', TRUE)); $links = array_merge($links, views_ui_view_preview_section_handler_links($view, 'field', TRUE)); $links = array_merge($links, views_ui_view_preview_section_handler_links($view, 'sort', TRUE)); @@ -527,7 +589,6 @@ function views_ui_view_preview_section_rows_links($view) { return $links; } - /** * Implments hook_ctools_plugin_directory(). * @@ -542,10 +603,10 @@ function views_ui_ctools_plugin_directory($module, $plugin) { /** * Fetch metadata on a specific views ui wizard plugin. * - * @param $wizard_type + * @param string $wizard_type * Name of a wizard, or name of a base table. * - * @return + * @return array * An array with information about the requested wizard type. */ function views_ui_get_wizard($wizard_type) { @@ -571,14 +632,14 @@ function views_ui_get_wizard($wizard_type) { /** * Fetch metadata for all content_type plugins. * - * @return + * @return array * An array of arrays with information about all available views wizards. */ function views_ui_get_wizards() { ctools_include('plugins'); $wizard_plugins = ctools_get_plugins('views_ui', 'views_wizard'); $wizard_tables = array(); - foreach ($wizard_plugins as $name => $info) { + foreach ($wizard_plugins as $info) { $wizard_tables[$info['base_table']] = TRUE; } $base_tables = views_fetch_base_tables(); @@ -599,7 +660,7 @@ function views_ui_get_wizards() { /** * Helper function to define the default values for a Views wizard plugin. * - * @return + * @return array * An array of defaults for a views wizard. */ function views_ui_views_wizard_defaults() { @@ -607,7 +668,7 @@ function views_ui_views_wizard_defaults() { // The children may, for example, be a different variant for each node type. 'get children' => NULL, 'get child' => NULL, - // title and base table must be populated. They are empty here just + // Title and base table must be populated. They are empty here just // so they are documented. 'title' => '', 'base_table' => NULL, @@ -636,6 +697,9 @@ function views_ui_ctools_plugin_type() { ); } +/** + * Get form wizard instance. + */ function views_ui_get_form_wizard_instance($wizard) { if (isset($wizard['form_wizard_class']['class'])) { $class = $wizard['form_wizard_class']['class']; @@ -705,7 +769,7 @@ function views_ui_contextual_links_suppress($set = NULL) { * @see views_ui_contextual_links_suppress_pop() */ function views_ui_contextual_links_suppress_push() { - views_ui_contextual_links_suppress(((int) views_ui_contextual_links_suppress())+1); + views_ui_contextual_links_suppress(((int) views_ui_contextual_links_suppress()) + 1); } /** @@ -714,13 +778,16 @@ function views_ui_contextual_links_suppress_push() { * @see views_ui_contextual_links_suppress_push() */ function views_ui_contextual_links_suppress_pop() { - views_ui_contextual_links_suppress(((int) views_ui_contextual_links_suppress())-1); + views_ui_contextual_links_suppress(((int) views_ui_contextual_links_suppress()) - 1); } /** - * Menu callback; handles AJAX form submissions similar to ajax_form_callback(), but can be used for uncached forms. + * Menu callback. * - * ajax_form_callback(), the menu callback for the system/ajax path, requires + * Handles AJAX form submissions similar to ajax_form_callback(), but can be + * used for uncached forms. + * + * Ajax_form_callback(), the menu callback for the system/ajax path, requires * the form to be retrievable from the form cache, because it lacks a trusted * $form_id argument with which to call drupal_retrieve_form(). When AJAX is * wanted on a non-cacheable form, #ajax['path'] can be set to a path whose @@ -760,16 +827,18 @@ function views_ui_ajax_get_form($form_id) { return $callback($form, $form_state); } } -// @todo move these when we can +/** + * @todo move these when we can + */ /** * Helper function to get a list of paths assigned to a view. * - * @param $view + * @param object $view * The view. * - * @return + * @return array * An array of links to this view's display paths. */ function _views_ui_get_paths($view) { @@ -778,14 +847,14 @@ function _views_ui_get_paths($view) { $all_paths[] = t('Edit this view to add a display.'); } else { - $view->init_display(); // Make sure all the handlers are set up + // Make sure all the handlers are set up. + $view->init_display(); foreach ($view->display as $display) { if (!empty($display->handler) && $display->handler->has_path()) { $one_path = $display->handler->get_option('path'); - if (empty($path_sort)) { - $path_sort = strtolower($one_path); - } + if (empty($view->disabled) && strpos($one_path, '%') === FALSE) { + // @codingStandardsIgnoreLine $all_paths[] = l('/' . $one_path, $one_path); } else { @@ -801,10 +870,10 @@ function _views_ui_get_paths($view) { /** * Helper function to get a list of displays included in a view. * - * @param $view + * @param object $view * The view. * - * @return + * @return array * An array of display types that this view includes. */ function _views_ui_get_displays_list($view) { @@ -823,21 +892,22 @@ function _views_ui_get_displays_list($view) { } /** - * This is part of a patch to address a jQueryUI bug. The bug is responsible - * for the inability to scroll a page when a modal dialog is active. If the content - * of the dialog extends beyond the bottom of the viewport, the user is only able - * to scroll with a mousewheel or up/down keyboard keys. + * This is part of a patch to address a jQueryUI bug. + * + * The bug is responsible + * for the inability to scroll a page when a modal dialog is active. If the + * content of the dialog extends beyond the bottom of the viewport, the user is + * only able to scroll with a mousewheel or up/down keyboard keys. * * @see http://bugs.jqueryui.com/ticket/4671 * @see https://bugs.webkit.org/show_bug.cgi?id=19033 * @see /js/jquery.ui.dialog.patch.js * @see /js/jquery.ui.dialog.min.js * - * The javascript patch overwrites the $.ui.dialog.overlay.events object to remove - * the mousedown, mouseup and click events from the list of events that are bound - * in $.ui.dialog.overlay.create. + * The javascript patch overwrites the $.ui.dialog.overlay.events object to + * remove the mousedown, mouseup and click events from the list of events that + * are bound in $.ui.dialog.overlay.create. */ - function views_ui_library_alter(&$libraries, $module) { if ($module == 'system' && isset($libraries['ui.dialog'])) { // Only apply the fix, if we don't have an up to date jQueryUI version. diff --git a/dkan/modules/contrib/visualization_entity/modules/uuidreference_select/uuidreference_select.info b/dkan/modules/contrib/visualization_entity/modules/uuidreference_select/uuidreference_select.info index a492f7a49..0a1d595a5 100644 --- a/dkan/modules/contrib/visualization_entity/modules/uuidreference_select/uuidreference_select.info +++ b/dkan/modules/contrib/visualization_entity/modules/uuidreference_select/uuidreference_select.info @@ -2,3 +2,7 @@ name = UUID Reference Select core = 7.x dependencies[] = uuidreference + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/modules/visualization_entity_charts_dkan/visualization_entity_charts_dkan.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/modules/visualization_entity_charts_dkan/visualization_entity_charts_dkan.info index 1e3d0ef3b..0d1b32c3f 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/modules/visualization_entity_charts_dkan/visualization_entity_charts_dkan.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/modules/visualization_entity_charts_dkan/visualization_entity_charts_dkan.info @@ -2,6 +2,7 @@ name = Visualization Entity Charts DKAN description = Add charts to dkan core = 7.x package = Other + dependencies[] = dkan_dataset dependencies[] = dkan_datastore dependencies[] = features @@ -10,3 +11,7 @@ features[features_api][] = api:2 features[field_instance][] = visualization-ve_chart-field_uuid_resource features_exclude[dependencies][uuidreference] = uuidreference project path = profiles/dkan/modules/contrib/visualization_entity_charts/modules + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.info index f74de7089..5aaa5d870 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.info @@ -2,7 +2,6 @@ name = Visualization Entity Charts description = Create charts using nvd3 core = 7.x package = Data Visualization -version = 7.x-1.x-dev dependencies[] = chosen dependencies[] = ctools diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.infoi b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.infoi new file mode 100644 index 000000000..54be65950 --- /dev/null +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_charts/visualization_entity_charts.infoi @@ -0,0 +1,4 @@ + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_choropleth_bundle/visualization_entity_choropleth_bundle.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_choropleth_bundle/visualization_entity_choropleth_bundle.info index 872a9a5b4..f4f1e4482 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_choropleth_bundle/visualization_entity_choropleth_bundle.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_choropleth_bundle/visualization_entity_choropleth_bundle.info @@ -2,7 +2,6 @@ name = Visualization Entity Choropleth Bundle description = Create choropleth map visualizations using leaflet core = 7.x package = Data Visualization -version = 7.x-1.x-dev dependencies[] = list dependencies[] = text @@ -35,3 +34,7 @@ features[field_instance][] = visualization-choropleth_visualization-field_ve_geo features[field_instance][] = visualization-choropleth_visualization-field_ve_map_column mtime = 1420866437 project path = sites/all/modules/nucivic/visualization_entity/modules + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_embed/visualization_entity_embed.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_embed/visualization_entity_embed.info index f5f7cd212..5849db1ad 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_embed/visualization_entity_embed.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_embed/visualization_entity_embed.info @@ -2,6 +2,9 @@ name = Visualization Entity Embed description = Create visualization panes for panels package = Data Visualization core = 7.x -version = 7.x-1.x-dev dependencies[] = visualization_entity + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_geojson_bundle/visualization_entity_geojson_bundle.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_geojson_bundle/visualization_entity_geojson_bundle.info index bdfd21517..e571413ec 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_geojson_bundle/visualization_entity_geojson_bundle.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_geojson_bundle/visualization_entity_geojson_bundle.info @@ -2,7 +2,6 @@ name = Visualization Entity Geojson Bundle description = Plot simple geojson data on a map. Expiremental. core = 7.x package = Data Visualization -version = 7.x-1.x-dev dependencies[] = libraries dependencies[] = geo_file_entity @@ -11,5 +10,8 @@ dependencies[] = visualization_entity features[eck_bundle][] = visualization_geojson_visualization features[features_api][] = api:2 features[field_instance][] = visualization-geojson_visualization-field_uuid_resource -mtime = 1421033934 project path = sites/all/modules/nucivic/visualization_entity/modules + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_recline_field_reference/visualization_entity_recline_field_reference.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_recline_field_reference/visualization_entity_recline_field_reference.info index 9757f82e3..fa2adbe8f 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_recline_field_reference/visualization_entity_recline_field_reference.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_recline_field_reference/visualization_entity_recline_field_reference.info @@ -2,7 +2,6 @@ name = Visualization Entity Recline Field Reference description = DKAN Integration module. Provides a field to visualization entity to link DKAN resources. See http://github.com/NuCivic/dkan for more information. core = 7.x package = Data Visualization -version = 7.x-1.x-dev dependencies[] = entityreference dependencies[] = dkan_dataset_content_types @@ -11,5 +10,8 @@ dependencies[] = uuidreference dependencies[] = uuidreference_select features[features_api][] = api:2 features[field_base][] = field_uuid_resource -mtime = 1426610294 project path = profiles/dkan/modules/contrib + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_visualization_contributor_role/visualization_entity_visualization_contributor_role.info b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_visualization_contributor_role/visualization_entity_visualization_contributor_role.info index f8449805f..02c95c208 100644 --- a/dkan/modules/contrib/visualization_entity/modules/visualization_entity_visualization_contributor_role/visualization_entity_visualization_contributor_role.info +++ b/dkan/modules/contrib/visualization_entity/modules/visualization_entity_visualization_contributor_role/visualization_entity_visualization_contributor_role.info @@ -1,7 +1,6 @@ name = Visualization Entity Visualization Contributor Role core = 7.x package = Data Visualization -version = 7.x-1.x-dev dependencies[] = entity dependencies[] = features @@ -15,3 +14,7 @@ features[rules_config][] = rules_nucivic_data_portal_administrator_gets_the_visu features[user_role][] = visualization contributor features_exclude[dependencies][role_export] = role_export project path = sites/all/modules/nucivic/visualization_entity/modules + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/visualization_entity.info b/dkan/modules/contrib/visualization_entity/visualization_entity.info index 359ccb0ee..01043617b 100644 --- a/dkan/modules/contrib/visualization_entity/visualization_entity.info +++ b/dkan/modules/contrib/visualization_entity/visualization_entity.info @@ -2,10 +2,14 @@ name = Visualization Entity description = Base module to create visualizations core = 7.x package = Data Visualization -version = 7.x-1.x-dev + dependencies[] = eck dependencies[] = features features[eck_entity_type][] = visualization features[features_api][] = api:2 mtime = 1421114365 project path = sites/all/modules/nucivic + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/contrib/visualization_entity/visualization_entity.make b/dkan/modules/contrib/visualization_entity/visualization_entity.make index b52d215c7..161637678 100644 --- a/dkan/modules/contrib/visualization_entity/visualization_entity.make +++ b/dkan/modules/contrib/visualization_entity/visualization_entity.make @@ -1,3 +1,4 @@ +--- core: 7.x api: '2' projects: @@ -8,60 +9,61 @@ projects: subdir: contrib download: type: git - url: 'https://github.com/NuCivic/geo_file_entity.git' - branch: master + url: https://github.com/GetDKAN/geo_file_entity.git + revision: be45046e636cfebbbb53a314c0f3693fc2e03d39 type: module uuidreference: subdir: contrib version: 1.x-dev patch: - 238875: 'https://www.drupal.org/files/issues/uuidreference-alternative_to_module_invoke_all_implementation_for_query_alter_hook-238875-0.patch' + 238875: https://www.drupal.org/files/issues/uuidreference-alternative_to_module_invoke_all_implementation_for_query_alter_hook-238875-0.patch libraries: chroma: download: type: file - url: 'https://github.com/gka/chroma.js/zipball/master' + url: https://github.com/gka/chroma.js/zipball/11ef08f6922900f2e7aa04c3058808a39f1317ca numeral: download: type: file - url: 'https://github.com/adamwdraper/Numeral-js/zipball/master' + url: https://github.com/adamwdraper/Numeral-js/zipball/7de892ffb438af6e63b9c4f6aff0c9bc3932f09f recline_choropleth: download: type: file - url: 'https://github.com/NuCivic/recline.view.choroplethmap.js/archive/master.zip' + url: https://github.com/GetDKAN/recline.view.choroplethmap.js/archive/402c573a2254bc30cc10041a57be6ed93be590b9.zip leaflet_zoomtogeometries: download: type: file - url: 'https://github.com/NuCivic/leaflet.map.zoomToGeometries.js/zipball/master' + url: https://github.com/GetDKAN/leaflet.map.zoomToGeometries.js/zipball/08c19374b6f74a9efde979013c3c16266ab2b505 nvd3: download: type: git - url: 'https://github.com/novus/nvd3.git' + url: https://github.com/novus/nvd3.git tag: v1.8.5 d3: download: type: git - url: 'https://github.com/d3/d3.git' + url: https://github.com/d3/d3.git tag: v3.5.17 gdocs: download: type: git - url: 'https://github.com/okfn/recline.backend.gdocs.git' + url: https://github.com/okfn/recline.backend.gdocs.git revision: e81bb237759353932834a38a0ec810441e0ada10 lodash_data: download: type: git - url: 'https://github.com/NuCivic/lodash.data.git' - branch: master + url: https://github.com/GetDKAN/lodash.data.git + revision: 0dbe0701003b8a45037ab5fada630db2dbf75d9d spectrum: download: type: git - url: 'https://github.com/bgrins/spectrum.git' + url: https://github.com/bgrins/spectrum.git tag: 1.8.0 + revision: 9e04e5882de98cb9f909300b035d0f38c058c2fb destination: libraries directory_name: bgrins-spectrum reclineViewNvd3: download: type: git - url: 'https://github.com/NuCivic/recline.view.nvd3.js.git' - branch: master + url: https://github.com/GetDKAN/recline.view.nvd3.js.git + revision: 7541d7b829e0a725be31790b6457d6068619c2e2 diff --git a/dkan/modules/contrib/workbench_moderation/PATCHES.txt b/dkan/modules/contrib/workbench_moderation/PATCHES.txt index 0e15b3485..4870ef67c 100644 --- a/dkan/modules/contrib/workbench_moderation/PATCHES.txt +++ b/dkan/modules/contrib/workbench_moderation/PATCHES.txt @@ -1,4 +1,5 @@ The following patches have been applied to this project: - https://www.drupal.org/files/issues/workbench_moderation-install-warnings-2360973-3.patch +- https://www.drupal.org/files/issues/1512442-20-workbench_moderation-fix_access_check.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/dkan/modules/contrib/workbench_moderation/workbench_moderation.module b/dkan/modules/contrib/workbench_moderation/workbench_moderation.module index c28261b6d..15a81064c 100644 --- a/dkan/modules/contrib/workbench_moderation/workbench_moderation.module +++ b/dkan/modules/contrib/workbench_moderation/workbench_moderation.module @@ -450,38 +450,50 @@ function workbench_moderation_node_access($node, $op, $account) { /** * Custom access handler for node operations. * - * @param $op - * The operation being requested. - * @param $node + * @param string $op + * The operation being requested. Must be one of 'view', 'update', 'view + * revisions', 'view history' or 'unpublish'. + * @param object $node * The node being acted upon. + * @param object $account + * Optional user account to check. If omitted will default to the currently + * logged in user. * - * @return - * Boolean TRUE or FALSE. + * @return bool + * TRUE if the user has access, FALSE otherwise. */ -function _workbench_moderation_access($op, $node) { +function _workbench_moderation_access($op, $node, $account = NULL) { global $user; + // Default to the logged in user. + $account = empty($account) ? $user : $account; + // If we do not control this node type, deny access. if (workbench_moderation_node_type_moderated($node->type) === FALSE) { return FALSE; } - $access = TRUE; - // The user must be able to view the moderation history. - $access &= user_access('view moderation history'); + $access = user_access('view moderation history', $account); - // The user must be able to edit this node. - $access &= node_access('update', $node); + if ($op == 'update' || $op == 'unpublish') { + // The user must be able to edit this node. + $access &= node_access('update', $node, $account); + } + + if ($op == 'view revisions' || $op == 'view history') { + // The user must be able to see revisions. + _node_revision_access($node, 'view', $account); + } if ($op == 'unpublish') { // workbench_moderation_states_next() checks transition permissions. - $next_states = workbench_moderation_states_next(workbench_moderation_state_published(), $user, $node); + $next_states = workbench_moderation_states_next(workbench_moderation_state_published(), $account, $node); $access &= !empty($next_states); } // Allow other modules to change our rule set. - drupal_alter('workbench_moderation_access', $access, $op, $node); + drupal_alter('workbench_moderation_access', $access, $op, $node, $account); return $access; } diff --git a/dkan/modules/contrib/workbench_moderation/workbench_moderation.node.inc b/dkan/modules/contrib/workbench_moderation/workbench_moderation.node.inc index 9afba9845..1cdfa699e 100644 --- a/dkan/modules/contrib/workbench_moderation/workbench_moderation.node.inc +++ b/dkan/modules/contrib/workbench_moderation/workbench_moderation.node.inc @@ -170,7 +170,7 @@ function workbench_moderation_node_history_view($node) { } // Provide a courtesy edit operation if this is the current revision. - if ($revision->vid == $node->workbench_moderation['current']->vid) { + if ($revision->vid == $node->workbench_moderation['current']->vid && _workbench_moderation_access('update', $node)) { // The edit operation's default link title, "Edit draft", matches // the logic tree in workbench_moderation_edit_tab_title(). $edit_operation_title = t('Edit draft'); diff --git a/dkan/modules/dkan/dkan_data_dashboard/dkan_data_dashboard.info b/dkan/modules/dkan/dkan_data_dashboard/dkan_data_dashboard.info index ddd1fb25a..915c1ec6e 100644 --- a/dkan/modules/dkan/dkan_data_dashboard/dkan_data_dashboard.info +++ b/dkan/modules/dkan/dkan_data_dashboard/dkan_data_dashboard.info @@ -30,3 +30,7 @@ features[variable][] = panelizer_node:data_dashboard_default features[views_view][] = data_dashboards features[views_view][] = front_page_dashboards_list features_exclude[dependencies][dkan_topics] = dkan_topics + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_data_story/README.md b/dkan/modules/dkan/dkan_data_story/README.md index 1e6b8951e..de5980b2b 100644 --- a/dkan/modules/dkan/dkan_data_story/README.md +++ b/dkan/modules/dkan/dkan_data_story/README.md @@ -1,6 +1,6 @@ # DKAN Data Story -DKAN Data Story adds a new content type for "data stories" to DKAN. Data Stories can have [complex layouts](http://docs.getdkan.com/dkan-documentation/dkan-users-guide/customize-dkan-pages-layouts-and-components-using-panels) using [Panels](http://www.drupal.org/project/panels) and [Panelizer](https://www.drupal.org/project/panelizer) and contain embedded [visualiztions](https://github.com/NuCivic/visualization_entity) and other elements. +DKAN Data Story adds a new content type for "data stories" to DKAN. Data Stories can have [complex layouts](http://docs.getdkan.com/dkan-documentation/dkan-users-guide/customize-dkan-pages-layouts-and-components-using-panels) using [Panels](http://www.drupal.org/project/panels) and [Panelizer](https://www.drupal.org/project/panelizer) and contain embedded [visualiztions](https://github.com/GetDKAN/visualization_entity) and other elements. Module includes: diff --git a/dkan/modules/dkan/dkan_data_story/dkan_data_story.info b/dkan/modules/dkan/dkan_data_story/dkan_data_story.info index 5123c4b09..e407d27f1 100644 --- a/dkan/modules/dkan/dkan_data_story/dkan_data_story.info +++ b/dkan/modules/dkan/dkan_data_story/dkan_data_story.info @@ -55,3 +55,7 @@ features_exclude[dependencies][image] = image features_exclude[dependencies][strongarm] = strongarm features_exclude[dependencies][taxonomy] = taxonomy no autodetect = 1 + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_dataset/README.md b/dkan/modules/dkan/dkan_dataset/README.md index b1a49b222..8449e6f6c 100644 --- a/dkan/modules/dkan/dkan_dataset/README.md +++ b/dkan/modules/dkan/dkan_dataset/README.md @@ -18,7 +18,7 @@ See installation instructions here: http://docs.getdkan.com/dkan-documentation/d ## Contributing -We are accepting issues in the dkan issue thread only -> https://github.com/NuCivic/dkan/issues -> Please label your issue as **"component: dkan_dataset"** after submitting so we can identify problems and feature requests faster. +We are accepting issues in the dkan issue thread only -> https://github.com/GetDKAN/dkan/issues -> Please label your issue as **"component: dkan_dataset"** after submitting so we can identify problems and feature requests faster. If you can, please cross reference commits in this repo to the corresponding issue in the dkan issue thread. You can do that easily adding this text: diff --git a/dkan/modules/dkan/dkan_dataset/dkan_dataset.forms.inc b/dkan/modules/dkan/dkan_dataset/dkan_dataset.forms.inc index c68e38d28..1f341757f 100644 --- a/dkan/modules/dkan/dkan_dataset/dkan_dataset.forms.inc +++ b/dkan/modules/dkan/dkan_dataset/dkan_dataset.forms.inc @@ -342,9 +342,32 @@ function dkan_dataset_form_alter(&$form, &$form_state, $form_id) { $form['field_link_api'][$field_link_api_langcode][0]['#title'] = ''; $form['field_link_remote_file'][$field_link_remote_file_langcode][0]['#title'] = ''; - // Resources inherit groups from parent dataset. - // Hide field so users cannot manually modify that information. - $form['og_group_ref']['#access'] = FALSE; + // If the resource is not assigned to a dataset, and not step two of a multi-part dataset form, + // allow the user to edit the groups field. + $params = drupal_get_query_parameters(); + if (empty($form['field_dataset_ref'][$field_dataset_ref_langcode][0]['target_id']['#default_value']) && + empty($params['dataset'])) { + $form['og_group_ref']['#access'] = TRUE; + // Get a list of groups the user is a member of. + $groups = dkan_dataset_get_group_options(); + + if (count($groups)) { + // Get langcode for og_group_ref. + $og_group_ref_langcode = dkan_dataset_form_field_language($form, 'og_group_ref'); + // Set up group options. + $form['og_group_ref'][$og_group_ref_langcode]['#options'] = $groups; + // Modify title of Publisher field. + $form['og_group_ref'][$og_group_ref_langcode]['#title'] = t('Groups'); + } + else { + // If the user is not assigned to any groups then hide the fields. + $form['og_group_ref']['#access'] = FALSE; + } + } + else { + // If the resource belongs to a dataset, do not show the groups field. + $form['og_group_ref']['#access'] = FALSE; + } if ($query = drupal_get_query_parameters()) { if (isset($query['dataset'])) { @@ -494,13 +517,13 @@ function dkan_dataset_dataset_node_form_validate($form, &$form_state) { $field_data_dictionary_langcode = dkan_dataset_form_field_language($form, 'field_data_dictionary'); $data_dictionary = $form_state['values']['field_data_dictionary'][$field_data_dictionary_langcode][0]['value']; - // In order to pass strict POD validation the 'data dictionary' value must be NULL, + // To pass strict POD validation the 'data dictionary' value must be NULL, // a valid URL or redacted. if (isset($data_dictionary) && $data_dictionary != '') { $is_valid_URL = valid_url($data_dictionary, TRUE); $is_redacted = preg_match('/^(\\[\\[REDACTED).*?(\\]\\])$/', $data_dictionary); - // If a value is present (not NULL) then chech if it is a valid URL or redacted. + // If a value is present, then check if it is a valid URL or redacted. if (!$is_valid_URL && !$is_redacted) { form_set_error('field_data_dictionary', t('Data dictionary should be empty, a valid URL or redacted.')); } diff --git a/dkan/modules/dkan/dkan_dataset/dkan_dataset.info b/dkan/modules/dkan/dkan_dataset/dkan_dataset.info index 57aabc86c..866a97291 100644 --- a/dkan/modules/dkan/dkan_dataset/dkan_dataset.info +++ b/dkan/modules/dkan/dkan_dataset/dkan_dataset.info @@ -33,3 +33,7 @@ features[ctools][] = views:views_default:3.0 features[features_api][] = api:2 features[variable][] = pathauto_node_dataset_pattern features[variable][] = pathauto_node_resource_pattern + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_dataset/dkan_dataset.module b/dkan/modules/dkan/dkan_dataset/dkan_dataset.module index f83936db6..31f5b3fe5 100644 --- a/dkan/modules/dkan/dkan_dataset/dkan_dataset.module +++ b/dkan/modules/dkan/dkan_dataset/dkan_dataset.module @@ -53,6 +53,7 @@ function dkan_dataset_menu() { 'type' => MENU_LOCAL_TASK, 'file' => 'dkan_dataset.pages.inc', 'file path' => $path, + 'weight' => 3, ); $items['node/%node/dataset/download'] = array( 'title' => 'Download Dataset', diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.features.field_instance.inc b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.features.field_instance.inc index c066a38a6..c948d39b6 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.features.field_instance.inc +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.features.field_instance.inc @@ -1830,7 +1830,7 @@ uk-ogl|UK Open Government Licence (OGL)', 'widget' => array( 'module' => 'og', 'settings' => array(), - 'type' => 'og_complex', + 'type' => 'options_select', 'weight' => 6, ), ); diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.info b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.info index 6cf592a20..372123155 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.info +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_content_types/dkan_dataset_content_types.info @@ -125,3 +125,7 @@ features_exclude[dependencies][og] = og features_exclude[dependencies][dkan_featured_topics] = dkan_featured_topics features_exclude[field_base][og_group_ref] = og_group_ref features_exclude[field_instance][node-dataset-og_group_ref] = node-dataset-og_group_ref + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_groups/dkan_dataset_groups.info b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_groups/dkan_dataset_groups.info index 79e1cce3e..85faad1e4 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_groups/dkan_dataset_groups.info +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_groups/dkan_dataset_groups.info @@ -77,3 +77,7 @@ features[views_view][] = front_page_group_grid features[views_view][] = front_page_group_list features[views_view][] = group_block features[views_view][] = groups_page + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/README.md b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/README.md index 1456b20e9..355e30ddc 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/README.md +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/README.md @@ -45,13 +45,13 @@ Session authentication is enabled by default. With session authentication an ini Token authenticaion is not currently available out of the box. However, it can be enabled by adding the <a href="https://www.drupal.org/project/services_token_access">Services Token Access</a> module to your site. This is less secure but is easier for community members to use, and may be added to the DKAN distribution in a future release. ### Authentication Permissions -The permissions with which a user is granted depend on the user role. User roles and permissions are easily configured in the user administration screen at ``admin/people``, and DKAN comes with a number of pre-configured default roles via the [DKAN Permissions](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) module. +The permissions with which a user is granted depend on the user role. User roles and permissions are easily configured in the user administration screen at ``admin/people``, and DKAN comes with a number of pre-configured default roles via the [DKAN Permissions](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_permissions) module. ## Examples Below you can find examples in PHP for the most common use cases, using session authentication. -For an example of a fully-functional python-based client to the DKAN REST API, see the [pydkan](https://github.com/NuCivic/pydkan) project. +For an example of a fully-functional python-based client to the DKAN REST API, see the [pydkan](https://github.com/GetDKAN/pydkan) project. #### How to Log In and get the Session Cookie @@ -193,7 +193,7 @@ curl_setopt($curl, CURLOPT_FAILONERROR, TRUE); $response = curl_exec($curl); ``` -## Testing in the terminal +## Testing in the terminal If you want to quickly test that the functionality is working, you can run the following commands from a terminal. @@ -269,9 +269,9 @@ Example response: "field_contact_email": { "und": [ { - "value": "datademo@nucivic.com", + "value": "datademo@example.com", "format": null, - "safe_value": "datademo@nucivic.com" + "safe_value": "datademo@example.com" } ] }, @@ -472,7 +472,7 @@ curl -X PUT -i -H "Content-type: application/json" -H "X-CSRF-Token: 8RniaOCwrsK }' ``` -Because the REST API runs input through the dataset node form for validation, the data structure may differ for different fields. For instance, because it is a "Select or license" field, the structure for changing the License field on a dataset to "cc-nc" (Creative Commons Non-Commercial) would be: +Because the REST API runs input through the dataset node form for validation, the data structure may differ for different fields. For instance, because it is a "Select or license" field, the structure for changing the License field on a dataset to "cc-nc" (Creative Commons Non-Commercial) would be: ``` { @@ -487,7 +487,7 @@ See the [Services documentation on custom fields](https://www.drupal.org/node/13 This is a two-step process with the API: 1. Create the resource node. - + ```sh curl -X POST -i -H "Content-type: application/json" -H "X-CSRF-Token: 8RniaOCwrsK8Mvue0al_C6EMAraTg26jzklDdLLgvns" -b cookies.txt -X POST http://demo.getdkan.com/api/dataset/node -d '{ "title":"A resource created via the DKAN REST API", @@ -511,7 +511,7 @@ the value expected from the dataset entry form, with "45" being the resource nod #### Query for url/values of previous revision of file. -The assumption in this example is that the file is stored remotely and we are looking to get the link as it was set in a previous revision of the resource node. +The assumption in this example is that the file is stored remotely and we are looking to get the link as it was set in a previous revision of the resource node. Version (revision) are tracked via the VID Durpal identifier. We can query a specific node revision (for example version id 89) using the vid as parameter: diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/dkan_dataset_rest_api.info b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/dkan_dataset_rest_api.info index b651da93e..307076adf 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/dkan_dataset_rest_api.info +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_rest_api/dkan_dataset_rest_api.info @@ -10,3 +10,7 @@ features[ctools][] = services:services:3 features[features_api][] = api:2 features[services_endpoint][] = dkan_dataset_api mtime = 1417998121 + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_voting/dkan_dataset_voting.info b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_voting/dkan_dataset_voting.info index 08b029b6f..ec822c9fa 100644 --- a/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_voting/dkan_dataset_voting.info +++ b/dkan/modules/dkan/dkan_dataset/modules/dkan_dataset_voting/dkan_dataset_voting.info @@ -17,3 +17,7 @@ features[field_instance][] = comment-comment_node_dataset-field_rating features[field_instance][] = node-dataset-field_rating features[variable][] = ajax_comments_node_types features[variable][] = ajax_comments_notify + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_datastore/dkan_datastore.info b/dkan/modules/dkan/dkan_datastore/dkan_datastore.info index 23796c234..4eaf330ad 100644 --- a/dkan/modules/dkan/dkan_datastore/dkan_datastore.info +++ b/dkan/modules/dkan/dkan_datastore/dkan_datastore.info @@ -22,3 +22,7 @@ features[views_view][] = datasets files[] = includes/Datastore.inc files[] = includes/DkanDatastore.inc files[] = includes/DkanDatastoreFastImport.inc + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_api/dkan_datastore_api.info b/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_api/dkan_datastore_api.info index 42f503c41..84ebc2715 100644 --- a/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_api/dkan_datastore_api.info +++ b/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_api/dkan_datastore_api.info @@ -3,3 +3,7 @@ description = Access datastore info over json. package = DKAN API core = 7.x dependencies[] = services + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_fast_import/dkan_datastore_fast_import.info b/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_fast_import/dkan_datastore_fast_import.info index 6ff38cb81..5f5db9900 100644 --- a/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_fast_import/dkan_datastore_fast_import.info +++ b/dkan/modules/dkan/dkan_datastore/modules/dkan_datastore_fast_import/dkan_datastore_fast_import.info @@ -3,3 +3,7 @@ description = Enable fast import for resources core = 7.x package = DKAN dependencies[] = dkan_datastore + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md index c9e144242..2c94aa1cd 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/README.md @@ -1,7 +1,7 @@ # DKAN Default Content DKAN Default Content is the module that holds all the default content delivered with DKAN. All content is -imported through the _fixtures_ that can be found inside the /data directory. [DKAN Fixtures](https://github.com/NuCivic/dkan/tree/7.x-1.x/modules/dkan/dkan_fixtures) was used to generate +imported through the _fixtures_ that can be found inside the /data directory. [DKAN Fixtures](https://github.com/GetDKAN/dkan/tree/7.x-1.x/modules/dkan/dkan_fixtures) was used to generate the default content fixtures and to migrate all the data using the migration clases that are provided. ## Updating the fixtures diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=afghanistan-election-districts.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=afghanistan-election-districts.json index 084db7a85..ac28504fa 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=afghanistan-election-districts.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=afghanistan-election-districts.json @@ -4,7 +4,7 @@ "id": "c9e2d352-e24c-4051-9158-f48127aa5692", "name": "afghanistan-election-districts", "title": "Afghanistan Election Districts", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/odc-by/", @@ -68,7 +68,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Gray, Stefanie", "field_data_dictionary": null, "field_frequency": "5", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=crime-data-ten-most-populous-cities-us.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=crime-data-ten-most-populous-cities-us.json index b2ef25059..db9b2cbe3 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=crime-data-ten-most-populous-cities-us.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=crime-data-ten-most-populous-cities-us.json @@ -5,7 +5,7 @@ "name": "crime-data-ten-most-populous-cities-us", "title": "Crime Data for the Ten Most Populous Cities in the U.S.", "author": "Federal Bureau of Investigations", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/odc-odbl/", @@ -95,7 +95,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Gray, Stefanie", "field_data_dictionary": null, "field_frequency": "3", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=gold-prices-london-1950-2008-monthly.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=gold-prices-london-1950-2008-monthly.json index 45b0711e4..a63343ffa 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=gold-prices-london-1950-2008-monthly.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=gold-prices-london-1950-2008-monthly.json @@ -4,7 +4,7 @@ "id": "5dc1cfcf-8028-476c-a020-f58ec6dd621c", "name": "gold-prices-london-1950-2008-monthly", "title": "Gold Prices in London 1950-2008 (Monthly)", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/odc-pddl/", @@ -54,7 +54,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Gray, Stefanie", "field_data_dictionary": null, "field_frequency": null, diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=london-deprivation-index.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=london-deprivation-index.json index c0f2025f1..eff9fc2e3 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=london-deprivation-index.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=london-deprivation-index.json @@ -5,7 +5,7 @@ "name": "london-deprivation-index", "title": "London Deprivation Index", "author": "Department for Communities and Local Government", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/odc-odbl/", @@ -76,7 +76,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Gray, Stefanie", "field_data_dictionary": null, "field_frequency": "3", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=state-workforce-generation-2011-2015.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=state-workforce-generation-2011-2015.json index 8d63bdfa4..ee3965e50 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=state-workforce-generation-2011-2015.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=state-workforce-generation-2011-2015.json @@ -4,7 +4,7 @@ "id": "95f8eac4-fd1f-4b35-8472-5c87e9425dfa", "name": "state-workforce-generation-2011-2015", "title": "State Workforce by Generation (2011-2015)", - "author_email": "stefanie@nucivic.com", + "author_email": "stefanie@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/gfdl/", @@ -93,7 +93,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "stefanie@nucivic.com", + "field_contact_email": "stefanie@example.com", "field_contact_name": "Stefanie Gray", "field_data_dictionary": null, "field_frequency": "4", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=us-national-foreclosure-statistics-january-2012.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=us-national-foreclosure-statistics-january-2012.json index 4ec03192b..054bde5e6 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=us-national-foreclosure-statistics-january-2012.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=us-national-foreclosure-statistics-january-2012.json @@ -4,7 +4,7 @@ "id": "74c06c81-9fe0-439c-aba9-cd5c980a6df4", "name": "us-national-foreclosure-statistics-january-2012", "title": "US National Foreclosure Statistics January 2012", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/cc-zero/", @@ -54,7 +54,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Gray, Stefanie", "field_data_dictionary": null, "field_frequency": "3", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=wisconsin-polling-places.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=wisconsin-polling-places.json index 6fc98d8b6..6c764a12c 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=wisconsin-polling-places.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/package_show%3Fid=wisconsin-polling-places.json @@ -5,7 +5,7 @@ "name": "wisconsin-polling-places", "title": "Wisconsin Polling Places", "author": "Wisconsin Board of Elections", - "author_email": "datademo@nucivic.com", + "author_email": "datademo@example.com", "maintainer": "DKAN", "maintainer_email": "admin@example.com", "license_title": "http://opendefinition.org/licenses/cc-by/", @@ -54,7 +54,7 @@ ], "dkan_additional_fields": { "field_additional_info": [], - "field_contact_email": "datademo@nucivic.com", + "field_contact_email": "datademo@example.com", "field_contact_name": "Couch, Aaron", "field_data_dictionary": null, "field_frequency": "5", diff --git a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/page_show%3Fid=f2e6698b-4406-47ca-9cf4-af8016ffa411.json b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/page_show%3Fid=f2e6698b-4406-47ca-9cf4-af8016ffa411.json index 8a20e6056..66fdc72bb 100644 --- a/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/page_show%3Fid=f2e6698b-4406-47ca-9cf4-af8016ffa411.json +++ b/dkan/modules/dkan/dkan_fixtures/modules/dkan_default_content/data/page_show%3Fid=f2e6698b-4406-47ca-9cf4-af8016ffa411.json @@ -80,45 +80,6 @@ "locks": [], "uuid": "4a84a380-14b1-444a-b471-2b462c7dc790" }, - { - "panel": "header", - "type": "fieldable_panels_pane", - "subtype": "uuid:6b8529c2-2958-495e-bb67-5596fe1d17ec", - "shown": "1", - "access": [], - "configuration": { - "view_mode": "full" - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "0", - "locks": [], - "uuid": "6b8529c2-2958-495e-bb67-5596fe1d17ec", - "fpp_data": { - "title": "", - "bundle": "text", - "link": "0", - "path": "", - "reusable": "0", - "admin_title": "", - "admin_description": "", - "category": "Reusable Content", - "view_access": null, - "edit_access": null, - "uuid": "6b8529c2-2958-495e-bb67-5596fe1d17ec", - "language": "", - "field_basic_text_text": [ - { - "value": "<iframe width=\"90%\" height=\"400px\" src=\"https://www.youtube.com/embed/lU-TSKEaMKI\" frameborder=\"0\" allowfullscreen></iframe> ", - "format": "html", - "safe_value": "<iframe width=\"90%\" height=\"400px\" src=\"https://www.youtube.com/embed/lU-TSKEaMKI\" frameborder=\"0\" allowfullscreen=\"\"></iframe>" - } - ], - "rdf_mapping": [] - } - }, { "panel": "header", "type": "custom", @@ -126,69 +87,9 @@ "shown": "1", "access": [], "configuration": { - "admin_title": "What's in the demo?", - "title": "What's in the demo?", - "body": "The best way to learn about DKAN and what it's capable of is by using it yourself. We created this demo site so that you can get a feel for what a DKAN site looks like and imagine what your DKAN site could be. \n\n\nEverything here was created with DKAN features from a personalized Home page to [Data Stories](/stories) and [Dashboards](/dashboards).\n\n\nThis site shows off our favorite DKAN features, but there's even more behind the scenes. [Set up your own open-source DKAN instance](https://github.com/NuCivic/dkan) or [contact us for our enterprise-level services](mailto:contact@nucivic.com). ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "1", - "locks": [], - "uuid": "ed56ce7e-efd1-40c9-b826-071fbbd30cef" - }, - { - "panel": "column1", - "type": "fieldable_panels_pane", - "subtype": "uuid:c2781828-d9d0-46dc-8224-f1efa9846ba1", - "shown": "1", - "access": [], - "configuration": { - "view_mode": "full" - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "0", - "locks": [], - "uuid": "c2781828-d9d0-46dc-8224-f1efa9846ba1", - "fpp_data": { + "admin_title": "Link to getdkan.org", "title": "", - "bundle": "text", - "link": "0", - "path": "", - "reusable": "0", - "admin_title": "", - "admin_description": "", - "category": "Reusable Content", - "view_access": null, - "edit_access": null, - "uuid": "c2781828-d9d0-46dc-8224-f1efa9846ba1", - "language": "", - "field_basic_text_text": [ - { - "value": "<center><img src=\"/profiles/dkan/themes/nuboot_radix/assets/images/ncd.gif\" alt=\"Computer screen with DKAN installation\"></center>", - "format": "html", - "safe_value": "</p>\n<p><center><img src=\"/profiles/dkan/themes/nuboot_radix/assets/images/ncd.gif\" alt=\"Computer screen with DKAN installation\" /></center></p>\n" - } - ], - "rdf_mapping": [] - } - }, - { - "panel": "column2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "What is DKAN, how does it work?", - "title": "What is DKAN, how does it work?", - "body": "DKAN does a lot! It's designed to meet the complex challenges of launching and maintaining an open data program as a government administrator. \n\nDKAN is an open-source data management platform. It treats data as content so that you can easily publish, manage, and maintain your open data no matter the size of your team or the level of technical expertise. \n\nWith DKAN you can feel confident that the data you publish meets federal standards and best practices without losing any of the flexibility and sustainability that comes with an open-source product. ", + "body": "Learn more about DKAN: <a href='http://getdkan.org'>getdkan.org</a>", "format": "html", "substitute": 1 }, @@ -196,351 +97,9 @@ "style": [], "css": [], "extras": [], - "position": "0", - "locks": [], - "uuid": "c224948f-eb0d-4533-b934-596029447fce" - }, - { - "panel": "column1", - "type": "fieldable_panels_pane", - "subtype": "uuid:c0702ca4-6d3c-4d7c-b9ab-ce66f6d67887", - "shown": "1", - "access": [], - "configuration": { - "view_mode": "full" - }, - "cache": [], - "style": [], - "css": [], - "extras": [], "position": "1", "locks": [], - "uuid": "c0702ca4-6d3c-4d7c-b9ab-ce66f6d67887", - "fpp_data": { - "title": "", - "bundle": "image", - "link": "0", - "path": "", - "reusable": "0", - "admin_title": "", - "admin_description": "", - "category": "Reusable Content", - "view_access": null, - "edit_access": null, - "uuid": "c0702ca4-6d3c-4d7c-b9ab-ce66f6d67887", - "language": "", - "field_basic_image_caption": [ - { - "value": null, - "summary": null, - "format": null - } - ], - "field_basic_image_image": [ - { - "alt": "", - "title": "", - "height": "120", - "width": "120", - "description": null, - "link": null, - "type": "image", - "image_path": "files/page/LCr5fi0_4.png" - } - ], - "rdf_mapping": [] - } - }, - { - "panel": "column1", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Storytelling and Insights", - "title": "Storytelling and Insights", - "body": "DKAN's data [storytelling](/stories) and [insights](/search/type/data_dashboard) features add value to open data efforts by enabling and empowering content creation in an easy-to-use, streamlined way.\n\nDKAN offers a combination of [signature data visualization tools](/crime-americas-top-10-most-populous-cities), integrations with [external data visualization tools](/dynamic-transportation-visualizations), and story content, to create Data Stories and Dashboards, through a user-friendly interface, that deliver the message behind data. Built on traditional data portal features, DKAN offers a market-standards compliant experience that increases the user value of any open data effort.\n\nExplore the features to see how DKAN uses data to tell stories and highlight insights. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "2", - "locks": [], - "uuid": "6747719a-d11c-4809-94e7-a3feb44f3e08" - }, - { - "panel": "column1", - "type": "fieldable_panels_pane", - "subtype": "uuid:23ec78df-8f73-46b4-b03f-d94da7bda5f5", - "shown": "1", - "access": [], - "configuration": { - "view_mode": "full" - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "3", - "locks": [], - "uuid": "23ec78df-8f73-46b4-b03f-d94da7bda5f5", - "fpp_data": { - "title": "", - "bundle": "image", - "link": "0", - "path": "", - "reusable": "0", - "admin_title": "", - "admin_description": "", - "category": "Reusable Content", - "view_access": null, - "edit_access": null, - "uuid": "23ec78df-8f73-46b4-b03f-d94da7bda5f5", - "language": "", - "field_basic_image_caption": [ - { - "value": null, - "summary": null, - "format": null - } - ], - "field_basic_image_image": [ - { - "alt": "", - "title": "", - "height": "120", - "width": "120", - "description": null, - "link": null, - "type": "image", - "image_path": "files/page/pjKIPkG_3.png" - } - ], - "rdf_mapping": [] - } - }, - { - "panel": "column1", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Data Publishing and Management", - "title": "Data Publishing and Management", - "body": "As data is released at increasing rate there is a growing need to compile that data in a central location so citizens can engage with and share that information. Managing huge amounts of data can be a daunting task, especially when it involves several agencies. \n\nOn DKAN, publishing and managing data is made simple with ready-to-use features that serve common Open Data needs. \n \nCheck out the features below to learn more about how DKAN makes data publishing and management simple. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "4", - "locks": [], - "uuid": "fa435b1e-9345-43f5-9d05-9f33d1addbd4" - }, - { - "panel": "column1", - "type": "fieldable_panels_pane", - "subtype": "uuid:3fa5cb60-41e5-450d-903a-32fa1646b276", - "shown": "1", - "access": [], - "configuration": { - "view_mode": "full" - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "5", - "locks": [], - "uuid": "3fa5cb60-41e5-450d-903a-32fa1646b276", - "fpp_data": { - "title": "", - "bundle": "image", - "link": "0", - "path": "", - "reusable": "0", - "admin_title": "", - "admin_description": "", - "category": "Reusable Content", - "view_access": null, - "edit_access": null, - "uuid": "3fa5cb60-41e5-450d-903a-32fa1646b276", - "language": "", - "field_basic_image_caption": [ - { - "value": null, - "summary": null, - "format": null - } - ], - "field_basic_image_image": [ - { - "alt": "", - "title": "", - "height": "120", - "width": "120", - "description": null, - "link": null, - "type": "image", - "image_path": "files/page/jfiHlsa_3.png" - } - ], - "rdf_mapping": [] - } - }, - { - "panel": "column1", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Modular Customization", - "title": "Modular Customization", - "body": "DKAN is ready-to-use to jump-start any open data effort with its suite of tools and standard features. DKAN is both powerful and flexible, and it includes several features to highlight the personality of each unique site. \n\nThese features include customizing user experience, discovery of data, emphasize citizen engagement and connection on the public-facing side. \n\nBehind the scenes, DKAN enables custom user roles and group features to make content quality and management a streamlined process for technical and nontechnical users alike. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "6", - "locks": [], - "uuid": "e951bbc0-25dc-4166-8ab0-643f29e9cf23" - }, - { - "panel": "column2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Storytelling and Insights Features", - "title": "Storytelling and Insights Features", - "body": "<h3><a href=\"/stories\">Data Stories</a></h3>\nA straightforward format for putting text and visuals together. Use data stories to tell simple, yet moving stories about the impact of opening data. \n\n<h3><a href=\"/search/type/data_dashboard\">Data Dashboards</a></h3>\nDashboards bring content to one place to draw clear connections and meaning--truly unlocking the power of open data. Use Dashboards for flexible content curation. \n\n<h3>Data Previews</h3>\nBuilt-in Data Preview tools show users a basic visual of a resource as a map, chart, or grid. Have more complex data? Use DKAN External Previews to explore data resources with CartoDB, ArcGIS, and Tableau. \n\n<h3>Data Visualizations</h3>\nData visualizations can make data compelling and straightforward. Use DKAN Visualizations to create charts, graphs, and maps to connect your data to citizens. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "1", - "locks": [], - "uuid": "db6320a3-b990-4a5a-919c-9d55673f9c43" - }, - { - "panel": "column2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Data Publishing and Management Features", - "title": "Data Publishing and Management Features", - "body": "<h3>Resources</h3>\nDKAN can host millions of files of data as it is released and regenerated. Files and APIs are uploaded to DKAN as a \"resource\". Use resources for a large range of file formats including csv, html, xls, json, xlsx, doc, docx, rdf, txt, jpg, png, gif, tiff, pdf, odf, ods, odt, tsv, geojson and xml.\n\n<h3><a href=\"/search/type/dataset\">Datasets</a></h3>\nDKAN sites bring disparate data into a single, central location making it easier to find and navigate. Use Datasets as \"containers\" to group related pieces of data.\n\n<h3>Metadata</h3>\nDKAN Metadata fields are designed to be compliant with Open Data Initiatives like Project Open Data. Use Metadata to be compliant and make your data more accessible to developers through robust APIs. \n\n<h3>DKAN Datastore</h3>\nLarge files can be a challenge both to manage and make accessible for a wider audience. Use the DKAN Datastore to support your large files, improve the ability to preview data, and make data accessible through the DKAN Datastore API. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "2", - "locks": [], - "uuid": "71f9a7ce-d5d4-4f6f-9c8c-2f17606e12dd" - }, - { - "panel": "column2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Modular Customization Features", - "title": "Modular Customization Features", - "body": "<h3>User Management</h3>\nIt takes a team of people working together by playing individual roles that contribute to a larger effort to make an open data effort successful. Use DKAN User Management to balance between empowering a team and maintaining quality control. \n\n<h3><a href=\"/groups\">Groups</a></h3>\nGroups are a powerful yet easy-to-use way of organizing site content as well as users contributing data to your DKAN site. Use Groups on DKAN to organize datasets by author. \n\n<h3>Branding</h3>\nDKAN's default theme is designed with responsive and accessible appearance elements for an optimal user experience. But with just a few clicks, DKAN becomes custom-fit to the unique look and feel of any organization. Use DKAN branding features for greater brand consistency and recognition.\n\n<h3>Site Navigation</h3>\nDKAN Pages, Topics, and Faceted Search all provide a seamless experience for site visitors as they navigate through thousands of resources. Use DKAN site navigation features to connect citizens to the right data in the right time. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "3", - "locks": [], - "uuid": "ce0b4e74-ec33-4347-a132-628e2daac398" - }, - { - "panel": "secondcolumn1", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "What's DKAN for?", - "title": "What's DKAN for?", - "body": "DKAN is about making it easier to make your data open and accessible. We believe that data is one of the most powerful assets an organization can unlock--especially government. Open data has the potential to create economic opportunity, help make better decisions, and improve program outcomes. \n\nIt's quickly becoming the standard practice of all levels of government, but data and content management can present a daunting challenge. DKAN, makes it easy to be compliant with Open Data initiatives, maintain data quality, and create engaging sites for citizens to interact with and connect with data. ", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "0", - "locks": [], - "uuid": "e45889c4-5bef-46a6-b7d5-a28b62c8f768" - }, - { - "panel": "secondcolumn2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Notes to developers", - "title": "", - "body": "<img src=\"/profiles/dkan/themes/nuboot_radix/assets/images/octo-cat.png\" align=\"left\" alt=\"GitHub Octocat\" width=\"90\" height=\"84\" hspace=\"18\">Are you a developer and want to use and/or contribute to DKAN? DKAN is open source and accepts contributions\u2013check out our <a href=\"https://github.com/NuCivic/dkan\">public GitHub.</a>", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "0", - "locks": [], - "uuid": "152429db-26a4-4562-bf28-6d6117c31c8b" - }, - { - "panel": "secondcolumn2", - "type": "custom", - "subtype": "custom", - "shown": "1", - "access": [], - "configuration": { - "admin_title": "Link to demo site", - "title": "", - "body": "<img src=\"/profiles/dkan/themes/nuboot_radix/assets/images/madison-polling.png\" align=\"left\" alt=\"DKAN demo on computer\" width=\"125\" height=\"100\"><br>Want DKAN\u2019s enterprise solution? <a href=\"http://demo.getdkan.com/\">Test drive DKAN</a> and <a href=\"mailto:contact@nucivic.com\">contact our team for more information.</a>", - "format": "html", - "substitute": 1 - }, - "cache": [], - "style": [], - "css": [], - "extras": [], - "position": "1", - "locks": [], - "uuid": "5ba8d84b-b162-4140-9dbd-004bb2e5f47d" + "uuid": "ed56ce7e-efd1-40c9-b826-071fbbd30cef" } ], "panelizer_entity": { @@ -559,4 +118,4 @@ } } } -} \ No newline at end of file +} diff --git a/dkan/modules/dkan/dkan_harvest/dkan_harvest.drush.inc b/dkan/modules/dkan/dkan_harvest/dkan_harvest.drush.inc index 60a07f28a..eb09df788 100644 --- a/dkan/modules/dkan/dkan_harvest/dkan_harvest.drush.inc +++ b/dkan/modules/dkan/dkan_harvest/dkan_harvest.drush.inc @@ -9,14 +9,14 @@ * Implements hook_drush_command(). */ function dkan_harvest_drush_command() { - // Run harvest cache operation on the source passed as argument. + // Run harvest operation on the source passed as argument. $items['dkan-harvest'] = array( 'aliases' => array('dkan-h', 'dkan-harvest-run', 'dkan-hr'), - 'description' => 'Run a harvest (cache and migration) on a single source or all the available sources if no argument is provided.', + 'description' => 'Run a harvest (cache and migration) operation on a single source or all the available sources if no argument is provided.', 'callback' => 'dkan_harvest_drush_command_harvest', 'arguments' => array( 'source_machine_name' => - 'The source machine name to run the harvest caching on', + 'The source machine name to run the harvest operation on', ), 'options' => array( 'skiphash' => 'Skip hash checking and update all the datasets available in the source.', @@ -30,22 +30,22 @@ function dkan_harvest_drush_command() { // Run harvest cache operation on the source passed as argument. $items['dkan-harvest-cache'] = array( 'aliases' => array('dkan-hc', 'dkan-cache-harvested-data', 'dkan-chd'), - 'description' => 'Run a harvest cache on a single source or all the available sources if the argument is not provided.', + 'description' => 'Run a cache operation on a single source or all the available sources if the argument is not provided.', 'callback' => 'dkan_harvest_drush_command_cache', 'arguments' => array( 'source_machine_name' => - 'The source machine name to run the harvest caching on', + 'The source machine name to run the cache operation on', ), 'drupal dependencies' => array('dkan_harvest'), ); - // Run harvest cache operation on the source passed as argument. + // Run harvest migrate operation on the source passed as argument. $items['dkan-harvest-migrate'] = array( 'aliases' => array('dkan-hm', 'dkan-migrate-cached-data', 'dkan-mcd'), - 'description' => 'Run a harvest migrate on a single source or all the available sources if the argument is not provided.', + 'description' => 'Run a migrate operation on a single source or all the available sources if the argument is not provided.', 'callback' => 'dkan_harvest_drush_command_migrate', 'arguments' => array( - 'source_machine_name' => 'The source machine name to run the harvest migration on. If not provided run the harvest ', + 'source_machine_name' => 'The source machine name to run the migration on', ), 'options' => array( 'skiphash' => 'Skip hash checking and update all the datasets available in the source.', @@ -56,13 +56,13 @@ function dkan_harvest_drush_command() { 'drupal dependencies' => array('dkan_harvest'), ); - // Run harvest cache operation on the source passed as argument. + // Run harvest rollback operation on the source passed as argument. $items['dkan-harvest-rollback'] = array( 'aliases' => array('dkan-hr'), 'description' => 'Run a harvest rollback on a single source.', 'callback' => 'dkan_harvest_drush_command_rollback', 'arguments' => array( - 'source_machine_name' => 'The source machine name to run the harvest migration on. If not provided run the harvest ', + 'source_machine_name' => 'The source machine name to run the rollback on.', ), 'options' => array( 'limit' => 'Limit on the length of each migration. Check migrate doc for more about this option.', @@ -72,7 +72,7 @@ function dkan_harvest_drush_command() { 'drupal dependencies' => array('dkan_harvest'), ); - // Run harvest cache operation on the source passed as argument. + // Displays the list of available sources. $items['dkan-harvest-status'] = array( 'aliases' => array('dkan-hs'), 'description' => 'Status Harvest Sources available', @@ -80,24 +80,26 @@ function dkan_harvest_drush_command() { 'drupal dependencies' => array('dkan_harvest'), ); - // Run harvest cache operation on the source passed as argument. + // Deregister the migration associated with a source. $items['dkan-harvest-deregister'] = array( 'aliases' => array('dkan-hdr'), - 'description' => 'Run a harvest rollback on a single source.', + 'description' => 'Deregister the migration associated with the specified source', 'callback' => 'dkan_harvest_drush_command_deregister', 'arguments' => array( - 'source_machine_name' => 'The source machine name to run the harvest migration on. If not provided run the harvest ', + 'source_machine_name' => 'The source machine name', ), 'options' => array(), 'drupal dependencies' => array('dkan_harvest'), ); + /* NOT IMPLEMENTED YET */ $items['orphaned-resources-count'] = array( 'description' => "Count resources that are not linked to datasets.", 'drupal dependencies' => array('dkan_dataset'), 'aliases' => array('dkan-or-count', 'orphaned-resources'), ); + /* NOT IMPLEMENTED YET */ $items['orphaned-resources-delete'] = array( 'description' => "Count resources that are not linked to datasets.", 'drupal dependencies' => array('dkan_dataset'), @@ -117,7 +119,7 @@ function dkan_harvest_drush_command() { * * Optional harvest source machine name. */ -function dkan_harvest_drush_command_harvest($source_machine_name = '') { +function dkan_harvest_drush_command_harvest($source_machine_name = NULL) { dkan_harvest_drush_command_cache($source_machine_name); dkan_harvest_drush_command_migrate($source_machine_name); } @@ -129,20 +131,23 @@ function dkan_harvest_drush_command_harvest($source_machine_name = '') { * * Source machine name to cache. */ -function dkan_harvest_drush_command_cache($source_machine_name) { +function dkan_harvest_drush_command_cache($source_machine_name = NULL) { + $sources = array(); if (isset($source_machine_name)) { - if ($source = new HarvestSource($source_machine_name)) { - drush_log("Running the harvest migration on " . $source_machine_name, 'notice'); - return dkan_harvest_cache_sources(array($source), microtime()); - } - else { - drush_log("No source with machine name " . $source_machine_name . " found.", 'error'); + $source = dkan_harvest_get_harvestsource($source_machine_name); + if (!$source) { + return FALSE; } + $sources[] = $source; } else { drush_log("Running the harvest caching on all the available sources.", 'notice'); $sources = dkan_harvest_sources_definition(); - dkan_harvest_cache_sources($sources); + } + + foreach ($sources as $source) { + // Cache source. + dkan_harvest_cache_source($source); } } @@ -153,7 +158,7 @@ function dkan_harvest_drush_command_cache($source_machine_name) { * * Source machine name to migrate. */ -function dkan_harvest_drush_command_migrate($source_machine_name) { +function dkan_harvest_drush_command_migrate($source_machine_name = NULL) { $supported_options = array('limit', 'skiphash', 'instrument', 'idlist'); $options = array(); @@ -180,7 +185,10 @@ function dkan_harvest_drush_command_migrate($source_machine_name) { $sources = dkan_harvest_sources_definition(); } - dkan_harvest_migrate_sources($sources, $options); + foreach ($sources as $source) { + // Migrate source. + dkan_harvest_migrate_source($source, $options); + } // Print instrument info if set. global $_migrate_track_memory, $_migrate_track_timer; @@ -269,7 +277,7 @@ function dkan_harvest_drush_command_status() { * * Source machine name to migrate. */ -function dkan_harvest_drush_command_deregister($source_machine_name) { +function dkan_harvest_drush_command_deregister($source_machine_name = NULL) { // Gather harvest migration options. $options = array(); $supported_options = array(); @@ -282,7 +290,7 @@ function dkan_harvest_drush_command_deregister($source_machine_name) { } if (!isset($source_machine_name)) { - $message = t("No source to deregister"); + $message = t("A harvest source needs to be specified."); drush_log($message, 'error'); return FALSE; } @@ -392,10 +400,7 @@ function dkan_harvest_get_harvestsource($source_machine_name) { $source = new HarvestSource($source_machine_name); } catch (Exception $exception) { - $message = dt("No source with machine name %source_machine_name found.", - array( - '%source_machine_name' => $source_machine_name, - )); + $message = t("No source with machine name ") . $source_machine_name . t(" found."); return drush_set_error(NULL, $message); } diff --git a/dkan/modules/dkan/dkan_harvest/dkan_harvest.migrate.inc b/dkan/modules/dkan/dkan_harvest/dkan_harvest.migrate.inc index 01b327b14..1359fd721 100644 --- a/dkan/modules/dkan/dkan_harvest/dkan_harvest.migrate.inc +++ b/dkan/modules/dkan/dkan_harvest/dkan_harvest.migrate.inc @@ -59,6 +59,13 @@ class HarvestMigration extends MigrateDKAN { */ protected $dkanHarvestDisabledRules = array(); + /** + * Save migration results to be used on logs later. + * + * @var array + */ + protected $migrationResults = array(); + /** * General initialization of a HarvestMigration object. */ @@ -140,10 +147,98 @@ class HarvestMigration extends MigrateDKAN { $this->dkanHarvestSourceNode = NULL; } + // Disable the logging system of the migration module. + // The module logs every time the processImport() method is called but we + // want to log only once, when the full migration event finishes. If we don't + // do that then we are going to get one log record per batch chunk. + $this->logHistory = FALSE; + + // Initialize results. + $this->migrationResults = array( + 'process_type' => 0, + 'start_time' => 0, + 'end_time' => 0, + 'initial_highwater' => 0, + 'final_highwater' => 0, + 'datasets_on_source' => 0, + 'datasets_processed' => 0, + 'datasets_created' => 0, + 'datasets_updated' => 0, + 'datasets_failed' => 0, + 'datasets_orphaned' => 0 + ); + // Add Field mappings. $this->setFieldMappings(); } + /** + * Returns migration results. + */ + public function getResults() { + return $this->migrationResults; + } + + /** + * Implementation of MigrationBase::beginProcess(). + */ + protected function beginProcess($newStatus) { + + // Begin process. + parent::beginProcess($newStatus); + + // If an import if being run then update the results. + if ($this->processing) { + $this->migrationResults['process_type'] = $newStatus; + $this->migrationResults['start_time'] = round(microtime(TRUE) * 1000); + $this->migrationResults['initial_highwater'] = $this->getHighwater(); + $this->migrationResults['datasets_on_source'] = $this->sourceCount(); + } + } + + /** + * Logs a migration event. + */ + public function logEvent($event_data) { + // First add record on the 'migrate_log' table. + try { + $this->logID = db_insert('migrate_log') + ->fields(array( + 'machine_name' => $this->machineName, + 'process_type' => $event_data['process_type'], + 'starttime' => $event_data['start_time'], + 'endtime' => $event_data['end_time'], + 'initialHighwater' => $event_data['initial_highwater'], + 'finalHighwater' => $event_data['final_highwater'], + 'numprocessed' => $event_data['datasets_processed'] + )) + ->execute(); + } + catch (PDOException $e) { + Migration::displayMessage(t('Could not log event for migration !name', + array('!name' => $this->machineName))); + } + + // Then add a record on the log table that's specific for this migration. + // Use the same migration log ID that was used on the 'migrate_log' table. + try { + db_merge($this->map->getLogTable()) + ->key(array('mlid' => $this->logID)) + ->fields(array( + 'created' => $event_data['datasets_created'], + 'updated' => $event_data['datasets_updated'], + 'unchanged' => $event_data['datasets_unchanged'], + 'failed' => $event_data['datasets_failed'], + 'orphaned' => $event_data['datasets_orphaned'], + )) + ->execute(); + } + catch (PDOException $e) { + Migration::displayMessage(t('Could not log event for migration !name', + array('!name' => $this->machineName))); + } + } + /** * Runs before an import starts. * @@ -201,17 +296,9 @@ class HarvestMigration extends MigrateDKAN { * Add support for harvest migration specific checks and options. */ public function processImport(array $options = array()) { - if ($this->getStatus() == MigrationBase::STATUS_IDLE) { - // Add any extra Harvest Migration Arguments. The arguments array should - // already exist. - $this->arguments = array_merge($this->arguments, $options); - - parent::processImport($options); - } - else { - $this->resetStatus(); - $this->processImport($options); - } + // Add any extra Harvest Migration Arguments. + $this->arguments = array_merge($this->arguments, $options); + return parent::processImport($options); } /** @@ -619,31 +706,6 @@ class HarvestMigration extends MigrateDKAN { $this->postImportRestoredSource(); $this->postImportMissingSource(); - // Update the migratino log table with the status of the import. This needs - // to happen after self::postImportMissingSource() and - // self::postImportRestoredSource() methodes. - // Check the logHistory flag to make sure we do have the logID key. - if ($this->logHistory) { - try { - db_merge($this->map->getLogTable()) - ->key(array('mlid' => $this->logID)) - ->fields(array( - 'created' => $this->destination->getCreated(), - 'updated' => $this->destination->getUpdated(), - // Number of source datasets mines the number of processed - // datasets. - 'unchanged' => $this->sourceCount() - $this->total_processed, - 'failed' => $this->errorCount(), - 'orphaned' => $this->map->orphanedCount(), - )) - ->execute(); - } - catch (PDOException $e) { - Migration::displayMessage(t('Could not log items status on migration !name', - array('!name' => $this->machineName))); - } - } - // Restore any rule disabled in the preImport call. This is restored last // in the postImport call to make sure any processing done is done while // the rules are disabled as well. @@ -661,6 +723,17 @@ class HarvestMigration extends MigrateDKAN { self::displayMessage($message, 'notice'); } + // If an import if being run then update the results. + if ($this->processing) { + $this->migrationResults['end_time'] = round(microtime(TRUE) * 1000); + $this->migrationResults['final_highwater'] = $this->getHighwater(); + $this->migrationResults['datasets_processed'] = $this->total_processed; + $this->migrationResults['datasets_created'] = $this->destination->getCreated(); + $this->migrationResults['datasets_updated'] = $this->destination->getUpdated(); + $this->migrationResults['datasets_failed'] = $this->errorCount(); + $this->migrationResults['datasets_orphaned'] = $this->map->orphanedCount(); + } + migrate_instrument_stop('HarvestMigration->postImport'); } diff --git a/dkan/modules/dkan/dkan_harvest/dkan_harvest.module b/dkan/modules/dkan/dkan_harvest/dkan_harvest.module index c7fe82be1..23cee427a 100644 --- a/dkan/modules/dkan/dkan_harvest/dkan_harvest.module +++ b/dkan/modules/dkan/dkan_harvest/dkan_harvest.module @@ -22,6 +22,8 @@ define('DKAN_HARVEST_DELETE_CONTENT', 0); define('DKAN_HARVEST_UNPUBLISH_CONTENT', 1); define('DKAN_HARVEST_ORPHAN_CONTENT', 2); +define('DKAN_HARVEST_BATCH_ITEMS_PER_CHUNK', 5); + /** * Implements hook_theme(). */ @@ -248,7 +250,7 @@ function dkan_harvest_page_preview($node) { // The cache directory does not exist. // Perform a cache operation. $batch_operations = array(); - $batch_operations[] = array('dkan_harvest_cache_source_node_batch', array($node)); + $batch_operations[] = array('dkan_harvest_cache_source_batch_op', array($harvestSource)); // Setup batch process. $batch = array( @@ -260,7 +262,6 @@ function dkan_harvest_page_preview($node) { ); batch_set($batch); batch_process(); - } else { // The cache directory exists. Load the table. @@ -294,16 +295,325 @@ function dkan_harvest_page_preview($node) { } /** - * Batch function to cache a source from source. + * Batch operation callback to update the cache on a source. * - * @param object $node - * Harvest source node object. + * @param object $harvest_source + * The HarvestSource object to cache. + * @param int $harvest_updatetime + * Timestamp of the time to use as the update time. * @param array $context - * Batch context. + * The context associated with the batch process. */ -function dkan_harvest_cache_source_node_batch($node, array &$context) { - $harvest_source = HarvestSource::getHarvestSourceFromNode($node); - dkan_harvest_cache_sources(array($harvest_source)); +function dkan_harvest_cache_source_batch_op($harvest_source, $harvest_updatetime = NULL, array &$context = array()) { + $harvest_cache = $harvest_source->cache($harvest_updatetime); + + if (!$harvest_cache) { + $message = t('Harvest cache for source "@source_name" failed!', + array( + '@source_name' => $harvest_source->label, + )); + dkan_harvest_log($message, 'error'); + } + else { + $message = t('Harvest cache for source "@source_name" completed (processed @cache_processed, failed @cache_failed, saved @cache_saved : (filtered @cache_filtered, excluded @cache_excluded, defaulted @cache_defaulted, overridden @cache_overridden)).', + array( + '@source_name' => $harvest_source->label, + '@cache_processed' => $harvest_cache->getProcessedCount(), + '@cache_failed' => $harvest_cache->getFailedCount(), + '@cache_saved' => $harvest_cache->getSavedCount(), + '@cache_filtered' => $harvest_cache->getFilteredCount(), + '@cache_excluded' => $harvest_cache->getExcludedCount(), + '@cache_defaulted' => $harvest_cache->getDefaultedCount(), + '@cache_overridden' => $harvest_cache->getOverriddenCount(), + ) + ); + dkan_harvest_log($message, 'success'); + } +} + +/** + * Update the cache on the specified source. + * + * @param object $harvest_source + * The HarvestSource object to cache. + * @param int $harvest_updatetime + * Timestamp of the time to use as the update time. + */ +function dkan_harvest_cache_source($harvest_source, $harvest_updatetime = NULL) { + // The code to update the cache on a source is the same no matter if a + // batch process is used or not. + // Keepint the functions separated anyway. + dkan_harvest_cache_source_batch_op($harvest_source, $harvest_updatetime); +} + +/** + * Generates a Batch to cache a harvest source. + * + * @param object $harvest_source + * The HarvestSource object to cache. + * @param int $harvest_updatetime + * Timestamp of the time to use as the update time. + * + * @return array + * An array with the generated batch configurations. + */ +function dkan_harvest_generate_cache_batch($harvest_source, $harvest_updatetime = NULL) { + + $batch = array(); + $batch_operations = array(); + + $batch_operations[] = array('dkan_harvest_cache_source_batch_op', array($harvest_source)); + + $progress_message = t('Caching source ') . $harvest_source->label; + + // Setup batch process. + $batch = array( + 'operations' => $batch_operations, + 'title' => t('Caching source ') . $harvest_source->label, + 'init_message' => 'Caching source...', + 'progress_message' => '', + 'error_message' => t('An error ocurred while caching the sources.'), + ); + + return $batch; +} + +/** + * Cache all sources using a batch process. + * + * @param array $harvest_sources + * An array with the Harvest Sources to be cached. + * @param int $harvest_updatetime + * Timestamp of the time to use as the update time. + */ +function dkan_harvest_cache_sources_in_batch(array $harvest_sources = array(), $harvest_updatetime = NULL) { + + foreach ($harvest_sources as $harvest_source) { + // Generate batch process. + $batch = dkan_harvest_generate_cache_batch($harvest_source, $harvest_updatetime); + // Set up batch. + batch_set($batch); + } +} + +/** + * Batch operation callback to run a migration on a source. + * + * @param object $harvest_source + * The HarvestSource object to be migrated. + * @param array $options + * An array with the options to be passed to the migration process. + * @param array $context + * The context associated with the batch process. + */ +function dkan_harvest_migrate_source_batch_op($harvest_source, array $options = array(), array &$context = array()) { + + // Load migration. + $migration = $harvest_source->getMigration(); + if (!$migration) { + // The migration could not be loaded. Display a message and + // mark the batch operation as finished. + dkan_harvest_log('No migration was found for the selected source.'); + $context['finished'] = 1; + return; + } + + // Process migration. + $migration_status = $migration->processImport($options); + // Grab the migration results from the previous pass on this batch operation (if any). + $old_migration_results = isset($context['results']) ? $context['results'] : array(); + // Get the results from the current migration. + $new_migration_results = $migration->getResults(); + // Process the results. + $updated_results = dkan_harvest_update_migration_results($new_migration_results, $old_migration_results); + // Save results on context so they are available if this batch operation is run again. + $context['results'] = $updated_results; + + // Mark the batch operation finished as default. + $context['finished'] = 1; + + // Check if the harvest process is completed or if we need to continue with more + // migrations. + if (($migration_status == Migration::RESULT_INCOMPLETE) || + ($migration_status == Migration::RESULT_COMPLETED)) { + + // Calculate the number of pending datasets. + $datasets_count = $updated_results['datasets_on_source']; + $datasets_processed_in_total = $updated_results['datasets_processed']; + $pending_datasets = $datasets_count - $datasets_processed_in_total; + // Get the number of datasets processed on this migration. + $datasets_processed = $new_migration_results['datasets_processed']; + + // Keep processing until there are no more pending datasets or + // until the migration says that it did not process any datasets (like when no datasets + // needed to be updated). + if (($pending_datasets > 0) && ($datasets_processed != 0)) { + $message = t('Processed @datasets_processed datasets for source @source_name.', + array( + '@source_name' => $harvest_source->label, + '@datasets_processed' => $datasets_processed_in_total, + )); + $context['message'] = $message; + + // Calculate the progress value. + if ($datasets_count > 0) { + $context['finished'] = $datasets_processed_in_total / $datasets_count; + } + } + } + + if (isset($context['finished']) && ($context['finished'] == 1)) { + // Cleanup messages displayed to the user. + dkan_harvest_message_cleanup($harvest_source, $updated_results); + // Log migration event on log tables. + $migration->logEvent($updated_results); + } +} + +/** + * Run a migration on the specified harvest source. + * + * @param object $harvest_source + * The HarvestSource object to be migrated. + * @param array $options + * An array with the options to be passed to the migration process. + */ +function dkan_harvest_migrate_source($harvest_source, array $options = array()) { + + // Load migration. + $migration = $harvest_source->getMigration(); + if (!$migration) { + dkan_harvest_log('No migration was found for the selected source.'); + return; + } + + // Process migration. + $migration_status = $migration->processImport($options); + // Get the results from the current migration. + $migration_results = $migration->getResults(); + // Update migration results if needed before they are logged. + $updated_results = dkan_harvest_update_migration_results($migration_results); + // Cleanup messages displayed to the user. + dkan_harvest_message_cleanup($harvest_source, $updated_results); + // Log migration event on log tables. + $migration->logEvent($updated_results); +} + +/** + * Update migration results. + * + * Migrations can be split into chunks if needed. This function updates + * the total values for the migration results. + */ +function dkan_harvest_update_migration_results($new_results = array(), $old_results = array()) { + + $updated_results = array(); + + if (empty($old_results)) { + // There were no old results so start with the new ones. + $updated_results = $new_results; + } + else { + // Start with old results. + $updated_results = $old_results; + // Save values that do not need to be updated (they remain the same during all migration). + $updated_results['start_time'] = $old_results['start_time']; + $updated_results['initial_highwater'] = $old_results['initial_highwater']; + $updated_results['datasets_on_source'] = $old_results['datasets_on_source']; + $updated_results['process_type'] = $old_results['process_type']; + // Update the rest of the data. + $updated_results['end_time'] = $new_results['end_time']; + $updated_results['final_highwater'] = $new_results['final_highwater']; + $updated_results['datasets_processed'] += $new_results['datasets_processed']; + $updated_results['datasets_created'] += $new_results['datasets_created']; + $updated_results['datasets_updated'] += $new_results['datasets_updated']; + $updated_results['datasets_failed'] += $new_results['datasets_failed']; + $updated_results['datasets_orphaned'] += $new_results['datasets_orphaned']; + } + + // Update the number of datasets that were unmodified. + $datasets_count = $updated_results['datasets_on_source']; + $datasets_processed = $updated_results['datasets_processed']; + $updated_results['datasets_unchanged'] = $datasets_count - $datasets_processed; + + return $updated_results; +} + +/** + * Generates a Batch to migrate a harvest source. + * + * @param object $harvest_source + * The HarvestSource object to cache. + * @param array $options + * An array with the options to be passed to the migration process. + * + * @return array + * An array with the generated batch configurations. + */ +function dkan_harvest_generate_migrate_batch($harvest_source, array $options = array()) { + + $batch = array(); + $batch_operations = array(); + + // Get cache associated with the harvest source. + $harvest_cache = call_user_func($harvest_source->type->cacheCallback, $harvest_source, NULL); + if ($harvest_cache) { + + // Load the number of items per batch chunk. + $items_per_chunk = variable_get('dkan_harvest_batch_items_per_chunk', DKAN_HARVEST_BATCH_ITEMS_PER_CHUNK); + if ($items_per_chunk) { + $options['limit'] = array( + 'value' => $items_per_chunk, + 'unit' => 'items' + ); + } + // Add migration operation. + $batch_operations[] = array('dkan_harvest_migrate_source_batch_op', + array($harvest_source, $options) +); + } + else { + // Display an eror. + $message = t('Failed to load the cache for source @source_name.', array('@source_name' => $harvest_source->machineName)); + dkan_harvest_log($message, 'error'); + } + + // Configure batch process. + $batch_title = t('Migrating content for source ') . $harvest_source->label; + $init_message_title = t('Starting migration process... '); + $init_message_desc = t('A full Harvest may take several minutes, depending on + how many items your source contains. If your harvest times out, start it + again as needed until it completes successfully. For more reliable harvests, + use built-in drush commands in the terminal or set up a cron job. + See the DKAN Harvest documentation for more information.'); + + $batch = array( + 'operations' => $batch_operations, + 'title' => $batch_title, + 'init_message' => $init_message_title . '<br/><br/> ' . $init_message_desc, + 'progress_message' => '', + 'error_message' => t('An error ocurred during the migration.'), + ); + + return $batch; +} + +/** + * Migrate all sources using a batch process. + * + * @param array $harvest_sources + * An array with the Harvest Sources to be migrated. + * @param array $options + * An array with the options to be passed to the migration process. + */ +function dkan_harvest_migrate_sources_in_batch(array $harvest_sources = array(), array $options = array()) { + + foreach ($harvest_sources as $harvest_source) { + // Config batch process. + $batch = dkan_harvest_generate_migrate_batch($harvest_source, $options); + // Setup batch process. + batch_set($batch); + } } /** @@ -344,51 +654,41 @@ function dkan_harvest_refresh($form, &$form_state) { */ function dkan_harvest_harvest_now_form_submit($form, &$form_state) { - // Build array of batch operations. - $batch_operations = array(); - $batch_operations[] = array('dkan_harvest_perform_harvest', array($form['#node'])); - - // Setup batch process. - $batch_title = t('Migrating content from'); - $init_message_title = t('Processed 0%.'); - $init_message_desc = t('A full Harvest may take several minutes, depending on - how many items your source contains. If your harvest times out, start it - again as needed until it completes successfully. For more reliable harvests, - use built-in drush commands in the terminal or set up a cron job. - See the DKAN Harvest documentation for more information.'); - - $batch = array( - 'operations' => $batch_operations, - 'title' => $batch_title . ' ' . $form['#node']->title . '... ', - 'init_message' => $init_message_title . '<br/><br/> ' . $init_message_desc, - 'progress_message' => t('Processed @percentage.'), - 'error_message' => t('An error ocurred during the migration.'), - ); - batch_set($batch); + // Get harvest source object for the node. + $harvest_source = HarvestSource::getHarvestSourceFromNode($form['#node']); + dkan_harvest_migrate_sources_in_batch(array($harvest_source), array(), TRUE); $form_state['redirect'] = 'admin/dkan/harvest/dashboard'; } /** - * Given a harvest source performs a harvest. - */ -function dkan_harvest_perform_harvest($node, &$context) { - $harvest_source = HarvestSource::getHarvestSourceFromNode($node); - dkan_harvest_cache_sources(array($harvest_source)); - dkan_harvest_migrate_sources(array($harvest_source)); - dkan_harvest_message_cleanup(); -} - -/** - * Hide 'Groups were updated on X resources' while harvesting datasets. + * Cleanup messages displayed to the user after harvest migration is completed. */ -function dkan_harvest_message_cleanup() { - $orig_messages = drupal_get_messages('status') + array('status' => array()); - foreach ($orig_messages['status'] as $message) { +function dkan_harvest_message_cleanup($harvest_source, $results) { + // Cleanup status messages to hide the ones like 'Groups were updated on X resources'. + $status_messages = drupal_get_messages('status') + array('status' => array()); + foreach ($status_messages['status'] as $message) { if (!preg_match('/\bgroups were updated\b/i', $message)) { - drupal_set_message($message, 'status'); + dkan_harvest_log($message, 'status'); } } + + // Remove all messages with 'completed' and 'success' types that are generated by the migrate module. + drupal_get_messages('completed'); + drupal_get_messages('success'); + + // Add final status message for the migration. + $message = t('Harvest migration completed for source "@source_name" (@created datasets created, @updated datasets updated, @failed datasets failed, @orphaned datasets orphaned, @unchanged datasets unchanged).', + array( + '@source_name' => $harvest_source->label, + '@created' => $results['datasets_created'], + '@updated' => $results['datasets_updated'], + '@failed' => $results['datasets_failed'], + '@orphaned' => $results['datasets_orphaned'], + '@unchanged' => $results['datasets_unchanged'] + ) + ); + dkan_harvest_log($message, 'status'); } /** @@ -418,9 +718,12 @@ function dkan_harvest_get_last_event_log($node) { $query->addExpression('log.endtime - log.starttime', 'duration'); $result = $query->execute()->fetchObject(); - $time = floor($result->starttime / 1000); - return format_date($time); + if ($result) { + $time = floor($result->starttime / 1000); + return format_date($time); + } + return FALSE; } /** @@ -556,21 +859,6 @@ function dkan_harvest_source_types_definition() { return $source_types_definition; } -/** - * Given an array of harvest source performs a migrate action over them. - */ -function dkan_harvest_migrate_sources(array $sources, array $options = array()) { - foreach ($sources as $source) { - $return_code = $source->migrate($options); - // Return an error if we couldn't run the migration. - if ($return_code === FALSE) { - // Log as error. - $message = t('Failed to start source harvest migration. Cannot load migration object.'); - dkan_harvest_log($message, 'error'); - } - } -} - /** * Rollback the migration for the passed sources. * @@ -603,43 +891,6 @@ function dkan_harvest_get_migration(HarvestSource $source) { return $harvest_migration; } -/** - * Cache a set of sources. - * - * @param array $sources - * Array of HarvestSource object to harvest. - * @param int $harvest_updatetime - * Timestamp of the time to use as the update time. - */ -function dkan_harvest_cache_sources(array $sources, $harvest_updatetime = NULL) { - foreach ($sources as $source) { - $harvest_cache = $source->cache($harvest_updatetime); - - if (!$harvest_cache) { - $message = t('Harvest Cache for @source_machine_name failed!', - array( - '@source_machine_name' => $source->machineName, - )); - dkan_harvest_log($message, 'error'); - } - else { - $message = t('Harvest Cache for @source_machine_name completed (processed @cache_processed, failed @cache_failed, saved @cache_saved : (filtered @cache_filtered, excluded @cache_excluded, defaulted @cache_defaulted, overridden @cache_overridden)).', - array( - '@source_machine_name' => $source->machineName, - '@cache_processed' => $harvest_cache->getProcessedCount(), - '@cache_failed' => $harvest_cache->getFailedCount(), - '@cache_saved' => $harvest_cache->getSavedCount(), - '@cache_filtered' => $harvest_cache->getFilteredCount(), - '@cache_excluded' => $harvest_cache->getExcludedCount(), - '@cache_defaulted' => $harvest_cache->getDefaultedCount(), - '@cache_overridden' => $harvest_cache->getOverriddenCount(), - ) - ); - dkan_harvest_log($message, 'success'); - } - } -} - /** * Dump and simple cache callback for dkan_harvest source. * @@ -1171,17 +1422,24 @@ function dkan_harvest_modify_delete_harvest_source_confirmation_form(array &$for */ function dkan_harvest_build_delete_confirmation_description(array $sources) { + $source_datasets = array(); + $source_resources = array(); + + $dataset_string = t('Datasets'); + $resource_string = t('Resources'); + $markup = '<p>' . t('The following sources were selected to be deleted:') . '</p>'; $markup .= '<ul>'; foreach ($sources as $source_id) { $source = entity_load_single('node', $source_id); $source_datasets = dkan_harvest_get_datasets_from_source($source_id); - $dataset_string = t('Datasets'); - foreach ($source_datasets as $source_dataset) { - $source_dataset_array[] = $source_dataset; + if (!empty($source_datasets)) { + foreach ($source_datasets as $source_dataset) { + $source_dataset_array[] = $source_dataset; + } + $source_resources = dkan_harvest_get_resources_from_datasets($source_dataset_array); } - $source_resources = dkan_harvest_get_resources_from_datasets($source_dataset_array); - $resource_string = t('Resources'); + $markup .= '<li>' . $source->title . ': ' . count($source_datasets) . ' ' . $dataset_string . ', ' . count($source_resources) . ' ' . $resource_string . '</li>'; } $markup .= '</ul>'; diff --git a/dkan/modules/dkan/dkan_harvest/includes/HarvestSource.php b/dkan/modules/dkan/dkan_harvest/includes/HarvestSource.php index 5ffb226b8..cb7cf2703 100644 --- a/dkan/modules/dkan/dkan_harvest/includes/HarvestSource.php +++ b/dkan/modules/dkan/dkan_harvest/includes/HarvestSource.php @@ -45,9 +45,9 @@ class HarvestSource { /** * Constructor for HarvestSource class. * - * @param array $machineName - * Source array containing atleast all the required source - * elements (As documented above) and any other optional proprety. + * @param string $machineName + * The machine name for the Harvest Source. It will work as the + * unique id of the object. */ public function __construct($machineName) { // $machineName is really needed to construct this object. @@ -123,10 +123,10 @@ public function isRemote() { * Get the cache directory for a specific source. * * @param bool $create_or_clear - * Create the cache diretory if it does not exist. + * Create the cache diretory if it does not exist. * * @return string - * PHP filesteream location. + * PHP filesteream location. * Or FALSE if the cache directory does not exist. */ public function getCacheDir($create_or_clear = FALSE) { @@ -175,10 +175,10 @@ public static function getMigrationMachineNameFromName($machineName) { * Generic function to convert a string to a Drupal machine name. * * @param string $human_name - * String to convert to machine name. + * String to convert to machine name. * * @return string - * String after replacements. + * String after replacements. */ public static function getMachineNameFromName($human_name) { return preg_replace('@[^a-z0-9-]+@', '_', strtolower($human_name)); @@ -188,10 +188,10 @@ public static function getMachineNameFromName($human_name) { * Get a HarvestSource object from a harvest_source node. * * @param object $harvest_source_node - * Harvest Source content type node. + * Harvest Source content type node. * * @return HarvestSource - * HarvestSource object. + * HarvestSource object. * * @throws Exception * If HarvestSource creation fail. @@ -205,10 +205,10 @@ public static function getHarvestSourceFromNode(stdClass $harvest_source_node) { * Get last time migration run from migration log table by machineName. * * @param string $machineName - * Harvest Source machine name. + * Harvest Source machine name. * * @return int - * Timestamp of the last Harvest Migration run. + * Timestamp of the last Harvest Migration run. * Or NULL if source not found or not run yet. */ public static function getMigrationTimestampFromMachineName($machineName) { @@ -235,10 +235,10 @@ public static function getMigrationTimestampFromMachineName($machineName) { * Get last time migration run from migration log table by mild. * * @param string $mlid - * Harvest Source Migration event ID. + * Harvest Source Migration event ID. * * @return int - * Timestamp of the last Harvest Migration run. + * Timestamp of the last Harvest Migration run. * Or NULL if source not found or not run yet. */ public static function getMigrationTimestampFromMlid($mlid) { @@ -264,10 +264,10 @@ public static function getMigrationTimestampFromMlid($mlid) { * Get number of dataset imported. * * @param string $machineName - * Harvest Source machine name. + * Harvest Source machine name. * * @return int - * Number of datasets imported by the Harvest Source. + * Number of datasets imported by the Harvest Source. */ public static function getMigrationCountFromMachineName($machineName) { // Construct the migrate map table name. @@ -293,10 +293,10 @@ public static function getMigrationCountFromMachineName($machineName) { * Cache harvest source. * * @param int $timestamp - * Timestamp to use when store the cache. + * Timestamp to use when store the cache. * * @return HarvestCache - * HarvestCache bject or FALSE in case of error. + * HarvestCache bject or FALSE in case of error. */ public function cache($timestamp = FALSE) { @@ -331,13 +331,13 @@ public function cache($timestamp = FALSE) { * Run the migration for the sources. * * @param array $options - * Array extra options to pass to the migration. + * Array extra options to pass to the migration. * * @return mixed - * FALSE in case of a problem. Or a Migrate::RESULT_* + * FALSE in case of a problem. Or a Migrate::RESULT_* * status after completion. */ - public function migrate($options = array()) { + public function migrate(array $options = array()) { $migration = $this->getMigration(); // Make sure the migration instantiation worked. if ($migration) { @@ -348,19 +348,11 @@ public function migrate($options = array()) { } } - /** - * Run a full harvest on this source. - */ - public function harvest() { - $this->cache(); - $this->migrate(); - } - /** * Register and get the migration class for a harvest source. * * @return HarvestMigration - * Object related to the source. Or FALSE if failed. + * Object related to the source. Or FALSE if failed. */ public function getMigration() { $harvest_migration_machineName = $this->getMigrationMachineName(); @@ -399,7 +391,7 @@ public function getMigration() { * Remove any cached or imported content. * * @return mixed - * HarvestSource::RESULT_* status code + * HarvestSource::RESULT_* status code * FALSE if something is gone wrong. */ public function rollback($options = array()) { diff --git a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.rules.inc b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.rules.inc index e05fcec9b..d4355f07d 100644 --- a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.rules.inc +++ b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.rules.inc @@ -35,32 +35,35 @@ function dkan_harvest_dashboard_rules_action_info() { * Cache the Harvest Source. * * @param object $harvest_source_node - * The Harvest Source to be cached. + * The Harvest Source to be cached. */ function dkan_harvest_dashboard_harvest_cache_action($harvest_source_node) { + // Get harvest source object for the node. $harvest_source = HarvestSource::getHarvestSourceFromNode($harvest_source_node); - dkan_harvest_cache_sources(array($harvest_source)); + dkan_harvest_cache_sources_in_batch(array($harvest_source)); } /** * Migrate the Harvest Source. * * @param object $harvest_source_node - * The Harvest Source to be migrated. + * The Harvest Source to be migrated. */ function dkan_harvest_dashboard_harvest_migrate_action($harvest_source_node) { + // Get harvest source object for the node. $harvest_source = HarvestSource::getHarvestSourceFromNode($harvest_source_node); - dkan_harvest_migrate_sources(array($harvest_source)); + dkan_harvest_migrate_sources_in_batch(array($harvest_source)); } /** * Cache and migrate the Harvest Source. * * @param object $harvest_source_node - * The Harvest Source to be cached and migrated. + * The Harvest Source to be cached and migrated. */ function dkan_harvest_dashboard_harvest_cache_migrate_action($harvest_source_node) { + // Get harvest source object for the node. $harvest_source = HarvestSource::getHarvestSourceFromNode($harvest_source_node); - dkan_harvest_cache_sources(array($harvest_source)); - dkan_harvest_migrate_sources(array($harvest_source)); + dkan_harvest_cache_sources_in_batch(array($harvest_source)); + dkan_harvest_migrate_sources_in_batch(array($harvest_source)); } diff --git a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.views_default.inc b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.views_default.inc index 049cbf8b2..d57cb1a66 100644 --- a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.views_default.inc +++ b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_dashboard/dkan_harvest_dashboard.views_default.inc @@ -30,7 +30,10 @@ function dkan_harvest_dashboard_views_default_views() { $handler->display->display_options['query']['type'] = 'views_query'; $handler->display->display_options['exposed_form']['type'] = 'basic'; $handler->display->display_options['pager']['type'] = 'full'; - $handler->display->display_options['pager']['options']['items_per_page'] = '10'; + $handler->display->display_options['pager']['options']['items_per_page'] = '50'; + $handler->display->display_options['pager']['options']['offset'] = '0'; + $handler->display->display_options['pager']['options']['id'] = '0'; + $handler->display->display_options['pager']['options']['quantity'] = '9'; $handler->display->display_options['style_plugin'] = 'table'; $handler->display->display_options['style_options']['columns'] = array( 'views_bulk_operations' => 'views_bulk_operations', @@ -83,9 +86,14 @@ function dkan_harvest_dashboard_views_default_views() { 'empty_column' => 0, ), ); + /* Header: Global: Result summary */ + $handler->display->display_options['header']['result']['id'] = 'result'; + $handler->display->display_options['header']['result']['table'] = 'views'; + $handler->display->display_options['header']['result']['field'] = 'result'; + $handler->display->display_options['header']['result']['content'] = '@total Harvest Sources'; /* Field: Bulk operations: Content */ $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations'; - $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node'; + $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_node'; $handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1; @@ -355,7 +363,7 @@ Off|Non-orphans only', $handler->display->display_options['empty']['area']['format'] = 'html'; /* Field: Bulk operations: Content */ $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations'; - $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node'; + $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_node'; $handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1; @@ -606,7 +614,7 @@ Off|Non-orphans only', $handler->display->display_options['defaults']['fields'] = FALSE; /* Field: Bulk operations: Content */ $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations'; - $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node'; + $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_node'; $handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0'; $handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1; diff --git a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_datajson/dkan_harvest_datajson.module b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_datajson/dkan_harvest_datajson.module index 5ee8c1a17..ace36b1e0 100644 --- a/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_datajson/dkan_harvest_datajson.module +++ b/dkan/modules/dkan/dkan_harvest/modules/dkan_harvest_datajson/dkan_harvest_datajson.module @@ -106,11 +106,11 @@ function dkan_harvest_datajson_set_value(array &$obj, $path, $value, $override = $branch = &$branch[$key]; } else { - drupal_set_message(t('The @path field was set to "@value" on all harvested datasets.', - array('@path' => $path, '@value' => $value, '@title' => $obj['title'])), 'warning', FALSE); $branch[$key] = array(); $branch = &$branch[$key]; } + drupal_set_message(t('The @path field was set to "@value" on all harvested datasets.', + array('@path' => $path, '@value' => $value, '@title' => $obj['title'])), 'warning', FALSE); } // Update the obj if $override is set or the branch is empty. @@ -147,11 +147,11 @@ function dkan_harvest_datajson_set_default_value(array &$obj, $path, $value, $ov $branch = &$branch[$key]; } else { - drupal_set_message(t('A @path value of "@value" was added to datasets where the @path field was empty.', - array('@path' => $path, '@value' => $value, '@title' => $obj['title'])), 'warning', FALSE); $branch[$key] = array(); $branch = &$branch[$key]; } + drupal_set_message(t('A @path value of "@value" was added to datasets where the @path field was empty.', + array('@path' => $path, '@value' => $value, '@title' => $obj['title'])), 'warning', FALSE); } // Update the obj if $override is set or the branch is empty. @@ -319,11 +319,12 @@ function dkan_harvest_datajson_cache_pod_v1_1_json(array $data, HarvestSource $s foreach ($overrides as $path => $override_values) { $override_values = array_map('trim', $override_values); - $overridden = $overridden || dkan_harvest_datajson_set_value($dataset, $path, $override_values[0], TRUE); - } - - if ($overridden) { - $harvest_cache->setCacheEntryOverridden($identifier, $dataset['title']); + if (!empty($path) && !empty($override_values)) { + $overridden = dkan_harvest_datajson_set_value($dataset, $path, $override_values[0], TRUE); + } + if ($overridden) { + $harvest_cache->setCacheEntryOverridden($identifier, $dataset['title']); + } } return $dataset; @@ -339,10 +340,10 @@ function dkan_harvest_datajson_cache_pod_v1_1_json(array $data, HarvestSource $s foreach ($defaults as $path => $default_values) { $defaults_values = array_map('trim', $default_values); $defaulted = $defaulted || dkan_harvest_datajson_set_default_value($dataset, $path, $default_values[0]); - } - - if ($defaulted) { - $harvest_cache->setCacheEntryDefaulted($identifier, $dataset['title']); + if ($defaulted) { + $harvest_cache->setCacheEntryDefaulted($identifier, $dataset['title']); + $defaulted = FALSE; + } } return $dataset; diff --git a/dkan/modules/dkan/dkan_migrate_base/README.md b/dkan/modules/dkan/dkan_migrate_base/README.md index 4ef08173f..c57e21e18 100644 --- a/dkan/modules/dkan/dkan_migrate_base/README.md +++ b/dkan/modules/dkan/dkan_migrate_base/README.md @@ -17,7 +17,7 @@ through the command line, or run periodically. ### Example module -We have provided an example module in this repo. To create a custom migration just create a module that inherits the Resource and Dataset classes and puts in the endpoint for your CKAN instance: https://github.com/NuCivic/dkan_migrate_base/blob/master/modules/dkan_migrate_base_example/dkan_migrate_base_example.module#L41 +We have provided an example module in this repo. To create a custom migration just create a module that inherits the Resource and Dataset classes and puts in the endpoint for your CKAN instance: https://github.com/GetDKAN/dkan_migrate_base/blob/master/modules/dkan_migrate_base_example/dkan_migrate_base_example.module#L41 ### Periodic Migrations After the initial time the migration is run it will check each dataset and resource from the CKAN instance and only update items that have changed in CKAN. @@ -129,7 +129,7 @@ We are working on improving this documentation. Please let us know if you have a ### Contributing -We are accepting issues in the dkan issue thread only -> https://github.com/NuCivic/dkan/issues -> Please label your issue as **"component: dkan_migrate_base"** after submitting so we can identify problems and feature requests faster. +We are accepting issues in the dkan issue thread only -> https://github.com/GetDKAN/dkan/issues -> Please label your issue as **"component: dkan_migrate_base"** after submitting so we can identify problems and feature requests faster. If you can, please cross reference commits in this repo to the corresponding issue in the dkan issue thread. You can do that easily adding this text: diff --git a/dkan/modules/dkan/dkan_migrate_base/modules/dkan_migrate_base_example/data/data1.json b/dkan/modules/dkan/dkan_migrate_base/modules/dkan_migrate_base_example/data/data1.json index ab9563aa0..72e54c56f 100644 --- a/dkan/modules/dkan/dkan_migrate_base/modules/dkan_migrate_base_example/data/data1.json +++ b/dkan/modules/dkan/dkan_migrate_base/modules/dkan_migrate_base_example/data/data1.json @@ -5,7 +5,7 @@ "modified": "2014-06-24", "publisher": "NuData Sandbox", "contactPoint": "NuData Sandbox", - "mbox": "federica@nucivic.com", + "mbox": "federica@example.com", "identifier": "1", "accessLevel": "public", "distribution": [{ @@ -76,4 +76,4 @@ "license": "Creative Commons Attribution", "language": ["english"], "granularity": "" -}] \ No newline at end of file +}] diff --git a/dkan/modules/dkan/dkan_permissions/README.md b/dkan/modules/dkan/dkan_permissions/README.md index 8b6e0a993..f5ac0331e 100644 --- a/dkan/modules/dkan/dkan_permissions/README.md +++ b/dkan/modules/dkan/dkan_permissions/README.md @@ -2,7 +2,7 @@ ## The DKAN Permissions module -The DKAN Permissions module provides default roles and permissions for the DKAN distribution. It uses the alternative [Features](https://www.drupal.org/project/features) export method provided by the [Features Roles Permissions](https://www.drupal.org/project/features_roles_permissions) module, rather than Features' standard permissions and roles exports. Among other advantages, this produces very human-readable code; you can examine the specific roles and permissions provided by reviewing [`dkan_permissions.features.roles_permissions.inc`](https://github.com/NuCivic/dkan/blob/7.x-1.x/modules/dkan/dkan_permissions/dkan_permissions.features.roles_permissions.inc). +The DKAN Permissions module provides default roles and permissions for the DKAN distribution. It uses the alternative [Features](https://www.drupal.org/project/features) export method provided by the [Features Roles Permissions](https://www.drupal.org/project/features_roles_permissions) module, rather than Features' standard permissions and roles exports. Among other advantages, this produces very human-readable code; you can examine the specific roles and permissions provided by reviewing [`dkan_permissions.features.roles_permissions.inc`](https://github.com/GetDKAN/dkan/blob/7.x-1.x/modules/dkan/dkan_permissions/dkan_permissions.features.roles_permissions.inc). ## DKAN Core Roles diff --git a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.info b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.info index 6aab11229..d136a4825 100644 --- a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.info +++ b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.info @@ -6,8 +6,8 @@ dependencies[] = admin_views dependencies[] = colorizer dependencies[] = conditional_styles dependencies[] = ctools -dependencies[] = defaultconfig dependencies[] = date_views +dependencies[] = defaultconfig dependencies[] = dkan_dataset dependencies[] = dkan_dataset_content_types dependencies[] = facet_icons @@ -56,3 +56,7 @@ features[variable][] = user_pictures features[views_view][] = dkan_administration_files features[views_view][] = dkan_administration_nodes features[views_view][] = popular_tags + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.module b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.module index 71f674960..b8bffbbc4 100644 --- a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.module +++ b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.module @@ -233,10 +233,10 @@ function dkan_sitewide_update_status_alter(&$projects) { $projects[$project]['releases'][$dkan_tag]['date'] = $tag_date; $projects[$project]['datestamp'] = $tag_date; - $projects[$project]['link'] = 'http://github.com/nucivic/' . $project; + $projects[$project]['link'] = 'http://github.com/GetDKAN/' . $project; $projects[$project]['reason'] = 'Development Release'; $projects[$project]['releases']['latest_version'] = $dkan_tag; - $projects[$project]['releases']['7.x-1.x-dev']['release_link'] = 'http://github.com/nucivic/' . $project; + $projects[$project]['releases']['7.x-1.x-dev']['release_link'] = 'http://github.com/GetDKAN/' . $project; $projects[$project]['releases']['7.x-1.x-dev']['reason'] = 'Development Release'; $projects[$project]['releases']['7.x-1.x-dev']['download_link'] = 'https://api.github.com/repos/NuCivic/' . $project . '/zipball/7.x-1.x'; diff --git a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.views_default.inc b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.views_default.inc index 16e275fb4..284ca9c1e 100644 --- a/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.views_default.inc +++ b/dkan/modules/dkan/dkan_sitewide/dkan_sitewide.views_default.inc @@ -127,7 +127,7 @@ function dkan_sitewide_views_default_views() { $handler->display->display_options['relationships']['uid']['label'] = 'user'; /* Field: Bulk operations: File */ $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations'; - $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'file_managed'; + $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_file'; $handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations'; $handler->display->display_options['fields']['views_bulk_operations']['label'] = ''; $handler->display->display_options['fields']['views_bulk_operations']['element_label_colon'] = FALSE; @@ -454,7 +454,7 @@ function dkan_sitewide_views_default_views() { ); /* Field: Bulk operations: Content */ $handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations'; - $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'node'; + $handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_node'; $handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations'; $handler->display->display_options['fields']['views_bulk_operations']['label'] = ''; $handler->display->display_options['fields']['views_bulk_operations']['element_label_colon'] = FALSE; diff --git a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panelizer/dkan_sitewide_panelizer.info b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panelizer/dkan_sitewide_panelizer.info index 3b0ae8705..90e675a38 100644 --- a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panelizer/dkan_sitewide_panelizer.info +++ b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panelizer/dkan_sitewide_panelizer.info @@ -17,3 +17,7 @@ features[variable][] = panelizer_node:page_allowed_layouts_default features[variable][] = panelizer_node:page_allowed_types features[variable][] = panelizer_node:page_allowed_types_default features[variable][] = panelizer_node:page_default + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.pages_default.inc b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.pages_default.inc index a20424075..33d4b8df6 100644 --- a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.pages_default.inc +++ b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.pages_default.inc @@ -1528,37 +1528,6 @@ return TRUE; $display->content['new-b0fb8ba0-c78f-4b2e-9ae3-e4cc61f06345'] = $pane; $display->panels['sidebar'][4] = 'new-b0fb8ba0-c78f-4b2e-9ae3-e4cc61f06345'; $pane = new stdClass(); - $pane->pid = 'new-51f2a5b5-ab6a-474a-b0f8-4a0b297160a8'; - $pane->panel = 'sidebar'; - $pane->type = 'block'; - $pane->subtype = 'facetapi-wsVI1ENUXwf4Rz08n9fg2WvfQ0Gs5h2a'; - $pane->shown = TRUE; - $pane->access = array(); - $pane->configuration = array( - 'override_title' => 1, - 'override_title_text' => 'Author', - 'override_title_heading' => 'h2', - ); - $pane->cache = array(); - $pane->style = array( - 'settings' => array( - 'pane_title' => '%title', - 'pane_collapsed' => 1, - 'pane_empty_check' => 0, - ), - 'style' => 'collapsible', - ); - $pane->css = array( - 'css_id' => '', - 'css_class' => 'pane-facetapi pane-block', - ); - $pane->extras = array(); - $pane->position = 5; - $pane->locks = array(); - $pane->uuid = '51f2a5b5-ab6a-474a-b0f8-4a0b297160a8'; - $display->content['new-51f2a5b5-ab6a-474a-b0f8-4a0b297160a8'] = $pane; - $display->panels['sidebar'][5] = 'new-51f2a5b5-ab6a-474a-b0f8-4a0b297160a8'; - $pane = new stdClass(); $pane->pid = 'new-0541c9a5-2e8c-488f-8db4-4cd064bdc903'; $pane->panel = 'sidebar'; $pane->type = 'block'; @@ -1584,11 +1553,11 @@ return TRUE; 'css_class' => 'pane-facetapi pane-block', ); $pane->extras = array(); - $pane->position = 6; + $pane->position = 5; $pane->locks = array(); $pane->uuid = '0541c9a5-2e8c-488f-8db4-4cd064bdc903'; $display->content['new-0541c9a5-2e8c-488f-8db4-4cd064bdc903'] = $pane; - $display->panels['sidebar'][6] = 'new-0541c9a5-2e8c-488f-8db4-4cd064bdc903'; + $display->panels['sidebar'][5] = 'new-0541c9a5-2e8c-488f-8db4-4cd064bdc903'; $display->hide_title = PANELS_TITLE_FIXED; $display->title_pane = '0'; $handler->conf['display'] = $display; diff --git a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.views_default.inc b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.views_default.inc index 36cf16379..3cb3f06d6 100644 --- a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.views_default.inc +++ b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_panels/dkan_sitewide_panels.views_default.inc @@ -279,7 +279,7 @@ function dkan_sitewide_panels_views_default_views() { 'page' => 'page', ); $handler->display->display_options['filters']['type']['group'] = 1; - /* Filter criterion: Content: Publisher (og_group_ref) (reference filter) */ + /* Filter criterion: Content: Groups audience (og_group_ref) (reference filter) */ $handler->display->display_options['filters']['og_group_ref_target_id_entityreference_filter']['id'] = 'og_group_ref_target_id_entityreference_filter'; $handler->display->display_options['filters']['og_group_ref_target_id_entityreference_filter']['table'] = 'og_membership'; $handler->display->display_options['filters']['og_group_ref_target_id_entityreference_filter']['field'] = 'og_group_ref_target_id_entityreference_filter'; diff --git a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_search_db/dkan_sitewide_search_db.install b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_search_db/dkan_sitewide_search_db.install index 8e4e55849..bb9964a78 100644 --- a/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_search_db/dkan_sitewide_search_db.install +++ b/dkan/modules/dkan/dkan_sitewide/modules/dkan_sitewide_search_db/dkan_sitewide_search_db.install @@ -20,6 +20,6 @@ function dkan_sitewide_search_db_update_7109() { showing either a) nothing or b) all nodes regardless of type in your search/datasets pages. This problem can be easily fixed by following the instructions in the release notes at - https://github.com/NuCivic/dkan/releases/tag/7.x-1.9 or in CHANGELOG.txt.' + https://github.com/GetDKAN/dkan/releases/tag/7.x-1.9 or in CHANGELOG.txt.' ); } diff --git a/dkan/modules/dkan/dkan_sitewide/modules/facet_icons/facet_icons.module b/dkan/modules/dkan/dkan_sitewide/modules/facet_icons/facet_icons.module index 5aea8a387..3df5e8c18 100644 --- a/dkan/modules/dkan/dkan_sitewide/modules/facet_icons/facet_icons.module +++ b/dkan/modules/dkan/dkan_sitewide/modules/facet_icons/facet_icons.module @@ -34,7 +34,7 @@ function facet_icons_facetapi_widgets() { /** * Implements hook_theme(). * - * @see https://github.com/NuCivic/nuboot_radix/blob/7.x-1.x/template.php + * @see https://github.com/GetDKAN/nuboot_radix/blob/7.x-1.x/template.php */ function facet_icons_theme($existing, $type, $theme, $path) { return array( diff --git a/dkan/modules/dkan/dkan_topics/dkan_topics.info b/dkan/modules/dkan/dkan_topics/dkan_topics.info index ae157a228..b7a95bc89 100755 --- a/dkan/modules/dkan/dkan_topics/dkan_topics.info +++ b/dkan/modules/dkan/dkan_topics/dkan_topics.info @@ -57,3 +57,7 @@ features_exclude[dependencies][dkan_dataset_groups] = dkan_dataset_groups features_exclude[dependencies][dkan_topics] = dkan_topics no autodetect = 1 project path = profiles/dkan/modules/dkan + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_topics/modules/dkan_default_topics/dkan_default_topics.info b/dkan/modules/dkan/dkan_topics/modules/dkan_default_topics/dkan_default_topics.info index 1b1eb6d21..087f543ac 100755 --- a/dkan/modules/dkan/dkan_topics/modules/dkan_default_topics/dkan_default_topics.info +++ b/dkan/modules/dkan/dkan_topics/modules/dkan_default_topics/dkan_default_topics.info @@ -5,3 +5,7 @@ package = DKAN Features dependencies[] = dkan_topics dependencies[] = taxonomy_fixtures dependencies[] = taxonomy + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_workflow/README.md b/dkan/modules/dkan/dkan_workflow/README.md index 736b09a3f..4ade1845a 100644 --- a/dkan/modules/dkan/dkan_workflow/README.md +++ b/dkan/modules/dkan/dkan_workflow/README.md @@ -1,7 +1,7 @@ # DKAN Workflow ![DKAN Workflow](./dkan_workflow_screenshot.png) -Publishing workflow for [DKAN](https://github.com/NuCivic/dkan) based on +Publishing workflow for [DKAN](https://github.com/GetDKAN/dkan) based on [Workbench](https://www.drupal.org/project/workbench) and related modules. ## Requirements @@ -26,7 +26,7 @@ This module is disabled by default in a new DKAN installation. After either enab * Transitions config and Emails templates for "Original Author" could not be exported due to a bug in workbench_email. -* Behat tests uses [hhs_implementation](https://github.com/NuCivic/dkanextension/tree/hhs_implementation) +* Behat tests uses [hhs_implementation](https://github.com/GetDKAN/dkanextension/tree/hhs_implementation) dkanextension instead of the master branch. * Support for OG while sending emails is supported but not clearly documented. diff --git a/dkan/modules/dkan/dkan_workflow/dkan_workflow.info b/dkan/modules/dkan/dkan_workflow/dkan_workflow.info index 7d97a373d..240ae03d4 100644 --- a/dkan/modules/dkan/dkan_workflow/dkan_workflow.info +++ b/dkan/modules/dkan/dkan_workflow/dkan_workflow.info @@ -45,3 +45,7 @@ features[workbench_moderation_transitions][] = needs_review:published features[workbench_moderation_transitions][] = published:needs_review features_exclude[dependencies][ctools] = ctools features_exclude[dependencies][dkan_dataset_content_types] = dkan_dataset_content_types + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/dkan_workflow/dkan_workflow.module b/dkan/modules/dkan/dkan_workflow/dkan_workflow.module index 0cf0dbf4a..eda2beda8 100644 --- a/dkan/modules/dkan/dkan_workflow/dkan_workflow.module +++ b/dkan/modules/dkan/dkan_workflow/dkan_workflow.module @@ -37,8 +37,8 @@ function dkan_workflow_menu() { // Add dummy link so administrators can access My Workbench. $items['admin/myworkbench'] = array( 'menu_name' => 'management', - 'title' => t('My Workbench'), - 'description' => t('My Workbench'), + 'title' => 'My Workbench', + 'description' => 'My Workbench', 'page callback' => 'drupal_goto', 'page arguments' => array('admin/workbench'), 'access arguments' => array('access workbench'), @@ -50,8 +50,8 @@ function dkan_workflow_menu() { 'menu_name' => 'menu-command-center-menu', 'link_path' => 'admin/workbench/drafts-active', 'router_path' => 'admin/workbench/drafts-active', - 'title' => t('My drafts'), - 'description' => t('My drafts'), + 'title' => 'My drafts', + 'description' => 'My drafts', 'page callback' => 'drupal_goto', 'access arguments' => array('access workbench'), 'weight' => 0, @@ -61,8 +61,8 @@ function dkan_workflow_menu() { 'menu_name' => 'menu-command-center-menu', 'link_path' => 'admin/workbench/needs-review-active', 'router_path' => 'admin/workbench/needs-review-active', - 'title' => t('Needs review'), - 'description' => t('Needs review'), + 'title' => 'Needs review', + 'description' => 'Needs review', 'page callback' => 'drupal_goto', 'access arguments' => array('access workbench'), 'weight' => 1, @@ -72,8 +72,8 @@ function dkan_workflow_menu() { 'menu_name' => 'menu-command-center-menu', 'link_path' => 'admin/workbench/drafts-stale', 'router_path' => 'admin/workbench/drafts-stale', - 'title' => t('Stale drafts'), - 'description' => t('Stale drafts'), + 'title' => 'Stale drafts', + 'description' => 'Stale drafts', 'page callback' => 'drupal_goto', 'access arguments' => array('access workbench'), 'weight' => 2, @@ -83,8 +83,8 @@ function dkan_workflow_menu() { 'menu_name' => 'menu-command-center-menu', 'link_path' => 'admin/workbench/needs-review-stale', 'router_path' => 'admin/workbench/needs-review-stale', - 'title' => t('Stale reviews'), - 'description' => t('Stale reviews'), + 'title' => 'Stale reviews', + 'description' => 'Stale reviews', 'page callback' => 'drupal_goto', 'access arguments' => array('access workbench'), 'weight' => 3, @@ -136,13 +136,29 @@ function dkan_workflow_menu_local_tasks_alter(&$data, $router_item, $root_path) 'title' => $stale_drafts, ), ); - $stale_reviews = $data['tabs'][0]['output'][4]['#link']['description']; + $stale_reviews = $data['tabs'][0]['output'][4]['#link']['description']; $data['tabs'][0]['output'][4]['#link']['localized_options'] = array( 'attributes' => array( 'title' => $stale_reviews, ), ); } + // Restore 'Revisions' tab for anonymous users when dkan_workflow is enabled. + global $user; + if ($user->uid == 0 && isset($data['tabs'][0]['output'][1]) && + $data['tabs'][0]['output'][1]['#link']['page_callback'] == 'workbench_moderation_node_history_view') { + // Check if revisions exist. + $node = node_load(arg(1)); + $r = count(node_revision_list($node)); + if ($r > 1) { + // Change moderate button text to 'Revisions' if user is anonymous. + $data['tabs'][0]['output'][1]['#link']['title'] = 'Revisions'; + } + else { + // Remove local tabs if there are no revisions. + unset($data['tabs']); + } + } } /** @@ -330,8 +346,8 @@ function dkan_workflow_views_pre_view(&$view, &$display_id, &$args) { $item = $view->set_item($display_id, 'filter', 'type', $filter_content_type); - $role_workflow_contributor = user_role_load_by_name('Workflow Contributor'); - $role_workflow_moderator = user_role_load_by_name('Workflow Moderator'); + $role_workflow_contributor = user_role_load_by_name('Workflow Contributor'); + $role_workflow_moderator = user_role_load_by_name('Workflow Moderator'); // On the Needs Review tab, Workflow Moderator can see: // - the content submitted to their organic group. diff --git a/dkan/modules/dkan/dkan_workflow/modules/dkan_workflow_permissions/dkan_workflow_permissions.install b/dkan/modules/dkan/dkan_workflow/modules/dkan_workflow_permissions/dkan_workflow_permissions.install index cd3b7dbf2..e75692068 100644 --- a/dkan/modules/dkan/dkan_workflow/modules/dkan_workflow_permissions/dkan_workflow_permissions.install +++ b/dkan/modules/dkan/dkan_workflow/modules/dkan_workflow_permissions/dkan_workflow_permissions.install @@ -17,6 +17,13 @@ function dkan_workflow_permissions_enable() { drupal_flush_all_caches(); features_revert(array('dkan_sitewide_menu' => array('menu_links'))); + // Assign view moderation history perm to anonymous users. + if (!module_exists('workbench_moderation')) { + module_enable(array('workbench_moderation')); + } + $anon = user_role_load_by_name('anonymous user'); + user_role_grant_permissions($anon->rid, array('view moderation history')); + // Rebuild node access permissions as a batch process. node_access_rebuild(TRUE); } @@ -95,6 +102,10 @@ function _dkan_workflow_permissions_setup_admin_menu_source() { * Implements hook_disable(). */ function dkan_workflow_permissions_disable() { + // Remove view moderation history perm from anonymous users. + $anon = user_role_load_by_name('anonymous user'); + user_role_revoke_permissions($anon->rid, array('view moderation history')); + // Rebuild node access permissions as a batch process. node_access_rebuild(TRUE); } diff --git a/dkan/modules/dkan/open_data_federal_extras/open_data_federal_extras.info b/dkan/modules/dkan/open_data_federal_extras/open_data_federal_extras.info index d75adfcfa..8852238b4 100644 --- a/dkan/modules/dkan/open_data_federal_extras/open_data_federal_extras.info +++ b/dkan/modules/dkan/open_data_federal_extras/open_data_federal_extras.info @@ -27,3 +27,7 @@ features[field_instance][] = node-dataset-field_odfe_data_quality features[field_instance][] = node-dataset-field_odfe_investment_uii features[field_instance][] = node-dataset-field_odfe_program_code features[field_instance][] = node-dataset-field_odfe_system_of_records + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/modules/dkan/open_data_schema_map_dkan/open_data_schema_map_dkan.info b/dkan/modules/dkan/open_data_schema_map_dkan/open_data_schema_map_dkan.info index 00a98241c..d5a92183d 100644 --- a/dkan/modules/dkan/open_data_schema_map_dkan/open_data_schema_map_dkan.info +++ b/dkan/modules/dkan/open_data_schema_map_dkan/open_data_schema_map_dkan.info @@ -21,3 +21,7 @@ features[open_data_schema_apis][] = data_json_1_1 features[open_data_schema_apis][] = dcat_ap_v1_1_dataset features[open_data_schema_apis][] = dcat_v1_1 features[open_data_schema_apis][] = dcat_v1_1_json + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/test/README.md b/dkan/test/README.md index 2b2f922a0..2ff4c0bd6 100644 --- a/dkan/test/README.md +++ b/dkan/test/README.md @@ -2,9 +2,9 @@ DKAN uses [Behat](http://behat.org) for behavioral testing, both locally and in ## Behat tests -The `behat.yml` file that ships with DKAN is intended for use on CircleCI. When running tests locally, we recommend making a copy of `behat.local.demo.yml` and overriding Behat's default profile there. +The `behat.yml` file that ships with DKAN is intended for use on CircleCI. When running tests locally, we recommend making a copy of `behat.local.demo.yml` and overriding Behat's default profile there. -Obviously, steps will differ depending on your development environment. +Obviously, steps will differ depending on your development environment. Assuming you have a working DKAN installation you wish to test on: @@ -29,6 +29,7 @@ Your tests should run from the VM and use your host machine as a Selenium server - **@enableDKAN_Workflow** Enables dkan_workflow - **@fixme** label only - **@globalUser** Populates the global user with the current user + - **@harvest** Creates harvest sources for testing then rolls back to pre-harvest state - **@javascript** switches the current Mink session to Selenium2 - **@mail** Setup the testing mail system, then restore original mail system - **@no-main-menu** used to skip tests that requires a link in the main menu @@ -40,15 +41,15 @@ Your tests should run from the VM and use your host machine as a Selenium server - **@testBug** label only - **@timezone** Sets the timezone for tests and restores the timezone afterwards. - **@Topics** label only - + **Unique tag per scenario pattern** - + To allow customized sites to skip specific tests we are adding a unique tag to every scenario. The pattern is the feature name followed by a two digit numerical value. So the pod.feature scenarios are tagged like this: @pod_01, @pod_02, @pod_03, etc. ## PHPUnit tests Starting from 1.13 PHPUnit tests were added into DKAN core. All tests can be found inside the `/phpunit` directory separated in different test suites, one per DKAN module. - + *Running PHPUnit tests locally:* Using Ahoy: @@ -56,12 +57,12 @@ Using Ahoy: ```sh # To run all the tests: ahoy dkan unittests - + # To run an individual test: ahoy dkan unittests dkan_harvest/HarvestCacheTest.php ``` -Manually: +Manually: 1. Edit the configuration on `boot.php` if needed. The `$dir` variable needs to point to the actual DKAN working directory. 2. If you are using the [DKAN Starter docker/ahoy environment](http://dkan-starter.readthedocs.io/en/latest/docker-dev-env/installation.html), get to the Docker cli prompt: `ahoy docker exec bash`. 3. Go to `/test` folder. @@ -73,7 +74,7 @@ PHPUnit will load the configuration from `/test/phpunit/phpunit.xml`. ### Running specific tests PHPUnit allows you to easily filter tests that are going to be executed by using the `--filter <pattern>` option. - + For example: ```sh @@ -84,7 +85,7 @@ bin/phpunit --configuration phpunit --filter testMethod ``` For additional options or more detailed information on how to use PHPUnit please check the [PHPUnit Documentation]( https://phpunit.de/manual/current/en/textui.html) - + ## Tips Failing builds or tests can be very frustrating and occasionally make small improvements or bugfixes take much longer to complete than expected. This section is a collection of techniques that have proved useful in debugging and solving stubborn test issues in both DKAN core and individual projects. @@ -96,7 +97,7 @@ Click on the Artifacts tab, go to the container where the error happened and the ### Running tests locally Running tests in circleCI is a time consuming task. Every time you run a test in circleCI a whole new build process is triggered. Also, there is a limited number of container that can run at the same time so if your team is doing a heavy use of them you might experience several delays until your container runs. -It's highly recommend to avoid delays run test in the local environment. For example: +It's highly recommend to avoid delays run test in the local environment. For example: ``` ahoy dkan test features/resource.author.feature @@ -130,7 +131,7 @@ To troubleshoot this it is advisable to build the site from scratch and run the ### Proxy CircleCI built site -So your tests are failing just in CircleCI but passing locally. Screenshots weren't helpful and you don't have any clue what's happening. +So your tests are failing just in CircleCI but passing locally. Screenshots weren't helpful and you don't have any clue what's happening. Because UI tests are intended to mimic the behavior of a real user, you can do the oposite, try to mimic the UI test as a real user. @@ -146,7 +147,7 @@ In order to do that you will need to access to the same Dkan instance where test At this point http://127.0.0.1:8888 is pointing to the CircleCI server instance so you can troubleshoot using the same instance against which tests are run. ### Watch tests running in CircleCI -Most of times you won't need to do this but there are some cases where the above procedures are not enough. +Most of times you won't need to do this but there are some cases where the above procedures are not enough. Configure this is very similar to configure the proxy site. diff --git a/dkan/test/behat.yml b/dkan/test/behat.yml index f1c55aeb7..bea152d94 100644 --- a/dkan/test/behat.yml +++ b/dkan/test/behat.yml @@ -142,54 +142,55 @@ default: drupal_root: '%paths.base%/../../docroot' api_driver: drupal region_map: - admin menu: "#admin-menu" - breadcrumb: ".breadcrumb" - comment: ".comment-main" - content search: ".form-item-query" - content: ".region-content" - dashboards: ".view-data-dashboards table tbody" - dataset body: ".field-name-body" - dataset edit body: "#edit-body" - dataset resource list: "#data-and-resources" - dataset spatial: "#edit-field-spatial" - dataset title: ".pane-node .pane-title" - datasets: ".view-dkan-datasets" - dropdown_links: ".comment-main .links.inline.dropdown-menu" - facet container: ".radix-layouts-sidebar" - filter by author: ".facetapi-facet-author" - filter by date changed: ".facetapi-facet-changed" - filter by resource format: ".facetapi-facet-field-resourcesfield-format" - filter by tag: ".facetapi-facet-field-tags" - filter by topics: ".facetapi-facet-field-topic" - footer: "#footer" - group block: ".pane-views-group-block-block" - group members: ".view-id-dkan_og_extras_group_members" - group subscribe: ".group-subscribe-message" - groups: ".view-content" - harvest datasets: ".view-dkan-harvest-datasets" - header: "#header" - left header: "#header-left" - left_sidebar: ".panel-col-first" - modal: "#modalContent" - navigation: ".navigation-wrapper" - other access: ".pane-dkan-sitewide-dkan-sitewide-other-access" - primary tabs: ".tabs--primary" - recline preview: ".recline-data-explorer" - resource groups: "#edit-groups" - resource title: ".pane-node .pane-title" - results: ".view-header" - right header: "#header-right" - right sidebar: "#column-right" - search content results: ".content" - search_area: ".panel-col-last" - social: ".pane-dkan-sitewide-dkan-sitewide-social" - tabs: ".field-group-htabs-wrapper" - toolbar: ".tabs--primary" - user block: ".pane-views-user-profile-fields-block" - user command center: ".pane-dkan-sitewide-profile-page-dkan-user-summary" - user content: ".view-user-profile-search" - user page: ".main" - user profile: ".pane-dkan-sitewide-panels-dkan-user-summary" + admin menu: '#admin-menu' + breadcrumb: .breadcrumb + comment: .comment-main + content search: .form-item-query + content: .region-content + close-modal: .ctools-close-modal + dashboards: .view-data-dashboards table tbody + dataset body: .field-name-body + dataset edit body: '#edit-body' + dataset resource list: '#data-and-resources' + dataset spatial: '#edit-field-spatial' + dataset title: .pane-node .pane-title + datasets: .view-dkan-datasets + dropdown_links: .comment-main .links.inline.dropdown-menu + facet container: .radix-layouts-sidebar + filter by author: .facetapi-facet-author + filter by date changed: .facetapi-facet-changed + filter by resource format: .facetapi-facet-field-resourcesfield-format + filter by tag: .facetapi-facet-field-tags + filter by topics: .facetapi-facet-field-topic + footer: '#footer' + group block: .pane-views-group-block-block + group members: .view-id-dkan_og_extras_group_members + group subscribe: .group-subscribe-message + groups: .view-content + harvest datasets: .view-dkan-harvest-datasets + header: '#header' + left header: '#header-left' + left_sidebar: .panel-col-first + modal: '#modalContent' + navigation: .navigation-wrapper + other access: .pane-dkan-sitewide-dkan-sitewide-other-access + primary tabs: .tabs--primary + recline preview: .recline-data-explorer + resource groups: '#edit-groups' + resource title: .pane-node .pane-title + results: .view-header + right header: '#header-right' + right sidebar: '#column-right' + search content results: .content + search_area: .panel-col-last + social: .pane-dkan-sitewide-dkan-sitewide-social + tabs: .field-group-htabs-wrapper + toolbar: .tabs--primary + user block: .pane-views-user-profile-fields-block + user command center: .pane-dkan-sitewide-profile-page-dkan-user-summary + user content: .view-user-profile-search + user page: .main + user profile: .pane-dkan-sitewide-panels-dkan-user-summary text: log_out: Log out log_in: Log in diff --git a/dkan/test/dkanextension/README.md b/dkan/test/dkanextension/README.md index 1a5ffe34d..67ff4257c 100644 --- a/dkan/test/dkanextension/README.md +++ b/dkan/test/dkanextension/README.md @@ -1,6 +1,6 @@ # Behat DKAN Context -This creates a feature context for DKAN and NuCivic specific steps. +This creates a feature context for DKAN specific steps. ## Install @@ -150,11 +150,11 @@ The generic context that holds some helper steps **Handling required fields from custom deployments or when enabling ODFE** Using the default build of DKAN, there is only one required field for datasets which is the title. If you enable Open Data Federal Extras, or add custom required fields to the dataset form, we need to account for these new fields in the tests that create and edit datasets. -We use profile and suite level controls to combine our default and custom behat configuration as described here: [Behat Setup](https://github.com/NuCivic/dkan_starter/blob/master/docs/docker-dev-env/behat-setup.rst) +We use profile and suite level controls to combine our default and custom behat configuration as described here: [Behat Setup](https://github.com/GetDKAN/dkan_starter/blob/master/docs/docker-dev-env/behat-setup.rst) Although this technique allows for some level of composition it does not actually allow for custom parameter configurations to be passed into the default context configuration. This state is problematic because we cannot easily adjust the behavior of a dkan test against custom context configurations. -So we need a way to pass custom parameters into the default context. Currently we are adding required fields directly to [DatasetContext.php](https://github.com/NuCivic/dkan/pull/1963/files#diff-c2f41d7be2fa9d3ff5ed50a75faabb1eR19) +So we need a way to pass custom parameters into the default context. Currently we are adding required fields directly to [DatasetContext.php](https://github.com/GetDKAN/dkan/pull/1963/files#diff-c2f41d7be2fa9d3ff5ed50a75faabb1eR19) In the near future, we want to introduce a build step that can merge our custom parameters into the the default behat.yml file in a similar fashion to the way we now merge the upstream config/config.yml to the site specific config/cofig.yml file. So running `ahoy build config` should would apply any custom parameters set in the `config/cofig.yml` into the `dkan/test/behat.yml` context configuration. See [dkan_starter issue](NuCivic/dkan_starter#332). diff --git a/dkan/test/dkanextension/composer.json b/dkan/test/dkanextension/composer.json index 4d1b0d6c5..e3e3e3c28 100644 --- a/dkan/test/dkanextension/composer.json +++ b/dkan/test/dkanextension/composer.json @@ -9,7 +9,7 @@ "authors": [ { "name": "acouch", - "email": "aaron@nucivic.com" + "email": "aaron@example.com" } ], "autoload": { diff --git a/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/HarvestSourceContext.php b/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/HarvestSourceContext.php index cc5b5eb83..946bf688b 100644 --- a/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/HarvestSourceContext.php +++ b/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/HarvestSourceContext.php @@ -84,9 +84,9 @@ public function theHarvestSourceIsHarvested($machine_name) { $user = user_load(1); // Harvest Cache - dkan_harvest_cache_sources(array($harvest_source)); + dkan_harvest_cache_source($harvest_source); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array($harvest_source)); + dkan_harvest_migrate_source($harvest_source); // Make sure that we process any index items added after the harvest. $this->searchContext->process(); diff --git a/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/WorkflowContext.php b/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/WorkflowContext.php index 51eadc92b..49306f019 100644 --- a/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/WorkflowContext.php +++ b/dkan/test/dkanextension/src/Drupal/DKANExtension/Context/WorkflowContext.php @@ -37,6 +37,7 @@ public static function enableDKAN_Workflow(BeforeFeatureScope $scope) features_revert(array('dkan_feedback')); } drupal_flush_all_caches(); + node_access_rebuild(TRUE); } /** @@ -61,6 +62,7 @@ public static function disableDKAN_Workflow(AfterFeatureScope $event) entity_delete_multiple('user', $users_to_delete); module_disable(array_values($modules_to_disable)); drupal_flush_all_caches(); + node_access_rebuild(TRUE); } /** diff --git a/dkan/test/features/dataset.all.feature b/dkan/test/features/dataset.all.feature index 068c1b206..1189a491c 100644 --- a/dkan/test/features/dataset.all.feature +++ b/dkan/test/features/dataset.all.feature @@ -159,15 +159,7 @@ Feature: Dataset Features Then I should see "csv 2 (1)" in the "filter by resource format" region And I should see "html 2 (2)" in the "filter by resource format" region - @dataset_all_10 - Scenario: View available author filters for datasets - When I am on "Datasets Search" page - And I wait for "Author" - ## Uncomment this if you wanna use selenium. - # When I click on the text "Author" - # And I wait for "1" seconds - Then I should see "Gabriel (2)" in the "filter by author" region - Then I should see "Katie (1)" in the "filter by author" region + # dataset_all_10/author facet removed. See GetDKAN/dkan#2033 # TODO: make sure it works when we don't have default content on. @dataset_all_11 @@ -198,20 +190,7 @@ Feature: Dataset Features Then I should see "1 results" And I should see "1" items in the "datasets" region - # TODO: make sure it works when we don't have default content on. - @dataset_all_13 - Scenario: Filter dataset search results by author - When I am on "Datasets Search" page - And I search for "DKANTest" - And I press "Apply" - Then I should see "3 results" - And I should see "3" items in the "datasets" region - ## Uncomment this if you wanna use selenium. - # Then I click on the text "Author" - # Then I wait for "1" seconds - When I click "Gabriel" in the "filter by author" region - Then I should see "2 results" - And I should see "2" items in the "datasets" region + # dataset_all_13/author facet removed. See GetDKAN/dkan#2033 @dataset_all_14 Scenario: View published dataset diff --git a/dkan/test/features/dataset.author.feature b/dkan/test/features/dataset.author.feature index 6bd0d7fb8..8b89f9475 100644 --- a/dkan/test/features/dataset.author.feature +++ b/dkan/test/features/dataset.author.feature @@ -85,6 +85,7 @@ Feature: Dataset Features | description | Test description | | publisher | Group 01 | And I press "Next: Add data" + Then I should not see "Groups" in the "content" region And I fill in "title" with "Test Resource Link File" And I press "Next: Additional Info" And I press "Save" diff --git a/dkan/test/features/group.all.feature b/dkan/test/features/group.all.feature index 6fc1dfb78..74ecd58d1 100644 --- a/dkan/test/features/group.all.feature +++ b/dkan/test/features/group.all.feature @@ -48,18 +48,7 @@ Feature: Site Manager administer groups | title | publisher | tags | author | published | description | date changed | topics | | Dataset 01 | Group 01 | Health 2 | Katie | Yes | Increase of toy prices | 10 September 2015 | Education02 | | Dataset 02 | Group 01 | Health 2 | Katie | No | Cost of oil in January | 10 September 2015 | Education02 | - | Dataset 03 | Group 01 | Gov 2 | Gabriel | Yes | Election districts | 17 October 2015 | Education02 | - | Dataset 04 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Education02 | - | Dataset 05 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 21 September 2015 | Education02 | - | Dataset 06 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 13 March 2015 | Transportation02 | - | Dataset 07 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Transportation02 | - | Dataset 08 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 25 February 2014 | Transportation02 | - | Dataset 09 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 13 September 2014 | Education02 | - | Dataset 10 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 October 2013 | Education02 | - | Dataset 11 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 19 October 2013 | Transportation02 | - | Dataset 12 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 19 October 2013 | Transportation02 | - | Dataset 13 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 23 October 2013 | Transportation02 | - | Dataset 14 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Transportation02 | + | Dataset 03 | Group 01 | Gov 2 | Gabriel | Yes | Election districts | 17 October 2014 | Education02 | And "format" terms: | name | | csv 2 | @@ -89,7 +78,20 @@ Feature: Site Manager administer groups @group_all_04 @customizable Scenario: View the correct count of datasets - Given I am on "Groups" page + Given Datasets: + | title | publisher | tags | author | published | description | date changed | topics | + | Dataset 04 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Education02 | + | Dataset 05 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 21 September 2015 | Education02 | + | Dataset 06 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 13 March 2015 | Transportation02 | + | Dataset 07 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Transportation02 | + | Dataset 08 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 25 February 2014 | Transportation02 | + | Dataset 09 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 13 September 2014 | Education02 | + | Dataset 10 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 October 2013 | Education02 | + | Dataset 11 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 19 October 2013 | Transportation02 | + | Dataset 12 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 19 October 2013 | Transportation02 | + | Dataset 13 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 23 October 2013 | Transportation02 | + | Dataset 14 | Group 02 | Count 2 | Celeste | Yes | Test dataset counts | 10 September 2015 | Transportation02 | + And I am on "Groups" page Then I should see "11 datasets" When I click "11 datasets" Then I should see "Displaying 1 - 10 of 11 datasets" @@ -137,10 +139,14 @@ Feature: Site Manager administer groups @group_all_10 Scenario: View available "date changed" filters after search + Given Datasets: + | title | publisher | author | published | description | date changed | + | Dataset a | Group 02 | Celeste | Yes | Test | 10 September 2013 | + | Dataset b | Group 02 | Celeste | Yes | Test | 21 September 2013 | + | Dataset c | Group 02 | Celeste | Yes | Test | 14 October 2014 | Given I am on "Group 02" page - Then I should see "2015 (5)" in the "filter by date changed" region - And I should see "2013 (4)" in the "filter by date changed" region - And I should see "2014 (2)" in the "filter by date changed" region + Then I should see "2014 (1)" in the "filter by date changed" region + And I should see "2013 (2)" in the "filter by date changed" region @group_all_11 Scenario: Filter datasets on group by resource format diff --git a/dkan/test/features/resource.admin.feature b/dkan/test/features/resource.admin.feature index 1495fe77f..c5ac707b9 100644 --- a/dkan/test/features/resource.admin.feature +++ b/dkan/test/features/resource.admin.feature @@ -111,10 +111,7 @@ Feature: Resource And I wait for "Delete Items" And I click "Delete items" And I press "Delete" - And I wait for "items have been deleted" - And I am on "Resource 04" page - When I click "Manage Datastore" - Then I wait for "No imported items." + Then I wait for "items have been deleted" @noworkflow @datastore @javascript Scenario: Drop datastore of any resource @@ -150,7 +147,7 @@ Feature: Resource @fixme @dkanBug @noworkflow #TODO: There is an issue where an admin, when clicking revert, gets a access unauthorized response. - # See: https://github.com/NuCivic/dkan/issues/793 + # See: https://github.com/GetDKAN/dkan/issues/793 Scenario: Revert any resource revision Given I am logged in as "John" And I am on "Resource 02" page diff --git a/dkan/test/features/resource.all.feature b/dkan/test/features/resource.all.feature index 4e79977cb..ce8807714 100644 --- a/dkan/test/features/resource.all.feature +++ b/dkan/test/features/resource.all.feature @@ -40,13 +40,13 @@ Feature: Resource | Resource 04 | Group 01 | csv | Dataset 01 | Katie | No | Yes | | Resource 05 | Group 01 | csv | Dataset 02 | Celeste | Yes | Yes | - @api + @resource_all_01 @api Scenario: View published resource Given I am on "Dataset 01" page When I click "Resource 01" Then I am on the "Resource 01" page - @api @fixme @testBug + @resource_all_02 @api @fixme @testBug # TODO: Visualization for resources is added, and accessible on the resource's page # Checking the visualization of a resource being correct is not yet defined, need feedback # For example, how should the graph be verified that it is a graph and correctly displaying the data? @@ -56,7 +56,7 @@ Feature: Resource When I click "Graph" Then I should view the "resource" content as "graph" - @api @fixme @testBug + @resource_all_03 @api @fixme @testBug # TODO: Visualization for resources is added, and accessible on the resource's page # Checking the visualization of a resource being correct is not yet defined, need feedback # For example, how should the grid be verified that it is a grid and correctly displaying the data? @@ -66,7 +66,7 @@ Feature: Resource When I click "Grid" Then I should view the "resource" content as "grid" - @api @fixme @testBug + @resource_all_04 @api @fixme @testBug # TODO: Visualization for resources is added, and accessible on the resource's page # Checking the visualization of a resource being correct is not yet defined, need feedback # For example, how should the map be verified that it is a map and correctly displaying the data? @@ -76,22 +76,23 @@ Feature: Resource When I click "Map" Then I should view the "resource" content as "map" - @api @fixme @testBug + @resource_all_05 @api @fixme @testBug #TODO: Need to have test data api set up for new resources for this test # This functionality is tested in another module, test again here? - # See: https://github.com/NuCivic/dkan_datastore/blob/7.x-1.x/tests/dkan_datastore.test - # And See: https://github.com/NuCivic/dkan_dataset/compare/310_dataset_rest_api + # See: https://github.com/GetDKAN/dkan_datastore/blob/7.x-1.x/tests/dkan_datastore.test + # And See: https://github.com/GetDKAN/dkan_dataset/compare/310_dataset_rest_api Scenario: View the Data API information for a published resource Given I am on "Resource 02" page When I click "Data API" Then I should see "The Resource ID for this resource is" And I should see "Example Query" - @api @noworkflow + @resource_all_06 @api @noworkflow Scenario: View previous revisions of published resource Given I am logged in as a user with the "administrator" role And I am on "Resource 01" page And I click "Edit" + And I should not see "Groups" in the "content" region And I fill in "Test" for "Description" And I press "Save" And I am an anonymous user @@ -99,7 +100,7 @@ Feature: Resource When I click "Revisions" Then I should see "This is the published revision" - @api @noworkflow + @resource_all_07 @api @noworkflow Scenario: Compare revisions of published resource Given I am logged in as a user with the "administrator" role And I am on "Resource 01" page @@ -112,26 +113,26 @@ Feature: Resource And I press "Compare" Then I should see "Old Body" - @api @fixme @testBug + @resource_all_08 @api @fixme @testBug #TODO: Needs definition and feedback, not sure where to test this # Does this get tested with the visualization tests for maps? Scenario: View resource data on map automatically if lat and long info is present Given I am on the homepage - @api + @resource_all_09 @api Scenario: View dataset reference on Resource teaser Given I am on "/search" And I click "Resource" Then I should see "Dataset 01" - @api @noworkflow + @resource_all_10 @api @noworkflow Scenario: Data previews when only local enabled Given cartodb previews are disabled for csv resources And I am on "Dataset 01" page Then I should see "Preview" And I should not see "Open with" - @api @noworkflow @fixme + @resource_all_011 @api @noworkflow @fixme #TODO: This test was relying on default dkan content so we needed to fix it, in the next lines there is # an approach but it doesn't work because of a bug in which the carto db previews are not working # for resources which uses linked files. @@ -152,10 +153,14 @@ Feature: Resource Then I should see the local preview link And I should see "CartoDB" - @api - Scenario: Hide "Back to dataset" button on resources without dataset + @resource_all_12 @api + Scenario: Hide "Back to dataset" button AND show the groups field on resources that do not belong to a dataset Given resources: | title | publisher | format | dataset | author | published | description | | Resource Without Dataset | Group 01 | csv | | Katie | Yes | Old Body | + And I am logged in as a user with the "site manager" role And I am on "Resource Without Dataset" page Then I should not see the link "Back to dataset" + When I click "Edit" + Then I should see "Groups" in the "content" region + diff --git a/dkan/test/features/resource.author.feature b/dkan/test/features/resource.author.feature index 89cde1a18..b0bc541d8 100644 --- a/dkan/test/features/resource.author.feature +++ b/dkan/test/features/resource.author.feature @@ -263,10 +263,10 @@ Feature: Resource And I wait for "Delete Items" And I click "Delete items" And I press "Delete" - And I wait for "items have been deleted" - And I am on "Resource 03" page - When I click "Manage Datastore" - Then I wait for "No imported items." + Then I wait for "items have been deleted" + # This test is not really sufficient, but we are going to consolidate the + # "drop" and "delete" datastore functions and do other refactoring, so will + # revisit then. @resource_author_17 @datastore @noworkflow @javascript Scenario: Drop datastore of own resource diff --git a/dkan/test/features/resource.editor.feature b/dkan/test/features/resource.editor.feature index e8821940c..3a7aa6cb6 100644 --- a/dkan/test/features/resource.editor.feature +++ b/dkan/test/features/resource.editor.feature @@ -109,25 +109,22 @@ Feature: Resource Then I should see "Last import" And I should see "imported items total" - @resource_editor_7 @datastore @db @noworkflow @javascript + @resource_editor_7 @datastore @db @noworkflow @javascript Scenario: Delete items on datastore of resources associated with groups that I am a member of - Given I am logged in as "John" - And I am on "Resource 01" page - And I click "Edit" - And I click "Remote file" - And I fill in "edit-field-link-remote-file-und-0-filefield-dkan-remotefile-url" with "https://s3.amazonaws.com/dkan-default-content-files/files/datastore-simple8.csv" - And I press "Save" - Given I am logged in as "Celeste" - When I am on "Resource 01" page - When I click "Manage Datastore" - And I press "Import" - And I wait for "Delete Items" - And I click "Delete items" - And I press "Delete" - And I wait for "items have been deleted" - And I am on "Resource 01" page - When I click "Manage Datastore" - And I wait for "No imported items." + Given I am logged in as "John" + And I am on "Resource 01" page + And I click "Edit" + And I click "Remote file" + And I fill in "edit-field-link-remote-file-und-0-filefield-dkan-remotefile-url" with "https://s3.amazonaws.com/dkan-default-content-files/files/datastore-simple8.csv" + And I press "Save" + Given I am logged in as "Celeste" + When I am on "Resource 01" page + When I click "Manage Datastore" + And I press "Import" + And I wait for "Delete Items" + And I click "Delete items" + And I press "Delete" + Then I wait for "items have been deleted" @resource_editor_8 @datastore @noworkflow @javascript Scenario: Drop datastore of resources associated with groups that I am a member of diff --git a/dkan/test/features/user.admin.feature b/dkan/test/features/user.admin.feature index b940afab0..c6da5b14f 100644 --- a/dkan/test/features/user.admin.feature +++ b/dkan/test/features/user.admin.feature @@ -57,7 +57,7 @@ Feature: User @dkanBug @deleteTempUsers @javascript # Site managers trigger honeypot when creating users. - # See https://github.com/NuCivic/dkan/issues/811 + # See https://github.com/GetDKAN/dkan/issues/811 # Workaround: Wait for 6 seconds so that honeypot doesn't overreact Scenario: Create user and assign role as site manager Given I am logged in as "John" diff --git a/dkan/test/features/widgets.feature b/dkan/test/features/widgets.feature index b2e69c4f1..336eee759 100644 --- a/dkan/test/features/widgets.feature +++ b/dkan/test/features/widgets.feature @@ -1,180 +1,43 @@ -# time:4m38.05s +# time:0m40.08s @api @javascript @disablecaptcha Feature: Widgets - Background: - Given groups: - | title | author | published | - | Group 01 | admin | Yes | - And "Tags" terms: - | name | - | Health 2 | - And "Format" terms: - | name | - | csv 2 | - And datasets: - | title | publisher | author | published | tags | description | - | 11111AAAAAAafghanistan Election Districts | Group 01 | admin | Yes | Health 2 | Test | - And resources: - | title | publisher | format | author | published | dataset | description | - | District Names | Group 01 | csv 2 | admin | Yes | 11111AAAAAAafghanistan Election Districts | | - And I am logged in as a user with the "site manager" role + Scenario: Make sure IPE comes up and shows all options + + Given I am logged in as a user with the "site manager" role And I am on the homepage And I wait for "Customize this page" When I click "Customize this page" And I wait for "Add new pane" And I click "Add new pane" And I wait for "Add content to" - - Scenario: Adds "Button Link" to home page using panels ipe editor - Given the cache has been cleared - When I follow "Link" - And I wait for "Configure new Link" - And I fill in "edit-button-link-title" with "Link example" - And I fill in "edit-button-link-url" with "http://demo.getdkan.com" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "Link example" - - Scenario: Adds "New File Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "File" - And I wait for "Configure new File" - And I attach the drupal file "dkan/actionplan.pdf" to "files[field_basic_file_file_und_0]" - And I press "Finish" - And I wait for "2" seconds - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "actionplan.pdf" - - Scenario: Adds "New Image Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add image" - And I wait for "Configure new Image" - And I fill in "field_basic_image_caption[und][0][value]" with "dkan logo image test" - And I click "Browse" - And I wait for "2" seconds - And I switch to the frame "mediaBrowser" - And I attach the drupal file "dkan/dkan_logo.png" to "files[upload]" - And I press "Next" - And I wait and press "Save" - And I wait and press "Finish" - And I wait for "2" seconds - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "dkan logo image test" - - Scenario: Adds "New Text Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add text" - And I wait for "Configure new Text" - And I fill in "field_basic_text_text[und][0][value]" with "text example" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "text example" - - Scenario: Adds "New Map Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add map" - And I wait for "Configure new Map" - And I fill in "field_map_address[und][0][value]" with "175th St, Jamaica, NY 11433, USA" - And I fill in "field_map_information[und][0][value]" with "map example" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "map example" - - Scenario: Adds "New Table Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add table" - And I wait for "Configure new Table" - And I fill in "field-basic-table-table-und-0-tablefield-cell-0-0" with "date" - And I fill in "field-basic-table-table-und-0-tablefield-cell-0-1" with "price" - And I fill in "field-basic-table-table-und-0-tablefield-cell-1-0" with "05/05/15" - And I fill in "field-basic-table-table-und-0-tablefield-cell-1-1" with "12.3" - And I fill in "field-basic-table-table-und-0-tablefield-cell-2-0" with "05/06/15" - And I fill in "field-basic-table-table-und-0-tablefield-cell-2-1" with "9.3" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "date" - Then I should see "price" - Then I should see "05/05/15" - Then I should see "12.3" - Then I should see "05/06/15" - Then I should see "9.3" - - Scenario: Adds "New Video Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add video" - And I wait for "Configure new Video" - When I fill in "Testing video" for "edit-title" - When I click "Browse" - And I wait for "2" seconds - And I switch to the frame "mediaBrowser" - Then I wait for "Supported internet media providers" - And I should see "YouTube" - When I fill in "File URL or media resource" with "https://www.youtube.com/watch?v=1TV0q4Sdxlc" - And I press "Next" - And I wait and press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "Testing video" - - Scenario: Adds "New Spotlight Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Add spotlight" - And I wait for "Configure new Slideshow" - And I fill in "field_basic_spotlight_items[und][0][title]" with "First spot" - And I fill in "field_basic_spotlight_items[und][0][link]" with "http://demo.getdkan.com" - And I attach the drupal file "dkan/dkan_logo.png" to "files[field_basic_spotlight_items_und_0_fid]" - And I press "Finish" - And I wait and press "Save" - And I wait for "First spot" - Then I should see "First spot" in the "content" - - @no-main-menu - Scenario: Adds "New Submenu Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Submenu" - And I wait for "Configure new Submenu" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "Datasets" in the "content" - - Scenario: Adds "New Content List Widget" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Content List" - And I wait for "Configure new Content List" - When I select "Dataset" from "exposed[type]" - And I select "Asc" from "exposed[sort_order]" - And I select "Title" from "exposed[sort_by]" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "11111AAAAAAafghanistan" - And I should see "Posted by admin" - - Scenario: Adds "Existing Content" block to home page using panels ipe editor - Given the cache has been cleared - When I follow "Existing content" - And I wait for "Configure new Existing content" - And I fill in "edit-nid" with "11111AAAAAAafghanistan Election Districts" - And I press "Finish" - And I wait and press "Save" - And I wait for "Customize this page" - Then I should see "11111AAAAAAafghanistan Election Districts" - And I should see "csv" + Then I should see "Link" + And I should see "File" + And I should see "Image" + And I should see "Text" + And I should see "Map" + And I should see "Table" + And I should see "Video" + And I should see "Slideshow" + And I should see "Submenu" + And I should see "Content List" + And I should see "Existing content" + And I should see "Visualization" + Then I press "Close Window" + Then I press "Cancel" Scenario: Adds "Visualization embed" block to home page using panels ipe editor - Given the cache has been cleared + Given I am logged in as a user with the "site manager" role + And I am on the homepage + And I wait for "Customize this page" + When I click "Customize this page" + And I wait for "Add new pane" + And I click "Add new pane" + And I wait for "Add content to" When I follow "visualization" And I wait for "Configure new Visualization" And I select "remote" from "source_origin" And I fill in "edit-remote-source" with "http://demo.getdkan.com/node/7/recline-embed#{view-graph:{graphOptions:{hooks:{processOffset:{},bindEvents:{}}}},graphOptions:{hooks:{processOffset:{},bindEvents:{}}}}" And I press "Finish" And I wait for "Visualization embed" - Then I should see "Visualization embed" \ No newline at end of file + Then I should see "Visualization embed" diff --git a/dkan/test/features/workflow.feature b/dkan/test/features/workflow.feature index 96946a021..6aa746424 100644 --- a/dkan/test/features/workflow.feature +++ b/dkan/test/features/workflow.feature @@ -29,10 +29,9 @@ Feature: | user | group | role on group | membership status | | Supervisor | Group 01 | administrator member | Active | | Moderator | Group 01 | member | Active | - | Contributor| Group 01 | member | Active | + | Contributor| Group 01 | member | Active | | Moderator | Group 02 | member | Active | - #Non workbench roles can see the menu item My Workflow. However #they can't access to the page. @workflow_01 @globalUser @@ -495,4 +494,31 @@ Feature: # Check that the dataset is back Given I am logged in as "Contributor" When I am on the "My Drafts" page - Then I should see "My Draft Dataset" \ No newline at end of file + Then I should see "My Draft Dataset" + + @workflow_23 @javascript + Scenario: As an anonymous user I should see a revisions link when dkan_workflow is enabled. + Given pages: + | name | url | + | Datasets | /search/type/dataset | + | Rebuild perms | /admin/reports/status/rebuild | + And datasets: + | title | publisher | author | published | description | + | Dataset Revision Test | Group 01 | Moderator | Yes | Test | + When I am on the "Datasets" page + And I click "Dataset Revision Test" + Then I should not see "Revisions" + Given I am logged in as a user with the "administrator" role + And I am on the "Dataset Revision Test" page + When I click "New draft" + And I fill in "edit-title" with "Dataset Revision Test NEW" + And I click "Publishing options" + Then I select "Published" from "edit-workbench-moderation-state-new" + And I press "Finish" + Given I am on the "Rebuild perms" page + And I press "Rebuild permissions" + And I wait for "Status report" + And I click "Log out" + And I am on the "Datasets" page + And I click "Dataset Revision Test" + Then I should see "Revisions" diff --git a/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationScenariosTest.php b/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationScenariosTest.php index 881b5b40d..eb83675ed 100644 --- a/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationScenariosTest.php +++ b/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationScenariosTest.php @@ -45,9 +45,9 @@ protected function setUp() { public function testHarvestSourceUnchanged() { $source = self::getOriginalTestSource(); // Harvest cache the test source. - dkan_harvest_cache_sources(array($source)); + dkan_harvest_cache_source($source); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array($source)); + dkan_harvest_migrate_source($source); // We want to make sure the dataset record in the migration map did not // change. Collect various harvest migration data before running the @@ -79,9 +79,9 @@ public function testHarvestSourceUnchanged() { // Rerun the harvest without changing the source data. // Harvest cache the test source. - dkan_harvest_cache_sources(array(self::getOriginalTestSource())); + dkan_harvest_cache_source(self::getOriginalTestSource()); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array(self::getOriginalTestSource())); + dkan_harvest_migrate_source(self::getOriginalTestSource()); $migrationNew = dkan_harvest_get_migration(self::getOriginalTestSource()); $migrationNewMap = $this->getMapTableFromMigration($migrationNew); @@ -140,9 +140,9 @@ public function testHarvestSourceUnchanged() { public function testHarvestSourceAlternative() { $source = self::getOriginalTestSource(); // Harvest cache the test source. - dkan_harvest_cache_sources(array($source)); + dkan_harvest_cache_source($source); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array($source)); + dkan_harvest_migrate_source($source); // Get the current values. $migrationOld = dkan_harvest_get_migration(self::getOriginalTestSource()); @@ -160,8 +160,8 @@ public function testHarvestSourceAlternative() { // Rerun the harvest (cache + migration) with the alternative source. the // source XML docs. Harvest cache the test source. - dkan_harvest_cache_sources(array(self::getAlternativeTestSource())); - dkan_harvest_migrate_sources(array(self::getAlternativeTestSource())); + dkan_harvest_cache_source(self::getAlternativeTestSource()); + dkan_harvest_migrate_source(self::getAlternativeTestSource()); $migrationAlternative = dkan_harvest_get_migration(self::getAlternativeTestSource()); $migrationAlternativeMap = $this->getMapTableFromMigration($migrationAlternative); @@ -232,8 +232,8 @@ public function testHarvestSourceAlternative() { public function testHarvestSourceError() { // Run the harvest (cache + migration) with the error source. the // source XML docs. Harvest cache the test source. - dkan_harvest_cache_sources(array(self::getErrorTestSource())); - dkan_harvest_migrate_sources(array(self::getErrorTestSource())); + dkan_harvest_cache_source(self::getErrorTestSource()); + dkan_harvest_migrate_source(self::getErrorTestSource()); $migrationError = dkan_harvest_get_migration(self::getErrorTestSource()); $migrationErrorMap = $this->getMapTableFromMigration($migrationError); @@ -294,8 +294,8 @@ public function testHarvestSourceEmpty() { // Rerun the harvest (cache + migration) with the empty source. the // source XML docs. Harvest cache the test source. - dkan_harvest_cache_sources(array(self::getEmptyTestSource())); - dkan_harvest_migrate_sources(array(self::getEmptyTestSource())); + dkan_harvest_cache_source(self::getEmptyTestSource()); + dkan_harvest_migrate_source(self::getEmptyTestSource()); $migrationEmpty = dkan_harvest_get_migration(self::getEmptyTestSource()); $migrationEmptyMap = $this->getMapTableFromMigration($migrationEmpty); @@ -341,8 +341,8 @@ public function testHarvestSourceEmpty() { */ public function testHarvestSourceZombi() { // Harvest the faulty source. - dkan_harvest_cache_sources(array(self::getErrorTestSource())); - dkan_harvest_migrate_sources(array(self::getErrorTestSource())); + dkan_harvest_cache_source(self::getErrorTestSource()); + dkan_harvest_migrate_source(self::getErrorTestSource()); $migrationError = dkan_harvest_get_migration(self::getErrorTestSource()); $migrationErrorMap = $this->getMapTableFromMigration($migrationError); @@ -351,12 +351,12 @@ public function testHarvestSourceZombi() { $migrationErrorMessage = $this->getMessageTableFromMigration($migrationError); // Harvest the faulty source. - dkan_harvest_cache_sources(array(self::getErrorTestSource())); - dkan_harvest_migrate_sources(array(self::getErrorTestSource())); + dkan_harvest_cache_source(self::getErrorTestSource()); + dkan_harvest_migrate_source(self::getErrorTestSource()); // Harvest the empty source. - dkan_harvest_cache_sources(array(self::getEmptyTestSource())); - dkan_harvest_migrate_sources(array(self::getEmptyTestSource())); + dkan_harvest_cache_source(self::getEmptyTestSource()); + dkan_harvest_migrate_source(self::getEmptyTestSource()); $migrationEmpty = dkan_harvest_get_migration(self::getEmptyTestSource()); $migrationEmptyMap = $this->getMapTableFromMigration($migrationEmpty); @@ -379,8 +379,8 @@ public function testHarvestSourceZombi() { */ public function testHarvestSourceMessagesAppend() { // Harvest the faulty source. - dkan_harvest_cache_sources(array(self::getErrorTestSource())); - dkan_harvest_migrate_sources(array(self::getErrorTestSource())); + dkan_harvest_cache_source(self::getErrorTestSource()); + dkan_harvest_migrate_source(self::getErrorTestSource()); $migrationError = dkan_harvest_get_migration(self::getErrorTestSource()); $migrationErrorMessage = $this->getMessageTableFromMigration($migrationError); @@ -392,8 +392,8 @@ public function testHarvestSourceMessagesAppend() { $options = array( 'skiphash' => TRUE, ); - dkan_harvest_cache_sources(array(self::getErrorTestSource())); - dkan_harvest_migrate_sources(array(self::getErrorTestSource()), $options); + dkan_harvest_cache_source(self::getErrorTestSource()); + dkan_harvest_migrate_source(self::getErrorTestSource(), $options); $migrationErrorAfter = dkan_harvest_get_migration(self::getErrorTestSource()); $migrationErrorAfterMessage = $this->getMessageTableFromMigration($migrationError); @@ -419,9 +419,9 @@ public function testGroupsUpdate() { // Harvest the test source. $source = self::getOriginalTestSource(); // Harvest cache the test source. - dkan_harvest_cache_sources(array($source)); + dkan_harvest_cache_source($source); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array($source)); + dkan_harvest_migrate_source($source); $dataset_nid = end($this->getTestDatasetNid($source)); $dataset = entity_metadata_wrapper('node', $dataset_nid); @@ -434,8 +434,8 @@ public function testGroupsUpdate() { $this->assertEquals(count($dataset_groups), '1'); // Rerun the harvest (cache + migration) with the group updated source. - dkan_harvest_cache_sources(array(self::getGroupUpdatedTestSource())); - dkan_harvest_migrate_sources(array(self::getGroupUpdatedTestSource())); + dkan_harvest_cache_source(self::getGroupUpdatedTestSource()); + dkan_harvest_migrate_source(self::getGroupUpdatedTestSource()); // Get updated dataset. $dataset_nids = $this->getTestDatasetNid(self::getGroupUpdatedTestSource()); @@ -468,8 +468,8 @@ public function testGroupsUpdate() { */ public function testResourceRedirect() { // Harvest a source that have resources behind redirects. - dkan_harvest_cache_sources(array(self::getResourceWithRedirects())); - dkan_harvest_migrate_sources(array(self::getResourceWithRedirects())); + dkan_harvest_cache_source(self::getResourceWithRedirects()); + dkan_harvest_migrate_source(self::getResourceWithRedirects()); // Get updated dataset. $dataset_nids = $this->getTestDatasetNid(self::getResourceWithRedirects()); @@ -492,8 +492,8 @@ public function testResourceRedirect() { */ public function testResourceSchemeless() { // Harvest a source that have resources without scheme. - dkan_harvest_cache_sources(array(self::getResourceSchemeless())); - dkan_harvest_migrate_sources(array(self::getResourceSchemeless())); + dkan_harvest_cache_source(self::getResourceSchemeless()); + dkan_harvest_migrate_source(self::getResourceSchemeless()); // Get imported dataset. $dataset_nids = $this->getTestDatasetNid(self::getResourceSchemeless()); @@ -516,8 +516,8 @@ public function testResourceSchemeless() { */ public function testBom() { // Harvest a source that have resources without scheme. - dkan_harvest_cache_sources(array(self::getResourceBom())); - dkan_harvest_migrate_sources(array(self::getResourceBom())); + dkan_harvest_cache_source(self::getResourceBom()); + dkan_harvest_migrate_source(self::getResourceBom()); $migration = dkan_harvest_get_migration(self::getResourceBom()); $migrationMap = $this->getMapTableFromMigration($migration); @@ -552,8 +552,8 @@ public function testTemporal() { ); // Harvest the faulty source. - dkan_harvest_cache_sources(array(self::getResourceTemporal())); - dkan_harvest_migrate_sources(array(self::getResourceTemporal())); + dkan_harvest_cache_source(self::getResourceTemporal()); + dkan_harvest_migrate_source(self::getResourceTemporal()); $migration = dkan_harvest_get_migration(self::getResourceTemporal()); $migrationMap = $this->getMapTableFromMigration($migration); @@ -576,8 +576,8 @@ public function testTemporal() { */ public function testResourceAccessUrl() { // Harvest the source. - dkan_harvest_cache_sources(array(self::getResourceAccessUrl())); - dkan_harvest_migrate_sources(array(self::getResourceAccessUrl())); + dkan_harvest_cache_source(self::getResourceAccessUrl()); + dkan_harvest_migrate_source(self::getResourceAccessUrl()); $migration = dkan_harvest_get_migration(self::getResourceAccessUrl()); $migrationMap = $this->getMapTableFromMigration($migration); $dest_ids = array_map(function ($mapRecord) { @@ -600,8 +600,8 @@ public function testResourceAccessUrl() { */ public function testNoIssued() { // Harvest the source. - dkan_harvest_cache_sources(array(self::getResourceNoIssued())); - dkan_harvest_migrate_sources(array(self::getResourceNoIssued())); + dkan_harvest_cache_source(self::getResourceNoIssued()); + dkan_harvest_migrate_source(self::getResourceNoIssued()); $migration = dkan_harvest_get_migration(self::getResourceNoIssued()); $migrationMap = $this->getMapTableFromMigration($migration); $dest_ids = array_map(function ($mapRecord) { @@ -630,8 +630,8 @@ public function testHarvestError() { } // Running the harvest should generate an error. - dkan_harvest_cache_sources(array(self::getOriginalTestSource())); - dkan_harvest_migrate_sources(array(self::getOriginalTestSource())); + dkan_harvest_cache_source(self::getOriginalTestSource()); + dkan_harvest_migrate_source(self::getOriginalTestSource()); $migrationError = dkan_harvest_get_migration(self::getOriginalTestSource()); $migrationErrorMessages = $this->getMessageTableFromMigration($migrationError); @@ -662,8 +662,8 @@ public function testHarvestError() { } // Running the harvest should generate an error. - dkan_harvest_cache_sources(array(self::getOriginalTestSource())); - dkan_harvest_migrate_sources(array(self::getOriginalTestSource())); + dkan_harvest_cache_source(self::getOriginalTestSource()); + dkan_harvest_migrate_source(self::getOriginalTestSource()); $migrationError = dkan_harvest_get_migration(self::getOriginalTestSource()); $migrationErrorMessages = $this->getMessageTableFromMigration($migrationError); diff --git a/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationTest.php b/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationTest.php index c1cee637b..e5f78cb32 100644 --- a/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationTest.php +++ b/dkan/test/phpunit/dkan_harvest/DatajsonHarvestMigrationTest.php @@ -21,9 +21,9 @@ public static function setUpBeforeClass() { $source = self::getOriginalTestSource(); // Harvest cache the test source. - dkan_harvest_cache_sources(array($source)); + dkan_harvest_cache_source($source); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array($source)); + dkan_harvest_migrate_source($source); // We need this module for the testResourceRedirect test. module_enable(array('dkan_harvest_test')); @@ -115,7 +115,7 @@ public function testModified($dataset) { */ public function testContact($dataset) { $this->assertEquals("Stefanie Gray", $dataset->field_contact_name->value()); - $this->assertEquals("stefanie@nucivic.com", $dataset->field_contact_email->value()); + $this->assertEquals("stefanie@example.com", $dataset->field_contact_email->value()); } /** diff --git a/dkan/test/phpunit/dkan_harvest/DkanHarvestDataJsonTest.php b/dkan/test/phpunit/dkan_harvest/DkanHarvestDataJsonTest.php index 343c8d62a..ffb9e5d4f 100644 --- a/dkan/test/phpunit/dkan_harvest/DkanHarvestDataJsonTest.php +++ b/dkan/test/phpunit/dkan_harvest/DkanHarvestDataJsonTest.php @@ -1,10 +1,14 @@ <?php + /** * @file + * Tests for dkan_harvest module. */ /** + * Test class for Data Json migration tests. * + * @class DkanHarvestDataJsonTest * */ class DkanHarvestDataJsonTest extends PHPUnit_Framework_TestCase { @@ -13,10 +17,10 @@ class DkanHarvestDataJsonTest extends PHPUnit_Framework_TestCase { */ public static function setUpBeforeClass() { // Harvest cache the test source. - dkan_harvest_cache_sources(array(self::getTestSource())); + dkan_harvest_cache_source(self::getTestSource()); // Harvest Migration of the test data. - dkan_harvest_migrate_sources(array(self::getTestSource())); + dkan_harvest_migrate_source(self::getTestSource()); } /** @@ -25,7 +29,10 @@ public static function setUpBeforeClass() { protected function setUp() { } - public function testDKANHarvestDataJsonModifiers() { + /** + * Test harvest filters on data.json source. + */ + public function testDkanHarvestDataJsonModifiers() { $source = self::getTestSource(); $data = drupal_json_decode(file_get_contents(__DIR__ . '/data/dkan_harvest_datajson_test_filters.json')); $cache = dkan_harvest_datajson_cache_pod_v1_1_json($data, $source, microtime()); @@ -38,15 +45,14 @@ public function testDKANHarvestDataJsonModifiers() { $this->assertEquals($node['title'], 'Wisconsin Polling Places TEST'); $this->assertEquals($dataset['awesomekey'], 'politics'); $this->assertEquals($dataset['publisher']['name'], 'nucivic'); - // With filters and excludes, only one dataset should be cached from source + // With filters and excludes, only one dataset should be cached from source. $this->assertEquals($count, 1); } /** * @covers dkan_harvest_datajson_prepare_item_id(). */ - public function testDKANHarvestDataJsonPrepareItemId() - { + public function testDkanHarvestDataJsonPrepareItemId() { $url = 'http://example.com/what'; $dir = dkan_harvest_datajson_prepare_item_id($url); $this->assertEquals($dir, 'what'); @@ -60,7 +66,6 @@ public function testDKANHarvestDataJsonPrepareItemId() $this->assertEquals($dir, ''); } - /** * {@inheritdoc} */ @@ -86,4 +91,5 @@ public static function getTestSource() { $source->overrides = array('publisher.name' => array('nucivic')); return $source; } + } diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_alternative.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_alternative.json index 3b35eac4e..7466b9eaa 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_alternative.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_alternative.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ @@ -55,4 +55,4 @@ "title": "TEST - State Workforce by Generation (2011-2015)" } ] -} \ No newline at end of file +} diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_error.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_error.json index 06e099266..9fa0befb6 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_error.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_error.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ @@ -54,4 +54,4 @@ "title": ["TEST - State Workforce by Generation (2011-2015)"] } ] -} \ No newline at end of file +} diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_group_updated.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_group_updated.json index ce344beff..42e34f0a9 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_group_updated.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_group_updated.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ @@ -54,4 +54,4 @@ "title": "TEST - State Workforce by Generation (2011-2015)" } ] -} \ No newline at end of file +} diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_no_resources.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_no_resources.json index 14da6bf3f..5e43505f3 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_no_resources.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_no_resources.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "identifier": "95f8eac4-fd1f-4b35-8472-5c87e9425dfa", diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_original.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_original.json index 4d9291e71..4ef721dbb 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_original.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_original.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_redirects.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_redirects.json index 2cb10d166..ecfd4f0a9 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_redirects.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_redirects.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_resource_accessurl.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_resource_accessurl.json index b396a1839..067420950 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_resource_accessurl.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_resource_accessurl.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ diff --git a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_schemeless_resource.json b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_schemeless_resource.json index 9b02026c5..952d262ad 100644 --- a/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_schemeless_resource.json +++ b/dkan/test/phpunit/dkan_harvest/data/dkan_harvest_datajson_test_schemeless_resource.json @@ -10,7 +10,7 @@ "accessLevel": "public", "contactPoint": { "fn": "Stefanie Gray", - "hasEmail": "mailto:stefanie@nucivic.com" + "hasEmail": "mailto:stefanie@example.com" }, "description": "<p>Information about the state workforce, broken down into four generational cohorts.</p> <p><strong>Note:</strong> This dataset has been given a vague name because it is anonymized demo data, not actual state data.</p> ", "distribution": [ diff --git a/dkan/themes/nuboot_radix/README.md b/dkan/themes/nuboot_radix/README.md index bef999563..b48280635 100644 --- a/dkan/themes/nuboot_radix/README.md +++ b/dkan/themes/nuboot_radix/README.md @@ -1,6 +1,6 @@ # Nuboot Radix theme -This is the default theme for DKAN 1.0 -> https://github.com/NuCivic/dkan +This is the default theme for DKAN 1.0 -> https://github.com/GetDKAN/dkan ## Installation @@ -36,7 +36,7 @@ To create a Nuboot Radix subtheme, run these command ```drush vset theme_default radix``` -```drush radix "MyThemeName" --kit=https://github.com/NuCivic/radix-kit-nuboot/archive/master.zip``` +```drush radix "MyThemeName" --kit=https://github.com/GetDKAN/radix-kit-nuboot/archive/master.zip``` ```drush vset theme_default MyThemeName``` diff --git a/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css b/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css index 287455133..69f01912a 100644 --- a/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css +++ b/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css @@ -9563,6 +9563,9 @@ div.horizontal-tabs { font-size: 12px; line-height: 1.15em; } } +.node-resource-form #edit_og_group_ref_und_chosen { + width: 100% !important; } + .node-resource-form .field-name-field-upload .form-type-managed-file { display: table; } .node-resource-form .field-name-field-upload .form-type-managed-file .file-widget { @@ -9593,6 +9596,9 @@ div.horizontal-tabs { #views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page .form-group input { width: 100px; } +.view-dkan-harvest-dashboard .view-header { + margin-bottom: 10px; } + .pane-dkan-harvest-harvest-source-summary .summary-details { border-color: #ddd; border-width: 0 1px 1px 1px; @@ -10128,9 +10134,8 @@ ul.action-links { .page-node-add-resource .field-group-htabs.group-data div.horizontal-tabs { border: 0; } - -.page-node-add-resource .form-item { - margin: 0; } + .page-node-add-resource .field-group-htabs.group-data div.horizontal-tabs .form-item { + margin: 0; } #action-info { color: #d9534f; diff --git a/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css.map b/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css.map index 0a41ae8db..92321ffe1 100644 --- a/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css.map +++ b/dkan/themes/nuboot_radix/assets/css/nuboot_radix.style.css.map @@ -1 +1 @@ -{"version":3,"sources":["nuboot_radix.style.css","../bower_components/compass-mixins/lib/compass/functions/_lists.scss","../bower_components/compass-mixins/lib/compass/functions/_constants.scss","../bower_components/compass-mixins/lib/compass/functions/_display.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss","../bower_components/compass-mixins/lib/compass/css3/_shared.scss","../bower_components/compass-mixins/lib/compass/css3/_box-sizing.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss","../bower_components/compass-mixins/lib/compass/css3/_transition.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss","../bower_components/compass-mixins/lib/compass/utilities/general/_clearfix.scss","../bower_components/compass-mixins/lib/compass/utilities/general/_hacks.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss","../bower_components/compass-mixins/lib/compass/css3/_box-shadow.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss","../bower_components/compass-mixins/lib/compass/css3/_opacity.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss","../bower_components/compass-mixins/lib/compass/css3/_transform.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-text.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss","../bower_components/compass-mixins/lib/compass/typography/text/_replacement.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss","../bower_components/font-awesome/scss/font-awesome.scss","../bower_components/font-awesome/scss/_path.scss","../bower_components/font-awesome/scss/_core.scss","../bower_components/font-awesome/scss/_larger.scss","../bower_components/font-awesome/scss/_fixed-width.scss","../bower_components/font-awesome/scss/_list.scss","../bower_components/font-awesome/scss/_variables.scss","../bower_components/font-awesome/scss/_bordered-pulled.scss","../bower_components/font-awesome/scss/_animated.scss","../bower_components/font-awesome/scss/_rotated-flipped.scss","../bower_components/font-awesome/scss/_mixins.scss","../bower_components/font-awesome/scss/_stacked.scss","../bower_components/font-awesome/scss/_icons.scss","../bower_components/font-awesome/scss/_screen-reader.scss","radix/_admin.scss","radix/_comment.scss","radix/_form.scss","radix/_mixins.scss","radix/_layout.scss","radix/_maintenance.scss","radix/_modal.scss","radix/_nav.scss","radix/_node.scss","radix/_panel.scss","radix/_structure.scss","radix/_view.scss","base/_mixins.scss","components/_admin.scss","components/_block.scss","base/_variables.scss","components/_dkan.scss","components/_form.scss","components/_harvest.scss","components/_ipe.scss","components/_layout.scss","components/_menu.scss","components/_node.scss","components/_page.scss","components/_panel.scss","components/_panopoly.scss","components/_recline.scss","components/_responsive.scss","components/_search.scss","components/_structure.scss","components/_term.scss","components/_ui.scss","components/_view.scss","../bower_components/compass-mixins/lib/compass/css3/_text-shadow.scss"],"names":[],"mappings":"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gBlBpB0B;EkBqB1B,iBlBiC2B;EkBhC3B,mBlBoC2B,EkBnC5B;;AAED;;;EACE,alB0ImC;EkBzInC,kBlByImC,EkBxIpC;;AAED;;;;;;;EACE,aAAa,EACd;;AFsPH;EAEI,ahBpHmC;EgBqHnC,kBhBzO4B;EgB0O5B,gBhB1R0B;EgB2R1B,iBhBrO2B;EgBsO3B,mBhBlO2B,EgBmO5B;;AAPH;EASI,ahB3HmC;EgB4HnC,kBhB5HmC,EgB6HpC;;AAXH;;EAcI,aAAa,EACd;;AAfH;EAiBI,ahBnImC;EgBoInC,iBAAkC;EAClC,kBhBzP4B;EgB0P5B,gBhB1S0B;EgB2S1B,iBhBrP2B,EgBsP5B;;AE3RD;;;;EACE,alBgJkC;EkB/IlC,mBlB0B4B;EkBzB5B,gBlBrB0B;EkBsB1B,qBlBgCiC;EkB/BjC,mBlBmC2B,EkBlC5B;;AAED;;;EACE,alBwIkC;EkBvIlC,kBlBuIkC,EkBtInC;;AAED;;;;;;;EACE,aAAa,EACd;;AFgRH;EAEI,ahBhJkC;EgBiJlC,mBhBtQ4B;EgBuQ5B,gBhBrT0B;EgBsT1B,qBhBhQiC;EgBiQjC,mBhB7P2B,EgB8P5B;;AAPH;EASI,ahBvJkC;EgBwJlC,kBhBxJkC,EgByJnC;;AAXH;;EAcI,aAAa,EACd;;AAfH;EAiBI,ahB/JkC;EgBgKlC,iBAAkC;EAClC,mBhBtR4B;EgBuR5B,gBhBrU0B;EgBsU1B,qBhBhRiC,EgBiRlC;;AAQH;EAEE,mBAAmB,EAMpB;EARD;IAMI,sBAAkC,EACnC;;AAGH;EACE,mBAAmB;EACnB,OAAO;EACP,SAAS;EACT,WAAW;EACX,eAAe;EACf,YhB9LqD;EgB+LrD,ahB/LqD;EgBgMrD,kBhBhMqD;EgBiMrD,mBAAmB;EACnB,qBAAqB,EACtB;;AACD;;;;;;EAGE,YhBrMoC;EgBsMpC,ahBtMoC;EgBuMpC,kBhBvMoC,EgBwMrC;;AACD;;;;;;EAGE,YhB1MqC;EgB2MrC,ahB3MqC;EgB4MrC,kBhB5MqC,EgB6MtC;;AAGD;;;;;;;;;;EExZI,elBseoC,EkBrerC;;AFuZH;EEpZI,sBlBkeoC;EFpeyB,yHmB0B9C,ECjBh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IACpB,sBAAoB,EACzB;EDuDH;ICrDI,YrB0IiC;IqBzIjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkDH;;;;IC9CI,YrBmIiC;IqBlIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmCH;;;;;;;;;;MCvCM,YrB4H+B;MqB3H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoCL;;;;IC/BI,uBAAuB,EACxB;ED8BH;;;;;;;;;;;;;;;;ICvBM,0BrB9BwB;IqB+BpB,sBrB6G6B,EqB5GlC;EDqBL;ICjBI,erBpC0B;IqBqC1B,uBrBqGiC,EqBpGlC;;ADmBH;ECpEE,YrByJmC;EqBxJnC,0BrBW6B;EqBV7B,sBrByJqC,EoBrFtC;EAFD;IC9DI,YrBmJiC;IqBlJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED2DH;ICzDI,YrB8IiC;IqB7IjC,0BAAwB;IACpB,sBAAoB,EACzB;EDsDH;;IClDI,YrBuIiC;IqBtIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDuCH;;;;MC3CM,YrBgI+B;MqB/H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDwCL;;ICnCI,uBAAuB,EACxB;EDkCH;;;;IC3BM,0BrB7ByB;IqB8BrB,sBrBiH6B,EqBhHlC;EDyBL;ICrBI,erBnC2B;IqBoC3B,uBrByGiC,EqBxGlC;;ADuBH;ECxEE,YrB6JmC;EqB5JnC,0BrBY6B;EqBX7B,sBrB6JqC,EoBrFtC;EAFD;IClEI,YrBuJiC;IqBtJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED+DH;IC7DI,YrBkJiC;IqBjJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED0DH;;ICtDI,YrB2IiC;IqB1IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID2CH;;;;MC/CM,YrBoI+B;MqBnI/B,0BAAwB;MACpB,sBAAoB,EACzB;ED4CL;;ICvCI,uBAAuB,EACxB;EDsCH;;;;IC/BM,0BrB5ByB;IqB6BrB,sBrBqH6B,EqBpHlC;ED6BL;ICzBI,erBlC2B;IqBmC3B,uBrB6GiC,EqB5GlC;;AD2BH;EC5EE,YrBiKmC;EqBhKnC,0BrBa6B;EqBZ7B,sBrBiKqC,EoBrFtC;EAFD;ICtEI,YrB2JiC;IqB1JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDmEH;ICjEI,YrBsJiC;IqBrJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED8DH;;IC1DI,YrB+IiC;IqB9IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID+CH;;;;MCnDM,YrBwI+B;MqBvI/B,0BAAwB;MACpB,sBAAoB,EACzB;EDgDL;;IC3CI,uBAAuB,EACxB;ED0CH;;;;ICnCM,0BrB3ByB;IqB4BrB,sBrByH6B,EqBxHlC;EDiCL;IC7BI,erBjC2B;IqBkC3B,uBrBiHiC,EqBhHlC;;AD+BH;EChFE,YrBqKmC;EqBpKnC,0BrBc6B;EqBb7B,sBrBqKqC,EoBrFtC;EAFD;IC1EI,YrB+JiC;IqB9JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDuEH;ICrEI,YrB0JiC;IqBzJjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkEH;;IC9DI,YrBmJiC;IqBlJjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmDH;;;;MCvDM,YrB4I+B;MqB3I/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoDL;;IC/CI,uBAAuB,EACxB;ED8CH;;;;ICvCM,0BrB1ByB;IqB2BrB,sBrB6H6B,EqB5HlC;EDqCL;ICjCI,erBhC2B;IqBiC3B,uBrBqHiC,EqBpHlC;;ADwCH;EACE,epB/E4B;EoBgF5B,oBAAoB;EACpB,iBAAiB,EA8BlB;EAjCD;;IAUI,8BAA8B;ItBtF+B,yFmB0B9C,EG8DhB;EAZH;IAiBI,0BAA0B,EAC3B;EAlBH;IAqBI,epBhF0B;IoBiF1B,2BpB/E6B;IoBgF7B,8BAA8B,EAC/B;EAxBH;;;IA6BM,epB9G0B;IoB+G1B,sBAAsB,EACvB;;AAQL;EC1EE,mBrBsC8B;EqBrC9B,gBrBT4B;EqBU5B,qBrB4CmC;EqB3CnC,mBrB+C6B,EoB2B9B;;AACD;EC9EE,kBrByC8B;EqBxC9B,gBrBR4B;EqBS5B,iBrB6C6B;EqB5C7B,mBrBgD6B,EoB8B9B;;AACD;EClFE,iBrB4C6B;EqB3C7B,gBrBR4B;EqBS5B,iBrB6C6B;EqB5C7B,mBrBgD6B,EoBiC9B;;AAMD;EACE,eAAe;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I;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AASpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAA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BjC1C8C,EiC2C/C;EAzBP;IA+BQ,YjChDuC;IiCiDvC,0BjChDyC,EiCiD1C;EAjCP;IAuCQ,YjCtDuC;IiCuDvC,8BjCtD8C,EiCuD/C;EAzCP;IA8CI,mBjClD2C,EiC0D5C;IAtDH;MAiDM,uBjCvDyC,EiCwD1C;IAlDL;MAoDM,uBjCzDyC,EiC0D1C;EArDL;;IA0DI,sBjCjFqC,EiCkFtC;EA3DH;IAoEQ,0BjCpFyC;IiCqFzC,YjCtFuC,EiCuFxC;EAGH;IAzEJ;MA6EU,YjCjGqC,EiCuGtC;MAnFT;QAgFY,YjCnGmC;QiCoGnC,8BjCnG0C,EiCoG3C;IAlFX;MAwFY,YjCzGmC;MiC0GnC,0BjCzGqC,EiC0GtC;IA1FX;MAgGY,YjC/GmC;MiCgHnC,8BjC/G0C,EiCgH3C,EAAA;EAlGX;IA8GI,YjClI2C,EiCsI5C;IAlHH;MAgHM,YjCnIyC,EiCoI1C;EAjHL;IAqHI,YjCzI2C,EiCqJ5C;IAjIH;MAwHM,YjC3IyC,EiC4I1C;IAzHL;;;MA8HQ,YjC7IuC,EiC8IxC;;AAOP;EACE,uBjCrI8C;EiCsI9C,sBjCrIgD,EiCsQjD;EAnID;IAKI,ejCrI+C,EiC2IhD;IAXH;MAQM,YjC9H0C;MiC+H1C,8BjC9HiD,EiC+HlD;EAVL;IAcI,ejCnJ+C,EiCoJhD;EAfH;IAmBM,ejCnJ6C,EiC0J9C;IA1BL;MAuBQ,YjCtJwC;MiCuJxC,8BjCtJ+C,EiCuJhD;EAzBP;IA+BQ,YjC9JwC;IiC+JxC,0BjC5J0C,EiC6J3C;EAjCP;IAuCQ,YjClKwC;IiCmKxC,8BjClK+C,EiCmKhD;EAzCP;IA+CI,mBjC/J4C,EiCuK7C;IAvDH;MAkDM,uBjCpK0C,EiCqK3C;IAnDL;MAqDM,uBjCtK0C,EiCuK3C;EAtDL;;IA2DI,sBAAoB,EACrB;EA5DH;IAoEQ,0BjChM0C;IiCiM1C,YjCpMwC,EiCqMzC;EAGH;IAzEJ;MA6EU,sBjChNwC,EiCiNzC;IA9ET;MAgFU,0BjCnNwC,EiCoNzC;IAjFT;MAmFU,ejCnNyC,EiCyN1C;MAzFT;QAsFY,YjCrNoC;QiCsNpC,8BjCrN2C,EiCsN5C;IAxFX;MA8FY,YjC7NoC;MiC8NpC,0BjC3NsC,EiC4NvC;IAhGX;MAsGY,YjCjOoC;MiCkOpC,8BjCjO2C,EiCkO5C,EAAA;EAxGX;IA+GI,ejC/O+C,EiCmPhD;IAnHH;MAiHM,YjChP0C,EiCiP3C;EAlHL;IAsHI,ejCtP+C,EiCkQhD;IAlIH;MAyHM,YjCxP0C,EiCyP3C;IA1HL;;;MA+HQ,YjC1PwC,EiC2PzC;;AE7oBP;EACE,kBnCqxBkC;EmCpxBlC,oBnC0D6B;EmCzD7B,iBAAiB;EACjB,0BnCoxBqC;EmCnxBrC,mBnCmG6B,EmClF9B;EAtBD;IAQI,sBAAsB,EASvB;IAjBH;MAaM,cAA2C;MAC3C,eAAe;MACf,YnC2wB8B,EmC1wB/B;EAhBL;IAoBI,enCX4B,EmCY7B;;ACvBH;EACE,sBAAsB;EACtB,gBAAgB;EAChB,eAA+B;EAC/B,mBpCsG6B,EoClC9B;EAxED;IAOI,gBAAgB,EA0BjB;IAjCH;;MAUM,mBAAmB;MACnB,YAAY;MACZ,kBpCgF0B;MoC/E1B,qBpC+C+B;MoC9C/B,sBAAsB;MACtB,epCDwB;MoCExB,uBpCobqC;MoCnbrC,uBpCobqC;MoCnbrC,kBAAkB,EACnB;IAnBL;;MAuBQ,eAAe;MtCP0C,4BE0FlC;MF1FkC,+BE0FlC,EoCjFxB;IAzBP;;MtCgBiE,6BE0FlC;MF1FkC,gCE0FlC,EoC3ExB;EA/BP;;;IAuCM,WAAW;IACX,epCPwB;IoCQxB,0BpC7B0B;IoC8B1B,mBpC+ZqC,EoC9ZtC;EA3CL;;;;IAmDM,WAAW;IACX,YpCuZqC;IoCtZrC,0BpCvCwB;IoCwCxB,sBpCxCwB;IoCyCxB,gBAAgB,EACjB;EAxDL;;;;;;IAkEM,epCvD0B;IoCwD1B,uBpC6YqC;IoC5YrC,mBpC6YqC;IoC5YrC,oBpC+JsC,EoC9JvC;;AAQL;;EC3EM,mBrC4F0B;EqC3F1B,gBrC6CwB;EqC5CxB,qBrCkG+B,EqCjGhC;;ADwEL;;EtC9DiE,4BE2FlC;EF3FkC,+BE2FlC,EqChGxB;;ADmEP;;EtC9DiE,6BE2FlC;EF3FkC,gCE2FlC,EqC1FxB;;ADkEP;;EChFM,kBrC+F0B;EqC9F1B,gBrC8CwB;EqC7C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,EAS/B;EAXD;;IAMI,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,eAAe,EAChB;;AAOH;ECvDE,0B7CqfsC;E6CpftC,sB7CqfqC;E6CpfrC,e7CkfsC,E4C3bvC;EAFD;IClDI,0BAAwB,EACzB;EDiDH;IC/CI,eAAa,EACd;;ADkDH;EC3DE,0B7CyfsC;E6CxftC,sB7CyfqC;E6CxfrC,e7CsfsC,E4C3bvC;EAFD;ICtDI,0BAAwB,EACzB;EDqDH;ICnDI,eAAa,EACd;;ADsDH;EC/DE,0B7C6fsC;E6C5ftC,sB7C6fqC;E6C5frC,e7C0fsC,E4C3bvC;EAFD;IC1DI,0BAAwB,EACzB;EDyDH;ICvDI,eAAa,EACd;;AD0DH;ECnEE,0B7CigBsC;E6ChgBtC,sB7CigBqC;E6ChgBrC,e7C8fsC,E4C3bvC;EAFD;IC9DI,0BAAwB,EACzB;ED6DH;IC3DI,eAAa,EACd;;ACGH;EACE;IAAQ,4BAA4B,EAAA;EACpC;IAAQ,yBAAyB,EAAA,EAAA;;AAQnC;EACE,iBAAiB;EACjB,a9CsC6B;E8CrC7B,oB9CqC6B;E8CpC7B,0B9CgnBmC;E8C/mBnC,mB9C+E6B;EF1FkC,uHmB0B9C,E6BblB;;AAGD;EACE,YAAY;EACZ,UAAU;EACV,aAAa;EACb,gB9Cc4B;E8Cb5B,kB9CyB6B;E8CxB7B,Y9CsmBgC;E8CrmBhC,mBAAmB;EACnB,0B9C1B4B;EFEmC,uHmB0B9C;Ed+IuC,oGArChC,E2CzGzB;;AAOD;;ECGE,sMAAiC;EDAjC,2BAA2B,EAC5B;;AAMD;;E3B1CU,mD2B4CkD,EAC3D;;AAMD;EErEE,0BhDe6B,E8CwD9B;EAFD;IChBE,sMAAiC,EChDhC;;AFoEH;EEzEE,0BhDgB6B,E8C2D9B;EAFD;ICpBE,sMAAiC,EChDhC;;AFwEH;EE7EE,0BhDiB6B,E8C8D9B;EAFD;ICxBE,sMAAiC,EChDhC;;AF4EH;EEjFE,0BhDkB6B,E8CiE9B;EAFD;IC5BE,sMAAiC,EChDhC;;ACRH;EAEE,iBAAiB,EAKlB;EAPD;IAKI,cAAc,EACf;;AAGH;;EAEE,QAAQ;EACR,iBAAiB,EAClB;;AAED;EACE,eAAe,EAC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lPM,erDGwB;MqDFxB,uBrDosB4B,EqDnsB7B;EDgPL;IC5OM,6BrDHwB,EqDIzB;;AD8OL;EChQE,sBrDsfqC,EoDpPtC;EAFD;IC7PI,erDifoC;IqDhfpC,0BrDifoC;IqDhfpC,sBrDifmC,EqDxepC;IDkPH;MCxPM,0BrD8eiC,EqD7elC;IDuPL;MCrPM,erD0ekC;MqDzelC,0BrDwekC,EqDvenC;EDmPL;IC/OM,6BrDqeiC,EqDpelC;;ADiPL;ECnQE,sBrD0fqC,EoDrPtC;EAFD;IChQI,erDqfoC;IqDpfpC,0BrDqfoC;IqDpfpC,sBrDqfmC,EqD5epC;IDqPH;MC3PM,0BrDkfiC,EqDjflC;ID0PL;MCxPM,erD8ekC;MqD7elC,0BrD4ekC,EqD3enC;EDsPL;IClPM,6BrDyeiC,EqDxelC;;ADoPL;ECtQE,sBrD8fqC,EoDtPtC;EAFD;ICnQI,erDyfoC;IqDxfpC,0BrDyfoC;IqDxfpC,sBrDyfmC,EqDhfpC;IDwPH;MC9PM,0BrDsfiC,EqDrflC;ID6PL;MC3PM,erDkfkC;MqDjflC,0BrDgfkC,EqD/enC;EDyPL;ICrPM,6BrD6eiC,EqD5elC;;ADuPL;ECzQE,sBrDkgBqC,EoDvPtC;EAFD;ICtQI,erD6foC;IqD5fpC,0BrD6foC;IqD5fpC,sBrD6fmC,EqDpfpC;ID2PH;MCjQM,0BrD0fiC,EqDzflC;IDgQL;MC9PM,erDsfkC;MqDrflC,0BrDofkC,EqDnfnC;ED4PL;ICxPM,6BrDifiC,EqDhflC;;ACjBL;EACE,mBAAmB;EACnB,eAAe;EACf,UAAU;EACV,WAAW;EACX,iBAAiB,EAelB;EApBD;;;;;IAYI,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,aAAa;IACb,YAAY;IACZ,UAAU,EACX;;AAIH;EACE,uBAAuB,EACxB;;AAGD;EACE,oBAAoB,EACrB;;AC5BD;EACE,iBAAiB;EACjB,cAAc;EACd,oBAAoB;EACpB,0BvDqvBmC;EuDpvBnC,0BvDqvBkC;EuDpvBlC,mBvDiG6B;EF1FkC,wHmB0B9C,EsC3BlB;EAZD;IASI,mBAAmB;IACnB,kCAAkB,EACnB;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,aNytBY,EAAO;;AMxtBrB;EAAE,aNmRY,EAAO;;AMlRrB;EAAE,aNupBgB,EAAO;;AMtpBzB;EAAE,aNqpBU,EAAO;;AMppBnB;EAAE,aNspBe,EAAO;;AMrpBxB;EAAE,aNyIa,EAAO;;AMxItB;;;EAAE,aNuqBa,EAAO;;AMtqBtB;EAAE,aNgjBmB,EAAO;;AM/iB5B;EAAE,aN8iBoB,EAAO;;AM7iB7B;EAAE,aN8fiB,EAAO;;AM7f1B;EAAE,aNmkBc,EAAO;;AMlkBvB;;EAAE,aNmKW,EAAO;;AMlKpB;EAAE,aNkrBe,EAAO;;AMjrBxB;EAAE,aN2VY,EAAO;;AM1VrB;EAAE,aN0Pc,EAAO;;AMzPvB;EAAE,aNmJe,EAAO;;AMlJxB;EAAE,aNshBY,EAAO;;AMrhBrB;EAAE,aNmMgB,EAAO;;AMlMzB;EAAE,aNe2B,EAAO;;AMdpC;EAAE,aNiByB,EAAO;;AMhBlC;EAAE,aNwWa,EAAO;;AMvWtB;EAAE,aN2eqB,EAAO;;AM1e9B;;EAAE,aN0gBc,EAAO;;AMzgBvB;EAAE,aNogBe,EAAO;;AMngBxB;EAAE,aN4YgB,EAAO;;AM3YzB;EAAE,aN+YY,EAAO;;AM9YrB;EAAE,aNgQY,EAAO;;AM/PrB;EAAE,aNwUkB,EAAO;;AMvU3B;EAAE,aNqtBkB,EAAO;;AMptB3B;EAAE,aNmtBmB,EAAO;;AMltB5B;EAAE,aNotBiB,EAAO;;AMntB1B;EAAE,aN6ec,EAAO;;AM5evB;EAAE,aN4Be,EAAO;;AM3BxB;EAAE,aN6mBW,EAAO;;AM5mBpB;EAAE,aN6mBY,EAAO;;AM5mBrB;EAAE,aN6DY,EAAO;;AM5DrB;EAAE,aN6DgB,EAAO;;AM5DzB;EAAE,aNmea,EAAO;;AMletB;EAAE,aN+Ec,EAAO;;AM9EvB;EAAE,aN8PY,EAAO;;AM7PrB;EAAE,aNqDY,EAAO;;AMpDrB;EAAE,aN8Vc,EAAO;;AM7VvB;EAAE,aN4mBmB,EAAO;;AM3mB5B;EAAE,aN4mBkB,EAAO;;AM3mB3B;EAAE,aNhCkB,EAAO;;AMiC3B;EAAE,aNnCoB,EAAO;;AMoC7B;EAAE,aNjCmB,EAAO;;AMkC5B;EAAE,aNpCqB,EAAO;;AMqC9B;EAAE,aNmXY,EAAO;;AMlXrB;;EAAE,aNgbe,EAAO;;AM/axB;EAAE,aN2Uc,EAAO;;AM1UvB;EAAE,aNurBoB,EAAO;;AMtrB7B;;;EAAE,aNiciB,EAAO;;AMhc1B;EAAE,aNybc,EAAO;;AMxbvB;EAAE,aN+XkB,EAAO;;AM9X3B;EAAE,aN/Cc,EAAO;;AMgDvB;EAAE,aN0nBY,EAAO;;AMznBrB;;EAAE,aNubuB,EAAO;;AMtbhC;EAAE,aNsgBsB,EAAO;;AMrgB/B;EAAE,aNuFsB,EAAO;;AMtF/B;EAAE,aNjBc,EAAO;;AMkBvB;EAAE,aN2jBqB,EAAO;;AM1jB9B;EAAE,aN6LqB,EAAO;;AM5L9B;EAAE,aNVgB,EAAO;;AMWzB;EAAE,aN8bY,EAAO;;AM7brB;EAAE,aNwaa,EAAO;;AMvatB;EAAE,aN2jBY,EAAO;;AM1jBrB;EAAE,aNuOe,EAAO;;AMtOxB;EAAE,aNwLoB,EAAO;;AMvL7B;EAAE,aNojBoB,EAAO;;AMnjB7B;EAAE,aNuJa,EAAO;;AMtJtB;EAAE,aNiFoB,EAAO;;AMhF7B;EAAE,aNiFqB,EAAO;;AMhF9B;EAAE,aN0bmB,EAAO;;AMzb5B;EAAE,aN+XoB,EAAO;;AM9X7B;EAAE,aNmmBoB,EAAO;;AMlmB7B;EAAE,aNmEoB,EAAO;;AMlE7B;EAAE,aNicuB,EAAO;;AMhchC;EAAE,aNkTmB,EAAO;;AMjT5B;EAAE,aNkHkB,EAAO;;AMjH3B;EAAE,aN+lBsB,EAAO;;AM9lB/B;EAAE,aN+DsB,EAAO;;AM9D/B;EAAE,aN3BW,EAAO;;AM4BpB;EAAE,aN3CkB,EAAO;;AM4C3B;EAAE,aN3CmB,EAAO;;AM4C5B;EAAE,aN3CgB,EAAO;;AM4CzB;EAAE,aN/CkB,EAAO;;AMgD3B;;EAAE,aNqea,EAAO;;AMpetB;EAAE,aNuJc,EAAO;;AMtJvB;EAAE,aN+FgB,EAAO;;AM9FzB;EAAE,aNwaY,EAAO;;AMvarB;EAAE,aN6Wa,EAAO;;AM5WtB;EAAE,aN3CgB,EAAO;;AM4CzB;EAAE,aNgJ0B,EAAO;;AM/InC;EAAE,aN2NY,EAAO;;AM1NrB;EAAE,aNmTY,EAAO;;AMlTrB;EAAE,aNsLY,EAAO;;AMrLrB;EAAE,aNkJW,EAAO;;AMjJpB;EAAE,aNkJiB,EAAO;;AMjJ1B;;EAAE,aN2I4B,EAAO;;AM1IrC;EAAE,aNyZa,EAAO;;AMxZtB;EAAE,aNUgB,EAAO;;AMTzB;EAAE,aN8ac,EAAO;;AM7avB;EAAE,aN0Ee,EAAO;;AMzExB;EAAE,aNuUc,EAAO;;AMtUvB;EAAE,aNiDkB,EAAO;;AMhD3B;EAAE,aN6CoB,EAAO;;AM5C7B;EAAE,aNybe,EAAO;;AMxbxB;EAAE,aN4dqB,EAAO;;AM3d9B;EAAE,aNoLc,EAAO;;AMnLvB;EAAE,aNqLmB,EAAO;;AMpL5B;EAAE,aNjEgB,EAAO;;AMkEzB;EAAE,aNnEgB,EAAO;;AMoEzB;;EAAE,aNvDiB,EAAO;;AMwD1B;EAAE,aN0lBsB,EAAO;;AMzlB/B;EAAE,aNuIuB,EAAO;;AMtIhC;EAAE,aNEoB,EAAO;;AMD7B;EAAE,aNsRW,EAAO;;AMrRpB;;EAAE,aNyDY,EAAO;;AMxDrB;EAAE,aN8DgB,EAAO;;AM7DzB;EAAE,aNkjBmB,EAAO;;AMjjB5B;EAAE,aNgjBqB,EAAO;;AM/iB9B;EAAE,aNufiB,EAAO;;AMtf1B;EAAE,aN0Oe,EAAO;;AMzOxB;EAAE,aNgdgB,EAAO;;AM/czB;EAAE,aNmSuB,EAAO;;AMlShC;EAAE,aNyiBkB,EAAO;;AMxiB3B;EAAE,aNkHqB,EAAO;;AMjH9B;EAAE,aN0ce,EAAO;;AMzcxB;EAAE,aNikBc,EAAO;;AMhkBvB;EAAE,aN4LqB,EAAO;;AM3L9B;EAAE,aNmlBc,EAAO;;AMllBvB;EAAE,aNiRe,EAAO;;AMhRxB;EAAE,aN6Wa,EAAO;;AM5WtB;EAAE,aNuegB,EAAO;;AMtezB;EAAE,aNrCkB,EAAO;;AMsC3B;EAAE,aN2WoB,EAAO;;AM1W7B;EAAE,aNkkBe,EAAO;;AMjkBxB;;EAAE,aN6GgB,EAAO;;AM5GzB;EAAE,aNiLc,EAAO;;AMhLvB;EAAE,aNukBc,EAAO;;AMtkBvB;EAAE,aNiDmB,EAAO;;AMhD5B;;EAAE,aN6ZW,EAAO;;AM5ZpB;EAAE,aNkNa,EAAO;;AMjNtB;EAAE,aNvCgB,EAAO;;AMwCzB;EAAE,aNlEY,EAAO;;AMmErB;EAAE,aNPmB,EAAO;;AMQ5B;EAAE,aNkMoB,EAAO;;AMjM7B;EAAE,aNgMmB,EAAO;;AM/L5B;EAAE,aNiMiB,EAAO;;AMhM1B;EAAE,aN6LmB,EAAO;;AM5L5B;EAAE,aNvHyB,EAAO;;AMwHlC;EAAE,aNnH0B,EAAO;;AMoHnC;EAAE,aNnHuB,EAAO;;AMoHhC;EAAE,aN3HyB,EAAO;;AM4HlC;EAAE,aNyKa,EAAO;;AMxKtB;EAAE,aN2mBc,EAAO;;AM1mBvB;EAAE,aNmfa,EAAO;;AMlftB;EAAE,aNuHc,EAAO;;AMtHvB;EAAE,aN3DiB,EAAO;;AM4D1B;EAAE,aNpHkB,EAAO;;AMqH3B;;EAAE,aNgkBa,EAAO;;AM/jBtB;;EAAE,aN4PY,EAAO;;AM3PrB;EAAE,aNEa,EAAO;;AMDtB;EAAE,aN0Ha,EAAO;;AMzHtB;;EAAE,aN8YgB,EAAO;;AM7YzB;;EAAE,aN6Ge,EAAO;;AM5GxB;EAAE,aN+TiB,EAAO;;AM9T1B;;EAAE,aNwHgB,EAAO;;AMvHzB;EAAE,aNmcc,EAAO;;AMlcvB;;;EAAE,aN7GY,EAAO;;AM8GrB;EAAE,aN2Pe,EAAO;;AM1PxB;EAAE,aNyPe,EAAO;;AMxPxB;EAAE,aNodqB,EAAO;;AMnd9B;EAAE,aNgiBiB,EAAO;;AM/hB1B;EAAE,aN4da,EAAO;;AM3dtB;EAAE,aN8Pa,EAAO;;AM7PtB;EAAE,aNkhBa,EAAO;;AMjhBtB;EAAE,aNwUiB,EAAO;;AMvU1B;EAAE,aNyUwB,EAAO;;AMxUjC;EAAE,aNqJ0B,EAAO;;AMpJnC;EAAE,aNiJmB,EAAO;;AMhJ5B;EAAE,aN0Ra,EAAO;;AMzRtB;EAAE,aN/DkB,EAAO;;AMgE3B;EAAE,aNzDgB,EAAO;;AM0DzB;EAAE,aNhEkB,EAAO;;AMiE3B;EAAE,aNhEmB,EAAO;;AMiE5B;EAAE,aNXe,EAAO;;AMYxB;;EAAE,aNgaY,EAAO;;AM/ZrB;;EAAE,aNqaiB,EAAO;;AMpa1B;;EAAE,aNmagB,EAAO;;AMlazB;EAAE,aNkCgB,EAAO;;AMjCzB;EAAE,aN+NgB,EAAO;;AM9NzB;;EAAE,aN8gBY,EAAO;;AM7gBrB;;EAAE,aN8Ga,EAAO;;AM7GtB;;EAAE,aN0ckB,EAAO;;AMzc3B;EAAE,aNlBiB,EAAO;;AMmB1B;EAAE,aNfkB,EAAO;;AMgB3B;;EAAE,aNxGY,EAAO;;AMyGrB;EAAE,aNyYe,EAAO;;AMxYxB;EAAE,aNqgBgB,EAAO;;AMpgBzB;;EAAE,aNxCiB,EAAO;;AMyC1B;EAAE,aNkNmB,EAAO;;AMjN5B;EAAE,aNgCgB,EAAO;;AM/BzB;EAAE,aNtCsB,EAAO;;AMuC/B;EAAE,aNtCoB,EAAO;;AMuC7B;EAAE,aN8gBe,EAAO;;AM7gBxB;EAAE,aN2amB,EAAO;;AM1a5B;EAAE,aNsbgB,EAAO;;AMrbzB;EAAE,aNjIc,EAAO;;AMkIvB;EAAE,aNrCc,EAAO;;AMsCvB;EAAE,aNbe,EAAO;;AMcxB;EAAE,aN2DmB,EAAO;;AM1D5B;EAAE,aN7GkB,EAAO;;AM8G3B;EAAE,aNmJkB,EAAO;;AMlJ3B;EAAE,aNxMiB,EAAO;;AMyM1B;EAAE,aNyOc,EAAO;;AMxOvB;EAAE,aNuCmB,EAAO;;AMtC5B;EAAE,aN9IY,EAAO;;AM+IrB;EAAE,aNoHgB,EAAO;;AMnHzB;EAAE,aNwSmB,EAAO;;AMvS5B;EAAE,aNxMyB,EAAO;;AMyMlC;EAAE,aNxM0B,EAAO;;AMyMnC;EAAE,aNxMuB,EAAO;;AMyMhC;EAAE,aN5MyB,EAAO;;AM6MlC;EAAE,aNxMkB,EAAO;;AMyM3B;EAAE,aNxMmB,EAAO;;AMyM5B;EAAE,aNxMgB,EAAO;;AMyMzB;EAAE,aN5MkB,EAAO;;AM6M3B;EAAE,aNvBe,EAAO;;AMwBxB;EAAE,aNyKc,EAAO;;AMxKvB;EAAE,aNqac,EAAO;;AMpavB;;EAAE,aNqOc,EAAO;;AMpOvB;EAAE,aN3EgB,EAAO;;AM4EzB;EAAE,aNuSkB,EAAO;;AMtS3B;EAAE,aNuSmB,EAAO;;AMtS5B;EAAE,aN6Xe,EAAO;;AM5XxB;EAAE,aNhFc,EAAO;;AMiFvB;;EAAE,aNmTa,EAAO;;AMlTtB;EAAE,aN8EkB,EAAO;;AM7E3B;EAAE,aNkDgB,EAAO;;AMjDzB;EAAE,aNmDqB,EAAO;;AMlD9B;EAAE,aNoWe,EAAO;;AMnWxB;EAAE,aN0De,EAAO;;AMzDxB;EAAE,aN+Ma,EAAO;;AM9MtB;EAAE,aN0De,EAAO;;AMzDxB;EAAE,aNsJkB,EAAO;;AMrJ3B;EAAE,aNqCc,EAAO;;AMpCvB;EAAE,aNmCsB,EAAO;;AMlC/B;EAAE,aN4ZgB,EAAO;;AM3ZzB;EAAE,aNjFY,EAAO;;AMkFrB;;EAAE,aNuSiB,EAAO;;AMtS1B;;;EAAE,aNwXmB,EAAO;;AMvX5B;EAAE,aN0KsB,EAAO;;AMzK/B;EAAE,aN9DY,EAAO;;AM+DrB;EAAE,aNrFiB,EAAO;;AMsF1B;;EAAE,aNnHoB,EAAO;;AMoH7B;EAAE,aN4QgB,EAAO;;AM3QzB;EAAE,aN6HY,EAAO;;AM5HrB;EAAE,aNvBmB,EAAO;;AMwB5B;EAAE,aNqYmB,EAAO;;AMpY5B;EAAE,aN+XiB,EAAO;;AM9X1B;EAAE,aN/Bc,EAAO;;AMgCvB;EAAE,aNmQoB,EAAO;;AMlQ7B;EAAE,aN8LkB,EAAO;;AM7L3B;EAAE,aN8LwB,EAAO;;AM7LjC;EAAE,aNyTc,EAAO;;AMxTvB;EAAE,aNzJkB,EAAO;;AM0J3B;EAAE,aNWyB,EAAO;;AMVlC;EAAE,aN0Rc,EAAO;;AMzRvB;EAAE,aNgLc,EAAO;;AM/KvB;EAAE,aN3H2B,EAAO;;AM4HpC;EAAE,aN3H4B,EAAO;;AM4HrC;EAAE,aN3HyB,EAAO;;AM4HlC;EAAE,aN/H2B,EAAO;;AMgIpC;EAAE,aNiGa,EAAO;;AMhGtB;EAAE,aNlFY,EAAO;;AMmFrB;EAAE,aNpQc,EAAO;;AMqQvB;EAAE,aN8bkB,EAAO;;AM7b3B;EAAE,aN7KgB,EAAO;;AM8KzB;EAAE,aN1DkB,EAAO;;AM2D3B;EAAE,aN1DkB,EAAO;;AM2D3B;EAAE,aNkRkB,EAAO;;AMjR3B;EAAE,aNoOmB,EAAO;;AMnO5B;EAAE,aNgZc,EAAO;;AM/YvB;EAAE,aN6KoB,EAAO;;AM5K7B;EAAE,aN6KsB,EAAO;;AM5K/B;EAAE,aNwHgB,EAAO;;AMvHzB;EAAE,aNsHkB,EAAO;;AMrH3B;EAAE,aNhJoB,EAAO;;AMiJ7B;EAAE,aN6MqB,EAAO;;AM5M9B;EAAE,aNjD4B,EAAO;;AMkDrC;EAAE,aN2RoB,EAAO;;AM1R7B;EAAE,aN9Ge,EAAO;;AM+GxB;;EAAE,aN3K2B,EAAO;;AM4KpC;;EAAE,aNzKyB,EAAO;;AM0KlC;;EAAE,aN3K4B,EAAO;;AM4KrC;;EAAE,aNhEW,EAAO;;AMiEpB;EAAE,aNOW,EAAO;;AMNpB;;EAAE,aN6aW,EAAO;;AM5apB;;EAAE,aNqFW,EAAO;;AMpFpB;;;;EAAE,aN4FW,EAAO;;AM3FpB;;;EAAE,aN+PW,EAAO;;AM9PpB;;EAAE,aN8FW,EAAO;;AM7FpB;;EAAE,aN3MW,EAAO;;AM4MpB;EAAE,aNhDY,EAAO;;AMiDrB;EAAE,aNpCiB,EAAO;;AMqC1B;EAAE,aN0SsB,EAAO;;AMzS/B;EAAE,aN0SuB,EAAO;;AMzShC;EAAE,aN0SuB,EAAO;;AMzShC;EAAE,aN0SwB,EAAO;;AMzSjC;EAAE,aN6SwB,EAAO;;AM5SjC;EAAE,aN6SyB,EAAO;;AM5SlC;EAAE,aNkXiB,EAAO;;AMjX1B;EAAE,aN8WmB,EAAO;;AM7W5B;EAAE,aNydsB,EAAO;;AMxd/B;EAAE,aNsde,EAAO;;AMrdxB;EAAE,aN2cY,EAAO;;AM1crB;EAAE,aN2cmB,EAAO;;AM1c5B;EAAE,aNodoB,EAAO;;AMnd7B;EAAE,aNxGe,EAAO;;AMyGxB;EAAE,aN8SsB,EAAO;;AM7S/B;EAAE,aNgEiB,EAAO;;AM/D1B;EAAE,aNpCc,EAAO;;AMqCvB;EAAE,aN3TW,EAAO;;AM4TpB;EAAE,aN/OiB,EAAO;;AMgP1B;EAAE,aN/OwB,EAAO;;AMgPjC;EAAE,aN+Xc,EAAO;;AM9XvB;EAAE,aN+XqB,EAAO;;AM9X9B;EAAE,aNgGuB,EAAO;;AM/FhC;EAAE,aNkGqB,EAAO;;AMjG9B;EAAE,aN+FuB,EAAO;;AM9FhC;EAAE,aN+FwB,EAAO;;AM9FjC;EAAE,aNjTa,EAAO;;AMkTtB;EAAE,aNmbe,EAAO;;AMlbxB;EAAE,aN7Te,EAAO;;AM8TxB;EAAE,aNkFa,EAAO;;AMjFtB;EAAE,aN5HgB,EAAO;;AM6HzB;EAAE,aNgQa,EAAO;;AM/PtB;EAAE,aNxCkB,EAAO;;AMyC3B;EAAE,aN4Wc,EAAO;;AM3WvB;EAAE,aNtFc,EAAO;;AMuFvB;EAAE,aN6FY,EAAO;;AM5FrB;;EAAE,aNXgB,EAAO;;AMYzB;EAAE,aN+Sa,EAAO;;AM9StB;EAAE,aNwHc,EAAO;;AMvHvB;EAAE,aN7Te,EAAO;;AM8TxB;EAAE,aNrPW,EAAO;;AMsPpB;EAAE,aNkZU,EAAO;;AMjZnB;EAAE,aNwZa,EAAO;;AMvZtB;EAAE,aNgMc,EAAO;;AM/LvB;EAAE,aNmIiB,EAAO;;AMlI1B;EAAE,aN8QsB,EAAO;;AM7Q/B;EAAE,aN9T4B,EAAO;;AM+TrC;EAAE,aNhU2B,EAAO;;AMiUpC;;EAAE,aNvO2B,EAAO;;AMwOpC;EAAE,aNjJoB,EAAO;;AMkJ7B;EAAE,aNmZkB,EAAO;;AMlZ3B;EAAE,aNsYoB,EAAO;;AMrY7B;;EAAE,aN6VW,EAAO;;AM5VpB;EAAE,aN6JqB,EAAO;;AM5J9B;EAAE,aN+PqB,EAAO;;AM9P9B;EAAE,aNyOa,EAAO;;AMxOtB;EAAE,aNtIuB,EAAO;;AMuIhC;EAAE,aNuZiB,EAAO;;AMtZ1B;EAAE,aNiHc,EAAO;;AMhHvB;;;EAAE,aNmWkB,EAAO;;AMlW3B;;EAAE,aNpCsB,EAAO;;AMqC/B;EAAE,aN4Za,EAAO;;AM3ZtB;EAAE,aN5Cc,EAAO;;AM6CvB;EAAE,aNsKc,EAAO;;AMrKvB;EAAE,aNuKqB,EAAO;;AMtK9B;EAAE,aN+Q0B,EAAO;;AM9QnC;EAAE,aN6QmB,EAAO;;AM5Q5B;EAAE,aNzKiB,EAAO;;AM0K1B;EAAE,aNtKY,EAAO;;AMuKrB;EAAE,aNiIqB,EAAO;;AMhI9B;EAAE,aN+HsB,EAAO;;AM9H/B;EAAE,aNjKc,EAAO;;AMkKvB;EAAE,aNac,EAAO;;AMZvB;EAAE,aNkBgB,EAAO;;AMjBzB;EAAE,aNhIW,EAAO;;AMiIpB;EAAE,aNvRgB,EAAO;;AMwRzB;EAAE,aNpOa,EAAO;;AMqOtB;EAAE,aN4GW,EAAO;;AM3GpB;EAAE,aNyOa,EAAO;;AMxOtB;EAAE,aN/LY,EAAO;;AMgMrB;EAAE,aN/La,EAAO;;AMgMtB;EAAE,aNvTe,EAAO;;AMwTxB;EAAE,aNvTsB,EAAO;;AMwT/B;EAAE,aNgPa,EAAO;;AM/OtB;EAAE,aNgPoB,EAAO;;AM/O7B;EAAE,aN+Ie,EAAO;;AM9IxB;;EAAE,aNlRW,EAAO;;AMmRpB;;EAAE,aNuQY,EAAO;;AMtQrB;EAAE,aNoTY,EAAO;;AMnTrB;EAAE,aN+Ne,EAAO;;AM9NxB;EAAE,aN9LkB,EAAO;;AM+L3B;EAAE,aNyNkB,EAAO;;AMxN3B;EAAE,aNtMgB,EAAO;;AMuMzB;EAAE,aNvIkB,EAAO;;AMwI3B;EAAE,aNhImB,EAAO;;AMiI5B;EAAE,aN7IoB,EAAO;;AM8I7B;EAAE,aNvIyB,EAAO;;AMwIlC;;;EAAE,aN9IoB,EAAO;;AM+I7B;;EAAE,aNnJsB,EAAO;;AMoJ/B;;EAAE,aNnJoB,EAAO;;AMoJ7B;;EAAE,aNvIoB,EAAO;;AMwI7B;EAAE,aNpJmB,EAAO;;AMqJ5B;EAAE,aNoVY,EAAO;;AMnVrB;EAAE,aN/Oe,EAAO;;AMgPxB;EAAE,aNjBgB,EAAO;;AMkBzB;;;;;EAAE,aNFiB,EAAO;;AMG1B;EAAE,aN9PsB,EAAO;;AM+P/B;;;EAAE,aNwHa,EAAO;;AMvHtB;;EAAE,aN/Lc,EAAO;;AMgMvB;EAAE,aNrGkB,EAAO;;AMsG3B;EAAE,aNvGW,EAAO;;AMwGpB;;;EAAE,aNlFmB,EAAO;;AMmF5B;EAAE,aNiPqB,EAAO;;AMhP9B;EAAE,aNuGU,EAAO;;AMtGnB;;EAAE,aNiVc,EAAO;;AMhVvB;;EAAE,aN8DmB,EAAO;;AM7D5B;;EAAE,aN8DqB,EAAO;;AM7D9B;EAAE,aNjEe,EAAO;;AMkExB;EAAE,aNzQmB,EAAO;;AM0Q5B;EAAE,aNxEc,EAAO;;AMyEvB;EAAE,aN4DiB,EAAO;;AM3D1B;EAAE,aNwKe,EAAO;;AMvKxB;EAAE,aNgJiB,EAAO;;AM/I1B;EAAE,aNgJwB,EAAO;;AM/IjC;EAAE,aNhVY,EAAO;;AMiVrB;;EAAE,aNlIgB,EAAO;;AMmIzB;EAAE,aNoRW,EAAO;;AMnRpB;EAAE,aN9VkB,EAAO;;AM+V3B;EAAE,aN8EY,EAAO;;AM7ErB;EAAE,aNiKkB,EAAO;;AMhK3B;EAAE,aNqRc,EAAO;;AMpRvB;EAAE,aNyVY,EAAO;;AMxVrB;EAAE,aNiCmB,EAAO;;AMhC5B;EAAE,aNkUY,EAAO;;AMjUrB;EAAE,aN3UkB,EAAO;;AM4U3B;EAAE,aNmDc,EAAO;;AMlDvB;EAAE,aNjHqB,EAAO;;AMkH9B;EAAE,aNlTe,EAAO;;AMmTxB;EAAE,aNtTqB,EAAO;;AMuT9B;EAAE,aNzTmB,EAAO;;AM0T5B;EAAE,aN5Te,EAAO;;AM6TxB;EAAE,aNxTiB,EAAO;;AMyT1B;EAAE,aNxTiB,EAAO;;AMyT1B;EAAE,aNjXkB,EAAO;;AMkX3B;EAAE,aNjXoB,EAAO;;AMkX7B;EAAE,aNyPa,EAAO;;AMxPtB;EAAE,aNzQiB,EAAO;;AM0Q1B;EAAE,aNpZU,EAAO;;AMqZnB;EAAE,aNlNkB,EAAO;;AMmN3B;EAAE,aN2BmB,EAAO;;AM1B5B;EAAE,aNpXqB,EAAO;;AMqX9B;EAAE,aN5akB,EAAO;;AM6a3B;EAAE,aN2CiB,EAAO;;AM1C1B;EAAE,aN/CkB,EAAO;;AMgD3B;EAAE,aN7Dc,EAAO;;AM8DvB;EAAE,aN7DqB,EAAO;;AM8D9B;EAAE,aNsOkB,EAAO;;AMrO3B;EAAE,aNsOiB,EAAO;;AMrO1B;EAAE,aN9Xe,EAAO;;AM+XxB;EAAE,aNvWW,EAAO;;AMwWpB;EAAE,aN7Ee,EAAO;;AM8ExB;EAAE,aNjciB,EAAO;;AMkc1B;EAAE,aNnVU,EAAO;;AMoVnB;;;EAAE,aN7FW,EAAO;;AM8FpB;EAAE,aNxBgB,EAAO;;AMyBzB;EAAE,aN5WkB,EAAO;;AM6W3B;EAAE,aNhSsB,EAAO;;AMiS/B;EAAE,aNlRgB,EAAO;;AMmRzB;EAAE,aNlLgB,EAAO;;AMmLzB;EAAE,aNzEe,EAAO;;AM0ExB;EAAE,aN2Fc,EAAO;;AM1FvB;EAAE,aNuGoB,EAAO;;AMtG7B;EAAE,aNgHmB,EAAO;;AM/G5B;EAAE,aNiHgB,EAAO;;AMhHzB;EAAE,aNhWiB,EAAO;;AMiW1B;EAAE,aNlWuB,EAAO;;AMmWhC;EAAE,aNnRe,EAAO;;AMoRxB;EAAE,aNgGY,EAAO;;AM/FrB;EAAE,aN0PmB,EAAO;;AMzP5B;EAAE,aNnBkB,EAAO;;AMoB3B;EAAE,aNyJmB,EAAO;;AMxJ5B;EAAE,aNlIiB,EAAO;;AMmI1B;EAAE,aN2Pa,EAAO;;AM1PtB;EAAE,aNjDY,EAAO;;AMkDrB;EAAE,aNvCe,EAAO;;AMwCxB;;EAAE,aN+MmB,EAAO;;AM9M5B;EAAE,aN+MuB,EAAO;;AM9MhC;EAAE,aNuPoB,EAAO;;AMtP7B;EAAE,aNrDmB,EAAO;;AMsD5B;EAAE,aNsPkB,EAAO;;AMrP3B;EAAE,aNtDmB,EAAO;;AMuD5B;EAAE,aNrDqB,EAAO;;AMsD9B;EAAE,aNvDqB,EAAO;;AMwD9B;EAAE,aN7Bc,EAAO;;AM8BvB;EAAE,aNhMkB,EAAO;;AMiM3B;EAAE,aN7PyB,EAAO;;AM8PlC;EAAE,aNImB,EAAO;;AMH5B;EAAE,aN+PgB,EAAO;;AM9PzB;EAAE,aNkEc,EAAO;;AMjEvB;EAAE,aNoOiB,EAAO;;AMnO1B;EAAE,aNqOkB,EAAO;;AMpO3B;;EAAE,aNjbW,EAAO;;AMkbpB;EAAE,aN0Oe,EAAO;;AMzOxB;EAAE,aN4La,EAAO;;AM3LtB;EAAE,aNsIc,EAAO;;AMrIvB;EAAE,aNhEc,EAAO;;AMiEvB;;EAAE,aNyQoB,EAAO;;AMxQ7B;EAAE,aNlCqB,EAAO;;AMmC9B;EAAE,aNtCgB,EAAO;;AMuCzB;EAAE,aNpRoB,EAAO;;AMqR7B;;;EAAE,aN9boB,EAAO;;AM+b7B;;EAAE,aN5b8B,EAAO;;AM6bvC;;EAAE,aN/boB,EAAO;;AMgc7B;;EAAE,aN/buB,EAAO;;AMgchC;;EAAE,aNncqB,EAAO;;AMoc9B;EAAE,aNtDqB,EAAO;;AMuD9B;EAAE,aNtJgB,EAAO;;AMuJzB;EAAE,aNnDoB,EAAO;;AMoD7B;EAAE,aNnDsB,EAAO;;AMoD/B;EAAE,aN6GmB,EAAO;;AM5G5B;EAAE,aN6GqB,EAAO;;AM5G9B;EAAE,aN1Yc,EAAO;;AM2YvB;EAAE,aN7YsB,EAAO;;AM8Y/B;EAAE,aN/Wa,EAAO;;AMgXtB;EAAE,aN7dqB,EAAO;;AM8d9B;EAAE,aNnKmB,EAAO;;AMoK5B;;EAAE,aNnKuB,EAAO;;AMoKhC;;EAAE,aNtKsB,EAAO;;AMuK/B;;EAAE,aNxKqB,EAAO;;AMyK9B;EAAE,aN7KiB,EAAO;;AM8K1B;;EAAE,aN/LmB,EAAO;;AMgM5B;;EAAE,aNnMoB,EAAO;;AMoM7B;EAAE,aNhMuB,EAAO;;AMiMhC;EAAE,aN1MqB,EAAO;;AM2M9B;EAAE,aNjMoB,EAAO;;AMkM7B;EAAE,aNrMsB,EAAO;;AMsM/B;EAAE,aNvMoB,EAAO;;AMwM7B;EAAE,aNyJiB,EAAO;;AMxJ1B;EAAE,aNLkB,EAAO;;AMM3B;EAAE,aNrWwB,EAAO;;AMsWjC;EAAE,aN5OU,EAAO;;AM6OnB;EAAE,aN5OiB,EAAO;;AM6O1B;EAAE,aN4JmB,EAAO;;AM3J5B;EAAE,aN3EqB,EAAO;;AM4E9B;EAAE,aN3E4B,EAAO;;AM4ErC;EAAE,aNlPkB,EAAO;;AMmP3B;EAAE,aNkNmB,EAAO;;AMjN5B;EAAE,aNOc,EAAO;;AMNvB;EAAE,aN/Yc,EAAO;;AMgZvB;EAAE,aNpRe,EAAO;;AMqRxB;EAAE,aN9Ea,EAAO;;AM+EtB;EAAE,aN1KyB,EAAO;;AM2KlC;;EAAE,aNoGkB,EAAO;;AMnG3B;EAAE,aNtXc,EAAO;;AMuXvB;EAAE,aN9iBa,EAAO;;AM+iBtB;EAAE,aNpiBc,EAAO;;AMqiBvB;EAAE,aNhcuB,EAAO;;AMichC;EAAE,aNncwB,EAAO;;AMocjC;EAAE,aNjcwB,EAAO;;AMkcjC;EAAE,aNtcwB,EAAO;;AMucjC;EAAE,aNzLgB,EAAO;;AM0LzB;EAAE,aNjIe,EAAO;;AMkIxB;EAAE,aNjIiB,EAAO;;AMkI1B;EAAE,aNpIa,EAAO;;AMqItB;EAAE,aNvIW,EAAO;;AMwIpB;EAAE,aNzYkB,EAAO;;AM0Y3B;EAAE,aNzYoB,EAAO;;AM0Y7B;EAAE,aN3Ma,EAAO;;AM4MtB;EAAE,aN4Ka,EAAO;;AM3KtB;EAAE,aNveiB,EAAO;;AMwe1B;EAAE,aN1RiB,EAAO;;AM2R1B;EAAE,aNzCoB,EAAO;;AM0C7B;EAAE,aNzWY,EAAO;;AM0WrB;EAAE,aNrYuB,EAAO;;AMsYhC;EAAE,aNzZgB,EAAO;;AM0ZzB;EAAE,aNvHY,EAAO;;AMwHrB;EAAE,aN/RoB,EAAO;;AMgS7B;EAAE,aN+IW,EAAO;;AM9IpB;EAAE,aNhEoB,EAAO;;AMiE7B;EAAE,aN9HgB,EAAO;;AM+HzB;EAAE,aNvBc,EAAO;;AMwBvB;EAAE,aNlGoB,EAAO;;AMmG7B;EAAE,aNlGsB,EAAO;;AMmG/B;EAAE,aNgDmB,EAAO;;AM/C5B;EAAE,aNgDqB,EAAO;;AM/C9B;EAAE,aNVoB,EAAO;;AMW7B;EAAE,aNVuB,EAAO;;AMWhC;EAAE,aNlPe,EAAO;;AMmPxB;EAAE,aNxfiB,EAAO;;AMyf1B;EAAE,aNxfmB,EAAO;;AMyf5B;EAAE,aNpGe,EAAO;;AMqGxB;EAAE,aNvRc,EAAO;;AMwRvB;EAAE,aN6KkB,EAAO;;AM5K3B;EAAE,aN8Ke,EAAO;;AM7KxB;EAAE,aNnXc,EAAO;;AMoXvB;EAAE,aNsHwB,EAAO;;AMrHjC;EAAE,aN8JsB,EAAO;;AM7J/B;EAAE,aN7EyB,EAAO;;AM8ElC;EAAE,aNngBa,EAAO;;AMogBtB;EAAE,aN3iByB,EAAO;;AM4iBlC;EAAE,aNgJ4B,EAAO;;AM/IrC;EAAE,aN7fe,EAAO;;AM8fxB;EAAE,aNjjBmC,EAAO;;AMkjB5C;;EAAE,aNllB2C,EAAO;;AMmlBpD;;;EAAE,aNzZY,EAAO;;AM0ZrB;EAAE,aNlSa,EAAO;;AMmStB;EAAE,aNlSe,EAAO;;AMmSxB;;EAAE,aN3BqB,EAAO;;AM4B9B;EAAE,aN1LkB,EAAO;;AM2L3B;EAAE,aNgIc,EAAO;;AM/HvB;EAAE,aNgIqB,EAAO;;AM/H9B;EAAE,aNnBgB,EAAO;;AMoBzB;EAAE,aNnBsB,EAAO;;AMoB/B;EAAE,aNnBuB,EAAO;;AMoBhC;EAAE,aNtHkB,EAAO;;AMuH3B;EAAE,aNrVmB,EAAO;;AMsV5B;EAAE,aNkKa,EAAO;;AMjKtB;EAAE,aN2CiB,EAAO;;AM1C1B;;EAAE,aNzS4B,EAAO;;AM0SrC;;EAAE,aN5UoB,EAAO;;AM6U7B;EAAE,aNrRmB,EAAO;;A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","file":"nuboot_radix.style.css","sourcesContent":["@charset \"UTF-8\";\n/*\n * A partial implementation of the Ruby list functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb\n */\n/*\n * A partial implementation of the Ruby constants functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb\n */\n/*\n * A partial implementation of the Ruby display functions from Compass:\n * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb\n */\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: transparent; }\n\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857;\n color: #333333;\n background-color: #fff; }\n\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\na {\n color: #337ab7;\n text-decoration: none; }\n a:hover, a:focus {\n color: #23527c;\n text-decoration: underline; }\n a:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\nfigure {\n margin: 0; }\n\nimg {\n vertical-align: middle; }\n\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto; }\n\n.img-rounded {\n border-radius: 6px; }\n\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false);\n display: inline-block;\n max-width: 100%;\n height: auto; }\n\n.img-circle {\n border-radius: 50%; }\n\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n[role=\"button\"] {\n cursor: pointer; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit; }\n h1 small,\n h1 .small, h2 small,\n h2 .small, h3 small,\n h3 .small, h4 small,\n h4 .small, h5 small,\n h5 .small, h6 small,\n h6 .small,\n .h1 small,\n .h1 .small, .h2 small,\n .h2 .small, .h3 small,\n .h3 .small, .h4 small,\n .h4 .small, .h5 small,\n .h5 .small, .h6 small,\n .h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777; }\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: 20px;\n margin-bottom: 10px; }\n h1 small,\n h1 .small, .h1 small,\n .h1 .small,\n h2 small,\n h2 .small, .h2 small,\n .h2 .small,\n h3 small,\n h3 .small, .h3 small,\n .h3 .small {\n font-size: 65%; }\n\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: 10px;\n margin-bottom: 10px; }\n h4 small,\n h4 .small, .h4 small,\n .h4 .small,\n h5 small,\n h5 .small, .h5 small,\n .h5 .small,\n h6 small,\n h6 .small, .h6 small,\n .h6 .small {\n font-size: 75%; }\n\nh1, .h1 {\n font-size: 36px; }\n\nh2, .h2 {\n font-size: 30px; }\n\nh3, .h3 {\n font-size: 24px; }\n\nh4, .h4 {\n font-size: 18px; }\n\nh5, .h5 {\n font-size: 14px; }\n\nh6, .h6 {\n font-size: 12px; }\n\np {\n margin: 0 0 10px; }\n\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4; }\n @media (min-width: 768px) {\n .lead {\n font-size: 21px; } }\n\nsmall,\n.small {\n font-size: 85%; }\n\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em; }\n\n.text-left {\n text-align: left; }\n\n.text-right {\n text-align: right; }\n\n.text-center {\n text-align: center; }\n\n.text-justify {\n text-align: justify; }\n\n.text-nowrap {\n white-space: nowrap; }\n\n.text-lowercase {\n text-transform: lowercase; }\n\n.text-uppercase, .initialism {\n text-transform: uppercase; }\n\n.text-capitalize {\n text-transform: capitalize; }\n\n.text-muted, body.maintenance-page .tasks-list > div {\n color: #777777; }\n\n.text-primary {\n color: #337ab7; }\n\na.text-primary:hover,\na.text-primary:focus {\n color: #286090; }\n\n.text-success {\n color: #3c763d; }\n\na.text-success:hover,\na.text-success:focus {\n color: #2b542c; }\n\n.text-info {\n color: #31708f; }\n\na.text-info:hover,\na.text-info:focus {\n color: #245269; }\n\n.text-warning {\n color: #8a6d3b; }\n\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c; }\n\n.text-danger {\n color: #a94442; }\n\na.text-danger:hover,\na.text-danger:focus {\n color: #843534; }\n\n.bg-primary {\n color: #fff; }\n\n.bg-primary {\n background-color: #337ab7; }\n\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090; }\n\n.bg-success {\n background-color: #dff0d8; }\n\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3; }\n\n.bg-info {\n background-color: #d9edf7; }\n\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee; }\n\n.bg-warning {\n background-color: #fcf8e3; }\n\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5; }\n\n.bg-danger {\n background-color: #f2dede; }\n\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9; }\n\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee; }\n\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px; }\n ul ul,\n ul ol,\n ol ul,\n ol ol {\n margin-bottom: 0; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px; }\n .list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px; }\n\ndl {\n margin-top: 0;\n margin-bottom: 20px; }\n\ndt,\ndd {\n line-height: 1.42857; }\n\ndt {\n font-weight: bold; }\n\ndd {\n margin-left: 0; }\n\n.dl-horizontal dd {\n overflow: hidden;\n *zoom: 1; }\n\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .dl-horizontal dd {\n margin-left: 180px; } }\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777; }\n\n.initialism {\n font-size: 90%; }\n\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee; }\n blockquote p:last-child,\n blockquote ul:last-child,\n blockquote ol:last-child {\n margin-bottom: 0; }\n blockquote footer,\n blockquote small,\n blockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857;\n color: #777777; }\n blockquote footer:before,\n blockquote small:before,\n blockquote .small:before {\n content: '\\2014 \\00A0'; }\n\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right; }\n .blockquote-reverse footer:before,\n .blockquote-reverse small:before,\n .blockquote-reverse .small:before,\n blockquote.pull-right footer:before,\n blockquote.pull-right small:before,\n blockquote.pull-right .small:before {\n content: ''; }\n .blockquote-reverse footer:after,\n .blockquote-reverse small:after,\n .blockquote-reverse .small:after,\n blockquote.pull-right footer:after,\n blockquote.pull-right small:after,\n blockquote.pull-right .small:after {\n content: '\\00A0 \\2014'; }\n\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; }\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px; }\n\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none; }\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px; }\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .container {\n width: 750px; } }\n @media (min-width: 992px) {\n .container {\n width: 970px; } }\n @media (min-width: 1200px) {\n .container {\n width: 1170px; } }\n\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n overflow: hidden;\n *zoom: 1; }\n\n.row {\n margin-left: -15px;\n margin-right: -15px;\n overflow: hidden;\n *zoom: 1; }\n\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .calendar-calendar, .view .row > .list-group, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px; }\n\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left; }\n\n.col-xs-1 {\n width: 8.33333%; }\n\n.col-xs-2 {\n width: 16.66667%; }\n\n.col-xs-3 {\n width: 25%; }\n\n.col-xs-4 {\n width: 33.33333%; }\n\n.col-xs-5 {\n width: 41.66667%; }\n\n.col-xs-6 {\n width: 50%; }\n\n.col-xs-7 {\n width: 58.33333%; }\n\n.col-xs-8 {\n width: 66.66667%; }\n\n.col-xs-9 {\n width: 75%; }\n\n.col-xs-10 {\n width: 83.33333%; }\n\n.col-xs-11 {\n width: 91.66667%; }\n\n.col-xs-12 {\n width: 100%; }\n\n.col-xs-pull-0 {\n right: auto; }\n\n.col-xs-pull-1 {\n right: 8.33333%; }\n\n.col-xs-pull-2 {\n right: 16.66667%; }\n\n.col-xs-pull-3 {\n right: 25%; }\n\n.col-xs-pull-4 {\n right: 33.33333%; }\n\n.col-xs-pull-5 {\n right: 41.66667%; }\n\n.col-xs-pull-6 {\n right: 50%; }\n\n.col-xs-pull-7 {\n right: 58.33333%; }\n\n.col-xs-pull-8 {\n right: 66.66667%; }\n\n.col-xs-pull-9 {\n right: 75%; }\n\n.col-xs-pull-10 {\n right: 83.33333%; }\n\n.col-xs-pull-11 {\n right: 91.66667%; }\n\n.col-xs-pull-12 {\n right: 100%; }\n\n.col-xs-push-0 {\n left: auto; }\n\n.col-xs-push-1 {\n left: 8.33333%; }\n\n.col-xs-push-2 {\n left: 16.66667%; }\n\n.col-xs-push-3 {\n left: 25%; }\n\n.col-xs-push-4 {\n left: 33.33333%; }\n\n.col-xs-push-5 {\n left: 41.66667%; }\n\n.col-xs-push-6 {\n left: 50%; }\n\n.col-xs-push-7 {\n left: 58.33333%; }\n\n.col-xs-push-8 {\n left: 66.66667%; }\n\n.col-xs-push-9 {\n left: 75%; }\n\n.col-xs-push-10 {\n left: 83.33333%; }\n\n.col-xs-push-11 {\n left: 91.66667%; }\n\n.col-xs-push-12 {\n left: 100%; }\n\n.col-xs-offset-0 {\n margin-left: 0%; }\n\n.col-xs-offset-1 {\n margin-left: 8.33333%; }\n\n.col-xs-offset-2 {\n margin-left: 16.66667%; }\n\n.col-xs-offset-3 {\n margin-left: 25%; }\n\n.col-xs-offset-4 {\n margin-left: 33.33333%; }\n\n.col-xs-offset-5 {\n margin-left: 41.66667%; }\n\n.col-xs-offset-6 {\n margin-left: 50%; }\n\n.col-xs-offset-7 {\n margin-left: 58.33333%; }\n\n.col-xs-offset-8 {\n margin-left: 66.66667%; }\n\n.col-xs-offset-9 {\n margin-left: 75%; }\n\n.col-xs-offset-10 {\n margin-left: 83.33333%; }\n\n.col-xs-offset-11 {\n margin-left: 91.66667%; }\n\n.col-xs-offset-12 {\n margin-left: 100%; }\n\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left; }\n .col-sm-1 {\n width: 8.33333%; }\n .col-sm-2 {\n width: 16.66667%; }\n .col-sm-3 {\n width: 25%; }\n .col-sm-4 {\n width: 33.33333%; }\n .col-sm-5 {\n width: 41.66667%; }\n .col-sm-6 {\n width: 50%; }\n .col-sm-7 {\n width: 58.33333%; }\n .col-sm-8 {\n width: 66.66667%; }\n .col-sm-9 {\n width: 75%; }\n .col-sm-10 {\n width: 83.33333%; }\n .col-sm-11 {\n width: 91.66667%; }\n .col-sm-12 {\n width: 100%; }\n .col-sm-pull-0 {\n right: auto; }\n .col-sm-pull-1 {\n right: 8.33333%; }\n .col-sm-pull-2 {\n right: 16.66667%; }\n .col-sm-pull-3 {\n right: 25%; }\n .col-sm-pull-4 {\n right: 33.33333%; }\n .col-sm-pull-5 {\n right: 41.66667%; }\n .col-sm-pull-6 {\n right: 50%; }\n .col-sm-pull-7 {\n right: 58.33333%; }\n .col-sm-pull-8 {\n right: 66.66667%; }\n .col-sm-pull-9 {\n right: 75%; }\n .col-sm-pull-10 {\n right: 83.33333%; }\n .col-sm-pull-11 {\n right: 91.66667%; }\n .col-sm-pull-12 {\n right: 100%; }\n .col-sm-push-0 {\n left: auto; }\n .col-sm-push-1 {\n left: 8.33333%; }\n .col-sm-push-2 {\n left: 16.66667%; }\n .col-sm-push-3 {\n left: 25%; }\n .col-sm-push-4 {\n left: 33.33333%; }\n .col-sm-push-5 {\n left: 41.66667%; }\n .col-sm-push-6 {\n left: 50%; }\n .col-sm-push-7 {\n left: 58.33333%; }\n .col-sm-push-8 {\n left: 66.66667%; }\n .col-sm-push-9 {\n left: 75%; }\n .col-sm-push-10 {\n left: 83.33333%; }\n .col-sm-push-11 {\n left: 91.66667%; }\n .col-sm-push-12 {\n left: 100%; }\n .col-sm-offset-0 {\n margin-left: 0%; }\n .col-sm-offset-1 {\n margin-left: 8.33333%; }\n .col-sm-offset-2 {\n margin-left: 16.66667%; }\n .col-sm-offset-3 {\n margin-left: 25%; }\n .col-sm-offset-4 {\n margin-left: 33.33333%; }\n .col-sm-offset-5 {\n margin-left: 41.66667%; }\n .col-sm-offset-6 {\n margin-left: 50%; }\n .col-sm-offset-7 {\n margin-left: 58.33333%; }\n .col-sm-offset-8 {\n margin-left: 66.66667%; }\n .col-sm-offset-9 {\n margin-left: 75%; }\n .col-sm-offset-10 {\n margin-left: 83.33333%; }\n .col-sm-offset-11 {\n margin-left: 91.66667%; }\n .col-sm-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .calendar-calendar, .view .row > .list-group {\n float: left; }\n .col-md-1 {\n width: 8.33333%; }\n .col-md-2 {\n width: 16.66667%; }\n .col-md-3 {\n width: 25%; }\n .col-md-4 {\n width: 33.33333%; }\n .col-md-5 {\n width: 41.66667%; }\n .col-md-6 {\n width: 50%; }\n .col-md-7 {\n width: 58.33333%; }\n .col-md-8 {\n width: 66.66667%; }\n .col-md-9 {\n width: 75%; }\n .col-md-10 {\n width: 83.33333%; }\n .col-md-11 {\n width: 91.66667%; }\n .col-md-12, .calendar-calendar, .view .row > .list-group {\n width: 100%; }\n .col-md-pull-0 {\n right: auto; }\n .col-md-pull-1 {\n right: 8.33333%; }\n .col-md-pull-2 {\n right: 16.66667%; }\n .col-md-pull-3 {\n right: 25%; }\n .col-md-pull-4 {\n right: 33.33333%; }\n .col-md-pull-5 {\n right: 41.66667%; }\n .col-md-pull-6 {\n right: 50%; }\n .col-md-pull-7 {\n right: 58.33333%; }\n .col-md-pull-8 {\n right: 66.66667%; }\n .col-md-pull-9 {\n right: 75%; }\n .col-md-pull-10 {\n right: 83.33333%; }\n .col-md-pull-11 {\n right: 91.66667%; }\n .col-md-pull-12 {\n right: 100%; }\n .col-md-push-0 {\n left: auto; }\n .col-md-push-1 {\n left: 8.33333%; }\n .col-md-push-2 {\n left: 16.66667%; }\n .col-md-push-3 {\n left: 25%; }\n .col-md-push-4 {\n left: 33.33333%; }\n .col-md-push-5 {\n left: 41.66667%; }\n .col-md-push-6 {\n left: 50%; }\n .col-md-push-7 {\n left: 58.33333%; }\n .col-md-push-8 {\n left: 66.66667%; }\n .col-md-push-9 {\n left: 75%; }\n .col-md-push-10 {\n left: 83.33333%; }\n .col-md-push-11 {\n left: 91.66667%; }\n .col-md-push-12 {\n left: 100%; }\n .col-md-offset-0 {\n margin-left: 0%; }\n .col-md-offset-1 {\n margin-left: 8.33333%; }\n .col-md-offset-2 {\n margin-left: 16.66667%; }\n .col-md-offset-3 {\n margin-left: 25%; }\n .col-md-offset-4 {\n margin-left: 33.33333%; }\n .col-md-offset-5 {\n margin-left: 41.66667%; }\n .col-md-offset-6 {\n margin-left: 50%; }\n .col-md-offset-7 {\n margin-left: 58.33333%; }\n .col-md-offset-8 {\n margin-left: 66.66667%; }\n .col-md-offset-9 {\n margin-left: 75%; }\n .col-md-offset-10 {\n margin-left: 83.33333%; }\n .col-md-offset-11 {\n margin-left: 91.66667%; }\n .col-md-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left; }\n .col-lg-1 {\n width: 8.33333%; }\n .col-lg-2 {\n width: 16.66667%; }\n .col-lg-3 {\n width: 25%; }\n .col-lg-4 {\n width: 33.33333%; }\n .col-lg-5 {\n width: 41.66667%; }\n .col-lg-6 {\n width: 50%; }\n .col-lg-7 {\n width: 58.33333%; }\n .col-lg-8 {\n width: 66.66667%; }\n .col-lg-9 {\n width: 75%; }\n .col-lg-10 {\n width: 83.33333%; }\n .col-lg-11 {\n width: 91.66667%; }\n .col-lg-12 {\n width: 100%; }\n .col-lg-pull-0 {\n right: auto; }\n .col-lg-pull-1 {\n right: 8.33333%; }\n .col-lg-pull-2 {\n right: 16.66667%; }\n .col-lg-pull-3 {\n right: 25%; }\n .col-lg-pull-4 {\n right: 33.33333%; }\n .col-lg-pull-5 {\n right: 41.66667%; }\n .col-lg-pull-6 {\n right: 50%; }\n .col-lg-pull-7 {\n right: 58.33333%; }\n .col-lg-pull-8 {\n right: 66.66667%; }\n .col-lg-pull-9 {\n right: 75%; }\n .col-lg-pull-10 {\n right: 83.33333%; }\n .col-lg-pull-11 {\n right: 91.66667%; }\n .col-lg-pull-12 {\n right: 100%; }\n .col-lg-push-0 {\n left: auto; }\n .col-lg-push-1 {\n left: 8.33333%; }\n .col-lg-push-2 {\n left: 16.66667%; }\n .col-lg-push-3 {\n left: 25%; }\n .col-lg-push-4 {\n left: 33.33333%; }\n .col-lg-push-5 {\n left: 41.66667%; }\n .col-lg-push-6 {\n left: 50%; }\n .col-lg-push-7 {\n left: 58.33333%; }\n .col-lg-push-8 {\n left: 66.66667%; }\n .col-lg-push-9 {\n left: 75%; }\n .col-lg-push-10 {\n left: 83.33333%; }\n .col-lg-push-11 {\n left: 91.66667%; }\n .col-lg-push-12 {\n left: 100%; }\n .col-lg-offset-0 {\n margin-left: 0%; }\n .col-lg-offset-1 {\n margin-left: 8.33333%; }\n .col-lg-offset-2 {\n margin-left: 16.66667%; }\n .col-lg-offset-3 {\n margin-left: 25%; }\n .col-lg-offset-4 {\n margin-left: 33.33333%; }\n .col-lg-offset-5 {\n margin-left: 41.66667%; }\n .col-lg-offset-6 {\n margin-left: 50%; }\n .col-lg-offset-7 {\n margin-left: 58.33333%; }\n .col-lg-offset-8 {\n margin-left: 66.66667%; }\n .col-lg-offset-9 {\n margin-left: 75%; }\n .col-lg-offset-10 {\n margin-left: 83.33333%; }\n .col-lg-offset-11 {\n margin-left: 91.66667%; }\n .col-lg-offset-12 {\n margin-left: 100%; } }\n\ntable {\n background-color: transparent; }\n\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left; }\n\nth {\n text-align: left; }\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px; }\n .table > thead > tr > th,\n .table > thead > tr > td,\n .table > tbody > tr > th,\n .table > tbody > tr > td,\n .table > tfoot > tr > th,\n .table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857;\n vertical-align: top;\n border-top: 1px solid #ddd; }\n .table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd; }\n .table > caption + thead > tr:first-child > th,\n .table > caption + thead > tr:first-child > td,\n .table > colgroup + thead > tr:first-child > th,\n .table > colgroup + thead > tr:first-child > td,\n .table > thead:first-child > tr:first-child > th,\n .table > thead:first-child > tr:first-child > td {\n border-top: 0; }\n .table > tbody + tbody {\n border-top: 2px solid #ddd; }\n .table .table {\n background-color: #fff; }\n\n.table-condensed > thead > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > th,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > th,\n.table-condensed > tfoot > tr > td {\n padding: 5px; }\n\n.table-bordered, .calendar-calendar table.mini {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\n .table-bordered > thead > tr > td, .calendar-calendar table.mini > thead > tr > td,\n .table-bordered > tbody > tr > th, .calendar-calendar table.mini > tbody > tr > th,\n .table-bordered > tbody > tr > td, .calendar-calendar table.mini > tbody > tr > td,\n .table-bordered > tfoot > tr > th, .calendar-calendar table.mini > tfoot > tr > th,\n .table-bordered > tfoot > tr > td, .calendar-calendar table.mini > tfoot > tr > td {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\n .table-bordered > thead > tr > td, .calendar-calendar table.mini > thead > tr > td {\n border-bottom-width: 2px; }\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9; }\n\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5; }\n\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column; }\n\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell; }\n\n.table > thead > tr > td.active,\n.table > thead > tr > th.active,\n.table > thead > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr > td.active,\n.table > tbody > tr > th.active,\n.table > tbody > tr.active > td,\n.table > tbody > tr.active > th,\n.table > tfoot > tr > td.active,\n.table > tfoot > tr > th.active,\n.table > tfoot > tr.active > td,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5; }\n\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8; }\n\n.table > thead > tr > td.success,\n.table > thead > tr > th.success,\n.table > thead > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr > td.success,\n.table > tbody > tr > th.success,\n.table > tbody > tr.success > td,\n.table > tbody > tr.success > th,\n.table > tfoot > tr > td.success,\n.table > tfoot > tr > th.success,\n.table > tfoot > tr.success > td,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8; }\n\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6; }\n\n.table > thead > tr > td.info,\n.table > thead > tr > th.info,\n.table > thead > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr > td.info,\n.table > tbody > tr > th.info,\n.table > tbody > tr.info > td,\n.table > tbody > tr.info > th,\n.table > tfoot > tr > td.info,\n.table > tfoot > tr > th.info,\n.table > tfoot > tr.info > td,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7; }\n\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3; }\n\n.table > thead > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr > td.warning,\n.table > tbody > tr > th.warning,\n.table > tbody > tr.warning > td,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr > td.warning,\n.table > tfoot > tr > th.warning,\n.table > tfoot > tr.warning > td,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3; }\n\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc; }\n\n.table > thead > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr > td.danger,\n.table > tbody > tr > th.danger,\n.table > tbody > tr.danger > td,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr > td.danger,\n.table > tfoot > tr > th.danger,\n.table > tfoot > tr.danger > td,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede; }\n\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc; }\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; }\n @media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd; }\n .table-responsive > .table {\n margin-bottom: 0; }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap; }\n .table-responsive > .table-bordered, .calendar-calendar .table-responsive > table.mini {\n border: 0; }\n .table-responsive > .table-bordered > thead > tr > th:first-child, .calendar-calendar .table-responsive > table.mini > thead > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > td:first-child {\n border-left: 0; }\n .table-responsive > .table-bordered > thead > tr > th:last-child, .calendar-calendar .table-responsive > table.mini > thead > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > td:last-child {\n border-right: 0; }\n .table-responsive > .table-bordered > tbody > tr:last-child > th, .calendar-calendar .table-responsive > table.mini > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td, .calendar-calendar\n .table-responsive > table.mini > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr:last-child > td {\n border-bottom: 0; } }\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0; }\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5; }\n\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold; }\n\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal; }\n\ninput[type=\"file\"] {\n display: block; }\n\ninput[type=\"range\"] {\n display: block;\n width: 100%; }\n\nselect[multiple],\nselect[size] {\n height: auto; }\n\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857;\n color: #555555; }\n\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -webkit-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false false);\n transition: compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false); }\n .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false); }\n .form-control::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .form-control:-ms-input-placeholder {\n color: #999; }\n .form-control::-webkit-input-placeholder {\n color: #999; }\n .form-control::-ms-expand {\n border: 0;\n background-color: transparent; }\n .form-control[disabled], .form-control[readonly],\n fieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1; }\n .form-control[disabled],\n fieldset[disabled] .form-control {\n cursor: not-allowed; }\n\ntextarea.form-control {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: none; }\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px; }\n input[type=\"date\"].input-sm, .input-group-sm > input[type=\"date\"].form-control,\n .input-group-sm > input[type=\"date\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"date\"].btn,\n .input-group-sm input[type=\"date\"],\n input[type=\"time\"].input-sm,\n .input-group-sm > input[type=\"time\"].form-control,\n .input-group-sm > input[type=\"time\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"time\"].btn,\n .input-group-sm\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-sm,\n .input-group-sm > input[type=\"datetime-local\"].form-control,\n .input-group-sm > input[type=\"datetime-local\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-sm\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-sm,\n .input-group-sm > input[type=\"month\"].form-control,\n .input-group-sm > input[type=\"month\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"month\"].btn,\n .input-group-sm\n input[type=\"month\"] {\n line-height: 30px; }\n input[type=\"date\"].input-lg, .input-group-lg > input[type=\"date\"].form-control,\n .input-group-lg > input[type=\"date\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"date\"].btn,\n .input-group-lg input[type=\"date\"],\n input[type=\"time\"].input-lg,\n .input-group-lg > input[type=\"time\"].form-control,\n .input-group-lg > input[type=\"time\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"time\"].btn,\n .input-group-lg\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-lg,\n .input-group-lg > input[type=\"datetime-local\"].form-control,\n .input-group-lg > input[type=\"datetime-local\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-lg\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-lg,\n .input-group-lg > input[type=\"month\"].form-control,\n .input-group-lg > input[type=\"month\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"month\"].btn,\n .input-group-lg\n input[type=\"month\"] {\n line-height: 46px; } }\n\n.form-group {\n margin-bottom: 15px; }\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px; }\n .radio label,\n .checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer; }\n\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9; }\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; }\n\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer; }\n\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; }\n\ninput[type=\"radio\"][disabled], input[type=\"radio\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled]\ninput[type=\"checkbox\"] {\n cursor: not-allowed; }\n\n.radio-inline.disabled,\nfieldset[disabled] .radio-inline,\n.checkbox-inline.disabled,\nfieldset[disabled]\n.checkbox-inline {\n cursor: not-allowed; }\n\n.radio.disabled label,\nfieldset[disabled] .radio label,\n.checkbox.disabled label,\nfieldset[disabled]\n.checkbox label {\n cursor: not-allowed; }\n\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px; }\n .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,\n .input-group-lg > .form-control-static.input-group-addon,\n .input-group-lg > .input-group-btn > .form-control-static.btn,\n .input-group-lg > .media-widget.input-group-btn > a.form-control-static, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,\n .input-group-sm > .form-control-static.input-group-addon,\n .input-group-sm > .input-group-btn > .form-control-static.btn,\n .input-group-sm > .media-widget.input-group-btn > a.form-control-static {\n padding-left: 0;\n padding-right: 0; }\n\n.input-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn,\n.input-group-sm > .media-widget.input-group-btn > a {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\nselect.input-sm, .input-group-sm > select.form-control,\n.input-group-sm > select.input-group-addon,\n.input-group-sm > .input-group-btn > select.btn {\n height: 30px;\n line-height: 30px; }\n\ntextarea.input-sm, .input-group-sm > textarea.form-control,\n.input-group-sm > textarea.input-group-addon,\n.input-group-sm > .input-group-btn > textarea.btn,\nselect[multiple].input-sm,\n.input-group-sm > select[multiple].form-control,\n.input-group-sm > select[multiple].input-group-addon,\n.input-group-sm > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px; }\n\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto; }\n\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.input-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn,\n.input-group-lg > .media-widget.input-group-btn > a {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\nselect.input-lg, .input-group-lg > select.form-control,\n.input-group-lg > select.input-group-addon,\n.input-group-lg > .input-group-btn > select.btn {\n height: 46px;\n line-height: 46px; }\n\ntextarea.input-lg, .input-group-lg > textarea.form-control,\n.input-group-lg > textarea.input-group-addon,\n.input-group-lg > .input-group-btn > textarea.btn,\nselect[multiple].input-lg,\n.input-group-lg > select[multiple].form-control,\n.input-group-lg > select[multiple].input-group-addon,\n.input-group-lg > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px; }\n\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto; }\n\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.33333; }\n\n.has-feedback {\n position: relative; }\n .has-feedback .form-control {\n padding-right: 42.5px; }\n\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none; }\n\n.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,\n.input-group-lg > .input-group-addon + .form-control-feedback,\n.input-group-lg > .input-group-btn > .btn + .form-control-feedback,\n.input-group-lg > .media-widget.input-group-btn > a + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px; }\n\n.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,\n.input-group-sm > .input-group-addon + .form-control-feedback,\n.input-group-sm > .input-group-btn > .btn + .form-control-feedback,\n.input-group-sm > .media-widget.input-group-btn > a + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px; }\n\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d; }\n\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false); }\n\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8; }\n\n.has-success .form-control-feedback {\n color: #3c763d; }\n\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b; }\n\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false); }\n\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3; }\n\n.has-warning .form-control-feedback {\n color: #8a6d3b; }\n\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442; }\n\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false); }\n\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede; }\n\n.has-error .form-control-feedback {\n color: #a94442; }\n\n.has-feedback label ~ .form-control-feedback {\n top: 25px; }\n\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0; }\n\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373; }\n\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-static {\n display: inline-block; }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle; }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto; }\n .form-inline .input-group > .form-control {\n width: 100%; }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0; }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .form-inline .has-feedback .form-control-feedback {\n top: 0; } }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px; }\n\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n overflow: hidden;\n *zoom: 1; }\n\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px; } }\n\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px; }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px; } }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px; } }\n\n.btn, .media-widget > a {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .btn:focus, .media-widget > a:focus, .btn.focus, .media-widget > a.focus, .btn:active:focus, .media-widget > a:active:focus, .btn:active.focus, .media-widget > a:active.focus, .btn.active:focus, .media-widget > a.active:focus, .btn.active.focus, .media-widget > a.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n .btn:hover, .media-widget > a:hover, .btn:focus, .media-widget > a:focus, .btn.focus, .media-widget > a.focus {\n color: #333;\n text-decoration: none; }\n .btn:active, .media-widget > a:active, .btn.active, .media-widget > a.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false); }\n .btn.disabled, .media-widget > a.disabled, .btn[disabled], .media-widget > a[disabled],\n fieldset[disabled] .btn,\n fieldset[disabled] .media-widget > a {\n cursor: not-allowed;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\na.btn.disabled, .media-widget > a.disabled,\nfieldset[disabled] a.btn,\nfieldset[disabled] .media-widget > a {\n pointer-events: none; }\n\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc; }\n .btn-default:focus, .btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c; }\n .btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,\n .open > .btn-default.dropdown-toggle:hover,\n .open > .btn-default.dropdown-toggle:focus,\n .open > .btn-default.dropdown-toggle.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n background-image: none; }\n .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,\n fieldset[disabled] .btn-default:hover,\n fieldset[disabled] .btn-default:focus,\n fieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc; }\n .btn-default .badge {\n color: #fff;\n background-color: #333; }\n\n.btn-primary, body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary:focus, body.maintenance-page .form-actions .btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a:focus:first-child, .btn-primary.focus, body.maintenance-page .form-actions .focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.focus:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #122b40; }\n .btn-primary:hover, body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a:hover:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active, body.maintenance-page .form-actions .btn:active:first-child, body.maintenance-page .form-actions .media-widget > a:active:first-child, .btn-primary.active, body.maintenance-page .form-actions .active.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active:first-child,\n .open > .btn-primary.dropdown-toggle, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active:hover, body.maintenance-page .form-actions .btn:active:hover:first-child, body.maintenance-page .form-actions .media-widget > a:active:hover:first-child, .btn-primary:active:focus, body.maintenance-page .form-actions .btn:active:focus:first-child, body.maintenance-page .form-actions .media-widget > a:active:focus:first-child, .btn-primary:active.focus, body.maintenance-page .form-actions .btn:active.focus:first-child, body.maintenance-page .form-actions .media-widget > a:active.focus:first-child, .btn-primary.active:hover, body.maintenance-page .form-actions .active.btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a.active:hover:first-child, .btn-primary.active:focus, body.maintenance-page .form-actions .active.btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a.active:focus:first-child, .btn-primary.active.focus, body.maintenance-page .form-actions .active.focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active.focus:first-child,\n .open > .btn-primary.dropdown-toggle:hover, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:hover:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:hover:first-child,\n .open > .btn-primary.dropdown-toggle:focus, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:focus:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:focus:first-child,\n .open > .btn-primary.dropdown-toggle.focus, body.maintenance-page .form-actions\n .open > .dropdown-toggle.focus.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle.focus:first-child {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40; }\n .btn-primary:active, body.maintenance-page .form-actions .btn:active:first-child, body.maintenance-page .form-actions .media-widget > a:active:first-child, .btn-primary.active, body.maintenance-page .form-actions .active.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active:first-child,\n .open > .btn-primary.dropdown-toggle, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:first-child {\n background-image: none; }\n .btn-primary.disabled:hover, body.maintenance-page .form-actions .disabled.btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a.disabled:hover:first-child, .btn-primary.disabled:focus, body.maintenance-page .form-actions .disabled.btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a.disabled:focus:first-child, .btn-primary.disabled.focus, body.maintenance-page .form-actions .disabled.focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.disabled.focus:first-child, .btn-primary[disabled]:hover, body.maintenance-page .form-actions [disabled].btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a[disabled]:hover:first-child, .btn-primary[disabled]:focus, body.maintenance-page .form-actions [disabled].btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a[disabled]:focus:first-child, .btn-primary[disabled].focus, body.maintenance-page .form-actions [disabled].focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a[disabled].focus:first-child,\n fieldset[disabled] .btn-primary:hover,\n fieldset[disabled] body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .btn:hover:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a:hover:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a:hover:first-child,\n fieldset[disabled] .btn-primary:focus,\n fieldset[disabled] body.maintenance-page .form-actions .btn:focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .btn:focus:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a:focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a:focus:first-child,\n fieldset[disabled] .btn-primary.focus,\n fieldset[disabled] body.maintenance-page .form-actions .focus.btn:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .focus.btn:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a.focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a.focus:first-child {\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary .badge, body.maintenance-page .form-actions .btn:first-child .badge, body.maintenance-page .form-actions .media-widget > a:first-child .badge {\n color: #337ab7;\n background-color: #fff; }\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625; }\n .btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,\n .open > .btn-success.dropdown-toggle:hover,\n .open > .btn-success.dropdown-toggle:focus,\n .open > .btn-success.dropdown-toggle.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n background-image: none; }\n .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,\n fieldset[disabled] .btn-success:hover,\n fieldset[disabled] .btn-success:focus,\n fieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success .badge {\n color: #5cb85c;\n background-color: #fff; }\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85; }\n .btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,\n .open > .btn-info.dropdown-toggle:hover,\n .open > .btn-info.dropdown-toggle:focus,\n .open > .btn-info.dropdown-toggle.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n background-image: none; }\n .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,\n fieldset[disabled] .btn-info:hover,\n fieldset[disabled] .btn-info:focus,\n fieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info .badge {\n color: #5bc0de;\n background-color: #fff; }\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning:focus, .btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d; }\n .btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,\n .open > .btn-warning.dropdown-toggle:hover,\n .open > .btn-warning.dropdown-toggle:focus,\n .open > .btn-warning.dropdown-toggle.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n background-image: none; }\n .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,\n fieldset[disabled] .btn-warning:hover,\n fieldset[disabled] .btn-warning:focus,\n fieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff; }\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19; }\n .btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,\n .open > .btn-danger.dropdown-toggle:hover,\n .open > .btn-danger.dropdown-toggle:focus,\n .open > .btn-danger.dropdown-toggle.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n background-image: none; }\n .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,\n fieldset[disabled] .btn-danger:hover,\n fieldset[disabled] .btn-danger:focus,\n fieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger .badge {\n color: #d9534f;\n background-color: #fff; }\n\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0; }\n .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],\n fieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {\n border-color: transparent; }\n .btn-link:hover, .btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent; }\n .btn-link[disabled]:hover, .btn-link[disabled]:focus,\n fieldset[disabled] .btn-link:hover,\n fieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none; }\n\n.btn-lg, .btn-group-lg > .btn, .media-widget.btn-group-lg > a {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\n.btn-sm, .btn-group-sm > .btn, .media-widget.btn-group-sm > a {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-xs, .btn-group-xs > .btn, .media-widget.btn-group-xs > a {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-block {\n display: block;\n width: 100%; }\n\n.btn-block + .btn-block {\n margin-top: 5px; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline; }\n\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n[hidden],\ntemplate {\n display: none; }\n\na {\n background-color: transparent; }\n\na:active,\na:hover {\n outline: 0; }\n\nabbr[title] {\n border-bottom: 1px dotted; }\n\nb,\nstrong {\n font-weight: bold; }\n\ndfn {\n font-style: italic; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nmark {\n background: #ff0;\n color: #000; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\nimg {\n border: 0; }\n\nsvg:not(:root) {\n overflow: hidden; }\n\nfigure {\n margin: 1em 40px; }\n\nhr {\n box-sizing: content-box;\n height: 0; }\n\npre {\n overflow: auto; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0; }\n\nbutton {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer; }\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\ninput {\n line-height: normal; }\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\nlegend {\n border: 0;\n padding: 0; }\n\ntextarea {\n overflow: auto; }\n\noptgroup {\n font-weight: bold; }\n\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\"; }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n .navbar {\n display: none; }\n .btn > .caret, .media-widget > a > .caret,\n .dropup > .btn > .caret,\n .media-widget.dropup > a > .caret {\n border-top-color: #000 !important; }\n .label {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th, .calendar-calendar table.mini th,\n .table-bordered td, .calendar-calendar table.mini td {\n border: 1px solid #ddd !important; } }\n\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url(\"../fonts/bootstrap/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\"); }\n\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.glyphicon-asterisk:before {\n content: \"\\002a\"; }\n\n.glyphicon-plus:before {\n content: \"\\002b\"; }\n\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\"; }\n\n.glyphicon-minus:before {\n content: \"\\2212\"; }\n\n.glyphicon-cloud:before {\n content: \"\\2601\"; }\n\n.glyphicon-envelope:before {\n content: \"\\2709\"; }\n\n.glyphicon-pencil:before {\n content: \"\\270f\"; }\n\n.glyphicon-glass:before {\n content: \"\\e001\"; }\n\n.glyphicon-music:before {\n content: \"\\e002\"; }\n\n.glyphicon-search:before {\n content: \"\\e003\"; }\n\n.glyphicon-heart:before {\n content: \"\\e005\"; }\n\n.glyphicon-star:before {\n content: \"\\e006\"; }\n\n.glyphicon-star-empty:before {\n content: \"\\e007\"; }\n\n.glyphicon-user:before {\n content: \"\\e008\"; }\n\n.glyphicon-film:before {\n content: \"\\e009\"; }\n\n.glyphicon-th-large:before {\n content: \"\\e010\"; }\n\n.glyphicon-th:before {\n content: \"\\e011\"; }\n\n.glyphicon-th-list:before {\n content: \"\\e012\"; }\n\n.glyphicon-ok:before {\n content: \"\\e013\"; }\n\n.glyphicon-remove:before {\n content: \"\\e014\"; }\n\n.glyphicon-zoom-in:before {\n content: \"\\e015\"; }\n\n.glyphicon-zoom-out:before {\n content: \"\\e016\"; }\n\n.glyphicon-off:before {\n content: \"\\e017\"; }\n\n.glyphicon-signal:before {\n content: \"\\e018\"; }\n\n.glyphicon-cog:before {\n content: \"\\e019\"; }\n\n.glyphicon-trash:before {\n content: \"\\e020\"; }\n\n.glyphicon-home:before {\n content: \"\\e021\"; }\n\n.glyphicon-file:before {\n content: \"\\e022\"; }\n\n.glyphicon-time:before {\n content: \"\\e023\"; }\n\n.glyphicon-road:before {\n content: \"\\e024\"; }\n\n.glyphicon-download-alt:before {\n content: \"\\e025\"; }\n\n.glyphicon-download:before {\n content: \"\\e026\"; }\n\n.glyphicon-upload:before {\n content: \"\\e027\"; }\n\n.glyphicon-inbox:before {\n content: \"\\e028\"; }\n\n.glyphicon-play-circle:before {\n content: \"\\e029\"; }\n\n.glyphicon-repeat:before {\n content: \"\\e030\"; }\n\n.glyphicon-refresh:before {\n content: \"\\e031\"; }\n\n.glyphicon-list-alt:before {\n content: \"\\e032\"; }\n\n.glyphicon-lock:before {\n content: \"\\e033\"; }\n\n.glyphicon-flag:before {\n content: \"\\e034\"; }\n\n.glyphicon-headphones:before {\n content: \"\\e035\"; }\n\n.glyphicon-volume-off:before {\n content: \"\\e036\"; }\n\n.glyphicon-volume-down:before {\n content: \"\\e037\"; }\n\n.glyphicon-volume-up:before {\n content: \"\\e038\"; }\n\n.glyphicon-qrcode:before {\n content: \"\\e039\"; }\n\n.glyphicon-barcode:before {\n content: \"\\e040\"; }\n\n.glyphicon-tag:before {\n content: \"\\e041\"; }\n\n.glyphicon-tags:before {\n content: \"\\e042\"; }\n\n.glyphicon-book:before {\n content: \"\\e043\"; }\n\n.glyphicon-bookmark:before {\n content: \"\\e044\"; }\n\n.glyphicon-print:before {\n content: \"\\e045\"; }\n\n.glyphicon-camera:before {\n content: \"\\e046\"; }\n\n.glyphicon-font:before {\n content: \"\\e047\"; }\n\n.glyphicon-bold:before {\n content: \"\\e048\"; }\n\n.glyphicon-italic:before {\n content: \"\\e049\"; }\n\n.glyphicon-text-height:before {\n content: \"\\e050\"; }\n\n.glyphicon-text-width:before {\n content: \"\\e051\"; }\n\n.glyphicon-align-left:before {\n content: \"\\e052\"; }\n\n.glyphicon-align-center:before {\n content: \"\\e053\"; }\n\n.glyphicon-align-right:before {\n content: \"\\e054\"; }\n\n.glyphicon-align-justify:before {\n content: \"\\e055\"; }\n\n.glyphicon-list:before {\n content: \"\\e056\"; }\n\n.glyphicon-indent-left:before {\n content: \"\\e057\"; }\n\n.glyphicon-indent-right:before {\n content: \"\\e058\"; }\n\n.glyphicon-facetime-video:before {\n content: \"\\e059\"; }\n\n.glyphicon-picture:before {\n content: \"\\e060\"; }\n\n.glyphicon-map-marker:before {\n content: \"\\e062\"; }\n\n.glyphicon-adjust:before {\n content: \"\\e063\"; }\n\n.glyphicon-tint:before {\n content: \"\\e064\"; }\n\n.glyphicon-edit:before {\n content: \"\\e065\"; }\n\n.glyphicon-share:before {\n content: \"\\e066\"; }\n\n.glyphicon-check:before {\n content: \"\\e067\"; }\n\n.glyphicon-move:before {\n content: \"\\e068\"; }\n\n.glyphicon-step-backward:before {\n content: \"\\e069\"; }\n\n.glyphicon-fast-backward:before {\n content: \"\\e070\"; }\n\n.glyphicon-backward:before {\n content: \"\\e071\"; }\n\n.glyphicon-play:before {\n content: \"\\e072\"; }\n\n.glyphicon-pause:before {\n content: \"\\e073\"; }\n\n.glyphicon-stop:before {\n content: \"\\e074\"; }\n\n.glyphicon-forward:before {\n content: \"\\e075\"; }\n\n.glyphicon-fast-forward:before {\n content: \"\\e076\"; }\n\n.glyphicon-step-forward:before {\n content: \"\\e077\"; }\n\n.glyphicon-eject:before {\n content: \"\\e078\"; }\n\n.glyphicon-chevron-left:before {\n content: \"\\e079\"; }\n\n.glyphicon-chevron-right:before {\n content: \"\\e080\"; }\n\n.glyphicon-plus-sign:before {\n content: \"\\e081\"; }\n\n.glyphicon-minus-sign:before {\n content: \"\\e082\"; }\n\n.glyphicon-remove-sign:before {\n content: \"\\e083\"; }\n\n.glyphicon-ok-sign:before {\n content: \"\\e084\"; }\n\n.glyphicon-question-sign:before {\n content: \"\\e085\"; }\n\n.glyphicon-info-sign:before {\n content: \"\\e086\"; }\n\n.glyphicon-screenshot:before {\n content: \"\\e087\"; }\n\n.glyphicon-remove-circle:before {\n content: \"\\e088\"; }\n\n.glyphicon-ok-circle:before {\n content: \"\\e089\"; }\n\n.glyphicon-ban-circle:before {\n content: \"\\e090\"; }\n\n.glyphicon-arrow-left:before {\n content: \"\\e091\"; }\n\n.glyphicon-arrow-right:before {\n content: \"\\e092\"; }\n\n.glyphicon-arrow-up:before {\n content: \"\\e093\"; }\n\n.glyphicon-arrow-down:before {\n content: \"\\e094\"; }\n\n.glyphicon-share-alt:before {\n content: \"\\e095\"; }\n\n.glyphicon-resize-full:before {\n content: \"\\e096\"; }\n\n.glyphicon-resize-small:before {\n content: \"\\e097\"; }\n\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\"; }\n\n.glyphicon-gift:before {\n content: \"\\e102\"; }\n\n.glyphicon-leaf:before {\n content: \"\\e103\"; }\n\n.glyphicon-fire:before {\n content: \"\\e104\"; }\n\n.glyphicon-eye-open:before {\n content: \"\\e105\"; }\n\n.glyphicon-eye-close:before {\n content: \"\\e106\"; }\n\n.glyphicon-warning-sign:before {\n content: \"\\e107\"; }\n\n.glyphicon-plane:before {\n content: \"\\e108\"; }\n\n.glyphicon-calendar:before {\n content: \"\\e109\"; }\n\n.glyphicon-random:before {\n content: \"\\e110\"; }\n\n.glyphicon-comment:before {\n content: \"\\e111\"; }\n\n.glyphicon-magnet:before {\n content: \"\\e112\"; }\n\n.glyphicon-chevron-up:before {\n content: \"\\e113\"; }\n\n.glyphicon-chevron-down:before {\n content: \"\\e114\"; }\n\n.glyphicon-retweet:before {\n content: \"\\e115\"; }\n\n.glyphicon-shopping-cart:before {\n content: \"\\e116\"; }\n\n.glyphicon-folder-close:before {\n content: \"\\e117\"; }\n\n.glyphicon-folder-open:before {\n content: \"\\e118\"; }\n\n.glyphicon-resize-vertical:before {\n content: \"\\e119\"; }\n\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\"; }\n\n.glyphicon-hdd:before {\n content: \"\\e121\"; }\n\n.glyphicon-bullhorn:before {\n content: \"\\e122\"; }\n\n.glyphicon-bell:before {\n content: \"\\e123\"; }\n\n.glyphicon-certificate:before {\n content: \"\\e124\"; }\n\n.glyphicon-thumbs-up:before {\n content: \"\\e125\"; }\n\n.glyphicon-thumbs-down:before {\n content: \"\\e126\"; }\n\n.glyphicon-hand-right:before {\n content: \"\\e127\"; }\n\n.glyphicon-hand-left:before {\n content: \"\\e128\"; }\n\n.glyphicon-hand-up:before {\n content: \"\\e129\"; }\n\n.glyphicon-hand-down:before {\n content: \"\\e130\"; }\n\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\"; }\n\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\"; }\n\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\"; }\n\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\"; }\n\n.glyphicon-globe:before {\n content: \"\\e135\"; }\n\n.glyphicon-wrench:before {\n content: \"\\e136\"; }\n\n.glyphicon-tasks:before {\n content: \"\\e137\"; }\n\n.glyphicon-filter:before {\n content: \"\\e138\"; }\n\n.glyphicon-briefcase:before {\n content: \"\\e139\"; }\n\n.glyphicon-fullscreen:before {\n content: \"\\e140\"; }\n\n.glyphicon-dashboard:before {\n content: \"\\e141\"; }\n\n.glyphicon-paperclip:before {\n content: \"\\e142\"; }\n\n.glyphicon-heart-empty:before {\n content: \"\\e143\"; }\n\n.glyphicon-link:before {\n content: \"\\e144\"; }\n\n.glyphicon-phone:before {\n content: \"\\e145\"; }\n\n.glyphicon-pushpin:before {\n content: \"\\e146\"; }\n\n.glyphicon-usd:before {\n content: \"\\e148\"; }\n\n.glyphicon-gbp:before {\n content: \"\\e149\"; }\n\n.glyphicon-sort:before {\n content: \"\\e150\"; }\n\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\"; }\n\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\"; }\n\n.glyphicon-sort-by-order:before {\n content: \"\\e153\"; }\n\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\"; }\n\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\"; }\n\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\"; }\n\n.glyphicon-unchecked:before {\n content: \"\\e157\"; }\n\n.glyphicon-expand:before {\n content: \"\\e158\"; }\n\n.glyphicon-collapse-down:before {\n content: \"\\e159\"; }\n\n.glyphicon-collapse-up:before {\n content: \"\\e160\"; }\n\n.glyphicon-log-in:before {\n content: \"\\e161\"; }\n\n.glyphicon-flash:before {\n content: \"\\e162\"; }\n\n.glyphicon-log-out:before {\n content: \"\\e163\"; }\n\n.glyphicon-new-window:before {\n content: \"\\e164\"; }\n\n.glyphicon-record:before {\n content: \"\\e165\"; }\n\n.glyphicon-save:before {\n content: \"\\e166\"; }\n\n.glyphicon-open:before {\n content: \"\\e167\"; }\n\n.glyphicon-saved:before {\n content: \"\\e168\"; }\n\n.glyphicon-import:before {\n content: \"\\e169\"; }\n\n.glyphicon-export:before {\n content: \"\\e170\"; }\n\n.glyphicon-send:before {\n content: \"\\e171\"; }\n\n.glyphicon-floppy-disk:before {\n content: \"\\e172\"; }\n\n.glyphicon-floppy-saved:before {\n content: \"\\e173\"; }\n\n.glyphicon-floppy-remove:before {\n content: \"\\e174\"; }\n\n.glyphicon-floppy-save:before {\n content: \"\\e175\"; }\n\n.glyphicon-floppy-open:before {\n content: \"\\e176\"; }\n\n.glyphicon-credit-card:before {\n content: \"\\e177\"; }\n\n.glyphicon-transfer:before {\n content: \"\\e178\"; }\n\n.glyphicon-cutlery:before {\n content: \"\\e179\"; }\n\n.glyphicon-header:before {\n content: \"\\e180\"; }\n\n.glyphicon-compressed:before {\n content: \"\\e181\"; }\n\n.glyphicon-earphone:before {\n content: \"\\e182\"; }\n\n.glyphicon-phone-alt:before {\n content: \"\\e183\"; }\n\n.glyphicon-tower:before {\n content: \"\\e184\"; }\n\n.glyphicon-stats:before {\n content: \"\\e185\"; }\n\n.glyphicon-sd-video:before {\n content: \"\\e186\"; }\n\n.glyphicon-hd-video:before {\n content: \"\\e187\"; }\n\n.glyphicon-subtitles:before {\n content: \"\\e188\"; }\n\n.glyphicon-sound-stereo:before {\n content: \"\\e189\"; }\n\n.glyphicon-sound-dolby:before {\n content: \"\\e190\"; }\n\n.glyphicon-sound-5-1:before {\n content: \"\\e191\"; }\n\n.glyphicon-sound-6-1:before {\n content: \"\\e192\"; }\n\n.glyphicon-sound-7-1:before {\n content: \"\\e193\"; }\n\n.glyphicon-copyright-mark:before {\n content: \"\\e194\"; }\n\n.glyphicon-registration-mark:before {\n content: \"\\e195\"; }\n\n.glyphicon-cloud-download:before {\n content: \"\\e197\"; }\n\n.glyphicon-cloud-upload:before {\n content: \"\\e198\"; }\n\n.glyphicon-tree-conifer:before {\n content: \"\\e199\"; }\n\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\"; }\n\n.glyphicon-cd:before {\n content: \"\\e201\"; }\n\n.glyphicon-save-file:before {\n content: \"\\e202\"; }\n\n.glyphicon-open-file:before {\n content: \"\\e203\"; }\n\n.glyphicon-level-up:before {\n content: \"\\e204\"; }\n\n.glyphicon-copy:before {\n content: \"\\e205\"; }\n\n.glyphicon-paste:before {\n content: \"\\e206\"; }\n\n.glyphicon-alert:before {\n content: \"\\e209\"; }\n\n.glyphicon-equalizer:before {\n content: \"\\e210\"; }\n\n.glyphicon-king:before {\n content: \"\\e211\"; }\n\n.glyphicon-queen:before {\n content: \"\\e212\"; }\n\n.glyphicon-pawn:before {\n content: \"\\e213\"; }\n\n.glyphicon-bishop:before {\n content: \"\\e214\"; }\n\n.glyphicon-knight:before {\n content: \"\\e215\"; }\n\n.glyphicon-baby-formula:before {\n content: \"\\e216\"; }\n\n.glyphicon-tent:before {\n content: \"\\26fa\"; }\n\n.glyphicon-blackboard:before {\n content: \"\\e218\"; }\n\n.glyphicon-bed:before {\n content: \"\\e219\"; }\n\n.glyphicon-apple:before {\n content: \"\\f8ff\"; }\n\n.glyphicon-erase:before {\n content: \"\\e221\"; }\n\n.glyphicon-hourglass:before {\n content: \"\\231b\"; }\n\n.glyphicon-lamp:before {\n content: \"\\e223\"; }\n\n.glyphicon-duplicate:before {\n content: \"\\e224\"; }\n\n.glyphicon-piggy-bank:before {\n content: \"\\e225\"; }\n\n.glyphicon-scissors:before {\n content: \"\\e226\"; }\n\n.glyphicon-bitcoin:before {\n content: \"\\e227\"; }\n\n.glyphicon-btc:before {\n content: \"\\e227\"; }\n\n.glyphicon-xbt:before {\n content: \"\\e227\"; }\n\n.glyphicon-yen:before {\n content: \"\\00a5\"; }\n\n.glyphicon-jpy:before {\n content: \"\\00a5\"; }\n\n.glyphicon-ruble:before {\n content: \"\\20bd\"; }\n\n.glyphicon-rub:before {\n content: \"\\20bd\"; }\n\n.glyphicon-scale:before {\n content: \"\\e230\"; }\n\n.glyphicon-ice-lolly:before {\n content: \"\\e231\"; }\n\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\"; }\n\n.glyphicon-education:before {\n content: \"\\e233\"; }\n\n.glyphicon-option-horizontal:before {\n content: \"\\e234\"; }\n\n.glyphicon-option-vertical:before {\n content: \"\\e235\"; }\n\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\"; }\n\n.glyphicon-modal-window:before {\n content: \"\\e237\"; }\n\n.glyphicon-oil:before {\n content: \"\\e238\"; }\n\n.glyphicon-grain:before {\n content: \"\\e239\"; }\n\n.glyphicon-sunglasses:before {\n content: \"\\e240\"; }\n\n.glyphicon-text-size:before {\n content: \"\\e241\"; }\n\n.glyphicon-text-color:before {\n content: \"\\e242\"; }\n\n.glyphicon-text-background:before {\n content: \"\\e243\"; }\n\n.glyphicon-object-align-top:before {\n content: \"\\e244\"; }\n\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\"; }\n\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\"; }\n\n.glyphicon-object-align-left:before {\n content: \"\\e247\"; }\n\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\"; }\n\n.glyphicon-object-align-right:before {\n content: \"\\e249\"; }\n\n.glyphicon-triangle-right:before {\n content: \"\\e250\"; }\n\n.glyphicon-triangle-left:before {\n content: \"\\e251\"; }\n\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\"; }\n\n.glyphicon-triangle-top:before {\n content: \"\\e253\"; }\n\n.glyphicon-console:before {\n content: \"\\e254\"; }\n\n.glyphicon-superscript:before {\n content: \"\\e255\"; }\n\n.glyphicon-subscript:before {\n content: \"\\e256\"; }\n\n.glyphicon-menu-left:before {\n content: \"\\e257\"; }\n\n.glyphicon-menu-right:before {\n content: \"\\e258\"; }\n\n.glyphicon-menu-down:before {\n content: \"\\e259\"; }\n\n.glyphicon-menu-up:before {\n content: \"\\e260\"; }\n\n.fade {\n opacity: 0;\n -webkit-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false); }\n .fade.in {\n opacity: 1; }\n\n.collapse {\n display: none; }\n .collapse.in {\n display: block; }\n\ntr.collapse.in {\n display: table-row; }\n\ntbody.collapse.in {\n display: table-row-group; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -moz-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -o-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -webkit-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -moz-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -o-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -webkit-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n -moz-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n -o-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false); }\n\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent; }\n\n.dropup,\n.dropdown {\n position: relative; }\n\n.dropdown-toggle:focus {\n outline: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n background-clip: padding-box; }\n .dropdown-menu.pull-right {\n right: 0;\n left: auto; }\n .dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857;\n color: #333333;\n white-space: nowrap; }\n\n.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5; }\n\n.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7; }\n\n.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n color: #777777; }\n\n.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed; }\n\n.open > .dropdown-menu {\n display: block; }\n\n.open > a {\n outline: 0; }\n\n.dropdown-menu-right {\n left: auto;\n right: 0; }\n\n.dropdown-menu-left {\n left: 0;\n right: auto; }\n\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857;\n color: #777777;\n white-space: nowrap; }\n\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990; }\n\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto; }\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\"; }\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px; }\n\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto; }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto; } }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; }\n .btn-group > .btn, .media-widget.btn-group > a,\n .btn-group-vertical > .btn,\n .media-widget.btn-group-vertical > a {\n position: relative;\n float: left; }\n .btn-group > .btn:hover, .media-widget.btn-group > a:hover, .btn-group > .btn:focus, .media-widget.btn-group > a:focus, .btn-group > .btn:active, .media-widget.btn-group > a:active, .btn-group > .btn.active, .media-widget.btn-group > a.active,\n .btn-group-vertical > .btn:hover,\n .media-widget.btn-group-vertical > a:hover,\n .btn-group-vertical > .btn:focus,\n .media-widget.btn-group-vertical > a:focus,\n .btn-group-vertical > .btn:active,\n .media-widget.btn-group-vertical > a:active,\n .btn-group-vertical > .btn.active,\n .media-widget.btn-group-vertical > a.active {\n z-index: 2; }\n\n.btn-group .btn + .btn, .btn-group .media-widget > a + .btn, .btn-group .media-widget > .btn + a, .btn-group .media-widget > a + a,\n.btn-group .btn + .btn-group,\n.btn-group .media-widget > a + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .media-widget > .btn-group + a,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px; }\n\n.btn-toolbar {\n margin-left: -5px;\n overflow: hidden;\n *zoom: 1; }\n .btn-toolbar .btn, .btn-toolbar .media-widget > a,\n .btn-toolbar .btn-group,\n .btn-toolbar .input-group {\n float: left; }\n .btn-toolbar > .btn, .media-widget.btn-toolbar > a,\n .btn-toolbar > .btn-group,\n .btn-toolbar > .input-group {\n margin-left: 5px; }\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle), .media-widget.btn-group > a:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0; }\n\n.btn-group > .btn:first-child, .media-widget.btn-group > a:first-child {\n margin-left: 0; }\n .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), .media-widget.btn-group > a:first-child:not(:last-child):not(.dropdown-toggle) {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:last-child:not(:first-child), .media-widget.btn-group > a:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group > .btn-group {\n float: left; }\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group > .media-widget.btn-group:not(:first-child):not(:last-child) > a {\n border-radius: 0; }\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .media-widget.btn-group:first-child:not(:last-child) > a:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group > .media-widget.btn-group:last-child:not(:first-child) > a:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0; }\n\n.btn-group > .btn + .dropdown-toggle, .media-widget.btn-group > a + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px; }\n\n.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle, .media-widget.btn-group-lg.btn-group > a + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px; }\n\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false); }\n .btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\n.btn .caret, .media-widget > a .caret {\n margin-left: 0; }\n\n.btn-lg .caret, .btn-group-lg > .btn .caret, .media-widget.btn-group-lg > a .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0; }\n\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret, .dropup .media-widget.btn-group-lg > a .caret {\n border-width: 0 5px 5px; }\n\n.btn-group-vertical > .btn, .media-widget.btn-group-vertical > a,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn,\n.btn-group-vertical > .media-widget.btn-group > a {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%; }\n\n.btn-group-vertical > .btn-group {\n overflow: hidden;\n *zoom: 1; }\n .btn-group-vertical > .btn-group > .btn, .btn-group-vertical > .media-widget.btn-group > a {\n float: none; }\n\n.btn-group-vertical > .btn + .btn, .media-widget.btn-group-vertical > a + .btn, .media-widget.btn-group-vertical > .btn + a, .media-widget.btn-group-vertical > a + a,\n.btn-group-vertical > .btn + .btn-group,\n.media-widget.btn-group-vertical > a + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.media-widget.btn-group-vertical > .btn-group + a,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0; }\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child), .media-widget.btn-group-vertical > a:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.btn-group-vertical > .btn:first-child:not(:last-child), .media-widget.btn-group-vertical > a:first-child:not(:last-child) {\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group-vertical > .btn:last-child:not(:first-child), .media-widget.btn-group-vertical > a:last-child:not(:first-child) {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group-vertical > .media-widget.btn-group:not(:first-child):not(:last-child) > a {\n border-radius: 0; }\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .media-widget.btn-group:first-child:not(:last-child) > a:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group-vertical > .media-widget.btn-group:last-child:not(:first-child) > a:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate; }\n .btn-group-justified > .btn, .media-widget.btn-group-justified > a,\n .btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%; }\n .btn-group-justified > .btn-group .btn, .btn-group-justified > .btn-group .media-widget > a {\n width: 100%; }\n .btn-group-justified > .btn-group .dropdown-menu {\n left: auto; }\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"], .media-widget[data-toggle=\"buttons\"] > a input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n.media-widget[data-toggle=\"buttons\"] > a input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .media-widget.btn-group > a input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .media-widget.btn-group > a input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0; }\n .input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0; }\n .input-group .form-control:focus {\n z-index: 3; }\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell; }\n .input-group-addon:not(:first-child):not(:last-child),\n .input-group-btn:not(:first-child):not(:last-child),\n .input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; }\n\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px; }\n .input-group-addon.input-sm,\n .input-group-sm > .input-group-addon,\n .input-group-sm > .input-group-btn > .input-group-addon.btn,\n .input-group-sm > .media-widget.input-group-btn > a.input-group-addon {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px; }\n .input-group-addon.input-lg,\n .input-group-lg > .input-group-addon,\n .input-group-lg > .input-group-btn > .input-group-addon.btn,\n .input-group-lg > .media-widget.input-group-btn > a.input-group-addon {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px; }\n .input-group-addon input[type=\"radio\"],\n .input-group-addon input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.media-widget.input-group-btn:first-child > a,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .media-widget.btn-group > a,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.media-widget.input-group-btn:last-child > a:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn,\n.input-group-btn:last-child > .media-widget.btn-group:not(:last-child) > a {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group-addon:first-child {\n border-right: 0; }\n\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.media-widget.input-group-btn:last-child > a,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .media-widget.btn-group > a,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.media-widget.input-group-btn:first-child > a:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn,\n.input-group-btn:first-child > .media-widget.btn-group:not(:first-child) > a {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-addon:last-child {\n border-left: 0; }\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap; }\n .input-group-btn > .btn, .media-widget.input-group-btn > a {\n position: relative; }\n .input-group-btn > .btn + .btn, .media-widget.input-group-btn > a + .btn, .media-widget.input-group-btn > .btn + a, .media-widget.input-group-btn > a + a {\n margin-left: -1px; }\n .input-group-btn > .btn:hover, .media-widget.input-group-btn > a:hover, .input-group-btn > .btn:focus, .media-widget.input-group-btn > a:focus, .input-group-btn > .btn:active, .media-widget.input-group-btn > a:active {\n z-index: 2; }\n .input-group-btn:first-child > .btn, .media-widget.input-group-btn:first-child > a,\n .input-group-btn:first-child > .btn-group {\n margin-right: -1px; }\n .input-group-btn:last-child > .btn, .media-widget.input-group-btn:last-child > a,\n .input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px; }\n\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n overflow: hidden;\n *zoom: 1; }\n .nav > li {\n position: relative;\n display: block; }\n .nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px; }\n .nav > li > a:hover, .nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .nav > li.disabled > a {\n color: #777777; }\n .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed; }\n .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7; }\n .nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .nav > li > a > img {\n max-width: none; }\n\n.nav-tabs {\n border-bottom: 1px solid #ddd; }\n .nav-tabs > li {\n float: left;\n margin-bottom: -1px; }\n .nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0; }\n .nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd; }\n .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default; }\n\n.nav-pills > li {\n float: left; }\n .nav-pills > li > a {\n border-radius: 4px; }\n .nav-pills > li + li {\n margin-left: 2px; }\n .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7; }\n\n.nav-stacked > li {\n float: none; }\n .nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0; }\n\n.nav-justified, .nav-tabs.nav-justified {\n width: 100%; }\n .nav-justified > li, .nav-tabs.nav-justified > li {\n float: none; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px; }\n .nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto; }\n @media (min-width: 768px) {\n .nav-justified > li, .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-bottom: 0; } }\n\n.nav-tabs-justified, .nav-tabs.nav-justified {\n border-bottom: 0; }\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd; }\n @media (min-width: 768px) {\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff; } }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .navbar {\n border-radius: 4px; } }\n\n.navbar-header {\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .navbar-header {\n float: left; } }\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n overflow: hidden;\n *zoom: 1;\n -webkit-overflow-scrolling: touch; }\n .navbar-collapse.in {\n overflow-y: auto; }\n @media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none; }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important; }\n .navbar-collapse.in {\n overflow-y: visible; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0; } }\n\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px; }\n @media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px; } }\n\n.container > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px; }\n @media (min-width: 768px) {\n .container > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-header,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0; } }\n\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px; }\n @media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0; } }\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030; }\n @media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0; } }\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px; }\n\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0; }\n\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n .navbar-brand > img {\n display: block; }\n @media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px; } }\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px; }\n .navbar-toggle:focus {\n outline: 0; }\n .navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px; }\n .navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px; }\n @media (min-width: 768px) {\n .navbar-toggle {\n display: none; } }\n\n.navbar-nav {\n margin: 7.5px -15px; }\n .navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px; }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none; }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px; }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px; }\n .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none; } }\n @media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0; }\n .navbar-nav > li {\n float: left; }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px; } }\n\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n margin-top: 8px;\n margin-bottom: 8px; }\n @media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .navbar-form .form-control-static {\n display: inline-block; }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle; }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto; }\n .navbar-form .input-group > .form-control {\n width: 100%; }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0; }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0; } }\n @media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px; }\n .navbar-form .form-group:last-child {\n margin-bottom: 0; } }\n @media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); } }\n\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px; }\n .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn, .media-widget.btn-group-sm > a.navbar-btn {\n margin-top: 10px;\n margin-bottom: 10px; }\n .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn, .media-widget.btn-group-xs > a.navbar-btn {\n margin-top: 14px;\n margin-bottom: 14px; }\n\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px; }\n @media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px; } }\n\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important; }\n .navbar-right {\n float: right !important;\n margin-right: -15px; }\n .navbar-right ~ .navbar-right {\n margin-right: 0; } }\n\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7; }\n .navbar-default .navbar-brand {\n color: #777; }\n .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent; }\n .navbar-default .navbar-text {\n color: #777; }\n .navbar-default .navbar-nav > li > a {\n color: #777; }\n .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; }\n .navbar-default .navbar-toggle {\n border-color: #ddd; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: #ddd; }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #888; }\n .navbar-default .navbar-collapse,\n .navbar-default .navbar-form {\n border-color: #e7e7e7; }\n .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555; }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777; }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; } }\n .navbar-default .navbar-link {\n color: #777; }\n .navbar-default .navbar-link:hover {\n color: #333; }\n .navbar-default .btn-link {\n color: #777; }\n .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {\n color: #333; }\n .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-default .btn-link:hover,\n fieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc; }\n\n.navbar-inverse {\n background-color: #222;\n border-color: #090909; }\n .navbar-inverse .navbar-brand {\n color: #9d9d9d; }\n .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-text {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent; }\n .navbar-inverse .navbar-toggle {\n border-color: #333; }\n .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {\n background-color: #333; }\n .navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff; }\n .navbar-inverse .navbar-collapse,\n .navbar-inverse .navbar-form {\n border-color: #101010; }\n .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #090909;\n color: #fff; }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent; } }\n .navbar-inverse .navbar-link {\n color: #9d9d9d; }\n .navbar-inverse .navbar-link:hover {\n color: #fff; }\n .navbar-inverse .btn-link {\n color: #9d9d9d; }\n .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {\n color: #fff; }\n .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-inverse .btn-link:hover,\n fieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444; }\n\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px; }\n .breadcrumb > li {\n display: inline-block; }\n .breadcrumb > li + li:before {\n content: \"/ \";\n padding: 0 5px;\n color: #ccc; }\n .breadcrumb > .active {\n color: #777777; }\n\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px; }\n .pagination > li {\n display: inline; }\n .pagination > li > a,\n .pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px; }\n .pagination > li:first-child > a,\n .pagination > li:first-child > span {\n margin-left: 0;\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px; }\n .pagination > li:last-child > a,\n .pagination > li:last-child > span {\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n .pagination > li > a:hover, .pagination > li > a:focus,\n .pagination > li > span:hover,\n .pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd; }\n .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,\n .pagination > .active > span,\n .pagination > .active > span:hover,\n .pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default; }\n .pagination > .disabled > span,\n .pagination > .disabled > span:hover,\n .pagination > .disabled > span:focus,\n .pagination > .disabled > a,\n .pagination > .disabled > a:hover,\n .pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed; }\n\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333; }\n\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n -moz-border-radius-topleft: 6px;\n -webkit-border-top-left-radius: 6px;\n border-top-left-radius: 6px;\n -moz-border-radius-bottomleft: 6px;\n -webkit-border-bottom-left-radius: 6px;\n border-bottom-left-radius: 6px; }\n\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n -moz-border-radius-topright: 6px;\n -webkit-border-top-right-radius: 6px;\n border-top-right-radius: 6px;\n -moz-border-radius-bottomright: 6px;\n -webkit-border-bottom-right-radius: 6px;\n border-bottom-right-radius: 6px; }\n\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px; }\n\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n overflow: hidden;\n *zoom: 1; }\n .pager li {\n display: inline; }\n .pager li > a,\n .pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px; }\n .pager li > a:hover,\n .pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .pager .next > a,\n .pager .next > span {\n float: right; }\n .pager .previous > a,\n .pager .previous > span {\n float: left; }\n .pager .disabled > a,\n .pager .disabled > a:hover,\n .pager .disabled > a:focus,\n .pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed; }\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em; }\n .label:empty {\n display: none; }\n .btn .label, .media-widget > a .label {\n position: relative;\n top: -1px; }\n\na.label:hover, a.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.label-default {\n background-color: #777777; }\n .label-default[href]:hover, .label-default[href]:focus {\n background-color: #5e5e5e; }\n\n.label-primary {\n background-color: #337ab7; }\n .label-primary[href]:hover, .label-primary[href]:focus {\n background-color: #286090; }\n\n.label-success {\n background-color: #5cb85c; }\n .label-success[href]:hover, .label-success[href]:focus {\n background-color: #449d44; }\n\n.label-info {\n background-color: #5bc0de; }\n .label-info[href]:hover, .label-info[href]:focus {\n background-color: #31b0d5; }\n\n.label-warning {\n background-color: #f0ad4e; }\n .label-warning[href]:hover, .label-warning[href]:focus {\n background-color: #ec971f; }\n\n.label-danger {\n background-color: #d9534f; }\n .label-danger[href]:hover, .label-danger[href]:focus {\n background-color: #c9302c; }\n\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px; }\n .badge:empty {\n display: none; }\n .btn .badge, .media-widget > a .badge {\n position: relative;\n top: -1px; }\n .btn-xs .badge, .btn-group-xs > .btn .badge, .media-widget.btn-group-xs > a .badge,\n .btn-group-xs > .btn .badge,\n .media-widget.btn-group-xs > a .badge {\n top: 0;\n padding: 1px 5px; }\n .list-group-item.active > .badge,\n .nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff; }\n .list-group-item > .badge {\n float: right; }\n .list-group-item > .badge + .badge {\n margin-right: 5px; }\n .nav-pills > li > a > .badge {\n margin-left: 3px; }\n\na.badge:hover, a.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee; }\n .jumbotron h1,\n .jumbotron .h1 {\n color: inherit; }\n .jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200; }\n .jumbotron > hr {\n border-top-color: #d5d5d5; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px; }\n .jumbotron .container {\n max-width: 100%; }\n @media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px; }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px; } }\n\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false); }\n .thumbnail > img,\n .thumbnail a > img {\n display: block;\n max-width: 100%;\n height: auto;\n margin-left: auto;\n margin-right: auto; }\n .thumbnail .caption {\n padding: 9px;\n color: #333333; }\n\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7; }\n\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px; }\n .alert h4 {\n margin-top: 0;\n color: inherit; }\n .alert .alert-link {\n font-weight: bold; }\n .alert > p,\n .alert > ul {\n margin-bottom: 0; }\n .alert > p + p {\n margin-top: 5px; }\n\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px; }\n .alert-dismissable .close,\n .alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit; }\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d; }\n .alert-success hr {\n border-top-color: #c9e2b3; }\n .alert-success .alert-link {\n color: #2b542c; }\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f; }\n .alert-info hr {\n border-top-color: #a6e1ec; }\n .alert-info .alert-link {\n color: #245269; }\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b; }\n .alert-warning hr {\n border-top-color: #f7e1b5; }\n .alert-warning .alert-link {\n color: #66512c; }\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442; }\n .alert-danger hr {\n border-top-color: #e4b9c0; }\n .alert-danger .alert-link {\n color: #843534; }\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0; }\n to {\n background-position: 0 0; } }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false); }\n\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n -webkit-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(width 0.6s ease, false, false, false, false, false, false, false, false, false); }\n\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px; }\n\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite; }\n\n.progress-bar-success {\n background-color: #5cb85c; }\n .progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-info {\n background-color: #5bc0de; }\n .progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-warning {\n background-color: #f0ad4e; }\n .progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-danger {\n background-color: #d9534f; }\n .progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.media {\n margin-top: 15px; }\n .media:first-child {\n margin-top: 0; }\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden; }\n\n.media-body {\n width: 10000px; }\n\n.media-object {\n display: block; }\n .media-object.img-thumbnail {\n max-width: none; }\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px; }\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px; }\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top; }\n\n.media-middle {\n vertical-align: middle; }\n\n.media-bottom {\n vertical-align: bottom; }\n\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.media-list {\n padding-left: 0;\n list-style: none; }\n\n.list-group {\n margin-bottom: 20px;\n padding-left: 0; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd; }\n .list-group-item:first-child {\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px; }\n .list-group-item:last-child {\n margin-bottom: 0;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n\na.list-group-item,\nbutton.list-group-item {\n color: #555; }\n a.list-group-item .list-group-item-heading,\n button.list-group-item .list-group-item-heading {\n color: #333; }\n a.list-group-item:hover, a.list-group-item:focus,\n button.list-group-item:hover,\n button.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5; }\n\nbutton.list-group-item {\n width: 100%;\n text-align: left; }\n\n.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed; }\n .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {\n color: inherit; }\n .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {\n color: #777777; }\n\n.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .list-group-item.active .list-group-item-heading,\n .list-group-item.active .list-group-item-heading > small,\n .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,\n .list-group-item.active:hover .list-group-item-heading > small,\n .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,\n .list-group-item.active:focus .list-group-item-heading > small,\n .list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit; }\n .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {\n color: #c7ddef; }\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8; }\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d; }\n a.list-group-item-success .list-group-item-heading,\n button.list-group-item-success .list-group-item-heading {\n color: inherit; }\n a.list-group-item-success:hover, a.list-group-item-success:focus,\n button.list-group-item-success:hover,\n button.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6; }\n a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,\n button.list-group-item-success.active,\n button.list-group-item-success.active:hover,\n button.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d; }\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7; }\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f; }\n a.list-group-item-info .list-group-item-heading,\n button.list-group-item-info .list-group-item-heading {\n color: inherit; }\n a.list-group-item-info:hover, a.list-group-item-info:focus,\n button.list-group-item-info:hover,\n button.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3; }\n a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,\n button.list-group-item-info.active,\n button.list-group-item-info.active:hover,\n button.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f; }\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3; }\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b; }\n a.list-group-item-warning .list-group-item-heading,\n button.list-group-item-warning .list-group-item-heading {\n color: inherit; }\n a.list-group-item-warning:hover, a.list-group-item-warning:focus,\n button.list-group-item-warning:hover,\n button.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc; }\n a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,\n button.list-group-item-warning.active,\n button.list-group-item-warning.active:hover,\n button.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b; }\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede; }\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442; }\n a.list-group-item-danger .list-group-item-heading,\n button.list-group-item-danger .list-group-item-heading {\n color: inherit; }\n a.list-group-item-danger:hover, a.list-group-item-danger:focus,\n button.list-group-item-danger:hover,\n button.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc; }\n a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,\n button.list-group-item-danger.active,\n button.list-group-item-danger.active:hover,\n button.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442; }\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3; }\n\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false); }\n\n.panel-body {\n padding: 15px;\n overflow: hidden;\n *zoom: 1; }\n\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel-heading > .dropdown .dropdown-toggle {\n color: inherit; }\n\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit; }\n .panel-title > a,\n .panel-title > small,\n .panel-title > .small,\n .panel-title > small > a,\n .panel-title > .small > a {\n color: inherit; }\n\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0; }\n .panel > .list-group .list-group-item,\n .panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0; }\n .panel > .list-group:first-child .list-group-item:first-child,\n .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .list-group:last-child .list-group-item:last-child,\n .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0; }\n\n.list-group + .panel-footer {\n border-top-width: 0; }\n\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0; }\n .panel > .table caption,\n .panel > .table-responsive > .table caption,\n .panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px; }\n\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px; }\n\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px; }\n\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd; }\n\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0; }\n\n.panel > .table-bordered, .calendar-calendar .panel > table.mini,\n.panel > .table-responsive > .table-bordered, .calendar-calendar\n.panel > .table-responsive > table.mini {\n border: 0; }\n .panel > .table-bordered > thead > tr > th:first-child, .calendar-calendar .panel > table.mini > thead > tr > th:first-child,\n .panel > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .panel > table.mini > thead > tr > td:first-child,\n .panel > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .panel > table.mini > tbody > tr > th:first-child,\n .panel > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .panel > table.mini > tbody > tr > td:first-child,\n .panel > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > th:first-child,\n .panel > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > td:first-child {\n border-left: 0; }\n .panel > .table-bordered > thead > tr > th:last-child, .calendar-calendar .panel > table.mini > thead > tr > th:last-child,\n .panel > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .panel > table.mini > thead > tr > td:last-child,\n .panel > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .panel > table.mini > tbody > tr > th:last-child,\n .panel > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .panel > table.mini > tbody > tr > td:last-child,\n .panel > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > th:last-child,\n .panel > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > td:last-child {\n border-right: 0; }\n .panel > .table-bordered > thead > tr:first-child > td, .calendar-calendar .panel > table.mini > thead > tr:first-child > td,\n .panel > .table-bordered > thead > tr:first-child > th, .calendar-calendar\n .panel > table.mini > thead > tr:first-child > th,\n .panel > .table-bordered > tbody > tr:first-child > td, .calendar-calendar\n .panel > table.mini > tbody > tr:first-child > td,\n .panel > .table-bordered > tbody > tr:first-child > th, .calendar-calendar\n .panel > table.mini > tbody > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:first-child > th {\n border-bottom: 0; }\n .panel > .table-bordered > tbody > tr:last-child > td, .calendar-calendar .panel > table.mini > tbody > tr:last-child > td,\n .panel > .table-bordered > tbody > tr:last-child > th, .calendar-calendar\n .panel > table.mini > tbody > tr:last-child > th,\n .panel > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .panel > table.mini > tfoot > tr:last-child > td,\n .panel > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .panel > table.mini > tfoot > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr:last-child > th {\n border-bottom: 0; }\n\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0; }\n\n.panel-group {\n margin-bottom: 20px; }\n .panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px; }\n .panel-group .panel + .panel {\n margin-top: 5px; }\n .panel-group .panel-heading {\n border-bottom: 0; }\n .panel-group .panel-heading + .panel-collapse > .panel-body,\n .panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd; }\n .panel-group .panel-footer {\n border-top: 0; }\n .panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd; }\n\n.panel-default {\n border-color: #ddd; }\n .panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd; }\n .panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd; }\n .panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333; }\n .panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd; }\n\n.panel-primary {\n border-color: #337ab7; }\n .panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7; }\n .panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff; }\n .panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7; }\n\n.panel-success {\n border-color: #d6e9c6; }\n .panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6; }\n .panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6; }\n .panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d; }\n .panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6; }\n\n.panel-info {\n border-color: #bce8f1; }\n .panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1; }\n .panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1; }\n .panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f; }\n .panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1; }\n\n.panel-warning {\n border-color: #faebcc; }\n .panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc; }\n .panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc; }\n .panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b; }\n .panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc; }\n\n.panel-danger {\n border-color: #ebccd1; }\n .panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1; }\n .panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1; }\n .panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442; }\n .panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1; }\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0; }\n\n.embed-responsive-16by9 {\n padding-bottom: 56.25%; }\n\n.embed-responsive-4by3 {\n padding-bottom: 75%; }\n\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false); }\n .well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n\n.well-lg {\n padding: 24px;\n border-radius: 6px; }\n\n.well-sm {\n padding: 9px;\n border-radius: 3px; }\n\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);\n opacity: 0.2; }\n .close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5; }\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.modal-open {\n overflow: hidden; }\n\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0; }\n .modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -moz-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out; }\n .modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0); }\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px; }\n\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n background-clip: padding-box;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000; }\n .modal-backdrop.fade {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);\n opacity: 0; }\n .modal-backdrop.in {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5; }\n\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n overflow: hidden;\n *zoom: 1; }\n\n.modal-header .close {\n margin-top: -2px; }\n\n.modal-title {\n margin: 0;\n line-height: 1.42857; }\n\n.modal-body {\n position: relative;\n padding: 15px; }\n\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n overflow: hidden;\n *zoom: 1; }\n .modal-footer .btn + .btn, .modal-footer .media-widget > a + .btn, .modal-footer .media-widget > .btn + a, .modal-footer .media-widget > a + a {\n margin-left: 5px;\n margin-bottom: 0; }\n .modal-footer .btn-group .btn + .btn, .modal-footer .btn-group .media-widget > a + .btn, .modal-footer .btn-group .media-widget > .btn + a, .modal-footer .btn-group .media-widget > a + a {\n margin-left: -1px; }\n .modal-footer .btn-block + .btn-block {\n margin-left: 0; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto; }\n .modal-content {\n -webkit-box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false); }\n .modal-sm {\n width: 300px; } }\n\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);\n opacity: 0; }\n .tooltip.in {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);\n opacity: 0.9; }\n .tooltip.top {\n margin-top: -3px;\n padding: 5px 0; }\n .tooltip.right {\n margin-left: 3px;\n padding: 0 5px; }\n .tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0; }\n .tooltip.left {\n margin-left: -3px;\n padding: 0 5px; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px; }\n\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid; }\n\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000; }\n\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000; }\n\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false); }\n .popover.top {\n margin-top: -10px; }\n .popover.right {\n margin-left: 10px; }\n .popover.bottom {\n margin-top: 10px; }\n .popover.left {\n margin-left: -10px; }\n\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0; }\n\n.popover-content {\n padding: 9px 14px; }\n\n.popover > .arrow, .popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid; }\n\n.popover > .arrow {\n border-width: 11px; }\n\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\"; }\n\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px; }\n .popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff; }\n\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff; }\n\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px; }\n .popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff; }\n\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px; }\n\n.carousel {\n position: relative; }\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%; }\n .carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false); }\n .carousel-inner > .item > img,\n .carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n line-height: 1; }\n @media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n -ms-backface-visibility: hidden;\n -o-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n -ms-perspective: 1000px;\n -o-perspective: 1000px;\n perspective: 1000px; }\n .carousel-inner > .item.next, .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n -moz-transform: translate3d(100%, 0, 0);\n -ms-transform: translate3d(100%, 0, 0);\n -o-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0; }\n .carousel-inner > .item.prev, .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n -moz-transform: translate3d(-100%, 0, 0);\n -ms-transform: translate3d(-100%, 0, 0);\n -o-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0; }\n .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0; } }\n .carousel-inner > .active,\n .carousel-inner > .next,\n .carousel-inner > .prev {\n display: block; }\n .carousel-inner > .active {\n left: 0; }\n .carousel-inner > .next,\n .carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%; }\n .carousel-inner > .next {\n left: 100%; }\n .carousel-inner > .prev {\n left: -100%; }\n .carousel-inner > .next.left,\n .carousel-inner > .prev.right {\n left: 0; }\n .carousel-inner > .active.left {\n left: -100%; }\n .carousel-inner > .active.right {\n left: 100%; }\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: transparent; }\n .carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }\n .carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }\n .carousel-control:hover, .carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);\n opacity: 0.9; }\n .carousel-control .icon-prev,\n .carousel-control .icon-next,\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block; }\n .carousel-control .icon-prev,\n .carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px; }\n .carousel-control .icon-next,\n .carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px; }\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif; }\n .carousel-control .icon-prev:before {\n content: '\\2039'; }\n .carousel-control .icon-next:before {\n content: '\\203a'; }\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center; }\n .carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: transparent; }\n .carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff; }\n\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }\n .carousel-caption .btn, .carousel-caption .media-widget > a {\n text-shadow: none; }\n\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px; }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px; }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px; }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px; }\n .carousel-indicators {\n bottom: 20px; } }\n\n.clearfix {\n overflow: hidden;\n *zoom: 1; }\n\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto; }\n\n.pull-right {\n float: right !important; }\n\n.pull-left {\n float: left !important; }\n\n.hide {\n display: none !important; }\n\n.show {\n display: block !important; }\n\n.invisible {\n visibility: hidden; }\n\n.text-hide {\n text-indent: -119988px;\n overflow: hidden;\n text-align: left; }\n\n.hidden {\n display: none !important; }\n\n.affix {\n position: fixed; }\n\n@-ms-viewport {\n width: device-width; }\n\n.visible-xs {\n display: none !important; }\n\n.visible-sm {\n display: none !important; }\n\n.visible-md {\n display: none !important; }\n\n.visible-lg {\n display: none !important; }\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important; }\n\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important; }\n table.visible-xs {\n display: table !important; }\n tr.visible-xs {\n display: table-row !important; }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important; }\n table.visible-sm {\n display: table !important; }\n tr.visible-sm {\n display: table-row !important; }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important; }\n table.visible-md {\n display: table !important; }\n tr.visible-md {\n display: table-row !important; }\n th.visible-md,\n td.visible-md {\n display: table-cell !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important; }\n table.visible-lg {\n display: table !important; }\n tr.visible-lg {\n display: table-row !important; }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important; } }\n\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important; } }\n\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important; } }\n\n.visible-print {\n display: none !important; }\n\n@media print {\n .visible-print {\n display: block !important; }\n table.visible-print {\n display: table !important; }\n tr.visible-print {\n display: table-row !important; }\n th.visible-print,\n td.visible-print {\n display: table-cell !important; } }\n\n.visible-print-block {\n display: none !important; }\n @media print {\n .visible-print-block {\n display: block !important; } }\n\n.visible-print-inline {\n display: none !important; }\n @media print {\n .visible-print-inline {\n display: inline !important; } }\n\n.visible-print-inline-block {\n display: none !important; }\n @media print {\n .visible-print-inline-block {\n display: inline-block !important; } }\n\n@media print {\n .hidden-print {\n display: none !important; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"../fonts/fontawesome-webfont.eot?v=4.7.0\");\n src: url(\"../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0\") format(\"embedded-opentype\"), url(\"../fonts/fontawesome-webfont.woff2?v=4.7.0\") format(\"woff2\"), url(\"../fonts/fontawesome-webfont.woff?v=4.7.0\") format(\"woff\"), url(\"../fonts/fontawesome-webfont.ttf?v=4.7.0\") format(\"truetype\"), url(\"../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\"; }\n\n.fa-music:before {\n content: \"\"; }\n\n.fa-search:before {\n content: \"\"; }\n\n.fa-envelope-o:before {\n content: \"\"; }\n\n.fa-heart:before {\n content: \"\"; }\n\n.fa-star:before {\n content: \"\"; }\n\n.fa-star-o:before {\n content: \"\"; }\n\n.fa-user:before {\n content: \"\"; }\n\n.fa-film:before {\n content: \"\"; }\n\n.fa-th-large:before {\n content: \"\"; }\n\n.fa-th:before {\n content: \"\"; }\n\n.fa-th-list:before {\n content: \"\"; }\n\n.fa-check:before {\n content: \"\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\"; }\n\n.fa-search-plus:before {\n content: \"\"; }\n\n.fa-search-minus:before {\n content: \"\"; }\n\n.fa-power-off:before {\n content: \"\"; }\n\n.fa-signal:before {\n content: \"\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\"; }\n\n.fa-trash-o:before {\n content: \"\"; }\n\n.fa-home:before {\n content: \"\"; }\n\n.fa-file-o:before {\n content: \"\"; }\n\n.fa-clock-o:before {\n content: \"\"; }\n\n.fa-road:before {\n content: \"\"; }\n\n.fa-download:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\"; }\n\n.fa-inbox:before {\n content: \"\"; }\n\n.fa-play-circle-o:before {\n content: \"\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\"; }\n\n.fa-refresh:before {\n content: \"\"; }\n\n.fa-list-alt:before {\n content: \"\"; }\n\n.fa-lock:before {\n content: \"\"; }\n\n.fa-flag:before {\n content: \"\"; }\n\n.fa-headphones:before {\n content: \"\"; }\n\n.fa-volume-off:before {\n content: \"\"; }\n\n.fa-volume-down:before {\n content: \"\"; }\n\n.fa-volume-up:before {\n content: \"\"; }\n\n.fa-qrcode:before {\n content: \"\"; }\n\n.fa-barcode:before {\n content: \"\"; }\n\n.fa-tag:before {\n content: \"\"; }\n\n.fa-tags:before {\n content: \"\"; }\n\n.fa-book:before {\n content: \"\"; }\n\n.fa-bookmark:before {\n content: \"\"; }\n\n.fa-print:before {\n content: \"\"; }\n\n.fa-camera:before {\n content: \"\"; }\n\n.fa-font:before {\n content: \"\"; }\n\n.fa-bold:before {\n content: \"\"; }\n\n.fa-italic:before {\n content: \"\"; }\n\n.fa-text-height:before {\n content: \"\"; }\n\n.fa-text-width:before {\n content: \"\"; }\n\n.fa-align-left:before {\n content: \"\"; }\n\n.fa-align-center:before {\n content: \"\"; }\n\n.fa-align-right:before {\n content: \"\"; }\n\n.fa-align-justify:before {\n content: \"\"; }\n\n.fa-list:before {\n content: \"\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\"; }\n\n.fa-indent:before {\n content: \"\"; }\n\n.fa-video-camera:before {\n content: \"\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\"; }\n\n.fa-pencil:before {\n content: \"\"; }\n\n.fa-map-marker:before {\n content: \"\"; }\n\n.fa-adjust:before {\n content: \"\"; }\n\n.fa-tint:before {\n content: \"\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\"; }\n\n.fa-share-square-o:before {\n content: \"\"; }\n\n.fa-check-square-o:before {\n content: \"\"; }\n\n.fa-arrows:before {\n content: \"\"; }\n\n.fa-step-backward:before {\n content: \"\"; }\n\n.fa-fast-backward:before {\n content: \"\"; }\n\n.fa-backward:before {\n content: \"\"; }\n\n.fa-play:before {\n content: \"\"; }\n\n.fa-pause:before {\n content: \"\"; }\n\n.fa-stop:before {\n content: \"\"; }\n\n.fa-forward:before {\n content: \"\"; }\n\n.fa-fast-forward:before {\n content: \"\"; }\n\n.fa-step-forward:before {\n content: \"\"; }\n\n.fa-eject:before {\n content: \"\"; }\n\n.fa-chevron-left:before {\n content: \"\"; }\n\n.fa-chevron-right:before {\n content: \"\"; }\n\n.fa-plus-circle:before {\n content: \"\"; }\n\n.fa-minus-circle:before {\n content: \"\"; }\n\n.fa-times-circle:before {\n content: \"\"; }\n\n.fa-check-circle:before {\n content: \"\"; }\n\n.fa-question-circle:before {\n content: \"\"; }\n\n.fa-info-circle:before {\n content: \"\"; }\n\n.fa-crosshairs:before {\n content: \"\"; }\n\n.fa-times-circle-o:before {\n content: \"\"; }\n\n.fa-check-circle-o:before {\n content: \"\"; }\n\n.fa-ban:before {\n content: \"\"; }\n\n.fa-arrow-left:before {\n content: \"\"; }\n\n.fa-arrow-right:before {\n content: \"\"; }\n\n.fa-arrow-up:before {\n content: \"\"; }\n\n.fa-arrow-down:before {\n content: \"\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\"; }\n\n.fa-expand:before {\n content: \"\"; }\n\n.fa-compress:before {\n content: \"\"; }\n\n.fa-plus:before {\n content: \"\"; }\n\n.fa-minus:before {\n content: \"\"; }\n\n.fa-asterisk:before {\n content: \"\"; }\n\n.fa-exclamation-circle:before {\n content: \"\"; }\n\n.fa-gift:before {\n content: \"\"; }\n\n.fa-leaf:before {\n content: \"\"; }\n\n.fa-fire:before {\n content: \"\"; }\n\n.fa-eye:before {\n content: \"\"; }\n\n.fa-eye-slash:before {\n content: \"\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\"; }\n\n.fa-plane:before {\n content: \"\"; }\n\n.fa-calendar:before {\n content: \"\"; }\n\n.fa-random:before {\n content: \"\"; }\n\n.fa-comment:before {\n content: \"\"; }\n\n.fa-magnet:before {\n content: \"\"; }\n\n.fa-chevron-up:before {\n content: \"\"; }\n\n.fa-chevron-down:before {\n content: \"\"; }\n\n.fa-retweet:before {\n content: \"\"; }\n\n.fa-shopping-cart:before {\n content: \"\"; }\n\n.fa-folder:before {\n content: \"\"; }\n\n.fa-folder-open:before {\n content: \"\"; }\n\n.fa-arrows-v:before {\n content: \"\"; }\n\n.fa-arrows-h:before {\n content: \"\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\"; }\n\n.fa-twitter-square:before {\n content: \"\"; }\n\n.fa-facebook-square:before {\n content: \"\"; }\n\n.fa-camera-retro:before {\n content: \"\"; }\n\n.fa-key:before {\n content: \"\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\"; }\n\n.fa-comments:before {\n content: \"\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\"; }\n\n.fa-star-half:before {\n content: \"\"; }\n\n.fa-heart-o:before {\n content: \"\"; }\n\n.fa-sign-out:before {\n content: \"\"; }\n\n.fa-linkedin-square:before {\n content: \"\"; }\n\n.fa-thumb-tack:before {\n content: \"\"; }\n\n.fa-external-link:before {\n content: \"\"; }\n\n.fa-sign-in:before {\n content: \"\"; }\n\n.fa-trophy:before {\n content: \"\"; }\n\n.fa-github-square:before {\n content: \"\"; }\n\n.fa-upload:before {\n content: \"\"; }\n\n.fa-lemon-o:before {\n content: \"\"; }\n\n.fa-phone:before {\n content: \"\"; }\n\n.fa-square-o:before {\n content: \"\"; }\n\n.fa-bookmark-o:before {\n content: \"\"; }\n\n.fa-phone-square:before {\n content: \"\"; }\n\n.fa-twitter:before {\n content: \"\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\"; }\n\n.fa-github:before {\n content: \"\"; }\n\n.fa-unlock:before {\n content: \"\"; }\n\n.fa-credit-card:before {\n content: \"\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\"; }\n\n.fa-hdd-o:before {\n content: \"\"; }\n\n.fa-bullhorn:before {\n content: \"\"; }\n\n.fa-bell:before {\n content: \"\"; }\n\n.fa-certificate:before {\n content: \"\"; }\n\n.fa-hand-o-right:before {\n content: \"\"; }\n\n.fa-hand-o-left:before {\n content: \"\"; }\n\n.fa-hand-o-up:before {\n content: \"\"; }\n\n.fa-hand-o-down:before {\n content: \"\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\"; }\n\n.fa-globe:before {\n content: \"\"; }\n\n.fa-wrench:before {\n content: \"\"; }\n\n.fa-tasks:before {\n content: \"\"; }\n\n.fa-filter:before {\n content: \"\"; }\n\n.fa-briefcase:before {\n content: \"\"; }\n\n.fa-arrows-alt:before {\n content: \"\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\"; }\n\n.fa-cloud:before {\n content: \"\"; }\n\n.fa-flask:before {\n content: \"\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\"; }\n\n.fa-paperclip:before {\n content: \"\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\"; }\n\n.fa-square:before {\n content: \"\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\"; }\n\n.fa-list-ul:before {\n content: \"\"; }\n\n.fa-list-ol:before {\n content: \"\"; }\n\n.fa-strikethrough:before {\n content: \"\"; }\n\n.fa-underline:before {\n content: \"\"; }\n\n.fa-table:before {\n content: \"\"; }\n\n.fa-magic:before {\n content: \"\"; }\n\n.fa-truck:before {\n content: \"\"; }\n\n.fa-pinterest:before {\n content: \"\"; }\n\n.fa-pinterest-square:before {\n content: \"\"; }\n\n.fa-google-plus-square:before {\n content: \"\"; }\n\n.fa-google-plus:before {\n content: \"\"; }\n\n.fa-money:before {\n content: \"\"; }\n\n.fa-caret-down:before {\n content: \"\"; }\n\n.fa-caret-up:before {\n content: \"\"; }\n\n.fa-caret-left:before {\n content: \"\"; }\n\n.fa-caret-right:before {\n content: \"\"; }\n\n.fa-columns:before {\n content: \"\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\"; }\n\n.fa-envelope:before {\n content: \"\"; }\n\n.fa-linkedin:before {\n content: \"\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\"; }\n\n.fa-comment-o:before {\n content: \"\"; }\n\n.fa-comments-o:before {\n content: \"\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\"; }\n\n.fa-sitemap:before {\n content: \"\"; }\n\n.fa-umbrella:before {\n content: \"\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\"; }\n\n.fa-lightbulb-o:before {\n content: \"\"; }\n\n.fa-exchange:before {\n content: \"\"; }\n\n.fa-cloud-download:before {\n content: \"\"; }\n\n.fa-cloud-upload:before {\n content: \"\"; }\n\n.fa-user-md:before {\n content: \"\"; }\n\n.fa-stethoscope:before {\n content: \"\"; }\n\n.fa-suitcase:before {\n content: \"\"; }\n\n.fa-bell-o:before {\n content: \"\"; }\n\n.fa-coffee:before {\n content: \"\"; }\n\n.fa-cutlery:before {\n content: \"\"; }\n\n.fa-file-text-o:before {\n content: \"\"; }\n\n.fa-building-o:before {\n content: \"\"; }\n\n.fa-hospital-o:before {\n content: \"\"; }\n\n.fa-ambulance:before {\n content: \"\"; }\n\n.fa-medkit:before {\n content: \"\"; }\n\n.fa-fighter-jet:before {\n content: \"\"; }\n\n.fa-beer:before {\n content: \"\"; }\n\n.fa-h-square:before {\n content: \"\"; }\n\n.fa-plus-square:before {\n content: \"\"; }\n\n.fa-angle-double-left:before {\n content: \"\"; }\n\n.fa-angle-double-right:before {\n content: \"\"; }\n\n.fa-angle-double-up:before {\n content: \"\"; }\n\n.fa-angle-double-down:before {\n content: \"\"; }\n\n.fa-angle-left:before {\n content: \"\"; }\n\n.fa-angle-right:before {\n content: \"\"; }\n\n.fa-angle-up:before {\n content: \"\"; }\n\n.fa-angle-down:before {\n content: \"\"; }\n\n.fa-desktop:before {\n content: \"\"; }\n\n.fa-laptop:before {\n content: \"\"; }\n\n.fa-tablet:before {\n content: \"\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\"; }\n\n.fa-circle-o:before {\n content: \"\"; }\n\n.fa-quote-left:before {\n content: \"\"; }\n\n.fa-quote-right:before {\n content: \"\"; }\n\n.fa-spinner:before {\n content: \"\"; }\n\n.fa-circle:before {\n content: \"\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\"; }\n\n.fa-github-alt:before {\n content: \"\"; }\n\n.fa-folder-o:before {\n content: \"\"; }\n\n.fa-folder-open-o:before {\n content: \"\"; }\n\n.fa-smile-o:before {\n content: \"\"; }\n\n.fa-frown-o:before {\n content: \"\"; }\n\n.fa-meh-o:before {\n content: \"\"; }\n\n.fa-gamepad:before {\n content: \"\"; }\n\n.fa-keyboard-o:before {\n content: \"\"; }\n\n.fa-flag-o:before {\n content: \"\"; }\n\n.fa-flag-checkered:before {\n content: \"\"; }\n\n.fa-terminal:before {\n content: \"\"; }\n\n.fa-code:before {\n content: \"\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\"; }\n\n.fa-location-arrow:before {\n content: \"\"; }\n\n.fa-crop:before {\n content: \"\"; }\n\n.fa-code-fork:before {\n content: \"\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\"; }\n\n.fa-question:before {\n content: \"\"; }\n\n.fa-info:before {\n content: \"\"; }\n\n.fa-exclamation:before {\n content: \"\"; }\n\n.fa-superscript:before {\n content: \"\"; }\n\n.fa-subscript:before {\n content: \"\"; }\n\n.fa-eraser:before {\n content: \"\"; }\n\n.fa-puzzle-piece:before {\n content: \"\"; }\n\n.fa-microphone:before {\n content: \"\"; }\n\n.fa-microphone-slash:before {\n content: \"\"; }\n\n.fa-shield:before {\n content: \"\"; }\n\n.fa-calendar-o:before {\n content: \"\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\"; }\n\n.fa-rocket:before {\n content: \"\"; }\n\n.fa-maxcdn:before {\n content: \"\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\"; }\n\n.fa-html5:before {\n content: \"\"; }\n\n.fa-css3:before {\n content: \"\"; }\n\n.fa-anchor:before {\n content: \"\"; }\n\n.fa-unlock-alt:before {\n content: \"\"; }\n\n.fa-bullseye:before {\n content: \"\"; }\n\n.fa-ellipsis-h:before {\n content: \"\"; }\n\n.fa-ellipsis-v:before {\n content: \"\"; }\n\n.fa-rss-square:before {\n content: \"\"; }\n\n.fa-play-circle:before {\n content: \"\"; }\n\n.fa-ticket:before {\n content: \"\"; }\n\n.fa-minus-square:before {\n content: \"\"; }\n\n.fa-minus-square-o:before {\n content: \"\"; }\n\n.fa-level-up:before {\n content: \"\"; }\n\n.fa-level-down:before {\n content: \"\"; }\n\n.fa-check-square:before {\n content: \"\"; }\n\n.fa-pencil-square:before {\n content: \"\"; }\n\n.fa-external-link-square:before {\n content: \"\"; }\n\n.fa-share-square:before {\n content: \"\"; }\n\n.fa-compass:before {\n content: \"\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\"; }\n\n.fa-gbp:before {\n content: \"\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\"; }\n\n.fa-file:before {\n content: \"\"; }\n\n.fa-file-text:before {\n content: \"\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\"; }\n\n.fa-thumbs-up:before {\n content: \"\"; }\n\n.fa-thumbs-down:before {\n content: \"\"; }\n\n.fa-youtube-square:before {\n content: \"\"; }\n\n.fa-youtube:before {\n content: \"\"; }\n\n.fa-xing:before {\n content: \"\"; }\n\n.fa-xing-square:before {\n content: \"\"; }\n\n.fa-youtube-play:before {\n content: \"\"; }\n\n.fa-dropbox:before {\n content: \"\"; }\n\n.fa-stack-overflow:before {\n content: \"\"; }\n\n.fa-instagram:before {\n content: \"\"; }\n\n.fa-flickr:before {\n content: \"\"; }\n\n.fa-adn:before {\n content: \"\"; }\n\n.fa-bitbucket:before {\n content: \"\"; }\n\n.fa-bitbucket-square:before {\n content: \"\"; }\n\n.fa-tumblr:before {\n content: \"\"; }\n\n.fa-tumblr-square:before {\n content: \"\"; }\n\n.fa-long-arrow-down:before {\n content: \"\"; }\n\n.fa-long-arrow-up:before {\n content: \"\"; }\n\n.fa-long-arrow-left:before {\n content: \"\"; }\n\n.fa-long-arrow-right:before {\n content: \"\"; }\n\n.fa-apple:before {\n content: \"\"; }\n\n.fa-windows:before {\n content: \"\"; }\n\n.fa-android:before {\n content: \"\"; }\n\n.fa-linux:before {\n content: \"\"; }\n\n.fa-dribbble:before {\n content: \"\"; }\n\n.fa-skype:before {\n content: \"\"; }\n\n.fa-foursquare:before {\n content: \"\"; }\n\n.fa-trello:before {\n content: \"\"; }\n\n.fa-female:before {\n content: \"\"; }\n\n.fa-male:before {\n content: \"\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\"; }\n\n.fa-sun-o:before {\n content: \"\"; }\n\n.fa-moon-o:before {\n content: \"\"; }\n\n.fa-archive:before {\n content: \"\"; }\n\n.fa-bug:before {\n content: \"\"; }\n\n.fa-vk:before {\n content: \"\"; }\n\n.fa-weibo:before {\n content: \"\"; }\n\n.fa-renren:before {\n content: \"\"; }\n\n.fa-pagelines:before {\n content: \"\"; }\n\n.fa-stack-exchange:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\"; }\n\n.fa-dot-circle-o:before {\n content: \"\"; }\n\n.fa-wheelchair:before {\n content: \"\"; }\n\n.fa-vimeo-square:before {\n content: \"\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\"; }\n\n.fa-plus-square-o:before {\n content: \"\"; }\n\n.fa-space-shuttle:before {\n content: \"\"; }\n\n.fa-slack:before {\n content: \"\"; }\n\n.fa-envelope-square:before {\n content: \"\"; }\n\n.fa-wordpress:before {\n content: \"\"; }\n\n.fa-openid:before {\n content: \"\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\"; }\n\n.fa-yahoo:before {\n content: \"\"; }\n\n.fa-google:before {\n content: \"\"; }\n\n.fa-reddit:before {\n content: \"\"; }\n\n.fa-reddit-square:before {\n content: \"\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\"; }\n\n.fa-stumbleupon:before {\n content: \"\"; }\n\n.fa-delicious:before {\n content: \"\"; }\n\n.fa-digg:before {\n content: \"\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\"; }\n\n.fa-drupal:before {\n content: \"\"; }\n\n.fa-joomla:before {\n content: \"\"; }\n\n.fa-language:before {\n content: \"\"; }\n\n.fa-fax:before {\n content: \"\"; }\n\n.fa-building:before {\n content: \"\"; }\n\n.fa-child:before {\n content: \"\"; }\n\n.fa-paw:before {\n content: \"\"; }\n\n.fa-spoon:before {\n content: \"\"; }\n\n.fa-cube:before {\n content: \"\"; }\n\n.fa-cubes:before {\n content: \"\"; }\n\n.fa-behance:before {\n content: \"\"; }\n\n.fa-behance-square:before {\n content: \"\"; }\n\n.fa-steam:before {\n content: \"\"; }\n\n.fa-steam-square:before {\n content: \"\"; }\n\n.fa-recycle:before {\n content: \"\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\"; }\n\n.fa-tree:before {\n content: \"\"; }\n\n.fa-spotify:before {\n content: \"\"; }\n\n.fa-deviantart:before {\n content: \"\"; }\n\n.fa-soundcloud:before {\n content: \"\"; }\n\n.fa-database:before {\n content: \"\"; }\n\n.fa-file-pdf-o:before {\n content: \"\"; }\n\n.fa-file-word-o:before {\n content: \"\"; }\n\n.fa-file-excel-o:before {\n content: \"\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\"; }\n\n.fa-file-code-o:before {\n content: \"\"; }\n\n.fa-vine:before {\n content: \"\"; }\n\n.fa-codepen:before {\n content: \"\"; }\n\n.fa-jsfiddle:before {\n content: \"\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\"; }\n\n.fa-circle-o-notch:before {\n content: \"\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\"; }\n\n.fa-git-square:before {\n content: \"\"; }\n\n.fa-git:before {\n content: \"\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\"; }\n\n.fa-tencent-weibo:before {\n content: \"\"; }\n\n.fa-qq:before {\n content: \"\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\"; }\n\n.fa-history:before {\n content: \"\"; }\n\n.fa-circle-thin:before {\n content: \"\"; }\n\n.fa-header:before {\n content: \"\"; }\n\n.fa-paragraph:before {\n content: \"\"; }\n\n.fa-sliders:before {\n content: \"\"; }\n\n.fa-share-alt:before {\n content: \"\"; }\n\n.fa-share-alt-square:before {\n content: \"\"; }\n\n.fa-bomb:before {\n content: \"\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\"; }\n\n.fa-tty:before {\n content: \"\"; }\n\n.fa-binoculars:before {\n content: \"\"; }\n\n.fa-plug:before {\n content: \"\"; }\n\n.fa-slideshare:before {\n content: \"\"; }\n\n.fa-twitch:before {\n content: \"\"; }\n\n.fa-yelp:before {\n content: \"\"; }\n\n.fa-newspaper-o:before {\n content: \"\"; }\n\n.fa-wifi:before {\n content: \"\"; }\n\n.fa-calculator:before {\n content: \"\"; }\n\n.fa-paypal:before {\n content: \"\"; }\n\n.fa-google-wallet:before {\n content: \"\"; }\n\n.fa-cc-visa:before {\n content: \"\"; }\n\n.fa-cc-mastercard:before {\n content: \"\"; }\n\n.fa-cc-discover:before {\n content: \"\"; }\n\n.fa-cc-amex:before {\n content: \"\"; }\n\n.fa-cc-paypal:before {\n content: \"\"; }\n\n.fa-cc-stripe:before {\n content: \"\"; }\n\n.fa-bell-slash:before {\n content: \"\"; }\n\n.fa-bell-slash-o:before {\n content: \"\"; }\n\n.fa-trash:before {\n content: \"\"; }\n\n.fa-copyright:before {\n content: \"\"; }\n\n.fa-at:before {\n content: \"\"; }\n\n.fa-eyedropper:before {\n content: \"\"; }\n\n.fa-paint-brush:before {\n content: \"\"; }\n\n.fa-birthday-cake:before {\n content: \"\"; }\n\n.fa-area-chart:before {\n content: \"\"; }\n\n.fa-pie-chart:before {\n content: \"\"; }\n\n.fa-line-chart:before {\n content: \"\"; }\n\n.fa-lastfm:before {\n content: \"\"; }\n\n.fa-lastfm-square:before {\n content: \"\"; }\n\n.fa-toggle-off:before {\n content: \"\"; }\n\n.fa-toggle-on:before {\n content: \"\"; }\n\n.fa-bicycle:before {\n content: \"\"; }\n\n.fa-bus:before {\n content: \"\"; }\n\n.fa-ioxhost:before {\n content: \"\"; }\n\n.fa-angellist:before {\n content: \"\"; }\n\n.fa-cc:before {\n content: \"\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\"; }\n\n.fa-meanpath:before {\n content: \"\"; }\n\n.fa-buysellads:before {\n content: \"\"; }\n\n.fa-connectdevelop:before {\n content: \"\"; }\n\n.fa-dashcube:before {\n content: \"\"; }\n\n.fa-forumbee:before {\n content: \"\"; }\n\n.fa-leanpub:before {\n content: \"\"; }\n\n.fa-sellsy:before {\n content: \"\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\"; }\n\n.fa-simplybuilt:before {\n content: \"\"; }\n\n.fa-skyatlas:before {\n content: \"\"; }\n\n.fa-cart-plus:before {\n content: \"\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\"; }\n\n.fa-diamond:before {\n content: \"\"; }\n\n.fa-ship:before {\n content: \"\"; }\n\n.fa-user-secret:before {\n content: \"\"; }\n\n.fa-motorcycle:before {\n content: \"\"; }\n\n.fa-street-view:before {\n content: \"\"; }\n\n.fa-heartbeat:before {\n content: \"\"; }\n\n.fa-venus:before {\n content: \"\"; }\n\n.fa-mars:before {\n content: \"\"; }\n\n.fa-mercury:before {\n content: \"\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\"; }\n\n.fa-transgender-alt:before {\n content: \"\"; }\n\n.fa-venus-double:before {\n content: \"\"; }\n\n.fa-mars-double:before {\n content: \"\"; }\n\n.fa-venus-mars:before {\n content: \"\"; }\n\n.fa-mars-stroke:before {\n content: \"\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\"; }\n\n.fa-neuter:before {\n content: \"\"; }\n\n.fa-genderless:before {\n content: \"\"; }\n\n.fa-facebook-official:before {\n content: \"\"; }\n\n.fa-pinterest-p:before {\n content: \"\"; }\n\n.fa-whatsapp:before {\n content: \"\"; }\n\n.fa-server:before {\n content: \"\"; }\n\n.fa-user-plus:before {\n content: \"\"; }\n\n.fa-user-times:before {\n content: \"\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\"; }\n\n.fa-viacoin:before {\n content: \"\"; }\n\n.fa-train:before {\n content: \"\"; }\n\n.fa-subway:before {\n content: \"\"; }\n\n.fa-medium:before {\n content: \"\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\"; }\n\n.fa-optin-monster:before {\n content: \"\"; }\n\n.fa-opencart:before {\n content: \"\"; }\n\n.fa-expeditedssl:before {\n content: \"\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\"; }\n\n.fa-mouse-pointer:before {\n content: \"\"; }\n\n.fa-i-cursor:before {\n content: \"\"; }\n\n.fa-object-group:before {\n content: \"\"; }\n\n.fa-object-ungroup:before {\n content: \"\"; }\n\n.fa-sticky-note:before {\n content: \"\"; }\n\n.fa-sticky-note-o:before {\n content: \"\"; }\n\n.fa-cc-jcb:before {\n content: \"\"; }\n\n.fa-cc-diners-club:before {\n content: \"\"; }\n\n.fa-clone:before {\n content: \"\"; }\n\n.fa-balance-scale:before {\n content: \"\"; }\n\n.fa-hourglass-o:before {\n content: \"\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\"; }\n\n.fa-hourglass:before {\n content: \"\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\"; }\n\n.fa-hand-spock-o:before {\n content: \"\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\"; }\n\n.fa-hand-peace-o:before {\n content: \"\"; }\n\n.fa-trademark:before {\n content: \"\"; }\n\n.fa-registered:before {\n content: \"\"; }\n\n.fa-creative-commons:before {\n content: \"\"; }\n\n.fa-gg:before {\n content: \"\"; }\n\n.fa-gg-circle:before {\n content: \"\"; }\n\n.fa-tripadvisor:before {\n content: \"\"; }\n\n.fa-odnoklassniki:before {\n content: \"\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\"; }\n\n.fa-get-pocket:before {\n content: \"\"; }\n\n.fa-wikipedia-w:before {\n content: \"\"; }\n\n.fa-safari:before {\n content: \"\"; }\n\n.fa-chrome:before {\n content: \"\"; }\n\n.fa-firefox:before {\n content: \"\"; }\n\n.fa-opera:before {\n content: \"\"; }\n\n.fa-internet-explorer:before {\n content: \"\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\"; }\n\n.fa-contao:before {\n content: \"\"; }\n\n.fa-500px:before {\n content: \"\"; }\n\n.fa-amazon:before {\n content: \"\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\"; }\n\n.fa-calendar-times-o:before {\n content: \"\"; }\n\n.fa-calendar-check-o:before {\n content: \"\"; }\n\n.fa-industry:before {\n content: \"\"; }\n\n.fa-map-pin:before {\n content: \"\"; }\n\n.fa-map-signs:before {\n content: \"\"; }\n\n.fa-map-o:before {\n content: \"\"; }\n\n.fa-map:before {\n content: \"\"; }\n\n.fa-commenting:before {\n content: \"\"; }\n\n.fa-commenting-o:before {\n content: \"\"; }\n\n.fa-houzz:before {\n content: \"\"; }\n\n.fa-vimeo:before {\n content: \"\"; }\n\n.fa-black-tie:before {\n content: \"\"; }\n\n.fa-fonticons:before {\n content: \"\"; }\n\n.fa-reddit-alien:before {\n content: \"\"; }\n\n.fa-edge:before {\n content: \"\"; }\n\n.fa-credit-card-alt:before {\n content: \"\"; }\n\n.fa-codiepie:before {\n content: \"\"; }\n\n.fa-modx:before {\n content: \"\"; }\n\n.fa-fort-awesome:before {\n content: \"\"; }\n\n.fa-usb:before {\n content: \"\"; }\n\n.fa-product-hunt:before {\n content: \"\"; }\n\n.fa-mixcloud:before {\n content: \"\"; }\n\n.fa-scribd:before {\n content: \"\"; }\n\n.fa-pause-circle:before {\n content: \"\"; }\n\n.fa-pause-circle-o:before {\n content: \"\"; }\n\n.fa-stop-circle:before {\n content: \"\"; }\n\n.fa-stop-circle-o:before {\n content: \"\"; }\n\n.fa-shopping-bag:before {\n content: \"\"; }\n\n.fa-shopping-basket:before {\n content: \"\"; }\n\n.fa-hashtag:before {\n content: \"\"; }\n\n.fa-bluetooth:before {\n content: \"\"; }\n\n.fa-bluetooth-b:before {\n content: \"\"; }\n\n.fa-percent:before {\n content: \"\"; }\n\n.fa-gitlab:before {\n content: \"\"; }\n\n.fa-wpbeginner:before {\n content: \"\"; }\n\n.fa-wpforms:before {\n content: \"\"; }\n\n.fa-envira:before {\n content: \"\"; }\n\n.fa-universal-access:before {\n content: \"\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\"; }\n\n.fa-question-circle-o:before {\n content: \"\"; }\n\n.fa-blind:before {\n content: \"\"; }\n\n.fa-audio-description:before {\n content: \"\"; }\n\n.fa-volume-control-phone:before {\n content: \"\"; }\n\n.fa-braille:before {\n content: \"\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\"; }\n\n.fa-glide:before {\n content: \"\"; }\n\n.fa-glide-g:before {\n content: \"\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\"; }\n\n.fa-low-vision:before {\n content: \"\"; }\n\n.fa-viadeo:before {\n content: \"\"; }\n\n.fa-viadeo-square:before {\n content: \"\"; }\n\n.fa-snapchat:before {\n content: \"\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\"; }\n\n.fa-snapchat-square:before {\n content: \"\"; }\n\n.fa-pied-piper:before {\n content: \"\"; }\n\n.fa-first-order:before {\n content: \"\"; }\n\n.fa-yoast:before {\n content: \"\"; }\n\n.fa-themeisle:before {\n content: \"\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\"; }\n\n.fa-handshake-o:before {\n content: \"\"; }\n\n.fa-envelope-open:before {\n content: \"\"; }\n\n.fa-envelope-open-o:before {\n content: \"\"; }\n\n.fa-linode:before {\n content: \"\"; }\n\n.fa-address-book:before {\n content: \"\"; }\n\n.fa-address-book-o:before {\n content: \"\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\"; }\n\n.fa-user-circle:before {\n content: \"\"; }\n\n.fa-user-circle-o:before {\n content: \"\"; }\n\n.fa-user-o:before {\n content: \"\"; }\n\n.fa-id-badge:before {\n content: \"\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\"; }\n\n.fa-quora:before {\n content: \"\"; }\n\n.fa-free-code-camp:before {\n content: \"\"; }\n\n.fa-telegram:before {\n content: \"\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\"; }\n\n.fa-shower:before {\n content: \"\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\"; }\n\n.fa-podcast:before {\n content: \"\"; }\n\n.fa-window-maximize:before {\n content: \"\"; }\n\n.fa-window-minimize:before {\n content: \"\"; }\n\n.fa-window-restore:before {\n content: \"\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\"; }\n\n.fa-bandcamp:before {\n content: \"\"; }\n\n.fa-grav:before {\n content: \"\"; }\n\n.fa-etsy:before {\n content: \"\"; }\n\n.fa-imdb:before {\n content: \"\"; }\n\n.fa-ravelry:before {\n content: \"\"; }\n\n.fa-eercast:before {\n content: \"\"; }\n\n.fa-microchip:before {\n content: \"\"; }\n\n.fa-snowflake-o:before {\n content: \"\"; }\n\n.fa-superpowers:before {\n content: \"\"; }\n\n.fa-wpexplorer:before {\n content: \"\"; }\n\n.fa-meetup:before {\n content: \"\"; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.views-display-setting .views-admin-label {\n display: inline-block;\n float: left;\n /* LTR */\n margin-right: 3pt;\n /* LTR */ }\n\n.comment {\n margin-top: 15px; }\n .comment .user-picture {\n float: left;\n margin-right: 10px; }\n .comment .user-picture a {\n display: block; }\n .comment .submitted {\n font-size: 0.90em; }\n .comment .submitted .permalink {\n margin-left: 5px; }\n .comment .submitted .new {\n color: #d9534f; }\n .comment .content {\n margin: 10px 0; }\n .comment .links {\n font-size: 0.80em; }\n\n.form-item {\n margin-top: 0; }\n\nform .form-managed-file input {\n display: inline-block;\n margin: 0 10px 0 0; }\n\nform .container-inline-date .date-padding {\n padding: 0;\n float: none; }\n\nform .form-actions .btn, form .form-actions .media-widget > a {\n margin-right: 10px; }\n\nform .field-type-datetime select {\n min-width: 80px; }\n\nform .format-toggle {\n float: none; }\n\nform .field-multiple-table thead th {\n padding: 10px !important; }\n form .field-multiple-table thead th label {\n margin: 0;\n font-weight: bold; }\n\nform .description {\n margin: 2px 0;\n color: #555555; }\n\n.media-widget > a {\n margin: 0 10px 0 0; }\n\nfieldset {\n padding: 0; }\n fieldset legend {\n float: left;\n line-height: 1em;\n margin: 0; }\n fieldset .panel-body {\n clear: both; }\n\nhtml.js input.form-autocomplete {\n background: image-url(\"throbber.gif\") no-repeat right 8px #fff !important; }\n\nhtml.js input.throbbing {\n background-position: right -122px !important; }\n\nhtml.js fieldset.collapsed {\n height: auto;\n border-left-width: 1px;\n border-right-width: 1px; }\n\n.views-exposed-form .views-exposed-widget .form-submit {\n margin-top: 1.8em; }\n\n@media (max-width: 767px) {\n form .btn, form .media-widget > a {\n width: 100%;\n display: block;\n clear: both;\n margin: 0 0 5px; }\n form input.form-text,\n form textarea,\n form select {\n width: 100%; }\n form .confirm-parent,\n form .password-parent,\n form .password-suggestions {\n width: auto !important; }\n form .password-parent div.password-strength {\n width: 150px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px; }\n form .confirm-parent div.password-confirm {\n width: 110px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px; } }\n\n#node-edit #edit-title {\n font-size: 1.6em;\n line-height: 1.6em;\n height: 45px;\n width: 90%; }\n\n#node-edit .form-item-path-alias {\n overflow: hidden;\n *zoom: 1; }\n #node-edit .form-item-path-alias label, #node-edit .form-item-path-alias input {\n display: inline; }\n\n#node-edit .burr-flipped-sidebar .panel-pane {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n padding: 10px; }\n #node-edit .burr-flipped-sidebar .panel-pane blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n #node-edit .burr-flipped-sidebar .panel-pane .pane-title {\n margin-top: 0; }\n\n#node-edit .burr-flipped-sidebar .pane-node-form-buttons {\n background: none;\n padding: inherit; }\n #node-edit .burr-flipped-sidebar .pane-node-form-buttons .form-actions {\n margin: 0;\n border-top: 0; }\n\n#node-edit .pane-node-form-buttons {\n clear: both; }\n\n.filter-wrapper {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n margin-top: 10px; }\n .filter-wrapper blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n .filter-wrapper .form-item {\n margin: 0 0 10px;\n padding: 0; }\n .filter-wrapper .filter-guidelines {\n padding: 0; }\n .filter-wrapper .filter-guidelines .tips {\n margin-left: 0; }\n\n.page-admin form table select,\n.page-admin form table input.form-text {\n width: 150px; }\n\n#features-export-form .features-export-parent {\n margin: 0 0 20px; }\n #features-export-form .features-export-parent fieldset.collapsed {\n min-height: 43px !important;\n background: none; }\n #features-export-form .features-export-parent .features-export-list {\n padding: 10px; }\n #features-export-form .features-export-parent .features-export-list .form-item {\n float: none !important; }\n\n#panels-panel-context-edit-move .container,\n#panels-panel-context-edit-content .container {\n width: auto;\n padding: 0; }\n #panels-panel-context-edit-move .container .row,\n #panels-panel-context-edit-content .container .row {\n margin-bottom: 20px; }\n\n.navbar-form .form-wrapper {\n padding: 0; }\n\n.navbar-form .form-item-keys,\n.navbar-form .form-item {\n margin-top: 0 !important; }\n\n.navbar-form .form-submit {\n display: none; }\n\n.pane-search-box form .form-wrapper .form-group {\n display: block;\n margin-bottom: 10px; }\n\n.tabledrag-handle .handle {\n box-sizing: content-box; }\n\n.container .container,\n.container .container-fluid {\n width: auto;\n margin-left: -15px;\n margin-right: -15px; }\n\n#footer {\n margin: 36px 0; }\n\nbody.maintenance-page .container {\n max-width: 970px !important; }\n\nbody.maintenance-page .jumbotron {\n background-color: #000000;\n color: white;\n padding: 20px 0; }\n body.maintenance-page .jumbotron h1 {\n font-size: 3.0em;\n margin-top: 0; }\n @media (min-width: 992px) {\n body.maintenance-page .jumbotron {\n padding-top: 30px;\n padding-bottom: 30px; } }\n\nbody.maintenance-page .main {\n padding-top: 20px;\n padding-bottom: 50px; }\n\nbody.maintenance-page .page-header h1 {\n font-size: 24px; }\n @media (min-width: 992px) {\n body.maintenance-page .page-header h1 {\n font-size: 36px; } }\n\nbody.maintenance-page .tasks-list > div {\n margin-bottom: 25px; }\n body.maintenance-page .tasks-list > div h6 {\n margin-bottom: 2px;\n font-size: 14px;\n font-weight: normal; }\n body.maintenance-page .tasks-list > div h4 {\n margin-top: 0;\n font-size: 14px; }\n body.maintenance-page .tasks-list > div.active, body.maintenance-page .tasks-list > div.done {\n color: black; }\n\nbody.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child {\n background-color: white;\n border-color: black;\n color: black; }\n body.maintenance-page .form-actions .btn:first-child:hover, body.maintenance-page .form-actions .media-widget > a:first-child:hover, body.maintenance-page .form-actions .btn:first-child:focus, body.maintenance-page .form-actions .media-widget > a:first-child:focus {\n background-color: black;\n border-color: white; }\n\nbody.maintenance-page .progress .progress-bar {\n background-color: black; }\n\nbody.maintenance-page #panopoly-theme-selection-form .form-type-radio {\n margin: 0 0 2em; }\n body.maintenance-page #panopoly-theme-selection-form .form-type-radio label {\n display: block; }\n body.maintenance-page #panopoly-theme-selection-form .form-type-radio .form-radio {\n margin: 0;\n left: 0;\n top: 40%; }\n\nbody.ctools-modal-open {\n overflow: hidden; }\n\n#modalContent .modal-content {\n width: 100%;\n overflow: hidden;\n box-shadow: none !important; }\n\n#modalContent #modal-content {\n overflow: auto;\n width: 100% !important;\n background: white; }\n\n#modalContent .panels-add-content-modal {\n background: none;\n padding: 0;\n height: 100%;\n margin: -20px -20px 0;\n width: 100%;\n position: absolute; }\n\n#modalContent .panels-section-columns,\n#modalContent .panels-categories-description {\n border: none; }\n\n#modalContent .panels-section-column-categories {\n margin-left: 0;\n border-right: 1px solid #ccc;\n height: 100%;\n background: white;\n overflow: auto;\n padding-bottom: 20px; }\n #modalContent .panels-section-column-categories .btn, #modalContent .panels-section-column-categories .media-widget > a {\n border: 1px solid #777777 !important;\n line-height: inherit;\n margin: 0;\n text-align: left; }\n\n#modalContent .panels-categories-box {\n border: 0; }\n #modalContent .panels-categories-box a.btn, #modalContent .panels-categories-box .media-widget > a {\n padding: 5px 10px; }\n #modalContent .panels-categories-box a.active {\n background: #eeeeee;\n box-shadow: none; }\n\n#modalContent .panels-root-content-box a.btn, #modalContent .panels-root-content-box .media-widget > a {\n padding: 5px 10px; }\n\n#modalContent .panels-categories-description {\n padding: 20px; }\n\n#modalContent .panels-section-columns {\n padding-bottom: 20px; }\n\n#modalContent fieldset.widget-preview {\n margin-top: 18px;\n margin-bottom: 0;\n position: static;\n border: 1px solid #ddd; }\n #modalContent fieldset.widget-preview .panel-heading {\n position: relative; }\n #modalContent fieldset.widget-preview .panel-heading .btn, #modalContent fieldset.widget-preview .panel-heading .media-widget > a {\n position: absolute;\n right: 10px;\n top: 5px; }\n\n#modalContent .ctools-auto-submit-full-form fieldset {\n width: 48%;\n display: block; }\n #modalContent .ctools-auto-submit-full-form fieldset fieldset {\n width: 100%; }\n #modalContent .ctools-auto-submit-full-form fieldset.widget-preview-single {\n float: right;\n margin-left: 1em;\n margin-top: 0;\n width: 48%;\n max-width: 48% !important; }\n\n#modalContent .ctools-auto-submit-full-form .form-actions {\n float: right;\n clear: right;\n width: 48%;\n max-width: 48%;\n text-align: right; }\n\n#modalContent .form-item-view-settings {\n display: block; }\n\n#modalContent .form-item-exposed-use-pager {\n display: block; }\n\n#modalContent #panopoly-form-widget-preview {\n width: 50%;\n float: right; }\n #modalContent #panopoly-form-widget-preview .container {\n width: auto; }\n\nul.menu > li > ul.menu {\n margin-left: 1em;\n /* LTR */ }\n\nul.nav > li.dropdown:after {\n width: 100%;\n height: 2px;\n background: none;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n content: ''; }\n\n.nav-expanded .caret {\n display: none; }\n\n.nav-expanded > li > a {\n font-size: 1.2em;\n text-align: left;\n font-weight: 700;\n color: #333333; }\n .nav-expanded > li > a:hover, .nav-expanded > li > a:focus, .nav-expanded > li > a.active, .nav-expanded > li > a.active-trail {\n color: #23527c;\n background: none; }\n\n.nav-expanded > li ul.dropdown-menu {\n background: none;\n display: block;\n border: 0;\n padding: 0;\n position: static;\n float: none;\n border-radius: 0;\n box-shadow: none; }\n .nav-expanded > li ul.dropdown-menu li a {\n padding: 3px 15px;\n color: #333333; }\n .nav-expanded > li ul.dropdown-menu li a:hover, .nav-expanded > li ul.dropdown-menu li a:focus, .nav-expanded > li ul.dropdown-menu li a.active, .nav-expanded > li ul.dropdown-menu li a.active-trail {\n color: #23527c;\n background: none; }\n .nav-expanded > li ul.dropdown-menu ul {\n display: none !important; }\n\n@media (min-width: 992px) {\n .nav-expanded > li {\n float: none;\n margin-bottom: 18px; } }\n\n.nav-expanded > li.open > a {\n color: #333333;\n background: none; }\n .nav-expanded > li.open > a:hover, .nav-expanded > li.open > a:focus, .nav-expanded > li.open > a.active, .nav-expanded > li.open > a.active-trail {\n color: #23527c;\n background: none; }\n\n.field-collection-container {\n border: 0; }\n .field-collection-container .field-collection-view {\n margin: 0;\n padding: 0;\n border: none; }\n\n.node-panopoly-page.node-teaser .panel-pane {\n margin: 0 0 10px 260px; }\n\n.node-panopoly-page.node-teaser .pane-node-field-featured-image {\n float: left;\n margin-left: 0; }\n\n@media (max-width: 767px) {\n .node-panopoly-page .panel-pane {\n float: none !important;\n margin: 0 0 10px !important; } }\n\n.node-panopoly-news-article.node-teaser .panel-pane {\n margin: 0 0 10px 260px; }\n\n.node-panopoly-news-article.node-teaser .pane-node-field-featured-image {\n float: left;\n margin-left: 0; }\n\n@media (max-width: 767px) {\n .node-panopoly-news-article .panel-pane {\n float: none !important;\n margin: 0 0 10px !important; } }\n\n.panel-display > .row {\n margin-bottom: 20px; }\n\n.panel-flexible .panel-separator {\n display: none; }\n\n.panels-layouts-checkboxes input[type=\"radio\"] {\n position: static;\n margin-left: 0px;\n margin-bottom: 20px; }\n\n.panels-layouts-checkboxes label {\n margin-left: 0px; }\n\n.panels-layouts-checkboxes .form-type-radio {\n margin: 0 !important; }\n\nbody.panels-ipe {\n margin-bottom: 55px !important; }\n\ndiv#panels-ipe-control-container {\n width: auto;\n left: 0;\n right: 0;\n box-shadow: none; }\n div#panels-ipe-control-container .panels-ipe-button-container {\n text-align: center; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container {\n margin: 0 5px; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container a {\n padding: 0px 10px 0px 34px; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container a:hover {\n text-decoration: none; }\n div#panels-ipe-control-container .panels-ipe-form-container form > div {\n text-align: center; }\n div#panels-ipe-control-container .panels-ipe-form-container form .form-submit {\n margin: 0 5px;\n padding: 0px 10px 0px 34px; }\n div#panels-ipe-control-container .panels-ipe-form-container form .form-submit:hover {\n box-shadow: none; }\n\nul.panels-ipe-linkbar {\n list-style: none outside none; }\n ul.panels-ipe-linkbar > li {\n display: inline-block;\n margin: 0 0 0 5px; }\n ul.panels-ipe-linkbar > li a {\n margin: 0 !important; }\n\n#logo {\n display: block;\n float: left;\n margin-right: 15px;\n height: 100%;\n width: auto; }\n\n#site-name {\n float: left; }\n\n.page-header {\n margin: 0 0 18px; }\n .page-header h1 {\n margin: 0; }\n\n.page-title-hidden .page-header {\n display: none; }\n\n.breadcrumb a i {\n display: none; }\n\n.tabs,\n.nav-tabs {\n margin: 0 0 18px; }\n\n.action-links {\n list-style: none outside none;\n margin: 0 0 18px;\n padding: 0;\n overflow: hidden;\n *zoom: 1; }\n .action-links > li {\n float: left;\n margin: 0 10px 0 0; }\n\ndiv.vertical-tabs {\n border: none;\n border: 1px solid #DDD;\n outline: none;\n border-radius: 4px; }\n div.vertical-tabs ul.vertical-tabs-list {\n border: none;\n margin-top: 20px;\n margin-bottom: 20px;\n outline: none; }\n div.vertical-tabs ul.vertical-tabs-list li {\n border: none;\n background: none;\n outline: none !important;\n border-radius: 4px 0 0 4px;\n border: 1px solid;\n border-color: #fff #ddd #fff #fff; }\n div.vertical-tabs ul.vertical-tabs-list li.selected {\n border-color: #ddd #fff #ddd #ddd; }\n div.vertical-tabs ul.vertical-tabs-list li a {\n outline: none !important;\n border-radius: 4px 0 0 4px; }\n div.vertical-tabs ul.vertical-tabs-list li a:hover {\n color: #fff;\n background: #337ab7;\n text-decoration: none; }\n div.vertical-tabs ul.vertical-tabs-list li a:hover strong {\n text-decoration: none;\n color: #fff; }\n div.vertical-tabs .vertical-tabs-panes {\n padding: 20px 10px; }\n div.vertical-tabs .form-type-textfield input {\n width: 90%;\n box-sizing: content-box; }\n\ntable {\n width: 100%;\n margin-bottom: 1.42857; }\n table th,\n table td {\n padding: 8px;\n line-height: 1.42857;\n text-align: left;\n vertical-align: top;\n border-top: 1px solid #ddd; }\n table th.checkbox,\n table td.checkbox {\n text-align: center;\n display: table-cell;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0; }\n table th.checkbox input,\n table td.checkbox input {\n float: none !important;\n margin-left: 0 !important; }\n table th.checkbox div.checkbox,\n table td.checkbox div.checkbox {\n text-align: center;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0; }\n table th {\n font-weight: bold; }\n table thead th {\n vertical-align: bottom; }\n table caption + thead tr:first-child th,\n table caption + thead tr:first-child td,\n table colgroup + thead tr:first-child th,\n table colgroup + thead tr:first-child td,\n table thead:first-child tr:first-child th,\n table thead:first-child tr:first-child td {\n border-top: 0; }\n table tbody + tbody {\n border-top: 2px solid #ddd; }\n\nul.links {\n padding: 0;\n list-style: none outside none; }\n ul.links.inline {\n margin: 0; }\n ul.links.inline li {\n margin: 0 10px 0 0;\n padding: 0; }\n\n.carousel .carousel-control {\n z-index: 100; }\n\n.carousel .carousel-indicators li {\n float: none;\n margin-left: 3px;\n margin-right: 3px; }\n .carousel .carousel-indicators li a {\n display: none; }\n\n.carousel .carousel-caption h1, .carousel .carousel-caption h2, .carousel .carousel-caption h3, .carousel .carousel-caption h4, .carousel .carousel-caption h5, .carousel .carousel-caption h6 {\n color: white; }\n\n.item-list ul.pagination {\n margin: 20px 0; }\n .item-list ul.pagination > li {\n margin: 0;\n display: inline-block;\n padding: 0;\n position: relative; }\n .item-list ul.pagination > li > a, .item-list ul.pagination > li > span {\n padding: 6px 12px;\n border-radius: inherit; }\n .item-list ul.pagination > li > a.progress-disabled, .item-list ul.pagination > li > span.progress-disabled {\n float: left; }\n .item-list ul.pagination > li .ajax-progress {\n float: left;\n padding: 6px 5px 6px 10px; }\n\n.ctools-dropdown-container hr {\n margin: 0; }\n\nul.nav,\nul.navl li,\nul.dropdown-menu,\nul.dropdown-menu li {\n list-style: none outside none !important; }\n\n.calendar-calendar table.mini td {\n border: 1px solid #eeeeee !important;\n padding: 5px; }\n\n.view-header .date-nav-wrapper h3 {\n margin-top: 5px !important;\n margin-bottom: 0; }\n\n.ui-tabs .ui-tabs-nav {\n padding: 0 5px 5px 5px; }\n\n.views-exposed-form .views-submit-button,\n.views-exposed-form .views-reset-button {\n margin-top: 3px; }\n\ninput[type=\"submit\"],\n.btn-primary, body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child,\n.btn.btn-primary, .media-widget > a.btn-primary, .node-teaser .links li a, .node-blog .links li a {\n color: white;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n white-space: nowrap;\n padding: 5px 12px;\n line-height: 1.4em;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px; }\n\ninput[type=\"submit\"]:hover,\n.btn-primary:hover, body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a:hover:first-child, .node-teaser .links li a:hover, .node-blog .links li a:hover,\ninput[type=\"submit\"]:focus,\n.btn-primary:focus,\nbody.maintenance-page .form-actions .btn:focus:first-child,\nbody.maintenance-page .form-actions .media-widget > a:focus:first-child,\n.node-teaser .links li a:focus,\n.node-blog .links li a:focus,\ninput[type=\"submit\"]:active,\n.btn-primary:active,\nbody.maintenance-page .form-actions .btn:active:first-child,\nbody.maintenance-page .form-actions .media-widget > a:active:first-child,\n.node-teaser .links li a:active,\n.node-blog .links li a:active {\n color: white;\n text-decoration: none; }\n\n.form-managed-file input.form-submit {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0;\n padding-left: 10px;\n padding-right: 10px; }\n\n.screenreader, .form-type-textfield.form-group label.option, #dkan-sitewide-dataset-search-form label,\n#dkan-sitewide-dataset-search-form--2 label, #region-branding #block-dkan-sitewide-dkan-sitewide-search-bar label {\n position: absolute;\n top: 0;\n left: -9999px; }\n\n.clearfix {\n overflow: visible; }\n\n.admin-list dt, .admin-list dd {\n display: inline-block;\n float: none;\n vertical-align: top; }\n\n.views-edit-view .action-list input.btn,\n.views-edit-view .action-list input.btn:active,\n.views-edit-view .action-list input.btn:focus,\n.views-edit-view .action-list input.btn:hover,\n.views-edit-view .action-list input[type=\"submit\"]:hover {\n background: inherit;\n border: none;\n color: inherit; }\n\n.views-edit-view .footer {\n background: inherit; }\n\n.modal-content .panels-root-content-box a.btn, .modal-content .panels-root-content-box .media-widget > a {\n white-space: normal; }\n\n.modal-content .panel-title {\n padding-right: 55px; }\n\n.views-displays .secondary .open > a:hover {\n color: #666; }\n\n.media-thumbnails-select {\n padding: 0 0 40px; }\n\n.page-admin .alert {\n margin: 10px 0; }\n\n.page-admin .container.main {\n width: 100%; }\n\n.page-admin .table-bordered > thead > tr > th, .page-admin .calendar-calendar table.mini > thead > tr > th, .calendar-calendar .page-admin table.mini > thead > tr > th,\n.page-admin .table-bordered > tbody > tr > th,\n.page-admin .calendar-calendar table.mini > tbody > tr > th, .calendar-calendar\n.page-admin table.mini > tbody > tr > th,\n.page-admin .table-bordered > tbody > tr > td,\n.page-admin .calendar-calendar table.mini > tbody > tr > td, .calendar-calendar\n.page-admin table.mini > tbody > tr > td {\n border: none; }\n\n.page-admin table thead > tr > th.checkbox,\n.page-admin table.table thead > tr > th.checkbox,\n.page-admin .table-bordered > tbody > tr > th.checkbox,\n.page-admin .calendar-calendar table.mini > tbody > tr > th.checkbox, .calendar-calendar\n.page-admin table.mini > tbody > tr > th.checkbox,\n.page-admin .table-bordered > tbody > tr > td.checkbox,\n.page-admin .calendar-calendar table.mini > tbody > tr > td.checkbox, .calendar-calendar\n.page-admin table.mini > tbody > tr > td.checkbox,\n.page-admin .table-striped > tbody > tr:nth-child(odd) > td.checkbox,\n.page-admin .table-striped > tbody > tr:nth-child(odd) > th.checkbox {\n background-color: transparent;\n border: none;\n margin: 0;\n display: table-cell;\n position: relative; }\n\n.page-admin .table tbody tr:hover td.checkbox,\n.page-admin .table tbody tr:hover th.checkbox {\n background-color: #FFFEEE; }\n\n.page-admin table th.checkbox label,\n.page-admin table td.checkbox label {\n line-height: 0;\n padding: 4px;\n vertical-align: top; }\n\n.page-admin table th.checkbox input[type=\"checkbox\"],\n.page-admin table th.checkbox input,\n.page-admin table td.checkbox input[type=\"checkbox\"],\n.page-admin table td.checkbox input {\n float: none !important;\n margin: 0 !important;\n position: relative; }\n\n.pane-dkan-sitewide-dkan-sitewide-license .pane-content {\n word-break: break-word; }\n\n.pane-dkan-sitewide-dkan-sitewide-other-access a.btn, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a,\n#block-dkan-sitewide-dkan-sitewide-other-access a.btn,\n#block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a {\n background-image: auto;\n border: 1px solid #ccc;\n padding: 6px 10px 6px 36px;\n position: relative; }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i {\n background-position: 0 0;\n position: absolute;\n top: 8px;\n left: 5px;\n visibility: visible; }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-rdfxml, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-rdfxml,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-rdfxml,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-rdfxml {\n background-image: url(../images/rdf.png); }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-json, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-json,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-json,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-json {\n background-image: url(../images/json.png); }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn:hover, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a:hover,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn:hover,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a:hover {\n background-color: #eeeeee; }\n\n.pane-dkan-sitewide-dkan-sitewide-other-access .btn-group,\n#block-dkan-sitewide-dkan-sitewide-other-access .btn-group {\n margin: .6em 0; }\n .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:first-child, .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:first-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:first-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:first-child {\n background-image: url(../images/json.png);\n background-repeat: no-repeat;\n background-position: 10px 10px; }\n .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:last-child, .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:last-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:last-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:last-child {\n background-image: url(../images/rdf.png);\n background-repeat: no-repeat;\n background-position: 10px 10px; }\n\n#block-dkan-forms-dkan-forms-dataset-help h2.block-title::before {\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container.pane-block,\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .pane-content,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"].pane-block,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .pane-content,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi.pane-block,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .pane-content {\n border: none;\n margin: 0;\n padding: 0;\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list {\n border: 1px solid #ddd; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list .facetapi-limit-link,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list .facetapi-limit-link,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list .facetapi-limit-link {\n padding: 10px 22px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list .facetapi-limit-link:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list .facetapi-limit-link:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list .facetapi-limit-link:before {\n top: 10px;\n right: 22px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi h2.pane-title {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border: none;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1); }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container h2.pane-title:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] h2.pane-title:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi h2.pane-title:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container.ctools-collapsed h2.pane-title:after,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"].ctools-collapsed h2.pane-title:after,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi.ctools-collapsed h2.pane-title:after {\n content: \"\\f078\"; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .ctools-toggle,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .ctools-toggle,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .ctools-toggle {\n background: none; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul {\n margin: 0;\n padding: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf {\n list-style-type: none;\n list-style-image: none;\n margin: 0;\n padding: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li {\n position: relative; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li a,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li a,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li a {\n padding-right: 48px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf.last,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf.last,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf.last {\n border-bottom: none; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li:before {\n content: \"\\f178\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 4px;\n right: 30px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a {\n color: #333333;\n display: block;\n padding: 6px 20px 6px 10px;\n position: relative;\n line-height: 22px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:focus, .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:hover,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:focus,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:hover,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:focus,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:hover {\n color: #1a1a1a;\n background: rgba(0, 0, 0, 0.03);\n text-decoration: none; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:hover:after {\n content: \"\\f055\";\n color: #5cb85c;\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a img,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a img,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a img {\n height: 25px;\n width: 25px;\n margin: 0 16px 0 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active {\n background: #ccc;\n color: #333;\n z-index: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:before {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent #ccc;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:hover:after {\n color: red; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link {\n display: block;\n padding: 5px 30px 5px 5px;\n position: relative; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link:before,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link:before,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link:before {\n content: \"\\f150\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 15px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link.open:before,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link.open:before,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link.open:before {\n content: \"\\f151\"; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .ctools-toggle {\n width: 12px; }\n\n.facetapi-facet-changed li.expanded a.facetapi-active {\n background: #ccc;\n border-bottom: 1px dotted #eee;\n color: #333;\n line-height: 22px;\n padding: 6px 20px 6px 10px; }\n .facetapi-facet-changed li.expanded a.facetapi-active:hover {\n background: #ccc;\n color: #333;\n text-decoration: none; }\n .facetapi-facet-changed li.expanded a.facetapi-active:hover:after {\n color: red; }\n .facetapi-facet-changed li.expanded a.facetapi-active:before {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent #ccc;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0; }\n .facetapi-facet-changed li.expanded a.facetapi-active:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n\n.facetapi-facet-changed li.expanded ul.expanded li.leaf a,\n.facetapi-facet-changed li.expanded li.expanded a {\n padding: 6px 20px 6px 20px; }\n\n.facetapi-facet-changed li.expanded .item-list {\n border: none; }\n\n.facetapi-facet-field-license a {\n white-space: pre;\n /* CSS 2.0 */\n white-space: pre-wrap;\n /* CSS 2.1 */\n white-space: pre-line;\n /* CSS 3.0 */\n white-space: -pre-wrap;\n /* Opera 4-6 */\n white-space: -o-pre-wrap;\n /* Opera 7 */\n white-space: -moz-pre-wrap;\n /* Mozilla */\n white-space: -hp-pre-wrap;\n /* HP Printers */\n word-wrap: break-word;\n /* IE 5+ */\n word-break: break-word; }\n\n.pane-views-group-block-block,\n#block-views-group-block-block {\n overflow: hidden; }\n .pane-views-group-block-block .views-field-title a,\n #block-views-group-block-block .views-field-title a {\n display: block;\n padding: .5em 0; }\n .pane-views-group-block-block .views-field-body p,\n #block-views-group-block-block .views-field-body p {\n margin: .5em 0 1em; }\n .pane-views-group-block-block .group-subscribe-message,\n #block-views-group-block-block .group-subscribe-message {\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px;\n background: #0A77BD;\n color: #fff;\n padding: 5px;\n text-align: center;\n margin-left: -15px;\n margin-right: -15px; }\n .pane-views-group-block-block .group-subscribe-message a,\n #block-views-group-block-block .group-subscribe-message a {\n color: #fff;\n display: block; }\n\n.node-type-group .radix-bryant .radix-layouts-sidebar .pane-block.pane-views-group-block-block .pane-content {\n padding: 15px 15px 0; }\n\n#block-dkan-dataset-dkan-dataset-dataset-help .content {\n padding: 10px; }\n\n#block-dkan-forms-dkan-forms-dataset-help h2:before {\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em; }\n\n.pane-dkan-sitewide-dkan-demo-front,\n#block-dkan-sitewide-demo-front-dkan-demo-front {\n -webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);\n -moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);\n box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5); }\n .pane-dkan-sitewide-dkan-demo-front p,\n #block-dkan-sitewide-demo-front-dkan-demo-front p {\n color: #fff;\n padding: 15px; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay {\n position: relative;\n padding: 0; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay img,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay img {\n width: 100%;\n height: auto; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay .media-heading,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay .media-heading {\n background-color: rgba(0, 0, 0, 0.8);\n bottom: 0;\n color: #FFFFFF;\n font-size: 13px;\n left: 0;\n line-height: 18px;\n margin: 0;\n padding: 12px 10px;\n position: absolute;\n right: 0;\n z-index: 1; }\n\n.radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content {\n padding: 0; }\n .radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content li.last a:hover {\n -webkit-border-radius: 0 0 3px 3px;\n -moz-border-radius: 0 0 3px 3px;\n -ms-border-radius: 0 0 3px 3px;\n -o-border-radius: 0 0 3px 3px;\n border-radius: 0 0 3px 3px; }\n\n.pane-dkan-sitewide-dkan-sitewide-resource-add table {\n margin-top: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:first-child h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:first-child h2.pane-title {\n -webkit-border-radius: 5px 5px 0 0;\n -moz-border-radius: 5px 5px 0 0;\n -ms-border-radius: 5px 5px 0 0;\n -o-border-radius: 5px 5px 0 0;\n border-radius: 5px 5px 0 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:last-child .ctools-collapsed h2.pane-title, .panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:last-child.ctools-collapsed h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:last-child .ctools-collapsed h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:last-child.ctools-collapsed h2.pane-title {\n -webkit-border-radius: 0 0 5px 5px;\n -moz-border-radius: 0 0 5px 5px;\n -ms-border-radius: 0 0 5px 5px;\n -o-border-radius: 0 0 5px 5px;\n border-radius: 0 0 5px 5px; }\n\n@media all and (max-width: 768px) {\n .node-dataset .resource-list li {\n padding-right: 0; }\n .node-dataset .resource-list li span.links {\n position: relative;\n top: auto;\n right: auto;\n margin: 10px 0;\n display: block;\n padding: 0; }\n .node-dataset .resource-list li a.btn, .node-dataset .resource-list li .media-widget > a {\n margin: 0 5px 10px 0; } }\n\n.resource-list a.label {\n display: inline-block;\n overflow-wrap: break-word; }\n\n.stages {\n margin: 0 0 20px; }\n .stages li {\n font-size: 14px; }\n .stages li.first,\n .stages li.first .highlight {\n -webkit-border-radius: 5px 0 0 5px;\n -moz-border-radius: 5px 0 0 5px;\n -ms-border-radius: 5px 0 0 5px;\n -o-border-radius: 5px 0 0 5px;\n border-radius: 5px 0 0 5px; }\n .stages li.last,\n .stages li.last .highlight {\n -webkit-border-radius: 0 5px 5px 0;\n -moz-border-radius: 0 5px 5px 0;\n -ms-border-radius: 0 5px 5px 0;\n -o-border-radius: 0 5px 5px 0;\n border-radius: 0 5px 5px 0; }\n\n.node-type-resource .item-list .list-group li {\n margin: 0; }\n\n.node-type-dataset .field-name-field-tags .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-preview-thumbail .field-label {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.field-name-field-topic .field-item {\n display: inline-block; }\n\n#edit-path-alias {\n height: 34px; }\n\n.node-dataset .resource-list li {\n padding: 0 260px 0 45px; }\n @media all and (max-width: 767px) {\n .node-dataset .resource-list li {\n padding-right: 0; } }\n\np.dkan-profile-page-user-name {\n display: inline-block; }\n\n.table-select-processed .checkbox input[type=\"checkbox\"],\n.permissions-processed .checkbox input[type=\"checkbox\"] {\n margin-left: 0px; }\n\ninput[type=\"submit\"],\n.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child,\n.btn.btn-primary,\n.media-widget > a.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child {\n margin-right: 1em; }\n\ninput.use-ajax-submit {\n margin-right: 10px; }\n\nbutton.btn,\n.btn.btn-default,\n.media-widget > a.btn-default,\n.btn.btn-primary,\n.media-widget > a.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child,\n.tabs--primary.nav-pills li a,\n.form-control {\n line-height: 1.5em; }\n\n.btn, .media-widget > a, .btn-sm, .btn-group-sm > .btn, .media-widget.btn-group-sm > a {\n font-size: 14px; }\n\nselect.form-control {\n min-height: 36px; }\n select.form-control[multiple=\"multiple\"] {\n height: auto; }\n\n.form-control,\ndiv.autocomplete-deluxe-multiple {\n padding: 0 12px; }\n\n.ctools-dropbutton .ctools-content a,\n.ctools-dropbutton input.btn,\n.ctools-dropbutton input[type=\"submit\"] {\n color: #666; }\n .ctools-dropbutton .ctools-content a:hover, .ctools-dropbutton .ctools-content a:focus, .ctools-dropbutton .ctools-content a:active,\n .ctools-dropbutton input.btn:hover,\n .ctools-dropbutton input.btn:focus,\n .ctools-dropbutton input.btn:active,\n .ctools-dropbutton input[type=\"submit\"]:hover,\n .ctools-dropbutton input[type=\"submit\"]:focus,\n .ctools-dropbutton input[type=\"submit\"]:active {\n border: none;\n color: #0A77BD; }\n\n.field-type-file input[type=\"submit\"],\n.input-group-addon,\n.input-group-btn {\n width: auto; }\n\n.colorizer-form .form-control {\n width: 50%; }\n\n.colorizer-form label {\n float: none;\n display: block; }\n\n.colorizer-form #palette {\n clear: both; }\n .colorizer-form #palette .item-selected {\n background-color: transparent; }\n\n.bue-popup {\n z-index: 999; }\n\n.bue-ui.editor-container {\n background-color: #ffffff;\n padding: 0 4px;\n border: 1px solid #ddd;\n -webkit-border-radius: 4px 4px 0 0;\n -moz-border-radius: 4px 4px 0 0;\n -ms-border-radius: 4px 4px 0 0;\n -o-border-radius: 4px 4px 0 0;\n border-radius: 4px 4px 0 0; }\n\n.form-control.form-textarea {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.form-control.chosen-processed {\n line-height: 34px;\n height: auto;\n padding: 0;\n border: none;\n max-width: 100% !important; }\n .form-control.chosen-processed .chosen-choices {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border-color: #ccc; }\n\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n background-position: -42px 2px; }\n\n.chzn-container-single {\n max-width: 100%; }\n\ndiv.autocomplete-deluxe-multiple,\n.chzn-container-multi {\n width: 100% !important; }\n\n.chzn-container-multi .chzn-choices .search-field input {\n height: auto; }\n\n#context-blockform td.blocks .label {\n background-color: #555555; }\n\n.tabledrag-hide .chzn-container-single {\n width: 20px !important; }\n\ndiv.autocomplete-deluxe-container input.autocomplete-deluxe-form-single {\n float: left; }\n\nfieldset {\n position: relative; }\n\nfieldset.collapsible {\n padding-top: 0; }\n\n#og-group-ref-add-more-wrapper fieldset,\nfieldset.group-primary {\n padding-top: 0; }\n #og-group-ref-add-more-wrapper fieldset legend,\n fieldset.group-primary legend {\n display: none; }\n\n.horizontal-tabs fieldset.horizontal-tabs-pane {\n padding: 0; }\n\ndiv.horizontal-tabs {\n border: none; }\n\n.form-managed-file span.file {\n border: 1px solid #ddd;\n padding: 0 15px;\n line-height: 34px;\n display: inline-block;\n vertical-align: top;\n border-radius: 5px 0 0 5px;\n margin-right: 0; }\n\n.form-managed-file .file-size {\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 0 10px;\n vertical-align: top;\n line-height: 34px;\n display: inline-block;\n font-size: 12px;\n margin: 0 -5px;\n background: #eee; }\n\n.form-managed-file input {\n -webkit-border-radius: 4px 0 0 4px;\n -moz-border-radius: 4px 0 0 4px;\n -ms-border-radius: 4px 0 0 4px;\n -o-border-radius: 4px 0 0 4px;\n border-radius: 4px 0 0 4px;\n border: 1px solid #ddd;\n padding: 5px;\n margin: 0 0 10px 0;\n height: 36px;\n vertical-align: top; }\n\n.form-managed-file input.form-submit {\n margin: 0 0 10px 0; }\n\n.form-managed-file .filefield-source-remotefile input.form-control:first-child {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px; }\n\n.form-managed-file .filefield-source-remotefile input.form-text {\n width: 100%; }\n\n.form-managed-file .input-group-btn {\n display: inline-block;\n vertical-align: top; }\n\n.form-managed-file .manualcrop-style-button-holder input {\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n -ms-border-radius: 5px;\n -o-border-radius: 5px;\n border-radius: 5px; }\n\n.path-form.panel-default {\n border-color: transparent; }\n .path-form.panel-default .panel-body {\n padding: 0; }\n\n.list-group-item {\n background-color: transparent;\n border: none;\n color: #333333;\n padding: 0; }\n\n.filter-wrapper {\n padding: 10px; }\n .filter-wrapper .input-group-addon {\n border: none;\n background: transparent; }\n\n#body-add-more-wrapper .panel-body {\n padding: 0; }\n\n.node-dataset-form .group-odfie-pod .form-item {\n margin-bottom: 0px; }\n\n.node-dataset-form .group-odfie-pod .field-name-field-odfe-data-quality {\n margin-bottom: 15px; }\n\n.node-dataset-form .form-item.has-error div.autocomplete-deluxe-container,\n.node-dataset-form .form-item.has-error div.chosen-container {\n border: 2px solid red; }\n .node-dataset-form .form-item.has-error div.autocomplete-deluxe-container .chosen-single,\n .node-dataset-form .form-item.has-error div.chosen-container .chosen-single {\n border: none; }\n\n.node-dataset-form .form-item .error .chosen-single {\n line-height: 24px; }\n\n.node-dataset-form .field-name-field-format label,\n.node-resource-form .field-name-field-format label {\n vertical-align: top; }\n\n@media all and (max-width: 599px) {\n .node-dataset-form .stages li .highlight,\n .node-resource-form .stages li .highlight {\n font-size: 12px;\n line-height: 1.15em; } }\n\n.node-resource-form .field-name-field-upload .form-type-managed-file {\n display: table; }\n .node-resource-form .field-name-field-upload .form-type-managed-file .file-widget {\n display: table-footer-group; }\n .node-resource-form .field-name-field-upload .form-type-managed-file .file-resup-wrapper {\n display: table-header-group; }\n\n.node-resource-form .field-name-body textarea {\n height: auto; }\n\n#search-api-admin-index-status-form input {\n margin-bottom: 1em; }\n\n.page-admin form input[type=submit] {\n margin-right: 1em; }\n\n#field-dkan-harvest-filters-values .description,\n#field-dkan-harvest-excludes-values .description,\n#field-dkan-harvest-overrides-values .description,\n#field-dkan-harvest-defaults-values .description {\n font-weight: normal; }\n\n#dkan-dataset-form-settings .help-block {\n margin: 5px 20px 10px; }\n\n#views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page .form-group {\n display: inline-block; }\n #views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page .form-group input {\n width: 100px; }\n\n.pane-dkan-harvest-harvest-source-summary .summary-details {\n border-color: #ddd;\n border-width: 0 1px 1px 1px;\n border-style: solid;\n margin-top: 15px; }\n .pane-dkan-harvest-harvest-source-summary .summary-details div {\n padding: 4px 5px; }\n\n.pane-dkan-harvest-harvest-source-summary h6 {\n background: #eee;\n color: #222;\n padding: 3px 5px;\n margin: 0;\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd; }\n\ndiv.datasets-count-preview span {\n font-weight: bold; }\n\n#harvest_source_summary_uri {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; }\n\n.node-type-harvest-source .ctools-collapsible-container .ctools-collapsible-handle {\n border-radius: 0;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px; }\n\n.node-type-harvest-source .ctools-collapsible-container .ctools-collapsible-handle:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px; }\n\n.node-type-harvest-source .ctools-collapsible-container.ctools-collapsed .ctools-collapsible-handle:after {\n content: \"\\f078\"; }\n\n.node-type-harvest-source .ctools-collapsible-content .harvest-error-log-table {\n margin: 0;\n margin-bottom: 20px; }\n\n@media all and (min-width: 768px) {\n #harvest-source-node-form .double-field-elements input.form-text {\n width: 50%;\n display: inline-block; } }\n\n#modalContent .modal-header {\n background: #0A77BD; }\n #modalContent .modal-header h4 {\n color: #fff; }\n #modalContent .modal-header .close {\n color: #fff;\n text-shadow: 0 1px 0 #036;\n opacity: 1; }\n\n#modalContent .panels-add-content-modal {\n margin: 0;\n position: relative; }\n\n#modalContent .panels-section-column {\n margin-right: 1em;\n overflow: visible; }\n @media (max-width: 600px) {\n #modalContent .panels-section-column {\n width: 100%;\n float: none;\n margin-right: 0; } }\n\n#modalContent .panels-section-column-categories .btn, #modalContent .panels-section-column-categories .media-widget > a {\n border: 1px solid #ccc !important;\n margin: 3px; }\n\n.panels-add-content-modal .panels-section-column .inside {\n padding: 1em 0; }\n\n.panels-section-column .dkan-type-button {\n font-size: 1em;\n line-height: 1em; }\n .panels-section-column .dkan-type-button a {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border: 1px solid #eee;\n display: block;\n padding: 8px 10px;\n margin: 3px 0; }\n .panels-section-column .dkan-type-button a:focus, .panels-section-column .dkan-type-button a:hover {\n background: #eee;\n border-color: #ccc;\n text-decoration: none; }\n .panels-section-column .dkan-type-button a:before {\n font-family: \"FontAwesome\";\n font-size: 1.25em;\n margin-right: 5px; }\n\n#field-basic-table-table-und-0-tablefield {\n border: none;\n margin: 0;\n padding: 0; }\n #field-basic-table-table-und-0-tablefield fieldset {\n padding-top: 0; }\n\n.form-tablefield input.tablefield-rebuild {\n background-color: #0A77BD !important;\n border-color: #0A77BD; }\n .form-tablefield input.tablefield-rebuild:hover, .form-tablefield input.tablefield-rebuild:focus, .form-tablefield input.tablefield-rebuild.active {\n background-color: #23527c;\n border-color: #23527c; }\n\n.add-content-link-basic-file-icon-text-button:before {\n content: \"\\f0f6\"; }\n\n.add-content-link-custom-icon-text-button:before {\n content: \"\\f044\"; }\n\n.add-content-link-node-icon-text-button:before {\n content: \"\\f24d\"; }\n\n.add-content-link-image-icon-text-button:before {\n content: \"\\f1c5\"; }\n\n.add-content-link-map-icon-text-button:before {\n content: \"\\f278\"; }\n\n.add-content-link-quick-links-icon-text-button:before {\n content: \"\\f0c1\"; }\n\n.add-content-link-table-icon-text-button:before {\n content: \"\\f0ce\"; }\n\n.add-content-link-text-icon-text-button:before {\n content: \"\\f036\"; }\n\n.add-content-link-video-icon-text-button:before {\n content: \"\\f008\"; }\n\n.add-content-link-visualization-embed-icon-text-button:before {\n content: \"\\f200\"; }\n\n.add-content-link-spotlight-icon-text-button:before {\n content: \"\\f16a\"; }\n\n.add-content-link-panopoly-widgets-general-content-list-of-content-icon-text-button:before {\n content: \"\\f0ca\"; }\n\n.add-content-link-panopoly-widgets-general-content-piece-of-content-icon-text-button:before {\n content: \"\\f0ea\"; }\n\n.add-content-link-main-menu-icon-text-button:before {\n content: \"\\f0c9\"; }\n\n.add-content-link-dkan-plugins-button-link-icon-text-button:before {\n content: \"\\f0c1\"; }\n\nimg.thumbnail {\n width: 100px;\n height: auto; }\n\nimg.left {\n float: left;\n margin: 0 1em 1em 0; }\n\nimg.right {\n float: right;\n margin: 0 0 1em 1em; }\n\nimg.center {\n margin: 0 auto; }\n\n.container,\n.container-fluid,\n.row {\n overflow: visible; }\n\naside.col-sm-3 {\n padding-left: 0; }\n\nsection.col-sm-9 {\n padding-right: 0; }\n\n.region-content {\n padding: 15px 0; }\n\n.front .panel-dkan-front .container,\n.front .region-content {\n padding: 0; }\n\n.front .alert {\n margin: 10px 15px; }\n\n.breadcrumb,\n.alert,\n.tabs--primary,\n.page-header {\n margin: 0 0 15px; }\n\n#footer.footer {\n padding: 40px 0;\n margin: 0; }\n\n@media all and (max-width: 767px) {\n .container {\n padding-left: 15px;\n padding-right: 15px; } }\n\n.navigation-wrapper .container {\n overflow: visible; }\n .navigation-wrapper .container .navbar-collapse {\n overflow: visible; }\n\n.container > .navbar-header, .container > .navbar-collapse {\n margin-left: 10px;\n margin-right: 10px; }\n\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n padding: 0;\n vertical-align: top; }\n\n.navbar-header {\n position: relative;\n z-index: 3; }\n\n.navbar-default {\n background: transparent;\n border: none;\n margin: 0;\n overflow: visible !important;\n position: relative;\n z-index: 3; }\n .navbar-default .navbar-nav,\n .navbar-default .user-menu {\n margin: 0;\n overflow: visible;\n position: relative;\n z-index: 3; }\n .navbar-default .navbar-nav a.dropdown-toggle,\n .navbar-default .user-menu a.dropdown-toggle {\n color: #FFFFFF; }\n .navbar-default .navbar-nav .open > a,\n .navbar-default .navbar-nav li > a,\n .navbar-default .user-menu .open > a,\n .navbar-default .user-menu li > a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding: 15px; }\n .navbar-default .navbar-nav .open > a.dropdown-toggle:hover, .navbar-default .navbar-nav .open > a:active, .navbar-default .navbar-nav .open > a:hover, .navbar-default .navbar-nav .open > a:focus,\n .navbar-default .navbar-nav li > a.dropdown-toggle:hover,\n .navbar-default .navbar-nav li > a:active,\n .navbar-default .navbar-nav li > a:hover,\n .navbar-default .navbar-nav li > a:focus,\n .navbar-default .user-menu .open > a.dropdown-toggle:hover,\n .navbar-default .user-menu .open > a:active,\n .navbar-default .user-menu .open > a:hover,\n .navbar-default .user-menu .open > a:focus,\n .navbar-default .user-menu li > a.dropdown-toggle:hover,\n .navbar-default .user-menu li > a:active,\n .navbar-default .user-menu li > a:hover,\n .navbar-default .user-menu li > a:focus {\n color: #FFFFFF;\n text-decoration: none; }\n .navbar-default .navbar-nav .open > a.dropdown-toggle:focus, .navbar-default .navbar-nav .open > a.dropdown-toggle:active,\n .navbar-default .navbar-nav li > a.dropdown-toggle:focus,\n .navbar-default .navbar-nav li > a.dropdown-toggle:active,\n .navbar-default .user-menu .open > a.dropdown-toggle:focus,\n .navbar-default .user-menu .open > a.dropdown-toggle:active,\n .navbar-default .user-menu li > a.dropdown-toggle:focus,\n .navbar-default .user-menu li > a.dropdown-toggle:active {\n background-color: transparent; }\n .navbar-default .navbar-nav .dropdown-menu,\n .navbar-default .user-menu .dropdown-menu {\n border: none;\n padding: 0; }\n .navbar-default .navbar-nav .dropdown-menu li,\n .navbar-default .user-menu .dropdown-menu li {\n display: block; }\n .navbar-default .navbar-nav .dropdown-menu li a,\n .navbar-default .user-menu .dropdown-menu li a {\n display: block;\n color: #ffffff; }\n .navbar-default .navbar-nav .dropdown-menu li.last a:hover,\n .navbar-default .user-menu .dropdown-menu li.last a:hover {\n border-radius: 0 0 4px 4px; }\n .navbar-default .navbar-toggle {\n border-color: #ffffff; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: rgba(0, 0, 0, 0.25); }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #ffffff; }\n @media all and (min-width: 768px) {\n .navbar-default .user-menu {\n float: right; }\n .navbar-default .navbar-nav li,\n .navbar-default .user-menu li {\n display: inline-block; }\n .navbar-default .navbar-nav li a,\n .navbar-default .user-menu li a {\n display: inline-block; }\n .navbar-default .navbar-nav li .dropdown-menu li,\n .navbar-default .navbar-nav li .dropdown-menu li a,\n .navbar-default .user-menu li .dropdown-menu li,\n .navbar-default .user-menu li .dropdown-menu li a {\n display: block; } }\n .navbar-default .navbar-nav.secondary li {\n float: none; }\n .navbar-default .navbar-nav.secondary li a {\n font-size: .7em;\n line-height: 1.5em;\n padding: 4px; }\n\n@media all and (max-width: 767px) {\n .nav > li {\n display: inline; }\n .navbar-default .navbar-nav .open .dropdown-menu,\n .navbar-default .navbar-nav .dropdown-menu {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n border: none;\n display: block;\n width: 100%;\n position: relative; }\n .navbar-default .navbar-nav .open .dropdown-menu li > a,\n .navbar-default .navbar-nav .dropdown-menu li > a {\n color: #ffffff;\n display: block;\n padding: 15px 10px 15px 35px; }\n .navbar-default .navbar-nav .open .dropdown-menu li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu li > a:focus, .navbar-default .navbar-nav .open .dropdown-menu li > a:active,\n .navbar-default .navbar-nav .dropdown-menu li > a:hover,\n .navbar-default .navbar-nav .dropdown-menu li > a:focus,\n .navbar-default .navbar-nav .dropdown-menu li > a:active {\n color: #ffffff;\n clear: both; } }\n\n#block-dkan-sitewide-dkan-sitewide-user-menu .links a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding: 15px; }\n #block-dkan-sitewide-dkan-sitewide-user-menu .links a:hover, #block-dkan-sitewide-dkan-sitewide-user-menu .links a:focus {\n color: #FFFFFF;\n text-decoration: none; }\n\n#block-dkan-sitewide-dkan-sitewide-user-menu img {\n margin: 10px; }\n\n@media all and (min-width: 768px) {\n #block-dkan-sitewide-dkan-sitewide-user-menu {\n float: right; }\n #block-dkan-sitewide-dkan-sitewide-user-menu .links a {\n display: inline-block; } }\n\n.navbar .nav > li > a {\n text-shadow: none; }\n\n@media (min-width: 768px) {\n .navbar {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n .container > .navbar-header {\n margin-left: 0; }\n #nav-wrapper .navbar-default .logo {\n padding: 10px 10px 0 0; } }\n\n.tabs--primary {\n margin: 10px 0; }\n .tabs--primary li {\n margin: 1px; }\n .tabs--primary li a {\n padding: 6px 15px; }\n .tabs--primary li a:hover {\n color: #fff; }\n .tabs--primary li a.active {\n color: #fff; }\n\n.front .tabs--primary {\n display: none; }\n\n.tabs--primary .nav-pills li a.active,\n.tabs--primary .nav-pills li.active a:hover,\n.tabs--primary .nav-pills li.active a:focus {\n color: #ffffff; }\n\n.form-actions #edit-submit {\n background: #5cb85c;\n border-color: #5cb85c; }\n\n.form-actions #edit-submit:hover,\n.form-actions #edit-submit:focus,\n.form-actions #edit-submit:active {\n background: #449d44;\n border-color: #449d44;\n color: #fff; }\n\na.embed-link {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n color: #fff;\n display: inline-block;\n padding: 5px 15px 5px 35px;\n position: relative;\n margin: 1em 0;\n text-decoration: none; }\n\na.embed-link:hover,\na.embed-link:focus,\na.embed-link:active {\n color: #fff;\n text-decoration: none; }\n\na.embed-link:before {\n content: '\\f121';\n color: #fff;\n font-family: \"FontAwesome\";\n font-size: 1.3em;\n position: absolute;\n top: 5px;\n left: 10px; }\n\ntextarea.embed-code {\n width: 100%;\n margin-bottom: 1em; }\n\nul.action-links {\n margin: 1em 15px; }\n ul.action-links li {\n float: none;\n display: inline-block; }\n\n.btn:active, .media-widget > a:active,\n.btn.active,\n.media-widget > a.active {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\n.radix-layouts-sidebar ul.menu > li > ul.menu {\n margin-left: 0; }\n .radix-layouts-sidebar ul.menu > li > ul.menu li a {\n padding: 10px 15px 10px 30px; }\n\n.node-type-dataset .field-name-field-tags {\n margin: 1em 0; }\n\n.node-type-dataset h4 {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.node-type-dataset .field-name-field-related-content .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-tags .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-preview-thumbail .field-label {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n/** UI Tabs **/\n.node-resource-form .horizontal-tabs {\n border: none; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list {\n background-color: transparent;\n border: 0;\n padding-top: 10px; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected {\n border: 0;\n background-color: transparent;\n min-width: 4em; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li a:hover,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected a:hover {\n background: transparent; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li #active-horizontal-tab,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected #active-horizontal-tab {\n background: url(../images/sprite-ckan-icons.png) no-repeat -193px 2px;\n display: block;\n text-indent: -9999px;\n width: 16px;\n height: 16px;\n left: 50%;\n clip: auto; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button-1 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button-2 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected.horizontal-tab-button-1 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected.horizontal-tab-button-2 .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -160px 0; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -144px 0;\n width: 16px;\n height: 16px;\n position: absolute;\n top: 5px;\n left: 10px; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li a,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected a {\n font-size: 1.1em;\n position: relative;\n padding: 5px 15px 5px 30px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border: 1px solid #ddd;\n padding: 8px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_upload legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_api legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_file legend.panel-heading {\n display: none; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_upload .field-widget-recline-widget legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_api .field-widget-recline-widget legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_file .field-widget-recline-widget legend.panel-heading {\n border: none;\n border-bottom: 1px solid #ddd;\n display: block;\n background: transparent;\n color: #555555;\n padding: 5px 0; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-type-checkbox label,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-type-select label {\n display: block;\n line-height: 36px;\n padding-top: 2px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .filefield-source-remotefile input {\n margin-right: 0; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .filefield-source-remotefile input.btn {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0;\n margin-left: -1px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-item-field-upload-und-0-embed {\n clear: both; }\n\n.page-node-add-resource .field-group-htabs.group-data div.horizontal-tabs {\n border: 0; }\n\n.page-node-add-resource .form-item {\n margin: 0; }\n\n#action-info {\n color: #d9534f;\n margin: 1em 0; }\n #action-info:before {\n color: #d9534f;\n content: \"\\f071\";\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n font-style: normal;\n margin-right: 5px;\n vertical-align: middle; }\n\n.field-name-body a {\n overflow-wrap: break-word; }\n\n.field-name-body ul {\n list-style-type: disc;\n margin: 10px 20px; }\n .field-name-body ul li {\n margin: 6px 10px; }\n\n.field-group-table-description {\n color: #555555;\n display: block;\n padding: 8px 10px 8px 40px;\n position: relative; }\n .field-group-table-description .icon-info-sign:before {\n color: #777777;\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-size: 2.5em;\n font-style: normal;\n height: 30px;\n left: 0;\n margin: 10px 15px 0 0;\n padding: 6px 0;\n position: absolute;\n top: -6px;\n width: 30px; }\n\n.group-owner-message {\n margin-bottom: 20px; }\n\n.field-type-text-with-summary {\n padding: 0; }\n\n.field-name-field-additional-info {\n margin-top: 2em; }\n\n.field-name-field-related-content .field-item a {\n border: 1px solid #ddd;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px; }\n .field-name-field-related-content .field-item a:hover {\n color: #ffffff;\n text-decoration: none;\n background: #0A77BD; }\n\n.field-name-field-related-content .field-item:first-of-type a {\n -webkit-border-radius: 4px 4px 0px 0px;\n -moz-border-radius: 4px 4px 0px 0px;\n -ms-border-radius: 4px 4px 0px 0px;\n -o-border-radius: 4px 4px 0px 0px;\n border-radius: 4px 4px 0px 0px; }\n\n.field-name-field-related-content .field-item:last-of-type a {\n -webkit-border-radius: 0px 0px 4px 4px;\n -moz-border-radius: 0px 0px 4px 4px;\n -ms-border-radius: 0px 0px 4px 4px;\n -o-border-radius: 0px 0px 4px 4px;\n border-radius: 0px 0px 4px 4px; }\n\n.node-teaser {\n margin-bottom: 2em; }\n .node-teaser .blog-image div {\n background-size: cover !important;\n overflow: hidden;\n position: relative;\n height: 200px;\n margin-bottom: 1em; }\n @media all and (max-width: 767px) {\n .node-teaser .blog-image div {\n background-position: 50% 50%; } }\n .node-teaser h2.blog-title {\n font-size: 1.5em;\n margin-top: 0; }\n .node-teaser .submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0;\n font-size: .8em; }\n .node-teaser .fa-clock-o {\n padding-left: 1em; }\n .node-teaser .links {\n margin: -.5em 0 2.5em 0; }\n .node-teaser .links li {\n display: inline; }\n .node-teaser .links li a {\n font-size: .8em;\n padding: 1px 8px; }\n .node-teaser.no-image {\n padding-left: 15px;\n padding-right: 15px; }\n\n.node-blog .submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0; }\n\n.node-blog .blog-image {\n margin: 1em 0; }\n .node-blog .blog-image img {\n max-width: 100%;\n height: auto; }\n\n.node-blog .fa-clock-o {\n padding-left: 1em; }\n\n.node-blog .field-name-field-tags {\n margin: 1em 0; }\n\n.node-blog .links li {\n display: inline; }\n .node-blog .links li a {\n display: inline-block;\n margin: 1em 0; }\n\n.node-blog .field-name-field-tags .field-label {\n display: none; }\n\n@media all and (min-width: 768px) {\n .node-blog h1 {\n width: 47%;\n float: left; }\n .node-blog .submitted {\n width: 47%;\n float: left;\n clear: left; }\n .node-blog .blog-image {\n width: 47%;\n float: right;\n margin: 0 0 1em 1.5em; }\n .node-blog .field-type-text-with-summary {\n clear: left; }\n .node-blog .no-image h1,\n .node-blog .no-image .submitted {\n width: 100%; }\n .node-blog .no-image .field-type-text-with-summary {\n clear: both; } }\n\n.main {\n padding-top: 20px;\n padding-bottom: 20px; }\n\n.front .main {\n padding: 0; }\n\n.page-admin .main {\n padding: 20px 15px; }\n\n.page-admin .region-content {\n margin: 0; }\n\n.page-admin .breadcrumb,\n.page-admin .alert,\n.page-admin .tabs--primary,\n.page-admin .page-header {\n margin: 0 0 15px; }\n\n.panel-body {\n overflow: visible; }\n\n.pane-content .field-name-body {\n line-height: 2em; }\n\n.main .pane-custom,\n.main .pane-node-field-image,\n.main .pane-fieldable-panels-pane {\n margin-bottom: 3em; }\n\nh2.pane-title {\n border-bottom: 1px solid #ddd;\n padding-bottom: 10px; }\n\n#panels-choose-layout .form-type-radio input,\n.panels-choose-layout .form-type-radio input {\n width: 15px; }\n\n.panel-region-sidebar .radix-layouts-sidebar h2.pane-title {\n -webkit-border-radius: 5px 5px 0 0;\n -moz-border-radius: 5px 5px 0 0;\n -ms-border-radius: 5px 5px 0 0;\n -o-border-radius: 5px 5px 0 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid;\n border-bottom: none;\n font-size: 16px;\n line-height: 1.3;\n margin: 0;\n padding: 7px 10px;\n font-weight: normal; }\n\n.panel-region-sidebar .radix-layouts-sidebar .pane-block {\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n -ms-border-radius: 5px;\n -o-border-radius: 5px;\n border-radius: 5px;\n border: 1px solid #ddd;\n margin-bottom: 20px;\n padding: 0px; }\n .panel-region-sidebar .radix-layouts-sidebar .pane-block .pane-content {\n background-color: transparent;\n margin: 0;\n padding: 15px; }\n .panel-region-sidebar .radix-layouts-sidebar .pane-block.pane-dkan-sitewide-dkan-sitewide-social .pane-content,\n .panel-region-sidebar .radix-layouts-sidebar .pane-block.pane-dkan-sitewide-dkan-sitewide-data-extent .pane-content {\n padding: 0; }\n\n.page-user .radix-layouts-content .pane-content {\n padding: 0; }\n .page-user .radix-layouts-content .pane-content .profile {\n margin-top: 0; }\n\n.radix-layouts-content .pane-title {\n font-size: 36px;\n line-height: 42px;\n margin: 0 0 15px 0; }\n\n.radix-layouts-content .pane-content {\n margin-bottom: 1em; }\n\n.radix-layouts-content .pane-node-field-topic .pane-content {\n padding: 0; }\n\n.radix-layouts-content .pane-page-breadcrumb .breadcrumb {\n display: block;\n margin: 0 0 15px 0; }\n\n@media (max-width: 991px) {\n .node-type-group .radix-layouts-content .pane-title {\n margin-top: 2em; } }\n\n.node-type-group .radix-layouts-content .pane-content {\n padding: 20px 0 0;\n margin-bottom: 0; }\n\n.panels-dnd .panel-full-width .panel-top,\n.panels-dnd .panel-full-width .panel-hero,\n.panels-dnd .panel-dkan-front .panel-top,\n.panels-dnd .panel-dkan-front .panel-hero {\n background-image: none !important;\n background-color: transparent !important;\n overflow: visible; }\n .panels-dnd .panel-full-width .panel-top .tint,\n .panels-dnd .panel-full-width .panel-hero .tint,\n .panels-dnd .panel-dkan-front .panel-top .tint,\n .panels-dnd .panel-dkan-front .panel-hero .tint {\n display: none; }\n\n.page-manager-wrapper .panel-region .pane-title {\n background-image: none;\n border: none;\n font-size: 1em;\n line-height: normal; }\n\n.page-manager-wrapper .panel-region .panel-pane-collapsible .pane-content {\n padding: 10px 15px; }\n\n#panelizer-edit-content-form input {\n margin-right: 1em; }\n\n.pane-dkan-sitewide-dkan-demo-front .pane-title,\n.pane-views-popular-tags-block .pane-title,\n.pane-dkan-sitewide-dkan-add-front .pane-title {\n display: none; }\n\n.panel-full-width .inside .pane-dkan-data-stories .view,\n.panel-dkan-front .inside .pane-dkan-data-stories .view {\n margin-left: -15px;\n margin-right: -15px; }\n\n.panel-full-width .pane-content,\n.panel-dkan-front .pane-content {\n margin: 25px 0; }\n\n.panel-full-width .panel-top,\n.panel-full-width .panel-hero,\n.panel-dkan-front .panel-top,\n.panel-dkan-front .panel-hero {\n background-position: 50% 50%;\n background-size: cover !important;\n background-repeat: no-repeat;\n position: relative;\n z-index: 0;\n margin-bottom: 15px;\n overflow: hidden; }\n .panel-full-width .panel-top .tint,\n .panel-full-width .panel-hero .tint,\n .panel-dkan-front .panel-top .tint,\n .panel-dkan-front .panel-hero .tint {\n position: absolute;\n height: 900px;\n width: 100%;\n z-index: -1; }\n .panel-full-width .panel-top h2, .panel-full-width .panel-top h3, .panel-full-width .panel-top h4,\n .panel-full-width .panel-hero h2,\n .panel-full-width .panel-hero h3,\n .panel-full-width .panel-hero h4,\n .panel-dkan-front .panel-top h2,\n .panel-dkan-front .panel-top h3,\n .panel-dkan-front .panel-top h4,\n .panel-dkan-front .panel-hero h2,\n .panel-dkan-front .panel-hero h3,\n .panel-dkan-front .panel-hero h4 {\n color: #fff; }\n .panel-full-width .panel-top h2.pane-title,\n .panel-full-width .panel-hero h2.pane-title,\n .panel-dkan-front .panel-top h2.pane-title,\n .panel-dkan-front .panel-hero h2.pane-title {\n border-bottom: none;\n padding-bottom: 0; }\n .panel-full-width .panel-top .pane-content,\n .panel-full-width .panel-hero .pane-content,\n .panel-dkan-front .panel-top .pane-content,\n .panel-dkan-front .panel-hero .pane-content {\n color: #fff; }\n .panel-full-width .panel-top a,\n .panel-full-width .panel-hero a,\n .panel-dkan-front .panel-top a,\n .panel-dkan-front .panel-hero a {\n color: #fff; }\n .panel-full-width .panel-top img.demo,\n .panel-full-width .panel-hero img.demo,\n .panel-dkan-front .panel-top img.demo,\n .panel-dkan-front .panel-hero img.demo {\n height: auto;\n width: 100%; }\n @media (min-width: 992px) {\n .panel-full-width .panel-top .pane-node-body,\n .panel-full-width .panel-hero .pane-node-body,\n .panel-dkan-front .panel-top .pane-node-body,\n .panel-dkan-front .panel-hero .pane-node-body {\n padding-top: 15%; } }\n\n@media (max-width: 768px) {\n .panel-dkan-front .panel-hero .panel-col-first,\n .panel-dkan-front .panel-hero .panel-col-second,\n .panel-dkan-front .panel-hero .panel-col-third,\n .panel-dkan-front .panel-triplet .panel-col-first,\n .panel-dkan-front .panel-triplet .panel-col-second,\n .panel-dkan-front .panel-triplet .panel-col-third,\n .panel-dkan-front .panel-top .panel-col-first,\n .panel-dkan-front .panel-top .panel-col-second,\n .panel-dkan-front .panel-top .panel-col-third,\n .panel-dkan-front .panel-bottom .panel-col-first,\n .panel-dkan-front .panel-bottom .panel-col-second,\n .panel-dkan-front .panel-bottom .panel-col-third,\n .panel-full-width .panel-hero .panel-col-first,\n .panel-full-width .panel-hero .panel-col-second,\n .panel-full-width .panel-hero .panel-col-third,\n .panel-full-width .panel-triplet .panel-col-first,\n .panel-full-width .panel-triplet .panel-col-second,\n .panel-full-width .panel-triplet .panel-col-third,\n .panel-full-width .panel-top .panel-col-first,\n .panel-full-width .panel-top .panel-col-second,\n .panel-full-width .panel-top .panel-col-third,\n .panel-full-width .panel-bottom .panel-col-first,\n .panel-full-width .panel-bottom .panel-col-second,\n .panel-full-width .panel-bottom .panel-col-third {\n float: none;\n width: 100%; } }\n\n.field-name-field-basic-image-image img.panopoly-image-full {\n max-width: 100%;\n width: initial !important;\n height: auto;\n margin: 1em auto .5em;\n display: block; }\n\n.recline-pager .pagination li {\n vertical-align: middle; }\n .recline-pager .pagination li a {\n line-height: 1em;\n padding: 0 10px; }\n .recline-pager .pagination li a.btn, .recline-pager .pagination li .media-widget > a {\n line-height: 32px; }\n\n.recline-pager .pagination input {\n height: 20px;\n font-size: .8em; }\n\n#recline-embeded .data-explorer-help {\n display: none; }\n\n.data-explorer-help {\n background: #eee;\n margin: 1em 0;\n border-radius: 4px;\n padding: 8px 15px; }\n\n.recline-data-explorer .form-control {\n border-color: #ccc; }\n\n.recline-data-explorer .btn, .recline-data-explorer .media-widget > a {\n border: 1px solid #ccc;\n font-size: 14px;\n padding: 0px 12px;\n line-height: 32px; }\n\n.dropdown-menu.slick-contextmenu {\n background: #fff; }\n .dropdown-menu.slick-contextmenu li {\n padding-left: 5px;\n padding-right: 5px; }\n\n.recline-filter-editor fieldset {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border-color: #ccc;\n padding: 8px;\n margin: 10px 0; }\n\n.recline-filter-editor input {\n width: auto; }\n\n#recline-embeded .recline-data-explorer .header,\n#recline-embeded .recline-data-explorer .data-view-sidebar {\n display: none !important; }\n\n@media all and (max-width: 991px) {\n .recline-query-editor {\n border: none;\n margin: .5em 0;\n padding: 0; } }\n\n@media all and (max-width: 767px) {\n .recline-data-explorer .query-editor-here {\n clear: both;\n display: block; }\n .recline-data-explorer .query-editor-here .recline-query-editor,\n .recline-data-explorer .query-editor-here .form-group {\n float: none;\n display: inline-block; }\n .recline-data-explorer .query-editor-here button.btn {\n float: none;\n display: inline-block;\n max-width: 50px; }\n .recline-data-explorer .data-view-sidebar {\n float: none;\n margin-left: 0;\n width: auto; } }\n\n@media all and (max-width: 660px) {\n .recline-pager {\n float: none;\n display: block;\n margin-left: 0;\n clear: both; }\n .recline-data-explorer .header .menu-right {\n padding-top: 8px; } }\n\n@media all and (max-width: 767px) {\n aside[class|='col'],\n section[class|='col'] {\n padding: 0; }\n .container {\n width: 100%; } }\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .views-widget-filter-search_api_views_fulltext {\n max-width: 320px; }\n\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n position: relative; }\n #dkan-sitewide-dataset-search-form form,\n #dkan-sitewide-dataset-search-form--2 form {\n display: block;\n margin: 8px 0;\n position: relative;\n width: 100%; }\n #dkan-sitewide-dataset-search-form input.form-text,\n #dkan-sitewide-dataset-search-form--2 input.form-text {\n padding-right: 30px; }\n #dkan-sitewide-dataset-search-form button[type=\"submit\"],\n #dkan-sitewide-dataset-search-form input[type=\"submit\"],\n #dkan-sitewide-dataset-search-form--2 button[type=\"submit\"],\n #dkan-sitewide-dataset-search-form--2 input[type=\"submit\"] {\n background: none !important;\n border: none;\n content: \"\\f002\";\n color: #555555;\n display: inline-block;\n font-size: 1.3em;\n font-family: \"FontAwesome\";\n margin: 0;\n padding: 0;\n position: absolute;\n right: 10px;\n width: 25px;\n top: 2px; }\n\n#block-dkan-sitewide-dkan-sitewide-search-bar {\n clear: both; }\n @media all and (min-width: 768px) {\n #block-dkan-sitewide-dkan-sitewide-search-bar {\n position: absolute;\n top: 10px;\n right: 15px;\n width: 172px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar form {\n width: 172px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar input.form-control {\n width: 170px;\n height: 36px;\n margin: 0; } }\n #block-dkan-sitewide-dkan-sitewide-search-bar form {\n display: block;\n margin: 8px 0;\n position: relative;\n width: 100%; }\n #block-dkan-sitewide-dkan-sitewide-search-bar input.form-text {\n padding-right: 30px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar button[type=\"submit\"],\n #block-dkan-sitewide-dkan-sitewide-search-bar input[type=\"submit\"] {\n background: none !important;\n border: none;\n content: \"\\f002\";\n color: #555555;\n display: inline-block;\n font-size: 1.3em;\n font-family: \"FontAwesome\";\n margin: 0;\n padding: 0;\n position: absolute;\n right: 10px;\n width: 25px;\n top: 2px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar .views-exposed-form .form-submit {\n margin: 22px 0 0;\n text-shadow: none; }\n\n.facetapi-terms span[class*=font-icon-select]:before,\n.icon-dkan.facet-icon:before {\n font-family: 'DKAN-Topics';\n font-size: 24px;\n padding-right: .3em;\n vertical-align: middle; }\n\n.node-search-result .icon-dkan.facet-icon:before {\n font-size: 42px;\n margin-top: 0.7em;\n display: block; }\n\n.node-search-result .resource-list li {\n display: inline-block; }\n\n.node-search-result .icon-container {\n text-align: center; }\n\n.search-result ul.resource-list {\n margin-top: 0.9em; }\n .search-result ul.resource-list li {\n display: inline-block; }\n .search-result ul.resource-list li a, .search-result ul.resource-list li:first-child {\n margin-left: 0px; }\n\n.search-result .dataset-list {\n list-style: none;\n margin: 0;\n padding: 0; }\n .search-result .dataset-list li {\n list-style: none;\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em; }\n .search-result .dataset-list li:before {\n content: \"\\e97e\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em; }\n\n.search-result .group-membership {\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em; }\n .search-result .group-membership:before {\n content: \"\\e981\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em; }\n\n.search-result.search-result-group .group-membership {\n display: none; }\n\n.search-result p {\n margin-bottom: 0px; }\n\n.node-search-result h2.node-title {\n margin: 1.5em 0 .5em 0; }\n\nbody {\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 16px;\n line-height: 1.35em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\nbody.modal-open {\n overflow: visible !important; }\n\n.branding {\n position: relative; }\n .branding .logo {\n margin: 20px 20px 15px 0; }\n\n@media (max-width: 768px) {\n .logo img {\n max-width: 100%; } }\n\n.site-name {\n display: block;\n font-size: 2em;\n line-height: 1.15em;\n margin: 50px 20px 0 0; }\n @media (max-width: 460px) {\n .site-name {\n clear: left;\n float: none;\n margin: 10px 20px 5px 0; } }\n .site-name:hover {\n text-decoration: none; }\n\n.site-slogan {\n margin-bottom: 20px; }\n\nh1 {\n font-size: 36px;\n line-height: 42px;\n margin-bottom: 15px; }\n\nh1, h2, h3, h4 {\n color: #333333;\n font-weight: 300; }\n\nh3.media-heading {\n margin: .5em 0; }\n\nh4 {\n margin-top: 2em;\n margin-bottom: .5em; }\n\na {\n color: #0A77BD; }\n a:hover {\n color: #002245; }\n\np,\np:last-child {\n margin: 0 0 1.25em 0; }\n\n.breadcrumb {\n background: none;\n border: none;\n font-size: 1em;\n list-style: none;\n padding: 0;\n position: relative; }\n .breadcrumb li {\n float: none; }\n .breadcrumb li a span {\n display: none; }\n .breadcrumb li.home-link a {\n font-size: 1.3em; }\n .breadcrumb li.home-link a i {\n display: block; }\n\n.alert {\n border: none;\n padding: 15px 35px;\n position: relative; }\n .alert .close {\n line-height: 18px;\n position: absolute;\n right: 10px;\n top: 5px; }\n .alert.alert-warning {\n background: #FFE285; }\n .alert.alert-completed {\n background: #dff0d8;\n color: #3c763d; }\n .alert:before {\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n position: absolute;\n top: 15px;\n left: 10px; }\n .alert.alert-danger:before {\n content: '\\f06a';\n color: #d9534f; }\n .alert.alert-warning:before {\n content: '\\f05a';\n color: #8a6d3b; }\n .alert.alert-completed:before, .alert.alert-success:before {\n content: '\\f058';\n color: #5cb85c; }\n\n.page-admin .alert {\n margin: 10px 0; }\n\ntable,\ntable.group_additional {\n border-collapse: collapse;\n margin: 1em 0;\n width: 100%; }\n table thead > tr > th,\n table.group_additional thead > tr > th {\n background-color: #e7e7e7;\n border: 1px solid #ddd !important;\n padding: 4px 8px;\n font-weight: bold; }\n table tbody th,\n table td,\n table.group_additional tbody th,\n table.group_additional td {\n border: 1px solid #ddd;\n padding: 4px 8px;\n vertical-align: top; }\n table tr:hover,\n table.group_additional tr:hover {\n background: #FFFEEE; }\n\n.table-responsive {\n overflow: visible; }\n\n@media screen and (max-width: 1024px) {\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: normal; } }\n\n.field-name-field-additional-info .field-label {\n margin-bottom: 1em;\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.group_additional,\n.field-name-field-additional-info table,\n.field-name-field-additional-info .table-responsive {\n margin: 0; }\n .group_additional td,\n .group_additional th,\n .field-name-field-additional-info table td,\n .field-name-field-additional-info table th,\n .field-name-field-additional-info .table-responsive td,\n .field-name-field-additional-info .table-responsive th {\n white-space: normal;\n width: auto; }\n .group_additional td:nth-of-type(2n),\n .field-name-field-additional-info table td:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive td:nth-of-type(2n) {\n white-space: pre;\n /* CSS 2.0 */\n white-space: pre-wrap;\n /* CSS 2.1 */\n white-space: pre-line;\n /* CSS 3.0 */\n white-space: -pre-wrap;\n /* Opera 4-6 */\n white-space: -o-pre-wrap;\n /* Opera 7 */\n white-space: -moz-pre-wrap;\n /* Mozilla */\n white-space: -hp-pre-wrap;\n /* HP Printers */\n word-wrap: break-word;\n /* IE 5+ */\n word-break: break-word; }\n @media all and (min-width: 768px) {\n .group_additional .form-item th:nth-of-type(1n),\n .group_additional .form-item td:nth-of-type(1n),\n .group_additional .form-item th:nth-of-type(4n),\n .group_additional .form-item td:nth-of-type(4n),\n .field-name-field-additional-info table .form-item th:nth-of-type(1n),\n .field-name-field-additional-info table .form-item td:nth-of-type(1n),\n .field-name-field-additional-info table .form-item th:nth-of-type(4n),\n .field-name-field-additional-info table .form-item td:nth-of-type(4n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(1n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(1n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(4n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(4n) {\n width: 5%;\n border-right: 1px solid #ddd; }\n .group_additional .form-item th:nth-of-type(2n),\n .group_additional .form-item td:nth-of-type(2n),\n .field-name-field-additional-info table .form-item th:nth-of-type(2n),\n .field-name-field-additional-info table .form-item td:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(2n) {\n width: 90%; }\n .group_additional .form-item th:nth-of-type(2n) .form-control,\n .group_additional .form-item td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table .form-item th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table .form-item td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(2n) .form-control {\n min-width: 40%; } }\n\ntable.group_additional,\n.field-name-field-additional-info table {\n margin-top: 0; }\n table.group_additional th,\n table.group_additional td,\n table.group_additional th:nth-of-type(1n),\n table.group_additional td:nth-of-type(1n),\n table.group_additional th:nth-of-type(2n),\n table.group_additional td:nth-of-type(2n),\n .field-name-field-additional-info table th,\n .field-name-field-additional-info table td,\n .field-name-field-additional-info table th:nth-of-type(1n),\n .field-name-field-additional-info table td:nth-of-type(1n),\n .field-name-field-additional-info table th:nth-of-type(2n),\n .field-name-field-additional-info table td:nth-of-type(2n) {\n width: auto; }\n table.group_additional th .form-control,\n table.group_additional td .form-control,\n table.group_additional th:nth-of-type(1n) .form-control,\n table.group_additional td:nth-of-type(1n) .form-control,\n table.group_additional th:nth-of-type(2n) .form-control,\n table.group_additional td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table th .form-control,\n .field-name-field-additional-info table td .form-control,\n .field-name-field-additional-info table th:nth-of-type(1n) .form-control,\n .field-name-field-additional-info table td:nth-of-type(1n) .form-control,\n .field-name-field-additional-info table th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table td:nth-of-type(2n) .form-control {\n display: inline-block;\n width: auto;\n vertical-align: top; }\n\n.table > thead:first-child > tr:first-child > th,\ntable thead:first-child tr:first-child th {\n border: 1px solid #ddd; }\n\n.table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\ntable thead > tr > th {\n background-color: #e7e7e7;\n border: 1px solid #ddd;\n padding: 4px 8px; }\n\n.table-striped > tbody > tr:nth-child(odd) {\n background-color: #f9f9f9; }\n\n.table tbody tr:hover td,\n.table tbody tr:hover th,\n.table-striped > tbody > tr:nth-child(odd):hover {\n background-color: #FFFEEE; }\n\ndl {\n margin: 0;\n padding: 0;\n clear: both;\n overflow: hidden; }\n\ndt {\n clear: both;\n margin: 0;\n padding: 8px 5px;\n float: left;\n width: 28%; }\n\ndd {\n margin: 0;\n padding: 8px 5px;\n float: right;\n width: 72%; }\n\ndt,\ndd {\n border-top: 1px solid #ddd; }\n\n.item-list .pagination li:first-child > span,\n.item-list .pagination li:first-child > a {\n -webkit-border-radius: 4px 0 0 4px;\n -moz-border-radius: 4px 0 0 4px;\n -ms-border-radius: 4px 0 0 4px;\n -o-border-radius: 4px 0 0 4px;\n border-radius: 4px 0 0 4px; }\n\n.item-list .pagination li:last-child > span,\n.item-list .pagination li:last-child > a {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0; }\n\n.radix-layouts-sidebar .item-list ul,\n.nav-simple {\n margin: 0;\n list-style: none;\n padding: 0; }\n .radix-layouts-sidebar .item-list ul li,\n .nav-simple li {\n margin: 0;\n line-height: 1.1666666666666667em;\n padding: 0;\n border-bottom: 1px dotted #CCC;\n position: relative; }\n .radix-layouts-sidebar .item-list ul li a,\n .nav-simple li a {\n display: block;\n margin: 0; }\n .radix-layouts-sidebar .item-list ul li a:hover,\n .nav-simple li a:hover {\n background: #FFFEEE; }\n .radix-layouts-sidebar .item-list ul li.last,\n .nav-simple li.last {\n border-bottom: none; }\n\nimg {\n max-width: 100%;\n height: auto; }\n\n.thumbnail {\n padding: 0;\n margin: 0;\n background-color: transparent;\n border: none;\n border-radius: 0; }\n\n.field-name-field-tags .field-item {\n display: inline-block; }\n\n.field-name-field-tags label {\n display: block; }\n\n.field-name-field-tags input.form-control {\n height: auto; }\n\n.field-name-field-tags .field-item a {\n display: inline-block;\n padding: 2px 10px 2px;\n font-size: 12px;\n line-height: 20px;\n -webkit-border-radius: 0 5px 5px 0;\n -moz-border-radius: 0 5px 5px 0;\n -ms-border-radius: 0 5px 5px 0;\n -o-border-radius: 0 5px 5px 0;\n border-radius: 0 5px 5px 0;\n background-color: #F3F3F3;\n margin: 3px 5px 3px 20px;\n position: relative;\n color: #333333;\n border: 1px solid #ddd;\n border-left: 0;\n z-index: 2; }\n .field-name-field-tags .field-item a:after {\n content: \"\";\n width: 20px;\n height: 20px;\n background-color: #F3F3F3;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n -ms-border-radius: 2px;\n -o-border-radius: 2px;\n border-radius: 2px;\n position: absolute;\n top: 2px;\n left: -9px;\n z-index: -1;\n border: 1px solid #ddd;\n border-top: none;\n border-right: none; }\n .field-name-field-tags .field-item a:before {\n content: \"\";\n width: 2px;\n height: 2px;\n background: #777777;\n position: absolute;\n top: 11px;\n left: -5px;\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.field-name-field-tags .field-item a:hover,\n.field-name-field-tags .field-item a:hover:after {\n background: #fff;\n color: #000;\n text-decoration: none; }\n\n.field-name-field-topic .field-item {\n margin: 0 1.5em .5em 0; }\n .field-name-field-topic .field-item .field-item {\n margin: 0; }\n\n.field-name-field-topic-icon span::before,\n.view-dkan-datasets .field-name-field-topic-icon span::before {\n font-size: 18px; }\n\n.font_icon_select_options .label {\n color: #333; }\n\n.field-group-htabs-wrapper {\n border: 1px solid #CDCDCD;\n border-radius: 4px; }\n .field-group-htabs-wrapper fieldset.field-group-htab {\n margin-bottom: 0; }\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li.first,\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li.first a:hover {\n border-radius: 4px 0 0 0; }\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li a:hover {\n background-color: #fffece; }\n\n.node-resource-form .field-group-htabs-wrapper {\n border: none; }\n\n.front .view-popular-tags {\n margin-top: 20px; }\n\n.view-popular-tags {\n margin: 15px 0; }\n .view-popular-tags ul.tag-list {\n margin: 0;\n padding: 0; }\n .view-popular-tags ul.tag-list li {\n display: inline-block;\n margin-right: 2em; }\n .view-popular-tags ul.tag-list li a {\n color: #fff; }\n\n.view-content h2 {\n font-size: 1.5em;\n margin: 1em 0 0.5em; }\n\n.view-groups-search .views-row {\n border-bottom: 1px dotted #ccc;\n padding: 1em 0; }\n\n.view-front-page-group-list .views-row {\n position: relative;\n padding-left: 120px;\n min-height: 110px; }\n .view-front-page-group-list .views-row img {\n position: absolute;\n top: 0;\n left: 0; }\n\n.view-user-profile-fields img {\n height: auto;\n margin: 0 auto;\n max-width: 190px;\n width: 100%; }\n\n.view-front-page-group-grid .row span {\n display: block;\n margin: 15px 0; }\n .view-front-page-group-grid .row span .media-content {\n padding: 0 10px 10px 120px; }\n .view-front-page-group-grid .row span .media-image {\n float: left;\n margin: 0;\n padding: 0; }\n .view-front-page-group-grid .row span .media-image img {\n margin: 5px 10px 5px 0; }\n .view-front-page-group-grid .row span h3.media-heading {\n font-size: 1.3em;\n margin: .5em 0;\n padding: 0; }\n\n@media (min-width: 768px) {\n .view-front-page-group-grid .span6,\n .view-front-page-group-grid .col-lg-6 {\n float: left;\n margin: 0;\n width: 50%; } }\n\n.view-dkan-groups .node-teaser {\n min-height: 365px;\n margin-bottom: 20px; }\n .view-dkan-groups .node-teaser h2.node-title {\n margin: .75em 0; }\n .view-dkan-groups .node-teaser .btn-primary, .view-dkan-groups .node-teaser body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .view-dkan-groups .node-teaser .btn:first-child, .view-dkan-groups .node-teaser body.maintenance-page .form-actions .media-widget > a:first-child, body.maintenance-page .form-actions .view-dkan-groups .node-teaser .media-widget > a:first-child {\n margin: 0 auto 1.5em; }\n .view-dkan-groups .node-teaser .field-name-field-image {\n text-align: center; }\n\n.view-groups-page .views-column {\n float: left;\n margin: 0;\n width: 50%; }\n\n.view-group-block .views-field-title {\n font-size: 1.2em; }\n\n.view-group-block .views-field-nid a {\n background: #0A77BD;\n color: #fff;\n display: block;\n margin: 1em 0 0 0;\n padding: 5px 8px;\n text-align: center; }\n\n.view-group-block .views-field-field-image {\n text-align: center; }\n\n.view-dataset form {\n margin: 0;\n position: relative; }\n\n.view-dataset .views-row {\n margin: 1.5em 0; }\n\n.views-exposed-form {\n position: relative; }\n .views-exposed-form .views-exposed-widget {\n display: inline;\n padding: .5em .5em 0 0; }\n .views-exposed-form .views-exposed-widget .views-widget-filter-search_api_views_fulltext,\n .views-exposed-form .views-exposed-widget .views-widget-sort-by,\n .views-exposed-form .views-exposed-widget .views-widget-sort-order,\n .views-exposed-form .views-exposed-widget .views-submit-button,\n .views-exposed-form .views-exposed-widget .form-submit {\n display: inline;\n float: none;\n margin: 0;\n position: relative; }\n .views-exposed-form .views-exposed-widget.views-reset-button, .views-exposed-form .views-exposed-widget.views-submit-button {\n margin: 0;\n padding: 2.1em .5em 0 0; }\n .views-exposed-form .description {\n text-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n position: absolute;\n color: #999999;\n font-size: 12px;\n left: 7px;\n top: 10px; }\n\n.view-dkan-groups-featured .row,\n.pane-dkan-groups-featured .row {\n text-align: center; }\n .view-dkan-groups-featured .row div[class*='views-column'],\n .pane-dkan-groups-featured .row div[class*='views-column'] {\n margin-bottom: 1.25em; }\n\n.view-admin-content table {\n margin-top: 0; }\n\n.view-blog .views-row ul.links.inline {\n margin: -.5em 0 1.75em; }\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .description {\n display: none; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-uid .help-block,\n#views-exposed-form-dkan-administration-nodes-system-1 .form-item-author .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-uid .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .form-item-author .help-block {\n font-size: .85em;\n margin-top: 0; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-uid input,\n#views-exposed-form-dkan-administration-nodes-system-1 .form-item-author input,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-uid input,\n#views-exposed-form-dkan-administration-files-system-1 .form-item-author input {\n width: auto; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter #edit-date-filter-min-wrapper,\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter #edit-date-filter-max-wrapper,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter #edit-date-filter-min-wrapper,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter #edit-date-filter-max-wrapper {\n display: inline-block; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter input,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter input {\n width: 100px;\n margin-right: 0; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter .help-block {\n display: none; }\n","/*\n * A partial implementation of the Ruby list functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb\n */\n\n\n// compact is part of libsass\n\n@function -compass-nth($list, $place) {\n // Yep, Sass-lists are 1-indexed.\n @if $place == \"first\" {\n $place: 1;\n }\n @if $place == \"last\" {\n $place: length($list);\n }\n @return nth($list, $place);\n}\n\n// compass_list and compass_space_list can't be implemented in sass script\n\n@function -compass-list-size($list) {\n @return length($list);\n}\n\n@function -compass-slice($list, $start, $end: false) {\n @if $end == false {\n $end: length($list);\n }\n $full: nth($list, $start);\n @for $i from $start + 1 through $end {\n $full: $full, nth($list, $i);\n }\n @return $full;\n}\n\n@function reject($list, $reject1, $reject2:null, $reject3:null, $reject4:null, $reject5:null, $reject6:null, $reject7:null, $reject8:null, $reject9:null) {\n $rejects: $reject1, $reject2, $reject3, $reject4, $reject5, $reject6, $reject7, $reject8, $reject9;\n\n $full: false;\n @each $item in $list {\n @if index($rejects, $item) {}\n @else {\n @if $full {\n $full: $full, $item;\n }\n @else {\n $full: $item;\n }\n }\n }\n @return $full;\n}\n","/*\n * A partial implementation of the Ruby constants functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb\n */\n\n@function opposite-position($from) {\n @if ($from == top) {\n @return bottom;\n } @else if ($from == bottom) {\n @return top;\n } @else if ($from == left) {\n @return right;\n } @else if ($from == right) {\n @return left;\n } @else if ($from == center) {\n @return center;\n }\n}\n","/*\n * A partial implementation of the Ruby display functions from Compass:\n * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb\n */\n\n@function elements-of-type($type){\n @if ($type == block){\n @return address, article, aside, blockquote, center, dir, div, dd, details, dl, dt, fieldset, figcaption, figure, form, footer, frameset, h1, h2, h3, h4, h5, h6, hr, header, hgroup, isindex, main, menu, nav, noframes, noscript, ol, p, pre, section, summary, ul;\n } @else if ($type == inline){\n @return a, abbr, acronym, audio, b, basefont, bdo, big, br, canvas, cite, code, command, datalist, dfn, em, embed, font, i, img, input, keygen, kbd, label, mark, meter, output, progress, q, rp, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, textarea, time, tt, u, var, video, wbr;\n } @else if ($type == inline-block){\n @return img;\n } @else if ($type == table){\n @return table;\n } @else if ($type == list-item){\n @return li;\n } @else if ($type == table-row-group){\n @return tbody;\n } @else if ($type == table-header-group){\n @return thead;\n } @else if ($type == table-footer-group){\n @return tfoot;\n } @else if ($type == table-row){\n @return tr;\n } @else if ($type == table-cell){\n @return th, td;\n } @else if ($type == html5-block){\n @return article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary;\n } @else if ($type == html5-inline){\n @return audio, canvas, command, datalist, embed, keygen, mark, meter, output, progress, rp, rt, ruby, time, video, wbr;\n } @else if ($type == html5){\n @return article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, main, mark, menu, meter, nav, output, progress, rp, rt, ruby, section, summary, time, video, wbr;\n } @else if ($type == text-input){\n @return input, textarea;\n }\n}\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n @include box-sizing(border-box);\n}\n*:before,\n*:after {\n @include box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: $font-family-base;\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $text-color;\n background-color: $body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n @include tab-focus;\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n @include img-responsive;\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: $border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: $thumbnail-padding;\n line-height: $line-height-base;\n background-color: $thumbnail-bg;\n border: 1px solid $thumbnail-border;\n border-radius: $thumbnail-border-radius;\n @include transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n @include img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: $line-height-computed;\n margin-bottom: $line-height-computed;\n border: 0;\n border-top: 1px solid $hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","@import \"../support\";\n\n// This mixin provides basic support for CSS3 properties and\n// their corresponding experimental CSS2 properties when\n// the implementations are identical except for the property\n// prefix.\n@mixin experimental($property, $value,\n $moz : $experimental-support-for-mozilla,\n $webkit : $experimental-support-for-webkit,\n $o : $experimental-support-for-opera,\n $ms : $experimental-support-for-microsoft,\n $khtml : $experimental-support-for-khtml,\n $official : true\n) {\n @if $webkit and $experimental-support-for-webkit { -webkit-#{$property} : $value; }\n @if $khtml and $experimental-support-for-khtml { -khtml-#{$property} : $value; }\n @if $moz and $experimental-support-for-mozilla { -moz-#{$property} : $value; }\n @if $ms and $experimental-support-for-microsoft { -ms-#{$property} : $value; }\n @if $o and $experimental-support-for-opera { -o-#{$property} : $value; }\n @if $official { #{$property} : $value; }\n}\n\n// Same as experimental(), but for cases when the property is the same and the value is vendorized\n@mixin experimental-value($property, $value,\n $moz : $experimental-support-for-mozilla,\n $webkit : $experimental-support-for-webkit,\n $o : $experimental-support-for-opera,\n $ms : $experimental-support-for-microsoft,\n $khtml : $experimental-support-for-khtml,\n $official : true\n) {\n @if $webkit and $experimental-support-for-webkit { #{$property} : -webkit-#{$value}; }\n @if $khtml and $experimental-support-for-khtml { #{$property} : -khtml-#{$value}; }\n @if $moz and $experimental-support-for-mozilla { #{$property} : -moz-#{$value}; }\n @if $ms and $experimental-support-for-microsoft { #{$property} : -ms-#{$value}; }\n @if $o and $experimental-support-for-opera { #{$property} : -o-#{$value}; }\n @if $official { #{$property} : #{$value}; }\n}\n","@import \"shared\";\n\n// Change the box model for Mozilla, Webkit, IE8 and the future\n//\n// @param $bs\n// [ content-box | border-box ]\n\n@mixin box-sizing($bs) {\n $bs: unquote($bs);\n @include experimental(box-sizing, $bs,\n -moz, -webkit, not(-o), not(-ms), not(-khtml), official\n );\n}\n","$bootstrap-sass-asset-helper: false !default;\n//\n// Variables\n// --------------------------------------------------\n\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n$gray-base: #000 !default;\n$gray-darker: lighten($gray-base, 13.5%) !default; // #222\n$gray-dark: lighten($gray-base, 20%) !default; // #333\n$gray: lighten($gray-base, 33.5%) !default; // #555\n$gray-light: lighten($gray-base, 46.7%) !default; // #777\n$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee\n\n$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7\n$brand-success: #5cb85c !default;\n$brand-info: #5bc0de !default;\n$brand-warning: #f0ad4e !default;\n$brand-danger: #d9534f !default;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n//** Background color for `<body>`.\n$body-bg: #fff !default;\n//** Global text color on `<body>`.\n$text-color: $gray-dark !default;\n\n//** Global textual link color.\n$link-color: $brand-primary !default;\n//** Link hover color set via `darken()` function.\n$link-hover-color: darken($link-color, 15%) !default;\n//** Link hover decoration.\n$link-hover-decoration: underline !default;\n\n\n//== Typography\n//\n//## Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.\n$font-family-monospace: Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n\n$font-size-base: 14px !default;\n$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px\n\n$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px\n$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px\n$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px\n$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-h5: $font-size-base !default;\n$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px\n\n//** Unit-less `line-height` for use in components like buttons.\n$line-height-base: 1.428571429 !default; // 20/14\n//** Computed \"line-height\" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.\n$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px\n\n//** By default, this inherits from the `<body>`.\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n\n//== Iconography\n//\n//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.\n\n//** Load fonts from this directory.\n\n// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.\n// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.\n$icon-font-path: if($bootstrap-sass-asset-helper, \"bootstrap/\", \"../fonts/bootstrap/\") !default;\n\n//** File name for all font files.\n$icon-font-name: \"glyphicons-halflings-regular\" !default;\n//** Element ID within SVG icon file.\n$icon-font-svg-id: \"glyphicons_halflingsregular\" !default;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).\n\n$padding-base-vertical: 6px !default;\n$padding-base-horizontal: 12px !default;\n\n$padding-large-vertical: 10px !default;\n$padding-large-horizontal: 16px !default;\n\n$padding-small-vertical: 5px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 1px !default;\n$padding-xs-horizontal: 5px !default;\n\n$line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5 !default;\n\n$border-radius-base: 4px !default;\n$border-radius-large: 6px !default;\n$border-radius-small: 3px !default;\n\n//** Global color for active items (e.g., navs or dropdowns).\n$component-active-color: #fff !default;\n//** Global background color for active items (e.g., navs or dropdowns).\n$component-active-bg: $brand-primary !default;\n\n//** Width of the `border` for generating carets that indicate dropdowns.\n$caret-width-base: 4px !default;\n//** Carets increase slightly in size for larger components.\n$caret-width-large: 5px !default;\n\n\n//== Tables\n//\n//## Customizes the `.table` component with basic values, each used across all table variations.\n\n//** Padding for `<th>`s and `<td>`s.\n$table-cell-padding: 8px !default;\n//** Padding for cells in `.table-condensed`.\n$table-condensed-cell-padding: 5px !default;\n\n//** Default background color used for all tables.\n$table-bg: transparent !default;\n//** Background color used for `.table-striped`.\n$table-bg-accent: #f9f9f9 !default;\n//** Background color used for `.table-hover`.\n$table-bg-hover: #f5f5f5 !default;\n$table-bg-active: $table-bg-hover !default;\n\n//** Border color for table and cell borders.\n$table-border-color: #ddd !default;\n\n\n//== Buttons\n//\n//## For each of Bootstrap's buttons, define text, background and border color.\n\n$btn-font-weight: normal !default;\n\n$btn-default-color: #333 !default;\n$btn-default-bg: #fff !default;\n$btn-default-border: #ccc !default;\n\n$btn-primary-color: #fff !default;\n$btn-primary-bg: $brand-primary !default;\n$btn-primary-border: darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color: #fff !default;\n$btn-success-bg: $brand-success !default;\n$btn-success-border: darken($btn-success-bg, 5%) !default;\n\n$btn-info-color: #fff !default;\n$btn-info-bg: $brand-info !default;\n$btn-info-border: darken($btn-info-bg, 5%) !default;\n\n$btn-warning-color: #fff !default;\n$btn-warning-bg: $brand-warning !default;\n$btn-warning-border: darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color: #fff !default;\n$btn-danger-bg: $brand-danger !default;\n$btn-danger-border: darken($btn-danger-bg, 5%) !default;\n\n$btn-link-disabled-color: $gray-light !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius-base: $border-radius-base !default;\n$btn-border-radius-large: $border-radius-large !default;\n$btn-border-radius-small: $border-radius-small !default;\n\n\n//== Forms\n//\n//##\n\n//** `<input>` background color\n$input-bg: #fff !default;\n//** `<input disabled>` background color\n$input-bg-disabled: $gray-lighter !default;\n\n//** Text color for `<input>`s\n$input-color: $gray !default;\n//** `<input>` border color\n$input-border: #ccc !default;\n\n// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4\n//** Default `.form-control` border radius\n// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.\n$input-border-radius: $border-radius-base !default;\n//** Large `.form-control` border radius\n$input-border-radius-large: $border-radius-large !default;\n//** Small `.form-control` border radius\n$input-border-radius-small: $border-radius-small !default;\n\n//** Border color for inputs on focus\n$input-border-focus: #66afe9 !default;\n\n//** Placeholder text color\n$input-color-placeholder: #999 !default;\n\n//** Default `.form-control` height\n$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n//** Large `.form-control` height\n$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n//** Small `.form-control` height\n$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n//** `.form-group` margin\n$form-group-margin-bottom: 15px !default;\n\n$legend-color: $gray-dark !default;\n$legend-border-color: #e5e5e5 !default;\n\n//** Background color for textual input addons\n$input-group-addon-bg: $gray-lighter !default;\n//** Border color for textual input addons\n$input-group-addon-border-color: $input-border !default;\n\n//** Disabled cursor for form controls and buttons.\n$cursor-disabled: not-allowed !default;\n\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n//** Background for the dropdown menu.\n$dropdown-bg: #fff !default;\n//** Dropdown menu `border-color`.\n$dropdown-border: rgba(0,0,0,.15) !default;\n//** Dropdown menu `border-color` **for IE8**.\n$dropdown-fallback-border: #ccc !default;\n//** Divider color for between dropdown items.\n$dropdown-divider-bg: #e5e5e5 !default;\n\n//** Dropdown link text color.\n$dropdown-link-color: $gray-dark !default;\n//** Hover color for dropdown links.\n$dropdown-link-hover-color: darken($gray-dark, 5%) !default;\n//** Hover background for dropdown links.\n$dropdown-link-hover-bg: #f5f5f5 !default;\n\n//** Active dropdown menu item text color.\n$dropdown-link-active-color: $component-active-color !default;\n//** Active dropdown menu item background color.\n$dropdown-link-active-bg: $component-active-bg !default;\n\n//** Disabled dropdown menu item background color.\n$dropdown-link-disabled-color: $gray-light !default;\n\n//** Text color for headers within dropdown menus.\n$dropdown-header-color: $gray-light !default;\n\n//** Deprecated `$dropdown-caret-color` as of v3.1.0\n$dropdown-caret-color: #000 !default;\n\n\n//-- Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n//\n// Note: These variables are not generated into the Customizer.\n\n$zindex-navbar: 1000 !default;\n$zindex-dropdown: 1000 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n$zindex-navbar-fixed: 1030 !default;\n$zindex-modal-background: 1040 !default;\n$zindex-modal: 1050 !default;\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n//** Deprecated `$screen-xs` as of v3.0.1\n$screen-xs: 480px !default;\n//** Deprecated `$screen-xs-min` as of v3.2.0\n$screen-xs-min: $screen-xs !default;\n//** Deprecated `$screen-phone` as of v3.0.1\n$screen-phone: $screen-xs-min !default;\n\n// Small screen / tablet\n//** Deprecated `$screen-sm` as of v3.0.1\n$screen-sm: 768px !default;\n$screen-sm-min: $screen-sm !default;\n//** Deprecated `$screen-tablet` as of v3.0.1\n$screen-tablet: $screen-sm-min !default;\n\n// Medium screen / desktop\n//** Deprecated `$screen-md` as of v3.0.1\n$screen-md: 992px !default;\n$screen-md-min: $screen-md !default;\n//** Deprecated `$screen-desktop` as of v3.0.1\n$screen-desktop: $screen-md-min !default;\n\n// Large screen / wide desktop\n//** Deprecated `$screen-lg` as of v3.0.1\n$screen-lg: 1200px !default;\n$screen-lg-min: $screen-lg !default;\n//** Deprecated `$screen-lg-desktop` as of v3.0.1\n$screen-lg-desktop: $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max: ($screen-sm-min - 1) !default;\n$screen-sm-max: ($screen-md-min - 1) !default;\n$screen-md-max: ($screen-lg-min - 1) !default;\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n$grid-columns: 12 !default;\n//** Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px !default;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: $screen-sm-min !default;\n//** Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n//== Container sizes\n//\n//## Define the maximum width of `.container` for different screen sizes.\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width) !default;\n//** For `$screen-sm-min` and up.\n$container-sm: $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width) !default;\n//** For `$screen-md-min` and up.\n$container-md: $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width) !default;\n//** For `$screen-lg-min` and up.\n$container-lg: $container-large-desktop !default;\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n$navbar-height: 50px !default;\n$navbar-margin-bottom: $line-height-computed !default;\n$navbar-border-radius: $border-radius-base !default;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;\n$navbar-collapse-max-height: 340px !default;\n\n$navbar-default-color: #777 !default;\n$navbar-default-bg: #f8f8f8 !default;\n$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color: #777 !default;\n$navbar-default-link-hover-color: #333 !default;\n$navbar-default-link-hover-bg: transparent !default;\n$navbar-default-link-active-color: #555 !default;\n$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color: #ccc !default;\n$navbar-default-link-disabled-bg: transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color: $navbar-default-link-color !default;\n$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;\n$navbar-default-brand-hover-bg: transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: #ddd !default;\n$navbar-default-toggle-icon-bar-bg: #888 !default;\n$navbar-default-toggle-border-color: #ddd !default;\n\n\n//=== Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-color: lighten($gray-light, 15%) !default;\n$navbar-inverse-bg: #222 !default;\n$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color: lighten($gray-light, 15%) !default;\n$navbar-inverse-link-hover-color: #fff !default;\n$navbar-inverse-link-hover-bg: transparent !default;\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color: #444 !default;\n$navbar-inverse-link-disabled-bg: transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color: #fff !default;\n$navbar-inverse-brand-hover-bg: transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: #333 !default;\n$navbar-inverse-toggle-icon-bar-bg: #fff !default;\n$navbar-inverse-toggle-border-color: #333 !default;\n\n\n//== Navs\n//\n//##\n\n//=== Shared nav styles\n$nav-link-padding: 10px 15px !default;\n$nav-link-hover-bg: $gray-lighter !default;\n\n$nav-disabled-link-color: $gray-light !default;\n$nav-disabled-link-hover-color: $gray-light !default;\n\n//== Tabs\n$nav-tabs-border-color: #ddd !default;\n\n$nav-tabs-link-hover-border-color: $gray-lighter !default;\n\n$nav-tabs-active-link-hover-bg: $body-bg !default;\n$nav-tabs-active-link-hover-color: $gray !default;\n$nav-tabs-active-link-hover-border-color: #ddd !default;\n\n$nav-tabs-justified-link-border-color: #ddd !default;\n$nav-tabs-justified-active-link-border-color: $body-bg !default;\n\n//== Pills\n$nav-pills-border-radius: $border-radius-base !default;\n$nav-pills-active-link-hover-bg: $component-active-bg !default;\n$nav-pills-active-link-hover-color: $component-active-color !default;\n\n\n//== Pagination\n//\n//##\n\n$pagination-color: $link-color !default;\n$pagination-bg: #fff !default;\n$pagination-border: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-lighter !default;\n$pagination-hover-border: #ddd !default;\n\n$pagination-active-color: #fff !default;\n$pagination-active-bg: $brand-primary !default;\n$pagination-active-border: $brand-primary !default;\n\n$pagination-disabled-color: $gray-light !default;\n$pagination-disabled-bg: #fff !default;\n$pagination-disabled-border: #ddd !default;\n\n\n//== Pager\n//\n//##\n\n$pager-bg: $pagination-bg !default;\n$pager-border: $pagination-border !default;\n$pager-border-radius: 15px !default;\n\n$pager-hover-bg: $pagination-hover-bg !default;\n\n$pager-active-bg: $pagination-active-bg !default;\n$pager-active-color: $pagination-active-color !default;\n\n$pager-disabled-color: $pagination-disabled-color !default;\n\n\n//== Jumbotron\n//\n//##\n\n$jumbotron-padding: 30px !default;\n$jumbotron-color: inherit !default;\n$jumbotron-bg: $gray-lighter !default;\n$jumbotron-heading-color: inherit !default;\n$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;\n$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default;\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n$state-success-text: #3c763d !default;\n$state-success-bg: #dff0d8 !default;\n$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text: #31708f !default;\n$state-info-bg: #d9edf7 !default;\n$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text: #8a6d3b !default;\n$state-warning-bg: #fcf8e3 !default;\n$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text: #a94442 !default;\n$state-danger-bg: #f2dede !default;\n$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n$tooltip-max-width: 200px !default;\n//** Tooltip text color\n$tooltip-color: #fff !default;\n//** Tooltip background color\n$tooltip-bg: #000 !default;\n$tooltip-opacity: .9 !default;\n\n//** Tooltip arrow width\n$tooltip-arrow-width: 5px !default;\n//** Tooltip arrow color\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n$popover-bg: #fff !default;\n//** Popover maximum width\n$popover-max-width: 276px !default;\n//** Popover border color\n$popover-border-color: rgba(0,0,0,.2) !default;\n//** Popover fallback border color\n$popover-fallback-border-color: #ccc !default;\n\n//** Popover title background color\n$popover-title-bg: darken($popover-bg, 3%) !default;\n\n//** Popover arrow width\n$popover-arrow-width: 10px !default;\n//** Popover arrow color\n$popover-arrow-color: $popover-bg !default;\n\n//** Popover outer arrow width\n$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;\n//** Popover outer arrow color\n$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;\n//** Popover outer arrow fallback color\n$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;\n\n\n//== Labels\n//\n//##\n\n//** Default label background color\n$label-default-bg: $gray-light !default;\n//** Primary label background color\n$label-primary-bg: $brand-primary !default;\n//** Success label background color\n$label-success-bg: $brand-success !default;\n//** Info label background color\n$label-info-bg: $brand-info !default;\n//** Warning label background color\n$label-warning-bg: $brand-warning !default;\n//** Danger label background color\n$label-danger-bg: $brand-danger !default;\n\n//** Default label text color\n$label-color: #fff !default;\n//** Default text color of a linked label\n$label-link-hover-color: #fff !default;\n\n\n//== Modals\n//\n//##\n\n//** Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n//** Padding applied to the modal title\n$modal-title-padding: 15px !default;\n//** Modal title line-height\n$modal-title-line-height: $line-height-base !default;\n\n//** Background color of modal content area\n$modal-content-bg: #fff !default;\n//** Modal content border color\n$modal-content-border-color: rgba(0,0,0,.2) !default;\n//** Modal content border color **for IE8**\n$modal-content-fallback-border-color: #999 !default;\n\n//** Modal backdrop background color\n$modal-backdrop-bg: #000 !default;\n//** Modal backdrop opacity\n$modal-backdrop-opacity: .5 !default;\n//** Modal header border color\n$modal-header-border-color: #e5e5e5 !default;\n//** Modal footer border color\n$modal-footer-border-color: $modal-header-border-color !default;\n\n$modal-lg: 900px !default;\n$modal-md: 600px !default;\n$modal-sm: 300px !default;\n\n\n//== Alerts\n//\n//## Define alert colors, border radius, and padding.\n\n$alert-padding: 15px !default;\n$alert-border-radius: $border-radius-base !default;\n$alert-link-font-weight: bold !default;\n\n$alert-success-bg: $state-success-bg !default;\n$alert-success-text: $state-success-text !default;\n$alert-success-border: $state-success-border !default;\n\n$alert-info-bg: $state-info-bg !default;\n$alert-info-text: $state-info-text !default;\n$alert-info-border: $state-info-border !default;\n\n$alert-warning-bg: $state-warning-bg !default;\n$alert-warning-text: $state-warning-text !default;\n$alert-warning-border: $state-warning-border !default;\n\n$alert-danger-bg: $state-danger-bg !default;\n$alert-danger-text: $state-danger-text !default;\n$alert-danger-border: $state-danger-border !default;\n\n\n//== Progress bars\n//\n//##\n\n//** Background color of the whole progress component\n$progress-bg: #f5f5f5 !default;\n//** Progress bar text color\n$progress-bar-color: #fff !default;\n//** Variable for setting rounded corners on progress bar.\n$progress-border-radius: $border-radius-base !default;\n\n//** Default progress bar color\n$progress-bar-bg: $brand-primary !default;\n//** Success progress bar color\n$progress-bar-success-bg: $brand-success !default;\n//** Warning progress bar color\n$progress-bar-warning-bg: $brand-warning !default;\n//** Danger progress bar color\n$progress-bar-danger-bg: $brand-danger !default;\n//** Info progress bar color\n$progress-bar-info-bg: $brand-info !default;\n\n\n//== List group\n//\n//##\n\n//** Background color on `.list-group-item`\n$list-group-bg: #fff !default;\n//** `.list-group-item` border color\n$list-group-border: #ddd !default;\n//** List group border radius\n$list-group-border-radius: $border-radius-base !default;\n\n//** Background color of single list items on hover\n$list-group-hover-bg: #f5f5f5 !default;\n//** Text color of active list items\n$list-group-active-color: $component-active-color !default;\n//** Background color of active list items\n$list-group-active-bg: $component-active-bg !default;\n//** Border color of active list elements\n$list-group-active-border: $list-group-active-bg !default;\n//** Text color for content within active list items\n$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;\n\n//** Text color of disabled list items\n$list-group-disabled-color: $gray-light !default;\n//** Background color of disabled list items\n$list-group-disabled-bg: $gray-lighter !default;\n//** Text color for content within disabled list items\n$list-group-disabled-text-color: $list-group-disabled-color !default;\n\n$list-group-link-color: #555 !default;\n$list-group-link-hover-color: $list-group-link-color !default;\n$list-group-link-heading-color: #333 !default;\n\n\n//== Panels\n//\n//##\n\n$panel-bg: #fff !default;\n$panel-body-padding: 15px !default;\n$panel-heading-padding: 10px 15px !default;\n$panel-footer-padding: $panel-heading-padding !default;\n$panel-border-radius: $border-radius-base !default;\n\n//** Border color for elements within panels\n$panel-inner-border: #ddd !default;\n$panel-footer-bg: #f5f5f5 !default;\n\n$panel-default-text: $gray-dark !default;\n$panel-default-border: #ddd !default;\n$panel-default-heading-bg: #f5f5f5 !default;\n\n$panel-primary-text: #fff !default;\n$panel-primary-border: $brand-primary !default;\n$panel-primary-heading-bg: $brand-primary !default;\n\n$panel-success-text: $state-success-text !default;\n$panel-success-border: $state-success-border !default;\n$panel-success-heading-bg: $state-success-bg !default;\n\n$panel-info-text: $state-info-text !default;\n$panel-info-border: $state-info-border !default;\n$panel-info-heading-bg: $state-info-bg !default;\n\n$panel-warning-text: $state-warning-text !default;\n$panel-warning-border: $state-warning-border !default;\n$panel-warning-heading-bg: $state-warning-bg !default;\n\n$panel-danger-text: $state-danger-text !default;\n$panel-danger-border: $state-danger-border !default;\n$panel-danger-heading-bg: $state-danger-bg !default;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n$thumbnail-padding: 4px !default;\n//** Thumbnail background color\n$thumbnail-bg: $body-bg !default;\n//** Thumbnail border color\n$thumbnail-border: #ddd !default;\n//** Thumbnail border radius\n$thumbnail-border-radius: $border-radius-base !default;\n\n//** Custom text color for thumbnail captions\n$thumbnail-caption-color: $text-color !default;\n//** Padding around the thumbnail caption\n$thumbnail-caption-padding: 9px !default;\n\n\n//== Wells\n//\n//##\n\n$well-bg: #f5f5f5 !default;\n$well-border: darken($well-bg, 7%) !default;\n\n\n//== Badges\n//\n//##\n\n$badge-color: #fff !default;\n//** Linked badge text color on hover\n$badge-link-hover-color: #fff !default;\n$badge-bg: $gray-light !default;\n\n//** Badge text color in active nav link\n$badge-active-color: $link-color !default;\n//** Badge background color in active nav link\n$badge-active-bg: #fff !default;\n\n$badge-font-weight: bold !default;\n$badge-line-height: 1 !default;\n$badge-border-radius: 10px !default;\n\n\n//== Breadcrumbs\n//\n//##\n\n$breadcrumb-padding-vertical: 8px !default;\n$breadcrumb-padding-horizontal: 15px !default;\n//** Breadcrumb background color\n$breadcrumb-bg: #f5f5f5 !default;\n//** Breadcrumb text color\n$breadcrumb-color: #ccc !default;\n//** Text color of current page in the breadcrumb\n$breadcrumb-active-color: $gray-light !default;\n//** Textual separator for between breadcrumb elements\n$breadcrumb-separator: \"/\" !default;\n\n\n//== Carousel\n//\n//##\n\n$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color: #fff !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-font-size: 20px !default;\n\n$carousel-indicator-active-bg: #fff !default;\n$carousel-indicator-border-color: #fff !default;\n\n$carousel-caption-color: #fff !default;\n\n\n//== Close\n//\n//##\n\n$close-font-weight: bold !default;\n$close-color: #000 !default;\n$close-text-shadow: 0 1px 0 #fff !default;\n\n\n//== Code\n//\n//##\n\n$code-color: #c7254e !default;\n$code-bg: #f9f2f4 !default;\n\n$kbd-color: #fff !default;\n$kbd-bg: #333 !default;\n\n$pre-bg: #f5f5f5 !default;\n$pre-color: $gray-dark !default;\n$pre-border-color: #ccc !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n//== Type\n//\n//##\n\n//** Horizontal offset for forms and lists.\n$component-offset-horizontal: 180px !default;\n//** Text muted color\n$text-muted: $gray-light !default;\n//** Abbreviations and acronyms border color\n$abbr-border-color: $gray-light !default;\n//** Headings small color\n$headings-small-color: $gray-light !default;\n//** Blockquote small color\n$blockquote-small-color: $gray-light !default;\n//** Blockquote font size\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n//** Blockquote border color\n$blockquote-border-color: $gray-lighter !default;\n//** Page header border color\n$page-header-border-color: $gray-lighter !default;\n//** Width of horizontal description list titles\n$dl-horizontal-offset: $component-offset-horizontal !default;\n//** Point at which .dl-horizontal becomes horizontal\n$dl-horizontal-breakpoint: $grid-float-breakpoint !default;\n//** Horizontal line color.\n$hr-border: $gray-lighter !default;\n","// WebKit-style focus\n\n@mixin tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n@mixin img-responsive($display: block) {\n display: $display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-1x}\"), \"#{$file-1x}\"));\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-2x}\"), \"#{$file-2x}\"));\n background-size: $width-1x $height-1x;\n }\n}\n","@import \"shared\";\n\n// CSS Transitions\n// Currently only works in Webkit.\n//\n// * expected in CSS3, FireFox 3.6/7 and Opera Presto 2.3\n// * We'll be prepared.\n//\n// Including this submodule sets following defaults for the mixins:\n//\n// $default-transition-property : all\n// $default-transition-duration : 1s\n// $default-transition-function : false\n// $default-transition-delay : false\n//\n// Override them if you like. Timing-function and delay are set to false for browser defaults (ease, 0s).\n\n$default-transition-property: all !default;\n\n$default-transition-duration: 1s !default;\n\n$default-transition-function: false !default;\n\n$default-transition-delay: false !default;\n\n$transitionable-prefixed-values: transform, transform-origin !default;\n\n// One or more properties to transition\n//\n// * for multiple, use a comma-delimited list\n// * also accepts \"all\" or \"none\"\n\n@mixin transition-property($property-1: $default-transition-property,\n $property-2 : false,\n $property-3 : false,\n $property-4 : false,\n $property-5 : false,\n $property-6 : false,\n $property-7 : false,\n $property-8 : false,\n $property-9 : false,\n $property-10: false\n) {\n @if type-of($property-1) == string { $property-1: unquote($property-1); }\n $properties: compact($property-1, $property-2, $property-3, $property-4, $property-5, $property-6, $property-7, $property-8, $property-9, $property-10);\n @if $experimental-support-for-webkit { -webkit-transition-property : prefixed-for-transition(-webkit, $properties); }\n @if $experimental-support-for-mozilla { -moz-transition-property : prefixed-for-transition(-moz, $properties); }\n @if $experimental-support-for-opera { -o-transition-property : prefixed-for-transition(-o, $properties); }\n transition-property : $properties;\n}\n\n// One or more durations in seconds\n//\n// * for multiple, use a comma-delimited list\n// * these durations will affect the properties in the same list position\n\n@mixin transition-duration($duration-1: $default-transition-duration,\n $duration-2 : false,\n $duration-3 : false,\n $duration-4 : false,\n $duration-5 : false,\n $duration-6 : false,\n $duration-7 : false,\n $duration-8 : false,\n $duration-9 : false,\n $duration-10: false\n) {\n @if type-of($duration-1) == string { $duration-1: unquote($duration-1); }\n $durations: compact($duration-1, $duration-2, $duration-3, $duration-4, $duration-5, $duration-6, $duration-7, $duration-8, $duration-9, $duration-10);\n @include experimental(transition-duration, $durations,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// One or more timing functions\n//\n// * [ ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(x1, y1, x2, y2)]\n// * For multiple, use a comma-delimited list\n// * These functions will effect the properties in the same list position\n\n@mixin transition-timing-function($function-1: $default-transition-function,\n $function-2 : false,\n $function-3 : false,\n $function-4 : false,\n $function-5 : false,\n $function-6 : false,\n $function-7 : false,\n $function-8 : false,\n $function-9 : false,\n $function-10: false\n) {\n $function-1: unquote($function-1);\n $functions: compact($function-1, $function-2, $function-3, $function-4, $function-5, $function-6, $function-7, $function-8, $function-9, $function-10);\n @include experimental(transition-timing-function, $functions,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// One or more transition-delays in seconds\n//\n// * for multiple, use a comma-delimited list\n// * these delays will effect the properties in the same list position\n\n@mixin transition-delay($delay-1: $default-transition-delay,\n $delay-2 : false,\n $delay-3 : false,\n $delay-4 : false,\n $delay-5 : false,\n $delay-6 : false,\n $delay-7 : false,\n $delay-8 : false,\n $delay-9 : false,\n $delay-10: false\n) {\n @if type-of($delay-1) == string { $delay-1: unquote($delay-1); }\n $delays: compact($delay-1, $delay-2, $delay-3, $delay-4, $delay-5, $delay-6, $delay-7, $delay-8, $delay-9, $delay-10);\n @include experimental(transition-delay, $delays,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// Transition all-in-one shorthand\n\n@mixin single-transition(\n $property: $default-transition-property,\n $duration: $default-transition-duration,\n $function: $default-transition-function,\n $delay: $default-transition-delay\n) {\n @include transition(compact($property $duration $function $delay));\n}\n\n@mixin transition(\n $transition-1 : default,\n $transition-2 : false,\n $transition-3 : false,\n $transition-4 : false,\n $transition-5 : false,\n $transition-6 : false,\n $transition-7 : false,\n $transition-8 : false,\n $transition-9 : false,\n $transition-10: false\n) {\n @if $transition-1 == default {\n $transition-1 : compact($default-transition-property $default-transition-duration $default-transition-function $default-transition-delay);\n }\n $transitions: false;\n @if type-of($transition-1) == list and type-of(nth($transition-1,1)) == list {\n $transitions: join($transition-1, compact($transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10), comma);\n } @else {\n $transitions : compact($transition-1, $transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10);\n }\n $delays: comma-list();\n $has-delays: false;\n $webkit-value: comma-list();\n $moz-value: comma-list();\n $o-value: comma-list();\n\n // This block can be made considerably simpler at the point in time that\n // we no longer need to deal with the differences in how delays are treated.\n @each $transition in $transitions {\n // Extract the values from the list\n // (this would be cleaner if nth took a 3rd argument to provide a default value).\n $property: nth($transition, 1);\n $duration: false;\n $timing-function: false;\n $delay: false;\n @if length($transition) > 1 { $duration: nth($transition, 2); }\n @if length($transition) > 2 { $timing-function: nth($transition, 3); }\n @if length($transition) > 3 { $delay: nth($transition, 4); $has-delays: true; }\n\n // If a delay is provided without a timing function\n @if is-time($timing-function) and not $delay { $delay: $timing-function; $timing-function: false; $has-delays: true; }\n\n // Keep a list of delays in case one is specified\n $delays: append($delays, if($delay, $delay, 0s));\n\n $webkit-value: append($webkit-value, compact(prefixed-for-transition(-webkit, $property) $duration $timing-function));\n $moz-value: append( $moz-value, compact(prefixed-for-transition( -moz, $property) $duration $timing-function $delay));\n $o-value: append( $o-value, compact(prefixed-for-transition( -o, $property) $duration $timing-function $delay));\n }\n\n @if $experimental-support-for-webkit { -webkit-transition : $webkit-value;\n // old webkit doesn't support the delay parameter in the shorthand so we progressively enhance it.\n @if $has-delays { -webkit-transition-delay : $delays; } }\n @if $experimental-support-for-mozilla { -moz-transition : $moz-value; }\n @if $experimental-support-for-opera { -o-transition : $o-value; }\n transition : $transitions;\n}\n\n// coerce a list to be comma delimited or make a new, empty comma delimited list.\n@function comma-list($list: ()) {\n @return join((), $list, comma);\n}\n\n// Returns `$property` with the given prefix if it is found in `$transitionable-prefixed-values`.\n@function prefixed-for-transition($prefix, $property) {\n @if type-of($property) == list {\n $new-list: comma-list();\n @each $v in $property {\n $new-list: append($new-list, prefixed-for-transition($prefix, $v));\n }\n @return $new-list;\n } @else {\n @if index($transitionable-prefixed-values, $property) {\n @return #{$prefix}-#{$property};\n } @else {\n @return $property;\n }\n }\n}\n\n// Checks if the value given is a unit of time.\n@function is-time($value) {\n @if type-of($value) == number {\n @return not(not(index(s ms, unit($value))));\n } @else {\n @return false;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: $headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: $line-height-computed;\n margin-bottom: ($line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: ($line-height-computed / 2);\n margin-bottom: ($line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: $font-size-h1; }\nh2, .h2 { font-size: $font-size-h2; }\nh3, .h3 { font-size: $font-size-h3; }\nh4, .h4 { font-size: $font-size-h4; }\nh5, .h5 { font-size: $font-size-h5; }\nh6, .h6 { font-size: $font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 ($line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: $line-height-computed;\n font-size: floor(($font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: $screen-sm-min) {\n font-size: ($font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * $font-size-small / $font-size-base));\n}\n\nmark,\n.mark {\n background-color: $state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: $text-muted;\n}\n\n@include text-emphasis-variant('.text-primary', $brand-primary);\n\n@include text-emphasis-variant('.text-success', $state-success-text);\n\n@include text-emphasis-variant('.text-info', $state-info-text);\n\n@include text-emphasis-variant('.text-warning', $state-warning-text);\n\n@include text-emphasis-variant('.text-danger', $state-danger-text);\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n}\n@include bg-variant('.bg-primary', $brand-primary);\n\n@include bg-variant('.bg-success', $state-success-bg);\n\n@include bg-variant('.bg-info', $state-info-bg);\n\n@include bg-variant('.bg-warning', $state-warning-bg);\n\n@include bg-variant('.bg-danger', $state-danger-bg);\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: (($line-height-computed / 2) - 1);\n margin: ($line-height-computed * 2) 0 $line-height-computed;\n border-bottom: 1px solid $page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: ($line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// [converter] extracted from `.list-unstyled` for libsass compatibility\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n// [converter] extracted as `@mixin list-unstyled` for libsass compatibility\n.list-unstyled {\n @include list-unstyled;\n}\n\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: $line-height-computed;\n}\ndt,\ndd {\n line-height: $line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n @include clearfix; // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: $dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: ($dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n @include text-overflow;\n }\n dd {\n margin-left: $dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted $abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n @extend .text-uppercase;\n}\n\n// Blockquotes\nblockquote {\n padding: ($line-height-computed / 2) $line-height-computed;\n margin: 0 0 $line-height-computed;\n font-size: $blockquote-font-size;\n border-left: 5px solid $blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: $line-height-base;\n color: $blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid $blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: $line-height-computed;\n font-style: normal;\n line-height: $line-height-base;\n}\n","// Typography\n\n// [converter] $parent hack\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color;\n }\n a#{$parent}:hover,\n a#{$parent}:focus {\n color: darken($color, 10%);\n }\n}\n","// Contextual backgrounds\n\n// [converter] $parent hack\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color;\n }\n a#{$parent}:hover,\n a#{$parent}:focus {\n background-color: darken($color, 10%);\n }\n}\n","// @doc off\n// Extends the bottom of the element to enclose any floats it contains.\n// @doc on\n\n@import \"hacks\";\n\n// This basic method is preferred for the usual case, when positioned\n// content will not show outside the bounds of the container.\n//\n// Recommendations include using this in conjunction with a width.\n// Credit: [quirksmode.org](http://www.quirksmode.org/blog/archives/2005/03/clearing_floats.html)\n@mixin clearfix {\n overflow: hidden;\n @include has-layout;\n}\n\n// This older method from Position Is Everything called\n// [Easy Clearing](http://www.positioniseverything.net/easyclearing.html)\n// has the advantage of allowing positioned elements to hang\n// outside the bounds of the container at the expense of more tricky CSS.\n@mixin legacy-pie-clearfix {\n &:after {\n content : \"\\0020\";\n display : block;\n height : 0;\n clear : both;\n overflow : hidden;\n visibility : hidden;\n }\n @include has-layout;\n}\n\n// This is an updated version of the PIE clearfix method that reduces the amount of CSS output.\n// If you need to support Firefox before 3.5 you need to use `legacy-pie-clearfix` instead.\n//\n// Adapted from: [A new micro clearfix hack](http://nicolasgallagher.com/micro-clearfix-hack/)\n@mixin pie-clearfix {\n &:after {\n content: \"\";\n display: table;\n clear: both;\n }\n @include has-layout;\n}\n","@import \"../../support\";\n\n// The `zoom` approach generates less CSS but does not validate.\n// Set this to `block` to use the display-property to hack the\n// element to gain layout.\n$default-has-layout-approach: zoom !default;\n\n// This mixin causes an element matching the selector\n// to gain the \"hasLayout\" property in internet explorer.\n// More information on [hasLayout](http://reference.sitepoint.com/css/haslayout).\n@mixin has-layout($approach: $default-has-layout-approach) {\n @if $legacy-support-for-ie {\n @if $approach == zoom {\n @include has-layout-zoom;\n } @else if $approach == block {\n @include has-layout-block;\n } @else {\n @warn \"Unknown has-layout approach: #{$approach}\";\n @include has-layout-zoom;\n }\n }\n}\n\n@mixin has-layout-zoom {\n @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {\n *zoom: 1;\n }\n}\n\n@mixin has-layout-block {\n @if $legacy-support-for-ie {\n // This makes ie6 get layout\n display: inline-block;\n // and this puts it back to block\n & { display: block; }\n }\n}\n\n// A hack to supply IE6 (and below) with a different property value.\n// [Read more](http://www.cssportal.com/css-hacks/#in_css-important).\n@mixin bang-hack($property, $value, $ie6-value) {\n @if $legacy-support-for-ie6 {\n #{$property}: #{$value} !important;\n #{$property}: #{$ie6-value};\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n@mixin text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: $code-color;\n background-color: $code-bg;\n border-radius: $border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: $kbd-color;\n background-color: $kbd-bg;\n border-radius: $border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: (($line-height-computed - 1) / 2);\n margin: 0 0 ($line-height-computed / 2);\n font-size: ($font-size-base - 1); // 14px to 13px\n line-height: $line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: $pre-color;\n background-color: $pre-bg;\n border: 1px solid $pre-border-color;\n border-radius: $border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n @include container-fixed;\n\n @media (min-width: $screen-sm-min) {\n width: $container-sm;\n }\n @media (min-width: $screen-md-min) {\n width: $container-md;\n }\n @media (min-width: $screen-lg-min) {\n width: $container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n @include container-fixed;\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n @include make-row;\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@include make-grid-columns;\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n@include make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: $screen-sm-min) {\n @include make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: $screen-md-min) {\n @include make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: $screen-lg-min) {\n @include make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n@mixin container-fixed($gutter: $grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor(($gutter / 2));\n padding-right: ceil(($gutter / 2));\n @include clearfix;\n}\n\n// Creates a wrapper for a series of columns\n@mixin make-row($gutter: $grid-gutter-width) {\n margin-left: ceil(($gutter / -2));\n margin-right: floor(($gutter / -2));\n @include clearfix;\n}\n\n// Generate the extra small columns\n@mixin make-xs-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage(($columns / $grid-columns));\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n}\n@mixin make-xs-column-offset($columns) {\n margin-left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-push($columns) {\n left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-pull($columns) {\n right: percentage(($columns / $grid-columns));\n}\n\n// Generate the small columns\n@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-sm-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-offset($columns) {\n @media (min-width: $screen-sm-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-push($columns) {\n @media (min-width: $screen-sm-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-pull($columns) {\n @media (min-width: $screen-sm-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n\n// Generate the medium columns\n@mixin make-md-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-md-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-offset($columns) {\n @media (min-width: $screen-md-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-push($columns) {\n @media (min-width: $screen-md-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-pull($columns) {\n @media (min-width: $screen-md-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n\n// Generate the large columns\n@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-lg-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-offset($columns) {\n @media (min-width: $screen-lg-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-push($columns) {\n @media (min-width: $screen-lg-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-pull($columns) {\n @media (min-width: $screen-lg-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin make-grid-columns($i: 1, $list: \".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\") {\n @for $i from (1 + 1) through $grid-columns {\n $list: \"#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\";\n }\n #{$list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil(($grid-gutter-width / 2));\n padding-right: floor(($grid-gutter-width / 2));\n }\n}\n\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin float-grid-columns($class, $i: 1, $list: \".col-#{$class}-#{$i}\") {\n @for $i from (1 + 1) through $grid-columns {\n $list: \"#{$list}, .col-#{$class}-#{$i}\";\n }\n #{$list} {\n float: left;\n }\n}\n\n\n@mixin calc-grid-column($index, $class, $type) {\n @if ($type == width) and ($index > 0) {\n .col-#{$class}-#{$index} {\n width: percentage(($index / $grid-columns));\n }\n }\n @if ($type == push) and ($index > 0) {\n .col-#{$class}-push-#{$index} {\n left: percentage(($index / $grid-columns));\n }\n }\n @if ($type == push) and ($index == 0) {\n .col-#{$class}-push-0 {\n left: auto;\n }\n }\n @if ($type == pull) and ($index > 0) {\n .col-#{$class}-pull-#{$index} {\n right: percentage(($index / $grid-columns));\n }\n }\n @if ($type == pull) and ($index == 0) {\n .col-#{$class}-pull-0 {\n right: auto;\n }\n }\n @if ($type == offset) {\n .col-#{$class}-offset-#{$index} {\n margin-left: percentage(($index / $grid-columns));\n }\n }\n}\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin loop-grid-columns($columns, $class, $type) {\n @for $i from 0 through $columns {\n @include calc-grid-column($i, $class, $type);\n }\n}\n\n\n// Create grid for specific class\n@mixin make-grid($class) {\n @include float-grid-columns($class);\n @include loop-grid-columns($grid-columns, $class, width);\n @include loop-grid-columns($grid-columns, $class, pull);\n @include loop-grid-columns($grid-columns, $class, push);\n @include loop-grid-columns($grid-columns, $class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: $table-bg;\n}\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n line-height: $line-height-base;\n vertical-align: top;\n border-top: 1px solid $table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid $table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid $table-border-color;\n }\n\n // Nesting\n .table {\n background-color: $body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid $table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid $table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: $table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: $table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n@include table-row-variant('active', $table-bg-active);\n@include table-row-variant('success', $state-success-bg);\n@include table-row-variant('info', $state-info-bg);\n@include table-row-variant('warning', $state-warning-bg);\n@include table-row-variant('danger', $state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: $screen-xs-max) {\n width: 100%;\n margin-bottom: ($line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid $table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.#{$state},\n > th.#{$state},\n &.#{$state} > td,\n &.#{$state} > th {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.#{$state}:hover,\n > th.#{$state}:hover,\n &.#{$state}:hover > td,\n &:hover > .#{$state},\n &.#{$state}:hover > th {\n background-color: darken($background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: $line-height-computed;\n font-size: ($font-size-base * 1.5);\n line-height: inherit;\n color: $legend-color;\n border: 0;\n border-bottom: 1px solid $legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n @include box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n @include tab-focus;\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: ($padding-base-vertical + 1);\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: $padding-base-vertical $padding-base-horizontal;\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $input-color;\n background-color: $input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid $input-border;\n border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus;\n\n // Placeholder\n @include placeholder;\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n border: 0;\n background-color: transparent;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: $input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n\n // [converter] extracted textarea& to textarea.form-control\n}\n\n// Reset height for `textarea`s\ntextarea.form-control {\n height: auto;\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: $input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: $input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: $input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n &.disabled,\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: $cursor-disabled;\n }\n }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n // Size it appropriately next to real form controls\n padding-top: ($padding-base-vertical + 1);\n padding-bottom: ($padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n min-height: ($line-height-computed + $font-size-base);\n\n &.input-lg,\n &.input-sm {\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n@include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);\n.form-group-sm {\n .form-control {\n height: $input-height-small;\n padding: $padding-small-vertical $padding-small-horizontal;\n font-size: $font-size-small;\n line-height: $line-height-small;\n border-radius: $input-border-radius-small;\n }\n select.form-control {\n height: $input-height-small;\n line-height: $input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: $input-height-small;\n min-height: ($line-height-computed + $font-size-small);\n padding: ($padding-small-vertical + 1) $padding-small-horizontal;\n font-size: $font-size-small;\n line-height: $line-height-small;\n }\n}\n\n@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);\n.form-group-lg {\n .form-control {\n height: $input-height-large;\n padding: $padding-large-vertical $padding-large-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-large;\n border-radius: $input-border-radius-large;\n }\n select.form-control {\n height: $input-height-large;\n line-height: $input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: $input-height-large;\n min-height: ($line-height-computed + $font-size-large);\n padding: ($padding-large-vertical + 1) $padding-large-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: ($input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: $input-height-base;\n height: $input-height-base;\n line-height: $input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: $input-height-large;\n height: $input-height-large;\n line-height: $input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: $input-height-small;\n height: $input-height-small;\n line-height: $input-height-small;\n}\n\n// Feedback states\n.has-success {\n @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);\n}\n.has-warning {\n @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);\n}\n.has-error {\n @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: ($line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten($text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n// [converter] extracted from `.form-inline` for libsass compatibility\n@mixin form-inline {\n\n // Kick in the inline\n @media (min-width: $screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n// [converter] extracted as `@mixin form-inline` for libsass compatibility\n.form-inline {\n @include form-inline;\n}\n\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: ($padding-base-vertical + 1); // Default padding plus a border\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: ($line-height-computed + ($padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n @include make-row;\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: $screen-sm-min) {\n .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: ($padding-base-vertical + 1); // Default padding plus a border\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor(($grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: $screen-sm-min) {\n .control-label {\n padding-top: ($padding-large-vertical + 1);\n font-size: $font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: $screen-sm-min) {\n .control-label {\n padding-top: ($padding-small-vertical + 1);\n font-size: $font-size-small;\n }\n }\n }\n}\n","// @doc off\n// These defaults make the arguments optional for this mixin\n// If you like, set different defaults before importing.\n// @doc on\n\n@import \"shared\";\n\n\n// The default color for box shadows\n$default-box-shadow-color: #333333 !default;\n\n// The default horizontal offset. Positive is to the right.\n$default-box-shadow-h-offset: 0px !default;\n\n// The default vertical offset. Positive is down.\n$default-box-shadow-v-offset: 0px !default;\n\n// The default blur length.\n$default-box-shadow-blur: 5px !default;\n\n// The default spread length.\n$default-box-shadow-spread : false !default;\n\n// The default shadow inset: inset or false (for standard shadow).\n$default-box-shadow-inset : false !default;\n\n// Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box\n// shadows are needed.\n// Each shadow argument should adhere to the standard css3 syntax for the\n// box-shadow property.\n@mixin box-shadow(\n $shadow-1 : default,\n $shadow-2 : false,\n $shadow-3 : false,\n $shadow-4 : false,\n $shadow-5 : false,\n $shadow-6 : false,\n $shadow-7 : false,\n $shadow-8 : false,\n $shadow-9 : false,\n $shadow-10: false\n) {\n @if $shadow-1 == default {\n $shadow-1 : -compass-space-list(compact(if($default-box-shadow-inset, inset, false), $default-box-shadow-h-offset, $default-box-shadow-v-offset, $default-box-shadow-blur, $default-box-shadow-spread, $default-box-shadow-color));\n }\n $shadow : compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10);\n @include experimental(box-shadow, $shadow,\n -moz, -webkit, not(-o), not(-ms), not(-khtml), official\n );\n}\n\n// Provides a single cross-browser CSS box shadow for Webkit, Gecko, and CSS3.\n// Includes default arguments for color, horizontal offset, vertical offset, blur length, spread length, and inset.\n@mixin single-box-shadow(\n $color : $default-box-shadow-color,\n $hoff : $default-box-shadow-h-offset,\n $voff : $default-box-shadow-v-offset,\n $blur : $default-box-shadow-blur,\n $spread : $default-box-shadow-spread,\n $inset : $default-box-shadow-inset\n) {\n @if not ($inset == true or $inset == false or $inset == inset) {\n @warn \"$inset expected to be true or the inset keyword. Got #{$inset} instead. Using: inset\";\n }\n\n @if $color == none {\n @include box-shadow(none);\n } @else {\n $full : $hoff $voff;\n @if $blur { $full: $full $blur; }\n @if $spread { $full: $full $spread; }\n @if $color { $full: $full $color; }\n @if $inset { $full: inset $full; }\n @include box-shadow($full);\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: $text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: $border-color;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n &:focus {\n border-color: darken($border-color, 10%);\n $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);\n @include box-shadow($shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: $text-color;\n border-color: $border-color;\n background-color: $background-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: $text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($color: $input-border-focus) {\n $color-rgba: rgba(red($color), green($color), blue($color), .6);\n &:focus {\n border-color: $color;\n outline: 0;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n// [converter] $parent hack\n@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n #{$parent} {\n height: $input-height;\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n border-radius: $border-radius;\n }\n\n select#{$parent} {\n height: $input-height;\n line-height: $input-height;\n }\n\n textarea#{$parent},\n select[multiple]#{$parent} {\n height: auto;\n }\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n@mixin animation($animation) {\n -webkit-animation: $animation;\n -o-animation: $animation;\n animation: $animation;\n}\n@mixin animation-name($name) {\n -webkit-animation-name: $name;\n animation-name: $name;\n}\n@mixin animation-duration($duration) {\n -webkit-animation-duration: $duration;\n animation-duration: $duration;\n}\n@mixin animation-timing-function($timing-function) {\n -webkit-animation-timing-function: $timing-function;\n animation-timing-function: $timing-function;\n}\n@mixin animation-delay($delay) {\n -webkit-animation-delay: $delay;\n animation-delay: $delay;\n}\n@mixin animation-iteration-count($iteration-count) {\n -webkit-animation-iteration-count: $iteration-count;\n animation-iteration-count: $iteration-count;\n}\n@mixin animation-direction($direction) {\n -webkit-animation-direction: $direction;\n animation-direction: $direction;\n}\n@mixin animation-fill-mode($fill-mode) {\n -webkit-animation-fill-mode: $fill-mode;\n animation-fill-mode: $fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n@mixin backface-visibility($visibility) {\n -webkit-backface-visibility: $visibility;\n -moz-backface-visibility: $visibility;\n backface-visibility: $visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n// Box sizing\n@mixin box-sizing($boxmodel) {\n -webkit-box-sizing: $boxmodel;\n -moz-box-sizing: $boxmodel;\n box-sizing: $boxmodel;\n}\n\n// CSS3 Content Columns\n@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {\n -webkit-column-count: $column-count;\n -moz-column-count: $column-count;\n column-count: $column-count;\n -webkit-column-gap: $column-gap;\n -moz-column-gap: $column-gap;\n column-gap: $column-gap;\n}\n\n// Optional hyphenation\n@mixin hyphens($mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: $mode;\n -moz-hyphens: $mode;\n -ms-hyphens: $mode; // IE10+\n -o-hyphens: $mode;\n hyphens: $mode;\n}\n\n// Placeholder text\n@mixin placeholder($color: $input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: $color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: $color; } // Safari and Chrome\n}\n\n// Transformations\n@mixin scale($ratio...) {\n -webkit-transform: scale($ratio);\n -ms-transform: scale($ratio); // IE9 only\n -o-transform: scale($ratio);\n transform: scale($ratio);\n}\n\n@mixin scaleX($ratio) {\n -webkit-transform: scaleX($ratio);\n -ms-transform: scaleX($ratio); // IE9 only\n -o-transform: scaleX($ratio);\n transform: scaleX($ratio);\n}\n@mixin scaleY($ratio) {\n -webkit-transform: scaleY($ratio);\n -ms-transform: scaleY($ratio); // IE9 only\n -o-transform: scaleY($ratio);\n transform: scaleY($ratio);\n}\n@mixin skew($x, $y) {\n -webkit-transform: skewX($x) skewY($y);\n -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX($x) skewY($y);\n transform: skewX($x) skewY($y);\n}\n@mixin translate($x, $y) {\n -webkit-transform: translate($x, $y);\n -ms-transform: translate($x, $y); // IE9 only\n -o-transform: translate($x, $y);\n transform: translate($x, $y);\n}\n@mixin translate3d($x, $y, $z) {\n -webkit-transform: translate3d($x, $y, $z);\n transform: translate3d($x, $y, $z);\n}\n@mixin rotate($degrees) {\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees); // IE9 only\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n@mixin rotateX($degrees) {\n -webkit-transform: rotateX($degrees);\n -ms-transform: rotateX($degrees); // IE9 only\n -o-transform: rotateX($degrees);\n transform: rotateX($degrees);\n}\n@mixin rotateY($degrees) {\n -webkit-transform: rotateY($degrees);\n -ms-transform: rotateY($degrees); // IE9 only\n -o-transform: rotateY($degrees);\n transform: rotateY($degrees);\n}\n@mixin perspective($perspective) {\n -webkit-perspective: $perspective;\n -moz-perspective: $perspective;\n perspective: $perspective;\n}\n@mixin perspective-origin($perspective) {\n -webkit-perspective-origin: $perspective;\n -moz-perspective-origin: $perspective;\n perspective-origin: $perspective;\n}\n@mixin transform-origin($origin) {\n -webkit-transform-origin: $origin;\n -moz-transform-origin: $origin;\n -ms-transform-origin: $origin; // IE9 only\n transform-origin: $origin;\n}\n\n\n// Transitions\n\n@mixin transition($transition...) {\n -webkit-transition: $transition;\n -o-transition: $transition;\n transition: $transition;\n}\n@mixin transition-property($transition-property...) {\n -webkit-transition-property: $transition-property;\n transition-property: $transition-property;\n}\n@mixin transition-delay($transition-delay) {\n -webkit-transition-delay: $transition-delay;\n transition-delay: $transition-delay;\n}\n@mixin transition-duration($transition-duration...) {\n -webkit-transition-duration: $transition-duration;\n transition-duration: $transition-duration;\n}\n@mixin transition-timing-function($timing-function) {\n -webkit-transition-timing-function: $timing-function;\n transition-timing-function: $timing-function;\n}\n@mixin transition-transform($transition...) {\n -webkit-transition: -webkit-transform $transition;\n -moz-transition: -moz-transform $transition;\n -o-transition: -o-transform $transition;\n transition: transform $transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n@mixin user-select($select) {\n -webkit-user-select: $select;\n -moz-user-select: $select;\n -ms-user-select: $select; // IE10+\n user-select: $select;\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: $btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base);\n @include user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n @include tab-focus;\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: $btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n @include opacity(.65);\n @include box-shadow(none);\n }\n\n // [converter] extracted a& to a.btn\n}\n\na.btn {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);\n}\n.btn-primary {\n @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: $link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n @include box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n.btn-xs {\n @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($color, $background, $border) {\n color: $color;\n background-color: $background;\n border-color: $border;\n\n &:focus,\n &.focus {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 25%);\n }\n &:hover {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 12%);\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: $color;\n background-color: darken($background, 17%);\n border-color: darken($border, 25%);\n }\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: $background;\n border-color: $border;\n }\n }\n\n .badge {\n color: $background;\n background-color: $color;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n border-radius: $border-radius;\n}\n","@import \"shared\";\n\n// Provides cross-browser CSS opacity. Takes a number between 0 and 1 as the argument, e.g. 0.5 for 50% opacity.\n//\n// @param $opacity\n// A number between 0 and 1, where 0 is transparent and 1 is opaque.\n\n@mixin opacity($opacity) {\n @if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {\n filter: unquote(\"progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})\");\n }\n opacity: $opacity;\n}\n\n// Make an element completely transparent.\n@mixin transparent { @include opacity(0); }\n\n// Make an element completely opaque.\n@mixin opaque { @include opacity(1); }\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n@at-root {\n // Import the fonts\n @font-face {\n font-family: 'Glyphicons Halflings';\n src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot'));\n src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg');\n }\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n // [converter] extracted tr&.in to tr.collapse.in\n // [converter] extracted tbody&.in to tbody.collapse.in\n}\n\ntr.collapse.in { display: table-row; }\n\ntbody.collapse.in { display: table-row-group; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition-property(height, visibility);\n @include transition-duration(.35s);\n @include transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: $caret-width-base dashed;\n border-top: $caret-width-base solid \\9; // IE8\n border-right: $caret-width-base solid transparent;\n border-left: $caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: $font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: $dropdown-bg;\n border: 1px solid $dropdown-fallback-border; // IE8 fallback\n border: 1px solid $dropdown-border;\n border-radius: $border-radius-base;\n @include box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n @include nav-divider($dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: $line-height-base;\n color: $dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: $dropdown-link-hover-color;\n background-color: $dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: $dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: $dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n @include reset-filter;\n cursor: $cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: $font-size-small;\n line-height: $line-height-base;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: ($zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: $caret-width-base dashed;\n border-bottom: $caret-width-base solid \\9; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: $grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n right: 0; left: auto;\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n left: 0; right: auto;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 1px;\n margin: (($line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: $color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n@mixin reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n @include clearfix;\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n @include border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { @extend .btn-xs; }\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: $caret-width-large $caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 $caret-width-large $caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n @include clearfix;\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n @include border-top-radius($btn-border-radius-base);\n @include border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n @include border-top-radius(0);\n @include border-bottom-radius($btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n @extend .input-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n @extend .input-sm;\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: $padding-base-vertical $padding-base-horizontal;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 1;\n color: $input-color;\n text-align: center;\n background-color: $input-group-addon-bg;\n border: 1px solid $input-group-addon-border-color;\n border-radius: $input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: $padding-small-vertical $padding-small-horizontal;\n font-size: $font-size-small;\n border-radius: $input-border-radius-small;\n }\n &.input-lg {\n padding: $padding-large-vertical $padding-large-horizontal;\n font-size: $font-size-large;\n border-radius: $input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n @include clearfix;\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: $nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: $nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: $nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: $nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: $cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $nav-link-hover-bg;\n border-color: $link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n @include nav-divider;\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid $nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: $line-height-base;\n border: 1px solid transparent;\n border-radius: $border-radius-base $border-radius-base 0 0;\n &:hover {\n border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: $nav-tabs-active-link-hover-color;\n background-color: $nav-tabs-active-link-hover-bg;\n border: 1px solid $nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n @extend .nav-justified;\n @extend .nav-tabs-justified;\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: $nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: $nav-pills-active-link-hover-color;\n background-color: $nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: $screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: $border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid $nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: $screen-sm-min) {\n > li > a {\n border-bottom: 1px solid $nav-tabs-justified-link-border-color;\n border-radius: $border-radius-base $border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: $nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: $navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n @include clearfix;\n\n @media (min-width: $grid-float-breakpoint) {\n border-radius: $navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n @include clearfix;\n\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: $navbar-padding-horizontal;\n padding-left: $navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n @include clearfix;\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: $navbar-collapse-max-height;\n\n @media (max-device-width: $screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -$navbar-padding-horizontal;\n margin-left: -$navbar-padding-horizontal;\n\n @media (min-width: $grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: $zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: $grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: $zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: $grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: $navbar-padding-vertical $navbar-padding-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-computed;\n height: $navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -$navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: $navbar-padding-horizontal;\n padding: 9px 10px;\n @include navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: $border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: $line-height-computed;\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: $line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: $navbar-padding-vertical;\n padding-bottom: $navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -$navbar-padding-horizontal;\n margin-right: -$navbar-padding-horizontal;\n padding: 10px $navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n @include box-shadow($shadow);\n\n // Mixin behavior for optimum display\n @include form-inline;\n\n .form-group {\n @media (max-width: $grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n @include navbar-vertical-align($input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: $grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n @include box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n @include border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n @include border-top-radius($navbar-border-radius);\n @include border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n @include navbar-vertical-align($input-height-base);\n\n &.btn-sm {\n @include navbar-vertical-align($input-height-small);\n }\n &.btn-xs {\n @include navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n @include navbar-vertical-align($line-height-computed);\n\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n margin-left: $navbar-padding-horizontal;\n margin-right: $navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: $grid-float-breakpoint) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -$navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: $navbar-default-bg;\n border-color: $navbar-default-border;\n\n .navbar-brand {\n color: $navbar-default-brand-color;\n &:hover,\n &:focus {\n color: $navbar-default-brand-hover-color;\n background-color: $navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: $navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: $navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n background-color: $navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-active-color;\n background-color: $navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n background-color: $navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: $navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: $navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: $navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: $navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $navbar-default-link-active-bg;\n color: $navbar-default-link-active-color;\n }\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: $navbar-default-link-color;\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n background-color: $navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-active-color;\n background-color: $navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n background-color: $navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: $navbar-default-link-color;\n &:hover {\n color: $navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: $navbar-default-link-color;\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: $navbar-inverse-bg;\n border-color: $navbar-inverse-border;\n\n .navbar-brand {\n color: $navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-brand-hover-color;\n background-color: $navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: $navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: $navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n background-color: $navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-active-color;\n background-color: $navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n background-color: $navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: $navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: $navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: $navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken($navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $navbar-inverse-link-active-bg;\n color: $navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: $navbar-inverse-border;\n }\n .divider {\n background-color: $navbar-inverse-border;\n }\n > li > a {\n color: $navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n background-color: $navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-active-color;\n background-color: $navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n background-color: $navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: $navbar-inverse-link-color;\n &:hover {\n color: $navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: $navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n@mixin navbar-vertical-align($element-height) {\n margin-top: (($navbar-height - $element-height) / 2);\n margin-bottom: (($navbar-height - $element-height) / 2);\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;\n margin-bottom: $line-height-computed;\n list-style: none;\n background-color: $breadcrumb-bg;\n border-radius: $border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n // [converter] Workaround for https://github.com/sass/libsass/issues/1115\n $nbsp: \"\\00a0\";\n content: \"#{$breadcrumb-separator}#{$nbsp}\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: $breadcrumb-color;\n }\n }\n\n > .active {\n color: $breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: $line-height-computed 0;\n border-radius: $border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: $padding-base-vertical $padding-base-horizontal;\n line-height: $line-height-base;\n text-decoration: none;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: 1px solid $pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n @include border-left-radius($border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n @include border-right-radius($border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: $pagination-hover-color;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: $pagination-disabled-color;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border;\n cursor: $cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);\n}\n\n// Small\n.pagination-sm {\n @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);\n}\n","// Pagination\n\n@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n > li {\n > a,\n > span {\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n }\n &:first-child {\n > a,\n > span {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: $line-height-computed 0;\n list-style: none;\n text-align: center;\n @include clearfix;\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: $pager-bg;\n border: 1px solid $pager-border;\n border-radius: $pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: $pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: $pager-disabled-color;\n background-color: $pager-bg;\n cursor: $cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: $label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // [converter] extracted a& to a.label\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Add hover effects, but only for links\na.label {\n &:hover,\n &:focus {\n color: $label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n @include label-variant($label-default-bg);\n}\n\n.label-primary {\n @include label-variant($label-primary-bg);\n}\n\n.label-success {\n @include label-variant($label-success-bg);\n}\n\n.label-info {\n @include label-variant($label-info-bg);\n}\n\n.label-warning {\n @include label-variant($label-warning-bg);\n}\n\n.label-danger {\n @include label-variant($label-danger-bg);\n}\n","// Labels\n\n@mixin label-variant($color) {\n background-color: $color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken($color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: $font-size-small;\n font-weight: $badge-font-weight;\n color: $badge-color;\n line-height: $badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: $badge-bg;\n border-radius: $badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // [converter] extracted a& to a.badge\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: $badge-active-color;\n background-color: $badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n\n// Hover state, but only for links\na.badge {\n &:hover,\n &:focus {\n color: $badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: $jumbotron-padding;\n padding-bottom: $jumbotron-padding;\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n\n h1,\n .h1 {\n color: $jumbotron-heading-color;\n }\n\n p {\n margin-bottom: ($jumbotron-padding / 2);\n font-size: $jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken($jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: ($grid-gutter-width / 2);\n padding-right: ($grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: $screen-sm-min) {\n padding-top: ($jumbotron-padding * 1.6);\n padding-bottom: ($jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: ($jumbotron-padding * 2);\n padding-right: ($jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: $jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: $thumbnail-padding;\n margin-bottom: $line-height-computed;\n line-height: $line-height-base;\n background-color: $thumbnail-bg;\n border: 1px solid $thumbnail-border;\n border-radius: $thumbnail-border-radius;\n @include transition(border .2s ease-in-out);\n\n > img,\n a > img {\n @include img-responsive;\n margin-left: auto;\n margin-right: auto;\n }\n\n // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active\n\n // Image captions\n .caption {\n padding: $thumbnail-caption-padding;\n color: $thumbnail-caption-color;\n }\n}\n\n// Add a hover state for linked versions only\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: $link-color;\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: $alert-padding;\n margin-bottom: $line-height-computed;\n border: 1px solid transparent;\n border-radius: $alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: $alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: ($alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);\n}\n\n.alert-info {\n @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);\n}\n\n.alert-warning {\n @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);\n}\n\n.alert-danger {\n @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);\n}\n","// Alerts\n\n@mixin alert-variant($background, $border, $text-color) {\n background-color: $background;\n border-color: $border;\n color: $text-color;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n .alert-link {\n color: darken($text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: $line-height-computed;\n margin-bottom: $line-height-computed;\n background-color: $progress-bg;\n border-radius: $progress-border-radius;\n @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: $font-size-small;\n line-height: $line-height-computed;\n color: $progress-bar-color;\n text-align: center;\n background-color: $progress-bar-bg;\n @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n @include transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n @include gradient-striped;\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n @include animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n @include progress-bar-variant($progress-bar-success-bg);\n}\n\n.progress-bar-info {\n @include progress-bar-variant($progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n @include progress-bar-variant($progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n @include progress-bar-variant($progress-bar-danger-bg);\n}\n","// Gradients\n\n\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n// Color stops are not available in IE9 and below.\n@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n// Color stops are not available in IE9 and below.\n@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12\n background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n}\n@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);\n background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback\n}\n@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Progress bars\n\n@mixin progress-bar-variant($color) {\n background-color: $color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n @include gradient-striped;\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: $list-group-bg;\n border: 1px solid $list-group-border;\n\n // Round the first and last items\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: $list-group-link-color;\n\n .list-group-item-heading {\n color: $list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: $list-group-link-hover-color;\n background-color: $list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: $list-group-disabled-bg;\n color: $list-group-disabled-color;\n cursor: $cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: $list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: $list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@include list-group-item-variant(success, $state-success-bg, $state-success-text);\n@include list-group-item-variant(info, $state-info-bg, $state-info-text);\n@include list-group-item-variant(warning, $state-warning-bg, $state-warning-text);\n@include list-group-item-variant(danger, $state-danger-bg, $state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n // [converter] extracted a&, button& to a.list-group-item-#{$state}, button.list-group-item-#{$state}\n }\n\n a.list-group-item-#{$state},\n button.list-group-item-#{$state} {\n color: $color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: $line-height-computed;\n background-color: $panel-bg;\n border: 1px solid transparent;\n border-radius: $panel-border-radius;\n @include box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: $panel-body-padding;\n @include clearfix;\n}\n\n// Optional heading\n.panel-heading {\n padding: $panel-heading-padding;\n border-bottom: 1px solid transparent;\n @include border-top-radius(($panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil(($font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: $panel-footer-padding;\n background-color: $panel-footer-bg;\n border-top: 1px solid $panel-inner-border;\n @include border-bottom-radius(($panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n @include border-top-radius(($panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n @include border-bottom-radius(($panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n @include border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: $panel-body-padding;\n padding-right: $panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n @include border-top-radius(($panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: ($panel-border-radius - 1);\n border-top-right-radius: ($panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: ($panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: ($panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n @include border-bottom-radius(($panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: ($panel-border-radius - 1);\n border-bottom-right-radius: ($panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: ($panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: ($panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid $table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: $line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: $panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid $panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid $panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n @include panel-variant($panel-default-border, $panel-default-text, $panel-default-heading-bg, $panel-default-border);\n}\n.panel-primary {\n @include panel-variant($panel-primary-border, $panel-primary-text, $panel-primary-heading-bg, $panel-primary-border);\n}\n.panel-success {\n @include panel-variant($panel-success-border, $panel-success-text, $panel-success-heading-bg, $panel-success-border);\n}\n.panel-info {\n @include panel-variant($panel-info-border, $panel-info-text, $panel-info-heading-bg, $panel-info-border);\n}\n.panel-warning {\n @include panel-variant($panel-warning-border, $panel-warning-text, $panel-warning-heading-bg, $panel-warning-border);\n}\n.panel-danger {\n @include panel-variant($panel-danger-border, $panel-danger-text, $panel-danger-heading-bg, $panel-danger-border);\n}\n","// Panels\n\n@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {\n border-color: $border;\n\n & > .panel-heading {\n color: $heading-text-color;\n background-color: $heading-bg-color;\n border-color: $heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: $border;\n }\n .badge {\n color: $heading-bg-color;\n background-color: $heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: $border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: $well-bg;\n border: 1px solid $well-border;\n border-radius: $border-radius-base;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: $border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: $border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: ($font-size-base * 1.5);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n @include opacity(.2);\n\n &:hover,\n &:focus {\n color: $close-color;\n text-decoration: none;\n cursor: pointer;\n @include opacity(.5);\n }\n\n // [converter] extracted button& to button.close\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n @include translate(0, -25%);\n @include transition-transform(0.3s ease-out);\n }\n &.in .modal-dialog { @include translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: $modal-content-bg;\n border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid $modal-content-border-color;\n border-radius: $border-radius-large;\n @include box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-background;\n background-color: $modal-backdrop-bg;\n // Fade for backdrop\n &.fade { @include opacity(0); }\n &.in { @include opacity($modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: $modal-title-padding;\n border-bottom: 1px solid $modal-header-border-color;\n @include clearfix;\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: $modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid $modal-footer-border-color;\n @include clearfix; // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: $screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: $modal-md;\n margin: 30px auto;\n }\n .modal-content {\n @include box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: $modal-sm; }\n}\n\n@media (min-width: $screen-md-min) {\n .modal-lg { width: $modal-lg; }\n}\n","@import \"shared\";\n\n// @doc off\n// Note ----------------------------------------------------------------------\n// Safari, Chrome, and Firefox all support 3D transforms. However,\n// only in the most recent builds. You should also provide fallback 2d support for\n// Opera and IE. IE10 is slated to have 3d enabled, but is currently unreleased.\n// To make that easy, all 2D transforms include an browser-targeting toggle ($only3d)\n// to switch between the two support lists. The toggle defaults to 'false' (2D),\n// and also accepts 'true' (3D). Currently the lists are as follows:\n// 2D: Mozilla, Webkit, Opera, Official\n// 3D: Webkit, Firefox.\n\n// Available Transforms ------------------------------------------------------\n// - Scale (2d and 3d)\n// - Rotate (2d and 3d)\n// - Translate (2d and 3d)\n// - Skew (2d only)\n\n// Transform Parameters ------------------------------------------------------\n// - Transform Origin (2d and 3d)\n// - Perspective (3d)\n// - Perspective Origin (3d)\n// - Transform Style (3d)\n// - Backface Visibility (3d)\n\n// Mixins --------------------------------------------------------------------\n// transform-origin\n// - shortcuts: transform-origin2d, transform-origin3d\n// - helpers: apply-origin\n// transform\n// - shortcuts: transform2d, transform3d\n// - helpers: simple-transform, create-transform\n// perspective\n// - helpers: perspective-origin\n// transform-style\n// backface-visibility\n// scale\n// - shortcuts: scaleX, scaleY, scaleZ, scale3d\n// rotate\n// - shortcuts: rotateX, rotateY, rotate3d\n// translate\n// - shortcuts: translateX, translateY, translateZ, translate3d\n// skew\n// - shortcuts: skewX, skewY\n\n// Defaults ------------------------------------------------------------------\n// @doc on\n\n// The default x-origin for transforms\n$default-origin-x : 50% !default;\n// The default y-origin for transforms\n$default-origin-y : 50% !default;\n// The default z-origin for transforms\n$default-origin-z : 50% !default;\n\n\n// The default x-multiplier for scaling\n$default-scale-x : 1.25 !default;\n// The default y-multiplier for scaling\n$default-scale-y : $default-scale-x !default;\n// The default z-multiplier for scaling\n$default-scale-z : $default-scale-x !default;\n\n\n// The default angle for rotations\n$default-rotate : 45deg !default;\n\n\n// The default x-vector for the axis of 3d rotations\n$default-vector-x : 1 !default;\n// The default y-vector for the axis of 3d rotations\n$default-vector-y : 1 !default;\n// The default z-vector for the axis of 3d rotations\n$default-vector-z : 1 !default;\n\n\n// The default x-length for translations\n$default-translate-x : 1em !default;\n// The default y-length for translations\n$default-translate-y : $default-translate-x !default;\n// The default z-length for translations\n$default-translate-z : $default-translate-x !default;\n\n\n// The default x-angle for skewing\n$default-skew-x : 5deg !default;\n// The default y-angle for skewing\n$default-skew-y : 5deg !default;\n\n\n// **Transform-origin**\n// Transform-origin sent as a complete string\n//\n// @include apply-origin( origin [, 3D-only ] )\n//\n// where 'origin' is a space separated list containing 1-3 (x/y/z) coordinates\n// in percentages, absolute (px, cm, in, em etc..) or relative\n// (left, top, right, bottom, center) units\n//\n// @param only3d Set this to true to only apply this\n// mixin where browsers have 3D support.\n@mixin apply-origin($origin, $only3d) {\n $only3d: $only3d or -compass-list-size(-compass-list($origin)) > 2;\n @if $only3d {\n @include experimental(transform-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n } @else {\n @include experimental(transform-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n }\n}\n\n// Transform-origin sent as individual arguments:\n//\n// @include transform-origin( [ origin-x, origin-y, origin-z, 3D-only ] )\n//\n// where the 3 'origin-' arguments represent x/y/z coordinates.\n//\n// **NOTE:** setting z coordinates triggers 3D support list, leave false for 2D support\n@mixin transform-origin(\n $origin-x: $default-origin-x,\n $origin-y: $default-origin-y,\n $origin-z: false,\n $only3d: if($origin-z, true, false)\n) {\n $origin: unquote('');\n @if $origin-x or $origin-y or $origin-z {\n @if $origin-x { $origin: $origin-x; } @else { $origin: 50%; }\n @if $origin-y { $origin: $origin $origin-y; } @else { @if $origin-z { $origin: $origin 50%; }}\n @if $origin-z { $origin: $origin $origin-z; }\n @include apply-origin($origin, $only3d);\n }\n}\n\n\n// Transform sent as a complete string:\n//\n// @include transform( transforms [, 3D-only ] )\n//\n// where 'transforms' is a space separated list of all the transforms to be applied.\n@mixin transform(\n $transform,\n $only3d: false\n) {\n @if $only3d {\n @include experimental(transform, $transform,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n } @else {\n @include experimental(transform, $transform,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n }\n}\n\n// Shortcut to target all browsers with 2D transform support\n@mixin transform2d($trans) {\n @include transform($trans, false);\n}\n\n// Shortcut to target only browsers with 3D transform support\n@mixin transform3d($trans) {\n @include transform($trans, true);\n}\n\n// @doc off\n// 3D Parameters -------------------------------------------------------------\n// @doc on\n\n// Set the perspective of 3D transforms on the children of an element:\n//\n// @include perspective( perspective )\n//\n// where 'perspective' is a unitless number representing the depth of the\n// z-axis. The higher the perspective, the more exaggerated the foreshortening.\n// values from 500 to 1000 are more-or-less \"normal\" - a good starting-point.\n@mixin perspective($p) {\n @include experimental(perspective, $p,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Set the origin position for the perspective\n//\n// @include perspective-origin(origin-x [origin-y])\n//\n// where the two arguments represent x/y coordinates\n@mixin perspective-origin($origin: 50%) {\n @include experimental(perspective-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Determine whether a 3D objects children also live in the given 3D space\n//\n// @include transform-style( [ style ] )\n//\n// where `style` can be either `flat` or `preserve-3d`.\n// Browsers default to `flat`, mixin defaults to `preserve-3d`.\n@mixin transform-style($style: preserve-3d) {\n @include experimental(transform-style, $style,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Determine the visibility of an element when it's back is turned\n//\n// @include backface-visibility( [ visibility ] )\n//\n// where `visibility` can be either `visible` or `hidden`.\n// Browsers default to visible, mixin defaults to hidden\n@mixin backface-visibility($visibility: hidden) {\n @include experimental(backface-visibility, $visibility,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// @doc off\n// Transform Partials --------------------------------------------------------\n// These work well on their own, but they don't add to each other, they override.\n// Use along with transform parameter mixins to adjust origin, perspective and style\n// ---------------------------------------------------------------------------\n\n\n// Scale ---------------------------------------------------------------------\n// @doc on\n\n// Scale an object along the x and y axis:\n//\n// @include scale( [ scale-x, scale-y, perspective, 3D-only ] )\n//\n// where the 'scale-' arguments are unitless multipliers of the x and y dimensions\n// and perspective, which works the same as the stand-alone perspective property/mixin\n// but applies to the individual element (multiplied with any parent perspective)\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scale(\n $scale-x: $default-scale-x,\n $scale-y: $scale-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: scale($scale-x, $scale-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the x axis\n// @include scaleX( [ scale-x, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleX(\n $scale: $default-scale-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: scaleX($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the y axis\n// @include scaleY( [ scale-y, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleY(\n $scale: $default-scale-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: scaleY($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the z axis\n// @include scaleZ( [ scale-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleZ(\n $scale: $default-scale-z,\n $perspective: false\n) {\n $trans: scaleZ($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Scale and object along all three axis\n// @include scale3d( [ scale-x, scale-y, scale-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scale3d(\n $scale-x: $default-scale-x,\n $scale-y: $default-scale-y,\n $scale-z: $default-scale-z,\n $perspective: false\n) {\n $trans: scale3d($scale-x, $scale-y, $scale-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Rotate --------------------------------------------------------------------\n// @doc on\n\n// Rotate an object around the z axis (2D)\n// @include rotate( [ rotation, perspective, 3D-only ] )\n// where 'rotation' is an angle set in degrees (deg) or radian (rad) units\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotate(\n $rotate: $default-rotate,\n $perspective: false,\n $only3d: false\n) {\n $trans: rotate($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// A longcut for 'rotate' in case you forget that 'z' is implied\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateZ(\n $rotate: $default-rotate,\n $perspective: false,\n $only3d: false\n) {\n @include rotate($rotate, $perspective, $only3d);\n}\n\n// Rotate an object around the x axis (3D)\n// @include rotateX( [ rotation, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateX(\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotateX($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Rotate an object around the y axis (3D)\n// @include rotate( [ rotation, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateY(\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotateY($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Rotate an object around an arbitrary axis (3D)\n// @include rotate( [ vector-x, vector-y, vector-z, rotation, perspective ] )\n// where the 'vector-' arguments accept unitless numbers.\n// These numbers are not important on their own, but in relation to one another\n// creating an axis from your transform-origin, along the axis of Xx = Yy = Zz.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotate3d(\n $vector-x: $default-vector-x,\n $vector-y: $default-vector-y,\n $vector-z: $default-vector-z,\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotate3d($vector-x, $vector-y, $vector-z, $rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Translate -----------------------------------------------------------------\n// @doc on\n\n// Move an object along the x or y axis (2D)\n// @include translate( [ translate-x, translate-y, perspective, 3D-only ] )\n// where the 'translate-' arguments accept any distance in percentages or absolute (px, cm, in, em etc..) units.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translate(\n $translate-x: $default-translate-x,\n $translate-y: $default-translate-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: translate($translate-x, $translate-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the x axis (2D)\n// @include translate( [ translate-x, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateX(\n $trans-x: $default-translate-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: translateX($trans-x);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the y axis (2D)\n// @include translate( [ translate-y, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateY(\n $trans-y: $default-translate-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: translateY($trans-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the z axis (3D)\n// @include translate( [ translate-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateZ(\n $trans-z: $default-translate-z,\n $perspective: false\n) {\n $trans: translateZ($trans-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Move an object along the x, y and z axis (3D)\n// @include translate( [ translate-x, translate-y, translate-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translate3d(\n $translate-x: $default-translate-x,\n $translate-y: $default-translate-y,\n $translate-z: $default-translate-z,\n $perspective: false\n) {\n $trans: translate3d($translate-x, $translate-y, $translate-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Skew ----------------------------------------------------------------------\n// @doc on\n\n// Skew an element:\n//\n// @include skew( [ skew-x, skew-y, 3D-only ] )\n//\n// where the 'skew-' arguments accept css angles in degrees (deg) or radian (rad) units.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skew(\n $skew-x: $default-skew-x,\n $skew-y: $default-skew-y,\n $only3d: false\n) {\n $trans: skew($skew-x, $skew-y);\n @include transform($trans, $only3d);\n}\n\n// Skew an element along the x axiz\n//\n// @include skew( [ skew-x, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skewX(\n $skew-x: $default-skew-x,\n $only3d: false\n) {\n $trans: skewX($skew-x);\n @include transform($trans, $only3d);\n}\n\n// Skew an element along the y axis\n//\n// @include skew( [ skew-y, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skewY(\n $skew-y: $default-skew-y,\n $only3d: false\n) {\n $trans: skewY($skew-y);\n @include transform($trans, $only3d);\n}\n\n\n// Full transform mixins\n// For settings any combination of transforms as arguments\n// These are complex and not highly recommended for daily use. They are mainly\n// here for backward-compatibility purposes.\n//\n// * they include origin adjustments\n// * scale takes a multiplier (unitless), rotate and skew take degrees (deg)\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin create-transform(\n $perspective: false,\n $scale-x: false,\n $scale-y: false,\n $scale-z: false,\n $rotate-x: false,\n $rotate-y: false,\n $rotate-z: false,\n $rotate3d: false,\n $trans-x: false,\n $trans-y: false,\n $trans-z: false,\n $skew-x: false,\n $skew-y: false,\n $origin-x: false,\n $origin-y: false,\n $origin-z: false,\n $only3d: false\n) {\n $trans: unquote(\"\");\n\n // perspective\n @if $perspective { $trans: perspective($perspective) ; }\n\n // scale\n @if $scale-x and $scale-y {\n @if $scale-z { $trans: $trans scale3d($scale-x, $scale-y, $scale-z); }\n @else { $trans: $trans scale($scale-x, $scale-y); }\n } @else {\n @if $scale-x { $trans: $trans scaleX($scale-x); }\n @if $scale-y { $trans: $trans scaleY($scale-y); }\n @if $scale-z { $trans: $trans scaleZ($scale-z); }\n }\n\n // rotate\n @if $rotate-x { $trans: $trans rotateX($rotate-x); }\n @if $rotate-y { $trans: $trans rotateY($rotate-y); }\n @if $rotate-z { $trans: $trans rotateZ($rotate-z); }\n @if $rotate3d { $trans: $trans rotate3d($rotate3d); }\n\n // translate\n @if $trans-x and $trans-y {\n @if $trans-z { $trans: $trans translate3d($trans-x, $trans-y, $trans-z); }\n @else { $trans: $trans translate($trans-x, $trans-y); }\n } @else {\n @if $trans-x { $trans: $trans translateX($trans-x); }\n @if $trans-y { $trans: $trans translateY($trans-y); }\n @if $trans-z { $trans: $trans translateZ($trans-z); }\n }\n\n // skew\n @if $skew-x and $skew-y { $trans: $trans skew($skew-x, $skew-y); }\n @else {\n @if $skew-x { $trans: $trans skewX($skew-x); }\n @if $skew-y { $trans: $trans skewY($skew-y); }\n }\n\n // apply it!\n @include transform($trans, $only3d);\n @include transform-origin($origin-x, $origin-y, $origin-z, $only3d);\n}\n\n\n// A simplified set of options\n// backwards-compatible with the previous version of the 'transform' mixin\n@mixin simple-transform(\n $scale: false,\n $rotate: false,\n $trans-x: false,\n $trans-y: false,\n $skew-x: false,\n $skew-y: false,\n $origin-x: false,\n $origin-y: false\n) {\n @include create-transform(\n false,\n $scale, $scale, false,\n false, false, $rotate, false,\n $trans-x, $trans-y, false,\n $skew-x, $skew-y,\n $origin-x, $origin-y, false,\n false\n );\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text;\n font-size: $font-size-small;\n\n @include opacity(0);\n\n &.in { @include opacity($tooltip-opacity); }\n &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: 3px 8px;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n border-radius: $border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: $tooltip-arrow-width;\n margin-bottom: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: $tooltip-arrow-width;\n margin-bottom: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n border-right-color: $tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-left-color: $tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: $tooltip-arrow-width;\n margin-top: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: $tooltip-arrow-width;\n margin-top: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: none;\n max-width: $popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text;\n font-size: $font-size-base;\n\n background-color: $popover-bg;\n background-clip: padding-box;\n border: 1px solid $popover-fallback-border-color;\n border: 1px solid $popover-border-color;\n border-radius: $border-radius-large;\n @include box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -$popover-arrow-width; }\n &.right { margin-left: $popover-arrow-width; }\n &.bottom { margin-top: $popover-arrow-width; }\n &.left { margin-left: -$popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: $font-size-base;\n background-color: $popover-title-bg;\n border-bottom: 1px solid darken($popover-title-bg, 5%);\n border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: $popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: $popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -$popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: $popover-arrow-outer-color;\n bottom: -$popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -$popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: $popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -$popover-arrow-outer-width;\n margin-top: -$popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: $popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -$popover-arrow-width;\n border-left-width: 0;\n border-right-color: $popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -$popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: $popover-arrow-outer-color;\n top: -$popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -$popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -$popover-arrow-outer-width;\n margin-top: -$popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: $popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: $popover-arrow-color;\n bottom: -$popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n @include transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n @include img-responsive;\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n @include transition-transform(0.6s ease-in-out);\n @include backface-visibility(hidden);\n @include perspective(1000px);\n\n &.next,\n &.active.right {\n @include translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n @include translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n @include translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: $carousel-control-width;\n @include opacity($carousel-control-opacity);\n font-size: $carousel-control-font-size;\n color: $carousel-control-color;\n text-align: center;\n text-shadow: $carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: $carousel-control-color;\n text-decoration: none;\n @include opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid $carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n text-shadow: $carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: $screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: ($carousel-control-font-size * 1.5);\n height: ($carousel-control-font-size * 1.5);\n margin-top: ($carousel-control-font-size / -2);\n font-size: ($carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: ($carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: ($carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n @include clearfix;\n}\n.center-block {\n @include center-block;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n @include text-hide;\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","// Center-align a block level element\n\n@mixin center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// Indicates the direction you prefer to move your text\n// when hiding it.\n//\n// `left` is more robust, especially in older browsers.\n// `right` seems have better runtime performance.\n$hide-text-direction: left !default;\n\n// Hides html text and replaces it with an image.\n// If you use this on an inline element, you will need to change the display to block or inline-block.\n// Also, if the size of the image differs significantly from the font size, you'll need to set the width and/or height.\n//\n// Parameters:\n//\n// * `img` -- the relative path from the project image directory to the image, or a url literal.\n// * `x` -- the x position of the background image.\n// * `y` -- the y position of the background image.\n@mixin replace-text($img, $x: 50%, $y: 50%) {\n @include hide-text;\n background: {\n @if is-url($img) {\n image: $img;\n } @else {\n image: image-url($img);\n }\n repeat: no-repeat;\n position: $x $y;\n };\n}\n\n// Like the `replace-text` mixin, but also sets the width\n// and height of the element according the dimensions of the image.\n//\n// If you set `$inline` to true, then an inline image (data uri) will be used.\n@mixin replace-text-with-dimensions($img, $x: 50%, $y: 50%, $inline: false) {\n @include replace-text(if($inline, inline-image($img), $img), $x, $y);\n width: image-width($img);\n height: image-height($img);\n}\n\n// Hides text in an element so you can see the background.\n//\n// The direction indicates how the text should be moved out of view.\n//\n// See `$hide-text-direction` for more information and to set this globally\n// for your application.\n@mixin hide-text($direction: $hide-text-direction) {\n @if $direction == left {\n $approximate-em-value: 12px / 1em;\n $wider-than-any-screen: -9999em;\n text-indent: $wider-than-any-screen * $approximate-em-value;\n overflow: hidden;\n text-align: left;\n } @else {\n // slightly wider than the box prevents issues with inline-block elements\n text-indent: 110%;\n white-space: nowrap;\n overflow: hidden;\n }\n}\n\n// Hides text in an element by squishing the text into oblivion.\n// Use this if you need to hide text contained in an inline element\n// but still have it read by a screen reader.\n@mixin squish-text {\n font: 0/0 serif;\n text-shadow: none;\n color: transparent;\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n\n@include responsive-invisibility('.visible-xs');\n@include responsive-invisibility('.visible-sm');\n@include responsive-invisibility('.visible-md');\n@include responsive-invisibility('.visible-lg');\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n@media (max-width: $screen-xs-max) {\n @include responsive-visibility('.visible-xs');\n}\n.visible-xs-block {\n @media (max-width: $screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: $screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: $screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n @include responsive-visibility('.visible-sm');\n}\n.visible-sm-block {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n @include responsive-visibility('.visible-md');\n}\n.visible-md-block {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-lg-min) {\n @include responsive-visibility('.visible-lg');\n}\n.visible-lg-block {\n @media (min-width: $screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: $screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: $screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n@media (max-width: $screen-xs-max) {\n @include responsive-invisibility('.hidden-xs');\n}\n\n@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n @include responsive-invisibility('.hidden-sm');\n}\n\n@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n @include responsive-invisibility('.hidden-md');\n}\n\n@media (min-width: $screen-lg-min) {\n @include responsive-invisibility('.hidden-lg');\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n\n@include responsive-invisibility('.visible-print');\n\n@media print {\n @include responsive-visibility('.visible-print');\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n@media print {\n @include responsive-invisibility('.hidden-print');\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n// [converter] $parent hack\n@mixin responsive-visibility($parent) {\n #{$parent} {\n display: block !important;\n }\n table#{$parent} { display: table !important; }\n tr#{$parent} { display: table-row !important; }\n th#{$parent},\n td#{$parent} { display: table-cell !important; }\n}\n\n// [converter] $parent hack\n@mixin responsive-invisibility($parent) {\n #{$parent} {\n display: none !important;\n }\n}\n","/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables\";\n@import \"mixins\";\n@import \"path\";\n@import \"core\";\n@import \"larger\";\n@import \"fixed-width\";\n@import \"list\";\n@import \"bordered-pulled\";\n@import \"animated\";\n@import \"rotated-flipped\";\n@import \"stacked\";\n@import \"icons\";\n@import \"screen-reader\";\n","/* FONT PATH\n * -------------------------- */\n\n@font-face {\n font-family: 'FontAwesome';\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),\n url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),\n url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),\n url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),\n url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');\n// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n font-weight: normal;\n font-style: normal;\n}\n","// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix} {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n","// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -15%;\n}\n.#{$fa-css-prefix}-2x { font-size: 2em; }\n.#{$fa-css-prefix}-3x { font-size: 3em; }\n.#{$fa-css-prefix}-4x { font-size: 4em; }\n.#{$fa-css-prefix}-5x { font-size: 5em; }\n","// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n width: (18em / 14);\n text-align: center;\n}\n","// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n padding-left: 0;\n margin-left: $fa-li-width;\n list-style-type: none;\n > li { position: relative; }\n}\n.#{$fa-css-prefix}-li {\n position: absolute;\n left: -$fa-li-width;\n width: $fa-li-width;\n top: (2em / 14);\n text-align: center;\n &.#{$fa-css-prefix}-lg {\n left: -$fa-li-width + (4em / 14);\n }\n}\n","// Variables\n// --------------------------\n\n$fa-font-path: \"../fonts\" !default;\n$fa-font-size-base: 14px !default;\n$fa-line-height-base: 1 !default;\n//$fa-font-path: \"//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts\" !default; // for referencing Bootstrap CDN font files directly\n$fa-css-prefix: fa !default;\n$fa-version: \"4.7.0\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: (30em / 14) !default;\n\n$fa-var-500px: \"\\f26e\";\n$fa-var-address-book: \"\\f2b9\";\n$fa-var-address-book-o: \"\\f2ba\";\n$fa-var-address-card: \"\\f2bb\";\n$fa-var-address-card-o: \"\\f2bc\";\n$fa-var-adjust: \"\\f042\";\n$fa-var-adn: \"\\f170\";\n$fa-var-align-center: \"\\f037\";\n$fa-var-align-justify: \"\\f039\";\n$fa-var-align-left: \"\\f036\";\n$fa-var-align-right: \"\\f038\";\n$fa-var-amazon: \"\\f270\";\n$fa-var-ambulance: \"\\f0f9\";\n$fa-var-american-sign-language-interpreting: \"\\f2a3\";\n$fa-var-anchor: \"\\f13d\";\n$fa-var-android: \"\\f17b\";\n$fa-var-angellist: \"\\f209\";\n$fa-var-angle-double-down: \"\\f103\";\n$fa-var-angle-double-left: \"\\f100\";\n$fa-var-angle-double-right: \"\\f101\";\n$fa-var-angle-double-up: \"\\f102\";\n$fa-var-angle-down: \"\\f107\";\n$fa-var-angle-left: \"\\f104\";\n$fa-var-angle-right: \"\\f105\";\n$fa-var-angle-up: \"\\f106\";\n$fa-var-apple: \"\\f179\";\n$fa-var-archive: \"\\f187\";\n$fa-var-area-chart: \"\\f1fe\";\n$fa-var-arrow-circle-down: \"\\f0ab\";\n$fa-var-arrow-circle-left: \"\\f0a8\";\n$fa-var-arrow-circle-o-down: \"\\f01a\";\n$fa-var-arrow-circle-o-left: \"\\f190\";\n$fa-var-arrow-circle-o-right: \"\\f18e\";\n$fa-var-arrow-circle-o-up: \"\\f01b\";\n$fa-var-arrow-circle-right: \"\\f0a9\";\n$fa-var-arrow-circle-up: \"\\f0aa\";\n$fa-var-arrow-down: \"\\f063\";\n$fa-var-arrow-left: \"\\f060\";\n$fa-var-arrow-right: \"\\f061\";\n$fa-var-arrow-up: \"\\f062\";\n$fa-var-arrows: \"\\f047\";\n$fa-var-arrows-alt: \"\\f0b2\";\n$fa-var-arrows-h: \"\\f07e\";\n$fa-var-arrows-v: \"\\f07d\";\n$fa-var-asl-interpreting: \"\\f2a3\";\n$fa-var-assistive-listening-systems: \"\\f2a2\";\n$fa-var-asterisk: \"\\f069\";\n$fa-var-at: \"\\f1fa\";\n$fa-var-audio-description: \"\\f29e\";\n$fa-var-automobile: \"\\f1b9\";\n$fa-var-backward: \"\\f04a\";\n$fa-var-balance-scale: \"\\f24e\";\n$fa-var-ban: \"\\f05e\";\n$fa-var-bandcamp: \"\\f2d5\";\n$fa-var-bank: \"\\f19c\";\n$fa-var-bar-chart: \"\\f080\";\n$fa-var-bar-chart-o: \"\\f080\";\n$fa-var-barcode: \"\\f02a\";\n$fa-var-bars: \"\\f0c9\";\n$fa-var-bath: \"\\f2cd\";\n$fa-var-bathtub: \"\\f2cd\";\n$fa-var-battery: \"\\f240\";\n$fa-var-battery-0: \"\\f244\";\n$fa-var-battery-1: \"\\f243\";\n$fa-var-battery-2: \"\\f242\";\n$fa-var-battery-3: \"\\f241\";\n$fa-var-battery-4: \"\\f240\";\n$fa-var-battery-empty: \"\\f244\";\n$fa-var-battery-full: \"\\f240\";\n$fa-var-battery-half: \"\\f242\";\n$fa-var-battery-quarter: \"\\f243\";\n$fa-var-battery-three-quarters: \"\\f241\";\n$fa-var-bed: \"\\f236\";\n$fa-var-beer: \"\\f0fc\";\n$fa-var-behance: \"\\f1b4\";\n$fa-var-behance-square: \"\\f1b5\";\n$fa-var-bell: \"\\f0f3\";\n$fa-var-bell-o: \"\\f0a2\";\n$fa-var-bell-slash: \"\\f1f6\";\n$fa-var-bell-slash-o: \"\\f1f7\";\n$fa-var-bicycle: \"\\f206\";\n$fa-var-binoculars: \"\\f1e5\";\n$fa-var-birthday-cake: \"\\f1fd\";\n$fa-var-bitbucket: \"\\f171\";\n$fa-var-bitbucket-square: \"\\f172\";\n$fa-var-bitcoin: \"\\f15a\";\n$fa-var-black-tie: \"\\f27e\";\n$fa-var-blind: \"\\f29d\";\n$fa-var-bluetooth: \"\\f293\";\n$fa-var-bluetooth-b: \"\\f294\";\n$fa-var-bold: \"\\f032\";\n$fa-var-bolt: \"\\f0e7\";\n$fa-var-bomb: \"\\f1e2\";\n$fa-var-book: \"\\f02d\";\n$fa-var-bookmark: \"\\f02e\";\n$fa-var-bookmark-o: \"\\f097\";\n$fa-var-braille: \"\\f2a1\";\n$fa-var-briefcase: \"\\f0b1\";\n$fa-var-btc: \"\\f15a\";\n$fa-var-bug: \"\\f188\";\n$fa-var-building: \"\\f1ad\";\n$fa-var-building-o: \"\\f0f7\";\n$fa-var-bullhorn: \"\\f0a1\";\n$fa-var-bullseye: \"\\f140\";\n$fa-var-bus: \"\\f207\";\n$fa-var-buysellads: \"\\f20d\";\n$fa-var-cab: \"\\f1ba\";\n$fa-var-calculator: \"\\f1ec\";\n$fa-var-calendar: \"\\f073\";\n$fa-var-calendar-check-o: \"\\f274\";\n$fa-var-calendar-minus-o: \"\\f272\";\n$fa-var-calendar-o: \"\\f133\";\n$fa-var-calendar-plus-o: \"\\f271\";\n$fa-var-calendar-times-o: \"\\f273\";\n$fa-var-camera: \"\\f030\";\n$fa-var-camera-retro: \"\\f083\";\n$fa-var-car: \"\\f1b9\";\n$fa-var-caret-down: \"\\f0d7\";\n$fa-var-caret-left: \"\\f0d9\";\n$fa-var-caret-right: \"\\f0da\";\n$fa-var-caret-square-o-down: \"\\f150\";\n$fa-var-caret-square-o-left: \"\\f191\";\n$fa-var-caret-square-o-right: \"\\f152\";\n$fa-var-caret-square-o-up: \"\\f151\";\n$fa-var-caret-up: \"\\f0d8\";\n$fa-var-cart-arrow-down: \"\\f218\";\n$fa-var-cart-plus: \"\\f217\";\n$fa-var-cc: \"\\f20a\";\n$fa-var-cc-amex: \"\\f1f3\";\n$fa-var-cc-diners-club: \"\\f24c\";\n$fa-var-cc-discover: \"\\f1f2\";\n$fa-var-cc-jcb: \"\\f24b\";\n$fa-var-cc-mastercard: \"\\f1f1\";\n$fa-var-cc-paypal: \"\\f1f4\";\n$fa-var-cc-stripe: \"\\f1f5\";\n$fa-var-cc-visa: \"\\f1f0\";\n$fa-var-certificate: \"\\f0a3\";\n$fa-var-chain: \"\\f0c1\";\n$fa-var-chain-broken: \"\\f127\";\n$fa-var-check: \"\\f00c\";\n$fa-var-check-circle: \"\\f058\";\n$fa-var-check-circle-o: \"\\f05d\";\n$fa-var-check-square: \"\\f14a\";\n$fa-var-check-square-o: \"\\f046\";\n$fa-var-chevron-circle-down: \"\\f13a\";\n$fa-var-chevron-circle-left: \"\\f137\";\n$fa-var-chevron-circle-right: \"\\f138\";\n$fa-var-chevron-circle-up: \"\\f139\";\n$fa-var-chevron-down: \"\\f078\";\n$fa-var-chevron-left: \"\\f053\";\n$fa-var-chevron-right: \"\\f054\";\n$fa-var-chevron-up: \"\\f077\";\n$fa-var-child: \"\\f1ae\";\n$fa-var-chrome: \"\\f268\";\n$fa-var-circle: \"\\f111\";\n$fa-var-circle-o: \"\\f10c\";\n$fa-var-circle-o-notch: \"\\f1ce\";\n$fa-var-circle-thin: \"\\f1db\";\n$fa-var-clipboard: \"\\f0ea\";\n$fa-var-clock-o: \"\\f017\";\n$fa-var-clone: \"\\f24d\";\n$fa-var-close: \"\\f00d\";\n$fa-var-cloud: \"\\f0c2\";\n$fa-var-cloud-download: \"\\f0ed\";\n$fa-var-cloud-upload: \"\\f0ee\";\n$fa-var-cny: \"\\f157\";\n$fa-var-code: \"\\f121\";\n$fa-var-code-fork: \"\\f126\";\n$fa-var-codepen: \"\\f1cb\";\n$fa-var-codiepie: \"\\f284\";\n$fa-var-coffee: \"\\f0f4\";\n$fa-var-cog: \"\\f013\";\n$fa-var-cogs: \"\\f085\";\n$fa-var-columns: \"\\f0db\";\n$fa-var-comment: \"\\f075\";\n$fa-var-comment-o: \"\\f0e5\";\n$fa-var-commenting: \"\\f27a\";\n$fa-var-commenting-o: \"\\f27b\";\n$fa-var-comments: \"\\f086\";\n$fa-var-comments-o: \"\\f0e6\";\n$fa-var-compass: \"\\f14e\";\n$fa-var-compress: \"\\f066\";\n$fa-var-connectdevelop: \"\\f20e\";\n$fa-var-contao: \"\\f26d\";\n$fa-var-copy: \"\\f0c5\";\n$fa-var-copyright: \"\\f1f9\";\n$fa-var-creative-commons: \"\\f25e\";\n$fa-var-credit-card: \"\\f09d\";\n$fa-var-credit-card-alt: \"\\f283\";\n$fa-var-crop: \"\\f125\";\n$fa-var-crosshairs: \"\\f05b\";\n$fa-var-css3: \"\\f13c\";\n$fa-var-cube: \"\\f1b2\";\n$fa-var-cubes: \"\\f1b3\";\n$fa-var-cut: \"\\f0c4\";\n$fa-var-cutlery: \"\\f0f5\";\n$fa-var-dashboard: \"\\f0e4\";\n$fa-var-dashcube: \"\\f210\";\n$fa-var-database: \"\\f1c0\";\n$fa-var-deaf: \"\\f2a4\";\n$fa-var-deafness: \"\\f2a4\";\n$fa-var-dedent: \"\\f03b\";\n$fa-var-delicious: \"\\f1a5\";\n$fa-var-desktop: \"\\f108\";\n$fa-var-deviantart: \"\\f1bd\";\n$fa-var-diamond: \"\\f219\";\n$fa-var-digg: \"\\f1a6\";\n$fa-var-dollar: \"\\f155\";\n$fa-var-dot-circle-o: \"\\f192\";\n$fa-var-download: \"\\f019\";\n$fa-var-dribbble: \"\\f17d\";\n$fa-var-drivers-license: \"\\f2c2\";\n$fa-var-drivers-license-o: \"\\f2c3\";\n$fa-var-dropbox: \"\\f16b\";\n$fa-var-drupal: \"\\f1a9\";\n$fa-var-edge: \"\\f282\";\n$fa-var-edit: \"\\f044\";\n$fa-var-eercast: \"\\f2da\";\n$fa-var-eject: \"\\f052\";\n$fa-var-ellipsis-h: \"\\f141\";\n$fa-var-ellipsis-v: \"\\f142\";\n$fa-var-empire: \"\\f1d1\";\n$fa-var-envelope: \"\\f0e0\";\n$fa-var-envelope-o: \"\\f003\";\n$fa-var-envelope-open: \"\\f2b6\";\n$fa-var-envelope-open-o: \"\\f2b7\";\n$fa-var-envelope-square: \"\\f199\";\n$fa-var-envira: \"\\f299\";\n$fa-var-eraser: \"\\f12d\";\n$fa-var-etsy: \"\\f2d7\";\n$fa-var-eur: \"\\f153\";\n$fa-var-euro: \"\\f153\";\n$fa-var-exchange: \"\\f0ec\";\n$fa-var-exclamation: \"\\f12a\";\n$fa-var-exclamation-circle: \"\\f06a\";\n$fa-var-exclamation-triangle: \"\\f071\";\n$fa-var-expand: \"\\f065\";\n$fa-var-expeditedssl: \"\\f23e\";\n$fa-var-external-link: \"\\f08e\";\n$fa-var-external-link-square: \"\\f14c\";\n$fa-var-eye: \"\\f06e\";\n$fa-var-eye-slash: \"\\f070\";\n$fa-var-eyedropper: \"\\f1fb\";\n$fa-var-fa: \"\\f2b4\";\n$fa-var-facebook: \"\\f09a\";\n$fa-var-facebook-f: \"\\f09a\";\n$fa-var-facebook-official: \"\\f230\";\n$fa-var-facebook-square: \"\\f082\";\n$fa-var-fast-backward: \"\\f049\";\n$fa-var-fast-forward: \"\\f050\";\n$fa-var-fax: \"\\f1ac\";\n$fa-var-feed: \"\\f09e\";\n$fa-var-female: \"\\f182\";\n$fa-var-fighter-jet: \"\\f0fb\";\n$fa-var-file: \"\\f15b\";\n$fa-var-file-archive-o: \"\\f1c6\";\n$fa-var-file-audio-o: \"\\f1c7\";\n$fa-var-file-code-o: \"\\f1c9\";\n$fa-var-file-excel-o: \"\\f1c3\";\n$fa-var-file-image-o: \"\\f1c5\";\n$fa-var-file-movie-o: \"\\f1c8\";\n$fa-var-file-o: \"\\f016\";\n$fa-var-file-pdf-o: \"\\f1c1\";\n$fa-var-file-photo-o: \"\\f1c5\";\n$fa-var-file-picture-o: \"\\f1c5\";\n$fa-var-file-powerpoint-o: \"\\f1c4\";\n$fa-var-file-sound-o: \"\\f1c7\";\n$fa-var-file-text: \"\\f15c\";\n$fa-var-file-text-o: \"\\f0f6\";\n$fa-var-file-video-o: \"\\f1c8\";\n$fa-var-file-word-o: \"\\f1c2\";\n$fa-var-file-zip-o: \"\\f1c6\";\n$fa-var-files-o: \"\\f0c5\";\n$fa-var-film: \"\\f008\";\n$fa-var-filter: \"\\f0b0\";\n$fa-var-fire: \"\\f06d\";\n$fa-var-fire-extinguisher: \"\\f134\";\n$fa-var-firefox: \"\\f269\";\n$fa-var-first-order: \"\\f2b0\";\n$fa-var-flag: \"\\f024\";\n$fa-var-flag-checkered: \"\\f11e\";\n$fa-var-flag-o: \"\\f11d\";\n$fa-var-flash: \"\\f0e7\";\n$fa-var-flask: \"\\f0c3\";\n$fa-var-flickr: \"\\f16e\";\n$fa-var-floppy-o: \"\\f0c7\";\n$fa-var-folder: \"\\f07b\";\n$fa-var-folder-o: \"\\f114\";\n$fa-var-folder-open: \"\\f07c\";\n$fa-var-folder-open-o: \"\\f115\";\n$fa-var-font: \"\\f031\";\n$fa-var-font-awesome: \"\\f2b4\";\n$fa-var-fonticons: \"\\f280\";\n$fa-var-fort-awesome: \"\\f286\";\n$fa-var-forumbee: \"\\f211\";\n$fa-var-forward: \"\\f04e\";\n$fa-var-foursquare: \"\\f180\";\n$fa-var-free-code-camp: \"\\f2c5\";\n$fa-var-frown-o: \"\\f119\";\n$fa-var-futbol-o: \"\\f1e3\";\n$fa-var-gamepad: \"\\f11b\";\n$fa-var-gavel: \"\\f0e3\";\n$fa-var-gbp: \"\\f154\";\n$fa-var-ge: \"\\f1d1\";\n$fa-var-gear: \"\\f013\";\n$fa-var-gears: \"\\f085\";\n$fa-var-genderless: \"\\f22d\";\n$fa-var-get-pocket: \"\\f265\";\n$fa-var-gg: \"\\f260\";\n$fa-var-gg-circle: \"\\f261\";\n$fa-var-gift: \"\\f06b\";\n$fa-var-git: \"\\f1d3\";\n$fa-var-git-square: \"\\f1d2\";\n$fa-var-github: \"\\f09b\";\n$fa-var-github-alt: \"\\f113\";\n$fa-var-github-square: \"\\f092\";\n$fa-var-gitlab: \"\\f296\";\n$fa-var-gittip: \"\\f184\";\n$fa-var-glass: \"\\f000\";\n$fa-var-glide: \"\\f2a5\";\n$fa-var-glide-g: \"\\f2a6\";\n$fa-var-globe: \"\\f0ac\";\n$fa-var-google: \"\\f1a0\";\n$fa-var-google-plus: \"\\f0d5\";\n$fa-var-google-plus-circle: \"\\f2b3\";\n$fa-var-google-plus-official: \"\\f2b3\";\n$fa-var-google-plus-square: \"\\f0d4\";\n$fa-var-google-wallet: \"\\f1ee\";\n$fa-var-graduation-cap: \"\\f19d\";\n$fa-var-gratipay: \"\\f184\";\n$fa-var-grav: \"\\f2d6\";\n$fa-var-group: \"\\f0c0\";\n$fa-var-h-square: \"\\f0fd\";\n$fa-var-hacker-news: \"\\f1d4\";\n$fa-var-hand-grab-o: \"\\f255\";\n$fa-var-hand-lizard-o: \"\\f258\";\n$fa-var-hand-o-down: \"\\f0a7\";\n$fa-var-hand-o-left: \"\\f0a5\";\n$fa-var-hand-o-right: \"\\f0a4\";\n$fa-var-hand-o-up: \"\\f0a6\";\n$fa-var-hand-paper-o: \"\\f256\";\n$fa-var-hand-peace-o: \"\\f25b\";\n$fa-var-hand-pointer-o: \"\\f25a\";\n$fa-var-hand-rock-o: \"\\f255\";\n$fa-var-hand-scissors-o: \"\\f257\";\n$fa-var-hand-spock-o: \"\\f259\";\n$fa-var-hand-stop-o: \"\\f256\";\n$fa-var-handshake-o: \"\\f2b5\";\n$fa-var-hard-of-hearing: \"\\f2a4\";\n$fa-var-hashtag: \"\\f292\";\n$fa-var-hdd-o: \"\\f0a0\";\n$fa-var-header: \"\\f1dc\";\n$fa-var-headphones: \"\\f025\";\n$fa-var-heart: \"\\f004\";\n$fa-var-heart-o: \"\\f08a\";\n$fa-var-heartbeat: \"\\f21e\";\n$fa-var-history: \"\\f1da\";\n$fa-var-home: \"\\f015\";\n$fa-var-hospital-o: \"\\f0f8\";\n$fa-var-hotel: \"\\f236\";\n$fa-var-hourglass: \"\\f254\";\n$fa-var-hourglass-1: \"\\f251\";\n$fa-var-hourglass-2: \"\\f252\";\n$fa-var-hourglass-3: \"\\f253\";\n$fa-var-hourglass-end: \"\\f253\";\n$fa-var-hourglass-half: \"\\f252\";\n$fa-var-hourglass-o: \"\\f250\";\n$fa-var-hourglass-start: \"\\f251\";\n$fa-var-houzz: \"\\f27c\";\n$fa-var-html5: \"\\f13b\";\n$fa-var-i-cursor: \"\\f246\";\n$fa-var-id-badge: \"\\f2c1\";\n$fa-var-id-card: \"\\f2c2\";\n$fa-var-id-card-o: \"\\f2c3\";\n$fa-var-ils: \"\\f20b\";\n$fa-var-image: \"\\f03e\";\n$fa-var-imdb: \"\\f2d8\";\n$fa-var-inbox: \"\\f01c\";\n$fa-var-indent: \"\\f03c\";\n$fa-var-industry: \"\\f275\";\n$fa-var-info: \"\\f129\";\n$fa-var-info-circle: \"\\f05a\";\n$fa-var-inr: \"\\f156\";\n$fa-var-instagram: \"\\f16d\";\n$fa-var-institution: \"\\f19c\";\n$fa-var-internet-explorer: \"\\f26b\";\n$fa-var-intersex: \"\\f224\";\n$fa-var-ioxhost: \"\\f208\";\n$fa-var-italic: \"\\f033\";\n$fa-var-joomla: \"\\f1aa\";\n$fa-var-jpy: \"\\f157\";\n$fa-var-jsfiddle: \"\\f1cc\";\n$fa-var-key: \"\\f084\";\n$fa-var-keyboard-o: \"\\f11c\";\n$fa-var-krw: \"\\f159\";\n$fa-var-language: \"\\f1ab\";\n$fa-var-laptop: \"\\f109\";\n$fa-var-lastfm: \"\\f202\";\n$fa-var-lastfm-square: \"\\f203\";\n$fa-var-leaf: \"\\f06c\";\n$fa-var-leanpub: \"\\f212\";\n$fa-var-legal: \"\\f0e3\";\n$fa-var-lemon-o: \"\\f094\";\n$fa-var-level-down: \"\\f149\";\n$fa-var-level-up: \"\\f148\";\n$fa-var-life-bouy: \"\\f1cd\";\n$fa-var-life-buoy: \"\\f1cd\";\n$fa-var-life-ring: \"\\f1cd\";\n$fa-var-life-saver: \"\\f1cd\";\n$fa-var-lightbulb-o: \"\\f0eb\";\n$fa-var-line-chart: \"\\f201\";\n$fa-var-link: \"\\f0c1\";\n$fa-var-linkedin: \"\\f0e1\";\n$fa-var-linkedin-square: \"\\f08c\";\n$fa-var-linode: \"\\f2b8\";\n$fa-var-linux: \"\\f17c\";\n$fa-var-list: \"\\f03a\";\n$fa-var-list-alt: \"\\f022\";\n$fa-var-list-ol: \"\\f0cb\";\n$fa-var-list-ul: \"\\f0ca\";\n$fa-var-location-arrow: \"\\f124\";\n$fa-var-lock: \"\\f023\";\n$fa-var-long-arrow-down: \"\\f175\";\n$fa-var-long-arrow-left: \"\\f177\";\n$fa-var-long-arrow-right: \"\\f178\";\n$fa-var-long-arrow-up: \"\\f176\";\n$fa-var-low-vision: \"\\f2a8\";\n$fa-var-magic: \"\\f0d0\";\n$fa-var-magnet: \"\\f076\";\n$fa-var-mail-forward: \"\\f064\";\n$fa-var-mail-reply: \"\\f112\";\n$fa-var-mail-reply-all: \"\\f122\";\n$fa-var-male: \"\\f183\";\n$fa-var-map: \"\\f279\";\n$fa-var-map-marker: \"\\f041\";\n$fa-var-map-o: \"\\f278\";\n$fa-var-map-pin: \"\\f276\";\n$fa-var-map-signs: \"\\f277\";\n$fa-var-mars: \"\\f222\";\n$fa-var-mars-double: \"\\f227\";\n$fa-var-mars-stroke: \"\\f229\";\n$fa-var-mars-stroke-h: \"\\f22b\";\n$fa-var-mars-stroke-v: \"\\f22a\";\n$fa-var-maxcdn: \"\\f136\";\n$fa-var-meanpath: \"\\f20c\";\n$fa-var-medium: \"\\f23a\";\n$fa-var-medkit: \"\\f0fa\";\n$fa-var-meetup: \"\\f2e0\";\n$fa-var-meh-o: \"\\f11a\";\n$fa-var-mercury: \"\\f223\";\n$fa-var-microchip: \"\\f2db\";\n$fa-var-microphone: \"\\f130\";\n$fa-var-microphone-slash: \"\\f131\";\n$fa-var-minus: \"\\f068\";\n$fa-var-minus-circle: \"\\f056\";\n$fa-var-minus-square: \"\\f146\";\n$fa-var-minus-square-o: \"\\f147\";\n$fa-var-mixcloud: \"\\f289\";\n$fa-var-mobile: \"\\f10b\";\n$fa-var-mobile-phone: \"\\f10b\";\n$fa-var-modx: \"\\f285\";\n$fa-var-money: \"\\f0d6\";\n$fa-var-moon-o: \"\\f186\";\n$fa-var-mortar-board: \"\\f19d\";\n$fa-var-motorcycle: \"\\f21c\";\n$fa-var-mouse-pointer: \"\\f245\";\n$fa-var-music: \"\\f001\";\n$fa-var-navicon: \"\\f0c9\";\n$fa-var-neuter: \"\\f22c\";\n$fa-var-newspaper-o: \"\\f1ea\";\n$fa-var-object-group: \"\\f247\";\n$fa-var-object-ungroup: \"\\f248\";\n$fa-var-odnoklassniki: \"\\f263\";\n$fa-var-odnoklassniki-square: \"\\f264\";\n$fa-var-opencart: \"\\f23d\";\n$fa-var-openid: \"\\f19b\";\n$fa-var-opera: \"\\f26a\";\n$fa-var-optin-monster: \"\\f23c\";\n$fa-var-outdent: \"\\f03b\";\n$fa-var-pagelines: \"\\f18c\";\n$fa-var-paint-brush: \"\\f1fc\";\n$fa-var-paper-plane: \"\\f1d8\";\n$fa-var-paper-plane-o: \"\\f1d9\";\n$fa-var-paperclip: \"\\f0c6\";\n$fa-var-paragraph: \"\\f1dd\";\n$fa-var-paste: \"\\f0ea\";\n$fa-var-pause: \"\\f04c\";\n$fa-var-pause-circle: \"\\f28b\";\n$fa-var-pause-circle-o: \"\\f28c\";\n$fa-var-paw: \"\\f1b0\";\n$fa-var-paypal: \"\\f1ed\";\n$fa-var-pencil: \"\\f040\";\n$fa-var-pencil-square: \"\\f14b\";\n$fa-var-pencil-square-o: \"\\f044\";\n$fa-var-percent: \"\\f295\";\n$fa-var-phone: \"\\f095\";\n$fa-var-phone-square: \"\\f098\";\n$fa-var-photo: \"\\f03e\";\n$fa-var-picture-o: \"\\f03e\";\n$fa-var-pie-chart: \"\\f200\";\n$fa-var-pied-piper: \"\\f2ae\";\n$fa-var-pied-piper-alt: \"\\f1a8\";\n$fa-var-pied-piper-pp: \"\\f1a7\";\n$fa-var-pinterest: \"\\f0d2\";\n$fa-var-pinterest-p: \"\\f231\";\n$fa-var-pinterest-square: \"\\f0d3\";\n$fa-var-plane: \"\\f072\";\n$fa-var-play: \"\\f04b\";\n$fa-var-play-circle: \"\\f144\";\n$fa-var-play-circle-o: \"\\f01d\";\n$fa-var-plug: \"\\f1e6\";\n$fa-var-plus: \"\\f067\";\n$fa-var-plus-circle: \"\\f055\";\n$fa-var-plus-square: \"\\f0fe\";\n$fa-var-plus-square-o: \"\\f196\";\n$fa-var-podcast: \"\\f2ce\";\n$fa-var-power-off: \"\\f011\";\n$fa-var-print: \"\\f02f\";\n$fa-var-product-hunt: \"\\f288\";\n$fa-var-puzzle-piece: \"\\f12e\";\n$fa-var-qq: \"\\f1d6\";\n$fa-var-qrcode: \"\\f029\";\n$fa-var-question: \"\\f128\";\n$fa-var-question-circle: \"\\f059\";\n$fa-var-question-circle-o: \"\\f29c\";\n$fa-var-quora: \"\\f2c4\";\n$fa-var-quote-left: \"\\f10d\";\n$fa-var-quote-right: \"\\f10e\";\n$fa-var-ra: \"\\f1d0\";\n$fa-var-random: \"\\f074\";\n$fa-var-ravelry: \"\\f2d9\";\n$fa-var-rebel: \"\\f1d0\";\n$fa-var-recycle: \"\\f1b8\";\n$fa-var-reddit: \"\\f1a1\";\n$fa-var-reddit-alien: \"\\f281\";\n$fa-var-reddit-square: \"\\f1a2\";\n$fa-var-refresh: \"\\f021\";\n$fa-var-registered: \"\\f25d\";\n$fa-var-remove: \"\\f00d\";\n$fa-var-renren: \"\\f18b\";\n$fa-var-reorder: \"\\f0c9\";\n$fa-var-repeat: \"\\f01e\";\n$fa-var-reply: \"\\f112\";\n$fa-var-reply-all: \"\\f122\";\n$fa-var-resistance: \"\\f1d0\";\n$fa-var-retweet: \"\\f079\";\n$fa-var-rmb: \"\\f157\";\n$fa-var-road: \"\\f018\";\n$fa-var-rocket: \"\\f135\";\n$fa-var-rotate-left: \"\\f0e2\";\n$fa-var-rotate-right: \"\\f01e\";\n$fa-var-rouble: \"\\f158\";\n$fa-var-rss: \"\\f09e\";\n$fa-var-rss-square: \"\\f143\";\n$fa-var-rub: \"\\f158\";\n$fa-var-ruble: \"\\f158\";\n$fa-var-rupee: \"\\f156\";\n$fa-var-s15: \"\\f2cd\";\n$fa-var-safari: \"\\f267\";\n$fa-var-save: \"\\f0c7\";\n$fa-var-scissors: \"\\f0c4\";\n$fa-var-scribd: \"\\f28a\";\n$fa-var-search: \"\\f002\";\n$fa-var-search-minus: \"\\f010\";\n$fa-var-search-plus: \"\\f00e\";\n$fa-var-sellsy: \"\\f213\";\n$fa-var-send: \"\\f1d8\";\n$fa-var-send-o: \"\\f1d9\";\n$fa-var-server: \"\\f233\";\n$fa-var-share: \"\\f064\";\n$fa-var-share-alt: \"\\f1e0\";\n$fa-var-share-alt-square: \"\\f1e1\";\n$fa-var-share-square: \"\\f14d\";\n$fa-var-share-square-o: \"\\f045\";\n$fa-var-shekel: \"\\f20b\";\n$fa-var-sheqel: \"\\f20b\";\n$fa-var-shield: \"\\f132\";\n$fa-var-ship: \"\\f21a\";\n$fa-var-shirtsinbulk: \"\\f214\";\n$fa-var-shopping-bag: \"\\f290\";\n$fa-var-shopping-basket: \"\\f291\";\n$fa-var-shopping-cart: \"\\f07a\";\n$fa-var-shower: \"\\f2cc\";\n$fa-var-sign-in: \"\\f090\";\n$fa-var-sign-language: \"\\f2a7\";\n$fa-var-sign-out: \"\\f08b\";\n$fa-var-signal: \"\\f012\";\n$fa-var-signing: \"\\f2a7\";\n$fa-var-simplybuilt: \"\\f215\";\n$fa-var-sitemap: \"\\f0e8\";\n$fa-var-skyatlas: \"\\f216\";\n$fa-var-skype: \"\\f17e\";\n$fa-var-slack: \"\\f198\";\n$fa-var-sliders: \"\\f1de\";\n$fa-var-slideshare: \"\\f1e7\";\n$fa-var-smile-o: \"\\f118\";\n$fa-var-snapchat: \"\\f2ab\";\n$fa-var-snapchat-ghost: \"\\f2ac\";\n$fa-var-snapchat-square: \"\\f2ad\";\n$fa-var-snowflake-o: \"\\f2dc\";\n$fa-var-soccer-ball-o: \"\\f1e3\";\n$fa-var-sort: \"\\f0dc\";\n$fa-var-sort-alpha-asc: \"\\f15d\";\n$fa-var-sort-alpha-desc: \"\\f15e\";\n$fa-var-sort-amount-asc: \"\\f160\";\n$fa-var-sort-amount-desc: \"\\f161\";\n$fa-var-sort-asc: \"\\f0de\";\n$fa-var-sort-desc: \"\\f0dd\";\n$fa-var-sort-down: \"\\f0dd\";\n$fa-var-sort-numeric-asc: \"\\f162\";\n$fa-var-sort-numeric-desc: \"\\f163\";\n$fa-var-sort-up: \"\\f0de\";\n$fa-var-soundcloud: \"\\f1be\";\n$fa-var-space-shuttle: \"\\f197\";\n$fa-var-spinner: \"\\f110\";\n$fa-var-spoon: \"\\f1b1\";\n$fa-var-spotify: \"\\f1bc\";\n$fa-var-square: \"\\f0c8\";\n$fa-var-square-o: \"\\f096\";\n$fa-var-stack-exchange: \"\\f18d\";\n$fa-var-stack-overflow: \"\\f16c\";\n$fa-var-star: \"\\f005\";\n$fa-var-star-half: \"\\f089\";\n$fa-var-star-half-empty: \"\\f123\";\n$fa-var-star-half-full: \"\\f123\";\n$fa-var-star-half-o: \"\\f123\";\n$fa-var-star-o: \"\\f006\";\n$fa-var-steam: \"\\f1b6\";\n$fa-var-steam-square: \"\\f1b7\";\n$fa-var-step-backward: \"\\f048\";\n$fa-var-step-forward: \"\\f051\";\n$fa-var-stethoscope: \"\\f0f1\";\n$fa-var-sticky-note: \"\\f249\";\n$fa-var-sticky-note-o: \"\\f24a\";\n$fa-var-stop: \"\\f04d\";\n$fa-var-stop-circle: \"\\f28d\";\n$fa-var-stop-circle-o: \"\\f28e\";\n$fa-var-street-view: \"\\f21d\";\n$fa-var-strikethrough: \"\\f0cc\";\n$fa-var-stumbleupon: \"\\f1a4\";\n$fa-var-stumbleupon-circle: \"\\f1a3\";\n$fa-var-subscript: \"\\f12c\";\n$fa-var-subway: \"\\f239\";\n$fa-var-suitcase: \"\\f0f2\";\n$fa-var-sun-o: \"\\f185\";\n$fa-var-superpowers: \"\\f2dd\";\n$fa-var-superscript: \"\\f12b\";\n$fa-var-support: \"\\f1cd\";\n$fa-var-table: \"\\f0ce\";\n$fa-var-tablet: \"\\f10a\";\n$fa-var-tachometer: \"\\f0e4\";\n$fa-var-tag: \"\\f02b\";\n$fa-var-tags: \"\\f02c\";\n$fa-var-tasks: \"\\f0ae\";\n$fa-var-taxi: \"\\f1ba\";\n$fa-var-telegram: \"\\f2c6\";\n$fa-var-television: \"\\f26c\";\n$fa-var-tencent-weibo: \"\\f1d5\";\n$fa-var-terminal: \"\\f120\";\n$fa-var-text-height: \"\\f034\";\n$fa-var-text-width: \"\\f035\";\n$fa-var-th: \"\\f00a\";\n$fa-var-th-large: \"\\f009\";\n$fa-var-th-list: \"\\f00b\";\n$fa-var-themeisle: \"\\f2b2\";\n$fa-var-thermometer: \"\\f2c7\";\n$fa-var-thermometer-0: \"\\f2cb\";\n$fa-var-thermometer-1: \"\\f2ca\";\n$fa-var-thermometer-2: \"\\f2c9\";\n$fa-var-thermometer-3: \"\\f2c8\";\n$fa-var-thermometer-4: \"\\f2c7\";\n$fa-var-thermometer-empty: \"\\f2cb\";\n$fa-var-thermometer-full: \"\\f2c7\";\n$fa-var-thermometer-half: \"\\f2c9\";\n$fa-var-thermometer-quarter: \"\\f2ca\";\n$fa-var-thermometer-three-quarters: \"\\f2c8\";\n$fa-var-thumb-tack: \"\\f08d\";\n$fa-var-thumbs-down: \"\\f165\";\n$fa-var-thumbs-o-down: \"\\f088\";\n$fa-var-thumbs-o-up: \"\\f087\";\n$fa-var-thumbs-up: \"\\f164\";\n$fa-var-ticket: \"\\f145\";\n$fa-var-times: \"\\f00d\";\n$fa-var-times-circle: \"\\f057\";\n$fa-var-times-circle-o: \"\\f05c\";\n$fa-var-times-rectangle: \"\\f2d3\";\n$fa-var-times-rectangle-o: \"\\f2d4\";\n$fa-var-tint: \"\\f043\";\n$fa-var-toggle-down: \"\\f150\";\n$fa-var-toggle-left: \"\\f191\";\n$fa-var-toggle-off: \"\\f204\";\n$fa-var-toggle-on: \"\\f205\";\n$fa-var-toggle-right: \"\\f152\";\n$fa-var-toggle-up: \"\\f151\";\n$fa-var-trademark: \"\\f25c\";\n$fa-var-train: \"\\f238\";\n$fa-var-transgender: \"\\f224\";\n$fa-var-transgender-alt: \"\\f225\";\n$fa-var-trash: \"\\f1f8\";\n$fa-var-trash-o: \"\\f014\";\n$fa-var-tree: \"\\f1bb\";\n$fa-var-trello: \"\\f181\";\n$fa-var-tripadvisor: \"\\f262\";\n$fa-var-trophy: \"\\f091\";\n$fa-var-truck: \"\\f0d1\";\n$fa-var-try: \"\\f195\";\n$fa-var-tty: \"\\f1e4\";\n$fa-var-tumblr: \"\\f173\";\n$fa-var-tumblr-square: \"\\f174\";\n$fa-var-turkish-lira: \"\\f195\";\n$fa-var-tv: \"\\f26c\";\n$fa-var-twitch: \"\\f1e8\";\n$fa-var-twitter: \"\\f099\";\n$fa-var-twitter-square: \"\\f081\";\n$fa-var-umbrella: \"\\f0e9\";\n$fa-var-underline: \"\\f0cd\";\n$fa-var-undo: \"\\f0e2\";\n$fa-var-universal-access: \"\\f29a\";\n$fa-var-university: \"\\f19c\";\n$fa-var-unlink: \"\\f127\";\n$fa-var-unlock: \"\\f09c\";\n$fa-var-unlock-alt: \"\\f13e\";\n$fa-var-unsorted: \"\\f0dc\";\n$fa-var-upload: \"\\f093\";\n$fa-var-usb: \"\\f287\";\n$fa-var-usd: \"\\f155\";\n$fa-var-user: \"\\f007\";\n$fa-var-user-circle: \"\\f2bd\";\n$fa-var-user-circle-o: \"\\f2be\";\n$fa-var-user-md: \"\\f0f0\";\n$fa-var-user-o: \"\\f2c0\";\n$fa-var-user-plus: \"\\f234\";\n$fa-var-user-secret: \"\\f21b\";\n$fa-var-user-times: \"\\f235\";\n$fa-var-users: \"\\f0c0\";\n$fa-var-vcard: \"\\f2bb\";\n$fa-var-vcard-o: \"\\f2bc\";\n$fa-var-venus: \"\\f221\";\n$fa-var-venus-double: \"\\f226\";\n$fa-var-venus-mars: \"\\f228\";\n$fa-var-viacoin: \"\\f237\";\n$fa-var-viadeo: \"\\f2a9\";\n$fa-var-viadeo-square: \"\\f2aa\";\n$fa-var-video-camera: \"\\f03d\";\n$fa-var-vimeo: \"\\f27d\";\n$fa-var-vimeo-square: \"\\f194\";\n$fa-var-vine: \"\\f1ca\";\n$fa-var-vk: \"\\f189\";\n$fa-var-volume-control-phone: \"\\f2a0\";\n$fa-var-volume-down: \"\\f027\";\n$fa-var-volume-off: \"\\f026\";\n$fa-var-volume-up: \"\\f028\";\n$fa-var-warning: \"\\f071\";\n$fa-var-wechat: \"\\f1d7\";\n$fa-var-weibo: \"\\f18a\";\n$fa-var-weixin: \"\\f1d7\";\n$fa-var-whatsapp: \"\\f232\";\n$fa-var-wheelchair: \"\\f193\";\n$fa-var-wheelchair-alt: \"\\f29b\";\n$fa-var-wifi: \"\\f1eb\";\n$fa-var-wikipedia-w: \"\\f266\";\n$fa-var-window-close: \"\\f2d3\";\n$fa-var-window-close-o: \"\\f2d4\";\n$fa-var-window-maximize: \"\\f2d0\";\n$fa-var-window-minimize: \"\\f2d1\";\n$fa-var-window-restore: \"\\f2d2\";\n$fa-var-windows: \"\\f17a\";\n$fa-var-won: \"\\f159\";\n$fa-var-wordpress: \"\\f19a\";\n$fa-var-wpbeginner: \"\\f297\";\n$fa-var-wpexplorer: \"\\f2de\";\n$fa-var-wpforms: \"\\f298\";\n$fa-var-wrench: \"\\f0ad\";\n$fa-var-xing: \"\\f168\";\n$fa-var-xing-square: \"\\f169\";\n$fa-var-y-combinator: \"\\f23b\";\n$fa-var-y-combinator-square: \"\\f1d4\";\n$fa-var-yahoo: \"\\f19e\";\n$fa-var-yc: \"\\f23b\";\n$fa-var-yc-square: \"\\f1d4\";\n$fa-var-yelp: \"\\f1e9\";\n$fa-var-yen: \"\\f157\";\n$fa-var-yoast: \"\\f2b1\";\n$fa-var-youtube: \"\\f167\";\n$fa-var-youtube-play: \"\\f16a\";\n$fa-var-youtube-square: \"\\f166\";\n\n","// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n padding: .2em .25em .15em;\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix} {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.#{$fa-css-prefix} {\n &.pull-left { margin-right: .3em; }\n &.pull-right { margin-left: .3em; }\n}\n","// Spinning Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .#{$fa-css-prefix}-rotate-90,\n:root .#{$fa-css-prefix}-rotate-180,\n:root .#{$fa-css-prefix}-rotate-270,\n:root .#{$fa-css-prefix}-flip-horizontal,\n:root .#{$fa-css-prefix}-flip-vertical {\n filter: none;\n}\n","// Mixins\n// --------------------------\n\n@mixin fa-icon() {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n -webkit-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n","// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.#{$fa-css-prefix}-stack-1x { line-height: inherit; }\n.#{$fa-css-prefix}-stack-2x { font-size: 2em; }\n.#{$fa-css-prefix}-inverse { color: $fa-inverse; }\n","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }\n.#{$fa-css-prefix}-music:before { content: $fa-var-music; }\n.#{$fa-css-prefix}-search:before { content: $fa-var-search; }\n.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }\n.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }\n.#{$fa-css-prefix}-star:before { content: $fa-var-star; }\n.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }\n.#{$fa-css-prefix}-user:before { content: $fa-var-user; }\n.#{$fa-css-prefix}-film:before { content: $fa-var-film; }\n.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }\n.#{$fa-css-prefix}-th:before { content: $fa-var-th; }\n.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }\n.#{$fa-css-prefix}-check:before { content: $fa-var-check; }\n.#{$fa-css-prefix}-remove:before,\n.#{$fa-css-prefix}-close:before,\n.#{$fa-css-prefix}-times:before { content: $fa-var-times; }\n.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }\n.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }\n.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }\n.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }\n.#{$fa-css-prefix}-gear:before,\n.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }\n.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }\n.#{$fa-css-prefix}-home:before { content: $fa-var-home; }\n.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }\n.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }\n.#{$fa-css-prefix}-road:before { content: $fa-var-road; }\n.#{$fa-css-prefix}-download:before { content: $fa-var-download; }\n.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }\n.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }\n.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }\n.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }\n.#{$fa-css-prefix}-rotate-right:before,\n.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }\n.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }\n.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }\n.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }\n.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }\n.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }\n.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }\n.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }\n.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }\n.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }\n.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }\n.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }\n.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }\n.#{$fa-css-prefix}-book:before { content: $fa-var-book; }\n.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }\n.#{$fa-css-prefix}-print:before { content: $fa-var-print; }\n.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }\n.#{$fa-css-prefix}-font:before { content: $fa-var-font; }\n.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }\n.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }\n.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }\n.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }\n.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }\n.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }\n.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }\n.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }\n.#{$fa-css-prefix}-list:before { content: $fa-var-list; }\n.#{$fa-css-prefix}-dedent:before,\n.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }\n.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }\n.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }\n.#{$fa-css-prefix}-photo:before,\n.#{$fa-css-prefix}-image:before,\n.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }\n.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }\n.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }\n.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }\n.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }\n.#{$fa-css-prefix}-edit:before,\n.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }\n.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }\n.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }\n.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }\n.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }\n.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }\n.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }\n.#{$fa-css-prefix}-play:before { content: $fa-var-play; }\n.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }\n.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }\n.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }\n.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }\n.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }\n.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }\n.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }\n.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }\n.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }\n.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }\n.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }\n.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }\n.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }\n.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }\n.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }\n.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }\n.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }\n.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }\n.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }\n.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }\n.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }\n.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }\n.#{$fa-css-prefix}-mail-forward:before,\n.#{$fa-css-prefix}-share:before { content: $fa-var-share; }\n.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }\n.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }\n.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }\n.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }\n.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }\n.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }\n.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }\n.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }\n.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }\n.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }\n.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }\n.#{$fa-css-prefix}-warning:before,\n.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }\n.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }\n.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }\n.#{$fa-css-prefix}-random:before { content: $fa-var-random; }\n.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }\n.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }\n.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }\n.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }\n.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }\n.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }\n.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }\n.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }\n.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }\n.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }\n.#{$fa-css-prefix}-bar-chart-o:before,\n.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }\n.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }\n.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }\n.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }\n.#{$fa-css-prefix}-key:before { content: $fa-var-key; }\n.#{$fa-css-prefix}-gears:before,\n.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }\n.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }\n.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }\n.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }\n.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }\n.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }\n.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }\n.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }\n.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }\n.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }\n.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }\n.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }\n.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }\n.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }\n.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }\n.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }\n.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }\n.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }\n.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }\n.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }\n.#{$fa-css-prefix}-facebook-f:before,\n.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }\n.#{$fa-css-prefix}-github:before { content: $fa-var-github; }\n.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }\n.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }\n.#{$fa-css-prefix}-feed:before,\n.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }\n.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }\n.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }\n.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }\n.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }\n.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }\n.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }\n.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }\n.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }\n.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }\n.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }\n.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }\n.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }\n.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }\n.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }\n.#{$fa-css-prefix}-group:before,\n.#{$fa-css-prefix}-users:before { content: $fa-var-users; }\n.#{$fa-css-prefix}-chain:before,\n.#{$fa-css-prefix}-link:before { content: $fa-var-link; }\n.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }\n.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }\n.#{$fa-css-prefix}-cut:before,\n.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }\n.#{$fa-css-prefix}-copy:before,\n.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }\n.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }\n.#{$fa-css-prefix}-save:before,\n.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }\n.#{$fa-css-prefix}-square:before { content: $fa-var-square; }\n.#{$fa-css-prefix}-navicon:before,\n.#{$fa-css-prefix}-reorder:before,\n.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }\n.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }\n.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }\n.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }\n.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }\n.#{$fa-css-prefix}-table:before { content: $fa-var-table; }\n.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }\n.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }\n.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }\n.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }\n.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }\n.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }\n.#{$fa-css-prefix}-money:before { content: $fa-var-money; }\n.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }\n.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }\n.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }\n.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }\n.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }\n.#{$fa-css-prefix}-unsorted:before,\n.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }\n.#{$fa-css-prefix}-sort-down:before,\n.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }\n.#{$fa-css-prefix}-sort-up:before,\n.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }\n.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }\n.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }\n.#{$fa-css-prefix}-rotate-left:before,\n.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }\n.#{$fa-css-prefix}-legal:before,\n.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }\n.#{$fa-css-prefix}-dashboard:before,\n.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }\n.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }\n.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }\n.#{$fa-css-prefix}-flash:before,\n.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }\n.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }\n.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }\n.#{$fa-css-prefix}-paste:before,\n.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }\n.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }\n.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }\n.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }\n.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }\n.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }\n.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }\n.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }\n.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }\n.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }\n.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }\n.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }\n.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }\n.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }\n.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }\n.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }\n.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }\n.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }\n.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }\n.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }\n.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }\n.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }\n.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }\n.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }\n.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }\n.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }\n.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }\n.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }\n.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }\n.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }\n.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }\n.#{$fa-css-prefix}-mobile-phone:before,\n.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }\n.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }\n.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }\n.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }\n.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }\n.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }\n.#{$fa-css-prefix}-mail-reply:before,\n.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }\n.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }\n.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }\n.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }\n.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }\n.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }\n.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }\n.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }\n.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }\n.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }\n.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }\n.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }\n.#{$fa-css-prefix}-code:before { content: $fa-var-code; }\n.#{$fa-css-prefix}-mail-reply-all:before,\n.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }\n.#{$fa-css-prefix}-star-half-empty:before,\n.#{$fa-css-prefix}-star-half-full:before,\n.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }\n.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }\n.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }\n.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }\n.#{$fa-css-prefix}-unlink:before,\n.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }\n.#{$fa-css-prefix}-question:before { content: $fa-var-question; }\n.#{$fa-css-prefix}-info:before { content: $fa-var-info; }\n.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }\n.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }\n.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }\n.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }\n.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }\n.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }\n.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }\n.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }\n.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }\n.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }\n.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }\n.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }\n.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }\n.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }\n.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }\n.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }\n.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }\n.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }\n.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }\n.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }\n.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }\n.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }\n.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }\n.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }\n.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }\n.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }\n.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }\n.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }\n.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }\n.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }\n.#{$fa-css-prefix}-toggle-down:before,\n.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }\n.#{$fa-css-prefix}-toggle-up:before,\n.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }\n.#{$fa-css-prefix}-toggle-right:before,\n.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }\n.#{$fa-css-prefix}-euro:before,\n.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }\n.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }\n.#{$fa-css-prefix}-dollar:before,\n.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }\n.#{$fa-css-prefix}-rupee:before,\n.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }\n.#{$fa-css-prefix}-cny:before,\n.#{$fa-css-prefix}-rmb:before,\n.#{$fa-css-prefix}-yen:before,\n.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }\n.#{$fa-css-prefix}-ruble:before,\n.#{$fa-css-prefix}-rouble:before,\n.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }\n.#{$fa-css-prefix}-won:before,\n.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }\n.#{$fa-css-prefix}-bitcoin:before,\n.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }\n.#{$fa-css-prefix}-file:before { content: $fa-var-file; }\n.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }\n.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }\n.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }\n.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }\n.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }\n.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }\n.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }\n.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }\n.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }\n.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }\n.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }\n.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }\n.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }\n.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }\n.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }\n.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }\n.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }\n.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }\n.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }\n.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }\n.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }\n.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }\n.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }\n.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }\n.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }\n.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }\n.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }\n.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }\n.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }\n.#{$fa-css-prefix}-android:before { content: $fa-var-android; }\n.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }\n.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }\n.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }\n.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }\n.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }\n.#{$fa-css-prefix}-female:before { content: $fa-var-female; }\n.#{$fa-css-prefix}-male:before { content: $fa-var-male; }\n.#{$fa-css-prefix}-gittip:before,\n.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }\n.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }\n.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }\n.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }\n.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }\n.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }\n.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }\n.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }\n.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }\n.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }\n.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }\n.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }\n.#{$fa-css-prefix}-toggle-left:before,\n.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }\n.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }\n.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }\n.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }\n.#{$fa-css-prefix}-turkish-lira:before,\n.#{$fa-css-prefix}-try:before { content: $fa-var-try; }\n.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }\n.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }\n.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }\n.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }\n.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }\n.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }\n.#{$fa-css-prefix}-institution:before,\n.#{$fa-css-prefix}-bank:before,\n.#{$fa-css-prefix}-university:before { content: $fa-var-university; }\n.#{$fa-css-prefix}-mortar-board:before,\n.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }\n.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }\n.#{$fa-css-prefix}-google:before { content: $fa-var-google; }\n.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }\n.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }\n.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }\n.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }\n.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }\n.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }\n.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }\n.#{$fa-css-prefix}-language:before { content: $fa-var-language; }\n.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }\n.#{$fa-css-prefix}-building:before { content: $fa-var-building; }\n.#{$fa-css-prefix}-child:before { content: $fa-var-child; }\n.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }\n.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }\n.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }\n.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }\n.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }\n.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }\n.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }\n.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }\n.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }\n.#{$fa-css-prefix}-automobile:before,\n.#{$fa-css-prefix}-car:before { content: $fa-var-car; }\n.#{$fa-css-prefix}-cab:before,\n.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }\n.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }\n.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }\n.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }\n.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }\n.#{$fa-css-prefix}-database:before { content: $fa-var-database; }\n.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }\n.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }\n.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }\n.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }\n.#{$fa-css-prefix}-file-photo-o:before,\n.#{$fa-css-prefix}-file-picture-o:before,\n.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }\n.#{$fa-css-prefix}-file-zip-o:before,\n.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }\n.#{$fa-css-prefix}-file-sound-o:before,\n.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }\n.#{$fa-css-prefix}-file-movie-o:before,\n.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }\n.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }\n.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }\n.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }\n.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }\n.#{$fa-css-prefix}-life-bouy:before,\n.#{$fa-css-prefix}-life-buoy:before,\n.#{$fa-css-prefix}-life-saver:before,\n.#{$fa-css-prefix}-support:before,\n.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }\n.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }\n.#{$fa-css-prefix}-ra:before,\n.#{$fa-css-prefix}-resistance:before,\n.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }\n.#{$fa-css-prefix}-ge:before,\n.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }\n.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }\n.#{$fa-css-prefix}-git:before { content: $fa-var-git; }\n.#{$fa-css-prefix}-y-combinator-square:before,\n.#{$fa-css-prefix}-yc-square:before,\n.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }\n.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }\n.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }\n.#{$fa-css-prefix}-wechat:before,\n.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }\n.#{$fa-css-prefix}-send:before,\n.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }\n.#{$fa-css-prefix}-send-o:before,\n.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }\n.#{$fa-css-prefix}-history:before { content: $fa-var-history; }\n.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }\n.#{$fa-css-prefix}-header:before { content: $fa-var-header; }\n.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }\n.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }\n.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }\n.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }\n.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }\n.#{$fa-css-prefix}-soccer-ball-o:before,\n.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }\n.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }\n.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }\n.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }\n.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }\n.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }\n.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }\n.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }\n.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }\n.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }\n.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }\n.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }\n.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }\n.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }\n.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }\n.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }\n.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }\n.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }\n.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }\n.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }\n.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }\n.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }\n.#{$fa-css-prefix}-at:before { content: $fa-var-at; }\n.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }\n.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }\n.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }\n.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }\n.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }\n.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }\n.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }\n.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }\n.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }\n.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }\n.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }\n.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }\n.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }\n.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }\n.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }\n.#{$fa-css-prefix}-shekel:before,\n.#{$fa-css-prefix}-sheqel:before,\n.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }\n.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }\n.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }\n.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }\n.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }\n.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }\n.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }\n.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }\n.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }\n.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }\n.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }\n.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }\n.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }\n.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }\n.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }\n.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }\n.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }\n.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }\n.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }\n.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }\n.#{$fa-css-prefix}-intersex:before,\n.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }\n.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }\n.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }\n.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }\n.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }\n.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }\n.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }\n.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }\n.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }\n.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }\n.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }\n.#{$fa-css-prefix}-server:before { content: $fa-var-server; }\n.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }\n.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }\n.#{$fa-css-prefix}-hotel:before,\n.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }\n.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }\n.#{$fa-css-prefix}-train:before { content: $fa-var-train; }\n.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }\n.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }\n.#{$fa-css-prefix}-yc:before,\n.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }\n.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }\n.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }\n.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }\n.#{$fa-css-prefix}-battery-4:before,\n.#{$fa-css-prefix}-battery:before,\n.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }\n.#{$fa-css-prefix}-battery-3:before,\n.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }\n.#{$fa-css-prefix}-battery-2:before,\n.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }\n.#{$fa-css-prefix}-battery-1:before,\n.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }\n.#{$fa-css-prefix}-battery-0:before,\n.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }\n.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }\n.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }\n.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }\n.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }\n.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }\n.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }\n.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }\n.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }\n.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }\n.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }\n.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }\n.#{$fa-css-prefix}-hourglass-1:before,\n.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }\n.#{$fa-css-prefix}-hourglass-2:before,\n.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }\n.#{$fa-css-prefix}-hourglass-3:before,\n.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }\n.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }\n.#{$fa-css-prefix}-hand-grab-o:before,\n.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }\n.#{$fa-css-prefix}-hand-stop-o:before,\n.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }\n.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }\n.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }\n.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }\n.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }\n.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }\n.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }\n.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }\n.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }\n.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }\n.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }\n.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }\n.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }\n.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }\n.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }\n.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }\n.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }\n.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }\n.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }\n.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }\n.#{$fa-css-prefix}-tv:before,\n.#{$fa-css-prefix}-television:before { content: $fa-var-television; }\n.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }\n.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }\n.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }\n.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }\n.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }\n.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }\n.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }\n.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }\n.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }\n.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }\n.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }\n.#{$fa-css-prefix}-map:before { content: $fa-var-map; }\n.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }\n.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }\n.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }\n.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }\n.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }\n.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }\n.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }\n.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }\n.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }\n.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }\n.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }\n.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }\n.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }\n.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }\n.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }\n.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }\n.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }\n.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }\n.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }\n.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }\n.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }\n.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }\n.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }\n.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }\n.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }\n.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }\n.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }\n.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }\n.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }\n.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }\n.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }\n.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }\n.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }\n.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }\n.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }\n.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }\n.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }\n.#{$fa-css-prefix}-asl-interpreting:before,\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }\n.#{$fa-css-prefix}-deafness:before,\n.#{$fa-css-prefix}-hard-of-hearing:before,\n.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }\n.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }\n.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }\n.#{$fa-css-prefix}-signing:before,\n.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }\n.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }\n.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }\n.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }\n.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }\n.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }\n.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }\n.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }\n.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }\n.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }\n.#{$fa-css-prefix}-google-plus-circle:before,\n.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }\n.#{$fa-css-prefix}-fa:before,\n.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }\n.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }\n.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }\n.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }\n.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }\n.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }\n.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }\n.#{$fa-css-prefix}-vcard:before,\n.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }\n.#{$fa-css-prefix}-vcard-o:before,\n.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }\n.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }\n.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }\n.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }\n.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }\n.#{$fa-css-prefix}-drivers-license:before,\n.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }\n.#{$fa-css-prefix}-drivers-license-o:before,\n.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }\n.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }\n.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }\n.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }\n.#{$fa-css-prefix}-thermometer-4:before,\n.#{$fa-css-prefix}-thermometer:before,\n.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }\n.#{$fa-css-prefix}-thermometer-3:before,\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }\n.#{$fa-css-prefix}-thermometer-2:before,\n.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }\n.#{$fa-css-prefix}-thermometer-1:before,\n.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }\n.#{$fa-css-prefix}-thermometer-0:before,\n.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }\n.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }\n.#{$fa-css-prefix}-bathtub:before,\n.#{$fa-css-prefix}-s15:before,\n.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }\n.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }\n.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }\n.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }\n.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }\n.#{$fa-css-prefix}-times-rectangle:before,\n.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }\n.#{$fa-css-prefix}-times-rectangle-o:before,\n.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }\n.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }\n.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }\n.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }\n.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }\n.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }\n.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }\n.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }\n.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }\n.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }\n.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }\n.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }\n","// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only(); }\n.sr-only-focusable { @include sr-only-focusable(); }\n","// Styles for admin pages.\n// --------------------------------------------------\n.views-display-setting .views-admin-label {\n // From views-admin.css\n display: inline-block;\n float: left; /* LTR */\n // From views-admin.theme.css\n margin-right: 3pt; /* LTR */\n}\n","// Comment\n// --------------------------------------------------\n.comment {\n margin-top: 15px;\n .user-picture {\n float: left;\n margin-right: 10px;\n a {\n display: block;\n }\n }\n .submitted {\n font-size: 0.90em;\n .permalink {\n margin-left: 5px;\n }\n .new {\n color: $brand-danger;\n }\n }\n .content {\n margin: 10px 0;\n }\n .links {\n font-size: 0.80em;\n }\n}\n","// General\n// -----------------------------------------------------------------------------\n.form-item {\n margin-top: 0;\n}\nform {\n .form-managed-file {\n input {\n display: inline-block;\n margin: 0 10px 0 0;\n }\n }\n .container-inline-date .date-padding {\n padding: 0;\n float: none;\n }\n .form-actions {\n .btn {\n margin-right: 10px;\n }\n }\n .field-type-datetime {\n select {\n min-width: 80px;\n }\n }\n .format-toggle {\n float: none;\n }\n .field-multiple-table {\n thead {\n th {\n padding: 10px !important;\n label {\n margin: 0;\n font-weight: bold;\n }\n }\n }\n }\n .description {\n margin: 2px 0;\n color: $gray;\n }\n}\n\n.media-widget {\n > a {\n margin: 0 10px 0 0;\n @extend .btn;\n }\n}\n\nfieldset {\n padding: 0;\n legend {\n float: left;\n line-height: 1em;\n margin: 0;\n }\n .panel-body {\n clear: both;\n }\n}\n\nhtml.js {\n input.form-autocomplete {\n background: image-url(\"throbber.gif\") no-repeat right 8px #fff !important;\n }\n input.throbbing {\n background-position: right -122px !important;\n }\n fieldset.collapsed {\n height: auto;\n border-left-width: 1px;\n border-right-width: 1px;\n }\n}\n\n.views-exposed-form .views-exposed-widget .form-submit {\n margin-top: 1.8em;\n}\n\n@media (max-width: 767px) { \n form {\n .btn {\n width: 100%;\n display: block;\n clear: both;\n margin: 0 0 5px;\n }\n input.form-text,\n textarea,\n select {\n width: 100%;\n }\n .confirm-parent, \n .password-parent, \n .password-suggestions {\n width: auto !important;\n }\n .password-parent {\n div.password-strength {\n width: 150px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px;\n }\n }\n .confirm-parent {\n div.password-confirm {\n width: 110px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px;\n }\n }\n }\n}\n\n// Node Edit Form\n// -----------------------------------------------------------------------------\n#node-edit {\n #edit-title {\n font-size: 1.6em;\n line-height: 1.6em;\n height: 45px;\n width: 90%;\n }\n .form-item-path-alias {\n @include clearfix;\n label, input {\n display: inline;\n }\n }\n .burr-flipped-sidebar {\n .panel-pane {\n @include well;\n padding: 10px;\n .pane-title {\n margin-top: 0;\n }\n }\n .pane-node-form-buttons {\n background: none;\n padding: inherit;\n .form-actions {\n margin: 0;\n border-top: 0;\n }\n }\n }\n .pane-node-form-buttons {\n clear: both;\n }\n}\n\n.filter-wrapper {\n @include well;\n margin-top: 10px;\n .form-item {\n margin: 0 0 10px;\n padding: 0;\n }\n .filter-guidelines {\n padding: 0;\n .tips {\n margin-left: 0;\n }\n }\n}\n\n// Field Overview\n// -----------------------------------------------------------------------------\n.page-admin {\n form {\n table {\n select,\n input.form-text {\n width: 150px;\n }\n }\n }\n}\n\n// Features\n// -----------------------------------------------------------------------------\n#features-export-form {\n .features-export-parent {\n margin: 0 0 20px;\n fieldset.collapsed {\n min-height: 43px !important;\n background: none;\n }\n .features-export-list {\n padding: 10px;\n .form-item {\n float: none !important;\n }\n }\n }\n}\n\n// Panels edit content form.\n// -----------------------------------------------------------------------------\n#panels-panel-context-edit-move,\n#panels-panel-context-edit-content {\n .container {\n width: auto;\n padding: 0;\n .row {\n margin-bottom: 20px;\n }\n }\n}\n\n// Navbar form\n// -----------------------------------------------------------------------------\n.navbar-form {\n .form-wrapper {\n padding: 0;\n }\n .form-item-keys,\n .form-item {\n margin-top: 0 !important;\n }\n .form-submit {\n display: none;\n }\n}\n\n// Search form block\n// -----------------------------------------------------------------------------\n.pane-search-box {\n form {\n .form-wrapper {\n .form-group {\n display: block;\n margin-bottom: 10px;\n }\n }\n }\n}\n\n// Draggable tables\n// -----------------------------------------------------------------------------\n.tabledrag-handle .handle {\n box-sizing: content-box;\n}\n","// Sass Mixins\n// --------------------------------------------------\n@mixin transparent($color, $alpha) {\n $rgba: rgba($color, $alpha);\n $ie-hex-str: ie-hex-str($rgba);\n background-color: transparent;\n background-color: $rgba;\n filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$ie-hex-str},endColorstr=#{$ie-hex-str});\n zoom: 1;\n}\n\n@mixin well() {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: $well-bg;\n border: 1px solid darken($well-bg, 7%);\n @include border-radius(4px);\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n@mixin btn() {\n display: inline-block;\n}\n\n// Breakpoint mixin.\n// Usage: @include breakpoint(sm) { ... }\n// -----------------------------------------------------------------------------\n@mixin breakpoint($class) {\n @if $class == xs {\n @media (max-width: $screen-xs-max) { @content; }\n }\n @else if $class == sm {\n @media (min-width: $screen-sm) { @content; }\n }\n @else if $class == md {\n @media (min-width: $screen-md) { @content; }\n }\n @else if $class == lg {\n @media (min-width: $screen-lg) { @content; }\n }\n @else {\n @warn \"Breakpoint mixin supports: xs, sm, md, lg\";\n }\n}\n\n// Font Awesome.\n// Usage: @include fa(bars) { ... }\n// -----------------------------------------------------------------------------\n@mixin fa($icon) {\n @extend .fa;\n @extend .fa-#{$icon}\n}\n","// Layout\n// --------------------------------------------------\n.container {\n .container,\n .container-fluid {\n width: auto;\n margin-left: -15px;\n margin-right: -15px;\n }\n}\n\n#footer {\n margin: 36px 0;\n}\n","// Maintenance page\n// -----------------------------------------------------------------------------\nbody.maintenance-page {\n .container {\n max-width: 970px !important;\n }\n\n .jumbotron {\n background-color: #000000;\n color: white;\n padding: 20px 0;\n h1 {\n font-size: 3.0em;\n margin-top: 0;\n }\n @include breakpoint(md) {\n padding-top: 30px;\n padding-bottom: 30px;\n }\n }\n\n .main {\n padding-top: 20px;\n padding-bottom: 50px;\n }\n\n .page-header {\n h1 {\n font-size: 24px;\n @include breakpoint(md) {\n font-size: 36px;\n }\n }\n }\n\n // Tasks.\n // --------------------------------------------------\n .tasks-list {\n > div {\n margin-bottom: 25px;\n @extend .text-muted;\n h6 {\n margin-bottom: 2px;\n font-size: 14px;\n font-weight: normal;\n }\n h4 {\n margin-top: 0;\n font-size: 14px;\n }\n &.active,\n &.done {\n color: black;\n }\n }\n }\n\n // Forms.\n // --------------------------------------------------\n .form-actions {\n .btn {\n &:first-child {\n @extend .btn-primary;\n background-color: white;\n border-color: black;\n color: black;\n &:hover, &:focus {\n background-color: black;\n border-color: white;\n }\n }\n }\n }\n\n // Progress bar\n .progress {\n .progress-bar {\n background-color: black;\n }\n }\n\n // Theme selection form.\n #panopoly-theme-selection-form {\n .form-type-radio {\n margin: 0 0 2em;\n label {\n display: block;\n }\n .form-radio {\n margin: 0;\n left: 0;\n top: 40%;\n }\n }\n }\n}","// Styles for CTools Modal\n// --------------------------------------------------\nbody.ctools-modal-open {\n overflow: hidden;\n}\n#modalContent {\n .modal-content {\n width: 100%;\n overflow: hidden;\n box-shadow: none !important;\n }\n #modal-content {\n overflow: auto;\n width: 100% !important;\n background: white;\n }\n .panels-add-content-modal {\n background: none;\n padding: 0;\n height: 100%;\n margin: -20px -20px 0;\n width: 100%;\n position: absolute;\n }\n .panels-section-columns,\n .panels-categories-description {\n border: none;\n }\n .panels-section-column-categories {\n margin-left: 0;\n border-right: 1px solid #ccc;\n height: 100%;\n background: white;\n overflow: auto;\n padding-bottom: 20px;\n .btn {\n border: 1px solid $gray-light !important;\n line-height: inherit;\n margin: 0;\n text-align: left;\n }\n }\n .panels-categories-box {\n border: 0;\n a.btn {\n padding: 5px 10px;\n }\n a.active {\n background: $gray-lighter;\n box-shadow: none;\n }\n }\n .panels-root-content-box {\n a.btn {\n padding: 5px 10px;\n }\n }\n .panels-categories-description {\n padding: 20px;\n }\n .panels-section-columns {\n padding-bottom: 20px;\n }\n fieldset.widget-preview {\n margin-top: 18px;\n margin-bottom: 0;\n position: static;\n border: 1px solid #ddd;\n .panel-heading {\n position: relative;\n .btn {\n position: absolute;\n right: 10px;\n top: 5px;\n }\n }\n }\n .ctools-auto-submit-full-form {\n fieldset {\n width: 48%;\n display: block;\n fieldset {\n width: 100%;\n }\n &.widget-preview-single {\n float: right;\n margin-left: 1em;\n margin-top: 0;\n width: 48%;\n max-width: 48% !important;\n }\n }\n .form-actions {\n float: right;\n clear: right;\n width: 48%;\n max-width: 48%;\n text-align: right;\n }\n }\n .form-item-view-settings {\n display: block;\n }\n .form-item-exposed-use-pager {\n display: block;\n }\n #panopoly-form-widget-preview {\n width: 50%;\n float: right;\n .container {\n width: auto;\n }\n }\n}\n","// Basic menu blocks\n// -----------------------------------------------------------------------------\nul.menu > li > ul.menu {\n margin-left: 1em; /* LTR */\n}\n\n// Nav\n// -----------------------------------------------------------------------------\nul.nav {\n > li {\n &.dropdown {\n &:after {\n width: 100%;\n height: 2px;\n background: none;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n content: '';\n }\n }\n }\n}\n\n// Nav expanded\n// -----------------------------------------------------------------------------\n.nav-expanded {\n .caret {\n display: none;\n }\n > li {\n > a {\n font-size: 1.2em;\n text-align: left;\n font-weight: 700;\n color: $text-color;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n ul.dropdown-menu {\n background: none;\n display: block;\n border: 0;\n padding: 0;\n position: static;\n float: none;\n border-radius: 0;\n box-shadow: none;\n li {\n a {\n padding: 3px 15px;\n color: $text-color;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n }\n ul {\n display: none !important;\n }\n }\n @include breakpoint(md) {\n float: none;\n margin-bottom: 18px;\n }\n &.open {\n > a {\n color: $text-color;\n background: none;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n }\n }\n}\n","// Styles for Nodes\n// --------------------------------------------------\n\n// Miscellaneous\n// --------------------------------------------------\n.field-collection-container {\n border: 0;\n .field-collection-view {\n margin: 0;\n padding: 0;\n border: none;\n }\n}\n\n// Panopoly News\n// --------------------------------------------------\n.node-panopoly-page {\n // Teaser\n &.node-teaser {\n .panel-pane {\n margin: 0 0 10px 260px;\n }\n .pane-node-field-featured-image {\n float: left;\n margin-left: 0;\n }\n }\n @media (max-width: $screen-xs-max) {\n .panel-pane {\n float: none !important;\n margin: 0 0 10px !important;\n }\n }\n}\n\n// Panopoly News\n// --------------------------------------------------\n.node-panopoly-news-article {\n // Teaser\n &.node-teaser {\n .panel-pane {\n margin: 0 0 10px 260px;\n }\n .pane-node-field-featured-image {\n float: left;\n margin-left: 0;\n }\n }\n @media (max-width: $screen-xs-max) {\n .panel-pane {\n float: none !important;\n margin: 0 0 10px !important;\n }\n }\n}\n","// General\n// -----------------------------------------------------------------------------\n.panel-display {\n > .row {\n margin-bottom: 20px;\n }\n}\n.panel-flexible .panel-separator {\n display: none;\n}\n\n// Admin\n// -----------------------------------------------------------------------------\n.panels-layouts-checkboxes {\n // Undo default Radix styling so the radio button can appear above the layout.\n input[type=\"radio\"] {\n position: static;\n margin-left: 0px;\n margin-bottom: 20px;\n }\n label {\n margin-left: 0px;\n }\n .form-type-radio {\n margin: 0 !important;\n }\n}\n\n// IPE\n// -----------------------------------------------------------------------------\nbody.panels-ipe {\n margin-bottom: 55px !important;\n}\n\ndiv#panels-ipe-control-container {\n width: auto;\n left: 0;\n right: 0;\n box-shadow: none;\n .panels-ipe-button-container {\n text-align: center;\n .panels-ipe-pseudobutton-container {\n margin: 0 5px;\n a {\n padding: 0px 10px 0px 34px;\n &:hover {\n text-decoration: none;\n }\n }\n }\n }\n .panels-ipe-form-container {\n form {\n > div {\n text-align: center;\n }\n .form-submit {\n margin: 0 5px;\n padding: 0px 10px 0px 34px;\n &:hover {\n box-shadow: none;\n }\n }\n }\n }\n}\n\nul.panels-ipe-linkbar {\n list-style: none outside none;\n > li {\n display: inline-block;\n margin: 0 0 0 5px;\n a {\n margin: 0 !important;\n }\n }\n}\n","// Site name and logo\n// -----------------------------------------------------------------------------\n#logo {\n display: block;\n float: left;\n margin-right: $navbar-padding-horizontal;\n\n // Resize the logo to fit the height of the navbar (which a child theme may\n // change on the desktop).\n height: 100%;\n width: auto;\n}\n#site-name {\n float: left;\n}\n\n// Page header\n// -----------------------------------------------------------------------------\n.page-header {\n margin: 0 0 18px;\n h1 {\n margin: 0;\n }\n}\n\n// Hide the .page-header for pages with .page-title-hidden.\n.page-title-hidden {\n .page-header {\n display: none;\n }\n}\n\n// Breadcrumb\n// -----------------------------------------------------------------------------\n.breadcrumb {\n a {\n i {\n display: none;\n }\n }\n}\n\n// Tabs\n// -----------------------------------------------------------------------------\n.tabs,\n.nav-tabs {\n margin: 0 0 18px;\n}\n\n// Action Links\n// -----------------------------------------------------------------------------\n.action-links {\n list-style: none outside none;\n margin: 0 0 18px;\n padding: 0;\n @include clearfix;\n\n > li {\n float: left;\n margin: 0 10px 0 0;\n }\n}\n\n// Vertical Tabs\n// -----------------------------------------------------------------------------\ndiv.vertical-tabs {\n border: none;\n border: 1px solid #DDD;\n outline: none;\n border-radius: 4px;\n ul.vertical-tabs-list {\n border: none;\n margin-top: 20px;\n margin-bottom: 20px;\n outline: none;\n li {\n border: none;\n background: none;\n outline: none !important;\n border-radius: 4px 0 0 4px;\n border: 1px solid;\n border-color: #fff #ddd #fff #fff;\n &.selected {\n border-color: #ddd #fff #ddd #ddd;\n }\n a {\n outline: none !important;\n border-radius: 4px 0 0 4px;\n &:hover {\n color: #fff;\n background: $link-color;\n text-decoration: none;\n strong {\n text-decoration: none;\n color: #fff;\n }\n }\n }\n }\n }\n .vertical-tabs-panes {\n padding: 20px 10px;\n }\n .form-type-textfield input {\n width: 90%;\n box-sizing: content-box;\n }\n}\n\n// Tables\n// --------------------------------------------------\ntable {\n width: 100%;\n margin-bottom: $line-height-base;\n // Cells\n th,\n td {\n padding: 8px;\n line-height: $line-height-base;\n text-align: left;\n vertical-align: top;\n border-top: 1px solid $table-border-color;\n &.checkbox {\n text-align: center;\n display: table-cell;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0;\n input {\n float: none !important;\n margin-left: 0 !important;\n }\n div.checkbox {\n text-align: center;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0;\n }\n }\n }\n th {\n font-weight: bold;\n }\n // Bottom align for column headings\n thead th {\n vertical-align: bottom;\n }\n // Remove top border from thead by default\n caption + thead tr:first-child th,\n caption + thead tr:first-child td,\n colgroup + thead tr:first-child th,\n colgroup + thead tr:first-child td,\n thead:first-child tr:first-child th,\n thead:first-child tr:first-child td {\n border-top: 0;\n }\n // Account for multiple tbody instances\n tbody + tbody {\n border-top: 2px solid $table-border-color;\n }\n}\n\n// Links\n// --------------------------------------------------\nul.links {\n padding: 0;\n list-style: none outside none;\n &.inline {\n margin: 0;\n li {\n margin: 0 10px 0 0;\n padding: 0;\n }\n }\n}\n\n// Carousel\n// --------------------------------------------------\n.carousel {\n .carousel-control {\n z-index: 100;\n }\n .carousel-indicators li {\n float: none;\n margin-left: 3px;\n margin-right: 3px;\n a {\n display: none;\n }\n }\n .carousel-caption {\n h1, h2, h3, h4, h5, h6 {\n color: white;\n }\n }\n}\n\n// Pager\n// --------------------------------------------------\n.item-list {\n ul.pagination {\n margin: 20px 0;\n > li {\n margin: 0;\n display: inline-block;\n padding: 0;\n position: relative;\n > a, > span {\n padding: 6px 12px;\n border-radius: inherit;\n &.progress-disabled {\n float: left;\n }\n }\n .ajax-progress {\n float: left;\n padding: 6px 5px 6px 10px;\n }\n }\n }\n}\n\n// Misc Fixes\n// --------------------------------------------------\n.ctools-dropdown-container {\n hr {\n margin: 0;\n }\n}\n\nul.nav,\nul.navl li,\nul.dropdown-menu,\nul.dropdown-menu li {\n list-style: none outside none !important;\n}\n\n// Calendar\n// --------------------------------------------------\n.calendar-calendar {\n @extend .col-md-12;\n table.mini {\n @extend .table-bordered;\n td {\n border: 1px solid $gray-lighter !important;\n padding: 5px;\n }\n }\n}\n.view-header {\n .date-nav-wrapper {\n h3 {\n margin-top: 5px !important;\n margin-bottom: 0;\n }\n }\n}\n\n// jQuery UI tabs\n// --------------------------------------------------\n.ui-tabs .ui-tabs-nav {\n padding: 0 5px 5px 5px;\n}\n","// Styles for Views\n// --------------------------------------------------\n\n// Fixes\n// --------------------------------------------------\n.view {\n .row {\n > .list-group {\n @extend .col-md-12;\n }\n }\n}\n.views-exposed-form {\n .views-submit-button,\n .views-reset-button {\n margin-top: 3px;\n }\n}\n","// Mixins\n// -----------------------------------------------------------------------------\n@mixin blockbox {\n @include border-radius(5px);\n border: 1px solid $border;\n margin-bottom: 20px;\n padding:0px;\n .pane-content {\n background-color: transparent;\n margin: 0;\n padding: 15px;\n }\n}\n\n@mixin block-title {\n @include border-radius(5px 5px 0 0);\n border: 1px solid;\n border-bottom: none;\n font-size: 16px;\n line-height: 1.3;\n margin: 0;\n padding: 7px 10px;\n font-weight: normal;\n}\n\n@mixin searchbox {\n form {\n display:block;\n margin:8px 0;\n position:relative;\n width: 100%;\n }\n input.form-text {\n padding-right:30px;\n }\n button[type=\"submit\"],\n input[type=\"submit\"] {\n background:none !important;\n border:none;\n content:\"\\f002\";\n color: $gray;\n display: inline-block;\n font-size: 1.3em;\n font-family: $icon-fa;\n margin: 0;\n padding:0;\n position: absolute;\n right:10px;\n width:25px;\n top: 2px;\n }\n}\n@mixin h4 {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em;\n}\n\n%button {\n // background:$brand-primary;\n // border-color:$brand-primary;\n color: white;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n white-space: nowrap;\n padding: 5px 12px;\n line-height: 1.4em;\n @include border-radius(4px);\n}\n%button:hover, \n%button:focus, \n%button:active {\n // background:$brand-secondary;\n // border-color:$brand-secondary;\n color: white;\n text-decoration: none;\n}\n%button-attached {\n @include border-radius(0 $border-radius-base $border-radius-base 0);\n padding-left: 10px;\n padding-right: 10px;\n}\n\n%screenreader {\n position: absolute;\n top:0;\n left:-9999px\n}\n\n// Force wrap content: https://perishablepress.com/wrapping-content/\n@mixin wrap {\n white-space: pre; /* CSS 2.0 */\n white-space: pre-wrap; /* CSS 2.1 */\n white-space: pre-line; /* CSS 3.0 */\n white-space: -pre-wrap; /* Opera 4-6 */\n white-space: -o-pre-wrap; /* Opera 7 */\n white-space: -moz-pre-wrap; /* Mozilla */\n white-space: -hp-pre-wrap; /* HP Printers */\n word-wrap: break-word; /* IE 5+ */ \n word-break: break-word;\n}\n\n@mixin card {\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.16), 0 0 10px 0 rgba(0, 0, 0, 0.12);\n margin-top: 10px;\n box-sizing: border-box;\n border-radius: 2px;\n background-clip: padding-box;\n text-align: center;\n\n img {\n display: block;\n margin: 0 auto;\n }\n\n h2 {\n margin:.75em 1em;\n text-align: center;\n }\n\n .content {\n margin-left: 1em;\n margin-right: 1em;\n }\n\n .btn-primary {\n margin: 0 auto 1.5em;\n }\n}\n\n@mixin item-list {\n a {\n border: 1px solid $border;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n &:hover {\n color: #ffffff;\n text-decoration: none;\n background: $brand-primary;\n }\n }\n &:first-of-type a {\n @include border-radius(4px 4px 0px 0px);\n }\n &:last-of-type a {\n @include border-radius(0px 0px 4px 4px);\n }\n}\n\n@mixin pointer {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent $smoke;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0;\n}\n\n@mixin submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0;\n}",".clearfix {\n overflow: visible;\n}\n.admin-list {\n dt, dd{\n display:inline-block;\n float:none;\n vertical-align: top;\n }\n}\n.views-edit-view {\n\t.action-list {\n\t\tinput.btn,\n\t\tinput.btn:active,\n\t\tinput.btn:focus,\n\t\tinput.btn:hover, \n\t\tinput[type=\"submit\"]:hover {\n\t\t\tbackground: inherit;\n\t\t\tborder: none;\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\t.footer {\n\t\tbackground: inherit;\n\t}\n}\n\n.modal-content {\n\t.panels-root-content-box a.btn {\n\t\twhite-space: normal;\n\t}\n\t.panel-title {\n\t\tpadding-right: 55px;\n\t}\n}\n\n.views-displays .secondary .open > a:hover {\n\tcolor: #666;\n}\n\n.media-thumbnails-select {\n\tpadding: 0 0 40px;\n}\n\n.page-admin .alert {\n margin: 10px 0;\n}\n// Admin tables.\n.page-admin {\n .container.main {\n width: 100%;\n }\n .table-bordered > thead > tr > th,\n .table-bordered > tbody > tr > th,\n .table-bordered > tbody > tr > td {\n border: none;\n }\n table thead > tr > th.checkbox, \n table.table thead > tr > th.checkbox,\n .table-bordered > tbody > tr > th.checkbox,\n .table-bordered > tbody > tr > td.checkbox,\n .table-striped > tbody > tr:nth-child(odd) > td.checkbox,\n .table-striped > tbody > tr:nth-child(odd) > th.checkbox {\n background-color: transparent;\n border: none;\n margin: 0;\n display: table-cell;\n position: relative;\n }\n .table tbody tr:hover td.checkbox, \n .table tbody tr:hover th.checkbox {\n background-color: #FFFEEE;\n }\n table th.checkbox, \n table td.checkbox {\n label {\n line-height:0;\n padding: 4px;\n vertical-align: top;\n }\n input[type=\"checkbox\"],\n input {\n float: none !important;\n margin: 0 !important;\n position: relative;\n }\n }\n}\n","// License block.\n.pane-dkan-sitewide-dkan-sitewide-license .pane-content {\n word-break: break-word;\n}\n\n// OTHER ACCESS\n.pane-dkan-sitewide-dkan-sitewide-other-access,\n#block-dkan-sitewide-dkan-sitewide-other-access {\n a.btn {\n background-image: auto;\n border:1px solid $smoke;\n padding:6px 10px 6px 36px;\n position:relative;\n i {\n background-position: 0 0;\n position:absolute;\n top:8px;\n left:5px;\n visibility:visible;\n &.ckan-icon-rdfxml {\n background-image: url(../images/rdf.png);\n }\n &.ckan-icon-json {\n background-image: url(../images/json.png);\n }\n }\n &:hover {\n background-color:$gray-lighter;\n }\n }\n .btn-group {\n margin:.6em 0;\n .btn:first-child {\n background-image: url(../images/json.png);\n background-repeat:no-repeat;\n background-position: 10px 10px;\n }\n .btn:last-child {\n background-image: url(../images/rdf.png);\n background-repeat:no-repeat;\n background-position: 10px 10px;\n }\n }\n}\n\n// DKAN FORMS\n#block-dkan-forms-dkan-forms-dataset-help h2.block-title::before{\n content: \"\\f05a\";\n font-family: $icon-fa;\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em;\n}\n\n// FACET Blocks\n.panel-region-sidebar .radix-layouts-sidebar {\n .ctools-collapsible-container,\n div[class*=\"pane-facetapi\"],\n .block-facetapi {\n &.pane-block,\n .pane-content {\n border: none;\n margin: 0;\n padding:0;\n @include border-radius(0);\n }\n .item-list {\n border: 1px solid $border;\n .facetapi-limit-link {\n padding: 10px 22px;\n &:before {\n top: 10px;\n right: 22px;\n }\n }\n }\n h2.pane-title {\n @include border-radius(0);\n border: none;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n &:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px;\n }\n }\n &.ctools-collapsed {\n h2.pane-title:after {\n content: \"\\f078\";\n }\n }\n .ctools-toggle {\n background: none;\n }\n ul {\n margin:0;\n padding:0;\n }\n ul li.leaf {\n list-style-type:none;\n list-style-image:none;\n margin:0;\n padding:0;\n li {\n position:relative;\n a {\n padding-right:48px;\n }\n }\n &.last {\n border-bottom:none;\n }\n li:before {\n content:\"\\f178\";\n font-family:$icon-fa;\n position:absolute;\n top:4px;\n right:30px;\n }\n a {\n color:$gray-dark;\n display:block;\n padding:6px 20px 6px 10px;\n position:relative;\n line-height: 22px;\n &:focus,\n &:hover {\n color:darken($gray-dark, 10%);\n background: rgba(black, 0.03);\n text-decoration:none;\n }\n &:hover:after {\n content:\"\\f055\";\n color:$brand-success;\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:6px;\n }\n img {\n height: 25px;\n width: 25px;\n margin: 0 16px 0 0;\n }\n }\n a.facetapi-active {\n background:$smoke;\n color:#333;\n z-index:0;\n }\n a.facetapi-active:before {\n @include pointer;\n }\n a.facetapi-active:after {\n content:\"\\f00d\";\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:6px;\n }\n a.facetapi-active:hover:after {\n color:red;\n }\n }\n a.facetapi-limit-link {\n display:block;\n padding:5px 30px 5px 5px;\n position:relative;\n }\n a.facetapi-limit-link:before {\n content:\"\\f150\";\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:15px;\n }\n a.facetapi-limit-link.open:before {\n content:\"\\f151\";\n }\n }\n .ctools-collapsible-container .ctools-toggle {\n width: 12px;\n }\n}\n// Date facets.\n.facetapi-facet-changed {\n li.expanded {\n a.facetapi-active {\n background: #ccc;\n border-bottom: 1px dotted #eee;\n color: #333;\n line-height: 22px;\n padding: 6px 20px 6px 10px;\n &:hover {\n background: #ccc;\n color: #333;\n text-decoration: none;\n &:after {\n color: red;\n }\n }\n &:before {\n @include pointer;\n }\n &:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px;\n }\n }\n ul.expanded li.leaf a,\n li.expanded a {\n padding: 6px 20px 6px 20px;\n }\n .item-list {\n border: none;\n }\n }\n}\n\n// Wrap long value strings.\n.facetapi-facet-field-license a {\n @include wrap;\n}\n\n// Groups\n.pane-views-group-block-block,\n#block-views-group-block-block {\n overflow:hidden;\n .views-field-title a {\n display: block;\n padding: .5em 0;\n }\n .views-field-body p {\n margin: .5em 0 1em;\n }\n .group-subscribe-message {\n @include border-bottom-radius(4px);\n background: $brand-primary;\n color: #fff;\n padding:5px;\n text-align: center;\n margin-left: -15px;\n margin-right: -15px;\n a {\n color: #fff;\n display: block;\n }\n }\n}\n\n// Dataset page Group block.\n.node-type-group .radix-bryant .radix-layouts-sidebar .pane-block.pane-views-group-block-block .pane-content {\n padding: 15px 15px 0;\n}\n\n#block-dkan-dataset-dkan-dataset-dataset-help {\n .content {\n padding: 10px;\n }\n}\n\n#block-dkan-forms-dkan-forms-dataset-help {\n h2:before {\n content: \"\\f05a\";\n font-family: $icon-fa;\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em;\n }\n}\n\n// Front page hero blocks.\n.pane-dkan-sitewide-dkan-demo-front,\n#block-dkan-sitewide-demo-front-dkan-demo-front {\n -webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n -moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n //background-color: rgba($brand-primary, 0.5);\n p {\n color: #fff;\n padding: 15px;\n }\n .media-overlay {\n position: relative;\n padding: 0;\n img {\n width: 100%;\n height: auto;\n }\n }\n .media-overlay .media-heading {\n background-color: rgba(0, 0, 0, 0.8);\n bottom: 0;\n color: #FFFFFF;\n font-size: 13px;\n left: 0;\n line-height: 18px;\n margin: 0;\n padding: 12px 10px;\n position: absolute;\n right: 0;\n z-index: 1;\n }\n}\n// Sidebar Social Links.\n.radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content {\n padding: 0;\n li.last a:hover {\n @include border-radius(0 0 3px 3px);\n }\n}\n// Additional Information block.\n.pane-dkan-sitewide-dkan-sitewide-resource-add {\n table {\n margin-top: 0;\n }\n}\n\n// Rounded facet corners.\n.panel-region-sidebar .radix-layouts-sidebar {\n .panel-panel-inner {\n .panels-ipe-portlet-wrapper:first-child,\n > div[class*=\"pane-facetapi\"]:first-child {\n h2.pane-title {\n @include border-radius(5px 5px 0 0);\n }\n }\n .panels-ipe-portlet-wrapper:last-child,\n > div[class*=\"pane-facetapi\"]:last-child {\n .ctools-collapsed,\n &.ctools-collapsed {\n h2.pane-title {\n @include border-radius(0 0 5px 5px);\n }\n }\n }\n }\n}\n","// Variables\n// -----------------------------------------------------------------------------\n\n// bootstrap specific variable. set to false if not using ruby + asset pipeline / compass.\n$bootstrap-sass-asset-helper: false !default;\n\n// Global values\n// -----------------------------------------------------------------------------\n\n// Grays\n// -----------------------------------------------------------------------------\n\n$gray-darker: lighten(#000, 13.5%) !default; // #222\n$gray-dark: lighten(#000, 20%) !default; // #333\n$gray: lighten(#000, 33.5%) !default; // #555\n$gray-light: lighten(#000, 60%) !default; // #999\n$gray-lighter: lighten(#000, 93.5%) !default; // #eee\n$smoke: #ccc;\n$shade: #F3F3F3;\n$border: #ddd;\n\n// Brand colors\n// -----------------------------------------------------------------------------\n\n$brand-primary: #0A77BD;\n$brand-secondary: #002245;\n$brand-success: #5cb85c !default;\n$brand-warning: #FFE285 !default;\n$brand-danger: #d9534f !default;\n$brand-info: #5bc0de !default;\n\n// Scaffolding\n// -----------------------------------------------------------------------------\n\n$body-bg: #fff !default;\n$text-color: $gray-dark !default;\n\n// Links\n// -----------------------------------------------------------------------------\n\n$link-color: $brand-primary !default;\n$link-hover-color: darken($link-color, 15%) !default;\n\n// Typography\n// -----------------------------------------------------------------------------\n\n$font-base:\t\t\t\t\t\t\t\t'Open Sans', \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-sans-serif: 'Open Sans', \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n$font-family-monospace: Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base: $font-base !default;\n\n$font-size-base: 16px !default;\n$font-size-large: ceil($font-size-base * 1.25) !default; // ~18px\n$font-size-small: ceil($font-size-base * 0.85) !default; // ~12px\n\n$font-size-h1: floor($font-size-base * 2.6) !default; // ~36px\n$font-size-h2: floor($font-size-base * 2.15) !default; // ~30px\n$font-size-h3: ceil($font-size-base * 1.7) !default; // ~24px\n$font-size-h4: ceil($font-size-base * 1.25) !default; // ~18px\n$font-size-h5: $font-size-base !default;\n$font-size-h6: ceil($font-size-base * 0.85) !default; // ~12px\n\n$line-height-base: 2 !default; // 20/14\n$line-height-computed: floor($font-size-base * $line-height-base) !default; // ~20px\n\n$headings-font-family: $font-family-base !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n\n// Iconography\n// -----------------------------------------------------------------------------\n\n$icon-fa: 'FontAwesome';\n\n// Components\n// -----------------------------------------------------------------------------\n// Based on 14px font-size and 1.428 line-height (~20px to start)\n\n$padding-base-vertical: 6px !default;\n$padding-base-horizontal: 12px !default;\n\n$padding-large-vertical: 10px !default;\n$padding-large-horizontal: 16px !default;\n\n$padding-small-vertical: 5px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 1px !default;\n$padding-xs-horizontal: 5px !default;\n\n$line-height-large: 1.33 !default;\n$line-height-small: 1.5 !default;\n\n$border-radius-base: 4px !default;\n$border-radius-large: 6px !default;\n$border-radius-small: 3px !default;\n\n$component-active-color: #fff !default;\n$component-active-bg: $brand-primary !default;\n\n$caret-width-base: 4px !default;\n$caret-width-large: 5px !default;\n\n// Tables\n// -----------------------------------------------------------------------------\n\n$table-cell-padding: 8px !default;\n$table-condensed-cell-padding: 5px !default;\n\n$table-bg: transparent !default; // overall background-color\n$table-bg-accent: #f9f9f9 !default; // for striping\n$table-bg-hover: #f5f5f5 !default;\n$table-bg-active: $table-bg-hover !default;\n\n$table-border-color: #ddd !default; // table and cell border\n\n\n// Buttons\n// -----------------------------------------------------------------------------\n\n$btn-font-weight: normal !default;\n\n$btn-default-color: #333 !default;\n$btn-default-bg: #fff !default;\n$btn-default-border: #ccc !default;\n\n$btn-primary-color: #fff !default;\n$btn-primary-bg: $brand-primary !default;\n$btn-primary-border: darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color: #fff !default;\n$btn-success-bg: $brand-success !default;\n$btn-success-border: darken($btn-success-bg, 5%) !default;\n\n$btn-warning-color: #fff !default;\n$btn-warning-bg: $brand-warning !default;\n$btn-warning-border: darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color: #fff !default;\n$btn-danger-bg: $brand-danger !default;\n$btn-danger-border: darken($btn-danger-bg, 5%) !default;\n\n$btn-info-color: #fff !default;\n$btn-info-bg: $brand-info !default;\n$btn-info-border: darken($btn-info-bg, 5%) !default;\n\n$btn-link-disabled-color: $gray-light !default;\n\n\n// Forms\n// -----------------------------------------------------------------------------\n\n$input-bg: #fff !default;\n$input-bg-disabled: $gray-lighter !default;\n\n$input-color: $gray !default;\n$input-border: #ccc !default;\n$input-border-radius: $border-radius-base !default;\n$input-border-focus: #66afe9 !default;\n\n$input-color-placeholder: $gray-light !default;\n\n$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n$legend-color: $gray-dark !default;\n$legend-border-color: #e5e5e5 !default;\n\n$input-group-addon-bg: $gray-lighter !default;\n$input-group-addon-border-color: $input-border !default;\n\n\n// Dropdowns\n// -----------------------------------------------------------------------------\n\n$dropdown-bg: #fff !default;\n$dropdown-border: rgba(0,0,0,.15) !default;\n$dropdown-fallback-border: #ccc !default;\n$dropdown-divider-bg: #e5e5e5 !default;\n\n$dropdown-link-color: $gray-dark !default;\n$dropdown-link-hover-color: darken($gray-dark, 5%) !default;\n$dropdown-link-hover-bg: #f5f5f5 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-light !default;\n\n$dropdown-header-color: $gray-light !default;\n\n\n// COMPONENT VARIABLES\n// ------------------------------------------------------------------------------------------------------\n\n\n// Z-index master list\n// -----------------------------------------------------------------------------\n// Used for a bird's eye view of components dependent on the z-axis\n// Try to avoid customizing these :)\n\n$zindex-navbar: 1000 !default;\n$zindex-dropdown: 1000 !default;\n$zindex-popover: 1010 !default;\n$zindex-tooltip: 1030 !default;\n$zindex-navbar-fixed: 1030 !default;\n$zindex-modal-background: 1040 !default;\n$zindex-modal: 1050 !default;\n\n// Media queries breakpoints\n// ------------------------------------------------------------------------------------------------------\n\n// Extra small screen / phone\n// Note: Deprecated $screen-xs and $screen-phone as of v3.0.1\n$screen-xs: 480px !default;\n$screen-xs-min: $screen-xs !default;\n$screen-phone: $screen-xs-min !default;\n\n// Small screen / tablet\n// Note: Deprecated $screen-sm and $screen-tablet as of v3.0.1\n$screen-sm: 768px !default;\n$screen-sm-min: $screen-sm !default;\n$screen-tablet: $screen-sm-min !default;\n\n// Medium screen / desktop\n// Note: Deprecated $screen-md and $screen-desktop as of v3.0.1\n$screen-md: 992px !default;\n$screen-md-min: $screen-md !default;\n$screen-desktop: $screen-md-min !default;\n\n// Large screen / wide desktop\n// Note: Deprecated $screen-lg and $screen-lg-desktop as of v3.0.1\n$screen-lg: 1200px !default;\n$screen-lg-min: $screen-lg !default;\n$screen-lg-desktop: $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max: ($screen-sm-min - 1) !default;\n$screen-sm-max: ($screen-md-min - 1) !default;\n$screen-md-max: ($screen-lg-min - 1) !default;\n\n\n// Grid system\n// ------------------------------------------------------------------------------------------------------\n\n// Number of columns in the grid system\n$grid-columns: 12 !default;\n// Padding, to be divided by two and applied to the left and right of all columns\n$grid-gutter-width: 30px !default;\n\n// Navbar collapse\n\n// Point at which the navbar becomes uncollapsed\n$grid-float-breakpoint: $screen-sm-min !default;\n// Point at which the navbar begins collapsing\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n// Navbar\n// -----------------------------------------------------------------------------\n\n// Basics of a navbar\n$navbar-height: 50px !default;\n$navbar-margin-bottom: $line-height-computed !default;\n$navbar-border-radius: $border-radius-base !default;\n$navbar-padding-horizontal: floor($grid-gutter-width / 2) !default;\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;\n\n$navbar-default-color: #777 !default;\n$navbar-default-bg: #f8f8f8 !default;\n$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color: #777 !default;\n$navbar-default-link-hover-color: #333 !default;\n$navbar-default-link-hover-bg: transparent !default;\n$navbar-default-link-active-color: #555 !default;\n$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color: #ccc !default;\n$navbar-default-link-disabled-bg: transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color: $navbar-default-link-color !default;\n$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;\n$navbar-default-brand-hover-bg: transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: #ddd !default;\n$navbar-default-toggle-icon-bar-bg: #ccc !default;\n$navbar-default-toggle-border-color: #ddd !default;\n\n\n// Inverted navbar\n//\n// Reset inverted navbar basics\n$navbar-inverse-color: $gray-light !default;\n$navbar-inverse-bg: #222 !default;\n$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color: $gray-light !default;\n$navbar-inverse-link-hover-color: #fff !default;\n$navbar-inverse-link-hover-bg: transparent !default;\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color: #444 !default;\n$navbar-inverse-link-disabled-bg: transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color: #fff !default;\n$navbar-inverse-brand-hover-bg: transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: #333 !default;\n$navbar-inverse-toggle-icon-bar-bg: #fff !default;\n$navbar-inverse-toggle-border-color: #333 !default;\n\n\n// Navs\n// -----------------------------------------------------------------------------\n\n$nav-link-padding: 10px 15px !default;\n$nav-link-hover-bg: $gray-lighter !default;\n\n$nav-disabled-link-color: $gray-light !default;\n$nav-disabled-link-hover-color: $gray-light !default;\n\n$nav-open-link-hover-color: #fff !default;\n\n// Tabs\n$nav-tabs-border-color: #ddd !default;\n\n$nav-tabs-link-hover-border-color: $gray-lighter !default;\n\n$nav-tabs-active-link-hover-bg: $body-bg !default;\n$nav-tabs-active-link-hover-color: $gray !default;\n$nav-tabs-active-link-hover-border-color: #ddd !default;\n\n$nav-tabs-justified-link-border-color: #ddd !default;\n$nav-tabs-justified-active-link-border-color: $body-bg !default;\n\n// Pills\n$nav-pills-border-radius: $border-radius-base !default;\n$nav-pills-active-link-hover-bg: $component-active-bg !default;\n$nav-pills-active-link-hover-color: $component-active-color !default;\n\n\n// Pagination\n// -----------------------------------------------------------------------------\n\n$pagination-bg: #fff !default;\n$pagination-border: #ddd !default;\n\n$pagination-hover-bg: $gray-lighter !default;\n\n$pagination-active-bg: $brand-primary !default;\n$pagination-active-color: #fff !default;\n\n$pagination-disabled-color: $gray-light !default;\n\n\n// Pager\n// -----------------------------------------------------------------------------\n\n$pager-border-radius: 15px !default;\n$pager-disabled-color: $gray-light !default;\n\n\n// Jumbotron\n// -----------------------------------------------------------------------------\n\n$jumbotron-padding: 30px !default;\n$jumbotron-color: inherit !default;\n$jumbotron-bg: $gray-lighter !default;\n$jumbotron-heading-color: inherit !default;\n$jumbotron-font-size: ceil($font-size-base * 1.5) !default;\n\n\n// Form states and alerts\n// -----------------------------------------------------------------------------\n\n$state-success-text: #3c763d !default;\n$state-success-bg: #dff0d8 !default;\n$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text: #31708f !default;\n$state-info-bg: #d9edf7 !default;\n$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text: #8a6d3b !default;\n$state-warning-bg: #fcf8e3 !default;\n$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text: #a94442 !default;\n$state-danger-bg: #f2dede !default;\n$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n// Tooltips\n// -----------------------------------------------------------------------------\n$tooltip-max-width: 200px !default;\n$tooltip-color: #fff !default;\n$tooltip-bg: #000 !default;\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n// -----------------------------------------------------------------------------\n$popover-bg: #fff !default;\n$popover-max-width: 276px !default;\n$popover-border-color: rgba(0,0,0,.2) !default;\n$popover-fallback-border-color: #ccc !default;\n\n$popover-title-bg: darken($popover-bg, 3%) !default;\n\n$popover-arrow-width: 10px !default;\n$popover-arrow-color: #fff !default;\n\n$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;\n$popover-arrow-outer-color: rgba(0,0,0,.25) !default;\n$popover-arrow-outer-fallback-color: #999 !default;\n\n\n// Labels\n// -----------------------------------------------------------------------------\n\n$label-default-bg: $gray-light !default;\n$label-primary-bg: $brand-primary !default;\n$label-success-bg: $brand-success !default;\n$label-info-bg: $brand-info !default;\n$label-warning-bg: $brand-warning !default;\n$label-danger-bg: $brand-danger !default;\n\n$label-color: #fff !default;\n$label-link-hover-color: #fff !default;\n\n\n// Modals\n// -----------------------------------------------------------------------------\n$modal-inner-padding: 20px !default;\n\n$modal-title-padding: 15px !default;\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: #fff !default;\n$modal-content-border-color: rgba(0,0,0,.2) !default;\n$modal-content-fallback-border-color: #999 !default;\n\n$modal-backdrop-bg: #000 !default;\n$modal-header-border-color: #e5e5e5 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n\n\n// Alerts\n// -----------------------------------------------------------------------------\n$alert-padding: 15px !default;\n$alert-border-radius: $border-radius-base !default;\n$alert-link-font-weight: bold !default;\n\n$alert-success-bg: $state-success-bg !default;\n$alert-success-text: $state-success-text !default;\n$alert-success-border: $state-success-border !default;\n\n$alert-info-bg: $state-info-bg !default;\n$alert-info-text: $state-info-text !default;\n$alert-info-border: $state-info-border !default;\n\n$alert-warning-bg: $state-warning-bg !default;\n$alert-warning-text: $state-warning-text !default;\n$alert-warning-border: $state-warning-border !default;\n\n$alert-danger-bg: $state-danger-bg !default;\n$alert-danger-text: $state-danger-text !default;\n$alert-danger-border: $state-danger-border !default;\n\n\n// Progress bars\n// -----------------------------------------------------------------------------\n$progress-bg: #f5f5f5 !default;\n$progress-bar-color: #fff !default;\n\n$progress-bar-bg: $brand-primary !default;\n$progress-bar-success-bg: $brand-success !default;\n$progress-bar-warning-bg: $brand-warning !default;\n$progress-bar-danger-bg: $brand-danger !default;\n$progress-bar-info-bg: $brand-info !default;\n\n\n// List group\n// -----------------------------------------------------------------------------\n$list-group-bg: #fff !default;\n$list-group-border: #ddd !default;\n$list-group-border-radius: $border-radius-base !default;\n\n$list-group-hover-bg: #f5f5f5 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border: $list-group-active-bg !default;\n\n$list-group-link-color: #555 !default;\n$list-group-link-heading-color: #333 !default;\n\n\n// Panels\n// -----------------------------------------------------------------------------\n$panel-bg: #fff !default;\n$panel-inner-border: #ddd !default;\n$panel-border-radius: $border-radius-base !default;\n$panel-footer-bg: #f5f5f5 !default;\n\n$panel-default-text: $gray-dark !default;\n$panel-default-border: #ddd !default;\n$panel-default-heading-bg: #f5f5f5 !default;\n\n$panel-primary-text: #fff !default;\n$panel-primary-border: $brand-primary !default;\n$panel-primary-heading-bg: $brand-primary !default;\n\n$panel-success-text: $state-success-text !default;\n$panel-success-border: $state-success-border !default;\n$panel-success-heading-bg: $state-success-bg !default;\n\n$panel-warning-text: $state-warning-text !default;\n$panel-warning-border: $state-warning-border !default;\n$panel-warning-heading-bg: $state-warning-bg !default;\n\n$panel-danger-text: $state-danger-text !default;\n$panel-danger-border: $state-danger-border !default;\n$panel-danger-heading-bg: $state-danger-bg !default;\n\n$panel-info-text: $state-info-text !default;\n$panel-info-border: $state-info-border !default;\n$panel-info-heading-bg: $state-info-bg !default;\n\n\n// Thumbnails\n// -----------------------------------------------------------------------------\n$thumbnail-padding: 4px !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border: #ddd !default;\n$thumbnail-border-radius: $border-radius-base !default;\n\n$thumbnail-caption-color: $text-color !default;\n$thumbnail-caption-padding: 9px !default;\n\n\n// Wells\n// -----------------------------------------------------------------------------\n$well-bg: #f5f5f5 !default;\n\n\n// Badges\n// -----------------------------------------------------------------------------\n$badge-color: #fff !default;\n$badge-link-hover-color: #fff !default;\n$badge-bg: $gray-light !default;\n\n$badge-active-color: $link-color !default;\n$badge-active-bg: #fff !default;\n\n$badge-font-weight: bold !default;\n$badge-line-height: 1 !default;\n$badge-border-radius: 10px !default;\n\n\n// Breadcrumbs\n// -----------------------------------------------------------------------------\n$breadcrumb-bg: #f5f5f5 !default;\n$breadcrumb-color: #ccc !default;\n$breadcrumb-active-color: $gray-light !default;\n$breadcrumb-separator: \"/\" !default;\n\n\n// Carousel\n// ------------------------\n\n$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color: #fff !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-font-size: 20px !default;\n\n$carousel-indicator-active-bg: #fff !default;\n$carousel-indicator-border-color: #fff !default;\n\n$carousel-caption-color: #fff !default;\n\n\n// Close\n// ------------------------\n$close-font-weight: bold !default;\n$close-color: #000 !default;\n$close-text-shadow: 0 1px 0 #fff !default;\n\n\n// Code\n// ------------------------\n$code-color: #c7254e !default;\n$code-bg: #f9f2f4 !default;\n\n$pre-bg: #f5f5f5 !default;\n$pre-color: $gray-dark !default;\n$pre-border-color: #ccc !default;\n$pre-scrollable-max-height: 340px !default;\n\n// Type\n// ------------------------\n$text-muted: $gray-light !default;\n$abbr-border-color: $gray-light !default;\n$headings-small-color: $gray-light !default;\n$blockquote-small-color: $gray-light !default;\n$blockquote-border-color: $gray-lighter !default;\n$page-header-border-color: $gray-lighter !default;\n\n// Miscellaneous\n// -----------------------------------------------------------------------------\n\n// Hr border color\n$hr-border: $gray-lighter !default;\n\n// Horizontal forms & lists\n$component-offset-horizontal: 180px !default;\n\n\n// Container sizes\n// ------------------------------------------------------------------------------------------------------\n\n// Small screen / tablet\n$container-tablet: ((720px + $grid-gutter-width)) !default;\n$container-sm: $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop: ((940px + $grid-gutter-width)) !default;\n$container-md: $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop: ((1140px + $grid-gutter-width)) !default;\n$container-lg: $container-large-desktop !default;\n","@media all and (max-width:768px) {\n .node-dataset .resource-list li {\n padding-right: 0;\n span.links {\n position: relative;\n top: auto;\n right: auto;\n margin: 10px 0;\n display: block;\n padding: 0;\n }\n a.btn {\n margin: 0 5px 10px 0;\n }\n }\n}\n\n.resource-list a.label {\n display: inline-block;\n overflow-wrap: break-word;\n}\n.stages {\n margin: 0 0 20px;\n li {\n font-size: 14px;\n &.first,\n &.first .highlight {\n @include border-radius(5px 0 0 5px);\n }\n &.last,\n &.last .highlight {\n @include border-radius(0 5px 5px 0);\n }\n }\n}\n.node-type-resource .item-list .list-group li {\n margin: 0;\n}\n.node-type-dataset {\n .field-name-field-tags,\n .field-name-field-topic,\n .field-name-field-preview-thumbail {\n .field-label {\n @include h4;\n }\n }\n}\n.field-name-field-topic .field-item {\n display: inline-block;\n}\n\n#edit-path-alias {\n height: 34px;\n}\n\n// Datasets.\n.node-dataset .resource-list li {\n padding: 0 260px 0 45px;\n @media all and (max-width:767px) {\n padding-right: 0;\n }\n}\n// Move this to dkan_sitewide_profile_page.css.\np.dkan-profile-page-user-name {\n display: inline-block;\n} ","//\n// Styles for Forms\n// --------------------------------------------------\n.table-select-processed,\n.permissions-processed {\n .checkbox input[type=\"checkbox\"] {\n margin-left: 0px;\n }\n}\n\ninput[type=\"submit\"],\n.btn-primary,\n.btn.btn-primary {\n @extend %button;\n margin-right: 1em;\n}\ninput.use-ajax-submit {\n margin-right: 10px;\n}\nbutton.btn,\n.btn.btn-default,\n.btn.btn-primary,\n.tabs--primary.nav-pills li a,\n.form-control {\n line-height: 1.5em;\n}\n.btn, .btn-sm {\n font-size: 14px;\n}\n\nselect.form-control {\n min-height: 36px;\n &[multiple=\"multiple\"] {\n height: auto;\n }\n}\n.form-control,\ndiv.autocomplete-deluxe-multiple {\n padding: 0 12px;\n}\n.ctools-dropbutton {\n .ctools-content a,\n input.btn,\n input[type=\"submit\"] {\n color: #666;\n &:hover,\n &:focus,\n &:active {\n border:none;\n color: $brand-primary;\n }\n }\n}\n.field-type-file input[type=\"submit\"],\n.input-group-addon,\n.input-group-btn {\n width: auto;\n}\n\n// Colorizer.\n.colorizer-form {\n .form-control {\n width: 50%;\n }\n label {\n float:none;\n display: block;\n }\n #palette {\n clear: both;\n .item-selected {\n background-color: transparent;\n }\n }\n}\n// BuEditor.\n.bue-popup {\n z-index: 999;\n}\n.bue-ui.editor-container {\n background-color: #ffffff;\n padding: 0 4px;\n border: 1px solid $border;\n @include border-radius(4px 4px 0 0);\n}\n.form-control.form-textarea {\n @include border-radius(0);\n}\n// Chosen.\n.form-control.chosen-processed {\n line-height: 34px;\n height: auto;\n padding: 0;\n border: none;\n max-width: 100% !important;\n .chosen-choices {\n @include border-radius(4px);\n border-color: #ccc;\n }\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n background-position: -42px 2px;\n}\n.chzn-container-single {\n max-width: 100%;\n}\ndiv.autocomplete-deluxe-multiple,\n.chzn-container-multi {\n width: 100% !important;\n}\n.chzn-container-multi .chzn-choices .search-field input {\n height: auto;\n}\n#context-blockform td.blocks .label {\n background-color: $gray;\n}\n.tabledrag-hide .chzn-container-single {\n width: 20px !important;\n}\n\ndiv.autocomplete-deluxe-container input.autocomplete-deluxe-form-single {\n float: left;\n}\n\nfieldset {\n position: relative;\n}\n\nfieldset.collapsible {\n padding-top: 0;\n}\n#og-group-ref-add-more-wrapper fieldset,\nfieldset.group-primary {\n padding-top: 0;\n legend {\n display: none;\n }\n}\n\n.horizontal-tabs fieldset.horizontal-tabs-pane {\n padding: 0;\n}\ndiv.horizontal-tabs {\n border: none;\n}\n\n.form-managed-file {\n span.file {\n border: 1px solid $border;\n padding: 0 15px;\n line-height: 34px;\n display: inline-block;\n vertical-align: top;\n border-radius: 5px 0 0 5px;\n margin-right: 0;\n }\n .file-size {\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 0 10px;\n vertical-align: top;\n line-height: 34px;\n display: inline-block;\n font-size: 12px;\n margin: 0 -5px;\n background: #eee;\n }\n input {\n @include border-radius($border-radius-base 0 0 $border-radius-base);\n border: 1px solid $border;\n padding: 5px;\n margin: 0 0 10px 0;\n height: 36px;\n vertical-align: top;\n }\n input.form-submit {\n @extend %button-attached;\n margin: 0 0 10px 0;\n }\n // Resource remote file.\n .filefield-source-remotefile input {\n &.form-control:first-child {\n @include border-radius($border-radius-base);\n }\n &.form-text {\n width: 100%;\n }\n }\n .input-group-btn {\n display: inline-block;\n vertical-align: top;\n }\n .manualcrop-style-button-holder input {\n @include border-radius(5px);\n }\n}\n.image-widget-data input.btn {\n //@extend %button-attached;\n}\n\n.path-form.panel-default {\n border-color: transparent;\n .panel-body {\n padding:0;\n }\n}\n\n// OG.\n.list-group-item {\n background-color: transparent;\n border: none;\n color: $text-color;\n padding: 0;\n}\n\n.filter-wrapper {\n padding: 10px;\n .input-group-addon {\n border: none;\n background: transparent;\n }\n}\n\n#body-add-more-wrapper {\n .panel-body {\n padding: 0;\n }\n}\n\n.node-dataset-form .group-odfie-pod {\n .form-item {\n margin-bottom: 0px;\n }\n .field-name-field-odfe-data-quality {\n margin-bottom: 15px;\n }\n}\n\n.node-dataset-form .form-item.has-error {\n div.autocomplete-deluxe-container,\n div.chosen-container {\n border: 2px solid red;\n .chosen-single {\n border: none;\n }\n }\n}\n\n.node-dataset-form .form-item .error .chosen-single {\n line-height: 24px;\n}\n\n.node-dataset-form,\n.node-resource-form {\n .field-name-field-format label {\n vertical-align: top;\n }\n @media all and (max-width:599px) {\n .stages li .highlight {\n font-size: 12px;\n line-height: 1.15em;\n }\n }\n}\n\n// file_resup tweaks to display on top of recline\n.node-resource-form .field-name-field-upload {\n .form-type-managed-file {\n display: table;\n .file-widget {\n display: table-footer-group;\n }\n .file-resup-wrapper {\n display: table-header-group;\n }\n }\n}\n\n.node-resource-form .field-name-body {\n textarea {\n height: auto;\n }\n}\n\n#search-api-admin-index-status-form {\n input {\n margin-bottom: 1em;\n }\n}\n.page-admin form {\n input[type=submit] {\n margin-right: 1em;\n }\n}\n\n#field-dkan-harvest-filters-values,\n#field-dkan-harvest-excludes-values,\n#field-dkan-harvest-overrides-values,\n#field-dkan-harvest-defaults-values {\n .description {\n font-weight: normal;\n }\n}\n\n#dkan-dataset-form-settings .help-block {\n margin: 5px 20px 10px;\n}\n\n.form-type-textfield.form-group label.option {\n @extend %screenreader;\n}","#views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page {\n .form-group {\n display: inline-block;\n input {\n width: 100px;\n }\n }\n}\n\n.pane-dkan-harvest-harvest-source-summary {\n .summary-details {\n border-color: $border;\n border-width: 0 1px 1px 1px;\n border-style: solid;\n margin-top: 15px;\n div {\n padding: 4px 5px;\n }\n }\n \n h6 {\n background: #eee;\n color: #222;\n padding: 3px 5px;\n margin: 0;\n border-top: 1px solid $border;\n border-bottom: 1px solid $border;\n }\n}\n\ndiv.datasets-count-preview span {\n font-weight: bold;\n}\n\n#harvest_source_summary_uri {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; \n}\n\n// Harvest Errors Page.\n.node-type-harvest-source {\n .ctools-collapsible-container .ctools-collapsible-handle {\n border-radius: 0;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n }\n .ctools-collapsible-container .ctools-collapsible-handle:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px;\n }\n .ctools-collapsible-container.ctools-collapsed .ctools-collapsible-handle:after {\n content: \"\\f078\";\n }\n\n .ctools-collapsible-content .harvest-error-log-table {\n margin: 0;\n margin-bottom: 20px;\n }\n}\n\n@media all and (min-width:768px) {\n #harvest-source-node-form {\n .double-field-elements input.form-text {\n width: 50%;\n display: inline-block;\n }\n }\n}\n","#modalContent {\n .modal-header { \n background: $brand-primary;\n h4 {\n color: #fff;\n }\n .close {\n color: #fff;\n text-shadow: 0 1px 0 #036;\n opacity: 1;\n }\n }\n .panels-add-content-modal {\n margin: 0;\n position: relative;\n }\n .panels-section-column {\n margin-right: 1em;\n overflow: visible;\n @media (max-width: 600px) {\n width: 100%;\n float: none;\n margin-right: 0;\n }\n }\n .panels-section-column-categories .btn {\n border: 1px solid #ccc !important;\n margin: 3px;\n }\n}\n\n.panels-add-content-modal .panels-section-column .inside {\n padding: 1em 0;\n}\n\n.panels-section-column .dkan-type-button {\n font-size: 1em;\n line-height: 1em;\n a {\n @include border-radius(4px);\n border: 1px solid #eee;\n display: block;\n padding: 8px 10px;\n margin: 3px 0;\n &:focus,\n &:hover {\n background: #eee;\n border-color: #ccc;\n text-decoration: none;\n }\n &:before {\n font-family: \"FontAwesome\";\n font-size: 1.25em;\n margin-right: 5px;\n }\n }\n}\n#field-basic-table-table-und-0-tablefield {\n border: none;\n margin: 0;\n padding: 0;\n fieldset {\n padding-top: 0;\n }\n}\n.form-tablefield input.tablefield-rebuild {\n background-color: $brand-primary !important;\n border-color: $brand-primary;\n &:hover,\n &:focus,\n &.active {\n background-color: $link-hover-color;\n border-color: $link-hover-color;\n }\n}\n.add-content-link-basic-file-icon-text-button:before {\n content:\"\\f0f6\";\n}\n.add-content-link-custom-icon-text-button:before {\n content:\"\\f044\";\n}\n.add-content-link-node-icon-text-button:before {\n content:\"\\f24d\";\n}\n.add-content-link-image-icon-text-button:before {\n content:\"\\f1c5\";\n}\n.add-content-link-map-icon-text-button:before {\n content:\"\\f278\";\n}\n.add-content-link-quick-links-icon-text-button:before {\n content:\"\\f0c1\";\n}\n.add-content-link-table-icon-text-button:before {\n content:\"\\f0ce\";\n}\n.add-content-link-text-icon-text-button:before {\n content:\"\\f036\";\n}\n.add-content-link-video-icon-text-button:before {\n content: \"\\f008\";\n}\n.add-content-link-visualization-embed-icon-text-button:before {\n content:\"\\f200\";\n}\n.add-content-link-spotlight-icon-text-button:before {\n content:\"\\f16a\";\n}\n.add-content-link-panopoly-widgets-general-content-list-of-content-icon-text-button:before {\n content:\"\\f0ca\";\n}\n.add-content-link-panopoly-widgets-general-content-piece-of-content-icon-text-button:before {\n content:\"\\f0ea\";\n}\n.add-content-link-main-menu-icon-text-button:before {\n content:\"\\f0c9\";\n}\n.add-content-link-dkan-plugins-button-link-icon-text-button:before {\n content:\"\\f0c1\";\n}\n\nimg {\n &.thumbnail {\n width: 100px;\n height: auto;\n }\n &.left {\n float: left;\n margin: 0 1em 1em 0;\n }\n &.right {\n float: right;\n margin: 0 0 1em 1em;\n }\n &.center {\n margin: 0 auto;\n }\n}","//\n// Styles for main layout\n// --------------------------------------------------\n.container,\n.container-fluid,\n.row {\n\t// Override Radix container and row overflow\n\toverflow: visible;\n}\naside.col-sm-3 {\n padding-left:0;\n}\nsection.col-sm-9 {\n padding-right: 0;\n}\n.region-content {\n\tpadding: 15px 0;\n}\n.front {\n\t.panel-dkan-front .container,\n\t.region-content {\n\t\tpadding: 0;\n\t}\n\t.alert {\n\t\tmargin: 10px 15px;\n\t}\n}\n.breadcrumb,\n.alert,\n.tabs--primary,\n.page-header {\n margin: 0 0 15px;\n}\n#footer.footer {\n\tpadding:40px 0;\n\tmargin: 0;\n}\n\n@media all and (max-width:767px) {\n .container {\n padding-left: 15px;\n padding-right: 15px;\n }\n}","// Menu\n// Styles for Menus and Navs\n// --------------------------------------------------\n.navigation-wrapper .container {\n overflow: visible;\n .navbar-collapse {\n overflow: visible;\n }\n}\n\n.container > .navbar-header, .container > .navbar-collapse {\n margin-left: 10px;\n margin-right: 10px;\n}\n.navbar-default .navbar-collapse, \n.navbar-default .navbar-form {\n padding: 0;\n vertical-align: top;\n}\n\n.navbar-header {\n position:relative;\n z-index:3;\n}\n\n.navbar-default {\n background:transparent;\n border:none;\n margin: 0;\n overflow: visible !important;\n position:relative;\n z-index:3;\n\n .navbar-nav,\n .user-menu {\n margin:0;\n overflow: visible;\n position:relative;\n z-index:3;\n a.dropdown-toggle {\n color: #FFFFFF;\n }\n .open > a,\n li > a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding:15px;\n &.dropdown-toggle:hover,\n &:active,\n &:hover,\n &:focus {\n color: #FFFFFF;\n text-decoration:none;\n }\n &.dropdown-toggle:focus,\n &.dropdown-toggle:active {\n background-color: transparent;\n }\n }\n .dropdown-menu {\n border: none;\n padding: 0;\n li {\n display: block;\n a {\n display: block;\n color: #ffffff;\n }\n }\n li.last a:hover {\n border-radius: 0 0 4px 4px;\n }\n }\n }\n .navbar-toggle {\n border-color: #ffffff;\n &:hover,\n &:focus {\n background-color: rgba(0, 0, 0, .25);\n }\n .icon-bar {\n background-color: #ffffff;\n }\n }\n\n @media all and (min-width:768px) {\n .user-menu {\n float: right;\n }\n .navbar-nav li,\n .user-menu li {\n display: inline-block;\n a {\n display: inline-block;\n }\n .dropdown-menu li,\n .dropdown-menu li a {\n display: block;\n }\n }\n }\n .navbar-nav.secondary li {\n float:none;\n a {\n font-size:.7em;\n line-height:1.5em;\n padding:4px;\n }\n }\n}\n\n@media all and (max-width:767px) {\n .nav > li {\n display: inline;\n }\n .navbar-default .navbar-nav .open .dropdown-menu,\n .navbar-default .navbar-nav .dropdown-menu {\n @include box-shadow(none);\n border: none;\n display: block;\n width: 100%;\n position: relative;\n li > a {\n color: #ffffff;\n display: block;\n padding:15px 10px 15px 35px;\n &:hover,\n &:focus,\n &:active {\n color: #ffffff;\n clear: both;\n }\n }\n }\n}\n\n#block-dkan-sitewide-dkan-sitewide-user-menu {\n .links a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding:15px;\n &:hover,\n &:focus {\n color: #FFFFFF;\n text-decoration:none;\n }\n }\n img {\n margin: 10px;\n }\n @media all and (min-width:768px) {\n float: right;\n .links a {\n display: inline-block;\n }\n }\n}\n\n//override bootstrap\n.navbar .nav > li > a {\n text-shadow:none;\n}\n\n// Large screen.\n@media(min-width:768px) {\n .navbar {\n @include border-radius(0);\n }\n .container > .navbar-header {\n margin-left:0;\n }\n #nav-wrapper .navbar-default .logo {\n padding:10px 10px 0 0;\n }\n}\n\n.tabs--primary {\n margin: 10px 0;\n li {\n margin:1px;\n }\n li a {\n padding:6px 15px;\n &:hover {\n color:#fff;\n }\n &.active {\n color:#fff;\n }\n }\n}\n\n.front .tabs--primary {\n display: none;\n}\n.tabs--primary {\n .nav-pills li a.active,\n .nav-pills li.active a:hover,\n .nav-pills li.active a:focus {\n color:#ffffff;\n }\n}\n\n.form-actions #edit-submit {\n background: $brand-success;\n border-color: $brand-success;\n}\n.form-actions #edit-submit:hover,\n.form-actions #edit-submit:focus,\n.form-actions #edit-submit:active {\n background: darken($brand-success,10%);\n border-color: darken($brand-success,10%);\n color: #fff;\n}\n\na.embed-link {\n @include border-radius(4px);\n color: #fff;\n display: inline-block;\n padding:5px 15px 5px 35px;\n position:relative;\n margin:1em 0;\n text-decoration: none;\n}\na.embed-link:hover, \na.embed-link:focus, \na.embed-link:active {\n color:#fff;\n text-decoration:none;\n}\na.embed-link:before {\n content:'\\f121';\n color: #fff;\n font-family: $icon-fa;\n font-size: 1.3em;\n position: absolute;\n top:5px;\n left:10px;\n}\ntextarea.embed-code {\n width: 100%;\n margin-bottom:1em;\n}\n\nul.action-links {\n margin:1em 15px;\n li {\n float: none;\n display:inline-block;\n }\n}\n\n.btn:active, \n.btn.active {\n @include box-shadow(none);\n}\n\n.radix-layouts-sidebar {\n ul.menu > li > ul.menu {\n margin-left: 0;\n li a {\n padding: 10px 15px 10px 30px;\n }\n }\n}\n","//\n// Styles for Nodes\n// --------------------------------------------------\n.node-type-dataset {\n .field-name-field-tags {\n margin: 1em 0;\n }\n // Dataset field labels.\n h4 {\n @include h4;\n }\n .field-name-field-related-content,\n .field-name-field-topic,\n .field-name-field-tags,\n .field-name-field-topic,\n .field-name-field-preview-thumbail {\n .field-label {\n @include h4;\n }\n }\n}\n\n/** UI Tabs **/\n.node-resource-form .horizontal-tabs {\n border:none;\n ul.horizontal-tabs-list {\n background-color: transparent;\n border: 0;\n padding-top: 10px;\n li,\n li.selected {\n border: 0;\n background-color: transparent;\n min-width: 4em;\n a:hover {\n background:transparent;\n }\n #active-horizontal-tab {\n background: url(../images/sprite-ckan-icons.png) no-repeat -193px 2px;\n display: block;\n text-indent: -9999px;\n width: 16px;\n height: 16px;\n left: 50%;\n clip: auto;\n }\n &.horizontal-tab-button-1 .summary,\n &.horizontal-tab-button-2 .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -160px 0;\n }\n .summary{\n background: url(../images/sprite-ckan-icons.png) no-repeat -144px 0;\n width: 16px;\n height: 16px;\n position: absolute;\n top:5px;\n left:10px;\n }\n a {\n font-size: 1.1em;\n position: relative;\n padding: 5px 15px 5px 30px;\n }\n }\n }\n .horizontal-tabs-panes {\n @include border-radius($border-radius-base);\n border:1px solid $border;\n padding: 8px;\n fieldset.htab_link_upload,\n fieldset.htab_link_api,\n fieldset.htab_link_file {\n legend.panel-heading {\n display: none;\n }\n .field-widget-recline-widget legend.panel-heading {\n border:none;\n border-bottom: 1px solid $border;\n display: block;\n background:transparent;\n color: $gray;\n padding: 5px 0;\n //margin-top:10px;\n }\n }\n .form-type-checkbox label,\n .form-type-select label {\n display: block;\n line-height: 36px;\n padding-top:2px;\n }\n .filefield-source-remotefile {\n input {\n margin-right: 0;\n }\n input.btn {\n @include border-radius(0 $border-radius-base $border-radius-base 0);\n margin-left: -1px;\n }\n }\n .form-item-field-upload-und-0-embed {\n clear: both;\n }\n }\n}\n.page-node-add-resource {\n .field-group-htabs.group-data div.horizontal-tabs {\n border: 0;\n }\n .form-item {\n margin: 0;\n }\n}\n\n#action-info {\n color: $brand-danger;\n margin: 1em 0;\n &:before {\n color: $brand-danger;\n content: \"\\f071\";\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n font-style: normal;\n margin-right: 5px;\n vertical-align: middle;\n }\n}\n.field-name-body {\n a {\n overflow-wrap: break-word;\n }\n ul {\n list-style-type:disc;\n margin:10px 20px;\n li {\n margin:6px 10px;\n }\n }\n}\n.field-group-table-description {\n color:$gray;\n display:block;\n padding:8px 10px 8px 40px;\n position:relative;\n .icon-info-sign:before {\n color:$gray-light;\n content:\"\\f05a\";\n font-family:$icon-fa;\n font-size:2.5em;\n font-style: normal;\n height:30px;\n left:0;\n margin:10px 15px 0 0;\n padding:6px 0;\n position:absolute;\n top:-6px;\n width:30px;\n }\n}\n\n.group-owner-message {\n margin-bottom:20px;\n}\n\n.field-type-text-with-summary {\n padding: 0;\n}\n.field-name-field-additional-info {\n margin-top: 2em;\n}\n.field-name-field-related-content .field-item {\n @include item-list;\n}\n\n// Blog Teaser.\n.node-teaser {\n margin-bottom: 2em;\n .blog-image div {\n background-size: cover !important;\n overflow: hidden;\n position: relative;\n height: 200px;\n margin-bottom: 1em;\n @media all and (max-width:767px) {\n background-position: 50% 50%;\n }\n }\n h2.blog-title {\n font-size: 1.5em;\n margin-top: 0;\n }\n .submitted {\n @include submitted;\n font-size: .8em;\n }\n .fa-clock-o {\n padding-left: 1em;\n }\n .links {\n margin: -.5em 0 2.5em 0;\n }\n .links li {\n display: inline;\n a {\n @extend %button;\n font-size: .8em;\n padding: 1px 8px;\n }\n }\n &.no-image {\n padding-left: 15px;\n padding-right: 15px;\n } \n}\n// Blog Page.\n.node-blog {\n .submitted {\n @include submitted;\n }\n .blog-image {\n margin: 1em 0;\n img {\n max-width: 100%;\n height: auto;\n }\n }\n .fa-clock-o {\n padding-left: 1em;\n }\n .field-name-field-tags {\n margin: 1em 0;\n }\n .links li {\n display: inline;\n a {\n @extend %button;\n display: inline-block;\n margin: 1em 0;\n }\n }\n .field-name-field-tags .field-label {\n display: none;\n }\n @media all and (min-width:768px) {\n h1 {\n width: 47%;\n float: left;\n }\n .submitted {\n width: 47%;\n float: left;\n clear: left;\n }\n .blog-image {\n width: 47%;\n float: right;\n margin: 0 0 1em 1.5em;\n }\n .field-type-text-with-summary {\n clear: left;\n }\n .no-image {\n h1,\n .submitted {\n width: 100%;\n }\n .field-type-text-with-summary {\n clear: both;\n }\n }\n }\n}\n","//\n// Styles for individual pages\n// --------------------------------------------------\n\n.main {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.front .main {\n padding: 0;\n}\n.page-admin {\n .main {\n padding: 20px 15px;\n }\n .region-content {\n margin: 0;\n }\n .breadcrumb,\n .alert,\n .tabs--primary,\n .page-header {\n margin: 0 0 15px;\n }\n}\n\n","//\n// Styles for panels and panes.\n// --------------------------------------------------\n\n.panel-body {\n overflow: visible;\n}\n.pane-content {\n .field-name-body {\n line-height: 2em;\n }\n}\n.main {\n .pane-custom,\n .pane-node-field-image,\n .pane-fieldable-panels-pane {\n margin-bottom: 3em;\n }\n}\n\nh2.pane-title {\n border-bottom: 1px solid $border;\n padding-bottom: 10px;\n}\n\n#panels-choose-layout .form-type-radio input,\n.panels-choose-layout .form-type-radio input {\n width: 15px;\n}\n\n.panel-region-sidebar {\n .radix-layouts-sidebar {\n h2.pane-title {\n @include block-title;\n }\n .pane-block {\n @include blockbox;\n &.pane-dkan-sitewide-dkan-sitewide-social .pane-content,\n &.pane-dkan-sitewide-dkan-sitewide-data-extent .pane-content {\n padding: 0;\n }\n }\n }\n}\n\n.page-user {\n .radix-layouts-content .pane-content {\n padding: 0;\n .profile {\n margin-top: 0;\n }\n }\n}\n.radix-layouts-content {\n .pane-title {\n font-size: 36px;\n line-height: 42px;\n margin:0 0 15px 0;\n }\n .pane-content {\n margin-bottom: 1em;\n }\n .pane-node-field-topic .pane-content {\n padding: 0\n }\n .pane-page-breadcrumb {\n .breadcrumb {\n display: block;\n margin: 0 0 15px 0;\n }\n }\n}\n.node-type-group .radix-layouts-content {\n @media (max-width: 991px) {\n .pane-title {\n margin-top: 2em;\n }\n }\n .pane-content {\n padding: 20px 0 0;\n margin-bottom: 0;\n }\n}\n\n// Panels administration pages.\n.panels-dnd .panel-full-width,\n.panels-dnd .panel-dkan-front {\n .panel-top,\n .panel-hero {\n .tint {\n display: none;\n }\n background-image: none !important;\n background-color: transparent !important;\n overflow: visible;\n }\n}\n.page-manager-wrapper .panel-region {\n .pane-title {\n background-image: none;\n border: none;\n font-size: 1em;\n line-height: normal;\n }\n .panel-pane-collapsible {\n .pane-content {\n padding: 10px 15px;\n }\n }\n}\n\n#panelizer-edit-content-form input {\n margin-right: 1em;\n}\n\n// Custom block panes.\n.pane-dkan-sitewide-dkan-demo-front .pane-title,\n.pane-views-popular-tags-block .pane-title,\n.pane-dkan-sitewide-dkan-add-front .pane-title {\n display:none;\n}\n\n// Front page panels.\n.panel-full-width,\n.panel-dkan-front {\n // Adjust margin for responsive views.\n .inside {\n .pane-dkan-data-stories .view {\n margin-left: -15px;\n margin-right: -15px;\n }\n }\n .pane-content {\n margin: 25px 0;\n }\n .panel-top,\n .panel-hero {\n background-position:50% 50%;\n background-size:cover !important;\n background-repeat: no-repeat;\n position: relative;\n z-index: 0;\n margin-bottom: 15px;\n overflow: hidden;\n .tint {\n // Let colorizer supply the background color.\n //background-color:rgba(10 , 119 , 189, .45);\n position:absolute;\n height: 900px;\n width:100%;\n z-index: -1;\n }\n h2,h3,h4 {\n color: #fff;\n }\n h2.pane-title {\n border-bottom: none;\n padding-bottom: 0;\n }\n .pane-content {\n color: #fff;\n }\n a {\n color: #fff;\n }\n // Default content animated gif.\n img.demo {\n height: auto;\n width: 100%;\n }\n // Default content hero text.\n @media(min-width:992px) {\n .pane-node-body {\n padding-top: 15%;\n }\n }\n }\n}\n@media (max-width: 768px) {\n .panel-dkan-front,\n .panel-full-width {\n .panel-hero,\n .panel-triplet,\n .panel-top,\n .panel-bottom {\n .panel-col-first,\n .panel-col-second,\n .panel-col-third {\n float: none;\n width: 100%;\n }\n }\n }\n}\n",".field-name-field-basic-image-image img.panopoly-image-full {\n max-width: 100%;\n width: initial !important;\n height: auto;\n margin: 1em auto .5em;\n display: block;\n}","// Recline css overrides.\n.recline-pager .pagination {\n li {\n vertical-align: middle;\n a {\n line-height: 1em;\n padding: 0 10px;\n &.btn {\n line-height: 32px;\n }\n }\n }\n input {\n\t height: 20px;\n\t font-size: .8em;\n }\n}\n#recline-embeded .data-explorer-help {\n display: none;\n}\n.data-explorer-help {\n background: #eee;\n margin: 1em 0;\n border-radius: 4px;\n padding: 8px 15px;\n}\n.recline-data-explorer {\n .form-control {\n border-color: #ccc;\n }\n .btn {\n \tborder:1px solid $smoke;\n \tfont-size: 14px;\n \tpadding: 0px 12px;\n line-height: 32px;\n }\n}\n.dropdown-menu.slick-contextmenu {\n background: #fff;\n li {\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n.recline-filter-editor {\n fieldset {\n @include border-radius(4px);\n border-color: #ccc;\n padding: 8px;\n margin: 10px 0;\n }\n input {\n width: auto;\n }\n}\n#recline-embeded .recline-data-explorer {\n .header,\n .data-view-sidebar {\n display: none !important;\n }\n}\n\n@media all and (max-width:991px) {\n .recline-query-editor {\n border: none;\n margin: .5em 0;\n padding: 0;\n }\n}\n@media all and (max-width:767px) {\n .recline-data-explorer {\n .query-editor-here {\n clear: both;\n display: block;\n .recline-query-editor,\n .form-group {\n float: none;\n display: inline-block;\n }\n button.btn {\n float: none;\n display: inline-block;\n max-width: 50px;\n }\n }\n .data-view-sidebar {\n float: none;\n margin-left: 0;\n width: auto;\n }\n }\n}\n@media all and (max-width:660px) {\n .recline-pager {\n float: none;\n display: block;\n margin-left: 0;\n clear: both;\n }\n .recline-data-explorer .header .menu-right {\n padding-top: 8px;\n }\n}","@media all and (max-width:767px) {\n\taside[class|='col'],\n\tsection[class|='col'] {\n\t\tpadding: 0;\n\t}\n\t.container {\n\t\twidth: 100%;\n\t}\n}\n\n","#views-exposed-form-dkan-datasets-panel-pane-1 {\n .views-exposed-form .views-widget-filter-search_api_views_fulltext {\n max-width: 320px;\n }\n}\n\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n @include searchbox;\n position: relative;\n}\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n label {\n @extend %screenreader;\n }\n}\n\n#region-branding #block-dkan-sitewide-dkan-sitewide-search-bar label {\n @extend %screenreader;\n}\n\n#block-dkan-sitewide-dkan-sitewide-search-bar {\n @media all and (min-width:768px) {\n position: absolute;\n top: 10px;\n right: 15px;\n width:172px;\n form {\n width:172px;\n }\n input.form-control {\n width:170px;\n height: 36px;\n margin: 0;\n }\n }\n @include searchbox;\n clear: both;\n .views-exposed-form .form-submit {\n margin:22px 0 0;\n text-shadow: none;\n }\n}\n\n.facetapi-terms span[class*=font-icon-select]:before,\n.icon-dkan.facet-icon:before {\n font-family: 'DKAN-Topics';\n font-size: 24px;\n padding-right: .3em;\n vertical-align: middle;\n}\n\n.node-search-result {\n .icon-dkan.facet-icon:before {\n font-size: 42px;\n margin-top: 0.7em;\n display: block;\n }\n .resource-list li {\n display: inline-block;\n }\n .icon-container {\n text-align: center;\n }\n}\n\n.search-result {\n ul.resource-list {\n margin-top: 0.9em;\n\n li {\n display: inline-block;\n a,\n &:first-child {\n margin-left: 0px;\n }\n }\n }\n .dataset-list {\n list-style: none;\n margin: 0;\n padding: 0;\n li {\n list-style: none;\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em;\n &:before {\n content: \"\\e97e\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em;\n }\n }\n }\n .group-membership {\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em;\n &:before {\n content: \"\\e981\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em;\n }\n }\n &.search-result-group .group-membership {\n display: none;\n }\n p {\n margin-bottom: 0px;\n }\n}\n\n.node-search-result {\n h2.node-title {\n margin: 1.5em 0 .5em 0;\n }\n}","//\n// Styles for headings, links, lists, tables, general, ..etc\n// --------------------------------------------------\nbody {\n font-family:$font-base;\n font-size:16px;\n line-height:1.35em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\nbody.modal-open {\n overflow: visible !important;\n}\n.branding {\n position: relative;\n .logo {\n margin: 20px 20px 15px 0;\n }\n}\n@media (max-width: 768px) {\n .logo img {\n max-width: 100%;\n }\n}\n\n.site-name {\n display: block;\n font-size: 2em;\n line-height: 1.15em;\n margin: 50px 20px 0 0;\n @media(max-width:460px) {\n clear: left;\n float: none;\n margin: 10px 20px 5px 0;\n }\n &:hover {\n text-decoration: none;\n }\n}\n.site-slogan {\n margin-bottom: 20px;\n}\nh1 {\n font-size: 36px;\n line-height: 42px;\n margin-bottom: 15px;\n}\nh1,h2,h3,h4 {\n color:$gray-dark;\n font-weight:300;\n}\nh3.media-heading {\n margin:.5em 0;\n}\nh4 {\n margin-top: 2em;\n margin-bottom: .5em;\n}\n\na {\n color:$brand-primary;\n &:hover {\n color:$brand-secondary;\n }\n}\np,\np:last-child {\n margin: 0 0 1.25em 0;\n}\n\n.breadcrumb {\n background: none;\n border: none;\n font-size: 1em;\n list-style: none;\n padding: 0;\n position: relative;\n li {\n float:none;\n a {\n span {\n display:none;\n }\n }\n &.home-link a {\n font-size:1.3em;\n i {\n display: block;\n }\n }\n }\n}\n\n.alert {\n border: none;\n padding: 15px 35px;\n position: relative;\n .close {\n line-height: 18px;\n position: absolute;\n right: 10px;\n top: 5px;\n }\n &.alert-warning {\n background: #FFE285;//$brand-warning;\n }\n &.alert-completed {\n background: #dff0d8;\n color: #3c763d;\n }\n &:before {\n font-family: $icon-fa;\n font-size: 1.5em;\n position: absolute;\n top: 15px;\n left: 10px;\n }\n &.alert-danger:before {\n content: '\\f06a';\n color: $brand-danger;\n }\n &.alert-warning:before {\n content: '\\f05a';\n color: #8a6d3b;\n }\n &.alert-completed:before,\n &.alert-success:before {\n content: '\\f058';\n color: $brand-success;\n }\n}\n.page-admin .alert {\n margin: 10px 0;\n}\n// Tables\ntable,\ntable.group_additional {\n border-collapse:collapse;\n margin:1em 0;\n width:100%;\n thead > tr > th {\n //@include background-image(linear-gradient(#F5F5F5, #F0F0F0));\n background-color: lighten($border, 4%);\n border: 1px solid $border !important;\n padding: 4px 8px;\n font-weight: bold;\n }\n thead th:first-child {\n //@inlclude border-top-left-radius(4px);\n }\n thead th:last-child,\n thead th:last-child {\n //@include border-top-right-radius(4px);\n }\n tbody th,\n td {\n border:1px solid $border;\n padding:4px 8px;\n vertical-align:top;\n }\n tr:hover {\n background:#FFFEEE;\n }\n}\n\n.table-responsive {\n overflow: visible;\n}\n@media screen and (max-width: 1024px) {\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: normal;\n }\n}\n\n.field-name-field-additional-info .field-label {\n margin-bottom: 1em;\n @include h4;\n}\n.group_additional,\n.field-name-field-additional-info table,\n.field-name-field-additional-info .table-responsive {\n margin: 0;\n td,\n th {\n white-space: normal;\n width: auto;\n }\n td:nth-of-type(2n) {\n @include wrap;\n }\n @media all and (min-width:768px) {\n .form-item {\n th:nth-of-type(1n),\n td:nth-of-type(1n),\n th:nth-of-type(4n),\n td:nth-of-type(4n) {\n width: 5%;\n border-right: 1px solid $border;\n }\n th:nth-of-type(2n),\n td:nth-of-type(2n) {\n width: 90%;\n .form-control {\n min-width: 40%;\n }\n }\n }\n }\n}\n\ntable.group_additional,\n.field-name-field-additional-info table {\n th,\n td,\n th:nth-of-type(1n),\n td:nth-of-type(1n),\n th:nth-of-type(2n),\n td:nth-of-type(2n) {\n width: auto;\n .form-control {\n display: inline-block;\n width: auto;\n vertical-align: top\n }\n }\n margin-top: 0;\n}\n.table > thead:first-child > tr:first-child > th,\ntable thead:first-child tr:first-child th {\n border: 1px solid $border;\n}\n.table-bordered > thead > tr > th,\ntable thead > tr > th {\n background-color: lighten($border, 4%);\n border: 1px solid $border;\n padding:4px 8px;\n}\n\n// Striped tables.\n.table-striped > tbody > tr:nth-child(odd) {\n background-color: #f9f9f9;\n}\n.table tbody tr:hover td, \n.table tbody tr:hover th,\n.table-striped > tbody > tr:nth-child(odd):hover {\n background-color: #FFFEEE;\n}\n\n\ndl {\n margin:0;\n padding:0;\n clear:both;\n overflow:hidden;\n}\ndt {\n clear: both;\n margin:0;\n padding:8px 5px;\n float:left;\n width:28%;\n}\ndd {\n margin:0;\n padding:8px 5px;\n float:right;\n width:72%;\n}\ndt,\ndd {\n border-top: 1px solid $border;\n}\n\n.item-list .pagination {\n li:first-child > span,\n li:first-child > a {\n @include border-radius(4px 0 0 4px);\n }\n li:last-child > span,\n li:last-child > a {\n @include border-radius(0 4px 4px 0);\n }\n}\n\n.radix-layouts-sidebar .item-list ul,\n.nav-simple {\n margin: 0;\n list-style: none;\n padding: 0;\n li {\n margin:0;\n line-height: 1.1666666666666667em;\n padding: 0;\n border-bottom: 1px dotted #CCC;\n position:relative;\n a {\n display: block;\n margin:0;\n }\n a:hover {\n background:#FFFEEE;\n }\n &.last {\n border-bottom: none;\n }\n }\n}\n// Keep images inside their containers.\nimg {\n max-width: 100%;\n height: auto;\n}\n// Bootstrap/Radix Overrides.\n.thumbnail {\n padding: 0;\n margin: 0;\n background-color: transparent;\n border: none;\n border-radius: 0;\n}","//\n// Styles for Taxonomy\n// --------------------------------------------------\n\n.field-name-field-tags .field-item {\n display:inline-block;\n}\n.field-name-field-tags {\n label {\n display: block;\n }\n input.form-control {\n height: auto;\n }\n .field-item {\n a {\n display: inline-block;\n padding:2px 10px 2px;\n font-size:12px;\n line-height: 20px;\n @include border-radius(0 5px 5px 0);\n background-color: $shade;\n margin:3px 5px 3px 20px;\n position:relative;\n color:$gray-dark;\n border:1px solid $border;\n border-left:0;\n z-index:2;\n &:after {\n content:\"\";\n width: 20px;\n height: 20px;\n background-color: $shade;\n @include rotate(45deg);\n @include border-radius(2px);\n position:absolute;\n top:2px;\n left:-9px;\n z-index:-1;\n border:1px solid $border;\n border-top:none;\n border-right:none;\n }\n &:before {\n content:\"\";\n width:2px;\n height:2px;\n background:$gray-light;\n position:absolute;\n top:11px;\n left:-5px;\n @include border-radius(0);\n }\n }\n a:hover,\n a:hover:after {\n background: #fff;\n color:#000;\n text-decoration:none;\n }\n }\n}\n\n.field-name-field-topic {\n .field-item { \n margin: 0 1.5em .5em 0;\n .field-item {\n margin: 0;\n }\n }\n}\n.field-name-field-topic-icon span::before, \n.view-dkan-datasets .field-name-field-topic-icon span::before {\n font-size: 18px;\n}\n.font_icon_select_options .label {\n color: #333;\n}","// Horizontal Tabs on all but resource nodes.\n.field-group-htabs-wrapper {\n\tborder: 1px solid #CDCDCD;\n\tborder-radius: 4px;\n\tfieldset.field-group-htab {\n\t\tmargin-bottom: 0;\n\t}\n\t.horizontal-tabs ul.horizontal-tabs-list li {\n\t\t&.first,\n\t\t&.first a:hover {\n\t\t\tborder-radius: 4px 0 0 0;\n\t\t}\n\t\ta:hover {\n \tbackground-color: #fffece;\n }\n }\n}\n.node-resource-form .field-group-htabs-wrapper {\n\tborder: none;\n}\n","//\n// Styles for Views\n// --------------------------------------------------\n.front .view-popular-tags {\n margin-top:20px;\n}\n.view-popular-tags {\n margin: 15px 0;\n ul.tag-list {\n margin: 0;\n padding: 0;\n li {\n display:inline-block;\n margin-right:2em;\n a {\n color:#fff;\n }\n }\n }\n}\n.view-content h2 {\n font-size: 1.5em;\n margin:1em 0 0.5em;\n}\n.view-groups-search .views-row {\n border-bottom:1px dotted $smoke;\n padding:1em 0;\n}\n\n.views-field-field-image img {\n // display:block;\n // height:auto;\n // margin:0 auto 5px;\n // max-width:220px;\n // width:100%;\n}\n.view-front-page-group-list {\n .views-row {\n position: relative;\n padding-left: 120px;\n min-height: 110px;\n img {\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n}\n\n.view-user-profile-fields img {\n height:auto;\n margin:0 auto;\n max-width:190px;\n width:100%; \n}\n\n.view-front-page-group-grid {\n .row {\n span {\n display:block;\n margin:15px 0;\n .media-content {\n padding:0 10px 10px 120px;\n }\n .media-image {\n float:left;\n margin:0;\n padding:0;\n img {\n margin:5px 10px 5px 0;\n }\n }\n h3.media-heading {\n font-size:1.3em;\n margin:.5em 0;\n padding:0;\n }\n }\n }\n @media(min-width:768px) {\n .span6,\n .col-lg-6 {\n float:left;\n margin:0;\n width:50%;\n }\n }\n}\n\n.view-dkan-groups {\n .node-teaser {\n min-height: 365px;\n margin-bottom: 20px;\n h2.node-title {\n margin: .75em 0;\n }\n .btn-primary {\n margin: 0 auto 1.5em;\n }\n .field-name-field-image {\n text-align: center; \n }\n }\n}\n\n.view-groups-page {\n .views-column {\n float:left;\n margin:0;\n width:50%;\n }\n}\n.view-group-block {\n .views-field-title {\n font-size:1.2em;\n }\n .views-field-nid a {\n background: $brand-primary;\n color:#fff;\n display: block;\n margin:1em 0 0 0;\n padding:5px 8px;\n text-align: center;\n }\n .views-field-field-image {\n text-align: center;\n }\n}\n.view-dataset {\n form {\n margin: 0;\n position: relative;\n }\n .views-row {\n margin:1.5em 0;\n }\n}\n.views-exposed-form {\n position:relative;\n .views-exposed-widget {\n display: inline;\n padding: .5em .5em 0 0;\n .views-widget-filter-search_api_views_fulltext,\n .views-widget-sort-by,\n .views-widget-sort-order,\n .views-submit-button,\n .form-submit {\n display: inline;\n float:none;\n margin: 0;\n position:relative;\n }\n &.views-reset-button,\n &.views-submit-button {\n margin: 0;\n padding: 2.1em .5em 0 0;\n }\n }\n .description {\n @include text-shadow(none);\n position:absolute;\n color: #999999;\n font-size:12px;\n left: 7px;\n top: 10px;\n }\n}\n\n.view-dkan-groups-featured,\n.pane-dkan-groups-featured {\n .row {\n text-align: center;\n div[class*='views-column'] {\n margin-bottom: 1.25em;\n }\n }\n}\n\n.view-admin-content table {\n margin-top: 0;\n}\n\n.view-blog {\n .views-row ul.links.inline {\n margin: -.5em 0 1.75em;\n }\n}\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .description { display: none;}\n\n#views-exposed-form-dkan-administration-nodes-system-1,\n#views-exposed-form-dkan-administration-files-system-1 {\n .views-widget-filter-uid,\n .form-item-author {\n .help-block {\n font-size: .85em;\n margin-top: 0;\n }\n input {\n width: auto;\n }\n }\n .views-widget-filter-date_filter {\n #edit-date-filter-min-wrapper,\n #edit-date-filter-max-wrapper {\n display: inline-block;\n }\n input {\n width: 100px;\n margin-right: 0;\n }\n .help-block {\n display: none;\n }\n }\n}","@import \"shared\";\n\n// These defaults make the arguments optional for this mixin\n// If you like, set different defaults in your project\n\n$default-text-shadow-color: #aaa !default;\n$default-text-shadow-h-offset: 0px !default;\n$default-text-shadow-v-offset: 0px !default;\n$default-text-shadow-blur: 1px !default;\n$default-text-shadow-spread: false !default;\n\n// Provides cross-browser text shadows when one or more shadows are needed.\n// Each shadow argument should adhere to the standard css3 syntax for the\n// text-shadow property.\n//\n// Note: if any shadow has a spread parameter, this will cause the mixin\n// to emit the shadow declaration twice, first without the spread,\n// then with the spread included. This allows you to progressively\n// enhance the browsers that do support the spread parameter.\n@mixin text-shadow(\n $shadow-1 : default,\n $shadow-2 : false,\n $shadow-3 : false,\n $shadow-4 : false,\n $shadow-5 : false,\n $shadow-6 : false,\n $shadow-7 : false,\n $shadow-8 : false,\n $shadow-9 : false,\n $shadow-10: false\n) {\n @if $shadow-1 == default {\n $shadow-1: compact($default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur $default-text-shadow-spread $default-text-shadow-color);\n }\n $shadows-without-spread: join((),(),comma);\n $shadows: join((),(),comma);\n $has-spread: false;\n @each $shadow in compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5,\n $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10) {\n @if length($shadow) > 4 {\n $has-spread: true;\n $shadows-without-spread: append($shadows-without-spread, nth($shadow,1) nth($shadow,2) nth($shadow,3) nth($shadow,5));\n $shadows: append($shadows, $shadow);\n } else {\n $shadows-without-spread: append($shadows-without-spread, $shadow);\n $shadows: append($shadows, $shadow);\n }\n }\n @if $has-spread {\n text-shadow: $shadows-without-spread;\n }\n text-shadow: $shadows;\n}\n\n// Provides a single cross-browser CSS text shadow.\n//\n// Provides sensible defaults for the color, horizontal offset, vertical offset, blur, and spread\n// according to the configuration defaults above.\n@mixin single-text-shadow(\n $hoff: false,\n $voff: false,\n $blur: false,\n $spread: false,\n $color: false\n) {\n // A lot of people think the color comes first. It doesn't.\n @if type-of($hoff) == color {\n $temp-color: $hoff;\n $hoff: $voff;\n $voff: $blur;\n $blur: $spread;\n $spread: $color;\n $color: $temp-color;\n }\n // Can't rely on default assignment with multiple supported argument orders.\n $hoff: if($hoff, $hoff, $default-text-shadow-h-offset);\n $voff: if($voff, $voff, $default-text-shadow-v-offset);\n $blur: if($blur, $blur, $default-text-shadow-blur );\n $spread: if($spread, $spread, $default-text-shadow-spread );\n $color: if($color, $color, $default-text-shadow-color );\n // We don't need experimental support for this property.\n @if $color == none or $hoff == none {\n @include text-shadow(none);\n } @else {\n @include text-shadow(compact($hoff $voff $blur $spread $color));\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["nuboot_radix.style.css","../bower_components/compass-mixins/lib/compass/functions/_lists.scss","../bower_components/compass-mixins/lib/compass/functions/_constants.scss","../bower_components/compass-mixins/lib/compass/functions/_display.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss","../bower_components/compass-mixins/lib/compass/css3/_shared.scss","../bower_components/compass-mixins/lib/compass/css3/_box-sizing.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss","../bower_components/compass-mixins/lib/compass/css3/_transition.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss","../bower_components/compass-mixins/lib/compass/utilities/general/_clearfix.scss","../bower_components/compass-mixins/lib/compass/utilities/general/_hacks.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss","../bower_components/compass-mixins/lib/compass/css3/_box-shadow.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss","../bower_components/compass-mixins/lib/compass/css3/_opacity.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss","../bower_components/compass-mixins/lib/compass/css3/_transform.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-text.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss","../bower_components/compass-mixins/lib/compass/typography/text/_replacement.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss","../bower_components/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss","../bower_components/font-awesome/scss/font-awesome.scss","../bower_components/font-awesome/scss/_path.scss","../bower_components/font-awesome/scss/_core.scss","../bower_components/font-awesome/scss/_larger.scss","../bower_components/font-awesome/scss/_fixed-width.scss","../bower_components/font-awesome/scss/_list.scss","../bower_components/font-awesome/scss/_variables.scss","../bower_components/font-awesome/scss/_bordered-pulled.scss","../bower_components/font-awesome/scss/_animated.scss","../bower_components/font-awesome/scss/_rotated-flipped.scss","../bower_components/font-awesome/scss/_mixins.scss","../bower_components/font-awesome/scss/_stacked.scss","../bower_components/font-awesome/scss/_icons.scss","../bower_components/font-awesome/scss/_screen-reader.scss","radix/_admin.scss","radix/_comment.scss","radix/_form.scss","radix/_mixins.scss","radix/_layout.scss","radix/_maintenance.scss","radix/_modal.scss","radix/_nav.scss","radix/_node.scss","radix/_panel.scss","radix/_structure.scss","radix/_view.scss","base/_mixins.scss","components/_admin.scss","components/_block.scss","base/_variables.scss","components/_dkan.scss","components/_form.scss","components/_harvest.scss","components/_ipe.scss","components/_layout.scss","components/_menu.scss","components/_node.scss","components/_page.scss","components/_panel.scss","components/_panopoly.scss","components/_recline.scss","components/_responsive.scss","components/_search.scss","components/_structure.scss","components/_term.scss","components/_ui.scss","components/_view.scss","../bower_components/compass-mixins/lib/compass/css3/_text-shadow.scss"],"names":[],"mappings":"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gBlBpB0B;EkBqB1B,iBlBiC2B;EkBhC3B,mBlBoC2B,EkBnC5B;;AAED;;;EACE,alB0ImC;EkBzInC,kBlByImC,EkBxIpC;;AAED;;;;;;;EACE,aAAa,EACd;;AFsPH;EAEI,ahBpHmC;EgBqHnC,kBhBzO4B;EgB0O5B,gBhB1R0B;EgB2R1B,iBhBrO2B;EgBsO3B,mBhBlO2B,EgBmO5B;;AAPH;EASI,ahB3HmC;EgB4HnC,kBhB5HmC,EgB6HpC;;AAXH;;EAcI,aAAa,EACd;;AAfH;EAiBI,ahBnImC;EgBoInC,iBAAkC;EAClC,kBhBzP4B;EgB0P5B,gBhB1S0B;EgB2S1B,iBhBrP2B,EgBsP5B;;AE3RD;;;;EACE,alBgJkC;EkB/IlC,mBlB0B4B;EkBzB5B,gBlBrB0B;EkBsB1B,qBlBgCiC;EkB/BjC,mBlBmC2B,EkBlC5B;;AAED;;;EACE,alBwIkC;EkBvIlC,kBlBuIkC,EkBtInC;;AAED;;;;;;;EACE,aAAa,EACd;;AFgRH;EAEI,ahBhJkC;EgBiJlC,mBhBtQ4B;EgBuQ5B,gBhBrT0B;EgBsT1B,qBhBhQiC;EgBiQjC,mBhB7P2B,EgB8P5B;;AAPH;EASI,ahBvJkC;EgBwJlC,kBhBxJkC,EgByJnC;;AAXH;;EAcI,aAAa,EACd;;AAfH;EAiBI,ahB/JkC;EgBgKlC,iBAAkC;EAClC,mBhBtR4B;EgBuR5B,gBhBrU0B;EgBsU1B,qBhBhRiC,EgBiRlC;;AAQH;EAEE,mBAAmB,EAMpB;EARD;IAMI,sBAAkC,EACnC;;AAGH;EACE,mBAAmB;EACnB,OAAO;EACP,SAAS;EACT,WAAW;EACX,eAAe;EACf,YhB9LqD;EgB+LrD,ahB/LqD;EgBgMrD,kBhBhMqD;EgBiMrD,mBAAmB;EACnB,qBAAqB,EACtB;;AACD;;;;;;EAGE,YhBrMoC;EgBsMpC,ahBtMoC;EgBuMpC,kBhBvMoC,EgBwMrC;;AACD;;;;;;EAGE,YhB1MqC;EgB2MrC,ahB3MqC;EgB4MrC,kBhB5MqC,EgB6MtC;;AAGD;;;;;;;;;;EExZI,elBseoC,EkBrerC;;AFuZH;EEpZI,sBlBkeoC;EFpeyB,yHmB0B9C,ECjBh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IACpB,sBAAoB,EACzB;EDuDH;ICrDI,YrB0IiC;IqBzIjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkDH;;;;IC9CI,YrBmIiC;IqBlIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmCH;;;;;;;;;;MCvCM,YrB4H+B;MqB3H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoCL;;;;IC/BI,uBAAuB,EACxB;ED8BH;;;;;;;;;;;;;;;;ICvBM,0BrB9BwB;IqB+BpB,sBrB6G6B,EqB5GlC;EDqBL;ICjBI,erBpC0B;IqBqC1B,uBrBqGiC,EqBpGlC;;ADmBH;ECpEE,YrByJmC;EqBxJnC,0BrBW6B;EqBV7B,sBrByJqC,EoBrFtC;EAFD;IC9DI,YrBmJiC;IqBlJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED2DH;ICzDI,YrB8IiC;IqB7IjC,0BAAwB;IACpB,sBAAoB,EACzB;EDsDH;;IClDI,YrBuIiC;IqBtIjC,0BAAwB;IACpB,sBAAoB,EASzB;IDuCH;;;;MC3CM,YrBgI+B;MqB/H/B,0BAAwB;MACpB,sBAAoB,EACzB;EDwCL;;ICnCI,uBAAuB,EACxB;EDkCH;;;;IC3BM,0BrB7ByB;IqB8BrB,sBrBiH6B,EqBhHlC;EDyBL;ICrBI,erBnC2B;IqBoC3B,uBrByGiC,EqBxGlC;;ADuBH;ECxEE,YrB6JmC;EqB5JnC,0BrBY6B;EqBX7B,sBrB6JqC,EoBrFtC;EAFD;IClEI,YrBuJiC;IqBtJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED+DH;IC7DI,YrBkJiC;IqBjJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED0DH;;ICtDI,YrB2IiC;IqB1IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID2CH;;;;MC/CM,YrBoI+B;MqBnI/B,0BAAwB;MACpB,sBAAoB,EACzB;ED4CL;;ICvCI,uBAAuB,EACxB;EDsCH;;;;IC/BM,0BrB5ByB;IqB6BrB,sBrBqH6B,EqBpHlC;ED6BL;ICzBI,erBlC2B;IqBmC3B,uBrB6GiC,EqB5GlC;;AD2BH;EC5EE,YrBiKmC;EqBhKnC,0BrBa6B;EqBZ7B,sBrBiKqC,EoBrFtC;EAFD;ICtEI,YrB2JiC;IqB1JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDmEH;ICjEI,YrBsJiC;IqBrJjC,0BAAwB;IACpB,sBAAoB,EACzB;ED8DH;;IC1DI,YrB+IiC;IqB9IjC,0BAAwB;IACpB,sBAAoB,EASzB;ID+CH;;;;MCnDM,YrBwI+B;MqBvI/B,0BAAwB;MACpB,sBAAoB,EACzB;EDgDL;;IC3CI,uBAAuB,EACxB;ED0CH;;;;ICnCM,0BrB3ByB;IqB4BrB,sBrByH6B,EqBxHlC;EDiCL;IC7BI,erBjC2B;IqBkC3B,uBrBiHiC,EqBhHlC;;AD+BH;EChFE,YrBqKmC;EqBpKnC,0BrBc6B;EqBb7B,sBrBqKqC,EoBrFtC;EAFD;IC1EI,YrB+JiC;IqB9JjC,0BAAwB;IACpB,sBAAoB,EACzB;EDuEH;ICrEI,YrB0JiC;IqBzJjC,0BAAwB;IACpB,sBAAoB,EACzB;EDkEH;;IC9DI,YrBmJiC;IqBlJjC,0BAAwB;IACpB,sBAAoB,EASzB;IDmDH;;;;MCvDM,YrB4I+B;MqB3I/B,0BAAwB;MACpB,sBAAoB,EACzB;EDoDL;;IC/CI,uBAAuB,EACxB;ED8CH;;;;ICvCM,0BrB1ByB;IqB2BrB,sBrB6H6B,EqB5HlC;EDqCL;ICjCI,erBhC2B;IqBiC3B,uBrBqHiC,EqBpHlC;;ADwCH;EACE,epB/E4B;EoBgF5B,oBAAoB;EACpB,iBAAiB,EA8BlB;EAjCD;;IAUI,8BAA8B;ItBtF+B,yFmB0B9C,EG8DhB;EAZH;IAiBI,0BAA0B,EAC3B;EAlBH;IAqBI,epBhF0B;IoBiF1B,2BpB/E6B;IoBgF7B,8BAA8B,EAC/B;EAxBH;;;IA6BM,epB9G0B;IoB+G1B,sBAAsB,EACvB;;AAQL;EC1EE,mBrBsC8B;EqBrC9B,gBrBT4B;EqBU5B,qBrB4CmC;EqB3CnC,mBrB+C6B,EoB2B9B;;AACD;EC9EE,kBrByC8B;EqBxC9B,gBrBR4B;EqBS5B,iBrB6C6B;EqB5C7B,mBrBgD6B,EoB8B9B;;AACD;EClFE,iBrB4C6B;EqB3C7B,gBrBR4B;EqBS5B,iBrB6C6B;EqB5C7B,mBrBgD6B,EoBiC9B;;AAMD;EACE,eAAe;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I;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AASpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAAI;;AACpE;EAA+C,iBAAiB,EAA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BjC1C8C,EiC2C/C;EAzBP;IA+BQ,YjChDuC;IiCiDvC,0BjChDyC,EiCiD1C;EAjCP;IAuCQ,YjCtDuC;IiCuDvC,8BjCtD8C,EiCuD/C;EAzCP;IA8CI,mBjClD2C,EiC0D5C;IAtDH;MAiDM,uBjCvDyC,EiCwD1C;IAlDL;MAoDM,uBjCzDyC,EiC0D1C;EArDL;;IA0DI,sBjCjFqC,EiCkFtC;EA3DH;IAoEQ,0BjCpFyC;IiCqFzC,YjCtFuC,EiCuFxC;EAGH;IAzEJ;MA6EU,YjCjGqC,EiCuGtC;MAnFT;QAgFY,YjCnGmC;QiCoGnC,8BjCnG0C,EiCoG3C;IAlFX;MAwFY,YjCzGmC;MiC0GnC,0BjCzGqC,EiC0GtC;IA1FX;MAgGY,YjC/GmC;MiCgHnC,8BjC/G0C,EiCgH3C,EAAA;EAlGX;IA8GI,YjClI2C,EiCsI5C;IAlHH;MAgHM,YjCnIyC,EiCoI1C;EAjHL;IAqHI,YjCzI2C,EiCqJ5C;IAjIH;MAwHM,YjC3IyC,EiC4I1C;IAzHL;;;MA8HQ,YjC7IuC,EiC8IxC;;AAOP;EACE,uBjCrI8C;EiCsI9C,sBjCrIgD,EiCsQjD;EAnID;IAKI,ejCrI+C,EiC2IhD;IAXH;MAQM,YjC9H0C;MiC+H1C,8BjC9HiD,EiC+HlD;EAVL;IAcI,ejCnJ+C,EiCoJhD;EAfH;IAmBM,ejCnJ6C,EiC0J9C;IA1BL;MAuBQ,YjCtJwC;MiCuJxC,8BjCtJ+C,EiCuJhD;EAzBP;IA+BQ,YjC9JwC;IiC+JxC,0BjC5J0C,EiC6J3C;EAjCP;IAuCQ,YjClKwC;IiCmKxC,8BjClK+C,EiCmKhD;EAzCP;IA+CI,mBjC/J4C,EiCuK7C;IAvDH;MAkDM,uBjCpK0C,EiCqK3C;IAnDL;MAqDM,uBjCtK0C,EiCuK3C;EAtDL;;IA2DI,sBAAoB,EACrB;EA5DH;IAoEQ,0BjChM0C;IiCiM1C,YjCpMwC,EiCqMzC;EAGH;IAzEJ;MA6EU,sBjChNwC,EiCiNzC;IA9ET;MAgFU,0BjCnNwC,EiCoNzC;IAjFT;MAmFU,ejCnNyC,EiCyN1C;MAzFT;QAsFY,YjCrNoC;QiCsNpC,8BjCrN2C,EiCsN5C;IAxFX;MA8FY,YjC7NoC;MiC8NpC,0BjC3NsC,EiC4NvC;IAhGX;MAsGY,YjCjOoC;MiCkOpC,8BjCjO2C,EiCkO5C,EAAA;EAxGX;IA+GI,ejC/O+C,EiCmPhD;IAnHH;MAiHM,YjChP0C,EiCiP3C;EAlHL;IAsHI,ejCtP+C,EiCkQhD;IAlIH;MAyHM,YjCxP0C,EiCyP3C;IA1HL;;;MA+HQ,YjC1PwC,EiC2PzC;;AE7oBP;EACE,kBnCqxBkC;EmCpxBlC,oBnC0D6B;EmCzD7B,iBAAiB;EACjB,0BnCoxBqC;EmCnxBrC,mBnCmG6B,EmClF9B;EAtBD;IAQI,sBAAsB,EASvB;IAjBH;MAaM,cAA2C;MAC3C,eAAe;MACf,YnC2wB8B,EmC1wB/B;EAhBL;IAoBI,enCX4B,EmCY7B;;ACvBH;EACE,sBAAsB;EACtB,gBAAgB;EAChB,eAA+B;EAC/B,mBpCsG6B,EoClC9B;EAxED;IAOI,gBAAgB,EA0BjB;IAjCH;;MAUM,mBAAmB;MACnB,YAAY;MACZ,kBpCgF0B;MoC/E1B,qBpC+C+B;MoC9C/B,sBAAsB;MACtB,epCDwB;MoCExB,uBpCobqC;MoCnbrC,uBpCobqC;MoCnbrC,kBAAkB,EACnB;IAnBL;;MAuBQ,eAAe;MtCP0C,4BE0FlC;MF1FkC,+BE0FlC,EoCjFxB;IAzBP;;MtCgBiE,6BE0FlC;MF1FkC,gCE0FlC,EoC3ExB;EA/BP;;;IAuCM,WAAW;IACX,epCPwB;IoCQxB,0BpC7B0B;IoC8B1B,mBpC+ZqC,EoC9ZtC;EA3CL;;;;IAmDM,WAAW;IACX,YpCuZqC;IoCtZrC,0BpCvCwB;IoCwCxB,sBpCxCwB;IoCyCxB,gBAAgB,EACjB;EAxDL;;;;;;IAkEM,epCvD0B;IoCwD1B,uBpC6YqC;IoC5YrC,mBpC6YqC;IoC5YrC,oBpC+JsC,EoC9JvC;;AAQL;;EC3EM,mBrC4F0B;EqC3F1B,gBrC6CwB;EqC5CxB,qBrCkG+B,EqCjGhC;;ADwEL;;EtC9DiE,4BE2FlC;EF3FkC,+BE2FlC,EqChGxB;;ADmEP;;EtC9DiE,6BE2FlC;EF3FkC,gCE2FlC,EqC1FxB;;ADkEP;;EChFM,kBrC+F0B;EqC9F1B,gBrC8CwB;EqC7C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,EAS/B;EAXD;;IAMI,mBAAmB;IACnB,UAAU;IACV,aAAa;IACb,eAAe,EAChB;;AAOH;ECvDE,0B7CqfsC;E6CpftC,sB7CqfqC;E6CpfrC,e7CkfsC,E4C3bvC;EAFD;IClDI,0BAAwB,EACzB;EDiDH;IC/CI,eAAa,EACd;;ADkDH;EC3DE,0B7CyfsC;E6CxftC,sB7CyfqC;E6CxfrC,e7CsfsC,E4C3bvC;EAFD;ICtDI,0BAAwB,EACzB;EDqDH;ICnDI,eAAa,EACd;;ADsDH;EC/DE,0B7C6fsC;E6C5ftC,sB7C6fqC;E6C5frC,e7C0fsC,E4C3bvC;EAFD;IC1DI,0BAAwB,EACzB;EDyDH;ICvDI,eAAa,EACd;;AD0DH;ECnEE,0B7CigBsC;E6ChgBtC,sB7CigBqC;E6ChgBrC,e7C8fsC,E4C3bvC;EAFD;IC9DI,0BAAwB,EACzB;ED6DH;IC3DI,eAAa,EACd;;ACGH;EACE;IAAQ,4BAA4B,EAAA;EACpC;IAAQ,yBAAyB,EAAA,EAAA;;AAQnC;EACE,iBAAiB;EACjB,a9CsC6B;E8CrC7B,oB9CqC6B;E8CpC7B,0B9CgnBmC;E8C/mBnC,mB9C+E6B;EF1FkC,uHmB0B9C,E6BblB;;AAGD;EACE,YAAY;EACZ,UAAU;EACV,aAAa;EACb,gB9Cc4B;E8Cb5B,kB9CyB6B;E8CxB7B,Y9CsmBgC;E8CrmBhC,mBAAmB;EACnB,0B9C1B4B;EFEmC,uHmB0B9C;Ed+IuC,oGArChC,E2CzGzB;;AAOD;;ECGE,sMAAiC;EDAjC,2BAA2B,EAC5B;;AAMD;;E3B1CU,mD2B4CkD,EAC3D;;AAMD;EErEE,0BhDe6B,E8CwD9B;EAFD;IChBE,sMAAiC,EChDhC;;AFoEH;EEzEE,0BhDgB6B,E8C2D9B;EAFD;ICpBE,sMAAiC,EChDhC;;AFwEH;EE7EE,0BhDiB6B,E8C8D9B;EAFD;ICxBE,sMAAiC,EChDhC;;AF4EH;EEjFE,0BhDkB6B,E8CiE9B;EAFD;IC5BE,sMAAiC,EChDhC;;ACRH;EAEE,iBAAiB,EAKlB;EAPD;IAKI,cAAc,EACf;;AAGH;;EAEE,QAAQ;EACR,iBAAiB,EAClB;;AAED;EACE,eAAe,EAC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lPM,erDGwB;MqDFxB,uBrDosB4B,EqDnsB7B;EDgPL;IC5OM,6BrDHwB,EqDIzB;;AD8OL;EChQE,sBrDsfqC,EoDpPtC;EAFD;IC7PI,erDifoC;IqDhfpC,0BrDifoC;IqDhfpC,sBrDifmC,EqDxepC;IDkPH;MCxPM,0BrD8eiC,EqD7elC;IDuPL;MCrPM,erD0ekC;MqDzelC,0BrDwekC,EqDvenC;EDmPL;IC/OM,6BrDqeiC,EqDpelC;;ADiPL;ECnQE,sBrD0fqC,EoDrPtC;EAFD;IChQI,erDqfoC;IqDpfpC,0BrDqfoC;IqDpfpC,sBrDqfmC,EqD5epC;IDqPH;MC3PM,0BrDkfiC,EqDjflC;ID0PL;MCxPM,erD8ekC;MqD7elC,0BrD4ekC,EqD3enC;EDsPL;IClPM,6BrDyeiC,EqDxelC;;ADoPL;ECtQE,sBrD8fqC,EoDtPtC;EAFD;ICnQI,erDyfoC;IqDxfpC,0BrDyfoC;IqDxfpC,sBrDyfmC,EqDhfpC;IDwPH;MC9PM,0BrDsfiC,EqDrflC;ID6PL;MC3PM,erDkfkC;MqDjflC,0BrDgfkC,EqD/enC;EDyPL;ICrPM,6BrD6eiC,EqD5elC;;ADuPL;ECzQE,sBrDkgBqC,EoDvPtC;EAFD;ICtQI,erD6foC;IqD5fpC,0BrD6foC;IqD5fpC,sBrD6fmC,EqDpfpC;ID2PH;MCjQM,0BrD0fiC,EqDzflC;IDgQL;MC9PM,erDsfkC;MqDrflC,0BrDofkC,EqDnfnC;ED4PL;ICxPM,6BrDifiC,EqDhflC;;ACjBL;EACE,mBAAmB;EACnB,eAAe;EACf,UAAU;EACV,WAAW;EACX,iBAAiB,EAelB;EApBD;;;;;IAYI,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,aAAa;IACb,YAAY;IACZ,UAAU,EACX;;AAIH;EACE,uBAAuB,EACxB;;AAGD;EACE,oBAAoB,EACrB;;AC5BD;EACE,iBAAiB;EACjB,cAAc;EACd,oBAAoB;EACpB,0BvDqvBmC;EuDpvBnC,0BvDqvBkC;EuDpvBlC,mBvDiG6B;EF1FkC,wHmB0B9C,EsC3BlB;EAZD;IASI,mBAAmB;IACnB,kCAAkB,EACnB;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,aNytBY,EAAO;;AMxtBrB;EAAE,aNmRY,EAAO;;AMlRrB;EAAE,aNupBgB,EAAO;;AMtpBzB;EAAE,aNqpBU,EAAO;;AMppBnB;EAAE,aNspBe,EAAO;;AMrpBxB;EAAE,aNyIa,EAAO;;AMxItB;;;EAAE,aNuqBa,EAAO;;AMtqBtB;EAAE,aNgjBmB,EAAO;;AM/iB5B;EAAE,aN8iBoB,EAAO;;AM7iB7B;EAAE,aN8fiB,EAAO;;AM7f1B;EAAE,aNmkBc,EAAO;;AMlkBvB;;EAAE,aNmKW,EAAO;;AMlKpB;EAAE,aNkrBe,EAAO;;AMjrBxB;EAAE,aN2VY,EAAO;;AM1VrB;EAAE,aN0Pc,EAAO;;AMzPvB;EAAE,aNmJe,EAAO;;AMlJxB;EAAE,aNshBY,EAAO;;AMrhBrB;EAAE,aNmMgB,EAAO;;AMlMzB;EAAE,aNe2B,EAAO;;AMdpC;EAAE,aNiByB,EAAO;;AMhBlC;EAAE,aNwWa,EAAO;;AMvWtB;EAAE,aN2eqB,EAAO;;AM1e9B;;EAAE,aN0gBc,EAAO;;AMzgBvB;EAAE,aNogBe,EAAO;;AMngBxB;EAAE,aN4YgB,EAAO;;AM3YzB;EAAE,aN+YY,EAAO;;AM9YrB;EAAE,aNgQY,EAAO;;AM/PrB;EAAE,aNwUkB,EAAO;;AMvU3B;EAAE,aNqtBkB,EAAO;;AMptB3B;EAAE,aNmtBmB,EAAO;;AMltB5B;EAAE,aNotBiB,EAAO;;AMntB1B;EAAE,aN6ec,EAAO;;AM5evB;EAAE,aN4Be,EAAO;;AM3BxB;EAAE,aN6mBW,EAAO;;AM5mBpB;EAAE,aN6mBY,EAAO;;AM5mBrB;EAAE,aN6DY,EAAO;;AM5DrB;EAAE,aN6DgB,EAAO;;AM5DzB;EAAE,aNmea,EAAO;;AMletB;EAAE,aN+Ec,EAAO;;AM9EvB;EAAE,aN8PY,EAAO;;AM7PrB;EAAE,aNqDY,EAAO;;AMpDrB;EAAE,aN8Vc,EAAO;;AM7VvB;EAAE,aN4mBmB,EAAO;;AM3mB5B;EAAE,aN4mBkB,EAAO;;AM3mB3B;EAAE,aNhCkB,EAAO;;AMiC3B;EAAE,aNnCoB,EAAO;;AMoC7B;EAAE,aNjCmB,EAAO;;AMkC5B;EAAE,aNpCqB,EAAO;;AMqC9B;EAAE,aNmXY,EAAO;;AMlXrB;;EAAE,aNgbe,EAAO;;AM/axB;EAAE,aN2Uc,EAAO;;AM1UvB;EAAE,aNurBoB,EAAO;;AMtrB7B;;;EAAE,aNiciB,EAAO;;AMhc1B;EAAE,aNybc,EAAO;;AMxbvB;EAAE,aN+XkB,EAAO;;AM9X3B;EAAE,aN/Cc,EAAO;;AMgDvB;EAAE,aN0nBY,EAAO;;AMznBrB;;EAAE,aNubuB,EAAO;;AMtbhC;EAAE,aNsgBsB,EAAO;;AMrgB/B;EAAE,aNuFsB,EAAO;;AMtF/B;EAAE,aNjBc,EAAO;;AMkBvB;EAAE,aN2jBqB,EAAO;;AM1jB9B;EAAE,aN6LqB,EAAO;;AM5L9B;EAAE,aNVgB,EAAO;;AMWzB;EAAE,aN8bY,EAAO;;AM7brB;EAAE,aNwaa,EAAO;;AMvatB;EAAE,aN2jBY,EAAO;;AM1jBrB;EAAE,aNuOe,EAAO;;AMtOxB;EAAE,aNwLoB,EAAO;;AMvL7B;EAAE,aNojBoB,EAAO;;AMnjB7B;EAAE,aNuJa,EAAO;;AMtJtB;EAAE,aNiFoB,EAAO;;AMhF7B;EAAE,aNiFqB,EAAO;;AMhF9B;EAAE,aN0bmB,EAAO;;AMzb5B;EAAE,aN+XoB,EAAO;;AM9X7B;EAAE,aNmmBoB,EAAO;;AMlmB7B;EAAE,aNmEoB,EAAO;;AMlE7B;EAAE,aNicuB,EAAO;;AMhchC;EAAE,aNkTmB,EAAO;;AMjT5B;EAAE,aNkHkB,EAAO;;AMjH3B;EAAE,aN+lBsB,EAAO;;AM9lB/B;EAAE,aN+DsB,EAAO;;AM9D/B;EAAE,aN3BW,EAAO;;AM4BpB;EAAE,aN3CkB,EAAO;;AM4C3B;EAAE,aN3CmB,EAAO;;AM4C5B;EAAE,aN3CgB,EAAO;;AM4CzB;EAAE,aN/CkB,EAAO;;AMgD3B;;EAAE,aNqea,EAAO;;AMpetB;EAAE,aNuJc,EAAO;;AMtJvB;EAAE,aN+FgB,EAAO;;AM9FzB;EAAE,aNwaY,EAAO;;AMvarB;EAAE,aN6Wa,EAAO;;AM5WtB;EAAE,aN3CgB,EAAO;;AM4CzB;EAAE,aNgJ0B,EAAO;;AM/InC;EAAE,aN2NY,EAAO;;AM1NrB;EAAE,aNmTY,EAAO;;AMlTrB;EAAE,aNsLY,EAAO;;AMrLrB;EAAE,aNkJW,EAAO;;AMjJpB;EAAE,aNkJiB,EAAO;;AMjJ1B;;EAAE,aN2I4B,EAAO;;AM1IrC;EAAE,aNyZa,EAAO;;AMxZtB;EAAE,aNUgB,EAAO;;AMTzB;EAAE,aN8ac,EAAO;;AM7avB;EAAE,aN0Ee,EAAO;;AMzExB;EAAE,aNuUc,EAAO;;AMtUvB;EAAE,aNiDkB,EAAO;;AMhD3B;EAAE,aN6CoB,EAAO;;AM5C7B;EAAE,aNybe,EAAO;;AMxbxB;EAAE,aN4dqB,EAAO;;AM3d9B;EAAE,aNoLc,EAAO;;AMnLvB;EAAE,aNqLmB,EAAO;;AMpL5B;EAAE,aNjEgB,EAAO;;AMkEzB;EAAE,aNnEgB,EAAO;;AMoEzB;;EAAE,aNvDiB,EAAO;;AMwD1B;EAAE,aN0lBsB,EAAO;;AMzlB/B;EAAE,aNuIuB,EAAO;;AMtIhC;EAAE,aNEoB,EAAO;;AMD7B;EAAE,aNsRW,EAAO;;AMrRpB;;EAAE,aNyDY,EAAO;;AMxDrB;EAAE,aN8DgB,EAAO;;AM7DzB;EAAE,aNkjBmB,EAAO;;AMjjB5B;EAAE,aNgjBqB,EAAO;;AM/iB9B;EAAE,aNufiB,EAAO;;AMtf1B;EAAE,aN0Oe,EAAO;;AMzOxB;EAAE,aNgdgB,EAAO;;AM/czB;EAAE,aNmSuB,EAAO;;AMlShC;EAAE,aNyiBkB,EAAO;;AMxiB3B;EAAE,aNkHqB,EAAO;;AMjH9B;EAAE,aN0ce,EAAO;;AMzcxB;EAAE,aNikBc,EAAO;;AMhkBvB;EAAE,aN4LqB,EAAO;;AM3L9B;EAAE,aNmlBc,EAAO;;AMllBvB;EAAE,aNiRe,EAAO;;AMhRxB;EAAE,aN6Wa,EAAO;;AM5WtB;EAAE,aNuegB,EAAO;;AMtezB;EAAE,aNrCkB,EAAO;;AMsC3B;EAAE,aN2WoB,EAAO;;AM1W7B;EAAE,aNkkBe,EAAO;;AMjkBxB;;EAAE,aN6GgB,EAAO;;AM5GzB;EAAE,aNiLc,EAAO;;AMhLvB;EAAE,aNukBc,EAAO;;AMtkBvB;EAAE,aNiDmB,EAAO;;AMhD5B;;EAAE,aN6ZW,EAAO;;AM5ZpB;EAAE,aNkNa,EAAO;;AMjNtB;EAAE,aNvCgB,EAAO;;AMwCzB;EAAE,aNlEY,EAAO;;AMmErB;EAAE,aNPmB,EAAO;;AMQ5B;EAAE,aNkMoB,EAAO;;AMjM7B;EAAE,aNgMmB,EAAO;;AM/L5B;EAAE,aNiMiB,EAAO;;AMhM1B;EAAE,aN6LmB,EAAO;;AM5L5B;EAAE,aNvHyB,EAAO;;AMwHlC;EAAE,aNnH0B,EAAO;;AMoHnC;EAAE,aNnHuB,EAAO;;AMoHhC;EAAE,aN3HyB,EAAO;;AM4HlC;EAAE,aNyKa,EAAO;;AMxKtB;EAAE,aN2mBc,EAAO;;AM1mBvB;EAAE,aNmfa,EAAO;;AMlftB;EAAE,aNuHc,EAAO;;AMtHvB;EAAE,aN3DiB,EAAO;;AM4D1B;EAAE,aNpHkB,EAAO;;AMqH3B;;EAAE,aNgkBa,EAAO;;AM/jBtB;;EAAE,aN4PY,EAAO;;AM3PrB;EAAE,aNEa,EAAO;;AMDtB;EAAE,aN0Ha,EAAO;;AMzHtB;;EAAE,aN8YgB,EAAO;;AM7YzB;;EAAE,aN6Ge,EAAO;;AM5GxB;EAAE,aN+TiB,EAAO;;AM9T1B;;EAAE,aNwHgB,EAAO;;AMvHzB;EAAE,aNmcc,EAAO;;AMlcvB;;;EAAE,aN7GY,EAAO;;AM8GrB;EAAE,aN2Pe,EAAO;;AM1PxB;EAAE,aNyPe,EAAO;;AMxPxB;EAAE,aNodqB,EAAO;;AMnd9B;EAAE,aNgiBiB,EAAO;;AM/hB1B;EAAE,aN4da,EAAO;;AM3dtB;EAAE,aN8Pa,EAAO;;AM7PtB;EAAE,aNkhBa,EAAO;;AMjhBtB;EAAE,aNwUiB,EAAO;;AMvU1B;EAAE,aNyUwB,EAAO;;AMxUjC;EAAE,aNqJ0B,EAAO;;AMpJnC;EAAE,aNiJmB,EAAO;;AMhJ5B;EAAE,aN0Ra,EAAO;;AMzRtB;EAAE,aN/DkB,EAAO;;AMgE3B;EAAE,aNzDgB,EAAO;;AM0DzB;EAAE,aNhEkB,EAAO;;AMiE3B;EAAE,aNhEmB,EAAO;;AMiE5B;EAAE,aNXe,EAAO;;AMYxB;;EAAE,aNgaY,EAAO;;AM/ZrB;;EAAE,aNqaiB,EAAO;;AMpa1B;;EAAE,aNmagB,EAAO;;AMlazB;EAAE,aNkCgB,EAAO;;AMjCzB;EAAE,aN+NgB,EAAO;;AM9NzB;;EAAE,aN8gBY,EAAO;;AM7gBrB;;EAAE,aN8Ga,EAAO;;AM7GtB;;EAAE,aN0ckB,EAAO;;AMzc3B;EAAE,aNlBiB,EAAO;;AMmB1B;EAAE,aNfkB,EAAO;;AMgB3B;;EAAE,aNxGY,EAAO;;AMyGrB;EAAE,aNyYe,EAAO;;AMxYxB;EAAE,aNqgBgB,EAAO;;AMpgBzB;;EAAE,aNxCiB,EAAO;;AMyC1B;EAAE,aNkNmB,EAAO;;AMjN5B;EAAE,aNgCgB,EAAO;;AM/BzB;EAAE,aNtCsB,EAAO;;AMuC/B;EAAE,aNtCoB,EAAO;;AMuC7B;EAAE,aN8gBe,EAAO;;AM7gBxB;EAAE,aN2amB,EAAO;;AM1a5B;EAAE,aNsbgB,EAAO;;AMrbzB;EAAE,aNjIc,EAAO;;AMkIvB;EAAE,aNrCc,EAAO;;AMsCvB;EAAE,aNbe,EAAO;;AMcxB;EAAE,aN2DmB,EAAO;;AM1D5B;EAAE,aN7GkB,EAAO;;AM8G3B;EAAE,aNmJkB,EAAO;;AMlJ3B;EAAE,aNxMiB,EAAO;;AMyM1B;EAAE,aNyOc,EAAO;;AMxOvB;EAAE,aNuCmB,EAAO;;AMtC5B;EAAE,aN9IY,EAAO;;AM+IrB;EAAE,aNoHgB,EAAO;;AMnHzB;EAAE,aNwSmB,EAAO;;AMvS5B;EAAE,aNxMyB,EAAO;;AMyMlC;EAAE,aNxM0B,EAAO;;AMyMnC;EAAE,aNxMuB,EAAO;;AMyMhC;EAAE,aN5MyB,EAAO;;AM6MlC;EAAE,aNxMkB,EAAO;;AMyM3B;EAAE,aNxMmB,EAAO;;AMyM5B;EAAE,aNxMgB,EAAO;;AMyMzB;EAAE,aN5MkB,EAAO;;AM6M3B;EAAE,aNvBe,EAAO;;AMwBxB;EAAE,aNyKc,EAAO;;AMxKvB;EAAE,aNqac,EAAO;;AMpavB;;EAAE,aNqOc,EAAO;;AMpOvB;EAAE,aN3EgB,EAAO;;AM4EzB;EAAE,aNuSkB,EAAO;;AMtS3B;EAAE,aNuSmB,EAAO;;AMtS5B;EAAE,aN6Xe,EAAO;;AM5XxB;EAAE,aNhFc,EAAO;;AMiFvB;;EAAE,aNmTa,EAAO;;AMlTtB;EAAE,aN8EkB,EAAO;;AM7E3B;EAAE,aNkDgB,EAAO;;AMjDzB;EAAE,aNmDqB,EAAO;;AMlD9B;EAAE,aNoWe,EAAO;;AMnWxB;EAAE,aN0De,EAAO;;AMzDxB;EAAE,aN+Ma,EAAO;;AM9MtB;EAAE,aN0De,EAAO;;AMzDxB;EAAE,aNsJkB,EAAO;;AMrJ3B;EAAE,aNqCc,EAAO;;AMpCvB;EAAE,aNmCsB,EAAO;;AMlC/B;EAAE,aN4ZgB,EAAO;;AM3ZzB;EAAE,aNjFY,EAAO;;AMkFrB;;EAAE,aNuSiB,EAAO;;AMtS1B;;;EAAE,aNwXmB,EAAO;;AMvX5B;EAAE,aN0KsB,EAAO;;AMzK/B;EAAE,aN9DY,EAAO;;AM+DrB;EAAE,aNrFiB,EAAO;;AMsF1B;;EAAE,aNnHoB,EAAO;;AMoH7B;EAAE,aN4QgB,EAAO;;AM3QzB;EAAE,aN6HY,EAAO;;AM5HrB;EAAE,aNvBmB,EAAO;;AMwB5B;EAAE,aNqYmB,EAAO;;AMpY5B;EAAE,aN+XiB,EAAO;;AM9X1B;EAAE,aN/Bc,EAAO;;AMgCvB;EAAE,aNmQoB,EAAO;;AMlQ7B;EAAE,aN8LkB,EAAO;;AM7L3B;EAAE,aN8LwB,EAAO;;AM7LjC;EAAE,aNyTc,EAAO;;AMxTvB;EAAE,aNzJkB,EAAO;;AM0J3B;EAAE,aNWyB,EAAO;;AMVlC;EAAE,aN0Rc,EAAO;;AMzRvB;EAAE,aNgLc,EAAO;;AM/KvB;EAAE,aN3H2B,EAAO;;AM4HpC;EAAE,aN3H4B,EAAO;;AM4HrC;EAAE,aN3HyB,EAAO;;AM4HlC;EAAE,aN/H2B,EAAO;;AMgIpC;EAAE,aNiGa,EAAO;;AMhGtB;EAAE,aNlFY,EAAO;;AMmFrB;EAAE,aNpQc,EAAO;;AMqQvB;EAAE,aN8bkB,EAAO;;AM7b3B;EAAE,aN7KgB,EAAO;;AM8KzB;EAAE,aN1DkB,EAAO;;AM2D3B;EAAE,aN1DkB,EAAO;;AM2D3B;EAAE,aNkRkB,EAAO;;AMjR3B;EAAE,aNoOmB,EAAO;;AMnO5B;EAAE,aNgZc,EAAO;;AM/YvB;EAAE,aN6KoB,EAAO;;AM5K7B;EAAE,aN6KsB,EAAO;;AM5K/B;EAAE,aNwHgB,EAAO;;AMvHzB;EAAE,aNsHkB,EAAO;;AMrH3B;EAAE,aNhJoB,EAAO;;AMiJ7B;EAAE,aN6MqB,EAAO;;AM5M9B;EAAE,aNjD4B,EAAO;;AMkDrC;EAAE,aN2RoB,EAAO;;AM1R7B;EAAE,aN9Ge,EAAO;;AM+GxB;;EAAE,aN3K2B,EAAO;;AM4KpC;;EAAE,aNzKyB,EAAO;;AM0KlC;;EAAE,aN3K4B,EAAO;;AM4KrC;;EAAE,aNhEW,EAAO;;AMiEpB;EAAE,aNOW,EAAO;;AMNpB;;EAAE,aN6aW,EAAO;;AM5apB;;EAAE,aNqFW,EAAO;;AMpFpB;;;;EAAE,aN4FW,EAAO;;AM3FpB;;;EAAE,aN+PW,EAAO;;AM9PpB;;EAAE,aN8FW,EAAO;;AM7FpB;;EAAE,aN3MW,EAAO;;AM4MpB;EAAE,aNhDY,EAAO;;AMiDrB;EAAE,aNpCiB,EAAO;;AMqC1B;EAAE,aN0SsB,EAAO;;AMzS/B;EAAE,aN0SuB,EAAO;;AMzShC;EAAE,aN0SuB,EAAO;;AMzShC;EAAE,aN0SwB,EAAO;;AMzSjC;EAAE,aN6SwB,EAAO;;AM5SjC;EAAE,aN6SyB,EAAO;;AM5SlC;EAAE,aNkXiB,EAAO;;AMjX1B;EAAE,aN8WmB,EAAO;;AM7W5B;EAAE,aNydsB,EAAO;;AMxd/B;EAAE,aNsde,EAAO;;AMrdxB;EAAE,aN2cY,EAAO;;AM1crB;EAAE,aN2cmB,EAAO;;AM1c5B;EAAE,aNodoB,EAAO;;AMnd7B;EAAE,aNxGe,EAAO;;AMyGxB;EAAE,aN8SsB,EAAO;;AM7S/B;EAAE,aNgEiB,EAAO;;AM/D1B;EAAE,aNpCc,EAAO;;AMqCvB;EAAE,aN3TW,EAAO;;AM4TpB;EAAE,aN/OiB,EAAO;;AMgP1B;EAAE,aN/OwB,EAAO;;AMgPjC;EAAE,aN+Xc,EAAO;;AM9XvB;EAAE,aN+XqB,EAAO;;AM9X9B;EAAE,aNgGuB,EAAO;;AM/FhC;EAAE,aNkGqB,EAAO;;AMjG9B;EAAE,aN+FuB,EAAO;;AM9FhC;EAAE,aN+FwB,EAAO;;AM9FjC;EAAE,aNjTa,EAAO;;AMkTtB;EAAE,aNmbe,EAAO;;AMlbxB;EAAE,aN7Te,EAAO;;AM8TxB;EAAE,aNkFa,EAAO;;AMjFtB;EAAE,aN5HgB,EAAO;;AM6HzB;EAAE,aNgQa,EAAO;;AM/PtB;EAAE,aNxCkB,EAAO;;AMyC3B;EAAE,aN4Wc,EAAO;;AM3WvB;EAAE,aNtFc,EAAO;;AMuFvB;EAAE,aN6FY,EAAO;;AM5FrB;;EAAE,aNXgB,EAAO;;AMYzB;EAAE,aN+Sa,EAAO;;AM9StB;EAAE,aNwHc,EAAO;;AMvHvB;EAAE,aN7Te,EAAO;;AM8TxB;EAAE,aNrPW,EAAO;;AMsPpB;EAAE,aNkZU,EAAO;;AMjZnB;EAAE,aNwZa,EAAO;;AMvZtB;EAAE,aNgMc,EAAO;;AM/LvB;EAAE,aNmIiB,EAAO;;AMlI1B;EAAE,aN8QsB,EAAO;;AM7Q/B;EAAE,aN9T4B,EAAO;;AM+TrC;EAAE,aNhU2B,EAAO;;AMiUpC;;EAAE,aNvO2B,EAAO;;AMwOpC;EAAE,aNjJoB,EAAO;;AMkJ7B;EAAE,aNmZkB,EAAO;;AMlZ3B;EAAE,aNsYoB,EAAO;;AMrY7B;;EAAE,aN6VW,EAAO;;AM5VpB;EAAE,aN6JqB,EAAO;;AM5J9B;EAAE,aN+PqB,EAAO;;AM9P9B;EAAE,aNyOa,EAAO;;AMxOtB;EAAE,aNtIuB,EAAO;;AMuIhC;EAAE,aNuZiB,EAAO;;AMtZ1B;EAAE,aNiHc,EAAO;;AMhHvB;;;EAAE,aNmWkB,EAAO;;AMlW3B;;EAAE,aNpCsB,EAAO;;AMqC/B;EAAE,aN4Za,EAAO;;AM3ZtB;EAAE,aN5Cc,EAAO;;AM6CvB;EAAE,aNsKc,EAAO;;AMrKvB;EAAE,aNuKqB,EAAO;;AMtK9B;EAAE,aN+Q0B,EAAO;;AM9QnC;EAAE,aN6QmB,EAAO;;AM5Q5B;EAAE,aNzKiB,EAAO;;AM0K1B;EAAE,aNtKY,EAAO;;AMuKrB;EAAE,aNiIqB,EAAO;;AMhI9B;EAAE,aN+HsB,EAAO;;AM9H/B;EAAE,aNjKc,EAAO;;AMkKvB;EAAE,aNac,EAAO;;AMZvB;EAAE,aNkBgB,EAAO;;AMjBzB;EAAE,aNhIW,EAAO;;AMiIpB;EAAE,aNvRgB,EAAO;;AMwRzB;EAAE,aNpOa,EAAO;;AMqOtB;EAAE,aN4GW,EAAO;;AM3GpB;EAAE,aNyOa,EAAO;;AMxOtB;EAAE,aN/LY,EAAO;;AMgMrB;EAAE,aN/La,EAAO;;AMgMtB;EAAE,aNvTe,EAAO;;AMwTxB;EAAE,aNvTsB,EAAO;;AMwT/B;EAAE,aNgPa,EAAO;;AM/OtB;EAAE,aNgPoB,EAAO;;AM/O7B;EAAE,aN+Ie,EAAO;;AM9IxB;;EAAE,aNlRW,EAAO;;AMmRpB;;EAAE,aNuQY,EAAO;;AMtQrB;EAAE,aNoTY,EAAO;;AMnTrB;EAAE,aN+Ne,EAAO;;AM9NxB;EAAE,aN9LkB,EAAO;;AM+L3B;EAAE,aNyNkB,EAAO;;AMxN3B;EAAE,aNtMgB,EAAO;;AMuMzB;EAAE,aNvIkB,EAAO;;AMwI3B;EAAE,aNhImB,EAAO;;AMiI5B;EAAE,aN7IoB,EAAO;;AM8I7B;EAAE,aNvIyB,EAAO;;AMwIlC;;;EAAE,aN9IoB,EAAO;;AM+I7B;;EAAE,aNnJsB,EAAO;;AMoJ/B;;EAAE,aNnJoB,EAAO;;AMoJ7B;;EAAE,aNvIoB,EAAO;;AMwI7B;EAAE,aNpJmB,EAAO;;AMqJ5B;EAAE,aNoVY,EAAO;;AMnVrB;EAAE,aN/Oe,EAAO;;AMgPxB;EAAE,aNjBgB,EAAO;;AMkBzB;;;;;EAAE,aNFiB,EAAO;;AMG1B;EAAE,aN9PsB,EAAO;;AM+P/B;;;EAAE,aNwHa,EAAO;;AMvHtB;;EAAE,aN/Lc,EAAO;;AMgMvB;EAAE,aNrGkB,EAAO;;AMsG3B;EAAE,aNvGW,EAAO;;AMwGpB;;;EAAE,aNlFmB,EAAO;;AMmF5B;EAAE,aNiPqB,EAAO;;AMhP9B;EAAE,aNuGU,EAAO;;AMtGnB;;EAAE,aNiVc,EAAO;;AMhVvB;;EAAE,aN8DmB,EAAO;;AM7D5B;;EAAE,aN8DqB,EAAO;;AM7D9B;EAAE,aNjEe,EAAO;;AMkExB;EAAE,aNzQmB,EAAO;;AM0Q5B;EAAE,aNxEc,EAAO;;AMyEvB;EAAE,aN4DiB,EAAO;;AM3D1B;EAAE,aNwKe,EAAO;;AMvKxB;EAAE,aNgJiB,EAAO;;AM/I1B;EAAE,aNgJwB,EAAO;;AM/IjC;EAAE,aNhVY,EAAO;;AMiVrB;;EAAE,aNlIgB,EAAO;;AMmIzB;EAAE,aNoRW,EAAO;;AMnRpB;EAAE,aN9VkB,EAAO;;AM+V3B;EAAE,aN8EY,EAAO;;AM7ErB;EAAE,aNiKkB,EAAO;;AMhK3B;EAAE,aNqRc,EAAO;;AMpRvB;EAAE,aNyVY,EAAO;;AMxVrB;EAAE,aNiCmB,EAAO;;AMhC5B;EAAE,aNkUY,EAAO;;AMjUrB;EAAE,aN3UkB,EAAO;;AM4U3B;EAAE,aNmDc,EAAO;;AMlDvB;EAAE,aNjHqB,EAAO;;AMkH9B;EAAE,aNlTe,EAAO;;AMmTxB;EAAE,aNtTqB,EAAO;;AMuT9B;EAAE,aNzTmB,EAAO;;AM0T5B;EAAE,aN5Te,EAAO;;AM6TxB;EAAE,aNxTiB,EAAO;;AMyT1B;EAAE,aNxTiB,EAAO;;AMyT1B;EAAE,aNjXkB,EAAO;;AMkX3B;EAAE,aNjXoB,EAAO;;AMkX7B;EAAE,aNyPa,EAAO;;AMxPtB;EAAE,aNzQiB,EAAO;;AM0Q1B;EAAE,aNpZU,EAAO;;AMqZnB;EAAE,aNlNkB,EAAO;;AMmN3B;EAAE,aN2BmB,EAAO;;AM1B5B;EAAE,aNpXqB,EAAO;;AMqX9B;EAAE,aN5akB,EAAO;;AM6a3B;EAAE,aN2CiB,EAAO;;AM1C1B;EAAE,aN/CkB,EAAO;;AMgD3B;EAAE,aN7Dc,EAAO;;AM8DvB;EAAE,aN7DqB,EAAO;;AM8D9B;EAAE,aNsOkB,EAAO;;AMrO3B;EAAE,aNsOiB,EAAO;;AMrO1B;EAAE,aN9Xe,EAAO;;AM+XxB;EAAE,aNvWW,EAAO;;AMwWpB;EAAE,aN7Ee,EAAO;;AM8ExB;EAAE,aNjciB,EAAO;;AMkc1B;EAAE,aNnVU,EAAO;;AMoVnB;;;EAAE,aN7FW,EAAO;;AM8FpB;EAAE,aNxBgB,EAAO;;AMyBzB;EAAE,aN5WkB,EAAO;;AM6W3B;EAAE,aNhSsB,EAAO;;AMiS/B;EAAE,aNlRgB,EAAO;;AMmRzB;EAAE,aNlLgB,EAAO;;AMmLzB;EAAE,aNzEe,EAAO;;AM0ExB;EAAE,aN2Fc,EAAO;;AM1FvB;EAAE,aNuGoB,EAAO;;AMtG7B;EAAE,aNgHmB,EAAO;;AM/G5B;EAAE,aNiHgB,EAAO;;AMhHzB;EAAE,aNhWiB,EAAO;;AMiW1B;EAAE,aNlWuB,EAAO;;AMmWhC;EAAE,aNnRe,EAAO;;AMoRxB;EAAE,aNgGY,EAAO;;AM/FrB;EAAE,aN0PmB,EAAO;;AMzP5B;EAAE,aNnBkB,EAAO;;AMoB3B;EAAE,aNyJmB,EAAO;;AMxJ5B;EAAE,aNlIiB,EAAO;;AMmI1B;EAAE,aN2Pa,EAAO;;AM1PtB;EAAE,aNjDY,EAAO;;AMkDrB;EAAE,aNvCe,EAAO;;AMwCxB;;EAAE,aN+MmB,EAAO;;AM9M5B;EAAE,aN+MuB,EAAO;;AM9MhC;EAAE,aNuPoB,EAAO;;AMtP7B;EAAE,aNrDmB,EAAO;;AMsD5B;EAAE,aNsPkB,EAAO;;AMrP3B;EAAE,aNtDmB,EAAO;;AMuD5B;EAAE,aNrDqB,EAAO;;AMsD9B;EAAE,aNvDqB,EAAO;;AMwD9B;EAAE,aN7Bc,EAAO;;AM8BvB;EAAE,aNhMkB,EAAO;;AMiM3B;EAAE,aN7PyB,EAAO;;AM8PlC;EAAE,aNImB,EAAO;;AMH5B;EAAE,aN+PgB,EAAO;;AM9PzB;EAAE,aNkEc,EAAO;;AMjEvB;EAAE,aNoOiB,EAAO;;AMnO1B;EAAE,aNqOkB,EAAO;;AMpO3B;;EAAE,aNjbW,EAAO;;AMkbpB;EAAE,aN0Oe,EAAO;;AMzOxB;EAAE,aN4La,EAAO;;AM3LtB;EAAE,aNsIc,EAAO;;AMrIvB;EAAE,aNhEc,EAAO;;AMiEvB;;EAAE,aNyQoB,EAAO;;AMxQ7B;EAAE,aNlCqB,EAAO;;AMmC9B;EAAE,aNtCgB,EAAO;;AMuCzB;EAAE,aNpRoB,EAAO;;AMqR7B;;;EAAE,aN9boB,EAAO;;AM+b7B;;EAAE,aN5b8B,EAAO;;AM6bvC;;EAAE,aN/boB,EAAO;;AMgc7B;;EAAE,aN/buB,EAAO;;AMgchC;;EAAE,aNncqB,EAAO;;AMoc9B;EAAE,aNtDqB,EAAO;;AMuD9B;EAAE,aNtJgB,EAAO;;AMuJzB;EAAE,aNnDoB,EAAO;;AMoD7B;EAAE,aNnDsB,EAAO;;AMoD/B;EAAE,aN6GmB,EAAO;;AM5G5B;EAAE,aN6GqB,EAAO;;AM5G9B;EAAE,aN1Yc,EAAO;;AM2YvB;EAAE,aN7YsB,EAAO;;AM8Y/B;EAAE,aN/Wa,EAAO;;AMgXtB;EAAE,aN7dqB,EAAO;;AM8d9B;EAAE,aNnKmB,EAAO;;AMoK5B;;EAAE,aNnKuB,EAAO;;AMoKhC;;EAAE,aNtKsB,EAAO;;AMuK/B;;EAAE,aNxKqB,EAAO;;AMyK9B;EAAE,aN7KiB,EAAO;;AM8K1B;;EAAE,aN/LmB,EAAO;;AMgM5B;;EAAE,aNnMoB,EAAO;;AMoM7B;EAAE,aNhMuB,EAAO;;AMiMhC;EAAE,aN1MqB,EAAO;;AM2M9B;EAAE,aNjMoB,EAAO;;AMkM7B;EAAE,aNrMsB,EAAO;;AMsM/B;EAAE,aNvMoB,EAAO;;AMwM7B;EAAE,aNyJiB,EAAO;;AMxJ1B;EAAE,aNLkB,EAAO;;AMM3B;EAAE,aNrWwB,EAAO;;AMsWjC;EAAE,aN5OU,EAAO;;AM6OnB;EAAE,aN5OiB,EAAO;;AM6O1B;EAAE,aN4JmB,EAAO;;AM3J5B;EAAE,aN3EqB,EAAO;;AM4E9B;EAAE,aN3E4B,EAAO;;AM4ErC;EAAE,aNlPkB,EAAO;;AMmP3B;EAAE,aNkNmB,EAAO;;AMjN5B;EAAE,aNOc,EAAO;;AMNvB;EAAE,aN/Yc,EAAO;;AMgZvB;EAAE,aNpRe,EAAO;;AMqRxB;EAAE,aN9Ea,EAAO;;AM+EtB;EAAE,aN1KyB,EAAO;;AM2KlC;;EAAE,aNoGkB,EAAO;;AMnG3B;EAAE,aNtXc,EAAO;;AMuXvB;EAAE,aN9iBa,EAAO;;AM+iBtB;EAAE,aNpiBc,EAAO;;AMqiBvB;EAAE,aNhcuB,EAAO;;AMichC;EAAE,aNncwB,EAAO;;AMocjC;EAAE,aNjcwB,EAAO;;AMkcjC;EAAE,aNtcwB,EAAO;;AMucjC;EAAE,aNzLgB,EAAO;;AM0LzB;EAAE,aNjIe,EAAO;;AMkIxB;EAAE,aNjIiB,EAAO;;AMkI1B;EAAE,aNpIa,EAAO;;AMqItB;EAAE,aNvIW,EAAO;;AMwIpB;EAAE,aNzYkB,EAAO;;AM0Y3B;EAAE,aNzYoB,EAAO;;AM0Y7B;EAAE,aN3Ma,EAAO;;AM4MtB;EAAE,aN4Ka,EAAO;;AM3KtB;EAAE,aNveiB,EAAO;;AMwe1B;EAAE,aN1RiB,EAAO;;AM2R1B;EAAE,aNzCoB,EAAO;;AM0C7B;EAAE,aNzWY,EAAO;;AM0WrB;EAAE,aNrYuB,EAAO;;AMsYhC;EAAE,aNzZgB,EAAO;;AM0ZzB;EAAE,aNvHY,EAAO;;AMwHrB;EAAE,aN/RoB,EAAO;;AMgS7B;EAAE,aN+IW,EAAO;;AM9IpB;EAAE,aNhEoB,EAAO;;AMiE7B;EAAE,aN9HgB,EAAO;;AM+HzB;EAAE,aNvBc,EAAO;;AMwBvB;EAAE,aNlGoB,EAAO;;AMmG7B;EAAE,aNlGsB,EAAO;;AMmG/B;EAAE,aNgDmB,EAAO;;AM/C5B;EAAE,aNgDqB,EAAO;;AM/C9B;EAAE,aNVoB,EAAO;;AMW7B;EAAE,aNVuB,EAAO;;AMWhC;EAAE,aNlPe,EAAO;;AMmPxB;EAAE,aNxfiB,EAAO;;AMyf1B;EAAE,aNxfmB,EAAO;;AMyf5B;EAAE,aNpGe,EAAO;;AMqGxB;EAAE,aNvRc,EAAO;;AMwRvB;EAAE,aN6KkB,EAAO;;AM5K3B;EAAE,aN8Ke,EAAO;;AM7KxB;EAAE,aNnXc,EAAO;;AMoXvB;EAAE,aNsHwB,EAAO;;AMrHjC;EAAE,aN8JsB,EAAO;;AM7J/B;EAAE,aN7EyB,EAAO;;AM8ElC;EAAE,aNngBa,EAAO;;AMogBtB;EAAE,aN3iByB,EAAO;;AM4iBlC;EAAE,aNgJ4B,EAAO;;AM/IrC;EAAE,aN7fe,EAAO;;AM8fxB;EAAE,aNjjBmC,EAAO;;AMkjB5C;;EAAE,aNllB2C,EAAO;;AMmlBpD;;;EAAE,aNzZY,EAAO;;AM0ZrB;EAAE,aNlSa,EAAO;;AMmStB;EAAE,aNlSe,EAAO;;AMmSxB;;EAAE,aN3BqB,EAAO;;AM4B9B;EAAE,aN1LkB,EAAO;;AM2L3B;EAAE,aNgIc,EAAO;;AM/HvB;EAAE,aNgIqB,EAAO;;AM/H9B;EAAE,aNnBgB,EAAO;;AMoBzB;EAAE,aNnBsB,EAAO;;AMoB/B;EAAE,aNnBuB,EAAO;;AMoBhC;EAAE,aNtHkB,EAAO;;AMuH3B;EAAE,aNrVmB,EAAO;;AMsV5B;EAAE,aNkKa,EAAO;;AMjKtB;EAAE,aN2CiB,EAAO;;AM1C1B;;EAAE,aNzS4B,EAAO;;AM0SrC;;EAAE,aN5UoB,EAAO;;AM6U7B;EAAE,aNrRmB,EAAO;;A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","file":"nuboot_radix.style.css","sourcesContent":["@charset \"UTF-8\";\n/*\n * A partial implementation of the Ruby list functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb\n */\n/*\n * A partial implementation of the Ruby constants functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb\n */\n/*\n * A partial implementation of the Ruby display functions from Compass:\n * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb\n */\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: transparent; }\n\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857;\n color: #333333;\n background-color: #fff; }\n\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\na {\n color: #337ab7;\n text-decoration: none; }\n a:hover, a:focus {\n color: #23527c;\n text-decoration: underline; }\n a:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\nfigure {\n margin: 0; }\n\nimg {\n vertical-align: middle; }\n\n.img-responsive {\n display: block;\n max-width: 100%;\n height: auto; }\n\n.img-rounded {\n border-radius: 6px; }\n\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(all 0.2s ease-in-out, false, false, false, false, false, false, false, false, false);\n display: inline-block;\n max-width: 100%;\n height: auto; }\n\n.img-circle {\n border-radius: 50%; }\n\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n[role=\"button\"] {\n cursor: pointer; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit; }\n h1 small,\n h1 .small, h2 small,\n h2 .small, h3 small,\n h3 .small, h4 small,\n h4 .small, h5 small,\n h5 .small, h6 small,\n h6 .small,\n .h1 small,\n .h1 .small, .h2 small,\n .h2 .small, .h3 small,\n .h3 .small, .h4 small,\n .h4 .small, .h5 small,\n .h5 .small, .h6 small,\n .h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777; }\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: 20px;\n margin-bottom: 10px; }\n h1 small,\n h1 .small, .h1 small,\n .h1 .small,\n h2 small,\n h2 .small, .h2 small,\n .h2 .small,\n h3 small,\n h3 .small, .h3 small,\n .h3 .small {\n font-size: 65%; }\n\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: 10px;\n margin-bottom: 10px; }\n h4 small,\n h4 .small, .h4 small,\n .h4 .small,\n h5 small,\n h5 .small, .h5 small,\n .h5 .small,\n h6 small,\n h6 .small, .h6 small,\n .h6 .small {\n font-size: 75%; }\n\nh1, .h1 {\n font-size: 36px; }\n\nh2, .h2 {\n font-size: 30px; }\n\nh3, .h3 {\n font-size: 24px; }\n\nh4, .h4 {\n font-size: 18px; }\n\nh5, .h5 {\n font-size: 14px; }\n\nh6, .h6 {\n font-size: 12px; }\n\np {\n margin: 0 0 10px; }\n\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4; }\n @media (min-width: 768px) {\n .lead {\n font-size: 21px; } }\n\nsmall,\n.small {\n font-size: 85%; }\n\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em; }\n\n.text-left {\n text-align: left; }\n\n.text-right {\n text-align: right; }\n\n.text-center {\n text-align: center; }\n\n.text-justify {\n text-align: justify; }\n\n.text-nowrap {\n white-space: nowrap; }\n\n.text-lowercase {\n text-transform: lowercase; }\n\n.text-uppercase, .initialism {\n text-transform: uppercase; }\n\n.text-capitalize {\n text-transform: capitalize; }\n\n.text-muted, body.maintenance-page .tasks-list > div {\n color: #777777; }\n\n.text-primary {\n color: #337ab7; }\n\na.text-primary:hover,\na.text-primary:focus {\n color: #286090; }\n\n.text-success {\n color: #3c763d; }\n\na.text-success:hover,\na.text-success:focus {\n color: #2b542c; }\n\n.text-info {\n color: #31708f; }\n\na.text-info:hover,\na.text-info:focus {\n color: #245269; }\n\n.text-warning {\n color: #8a6d3b; }\n\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c; }\n\n.text-danger {\n color: #a94442; }\n\na.text-danger:hover,\na.text-danger:focus {\n color: #843534; }\n\n.bg-primary {\n color: #fff; }\n\n.bg-primary {\n background-color: #337ab7; }\n\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090; }\n\n.bg-success {\n background-color: #dff0d8; }\n\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3; }\n\n.bg-info {\n background-color: #d9edf7; }\n\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee; }\n\n.bg-warning {\n background-color: #fcf8e3; }\n\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5; }\n\n.bg-danger {\n background-color: #f2dede; }\n\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9; }\n\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee; }\n\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px; }\n ul ul,\n ul ol,\n ol ul,\n ol ol {\n margin-bottom: 0; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px; }\n .list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px; }\n\ndl {\n margin-top: 0;\n margin-bottom: 20px; }\n\ndt,\ndd {\n line-height: 1.42857; }\n\ndt {\n font-weight: bold; }\n\ndd {\n margin-left: 0; }\n\n.dl-horizontal dd {\n overflow: hidden;\n *zoom: 1; }\n\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .dl-horizontal dd {\n margin-left: 180px; } }\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777; }\n\n.initialism {\n font-size: 90%; }\n\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee; }\n blockquote p:last-child,\n blockquote ul:last-child,\n blockquote ol:last-child {\n margin-bottom: 0; }\n blockquote footer,\n blockquote small,\n blockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857;\n color: #777777; }\n blockquote footer:before,\n blockquote small:before,\n blockquote .small:before {\n content: '\\2014 \\00A0'; }\n\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right; }\n .blockquote-reverse footer:before,\n .blockquote-reverse small:before,\n .blockquote-reverse .small:before,\n blockquote.pull-right footer:before,\n blockquote.pull-right small:before,\n blockquote.pull-right .small:before {\n content: ''; }\n .blockquote-reverse footer:after,\n .blockquote-reverse small:after,\n .blockquote-reverse .small:after,\n blockquote.pull-right footer:after,\n blockquote.pull-right small:after,\n blockquote.pull-right .small:after {\n content: '\\00A0 \\2014'; }\n\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace; }\n\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px; }\n\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none; }\n\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px; }\n pre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .container {\n width: 750px; } }\n @media (min-width: 992px) {\n .container {\n width: 970px; } }\n @media (min-width: 1200px) {\n .container {\n width: 1170px; } }\n\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n overflow: hidden;\n *zoom: 1; }\n\n.row {\n margin-left: -15px;\n margin-right: -15px;\n overflow: hidden;\n *zoom: 1; }\n\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .calendar-calendar, .view .row > .list-group, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px; }\n\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left; }\n\n.col-xs-1 {\n width: 8.33333%; }\n\n.col-xs-2 {\n width: 16.66667%; }\n\n.col-xs-3 {\n width: 25%; }\n\n.col-xs-4 {\n width: 33.33333%; }\n\n.col-xs-5 {\n width: 41.66667%; }\n\n.col-xs-6 {\n width: 50%; }\n\n.col-xs-7 {\n width: 58.33333%; }\n\n.col-xs-8 {\n width: 66.66667%; }\n\n.col-xs-9 {\n width: 75%; }\n\n.col-xs-10 {\n width: 83.33333%; }\n\n.col-xs-11 {\n width: 91.66667%; }\n\n.col-xs-12 {\n width: 100%; }\n\n.col-xs-pull-0 {\n right: auto; }\n\n.col-xs-pull-1 {\n right: 8.33333%; }\n\n.col-xs-pull-2 {\n right: 16.66667%; }\n\n.col-xs-pull-3 {\n right: 25%; }\n\n.col-xs-pull-4 {\n right: 33.33333%; }\n\n.col-xs-pull-5 {\n right: 41.66667%; }\n\n.col-xs-pull-6 {\n right: 50%; }\n\n.col-xs-pull-7 {\n right: 58.33333%; }\n\n.col-xs-pull-8 {\n right: 66.66667%; }\n\n.col-xs-pull-9 {\n right: 75%; }\n\n.col-xs-pull-10 {\n right: 83.33333%; }\n\n.col-xs-pull-11 {\n right: 91.66667%; }\n\n.col-xs-pull-12 {\n right: 100%; }\n\n.col-xs-push-0 {\n left: auto; }\n\n.col-xs-push-1 {\n left: 8.33333%; }\n\n.col-xs-push-2 {\n left: 16.66667%; }\n\n.col-xs-push-3 {\n left: 25%; }\n\n.col-xs-push-4 {\n left: 33.33333%; }\n\n.col-xs-push-5 {\n left: 41.66667%; }\n\n.col-xs-push-6 {\n left: 50%; }\n\n.col-xs-push-7 {\n left: 58.33333%; }\n\n.col-xs-push-8 {\n left: 66.66667%; }\n\n.col-xs-push-9 {\n left: 75%; }\n\n.col-xs-push-10 {\n left: 83.33333%; }\n\n.col-xs-push-11 {\n left: 91.66667%; }\n\n.col-xs-push-12 {\n left: 100%; }\n\n.col-xs-offset-0 {\n margin-left: 0%; }\n\n.col-xs-offset-1 {\n margin-left: 8.33333%; }\n\n.col-xs-offset-2 {\n margin-left: 16.66667%; }\n\n.col-xs-offset-3 {\n margin-left: 25%; }\n\n.col-xs-offset-4 {\n margin-left: 33.33333%; }\n\n.col-xs-offset-5 {\n margin-left: 41.66667%; }\n\n.col-xs-offset-6 {\n margin-left: 50%; }\n\n.col-xs-offset-7 {\n margin-left: 58.33333%; }\n\n.col-xs-offset-8 {\n margin-left: 66.66667%; }\n\n.col-xs-offset-9 {\n margin-left: 75%; }\n\n.col-xs-offset-10 {\n margin-left: 83.33333%; }\n\n.col-xs-offset-11 {\n margin-left: 91.66667%; }\n\n.col-xs-offset-12 {\n margin-left: 100%; }\n\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left; }\n .col-sm-1 {\n width: 8.33333%; }\n .col-sm-2 {\n width: 16.66667%; }\n .col-sm-3 {\n width: 25%; }\n .col-sm-4 {\n width: 33.33333%; }\n .col-sm-5 {\n width: 41.66667%; }\n .col-sm-6 {\n width: 50%; }\n .col-sm-7 {\n width: 58.33333%; }\n .col-sm-8 {\n width: 66.66667%; }\n .col-sm-9 {\n width: 75%; }\n .col-sm-10 {\n width: 83.33333%; }\n .col-sm-11 {\n width: 91.66667%; }\n .col-sm-12 {\n width: 100%; }\n .col-sm-pull-0 {\n right: auto; }\n .col-sm-pull-1 {\n right: 8.33333%; }\n .col-sm-pull-2 {\n right: 16.66667%; }\n .col-sm-pull-3 {\n right: 25%; }\n .col-sm-pull-4 {\n right: 33.33333%; }\n .col-sm-pull-5 {\n right: 41.66667%; }\n .col-sm-pull-6 {\n right: 50%; }\n .col-sm-pull-7 {\n right: 58.33333%; }\n .col-sm-pull-8 {\n right: 66.66667%; }\n .col-sm-pull-9 {\n right: 75%; }\n .col-sm-pull-10 {\n right: 83.33333%; }\n .col-sm-pull-11 {\n right: 91.66667%; }\n .col-sm-pull-12 {\n right: 100%; }\n .col-sm-push-0 {\n left: auto; }\n .col-sm-push-1 {\n left: 8.33333%; }\n .col-sm-push-2 {\n left: 16.66667%; }\n .col-sm-push-3 {\n left: 25%; }\n .col-sm-push-4 {\n left: 33.33333%; }\n .col-sm-push-5 {\n left: 41.66667%; }\n .col-sm-push-6 {\n left: 50%; }\n .col-sm-push-7 {\n left: 58.33333%; }\n .col-sm-push-8 {\n left: 66.66667%; }\n .col-sm-push-9 {\n left: 75%; }\n .col-sm-push-10 {\n left: 83.33333%; }\n .col-sm-push-11 {\n left: 91.66667%; }\n .col-sm-push-12 {\n left: 100%; }\n .col-sm-offset-0 {\n margin-left: 0%; }\n .col-sm-offset-1 {\n margin-left: 8.33333%; }\n .col-sm-offset-2 {\n margin-left: 16.66667%; }\n .col-sm-offset-3 {\n margin-left: 25%; }\n .col-sm-offset-4 {\n margin-left: 33.33333%; }\n .col-sm-offset-5 {\n margin-left: 41.66667%; }\n .col-sm-offset-6 {\n margin-left: 50%; }\n .col-sm-offset-7 {\n margin-left: 58.33333%; }\n .col-sm-offset-8 {\n margin-left: 66.66667%; }\n .col-sm-offset-9 {\n margin-left: 75%; }\n .col-sm-offset-10 {\n margin-left: 83.33333%; }\n .col-sm-offset-11 {\n margin-left: 91.66667%; }\n .col-sm-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .calendar-calendar, .view .row > .list-group {\n float: left; }\n .col-md-1 {\n width: 8.33333%; }\n .col-md-2 {\n width: 16.66667%; }\n .col-md-3 {\n width: 25%; }\n .col-md-4 {\n width: 33.33333%; }\n .col-md-5 {\n width: 41.66667%; }\n .col-md-6 {\n width: 50%; }\n .col-md-7 {\n width: 58.33333%; }\n .col-md-8 {\n width: 66.66667%; }\n .col-md-9 {\n width: 75%; }\n .col-md-10 {\n width: 83.33333%; }\n .col-md-11 {\n width: 91.66667%; }\n .col-md-12, .calendar-calendar, .view .row > .list-group {\n width: 100%; }\n .col-md-pull-0 {\n right: auto; }\n .col-md-pull-1 {\n right: 8.33333%; }\n .col-md-pull-2 {\n right: 16.66667%; }\n .col-md-pull-3 {\n right: 25%; }\n .col-md-pull-4 {\n right: 33.33333%; }\n .col-md-pull-5 {\n right: 41.66667%; }\n .col-md-pull-6 {\n right: 50%; }\n .col-md-pull-7 {\n right: 58.33333%; }\n .col-md-pull-8 {\n right: 66.66667%; }\n .col-md-pull-9 {\n right: 75%; }\n .col-md-pull-10 {\n right: 83.33333%; }\n .col-md-pull-11 {\n right: 91.66667%; }\n .col-md-pull-12 {\n right: 100%; }\n .col-md-push-0 {\n left: auto; }\n .col-md-push-1 {\n left: 8.33333%; }\n .col-md-push-2 {\n left: 16.66667%; }\n .col-md-push-3 {\n left: 25%; }\n .col-md-push-4 {\n left: 33.33333%; }\n .col-md-push-5 {\n left: 41.66667%; }\n .col-md-push-6 {\n left: 50%; }\n .col-md-push-7 {\n left: 58.33333%; }\n .col-md-push-8 {\n left: 66.66667%; }\n .col-md-push-9 {\n left: 75%; }\n .col-md-push-10 {\n left: 83.33333%; }\n .col-md-push-11 {\n left: 91.66667%; }\n .col-md-push-12 {\n left: 100%; }\n .col-md-offset-0 {\n margin-left: 0%; }\n .col-md-offset-1 {\n margin-left: 8.33333%; }\n .col-md-offset-2 {\n margin-left: 16.66667%; }\n .col-md-offset-3 {\n margin-left: 25%; }\n .col-md-offset-4 {\n margin-left: 33.33333%; }\n .col-md-offset-5 {\n margin-left: 41.66667%; }\n .col-md-offset-6 {\n margin-left: 50%; }\n .col-md-offset-7 {\n margin-left: 58.33333%; }\n .col-md-offset-8 {\n margin-left: 66.66667%; }\n .col-md-offset-9 {\n margin-left: 75%; }\n .col-md-offset-10 {\n margin-left: 83.33333%; }\n .col-md-offset-11 {\n margin-left: 91.66667%; }\n .col-md-offset-12 {\n margin-left: 100%; } }\n\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left; }\n .col-lg-1 {\n width: 8.33333%; }\n .col-lg-2 {\n width: 16.66667%; }\n .col-lg-3 {\n width: 25%; }\n .col-lg-4 {\n width: 33.33333%; }\n .col-lg-5 {\n width: 41.66667%; }\n .col-lg-6 {\n width: 50%; }\n .col-lg-7 {\n width: 58.33333%; }\n .col-lg-8 {\n width: 66.66667%; }\n .col-lg-9 {\n width: 75%; }\n .col-lg-10 {\n width: 83.33333%; }\n .col-lg-11 {\n width: 91.66667%; }\n .col-lg-12 {\n width: 100%; }\n .col-lg-pull-0 {\n right: auto; }\n .col-lg-pull-1 {\n right: 8.33333%; }\n .col-lg-pull-2 {\n right: 16.66667%; }\n .col-lg-pull-3 {\n right: 25%; }\n .col-lg-pull-4 {\n right: 33.33333%; }\n .col-lg-pull-5 {\n right: 41.66667%; }\n .col-lg-pull-6 {\n right: 50%; }\n .col-lg-pull-7 {\n right: 58.33333%; }\n .col-lg-pull-8 {\n right: 66.66667%; }\n .col-lg-pull-9 {\n right: 75%; }\n .col-lg-pull-10 {\n right: 83.33333%; }\n .col-lg-pull-11 {\n right: 91.66667%; }\n .col-lg-pull-12 {\n right: 100%; }\n .col-lg-push-0 {\n left: auto; }\n .col-lg-push-1 {\n left: 8.33333%; }\n .col-lg-push-2 {\n left: 16.66667%; }\n .col-lg-push-3 {\n left: 25%; }\n .col-lg-push-4 {\n left: 33.33333%; }\n .col-lg-push-5 {\n left: 41.66667%; }\n .col-lg-push-6 {\n left: 50%; }\n .col-lg-push-7 {\n left: 58.33333%; }\n .col-lg-push-8 {\n left: 66.66667%; }\n .col-lg-push-9 {\n left: 75%; }\n .col-lg-push-10 {\n left: 83.33333%; }\n .col-lg-push-11 {\n left: 91.66667%; }\n .col-lg-push-12 {\n left: 100%; }\n .col-lg-offset-0 {\n margin-left: 0%; }\n .col-lg-offset-1 {\n margin-left: 8.33333%; }\n .col-lg-offset-2 {\n margin-left: 16.66667%; }\n .col-lg-offset-3 {\n margin-left: 25%; }\n .col-lg-offset-4 {\n margin-left: 33.33333%; }\n .col-lg-offset-5 {\n margin-left: 41.66667%; }\n .col-lg-offset-6 {\n margin-left: 50%; }\n .col-lg-offset-7 {\n margin-left: 58.33333%; }\n .col-lg-offset-8 {\n margin-left: 66.66667%; }\n .col-lg-offset-9 {\n margin-left: 75%; }\n .col-lg-offset-10 {\n margin-left: 83.33333%; }\n .col-lg-offset-11 {\n margin-left: 91.66667%; }\n .col-lg-offset-12 {\n margin-left: 100%; } }\n\ntable {\n background-color: transparent; }\n\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left; }\n\nth {\n text-align: left; }\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px; }\n .table > thead > tr > th,\n .table > thead > tr > td,\n .table > tbody > tr > th,\n .table > tbody > tr > td,\n .table > tfoot > tr > th,\n .table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857;\n vertical-align: top;\n border-top: 1px solid #ddd; }\n .table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd; }\n .table > caption + thead > tr:first-child > th,\n .table > caption + thead > tr:first-child > td,\n .table > colgroup + thead > tr:first-child > th,\n .table > colgroup + thead > tr:first-child > td,\n .table > thead:first-child > tr:first-child > th,\n .table > thead:first-child > tr:first-child > td {\n border-top: 0; }\n .table > tbody + tbody {\n border-top: 2px solid #ddd; }\n .table .table {\n background-color: #fff; }\n\n.table-condensed > thead > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > th,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > th,\n.table-condensed > tfoot > tr > td {\n padding: 5px; }\n\n.table-bordered, .calendar-calendar table.mini {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\n .table-bordered > thead > tr > td, .calendar-calendar table.mini > thead > tr > td,\n .table-bordered > tbody > tr > th, .calendar-calendar table.mini > tbody > tr > th,\n .table-bordered > tbody > tr > td, .calendar-calendar table.mini > tbody > tr > td,\n .table-bordered > tfoot > tr > th, .calendar-calendar table.mini > tfoot > tr > th,\n .table-bordered > tfoot > tr > td, .calendar-calendar table.mini > tfoot > tr > td {\n border: 1px solid #ddd; }\n .table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\n .table-bordered > thead > tr > td, .calendar-calendar table.mini > thead > tr > td {\n border-bottom-width: 2px; }\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9; }\n\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5; }\n\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column; }\n\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell; }\n\n.table > thead > tr > td.active,\n.table > thead > tr > th.active,\n.table > thead > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr > td.active,\n.table > tbody > tr > th.active,\n.table > tbody > tr.active > td,\n.table > tbody > tr.active > th,\n.table > tfoot > tr > td.active,\n.table > tfoot > tr > th.active,\n.table > tfoot > tr.active > td,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5; }\n\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8; }\n\n.table > thead > tr > td.success,\n.table > thead > tr > th.success,\n.table > thead > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr > td.success,\n.table > tbody > tr > th.success,\n.table > tbody > tr.success > td,\n.table > tbody > tr.success > th,\n.table > tfoot > tr > td.success,\n.table > tfoot > tr > th.success,\n.table > tfoot > tr.success > td,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8; }\n\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6; }\n\n.table > thead > tr > td.info,\n.table > thead > tr > th.info,\n.table > thead > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr > td.info,\n.table > tbody > tr > th.info,\n.table > tbody > tr.info > td,\n.table > tbody > tr.info > th,\n.table > tfoot > tr > td.info,\n.table > tfoot > tr > th.info,\n.table > tfoot > tr.info > td,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7; }\n\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3; }\n\n.table > thead > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr > td.warning,\n.table > tbody > tr > th.warning,\n.table > tbody > tr.warning > td,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr > td.warning,\n.table > tfoot > tr > th.warning,\n.table > tfoot > tr.warning > td,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3; }\n\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc; }\n\n.table > thead > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr > td.danger,\n.table > tbody > tr > th.danger,\n.table > tbody > tr.danger > td,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr > td.danger,\n.table > tfoot > tr > th.danger,\n.table > tfoot > tr.danger > td,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede; }\n\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc; }\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; }\n @media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd; }\n .table-responsive > .table {\n margin-bottom: 0; }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap; }\n .table-responsive > .table-bordered, .calendar-calendar .table-responsive > table.mini {\n border: 0; }\n .table-responsive > .table-bordered > thead > tr > th:first-child, .calendar-calendar .table-responsive > table.mini > thead > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > td:first-child {\n border-left: 0; }\n .table-responsive > .table-bordered > thead > tr > th:last-child, .calendar-calendar .table-responsive > table.mini > thead > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr > td:last-child {\n border-right: 0; }\n .table-responsive > .table-bordered > tbody > tr:last-child > th, .calendar-calendar .table-responsive > table.mini > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td, .calendar-calendar\n .table-responsive > table.mini > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .table-responsive > table.mini > tfoot > tr:last-child > td {\n border-bottom: 0; } }\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0; }\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5; }\n\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold; }\n\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal; }\n\ninput[type=\"file\"] {\n display: block; }\n\ninput[type=\"range\"] {\n display: block;\n width: 100%; }\n\nselect[multiple],\nselect[size] {\n height: auto; }\n\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857;\n color: #555555; }\n\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -webkit-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false) false false false);\n transition: compact(border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, false, false, false, false, false, false, false, false); }\n .form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6), false, false, false, false, false, false, false, false); }\n .form-control::-moz-placeholder {\n color: #999;\n opacity: 1; }\n .form-control:-ms-input-placeholder {\n color: #999; }\n .form-control::-webkit-input-placeholder {\n color: #999; }\n .form-control::-ms-expand {\n border: 0;\n background-color: transparent; }\n .form-control[disabled], .form-control[readonly],\n fieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1; }\n .form-control[disabled],\n fieldset[disabled] .form-control {\n cursor: not-allowed; }\n\ntextarea.form-control {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: none; }\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px; }\n input[type=\"date\"].input-sm, .input-group-sm > input[type=\"date\"].form-control,\n .input-group-sm > input[type=\"date\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"date\"].btn,\n .input-group-sm input[type=\"date\"],\n input[type=\"time\"].input-sm,\n .input-group-sm > input[type=\"time\"].form-control,\n .input-group-sm > input[type=\"time\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"time\"].btn,\n .input-group-sm\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-sm,\n .input-group-sm > input[type=\"datetime-local\"].form-control,\n .input-group-sm > input[type=\"datetime-local\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-sm\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-sm,\n .input-group-sm > input[type=\"month\"].form-control,\n .input-group-sm > input[type=\"month\"].input-group-addon,\n .input-group-sm > .input-group-btn > input[type=\"month\"].btn,\n .input-group-sm\n input[type=\"month\"] {\n line-height: 30px; }\n input[type=\"date\"].input-lg, .input-group-lg > input[type=\"date\"].form-control,\n .input-group-lg > input[type=\"date\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"date\"].btn,\n .input-group-lg input[type=\"date\"],\n input[type=\"time\"].input-lg,\n .input-group-lg > input[type=\"time\"].form-control,\n .input-group-lg > input[type=\"time\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"time\"].btn,\n .input-group-lg\n input[type=\"time\"],\n input[type=\"datetime-local\"].input-lg,\n .input-group-lg > input[type=\"datetime-local\"].form-control,\n .input-group-lg > input[type=\"datetime-local\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"datetime-local\"].btn,\n .input-group-lg\n input[type=\"datetime-local\"],\n input[type=\"month\"].input-lg,\n .input-group-lg > input[type=\"month\"].form-control,\n .input-group-lg > input[type=\"month\"].input-group-addon,\n .input-group-lg > .input-group-btn > input[type=\"month\"].btn,\n .input-group-lg\n input[type=\"month\"] {\n line-height: 46px; } }\n\n.form-group {\n margin-bottom: 15px; }\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px; }\n .radio label,\n .checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer; }\n\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9; }\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; }\n\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer; }\n\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; }\n\ninput[type=\"radio\"][disabled], input[type=\"radio\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled]\ninput[type=\"checkbox\"] {\n cursor: not-allowed; }\n\n.radio-inline.disabled,\nfieldset[disabled] .radio-inline,\n.checkbox-inline.disabled,\nfieldset[disabled]\n.checkbox-inline {\n cursor: not-allowed; }\n\n.radio.disabled label,\nfieldset[disabled] .radio label,\n.checkbox.disabled label,\nfieldset[disabled]\n.checkbox label {\n cursor: not-allowed; }\n\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px; }\n .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,\n .input-group-lg > .form-control-static.input-group-addon,\n .input-group-lg > .input-group-btn > .form-control-static.btn,\n .input-group-lg > .media-widget.input-group-btn > a.form-control-static, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,\n .input-group-sm > .form-control-static.input-group-addon,\n .input-group-sm > .input-group-btn > .form-control-static.btn,\n .input-group-sm > .media-widget.input-group-btn > a.form-control-static {\n padding-left: 0;\n padding-right: 0; }\n\n.input-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn,\n.input-group-sm > .media-widget.input-group-btn > a {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\nselect.input-sm, .input-group-sm > select.form-control,\n.input-group-sm > select.input-group-addon,\n.input-group-sm > .input-group-btn > select.btn {\n height: 30px;\n line-height: 30px; }\n\ntextarea.input-sm, .input-group-sm > textarea.form-control,\n.input-group-sm > textarea.input-group-addon,\n.input-group-sm > .input-group-btn > textarea.btn,\nselect[multiple].input-sm,\n.input-group-sm > select[multiple].form-control,\n.input-group-sm > select[multiple].input-group-addon,\n.input-group-sm > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px; }\n\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto; }\n\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.input-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn,\n.input-group-lg > .media-widget.input-group-btn > a {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\nselect.input-lg, .input-group-lg > select.form-control,\n.input-group-lg > select.input-group-addon,\n.input-group-lg > .input-group-btn > select.btn {\n height: 46px;\n line-height: 46px; }\n\ntextarea.input-lg, .input-group-lg > textarea.form-control,\n.input-group-lg > textarea.input-group-addon,\n.input-group-lg > .input-group-btn > textarea.btn,\nselect[multiple].input-lg,\n.input-group-lg > select[multiple].form-control,\n.input-group-lg > select[multiple].input-group-addon,\n.input-group-lg > .input-group-btn > select[multiple].btn {\n height: auto; }\n\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px; }\n\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto; }\n\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.33333; }\n\n.has-feedback {\n position: relative; }\n .has-feedback .form-control {\n padding-right: 42.5px; }\n\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none; }\n\n.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,\n.input-group-lg > .input-group-addon + .form-control-feedback,\n.input-group-lg > .input-group-btn > .btn + .form-control-feedback,\n.input-group-lg > .media-widget.input-group-btn > a + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px; }\n\n.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,\n.input-group-sm > .input-group-addon + .form-control-feedback,\n.input-group-sm > .input-group-btn > .btn + .form-control-feedback,\n.input-group-sm > .media-widget.input-group-btn > a + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px; }\n\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d; }\n\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168, false, false, false, false, false, false, false, false, false); }\n\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8; }\n\n.has-success .form-control-feedback {\n color: #3c763d; }\n\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b; }\n\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b, false, false, false, false, false, false, false, false, false); }\n\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3; }\n\n.has-warning .form-control-feedback {\n color: #8a6d3b; }\n\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442; }\n\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), false, false, false, false, false, false, false, false, false); }\n .has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483, false, false, false, false, false, false, false, false, false); }\n\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede; }\n\n.has-error .form-control-feedback {\n color: #a94442; }\n\n.has-feedback label ~ .form-control-feedback {\n top: 25px; }\n\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0; }\n\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373; }\n\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-static {\n display: inline-block; }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle; }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto; }\n .form-inline .input-group > .form-control {\n width: 100%; }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0; }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .form-inline .has-feedback .form-control-feedback {\n top: 0; } }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px; }\n\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px; }\n\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n overflow: hidden;\n *zoom: 1; }\n\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px; } }\n\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px; }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px; } }\n\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px; } }\n\n.btn, .media-widget > a {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .btn:focus, .media-widget > a:focus, .btn.focus, .media-widget > a.focus, .btn:active:focus, .media-widget > a:active:focus, .btn:active.focus, .media-widget > a:active.focus, .btn.active:focus, .media-widget > a.active:focus, .btn.active.focus, .media-widget > a.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px; }\n .btn:hover, .media-widget > a:hover, .btn:focus, .media-widget > a:focus, .btn.focus, .media-widget > a.focus {\n color: #333;\n text-decoration: none; }\n .btn:active, .media-widget > a:active, .btn.active, .media-widget > a.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false); }\n .btn.disabled, .media-widget > a.disabled, .btn[disabled], .media-widget > a[disabled],\n fieldset[disabled] .btn,\n fieldset[disabled] .media-widget > a {\n cursor: not-allowed;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\na.btn.disabled, .media-widget > a.disabled,\nfieldset[disabled] a.btn,\nfieldset[disabled] .media-widget > a {\n pointer-events: none; }\n\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc; }\n .btn-default:focus, .btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c; }\n .btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad; }\n .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,\n .open > .btn-default.dropdown-toggle:hover,\n .open > .btn-default.dropdown-toggle:focus,\n .open > .btn-default.dropdown-toggle.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c; }\n .btn-default:active, .btn-default.active,\n .open > .btn-default.dropdown-toggle {\n background-image: none; }\n .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,\n fieldset[disabled] .btn-default:hover,\n fieldset[disabled] .btn-default:focus,\n fieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc; }\n .btn-default .badge {\n color: #fff;\n background-color: #333; }\n\n.btn-primary, body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary:focus, body.maintenance-page .form-actions .btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a:focus:first-child, .btn-primary.focus, body.maintenance-page .form-actions .focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.focus:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #122b40; }\n .btn-primary:hover, body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a:hover:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active, body.maintenance-page .form-actions .btn:active:first-child, body.maintenance-page .form-actions .media-widget > a:active:first-child, .btn-primary.active, body.maintenance-page .form-actions .active.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active:first-child,\n .open > .btn-primary.dropdown-toggle, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:first-child {\n color: #fff;\n background-color: #286090;\n border-color: #204d74; }\n .btn-primary:active:hover, body.maintenance-page .form-actions .btn:active:hover:first-child, body.maintenance-page .form-actions .media-widget > a:active:hover:first-child, .btn-primary:active:focus, body.maintenance-page .form-actions .btn:active:focus:first-child, body.maintenance-page .form-actions .media-widget > a:active:focus:first-child, .btn-primary:active.focus, body.maintenance-page .form-actions .btn:active.focus:first-child, body.maintenance-page .form-actions .media-widget > a:active.focus:first-child, .btn-primary.active:hover, body.maintenance-page .form-actions .active.btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a.active:hover:first-child, .btn-primary.active:focus, body.maintenance-page .form-actions .active.btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a.active:focus:first-child, .btn-primary.active.focus, body.maintenance-page .form-actions .active.focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active.focus:first-child,\n .open > .btn-primary.dropdown-toggle:hover, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:hover:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:hover:first-child,\n .open > .btn-primary.dropdown-toggle:focus, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:focus:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:focus:first-child,\n .open > .btn-primary.dropdown-toggle.focus, body.maintenance-page .form-actions\n .open > .dropdown-toggle.focus.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle.focus:first-child {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40; }\n .btn-primary:active, body.maintenance-page .form-actions .btn:active:first-child, body.maintenance-page .form-actions .media-widget > a:active:first-child, .btn-primary.active, body.maintenance-page .form-actions .active.btn:first-child, body.maintenance-page .form-actions .media-widget > a.active:first-child,\n .open > .btn-primary.dropdown-toggle, body.maintenance-page .form-actions\n .open > .dropdown-toggle.btn:first-child, body.maintenance-page .form-actions\n .media-widget.open > a.dropdown-toggle:first-child {\n background-image: none; }\n .btn-primary.disabled:hover, body.maintenance-page .form-actions .disabled.btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a.disabled:hover:first-child, .btn-primary.disabled:focus, body.maintenance-page .form-actions .disabled.btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a.disabled:focus:first-child, .btn-primary.disabled.focus, body.maintenance-page .form-actions .disabled.focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a.disabled.focus:first-child, .btn-primary[disabled]:hover, body.maintenance-page .form-actions [disabled].btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a[disabled]:hover:first-child, .btn-primary[disabled]:focus, body.maintenance-page .form-actions [disabled].btn:focus:first-child, body.maintenance-page .form-actions .media-widget > a[disabled]:focus:first-child, .btn-primary[disabled].focus, body.maintenance-page .form-actions [disabled].focus.btn:first-child, body.maintenance-page .form-actions .media-widget > a[disabled].focus:first-child,\n fieldset[disabled] .btn-primary:hover,\n fieldset[disabled] body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .btn:hover:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a:hover:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a:hover:first-child,\n fieldset[disabled] .btn-primary:focus,\n fieldset[disabled] body.maintenance-page .form-actions .btn:focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .btn:focus:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a:focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a:focus:first-child,\n fieldset[disabled] .btn-primary.focus,\n fieldset[disabled] body.maintenance-page .form-actions .focus.btn:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .focus.btn:first-child,\n fieldset[disabled] body.maintenance-page .form-actions .media-widget > a.focus:first-child, body.maintenance-page .form-actions\n fieldset[disabled] .media-widget > a.focus:first-child {\n background-color: #337ab7;\n border-color: #2e6da4; }\n .btn-primary .badge, body.maintenance-page .form-actions .btn:first-child .badge, body.maintenance-page .form-actions .media-widget > a:first-child .badge {\n color: #337ab7;\n background-color: #fff; }\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625; }\n .btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n border-color: #398439; }\n .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,\n .open > .btn-success.dropdown-toggle:hover,\n .open > .btn-success.dropdown-toggle:focus,\n .open > .btn-success.dropdown-toggle.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625; }\n .btn-success:active, .btn-success.active,\n .open > .btn-success.dropdown-toggle {\n background-image: none; }\n .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,\n fieldset[disabled] .btn-success:hover,\n fieldset[disabled] .btn-success:focus,\n fieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c; }\n .btn-success .badge {\n color: #5cb85c;\n background-color: #fff; }\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85; }\n .btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc; }\n .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,\n .open > .btn-info.dropdown-toggle:hover,\n .open > .btn-info.dropdown-toggle:focus,\n .open > .btn-info.dropdown-toggle.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85; }\n .btn-info:active, .btn-info.active,\n .open > .btn-info.dropdown-toggle {\n background-image: none; }\n .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,\n fieldset[disabled] .btn-info:hover,\n fieldset[disabled] .btn-info:focus,\n fieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da; }\n .btn-info .badge {\n color: #5bc0de;\n background-color: #fff; }\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning:focus, .btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d; }\n .btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512; }\n .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,\n .open > .btn-warning.dropdown-toggle:hover,\n .open > .btn-warning.dropdown-toggle:focus,\n .open > .btn-warning.dropdown-toggle.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d; }\n .btn-warning:active, .btn-warning.active,\n .open > .btn-warning.dropdown-toggle {\n background-image: none; }\n .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,\n fieldset[disabled] .btn-warning:hover,\n fieldset[disabled] .btn-warning:focus,\n fieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236; }\n .btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff; }\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19; }\n .btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925; }\n .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,\n .open > .btn-danger.dropdown-toggle:hover,\n .open > .btn-danger.dropdown-toggle:focus,\n .open > .btn-danger.dropdown-toggle.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19; }\n .btn-danger:active, .btn-danger.active,\n .open > .btn-danger.dropdown-toggle {\n background-image: none; }\n .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,\n fieldset[disabled] .btn-danger:hover,\n fieldset[disabled] .btn-danger:focus,\n fieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a; }\n .btn-danger .badge {\n color: #d9534f;\n background-color: #fff; }\n\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0; }\n .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],\n fieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {\n border-color: transparent; }\n .btn-link:hover, .btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent; }\n .btn-link[disabled]:hover, .btn-link[disabled]:focus,\n fieldset[disabled] .btn-link:hover,\n fieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none; }\n\n.btn-lg, .btn-group-lg > .btn, .media-widget.btn-group-lg > a {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333;\n border-radius: 6px; }\n\n.btn-sm, .btn-group-sm > .btn, .media-widget.btn-group-sm > a {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-xs, .btn-group-xs > .btn, .media-widget.btn-group-xs > a {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px; }\n\n.btn-block {\n display: block;\n width: 100%; }\n\n.btn-block + .btn-block {\n margin-top: 5px; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block; }\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline; }\n\naudio:not([controls]) {\n display: none;\n height: 0; }\n\n[hidden],\ntemplate {\n display: none; }\n\na {\n background-color: transparent; }\n\na:active,\na:hover {\n outline: 0; }\n\nabbr[title] {\n border-bottom: 1px dotted; }\n\nb,\nstrong {\n font-weight: bold; }\n\ndfn {\n font-style: italic; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nmark {\n background: #ff0;\n color: #000; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsup {\n top: -0.5em; }\n\nsub {\n bottom: -0.25em; }\n\nimg {\n border: 0; }\n\nsvg:not(:root) {\n overflow: hidden; }\n\nfigure {\n margin: 1em 40px; }\n\nhr {\n box-sizing: content-box;\n height: 0; }\n\npre {\n overflow: auto; }\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0; }\n\nbutton {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer; }\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\n\ninput {\n line-height: normal; }\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em; }\n\nlegend {\n border: 0;\n padding: 0; }\n\ntextarea {\n overflow: auto; }\n\noptgroup {\n font-weight: bold; }\n\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\n\ntd,\nth {\n padding: 0; }\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\"; }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n .navbar {\n display: none; }\n .btn > .caret, .media-widget > a > .caret,\n .dropup > .btn > .caret,\n .media-widget.dropup > a > .caret {\n border-top-color: #000 !important; }\n .label {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th, .calendar-calendar table.mini th,\n .table-bordered td, .calendar-calendar table.mini td {\n border: 1px solid #ddd !important; } }\n\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url(\"../fonts/bootstrap/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\"); }\n\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.glyphicon-asterisk:before {\n content: \"\\002a\"; }\n\n.glyphicon-plus:before {\n content: \"\\002b\"; }\n\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\"; }\n\n.glyphicon-minus:before {\n content: \"\\2212\"; }\n\n.glyphicon-cloud:before {\n content: \"\\2601\"; }\n\n.glyphicon-envelope:before {\n content: \"\\2709\"; }\n\n.glyphicon-pencil:before {\n content: \"\\270f\"; }\n\n.glyphicon-glass:before {\n content: \"\\e001\"; }\n\n.glyphicon-music:before {\n content: \"\\e002\"; }\n\n.glyphicon-search:before {\n content: \"\\e003\"; }\n\n.glyphicon-heart:before {\n content: \"\\e005\"; }\n\n.glyphicon-star:before {\n content: \"\\e006\"; }\n\n.glyphicon-star-empty:before {\n content: \"\\e007\"; }\n\n.glyphicon-user:before {\n content: \"\\e008\"; }\n\n.glyphicon-film:before {\n content: \"\\e009\"; }\n\n.glyphicon-th-large:before {\n content: \"\\e010\"; }\n\n.glyphicon-th:before {\n content: \"\\e011\"; }\n\n.glyphicon-th-list:before {\n content: \"\\e012\"; }\n\n.glyphicon-ok:before {\n content: \"\\e013\"; }\n\n.glyphicon-remove:before {\n content: \"\\e014\"; }\n\n.glyphicon-zoom-in:before {\n content: \"\\e015\"; }\n\n.glyphicon-zoom-out:before {\n content: \"\\e016\"; }\n\n.glyphicon-off:before {\n content: \"\\e017\"; }\n\n.glyphicon-signal:before {\n content: \"\\e018\"; }\n\n.glyphicon-cog:before {\n content: \"\\e019\"; }\n\n.glyphicon-trash:before {\n content: \"\\e020\"; }\n\n.glyphicon-home:before {\n content: \"\\e021\"; }\n\n.glyphicon-file:before {\n content: \"\\e022\"; }\n\n.glyphicon-time:before {\n content: \"\\e023\"; }\n\n.glyphicon-road:before {\n content: \"\\e024\"; }\n\n.glyphicon-download-alt:before {\n content: \"\\e025\"; }\n\n.glyphicon-download:before {\n content: \"\\e026\"; }\n\n.glyphicon-upload:before {\n content: \"\\e027\"; }\n\n.glyphicon-inbox:before {\n content: \"\\e028\"; }\n\n.glyphicon-play-circle:before {\n content: \"\\e029\"; }\n\n.glyphicon-repeat:before {\n content: \"\\e030\"; }\n\n.glyphicon-refresh:before {\n content: \"\\e031\"; }\n\n.glyphicon-list-alt:before {\n content: \"\\e032\"; }\n\n.glyphicon-lock:before {\n content: \"\\e033\"; }\n\n.glyphicon-flag:before {\n content: \"\\e034\"; }\n\n.glyphicon-headphones:before {\n content: \"\\e035\"; }\n\n.glyphicon-volume-off:before {\n content: \"\\e036\"; }\n\n.glyphicon-volume-down:before {\n content: \"\\e037\"; }\n\n.glyphicon-volume-up:before {\n content: \"\\e038\"; }\n\n.glyphicon-qrcode:before {\n content: \"\\e039\"; }\n\n.glyphicon-barcode:before {\n content: \"\\e040\"; }\n\n.glyphicon-tag:before {\n content: \"\\e041\"; }\n\n.glyphicon-tags:before {\n content: \"\\e042\"; }\n\n.glyphicon-book:before {\n content: \"\\e043\"; }\n\n.glyphicon-bookmark:before {\n content: \"\\e044\"; }\n\n.glyphicon-print:before {\n content: \"\\e045\"; }\n\n.glyphicon-camera:before {\n content: \"\\e046\"; }\n\n.glyphicon-font:before {\n content: \"\\e047\"; }\n\n.glyphicon-bold:before {\n content: \"\\e048\"; }\n\n.glyphicon-italic:before {\n content: \"\\e049\"; }\n\n.glyphicon-text-height:before {\n content: \"\\e050\"; }\n\n.glyphicon-text-width:before {\n content: \"\\e051\"; }\n\n.glyphicon-align-left:before {\n content: \"\\e052\"; }\n\n.glyphicon-align-center:before {\n content: \"\\e053\"; }\n\n.glyphicon-align-right:before {\n content: \"\\e054\"; }\n\n.glyphicon-align-justify:before {\n content: \"\\e055\"; }\n\n.glyphicon-list:before {\n content: \"\\e056\"; }\n\n.glyphicon-indent-left:before {\n content: \"\\e057\"; }\n\n.glyphicon-indent-right:before {\n content: \"\\e058\"; }\n\n.glyphicon-facetime-video:before {\n content: \"\\e059\"; }\n\n.glyphicon-picture:before {\n content: \"\\e060\"; }\n\n.glyphicon-map-marker:before {\n content: \"\\e062\"; }\n\n.glyphicon-adjust:before {\n content: \"\\e063\"; }\n\n.glyphicon-tint:before {\n content: \"\\e064\"; }\n\n.glyphicon-edit:before {\n content: \"\\e065\"; }\n\n.glyphicon-share:before {\n content: \"\\e066\"; }\n\n.glyphicon-check:before {\n content: \"\\e067\"; }\n\n.glyphicon-move:before {\n content: \"\\e068\"; }\n\n.glyphicon-step-backward:before {\n content: \"\\e069\"; }\n\n.glyphicon-fast-backward:before {\n content: \"\\e070\"; }\n\n.glyphicon-backward:before {\n content: \"\\e071\"; }\n\n.glyphicon-play:before {\n content: \"\\e072\"; }\n\n.glyphicon-pause:before {\n content: \"\\e073\"; }\n\n.glyphicon-stop:before {\n content: \"\\e074\"; }\n\n.glyphicon-forward:before {\n content: \"\\e075\"; }\n\n.glyphicon-fast-forward:before {\n content: \"\\e076\"; }\n\n.glyphicon-step-forward:before {\n content: \"\\e077\"; }\n\n.glyphicon-eject:before {\n content: \"\\e078\"; }\n\n.glyphicon-chevron-left:before {\n content: \"\\e079\"; }\n\n.glyphicon-chevron-right:before {\n content: \"\\e080\"; }\n\n.glyphicon-plus-sign:before {\n content: \"\\e081\"; }\n\n.glyphicon-minus-sign:before {\n content: \"\\e082\"; }\n\n.glyphicon-remove-sign:before {\n content: \"\\e083\"; }\n\n.glyphicon-ok-sign:before {\n content: \"\\e084\"; }\n\n.glyphicon-question-sign:before {\n content: \"\\e085\"; }\n\n.glyphicon-info-sign:before {\n content: \"\\e086\"; }\n\n.glyphicon-screenshot:before {\n content: \"\\e087\"; }\n\n.glyphicon-remove-circle:before {\n content: \"\\e088\"; }\n\n.glyphicon-ok-circle:before {\n content: \"\\e089\"; }\n\n.glyphicon-ban-circle:before {\n content: \"\\e090\"; }\n\n.glyphicon-arrow-left:before {\n content: \"\\e091\"; }\n\n.glyphicon-arrow-right:before {\n content: \"\\e092\"; }\n\n.glyphicon-arrow-up:before {\n content: \"\\e093\"; }\n\n.glyphicon-arrow-down:before {\n content: \"\\e094\"; }\n\n.glyphicon-share-alt:before {\n content: \"\\e095\"; }\n\n.glyphicon-resize-full:before {\n content: \"\\e096\"; }\n\n.glyphicon-resize-small:before {\n content: \"\\e097\"; }\n\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\"; }\n\n.glyphicon-gift:before {\n content: \"\\e102\"; }\n\n.glyphicon-leaf:before {\n content: \"\\e103\"; }\n\n.glyphicon-fire:before {\n content: \"\\e104\"; }\n\n.glyphicon-eye-open:before {\n content: \"\\e105\"; }\n\n.glyphicon-eye-close:before {\n content: \"\\e106\"; }\n\n.glyphicon-warning-sign:before {\n content: \"\\e107\"; }\n\n.glyphicon-plane:before {\n content: \"\\e108\"; }\n\n.glyphicon-calendar:before {\n content: \"\\e109\"; }\n\n.glyphicon-random:before {\n content: \"\\e110\"; }\n\n.glyphicon-comment:before {\n content: \"\\e111\"; }\n\n.glyphicon-magnet:before {\n content: \"\\e112\"; }\n\n.glyphicon-chevron-up:before {\n content: \"\\e113\"; }\n\n.glyphicon-chevron-down:before {\n content: \"\\e114\"; }\n\n.glyphicon-retweet:before {\n content: \"\\e115\"; }\n\n.glyphicon-shopping-cart:before {\n content: \"\\e116\"; }\n\n.glyphicon-folder-close:before {\n content: \"\\e117\"; }\n\n.glyphicon-folder-open:before {\n content: \"\\e118\"; }\n\n.glyphicon-resize-vertical:before {\n content: \"\\e119\"; }\n\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\"; }\n\n.glyphicon-hdd:before {\n content: \"\\e121\"; }\n\n.glyphicon-bullhorn:before {\n content: \"\\e122\"; }\n\n.glyphicon-bell:before {\n content: \"\\e123\"; }\n\n.glyphicon-certificate:before {\n content: \"\\e124\"; }\n\n.glyphicon-thumbs-up:before {\n content: \"\\e125\"; }\n\n.glyphicon-thumbs-down:before {\n content: \"\\e126\"; }\n\n.glyphicon-hand-right:before {\n content: \"\\e127\"; }\n\n.glyphicon-hand-left:before {\n content: \"\\e128\"; }\n\n.glyphicon-hand-up:before {\n content: \"\\e129\"; }\n\n.glyphicon-hand-down:before {\n content: \"\\e130\"; }\n\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\"; }\n\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\"; }\n\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\"; }\n\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\"; }\n\n.glyphicon-globe:before {\n content: \"\\e135\"; }\n\n.glyphicon-wrench:before {\n content: \"\\e136\"; }\n\n.glyphicon-tasks:before {\n content: \"\\e137\"; }\n\n.glyphicon-filter:before {\n content: \"\\e138\"; }\n\n.glyphicon-briefcase:before {\n content: \"\\e139\"; }\n\n.glyphicon-fullscreen:before {\n content: \"\\e140\"; }\n\n.glyphicon-dashboard:before {\n content: \"\\e141\"; }\n\n.glyphicon-paperclip:before {\n content: \"\\e142\"; }\n\n.glyphicon-heart-empty:before {\n content: \"\\e143\"; }\n\n.glyphicon-link:before {\n content: \"\\e144\"; }\n\n.glyphicon-phone:before {\n content: \"\\e145\"; }\n\n.glyphicon-pushpin:before {\n content: \"\\e146\"; }\n\n.glyphicon-usd:before {\n content: \"\\e148\"; }\n\n.glyphicon-gbp:before {\n content: \"\\e149\"; }\n\n.glyphicon-sort:before {\n content: \"\\e150\"; }\n\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\"; }\n\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\"; }\n\n.glyphicon-sort-by-order:before {\n content: \"\\e153\"; }\n\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\"; }\n\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\"; }\n\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\"; }\n\n.glyphicon-unchecked:before {\n content: \"\\e157\"; }\n\n.glyphicon-expand:before {\n content: \"\\e158\"; }\n\n.glyphicon-collapse-down:before {\n content: \"\\e159\"; }\n\n.glyphicon-collapse-up:before {\n content: \"\\e160\"; }\n\n.glyphicon-log-in:before {\n content: \"\\e161\"; }\n\n.glyphicon-flash:before {\n content: \"\\e162\"; }\n\n.glyphicon-log-out:before {\n content: \"\\e163\"; }\n\n.glyphicon-new-window:before {\n content: \"\\e164\"; }\n\n.glyphicon-record:before {\n content: \"\\e165\"; }\n\n.glyphicon-save:before {\n content: \"\\e166\"; }\n\n.glyphicon-open:before {\n content: \"\\e167\"; }\n\n.glyphicon-saved:before {\n content: \"\\e168\"; }\n\n.glyphicon-import:before {\n content: \"\\e169\"; }\n\n.glyphicon-export:before {\n content: \"\\e170\"; }\n\n.glyphicon-send:before {\n content: \"\\e171\"; }\n\n.glyphicon-floppy-disk:before {\n content: \"\\e172\"; }\n\n.glyphicon-floppy-saved:before {\n content: \"\\e173\"; }\n\n.glyphicon-floppy-remove:before {\n content: \"\\e174\"; }\n\n.glyphicon-floppy-save:before {\n content: \"\\e175\"; }\n\n.glyphicon-floppy-open:before {\n content: \"\\e176\"; }\n\n.glyphicon-credit-card:before {\n content: \"\\e177\"; }\n\n.glyphicon-transfer:before {\n content: \"\\e178\"; }\n\n.glyphicon-cutlery:before {\n content: \"\\e179\"; }\n\n.glyphicon-header:before {\n content: \"\\e180\"; }\n\n.glyphicon-compressed:before {\n content: \"\\e181\"; }\n\n.glyphicon-earphone:before {\n content: \"\\e182\"; }\n\n.glyphicon-phone-alt:before {\n content: \"\\e183\"; }\n\n.glyphicon-tower:before {\n content: \"\\e184\"; }\n\n.glyphicon-stats:before {\n content: \"\\e185\"; }\n\n.glyphicon-sd-video:before {\n content: \"\\e186\"; }\n\n.glyphicon-hd-video:before {\n content: \"\\e187\"; }\n\n.glyphicon-subtitles:before {\n content: \"\\e188\"; }\n\n.glyphicon-sound-stereo:before {\n content: \"\\e189\"; }\n\n.glyphicon-sound-dolby:before {\n content: \"\\e190\"; }\n\n.glyphicon-sound-5-1:before {\n content: \"\\e191\"; }\n\n.glyphicon-sound-6-1:before {\n content: \"\\e192\"; }\n\n.glyphicon-sound-7-1:before {\n content: \"\\e193\"; }\n\n.glyphicon-copyright-mark:before {\n content: \"\\e194\"; }\n\n.glyphicon-registration-mark:before {\n content: \"\\e195\"; }\n\n.glyphicon-cloud-download:before {\n content: \"\\e197\"; }\n\n.glyphicon-cloud-upload:before {\n content: \"\\e198\"; }\n\n.glyphicon-tree-conifer:before {\n content: \"\\e199\"; }\n\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\"; }\n\n.glyphicon-cd:before {\n content: \"\\e201\"; }\n\n.glyphicon-save-file:before {\n content: \"\\e202\"; }\n\n.glyphicon-open-file:before {\n content: \"\\e203\"; }\n\n.glyphicon-level-up:before {\n content: \"\\e204\"; }\n\n.glyphicon-copy:before {\n content: \"\\e205\"; }\n\n.glyphicon-paste:before {\n content: \"\\e206\"; }\n\n.glyphicon-alert:before {\n content: \"\\e209\"; }\n\n.glyphicon-equalizer:before {\n content: \"\\e210\"; }\n\n.glyphicon-king:before {\n content: \"\\e211\"; }\n\n.glyphicon-queen:before {\n content: \"\\e212\"; }\n\n.glyphicon-pawn:before {\n content: \"\\e213\"; }\n\n.glyphicon-bishop:before {\n content: \"\\e214\"; }\n\n.glyphicon-knight:before {\n content: \"\\e215\"; }\n\n.glyphicon-baby-formula:before {\n content: \"\\e216\"; }\n\n.glyphicon-tent:before {\n content: \"\\26fa\"; }\n\n.glyphicon-blackboard:before {\n content: \"\\e218\"; }\n\n.glyphicon-bed:before {\n content: \"\\e219\"; }\n\n.glyphicon-apple:before {\n content: \"\\f8ff\"; }\n\n.glyphicon-erase:before {\n content: \"\\e221\"; }\n\n.glyphicon-hourglass:before {\n content: \"\\231b\"; }\n\n.glyphicon-lamp:before {\n content: \"\\e223\"; }\n\n.glyphicon-duplicate:before {\n content: \"\\e224\"; }\n\n.glyphicon-piggy-bank:before {\n content: \"\\e225\"; }\n\n.glyphicon-scissors:before {\n content: \"\\e226\"; }\n\n.glyphicon-bitcoin:before {\n content: \"\\e227\"; }\n\n.glyphicon-btc:before {\n content: \"\\e227\"; }\n\n.glyphicon-xbt:before {\n content: \"\\e227\"; }\n\n.glyphicon-yen:before {\n content: \"\\00a5\"; }\n\n.glyphicon-jpy:before {\n content: \"\\00a5\"; }\n\n.glyphicon-ruble:before {\n content: \"\\20bd\"; }\n\n.glyphicon-rub:before {\n content: \"\\20bd\"; }\n\n.glyphicon-scale:before {\n content: \"\\e230\"; }\n\n.glyphicon-ice-lolly:before {\n content: \"\\e231\"; }\n\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\"; }\n\n.glyphicon-education:before {\n content: \"\\e233\"; }\n\n.glyphicon-option-horizontal:before {\n content: \"\\e234\"; }\n\n.glyphicon-option-vertical:before {\n content: \"\\e235\"; }\n\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\"; }\n\n.glyphicon-modal-window:before {\n content: \"\\e237\"; }\n\n.glyphicon-oil:before {\n content: \"\\e238\"; }\n\n.glyphicon-grain:before {\n content: \"\\e239\"; }\n\n.glyphicon-sunglasses:before {\n content: \"\\e240\"; }\n\n.glyphicon-text-size:before {\n content: \"\\e241\"; }\n\n.glyphicon-text-color:before {\n content: \"\\e242\"; }\n\n.glyphicon-text-background:before {\n content: \"\\e243\"; }\n\n.glyphicon-object-align-top:before {\n content: \"\\e244\"; }\n\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\"; }\n\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\"; }\n\n.glyphicon-object-align-left:before {\n content: \"\\e247\"; }\n\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\"; }\n\n.glyphicon-object-align-right:before {\n content: \"\\e249\"; }\n\n.glyphicon-triangle-right:before {\n content: \"\\e250\"; }\n\n.glyphicon-triangle-left:before {\n content: \"\\e251\"; }\n\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\"; }\n\n.glyphicon-triangle-top:before {\n content: \"\\e253\"; }\n\n.glyphicon-console:before {\n content: \"\\e254\"; }\n\n.glyphicon-superscript:before {\n content: \"\\e255\"; }\n\n.glyphicon-subscript:before {\n content: \"\\e256\"; }\n\n.glyphicon-menu-left:before {\n content: \"\\e257\"; }\n\n.glyphicon-menu-right:before {\n content: \"\\e258\"; }\n\n.glyphicon-menu-down:before {\n content: \"\\e259\"; }\n\n.glyphicon-menu-up:before {\n content: \"\\e260\"; }\n\n.fade {\n opacity: 0;\n -webkit-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(opacity 0.15s linear, false, false, false, false, false, false, false, false, false); }\n .fade.in {\n opacity: 1; }\n\n.collapse {\n display: none; }\n .collapse.in {\n display: block; }\n\ntr.collapse.in {\n display: table-row; }\n\ntbody.collapse.in {\n display: table-row-group; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -moz-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -o-transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n transition-property: compact(height, visibility, false, false, false, false, false, false, false, false);\n -webkit-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -moz-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -o-transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n transition-duration: compact(0.35s, false, false, false, false, false, false, false, false, false);\n -webkit-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n -moz-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n -o-transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false);\n transition-timing-function: compact(ease, false, false, false, false, false, false, false, false, false); }\n\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent; }\n\n.dropup,\n.dropdown {\n position: relative; }\n\n.dropdown-toggle:focus {\n outline: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 6px 12px rgba(0, 0, 0, 0.175), false, false, false, false, false, false, false, false, false);\n background-clip: padding-box; }\n .dropdown-menu.pull-right {\n right: 0;\n left: auto; }\n .dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857;\n color: #333333;\n white-space: nowrap; }\n\n.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5; }\n\n.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7; }\n\n.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n color: #777777; }\n\n.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed; }\n\n.open > .dropdown-menu {\n display: block; }\n\n.open > a {\n outline: 0; }\n\n.dropdown-menu-right {\n left: auto;\n right: 0; }\n\n.dropdown-menu-left {\n left: 0;\n right: auto; }\n\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857;\n color: #777777;\n white-space: nowrap; }\n\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990; }\n\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto; }\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\"; }\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px; }\n\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto; }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto; } }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; }\n .btn-group > .btn, .media-widget.btn-group > a,\n .btn-group-vertical > .btn,\n .media-widget.btn-group-vertical > a {\n position: relative;\n float: left; }\n .btn-group > .btn:hover, .media-widget.btn-group > a:hover, .btn-group > .btn:focus, .media-widget.btn-group > a:focus, .btn-group > .btn:active, .media-widget.btn-group > a:active, .btn-group > .btn.active, .media-widget.btn-group > a.active,\n .btn-group-vertical > .btn:hover,\n .media-widget.btn-group-vertical > a:hover,\n .btn-group-vertical > .btn:focus,\n .media-widget.btn-group-vertical > a:focus,\n .btn-group-vertical > .btn:active,\n .media-widget.btn-group-vertical > a:active,\n .btn-group-vertical > .btn.active,\n .media-widget.btn-group-vertical > a.active {\n z-index: 2; }\n\n.btn-group .btn + .btn, .btn-group .media-widget > a + .btn, .btn-group .media-widget > .btn + a, .btn-group .media-widget > a + a,\n.btn-group .btn + .btn-group,\n.btn-group .media-widget > a + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .media-widget > .btn-group + a,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px; }\n\n.btn-toolbar {\n margin-left: -5px;\n overflow: hidden;\n *zoom: 1; }\n .btn-toolbar .btn, .btn-toolbar .media-widget > a,\n .btn-toolbar .btn-group,\n .btn-toolbar .input-group {\n float: left; }\n .btn-toolbar > .btn, .media-widget.btn-toolbar > a,\n .btn-toolbar > .btn-group,\n .btn-toolbar > .input-group {\n margin-left: 5px; }\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle), .media-widget.btn-group > a:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0; }\n\n.btn-group > .btn:first-child, .media-widget.btn-group > a:first-child {\n margin-left: 0; }\n .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), .media-widget.btn-group > a:first-child:not(:last-child):not(.dropdown-toggle) {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:last-child:not(:first-child), .media-widget.btn-group > a:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group > .btn-group {\n float: left; }\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group > .media-widget.btn-group:not(:first-child):not(:last-child) > a {\n border-radius: 0; }\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .media-widget.btn-group:first-child:not(:last-child) > a:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group > .media-widget.btn-group:last-child:not(:first-child) > a:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0; }\n\n.btn-group > .btn + .dropdown-toggle, .media-widget.btn-group > a + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px; }\n\n.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle, .media-widget.btn-group-lg.btn-group > a + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px; }\n\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 3px 5px rgba(0, 0, 0, 0.125), false, false, false, false, false, false, false, false, false); }\n .btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\n.btn .caret, .media-widget > a .caret {\n margin-left: 0; }\n\n.btn-lg .caret, .btn-group-lg > .btn .caret, .media-widget.btn-group-lg > a .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0; }\n\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret, .dropup .media-widget.btn-group-lg > a .caret {\n border-width: 0 5px 5px; }\n\n.btn-group-vertical > .btn, .media-widget.btn-group-vertical > a,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn,\n.btn-group-vertical > .media-widget.btn-group > a {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%; }\n\n.btn-group-vertical > .btn-group {\n overflow: hidden;\n *zoom: 1; }\n .btn-group-vertical > .btn-group > .btn, .btn-group-vertical > .media-widget.btn-group > a {\n float: none; }\n\n.btn-group-vertical > .btn + .btn, .media-widget.btn-group-vertical > a + .btn, .media-widget.btn-group-vertical > .btn + a, .media-widget.btn-group-vertical > a + a,\n.btn-group-vertical > .btn + .btn-group,\n.media-widget.btn-group-vertical > a + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.media-widget.btn-group-vertical > .btn-group + a,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0; }\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child), .media-widget.btn-group-vertical > a:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.btn-group-vertical > .btn:first-child:not(:last-child), .media-widget.btn-group-vertical > a:first-child:not(:last-child) {\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group-vertical > .btn:last-child:not(:first-child), .media-widget.btn-group-vertical > a:last-child:not(:first-child) {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn, .btn-group-vertical > .media-widget.btn-group:not(:first-child):not(:last-child) > a {\n border-radius: 0; }\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .media-widget.btn-group:first-child:not(:last-child) > a:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child, .btn-group-vertical > .media-widget.btn-group:last-child:not(:first-child) > a:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate; }\n .btn-group-justified > .btn, .media-widget.btn-group-justified > a,\n .btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%; }\n .btn-group-justified > .btn-group .btn, .btn-group-justified > .btn-group .media-widget > a {\n width: 100%; }\n .btn-group-justified > .btn-group .dropdown-menu {\n left: auto; }\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"], .media-widget[data-toggle=\"buttons\"] > a input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n.media-widget[data-toggle=\"buttons\"] > a input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .media-widget.btn-group > a input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .media-widget.btn-group > a input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate; }\n .input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0; }\n .input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0; }\n .input-group .form-control:focus {\n z-index: 3; }\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell; }\n .input-group-addon:not(:first-child):not(:last-child),\n .input-group-btn:not(:first-child):not(:last-child),\n .input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0; }\n\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; }\n\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px; }\n .input-group-addon.input-sm,\n .input-group-sm > .input-group-addon,\n .input-group-sm > .input-group-btn > .input-group-addon.btn,\n .input-group-sm > .media-widget.input-group-btn > a.input-group-addon {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px; }\n .input-group-addon.input-lg,\n .input-group-lg > .input-group-addon,\n .input-group-lg > .input-group-btn > .input-group-addon.btn,\n .input-group-lg > .media-widget.input-group-btn > a.input-group-addon {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px; }\n .input-group-addon input[type=\"radio\"],\n .input-group-addon input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.media-widget.input-group-btn:first-child > a,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .media-widget.btn-group > a,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.media-widget.input-group-btn:last-child > a:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn,\n.input-group-btn:last-child > .media-widget.btn-group:not(:last-child) > a {\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group-addon:first-child {\n border-right: 0; }\n\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.media-widget.input-group-btn:last-child > a,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .media-widget.btn-group > a,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.media-widget.input-group-btn:first-child > a:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn,\n.input-group-btn:first-child > .media-widget.btn-group:not(:first-child) > a {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-addon:last-child {\n border-left: 0; }\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap; }\n .input-group-btn > .btn, .media-widget.input-group-btn > a {\n position: relative; }\n .input-group-btn > .btn + .btn, .media-widget.input-group-btn > a + .btn, .media-widget.input-group-btn > .btn + a, .media-widget.input-group-btn > a + a {\n margin-left: -1px; }\n .input-group-btn > .btn:hover, .media-widget.input-group-btn > a:hover, .input-group-btn > .btn:focus, .media-widget.input-group-btn > a:focus, .input-group-btn > .btn:active, .media-widget.input-group-btn > a:active {\n z-index: 2; }\n .input-group-btn:first-child > .btn, .media-widget.input-group-btn:first-child > a,\n .input-group-btn:first-child > .btn-group {\n margin-right: -1px; }\n .input-group-btn:last-child > .btn, .media-widget.input-group-btn:last-child > a,\n .input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px; }\n\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n overflow: hidden;\n *zoom: 1; }\n .nav > li {\n position: relative;\n display: block; }\n .nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px; }\n .nav > li > a:hover, .nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .nav > li.disabled > a {\n color: #777777; }\n .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed; }\n .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7; }\n .nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5; }\n .nav > li > a > img {\n max-width: none; }\n\n.nav-tabs {\n border-bottom: 1px solid #ddd; }\n .nav-tabs > li {\n float: left;\n margin-bottom: -1px; }\n .nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0; }\n .nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd; }\n .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default; }\n\n.nav-pills > li {\n float: left; }\n .nav-pills > li > a {\n border-radius: 4px; }\n .nav-pills > li + li {\n margin-left: 2px; }\n .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7; }\n\n.nav-stacked > li {\n float: none; }\n .nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0; }\n\n.nav-justified, .nav-tabs.nav-justified {\n width: 100%; }\n .nav-justified > li, .nav-tabs.nav-justified > li {\n float: none; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px; }\n .nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto; }\n @media (min-width: 768px) {\n .nav-justified > li, .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%; }\n .nav-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-bottom: 0; } }\n\n.nav-tabs-justified, .nav-tabs.nav-justified {\n border-bottom: 0; }\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd; }\n @media (min-width: 768px) {\n .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0; }\n .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,\n .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff; } }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .navbar {\n border-radius: 4px; } }\n\n.navbar-header {\n overflow: hidden;\n *zoom: 1; }\n @media (min-width: 768px) {\n .navbar-header {\n float: left; } }\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n overflow: hidden;\n *zoom: 1;\n -webkit-overflow-scrolling: touch; }\n .navbar-collapse.in {\n overflow-y: auto; }\n @media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none; }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important; }\n .navbar-collapse.in {\n overflow-y: visible; }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0; } }\n\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px; }\n @media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px; } }\n\n.container > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px; }\n @media (min-width: 768px) {\n .container > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-header,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0; } }\n\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px; }\n @media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0; } }\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030; }\n @media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0; } }\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px; }\n\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0; }\n\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n .navbar-brand > img {\n display: block; }\n @media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px; } }\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px; }\n .navbar-toggle:focus {\n outline: 0; }\n .navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px; }\n .navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px; }\n @media (min-width: 768px) {\n .navbar-toggle {\n display: none; } }\n\n.navbar-nav {\n margin: 7.5px -15px; }\n .navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px; }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none; }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px; }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px; }\n .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none; } }\n @media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0; }\n .navbar-nav > li {\n float: left; }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px; } }\n\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1), false, false, false, false, false, false, false, false, false);\n margin-top: 8px;\n margin-bottom: 8px; }\n @media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .navbar-form .form-control-static {\n display: inline-block; }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle; }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto; }\n .navbar-form .input-group > .form-control {\n width: 100%; }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle; }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0; }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0; }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0; } }\n @media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px; }\n .navbar-form .form-group:last-child {\n margin-bottom: 0; } }\n @media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); } }\n\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomleft: 0;\n -webkit-border-bottom-left-radius: 0;\n border-bottom-left-radius: 0;\n -moz-border-radius-bottomright: 0;\n -webkit-border-bottom-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px; }\n .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn, .media-widget.btn-group-sm > a.navbar-btn {\n margin-top: 10px;\n margin-bottom: 10px; }\n .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn, .media-widget.btn-group-xs > a.navbar-btn {\n margin-top: 14px;\n margin-bottom: 14px; }\n\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px; }\n @media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px; } }\n\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important; }\n .navbar-right {\n float: right !important;\n margin-right: -15px; }\n .navbar-right ~ .navbar-right {\n margin-right: 0; } }\n\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7; }\n .navbar-default .navbar-brand {\n color: #777; }\n .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent; }\n .navbar-default .navbar-text {\n color: #777; }\n .navbar-default .navbar-nav > li > a {\n color: #777; }\n .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; }\n .navbar-default .navbar-toggle {\n border-color: #ddd; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: #ddd; }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #888; }\n .navbar-default .navbar-collapse,\n .navbar-default .navbar-form {\n border-color: #e7e7e7; }\n .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555; }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777; }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent; }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7; }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent; } }\n .navbar-default .navbar-link {\n color: #777; }\n .navbar-default .navbar-link:hover {\n color: #333; }\n .navbar-default .btn-link {\n color: #777; }\n .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {\n color: #333; }\n .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-default .btn-link:hover,\n fieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc; }\n\n.navbar-inverse {\n background-color: #222;\n border-color: #090909; }\n .navbar-inverse .navbar-brand {\n color: #9d9d9d; }\n .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-text {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent; }\n .navbar-inverse .navbar-toggle {\n border-color: #333; }\n .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {\n background-color: #333; }\n .navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff; }\n .navbar-inverse .navbar-collapse,\n .navbar-inverse .navbar-form {\n border-color: #101010; }\n .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #090909;\n color: #fff; }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #090909; }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent; } }\n .navbar-inverse .navbar-link {\n color: #9d9d9d; }\n .navbar-inverse .navbar-link:hover {\n color: #fff; }\n .navbar-inverse .btn-link {\n color: #9d9d9d; }\n .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {\n color: #fff; }\n .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,\n fieldset[disabled] .navbar-inverse .btn-link:hover,\n fieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444; }\n\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px; }\n .breadcrumb > li {\n display: inline-block; }\n .breadcrumb > li + li:before {\n content: \"/ \";\n padding: 0 5px;\n color: #ccc; }\n .breadcrumb > .active {\n color: #777777; }\n\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px; }\n .pagination > li {\n display: inline; }\n .pagination > li > a,\n .pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px; }\n .pagination > li:first-child > a,\n .pagination > li:first-child > span {\n margin-left: 0;\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px; }\n .pagination > li:last-child > a,\n .pagination > li:last-child > span {\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n .pagination > li > a:hover, .pagination > li > a:focus,\n .pagination > li > span:hover,\n .pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd; }\n .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,\n .pagination > .active > span,\n .pagination > .active > span:hover,\n .pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default; }\n .pagination > .disabled > span,\n .pagination > .disabled > span:hover,\n .pagination > .disabled > span:focus,\n .pagination > .disabled > a,\n .pagination > .disabled > a:hover,\n .pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed; }\n\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.33333; }\n\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n -moz-border-radius-topleft: 6px;\n -webkit-border-top-left-radius: 6px;\n border-top-left-radius: 6px;\n -moz-border-radius-bottomleft: 6px;\n -webkit-border-bottom-left-radius: 6px;\n border-bottom-left-radius: 6px; }\n\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n -moz-border-radius-topright: 6px;\n -webkit-border-top-right-radius: 6px;\n border-top-right-radius: 6px;\n -moz-border-radius-bottomright: 6px;\n -webkit-border-bottom-right-radius: 6px;\n border-bottom-right-radius: 6px; }\n\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5; }\n\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px; }\n\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n overflow: hidden;\n *zoom: 1; }\n .pager li {\n display: inline; }\n .pager li > a,\n .pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px; }\n .pager li > a:hover,\n .pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee; }\n .pager .next > a,\n .pager .next > span {\n float: right; }\n .pager .previous > a,\n .pager .previous > span {\n float: left; }\n .pager .disabled > a,\n .pager .disabled > a:hover,\n .pager .disabled > a:focus,\n .pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed; }\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em; }\n .label:empty {\n display: none; }\n .btn .label, .media-widget > a .label {\n position: relative;\n top: -1px; }\n\na.label:hover, a.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.label-default {\n background-color: #777777; }\n .label-default[href]:hover, .label-default[href]:focus {\n background-color: #5e5e5e; }\n\n.label-primary {\n background-color: #337ab7; }\n .label-primary[href]:hover, .label-primary[href]:focus {\n background-color: #286090; }\n\n.label-success {\n background-color: #5cb85c; }\n .label-success[href]:hover, .label-success[href]:focus {\n background-color: #449d44; }\n\n.label-info {\n background-color: #5bc0de; }\n .label-info[href]:hover, .label-info[href]:focus {\n background-color: #31b0d5; }\n\n.label-warning {\n background-color: #f0ad4e; }\n .label-warning[href]:hover, .label-warning[href]:focus {\n background-color: #ec971f; }\n\n.label-danger {\n background-color: #d9534f; }\n .label-danger[href]:hover, .label-danger[href]:focus {\n background-color: #c9302c; }\n\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px; }\n .badge:empty {\n display: none; }\n .btn .badge, .media-widget > a .badge {\n position: relative;\n top: -1px; }\n .btn-xs .badge, .btn-group-xs > .btn .badge, .media-widget.btn-group-xs > a .badge,\n .btn-group-xs > .btn .badge,\n .media-widget.btn-group-xs > a .badge {\n top: 0;\n padding: 1px 5px; }\n .list-group-item.active > .badge,\n .nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff; }\n .list-group-item > .badge {\n float: right; }\n .list-group-item > .badge + .badge {\n margin-right: 5px; }\n .nav-pills > li > a > .badge {\n margin-left: 3px; }\n\na.badge:hover, a.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer; }\n\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee; }\n .jumbotron h1,\n .jumbotron .h1 {\n color: inherit; }\n .jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200; }\n .jumbotron > hr {\n border-top-color: #d5d5d5; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px; }\n .jumbotron .container {\n max-width: 100%; }\n @media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px; }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px; }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px; } }\n\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(border 0.2s ease-in-out, false, false, false, false, false, false, false, false, false); }\n .thumbnail > img,\n .thumbnail a > img {\n display: block;\n max-width: 100%;\n height: auto;\n margin-left: auto;\n margin-right: auto; }\n .thumbnail .caption {\n padding: 9px;\n color: #333333; }\n\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7; }\n\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px; }\n .alert h4 {\n margin-top: 0;\n color: inherit; }\n .alert .alert-link {\n font-weight: bold; }\n .alert > p,\n .alert > ul {\n margin-bottom: 0; }\n .alert > p + p {\n margin-top: 5px; }\n\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px; }\n .alert-dismissable .close,\n .alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit; }\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d; }\n .alert-success hr {\n border-top-color: #c9e2b3; }\n .alert-success .alert-link {\n color: #2b542c; }\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f; }\n .alert-info hr {\n border-top-color: #a6e1ec; }\n .alert-info .alert-link {\n color: #245269; }\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b; }\n .alert-warning hr {\n border-top-color: #f7e1b5; }\n .alert-warning .alert-link {\n color: #66512c; }\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442; }\n .alert-danger hr {\n border-top-color: #e4b9c0; }\n .alert-danger .alert-link {\n color: #843534; }\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0; }\n to {\n background-position: 0 0; } }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 2px rgba(0, 0, 0, 0.1), false, false, false, false, false, false, false, false, false); }\n\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 -1px 0 rgba(0, 0, 0, 0.15), false, false, false, false, false, false, false, false, false);\n -webkit-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(width 0.6s ease, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(width 0.6s ease, false, false, false, false, false, false, false, false, false); }\n\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px; }\n\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite; }\n\n.progress-bar-success {\n background-color: #5cb85c; }\n .progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-info {\n background-color: #5bc0de; }\n .progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-warning {\n background-color: #f0ad4e; }\n .progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.progress-bar-danger {\n background-color: #d9534f; }\n .progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }\n\n.media {\n margin-top: 15px; }\n .media:first-child {\n margin-top: 0; }\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden; }\n\n.media-body {\n width: 10000px; }\n\n.media-object {\n display: block; }\n .media-object.img-thumbnail {\n max-width: none; }\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px; }\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px; }\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top; }\n\n.media-middle {\n vertical-align: middle; }\n\n.media-bottom {\n vertical-align: bottom; }\n\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.media-list {\n padding-left: 0;\n list-style: none; }\n\n.list-group {\n margin-bottom: 20px;\n padding-left: 0; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd; }\n .list-group-item:first-child {\n -moz-border-radius-topleft: 4px;\n -webkit-border-top-left-radius: 4px;\n border-top-left-radius: 4px;\n -moz-border-radius-topright: 4px;\n -webkit-border-top-right-radius: 4px;\n border-top-right-radius: 4px; }\n .list-group-item:last-child {\n margin-bottom: 0;\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px; }\n\na.list-group-item,\nbutton.list-group-item {\n color: #555; }\n a.list-group-item .list-group-item-heading,\n button.list-group-item .list-group-item-heading {\n color: #333; }\n a.list-group-item:hover, a.list-group-item:focus,\n button.list-group-item:hover,\n button.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5; }\n\nbutton.list-group-item {\n width: 100%;\n text-align: left; }\n\n.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed; }\n .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {\n color: inherit; }\n .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {\n color: #777777; }\n\n.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .list-group-item.active .list-group-item-heading,\n .list-group-item.active .list-group-item-heading > small,\n .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,\n .list-group-item.active:hover .list-group-item-heading > small,\n .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,\n .list-group-item.active:focus .list-group-item-heading > small,\n .list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit; }\n .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {\n color: #c7ddef; }\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8; }\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d; }\n a.list-group-item-success .list-group-item-heading,\n button.list-group-item-success .list-group-item-heading {\n color: inherit; }\n a.list-group-item-success:hover, a.list-group-item-success:focus,\n button.list-group-item-success:hover,\n button.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6; }\n a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,\n button.list-group-item-success.active,\n button.list-group-item-success.active:hover,\n button.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d; }\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7; }\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f; }\n a.list-group-item-info .list-group-item-heading,\n button.list-group-item-info .list-group-item-heading {\n color: inherit; }\n a.list-group-item-info:hover, a.list-group-item-info:focus,\n button.list-group-item-info:hover,\n button.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3; }\n a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,\n button.list-group-item-info.active,\n button.list-group-item-info.active:hover,\n button.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f; }\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3; }\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b; }\n a.list-group-item-warning .list-group-item-heading,\n button.list-group-item-warning .list-group-item-heading {\n color: inherit; }\n a.list-group-item-warning:hover, a.list-group-item-warning:focus,\n button.list-group-item-warning:hover,\n button.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc; }\n a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,\n button.list-group-item-warning.active,\n button.list-group-item-warning.active:hover,\n button.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b; }\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede; }\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442; }\n a.list-group-item-danger .list-group-item-heading,\n button.list-group-item-danger .list-group-item-heading {\n color: inherit; }\n a.list-group-item-danger:hover, a.list-group-item-danger:focus,\n button.list-group-item-danger:hover,\n button.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc; }\n a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,\n button.list-group-item-danger.active,\n button.list-group-item-danger.active:hover,\n button.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442; }\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px; }\n\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3; }\n\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false); }\n\n.panel-body {\n padding: 15px;\n overflow: hidden;\n *zoom: 1; }\n\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel-heading > .dropdown .dropdown-toggle {\n color: inherit; }\n\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit; }\n .panel-title > a,\n .panel-title > small,\n .panel-title > .small,\n .panel-title > small > a,\n .panel-title > .small > a {\n color: inherit; }\n\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0; }\n .panel > .list-group .list-group-item,\n .panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0; }\n .panel > .list-group:first-child .list-group-item:first-child,\n .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .list-group:last-child .list-group-item:last-child,\n .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n -moz-border-radius-topleft: 0;\n -webkit-border-top-left-radius: 0;\n border-top-left-radius: 0;\n -moz-border-radius-topright: 0;\n -webkit-border-top-right-radius: 0;\n border-top-right-radius: 0; }\n\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0; }\n\n.list-group + .panel-footer {\n border-top-width: 0; }\n\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0; }\n .panel > .table caption,\n .panel > .table-responsive > .table caption,\n .panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px; }\n\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n -moz-border-radius-topleft: 3px;\n -webkit-border-top-left-radius: 3px;\n border-top-left-radius: 3px;\n -moz-border-radius-topright: 3px;\n -webkit-border-top-right-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px; }\n .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px; }\n\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n -moz-border-radius-bottomleft: 3px;\n -webkit-border-bottom-left-radius: 3px;\n border-bottom-left-radius: 3px;\n -moz-border-radius-bottomright: 3px;\n -webkit-border-bottom-right-radius: 3px;\n border-bottom-right-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px; }\n .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px; }\n\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd; }\n\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0; }\n\n.panel > .table-bordered, .calendar-calendar .panel > table.mini,\n.panel > .table-responsive > .table-bordered, .calendar-calendar\n.panel > .table-responsive > table.mini {\n border: 0; }\n .panel > .table-bordered > thead > tr > th:first-child, .calendar-calendar .panel > table.mini > thead > tr > th:first-child,\n .panel > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .panel > table.mini > thead > tr > td:first-child,\n .panel > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .panel > table.mini > tbody > tr > th:first-child,\n .panel > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .panel > table.mini > tbody > tr > td:first-child,\n .panel > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > th:first-child,\n .panel > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > td:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > th:first-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > td:first-child {\n border-left: 0; }\n .panel > .table-bordered > thead > tr > th:last-child, .calendar-calendar .panel > table.mini > thead > tr > th:last-child,\n .panel > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .panel > table.mini > thead > tr > td:last-child,\n .panel > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .panel > table.mini > tbody > tr > th:last-child,\n .panel > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .panel > table.mini > tbody > tr > td:last-child,\n .panel > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > th:last-child,\n .panel > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .panel > table.mini > tfoot > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr > td:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > th:last-child,\n .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr > td:last-child {\n border-right: 0; }\n .panel > .table-bordered > thead > tr:first-child > td, .calendar-calendar .panel > table.mini > thead > tr:first-child > td,\n .panel > .table-bordered > thead > tr:first-child > th, .calendar-calendar\n .panel > table.mini > thead > tr:first-child > th,\n .panel > .table-bordered > tbody > tr:first-child > td, .calendar-calendar\n .panel > table.mini > tbody > tr:first-child > td,\n .panel > .table-bordered > tbody > tr:first-child > th, .calendar-calendar\n .panel > table.mini > tbody > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > thead > tr:first-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:first-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:first-child > th {\n border-bottom: 0; }\n .panel > .table-bordered > tbody > tr:last-child > td, .calendar-calendar .panel > table.mini > tbody > tr:last-child > td,\n .panel > .table-bordered > tbody > tr:last-child > th, .calendar-calendar\n .panel > table.mini > tbody > tr:last-child > th,\n .panel > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .panel > table.mini > tfoot > tr:last-child > td,\n .panel > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .panel > table.mini > tfoot > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tbody > tr:last-child > th,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr:last-child > td,\n .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th, .calendar-calendar\n .panel > .table-responsive > table.mini > tfoot > tr:last-child > th {\n border-bottom: 0; }\n\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0; }\n\n.panel-group {\n margin-bottom: 20px; }\n .panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px; }\n .panel-group .panel + .panel {\n margin-top: 5px; }\n .panel-group .panel-heading {\n border-bottom: 0; }\n .panel-group .panel-heading + .panel-collapse > .panel-body,\n .panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd; }\n .panel-group .panel-footer {\n border-top: 0; }\n .panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd; }\n\n.panel-default {\n border-color: #ddd; }\n .panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd; }\n .panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd; }\n .panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333; }\n .panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd; }\n\n.panel-primary {\n border-color: #337ab7; }\n .panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7; }\n .panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7; }\n .panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff; }\n .panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7; }\n\n.panel-success {\n border-color: #d6e9c6; }\n .panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6; }\n .panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6; }\n .panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d; }\n .panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6; }\n\n.panel-info {\n border-color: #bce8f1; }\n .panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1; }\n .panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1; }\n .panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f; }\n .panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1; }\n\n.panel-warning {\n border-color: #faebcc; }\n .panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc; }\n .panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc; }\n .panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b; }\n .panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc; }\n\n.panel-danger {\n border-color: #ebccd1; }\n .panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1; }\n .panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1; }\n .panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442; }\n .panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1; }\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0; }\n\n.embed-responsive-16by9 {\n padding-bottom: 56.25%; }\n\n.embed-responsive-4by3 {\n padding-bottom: 75%; }\n\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false); }\n .well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n\n.well-lg {\n padding: 24px;\n border-radius: 6px; }\n\n.well-sm {\n padding: 9px;\n border-radius: 3px; }\n\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);\n opacity: 0.2; }\n .close:hover, .close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5; }\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.modal-open {\n overflow: hidden; }\n\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0; }\n .modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -moz-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out; }\n .modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -moz-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0); }\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px; }\n\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 3px 9px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n background-clip: padding-box;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000; }\n .modal-backdrop.fade {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);\n opacity: 0; }\n .modal-backdrop.in {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5; }\n\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n overflow: hidden;\n *zoom: 1; }\n\n.modal-header .close {\n margin-top: -2px; }\n\n.modal-title {\n margin: 0;\n line-height: 1.42857; }\n\n.modal-body {\n position: relative;\n padding: 15px; }\n\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n overflow: hidden;\n *zoom: 1; }\n .modal-footer .btn + .btn, .modal-footer .media-widget > a + .btn, .modal-footer .media-widget > .btn + a, .modal-footer .media-widget > a + a {\n margin-left: 5px;\n margin-bottom: 0; }\n .modal-footer .btn-group .btn + .btn, .modal-footer .btn-group .media-widget > a + .btn, .modal-footer .btn-group .media-widget > .btn + a, .modal-footer .btn-group .media-widget > a + a {\n margin-left: -1px; }\n .modal-footer .btn-block + .btn-block {\n margin-left: 0; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto; }\n .modal-content {\n -webkit-box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 5px 15px rgba(0, 0, 0, 0.5), false, false, false, false, false, false, false, false, false); }\n .modal-sm {\n width: 300px; } }\n\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);\n opacity: 0; }\n .tooltip.in {\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);\n opacity: 0.9; }\n .tooltip.top {\n margin-top: -3px;\n padding: 5px 0; }\n .tooltip.right {\n margin-left: 3px;\n padding: 0 5px; }\n .tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0; }\n .tooltip.left {\n margin-left: -3px;\n padding: 0 5px; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px; }\n\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid; }\n\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000; }\n\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000; }\n\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000; }\n\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(0 5px 10px rgba(0, 0, 0, 0.2), false, false, false, false, false, false, false, false, false); }\n .popover.top {\n margin-top: -10px; }\n .popover.right {\n margin-left: 10px; }\n .popover.bottom {\n margin-top: 10px; }\n .popover.left {\n margin-left: -10px; }\n\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0; }\n\n.popover-content {\n padding: 9px 14px; }\n\n.popover > .arrow, .popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid; }\n\n.popover > .arrow {\n border-width: 11px; }\n\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\"; }\n\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px; }\n .popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff; }\n\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff; }\n\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px; }\n .popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff; }\n\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px; }\n\n.carousel {\n position: relative; }\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%; }\n .carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false);\n -moz-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false false);\n -o-transition: compact(compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false) false false false);\n transition: compact(0.6s ease-in-out left, false, false, false, false, false, false, false, false, false); }\n .carousel-inner > .item > img,\n .carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n line-height: 1; }\n @media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n -ms-backface-visibility: hidden;\n -o-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n -ms-perspective: 1000px;\n -o-perspective: 1000px;\n perspective: 1000px; }\n .carousel-inner > .item.next, .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n -moz-transform: translate3d(100%, 0, 0);\n -ms-transform: translate3d(100%, 0, 0);\n -o-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0; }\n .carousel-inner > .item.prev, .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n -moz-transform: translate3d(-100%, 0, 0);\n -ms-transform: translate3d(-100%, 0, 0);\n -o-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0; }\n .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0; } }\n .carousel-inner > .active,\n .carousel-inner > .next,\n .carousel-inner > .prev {\n display: block; }\n .carousel-inner > .active {\n left: 0; }\n .carousel-inner > .next,\n .carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%; }\n .carousel-inner > .next {\n left: 100%; }\n .carousel-inner > .prev {\n left: -100%; }\n .carousel-inner > .next.left,\n .carousel-inner > .prev.right {\n left: 0; }\n .carousel-inner > .active.left {\n left: -100%; }\n .carousel-inner > .active.right {\n left: 100%; }\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);\n opacity: 0.5;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: transparent; }\n .carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }\n .carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }\n .carousel-control:hover, .carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);\n opacity: 0.9; }\n .carousel-control .icon-prev,\n .carousel-control .icon-next,\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block; }\n .carousel-control .icon-prev,\n .carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px; }\n .carousel-control .icon-next,\n .carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px; }\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif; }\n .carousel-control .icon-prev:before {\n content: '\\2039'; }\n .carousel-control .icon-next:before {\n content: '\\203a'; }\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center; }\n .carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: transparent; }\n .carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff; }\n\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }\n .carousel-caption .btn, .carousel-caption .media-widget > a {\n text-shadow: none; }\n\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px; }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px; }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px; }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px; }\n .carousel-indicators {\n bottom: 20px; } }\n\n.clearfix {\n overflow: hidden;\n *zoom: 1; }\n\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto; }\n\n.pull-right {\n float: right !important; }\n\n.pull-left {\n float: left !important; }\n\n.hide {\n display: none !important; }\n\n.show {\n display: block !important; }\n\n.invisible {\n visibility: hidden; }\n\n.text-hide {\n text-indent: -119988px;\n overflow: hidden;\n text-align: left; }\n\n.hidden {\n display: none !important; }\n\n.affix {\n position: fixed; }\n\n@-ms-viewport {\n width: device-width; }\n\n.visible-xs {\n display: none !important; }\n\n.visible-sm {\n display: none !important; }\n\n.visible-md {\n display: none !important; }\n\n.visible-lg {\n display: none !important; }\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important; }\n\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important; }\n table.visible-xs {\n display: table !important; }\n tr.visible-xs {\n display: table-row !important; }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important; } }\n\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important; }\n table.visible-sm {\n display: table !important; }\n tr.visible-sm {\n display: table-row !important; }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important; }\n table.visible-md {\n display: table !important; }\n tr.visible-md {\n display: table-row !important; }\n th.visible-md,\n td.visible-md {\n display: table-cell !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important; }\n table.visible-lg {\n display: table !important; }\n tr.visible-lg {\n display: table-row !important; }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important; } }\n\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important; } }\n\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important; } }\n\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important; } }\n\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important; } }\n\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important; } }\n\n.visible-print {\n display: none !important; }\n\n@media print {\n .visible-print {\n display: block !important; }\n table.visible-print {\n display: table !important; }\n tr.visible-print {\n display: table-row !important; }\n th.visible-print,\n td.visible-print {\n display: table-cell !important; } }\n\n.visible-print-block {\n display: none !important; }\n @media print {\n .visible-print-block {\n display: block !important; } }\n\n.visible-print-inline {\n display: none !important; }\n @media print {\n .visible-print-inline {\n display: inline !important; } }\n\n.visible-print-inline-block {\n display: none !important; }\n @media print {\n .visible-print-inline-block {\n display: inline-block !important; } }\n\n@media print {\n .hidden-print {\n display: none !important; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"../fonts/fontawesome-webfont.eot?v=4.7.0\");\n src: url(\"../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0\") format(\"embedded-opentype\"), url(\"../fonts/fontawesome-webfont.woff2?v=4.7.0\") format(\"woff2\"), url(\"../fonts/fontawesome-webfont.woff?v=4.7.0\") format(\"woff\"), url(\"../fonts/fontawesome-webfont.ttf?v=4.7.0\") format(\"truetype\"), url(\"../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular\") format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\"; }\n\n.fa-music:before {\n content: \"\"; }\n\n.fa-search:before {\n content: \"\"; }\n\n.fa-envelope-o:before {\n content: \"\"; }\n\n.fa-heart:before {\n content: \"\"; }\n\n.fa-star:before {\n content: \"\"; }\n\n.fa-star-o:before {\n content: \"\"; }\n\n.fa-user:before {\n content: \"\"; }\n\n.fa-film:before {\n content: \"\"; }\n\n.fa-th-large:before {\n content: \"\"; }\n\n.fa-th:before {\n content: \"\"; }\n\n.fa-th-list:before {\n content: \"\"; }\n\n.fa-check:before {\n content: \"\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\"; }\n\n.fa-search-plus:before {\n content: \"\"; }\n\n.fa-search-minus:before {\n content: \"\"; }\n\n.fa-power-off:before {\n content: \"\"; }\n\n.fa-signal:before {\n content: \"\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\"; }\n\n.fa-trash-o:before {\n content: \"\"; }\n\n.fa-home:before {\n content: \"\"; }\n\n.fa-file-o:before {\n content: \"\"; }\n\n.fa-clock-o:before {\n content: \"\"; }\n\n.fa-road:before {\n content: \"\"; }\n\n.fa-download:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\"; }\n\n.fa-inbox:before {\n content: \"\"; }\n\n.fa-play-circle-o:before {\n content: \"\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\"; }\n\n.fa-refresh:before {\n content: \"\"; }\n\n.fa-list-alt:before {\n content: \"\"; }\n\n.fa-lock:before {\n content: \"\"; }\n\n.fa-flag:before {\n content: \"\"; }\n\n.fa-headphones:before {\n content: \"\"; }\n\n.fa-volume-off:before {\n content: \"\"; }\n\n.fa-volume-down:before {\n content: \"\"; }\n\n.fa-volume-up:before {\n content: \"\"; }\n\n.fa-qrcode:before {\n content: \"\"; }\n\n.fa-barcode:before {\n content: \"\"; }\n\n.fa-tag:before {\n content: \"\"; }\n\n.fa-tags:before {\n content: \"\"; }\n\n.fa-book:before {\n content: \"\"; }\n\n.fa-bookmark:before {\n content: \"\"; }\n\n.fa-print:before {\n content: \"\"; }\n\n.fa-camera:before {\n content: \"\"; }\n\n.fa-font:before {\n content: \"\"; }\n\n.fa-bold:before {\n content: \"\"; }\n\n.fa-italic:before {\n content: \"\"; }\n\n.fa-text-height:before {\n content: \"\"; }\n\n.fa-text-width:before {\n content: \"\"; }\n\n.fa-align-left:before {\n content: \"\"; }\n\n.fa-align-center:before {\n content: \"\"; }\n\n.fa-align-right:before {\n content: \"\"; }\n\n.fa-align-justify:before {\n content: \"\"; }\n\n.fa-list:before {\n content: \"\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\"; }\n\n.fa-indent:before {\n content: \"\"; }\n\n.fa-video-camera:before {\n content: \"\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\"; }\n\n.fa-pencil:before {\n content: \"\"; }\n\n.fa-map-marker:before {\n content: \"\"; }\n\n.fa-adjust:before {\n content: \"\"; }\n\n.fa-tint:before {\n content: \"\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\"; }\n\n.fa-share-square-o:before {\n content: \"\"; }\n\n.fa-check-square-o:before {\n content: \"\"; }\n\n.fa-arrows:before {\n content: \"\"; }\n\n.fa-step-backward:before {\n content: \"\"; }\n\n.fa-fast-backward:before {\n content: \"\"; }\n\n.fa-backward:before {\n content: \"\"; }\n\n.fa-play:before {\n content: \"\"; }\n\n.fa-pause:before {\n content: \"\"; }\n\n.fa-stop:before {\n content: \"\"; }\n\n.fa-forward:before {\n content: \"\"; }\n\n.fa-fast-forward:before {\n content: \"\"; }\n\n.fa-step-forward:before {\n content: \"\"; }\n\n.fa-eject:before {\n content: \"\"; }\n\n.fa-chevron-left:before {\n content: \"\"; }\n\n.fa-chevron-right:before {\n content: \"\"; }\n\n.fa-plus-circle:before {\n content: \"\"; }\n\n.fa-minus-circle:before {\n content: \"\"; }\n\n.fa-times-circle:before {\n content: \"\"; }\n\n.fa-check-circle:before {\n content: \"\"; }\n\n.fa-question-circle:before {\n content: \"\"; }\n\n.fa-info-circle:before {\n content: \"\"; }\n\n.fa-crosshairs:before {\n content: \"\"; }\n\n.fa-times-circle-o:before {\n content: \"\"; }\n\n.fa-check-circle-o:before {\n content: \"\"; }\n\n.fa-ban:before {\n content: \"\"; }\n\n.fa-arrow-left:before {\n content: \"\"; }\n\n.fa-arrow-right:before {\n content: \"\"; }\n\n.fa-arrow-up:before {\n content: \"\"; }\n\n.fa-arrow-down:before {\n content: \"\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\"; }\n\n.fa-expand:before {\n content: \"\"; }\n\n.fa-compress:before {\n content: \"\"; }\n\n.fa-plus:before {\n content: \"\"; }\n\n.fa-minus:before {\n content: \"\"; }\n\n.fa-asterisk:before {\n content: \"\"; }\n\n.fa-exclamation-circle:before {\n content: \"\"; }\n\n.fa-gift:before {\n content: \"\"; }\n\n.fa-leaf:before {\n content: \"\"; }\n\n.fa-fire:before {\n content: \"\"; }\n\n.fa-eye:before {\n content: \"\"; }\n\n.fa-eye-slash:before {\n content: \"\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\"; }\n\n.fa-plane:before {\n content: \"\"; }\n\n.fa-calendar:before {\n content: \"\"; }\n\n.fa-random:before {\n content: \"\"; }\n\n.fa-comment:before {\n content: \"\"; }\n\n.fa-magnet:before {\n content: \"\"; }\n\n.fa-chevron-up:before {\n content: \"\"; }\n\n.fa-chevron-down:before {\n content: \"\"; }\n\n.fa-retweet:before {\n content: \"\"; }\n\n.fa-shopping-cart:before {\n content: \"\"; }\n\n.fa-folder:before {\n content: \"\"; }\n\n.fa-folder-open:before {\n content: \"\"; }\n\n.fa-arrows-v:before {\n content: \"\"; }\n\n.fa-arrows-h:before {\n content: \"\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\"; }\n\n.fa-twitter-square:before {\n content: \"\"; }\n\n.fa-facebook-square:before {\n content: \"\"; }\n\n.fa-camera-retro:before {\n content: \"\"; }\n\n.fa-key:before {\n content: \"\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\"; }\n\n.fa-comments:before {\n content: \"\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\"; }\n\n.fa-star-half:before {\n content: \"\"; }\n\n.fa-heart-o:before {\n content: \"\"; }\n\n.fa-sign-out:before {\n content: \"\"; }\n\n.fa-linkedin-square:before {\n content: \"\"; }\n\n.fa-thumb-tack:before {\n content: \"\"; }\n\n.fa-external-link:before {\n content: \"\"; }\n\n.fa-sign-in:before {\n content: \"\"; }\n\n.fa-trophy:before {\n content: \"\"; }\n\n.fa-github-square:before {\n content: \"\"; }\n\n.fa-upload:before {\n content: \"\"; }\n\n.fa-lemon-o:before {\n content: \"\"; }\n\n.fa-phone:before {\n content: \"\"; }\n\n.fa-square-o:before {\n content: \"\"; }\n\n.fa-bookmark-o:before {\n content: \"\"; }\n\n.fa-phone-square:before {\n content: \"\"; }\n\n.fa-twitter:before {\n content: \"\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\"; }\n\n.fa-github:before {\n content: \"\"; }\n\n.fa-unlock:before {\n content: \"\"; }\n\n.fa-credit-card:before {\n content: \"\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\"; }\n\n.fa-hdd-o:before {\n content: \"\"; }\n\n.fa-bullhorn:before {\n content: \"\"; }\n\n.fa-bell:before {\n content: \"\"; }\n\n.fa-certificate:before {\n content: \"\"; }\n\n.fa-hand-o-right:before {\n content: \"\"; }\n\n.fa-hand-o-left:before {\n content: \"\"; }\n\n.fa-hand-o-up:before {\n content: \"\"; }\n\n.fa-hand-o-down:before {\n content: \"\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\"; }\n\n.fa-globe:before {\n content: \"\"; }\n\n.fa-wrench:before {\n content: \"\"; }\n\n.fa-tasks:before {\n content: \"\"; }\n\n.fa-filter:before {\n content: \"\"; }\n\n.fa-briefcase:before {\n content: \"\"; }\n\n.fa-arrows-alt:before {\n content: \"\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\"; }\n\n.fa-cloud:before {\n content: \"\"; }\n\n.fa-flask:before {\n content: \"\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\"; }\n\n.fa-paperclip:before {\n content: \"\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\"; }\n\n.fa-square:before {\n content: \"\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\"; }\n\n.fa-list-ul:before {\n content: \"\"; }\n\n.fa-list-ol:before {\n content: \"\"; }\n\n.fa-strikethrough:before {\n content: \"\"; }\n\n.fa-underline:before {\n content: \"\"; }\n\n.fa-table:before {\n content: \"\"; }\n\n.fa-magic:before {\n content: \"\"; }\n\n.fa-truck:before {\n content: \"\"; }\n\n.fa-pinterest:before {\n content: \"\"; }\n\n.fa-pinterest-square:before {\n content: \"\"; }\n\n.fa-google-plus-square:before {\n content: \"\"; }\n\n.fa-google-plus:before {\n content: \"\"; }\n\n.fa-money:before {\n content: \"\"; }\n\n.fa-caret-down:before {\n content: \"\"; }\n\n.fa-caret-up:before {\n content: \"\"; }\n\n.fa-caret-left:before {\n content: \"\"; }\n\n.fa-caret-right:before {\n content: \"\"; }\n\n.fa-columns:before {\n content: \"\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\"; }\n\n.fa-envelope:before {\n content: \"\"; }\n\n.fa-linkedin:before {\n content: \"\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\"; }\n\n.fa-comment-o:before {\n content: \"\"; }\n\n.fa-comments-o:before {\n content: \"\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\"; }\n\n.fa-sitemap:before {\n content: \"\"; }\n\n.fa-umbrella:before {\n content: \"\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\"; }\n\n.fa-lightbulb-o:before {\n content: \"\"; }\n\n.fa-exchange:before {\n content: \"\"; }\n\n.fa-cloud-download:before {\n content: \"\"; }\n\n.fa-cloud-upload:before {\n content: \"\"; }\n\n.fa-user-md:before {\n content: \"\"; }\n\n.fa-stethoscope:before {\n content: \"\"; }\n\n.fa-suitcase:before {\n content: \"\"; }\n\n.fa-bell-o:before {\n content: \"\"; }\n\n.fa-coffee:before {\n content: \"\"; }\n\n.fa-cutlery:before {\n content: \"\"; }\n\n.fa-file-text-o:before {\n content: \"\"; }\n\n.fa-building-o:before {\n content: \"\"; }\n\n.fa-hospital-o:before {\n content: \"\"; }\n\n.fa-ambulance:before {\n content: \"\"; }\n\n.fa-medkit:before {\n content: \"\"; }\n\n.fa-fighter-jet:before {\n content: \"\"; }\n\n.fa-beer:before {\n content: \"\"; }\n\n.fa-h-square:before {\n content: \"\"; }\n\n.fa-plus-square:before {\n content: \"\"; }\n\n.fa-angle-double-left:before {\n content: \"\"; }\n\n.fa-angle-double-right:before {\n content: \"\"; }\n\n.fa-angle-double-up:before {\n content: \"\"; }\n\n.fa-angle-double-down:before {\n content: \"\"; }\n\n.fa-angle-left:before {\n content: \"\"; }\n\n.fa-angle-right:before {\n content: \"\"; }\n\n.fa-angle-up:before {\n content: \"\"; }\n\n.fa-angle-down:before {\n content: \"\"; }\n\n.fa-desktop:before {\n content: \"\"; }\n\n.fa-laptop:before {\n content: \"\"; }\n\n.fa-tablet:before {\n content: \"\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\"; }\n\n.fa-circle-o:before {\n content: \"\"; }\n\n.fa-quote-left:before {\n content: \"\"; }\n\n.fa-quote-right:before {\n content: \"\"; }\n\n.fa-spinner:before {\n content: \"\"; }\n\n.fa-circle:before {\n content: \"\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\"; }\n\n.fa-github-alt:before {\n content: \"\"; }\n\n.fa-folder-o:before {\n content: \"\"; }\n\n.fa-folder-open-o:before {\n content: \"\"; }\n\n.fa-smile-o:before {\n content: \"\"; }\n\n.fa-frown-o:before {\n content: \"\"; }\n\n.fa-meh-o:before {\n content: \"\"; }\n\n.fa-gamepad:before {\n content: \"\"; }\n\n.fa-keyboard-o:before {\n content: \"\"; }\n\n.fa-flag-o:before {\n content: \"\"; }\n\n.fa-flag-checkered:before {\n content: \"\"; }\n\n.fa-terminal:before {\n content: \"\"; }\n\n.fa-code:before {\n content: \"\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\"; }\n\n.fa-location-arrow:before {\n content: \"\"; }\n\n.fa-crop:before {\n content: \"\"; }\n\n.fa-code-fork:before {\n content: \"\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\"; }\n\n.fa-question:before {\n content: \"\"; }\n\n.fa-info:before {\n content: \"\"; }\n\n.fa-exclamation:before {\n content: \"\"; }\n\n.fa-superscript:before {\n content: \"\"; }\n\n.fa-subscript:before {\n content: \"\"; }\n\n.fa-eraser:before {\n content: \"\"; }\n\n.fa-puzzle-piece:before {\n content: \"\"; }\n\n.fa-microphone:before {\n content: \"\"; }\n\n.fa-microphone-slash:before {\n content: \"\"; }\n\n.fa-shield:before {\n content: \"\"; }\n\n.fa-calendar-o:before {\n content: \"\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\"; }\n\n.fa-rocket:before {\n content: \"\"; }\n\n.fa-maxcdn:before {\n content: \"\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\"; }\n\n.fa-html5:before {\n content: \"\"; }\n\n.fa-css3:before {\n content: \"\"; }\n\n.fa-anchor:before {\n content: \"\"; }\n\n.fa-unlock-alt:before {\n content: \"\"; }\n\n.fa-bullseye:before {\n content: \"\"; }\n\n.fa-ellipsis-h:before {\n content: \"\"; }\n\n.fa-ellipsis-v:before {\n content: \"\"; }\n\n.fa-rss-square:before {\n content: \"\"; }\n\n.fa-play-circle:before {\n content: \"\"; }\n\n.fa-ticket:before {\n content: \"\"; }\n\n.fa-minus-square:before {\n content: \"\"; }\n\n.fa-minus-square-o:before {\n content: \"\"; }\n\n.fa-level-up:before {\n content: \"\"; }\n\n.fa-level-down:before {\n content: \"\"; }\n\n.fa-check-square:before {\n content: \"\"; }\n\n.fa-pencil-square:before {\n content: \"\"; }\n\n.fa-external-link-square:before {\n content: \"\"; }\n\n.fa-share-square:before {\n content: \"\"; }\n\n.fa-compass:before {\n content: \"\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\"; }\n\n.fa-gbp:before {\n content: \"\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\"; }\n\n.fa-file:before {\n content: \"\"; }\n\n.fa-file-text:before {\n content: \"\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\"; }\n\n.fa-thumbs-up:before {\n content: \"\"; }\n\n.fa-thumbs-down:before {\n content: \"\"; }\n\n.fa-youtube-square:before {\n content: \"\"; }\n\n.fa-youtube:before {\n content: \"\"; }\n\n.fa-xing:before {\n content: \"\"; }\n\n.fa-xing-square:before {\n content: \"\"; }\n\n.fa-youtube-play:before {\n content: \"\"; }\n\n.fa-dropbox:before {\n content: \"\"; }\n\n.fa-stack-overflow:before {\n content: \"\"; }\n\n.fa-instagram:before {\n content: \"\"; }\n\n.fa-flickr:before {\n content: \"\"; }\n\n.fa-adn:before {\n content: \"\"; }\n\n.fa-bitbucket:before {\n content: \"\"; }\n\n.fa-bitbucket-square:before {\n content: \"\"; }\n\n.fa-tumblr:before {\n content: \"\"; }\n\n.fa-tumblr-square:before {\n content: \"\"; }\n\n.fa-long-arrow-down:before {\n content: \"\"; }\n\n.fa-long-arrow-up:before {\n content: \"\"; }\n\n.fa-long-arrow-left:before {\n content: \"\"; }\n\n.fa-long-arrow-right:before {\n content: \"\"; }\n\n.fa-apple:before {\n content: \"\"; }\n\n.fa-windows:before {\n content: \"\"; }\n\n.fa-android:before {\n content: \"\"; }\n\n.fa-linux:before {\n content: \"\"; }\n\n.fa-dribbble:before {\n content: \"\"; }\n\n.fa-skype:before {\n content: \"\"; }\n\n.fa-foursquare:before {\n content: \"\"; }\n\n.fa-trello:before {\n content: \"\"; }\n\n.fa-female:before {\n content: \"\"; }\n\n.fa-male:before {\n content: \"\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\"; }\n\n.fa-sun-o:before {\n content: \"\"; }\n\n.fa-moon-o:before {\n content: \"\"; }\n\n.fa-archive:before {\n content: \"\"; }\n\n.fa-bug:before {\n content: \"\"; }\n\n.fa-vk:before {\n content: \"\"; }\n\n.fa-weibo:before {\n content: \"\"; }\n\n.fa-renren:before {\n content: \"\"; }\n\n.fa-pagelines:before {\n content: \"\"; }\n\n.fa-stack-exchange:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\"; }\n\n.fa-dot-circle-o:before {\n content: \"\"; }\n\n.fa-wheelchair:before {\n content: \"\"; }\n\n.fa-vimeo-square:before {\n content: \"\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\"; }\n\n.fa-plus-square-o:before {\n content: \"\"; }\n\n.fa-space-shuttle:before {\n content: \"\"; }\n\n.fa-slack:before {\n content: \"\"; }\n\n.fa-envelope-square:before {\n content: \"\"; }\n\n.fa-wordpress:before {\n content: \"\"; }\n\n.fa-openid:before {\n content: \"\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\"; }\n\n.fa-yahoo:before {\n content: \"\"; }\n\n.fa-google:before {\n content: \"\"; }\n\n.fa-reddit:before {\n content: \"\"; }\n\n.fa-reddit-square:before {\n content: \"\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\"; }\n\n.fa-stumbleupon:before {\n content: \"\"; }\n\n.fa-delicious:before {\n content: \"\"; }\n\n.fa-digg:before {\n content: \"\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\"; }\n\n.fa-drupal:before {\n content: \"\"; }\n\n.fa-joomla:before {\n content: \"\"; }\n\n.fa-language:before {\n content: \"\"; }\n\n.fa-fax:before {\n content: \"\"; }\n\n.fa-building:before {\n content: \"\"; }\n\n.fa-child:before {\n content: \"\"; }\n\n.fa-paw:before {\n content: \"\"; }\n\n.fa-spoon:before {\n content: \"\"; }\n\n.fa-cube:before {\n content: \"\"; }\n\n.fa-cubes:before {\n content: \"\"; }\n\n.fa-behance:before {\n content: \"\"; }\n\n.fa-behance-square:before {\n content: \"\"; }\n\n.fa-steam:before {\n content: \"\"; }\n\n.fa-steam-square:before {\n content: \"\"; }\n\n.fa-recycle:before {\n content: \"\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\"; }\n\n.fa-tree:before {\n content: \"\"; }\n\n.fa-spotify:before {\n content: \"\"; }\n\n.fa-deviantart:before {\n content: \"\"; }\n\n.fa-soundcloud:before {\n content: \"\"; }\n\n.fa-database:before {\n content: \"\"; }\n\n.fa-file-pdf-o:before {\n content: \"\"; }\n\n.fa-file-word-o:before {\n content: \"\"; }\n\n.fa-file-excel-o:before {\n content: \"\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\"; }\n\n.fa-file-code-o:before {\n content: \"\"; }\n\n.fa-vine:before {\n content: \"\"; }\n\n.fa-codepen:before {\n content: \"\"; }\n\n.fa-jsfiddle:before {\n content: \"\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\"; }\n\n.fa-circle-o-notch:before {\n content: \"\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\"; }\n\n.fa-git-square:before {\n content: \"\"; }\n\n.fa-git:before {\n content: \"\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\"; }\n\n.fa-tencent-weibo:before {\n content: \"\"; }\n\n.fa-qq:before {\n content: \"\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\"; }\n\n.fa-history:before {\n content: \"\"; }\n\n.fa-circle-thin:before {\n content: \"\"; }\n\n.fa-header:before {\n content: \"\"; }\n\n.fa-paragraph:before {\n content: \"\"; }\n\n.fa-sliders:before {\n content: \"\"; }\n\n.fa-share-alt:before {\n content: \"\"; }\n\n.fa-share-alt-square:before {\n content: \"\"; }\n\n.fa-bomb:before {\n content: \"\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\"; }\n\n.fa-tty:before {\n content: \"\"; }\n\n.fa-binoculars:before {\n content: \"\"; }\n\n.fa-plug:before {\n content: \"\"; }\n\n.fa-slideshare:before {\n content: \"\"; }\n\n.fa-twitch:before {\n content: \"\"; }\n\n.fa-yelp:before {\n content: \"\"; }\n\n.fa-newspaper-o:before {\n content: \"\"; }\n\n.fa-wifi:before {\n content: \"\"; }\n\n.fa-calculator:before {\n content: \"\"; }\n\n.fa-paypal:before {\n content: \"\"; }\n\n.fa-google-wallet:before {\n content: \"\"; }\n\n.fa-cc-visa:before {\n content: \"\"; }\n\n.fa-cc-mastercard:before {\n content: \"\"; }\n\n.fa-cc-discover:before {\n content: \"\"; }\n\n.fa-cc-amex:before {\n content: \"\"; }\n\n.fa-cc-paypal:before {\n content: \"\"; }\n\n.fa-cc-stripe:before {\n content: \"\"; }\n\n.fa-bell-slash:before {\n content: \"\"; }\n\n.fa-bell-slash-o:before {\n content: \"\"; }\n\n.fa-trash:before {\n content: \"\"; }\n\n.fa-copyright:before {\n content: \"\"; }\n\n.fa-at:before {\n content: \"\"; }\n\n.fa-eyedropper:before {\n content: \"\"; }\n\n.fa-paint-brush:before {\n content: \"\"; }\n\n.fa-birthday-cake:before {\n content: \"\"; }\n\n.fa-area-chart:before {\n content: \"\"; }\n\n.fa-pie-chart:before {\n content: \"\"; }\n\n.fa-line-chart:before {\n content: \"\"; }\n\n.fa-lastfm:before {\n content: \"\"; }\n\n.fa-lastfm-square:before {\n content: \"\"; }\n\n.fa-toggle-off:before {\n content: \"\"; }\n\n.fa-toggle-on:before {\n content: \"\"; }\n\n.fa-bicycle:before {\n content: \"\"; }\n\n.fa-bus:before {\n content: \"\"; }\n\n.fa-ioxhost:before {\n content: \"\"; }\n\n.fa-angellist:before {\n content: \"\"; }\n\n.fa-cc:before {\n content: \"\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\"; }\n\n.fa-meanpath:before {\n content: \"\"; }\n\n.fa-buysellads:before {\n content: \"\"; }\n\n.fa-connectdevelop:before {\n content: \"\"; }\n\n.fa-dashcube:before {\n content: \"\"; }\n\n.fa-forumbee:before {\n content: \"\"; }\n\n.fa-leanpub:before {\n content: \"\"; }\n\n.fa-sellsy:before {\n content: \"\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\"; }\n\n.fa-simplybuilt:before {\n content: \"\"; }\n\n.fa-skyatlas:before {\n content: \"\"; }\n\n.fa-cart-plus:before {\n content: \"\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\"; }\n\n.fa-diamond:before {\n content: \"\"; }\n\n.fa-ship:before {\n content: \"\"; }\n\n.fa-user-secret:before {\n content: \"\"; }\n\n.fa-motorcycle:before {\n content: \"\"; }\n\n.fa-street-view:before {\n content: \"\"; }\n\n.fa-heartbeat:before {\n content: \"\"; }\n\n.fa-venus:before {\n content: \"\"; }\n\n.fa-mars:before {\n content: \"\"; }\n\n.fa-mercury:before {\n content: \"\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\"; }\n\n.fa-transgender-alt:before {\n content: \"\"; }\n\n.fa-venus-double:before {\n content: \"\"; }\n\n.fa-mars-double:before {\n content: \"\"; }\n\n.fa-venus-mars:before {\n content: \"\"; }\n\n.fa-mars-stroke:before {\n content: \"\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\"; }\n\n.fa-neuter:before {\n content: \"\"; }\n\n.fa-genderless:before {\n content: \"\"; }\n\n.fa-facebook-official:before {\n content: \"\"; }\n\n.fa-pinterest-p:before {\n content: \"\"; }\n\n.fa-whatsapp:before {\n content: \"\"; }\n\n.fa-server:before {\n content: \"\"; }\n\n.fa-user-plus:before {\n content: \"\"; }\n\n.fa-user-times:before {\n content: \"\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\"; }\n\n.fa-viacoin:before {\n content: \"\"; }\n\n.fa-train:before {\n content: \"\"; }\n\n.fa-subway:before {\n content: \"\"; }\n\n.fa-medium:before {\n content: \"\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\"; }\n\n.fa-optin-monster:before {\n content: \"\"; }\n\n.fa-opencart:before {\n content: \"\"; }\n\n.fa-expeditedssl:before {\n content: \"\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\"; }\n\n.fa-mouse-pointer:before {\n content: \"\"; }\n\n.fa-i-cursor:before {\n content: \"\"; }\n\n.fa-object-group:before {\n content: \"\"; }\n\n.fa-object-ungroup:before {\n content: \"\"; }\n\n.fa-sticky-note:before {\n content: \"\"; }\n\n.fa-sticky-note-o:before {\n content: \"\"; }\n\n.fa-cc-jcb:before {\n content: \"\"; }\n\n.fa-cc-diners-club:before {\n content: \"\"; }\n\n.fa-clone:before {\n content: \"\"; }\n\n.fa-balance-scale:before {\n content: \"\"; }\n\n.fa-hourglass-o:before {\n content: \"\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\"; }\n\n.fa-hourglass:before {\n content: \"\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\"; }\n\n.fa-hand-spock-o:before {\n content: \"\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\"; }\n\n.fa-hand-peace-o:before {\n content: \"\"; }\n\n.fa-trademark:before {\n content: \"\"; }\n\n.fa-registered:before {\n content: \"\"; }\n\n.fa-creative-commons:before {\n content: \"\"; }\n\n.fa-gg:before {\n content: \"\"; }\n\n.fa-gg-circle:before {\n content: \"\"; }\n\n.fa-tripadvisor:before {\n content: \"\"; }\n\n.fa-odnoklassniki:before {\n content: \"\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\"; }\n\n.fa-get-pocket:before {\n content: \"\"; }\n\n.fa-wikipedia-w:before {\n content: \"\"; }\n\n.fa-safari:before {\n content: \"\"; }\n\n.fa-chrome:before {\n content: \"\"; }\n\n.fa-firefox:before {\n content: \"\"; }\n\n.fa-opera:before {\n content: \"\"; }\n\n.fa-internet-explorer:before {\n content: \"\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\"; }\n\n.fa-contao:before {\n content: \"\"; }\n\n.fa-500px:before {\n content: \"\"; }\n\n.fa-amazon:before {\n content: \"\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\"; }\n\n.fa-calendar-times-o:before {\n content: \"\"; }\n\n.fa-calendar-check-o:before {\n content: \"\"; }\n\n.fa-industry:before {\n content: \"\"; }\n\n.fa-map-pin:before {\n content: \"\"; }\n\n.fa-map-signs:before {\n content: \"\"; }\n\n.fa-map-o:before {\n content: \"\"; }\n\n.fa-map:before {\n content: \"\"; }\n\n.fa-commenting:before {\n content: \"\"; }\n\n.fa-commenting-o:before {\n content: \"\"; }\n\n.fa-houzz:before {\n content: \"\"; }\n\n.fa-vimeo:before {\n content: \"\"; }\n\n.fa-black-tie:before {\n content: \"\"; }\n\n.fa-fonticons:before {\n content: \"\"; }\n\n.fa-reddit-alien:before {\n content: \"\"; }\n\n.fa-edge:before {\n content: \"\"; }\n\n.fa-credit-card-alt:before {\n content: \"\"; }\n\n.fa-codiepie:before {\n content: \"\"; }\n\n.fa-modx:before {\n content: \"\"; }\n\n.fa-fort-awesome:before {\n content: \"\"; }\n\n.fa-usb:before {\n content: \"\"; }\n\n.fa-product-hunt:before {\n content: \"\"; }\n\n.fa-mixcloud:before {\n content: \"\"; }\n\n.fa-scribd:before {\n content: \"\"; }\n\n.fa-pause-circle:before {\n content: \"\"; }\n\n.fa-pause-circle-o:before {\n content: \"\"; }\n\n.fa-stop-circle:before {\n content: \"\"; }\n\n.fa-stop-circle-o:before {\n content: \"\"; }\n\n.fa-shopping-bag:before {\n content: \"\"; }\n\n.fa-shopping-basket:before {\n content: \"\"; }\n\n.fa-hashtag:before {\n content: \"\"; }\n\n.fa-bluetooth:before {\n content: \"\"; }\n\n.fa-bluetooth-b:before {\n content: \"\"; }\n\n.fa-percent:before {\n content: \"\"; }\n\n.fa-gitlab:before {\n content: \"\"; }\n\n.fa-wpbeginner:before {\n content: \"\"; }\n\n.fa-wpforms:before {\n content: \"\"; }\n\n.fa-envira:before {\n content: \"\"; }\n\n.fa-universal-access:before {\n content: \"\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\"; }\n\n.fa-question-circle-o:before {\n content: \"\"; }\n\n.fa-blind:before {\n content: \"\"; }\n\n.fa-audio-description:before {\n content: \"\"; }\n\n.fa-volume-control-phone:before {\n content: \"\"; }\n\n.fa-braille:before {\n content: \"\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\"; }\n\n.fa-glide:before {\n content: \"\"; }\n\n.fa-glide-g:before {\n content: \"\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\"; }\n\n.fa-low-vision:before {\n content: \"\"; }\n\n.fa-viadeo:before {\n content: \"\"; }\n\n.fa-viadeo-square:before {\n content: \"\"; }\n\n.fa-snapchat:before {\n content: \"\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\"; }\n\n.fa-snapchat-square:before {\n content: \"\"; }\n\n.fa-pied-piper:before {\n content: \"\"; }\n\n.fa-first-order:before {\n content: \"\"; }\n\n.fa-yoast:before {\n content: \"\"; }\n\n.fa-themeisle:before {\n content: \"\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\"; }\n\n.fa-handshake-o:before {\n content: \"\"; }\n\n.fa-envelope-open:before {\n content: \"\"; }\n\n.fa-envelope-open-o:before {\n content: \"\"; }\n\n.fa-linode:before {\n content: \"\"; }\n\n.fa-address-book:before {\n content: \"\"; }\n\n.fa-address-book-o:before {\n content: \"\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\"; }\n\n.fa-user-circle:before {\n content: \"\"; }\n\n.fa-user-circle-o:before {\n content: \"\"; }\n\n.fa-user-o:before {\n content: \"\"; }\n\n.fa-id-badge:before {\n content: \"\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\"; }\n\n.fa-quora:before {\n content: \"\"; }\n\n.fa-free-code-camp:before {\n content: \"\"; }\n\n.fa-telegram:before {\n content: \"\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\"; }\n\n.fa-shower:before {\n content: \"\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\"; }\n\n.fa-podcast:before {\n content: \"\"; }\n\n.fa-window-maximize:before {\n content: \"\"; }\n\n.fa-window-minimize:before {\n content: \"\"; }\n\n.fa-window-restore:before {\n content: \"\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\"; }\n\n.fa-bandcamp:before {\n content: \"\"; }\n\n.fa-grav:before {\n content: \"\"; }\n\n.fa-etsy:before {\n content: \"\"; }\n\n.fa-imdb:before {\n content: \"\"; }\n\n.fa-ravelry:before {\n content: \"\"; }\n\n.fa-eercast:before {\n content: \"\"; }\n\n.fa-microchip:before {\n content: \"\"; }\n\n.fa-snowflake-o:before {\n content: \"\"; }\n\n.fa-superpowers:before {\n content: \"\"; }\n\n.fa-wpexplorer:before {\n content: \"\"; }\n\n.fa-meetup:before {\n content: \"\"; }\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.views-display-setting .views-admin-label {\n display: inline-block;\n float: left;\n /* LTR */\n margin-right: 3pt;\n /* LTR */ }\n\n.comment {\n margin-top: 15px; }\n .comment .user-picture {\n float: left;\n margin-right: 10px; }\n .comment .user-picture a {\n display: block; }\n .comment .submitted {\n font-size: 0.90em; }\n .comment .submitted .permalink {\n margin-left: 5px; }\n .comment .submitted .new {\n color: #d9534f; }\n .comment .content {\n margin: 10px 0; }\n .comment .links {\n font-size: 0.80em; }\n\n.form-item {\n margin-top: 0; }\n\nform .form-managed-file input {\n display: inline-block;\n margin: 0 10px 0 0; }\n\nform .container-inline-date .date-padding {\n padding: 0;\n float: none; }\n\nform .form-actions .btn, form .form-actions .media-widget > a {\n margin-right: 10px; }\n\nform .field-type-datetime select {\n min-width: 80px; }\n\nform .format-toggle {\n float: none; }\n\nform .field-multiple-table thead th {\n padding: 10px !important; }\n form .field-multiple-table thead th label {\n margin: 0;\n font-weight: bold; }\n\nform .description {\n margin: 2px 0;\n color: #555555; }\n\n.media-widget > a {\n margin: 0 10px 0 0; }\n\nfieldset {\n padding: 0; }\n fieldset legend {\n float: left;\n line-height: 1em;\n margin: 0; }\n fieldset .panel-body {\n clear: both; }\n\nhtml.js input.form-autocomplete {\n background: image-url(\"throbber.gif\") no-repeat right 8px #fff !important; }\n\nhtml.js input.throbbing {\n background-position: right -122px !important; }\n\nhtml.js fieldset.collapsed {\n height: auto;\n border-left-width: 1px;\n border-right-width: 1px; }\n\n.views-exposed-form .views-exposed-widget .form-submit {\n margin-top: 1.8em; }\n\n@media (max-width: 767px) {\n form .btn, form .media-widget > a {\n width: 100%;\n display: block;\n clear: both;\n margin: 0 0 5px; }\n form input.form-text,\n form textarea,\n form select {\n width: 100%; }\n form .confirm-parent,\n form .password-parent,\n form .password-suggestions {\n width: auto !important; }\n form .password-parent div.password-strength {\n width: 150px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px; }\n form .confirm-parent div.password-confirm {\n width: 110px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px; } }\n\n#node-edit #edit-title {\n font-size: 1.6em;\n line-height: 1.6em;\n height: 45px;\n width: 90%; }\n\n#node-edit .form-item-path-alias {\n overflow: hidden;\n *zoom: 1; }\n #node-edit .form-item-path-alias label, #node-edit .form-item-path-alias input {\n display: inline; }\n\n#node-edit .burr-flipped-sidebar .panel-pane {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n padding: 10px; }\n #node-edit .burr-flipped-sidebar .panel-pane blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n #node-edit .burr-flipped-sidebar .panel-pane .pane-title {\n margin-top: 0; }\n\n#node-edit .burr-flipped-sidebar .pane-node-form-buttons {\n background: none;\n padding: inherit; }\n #node-edit .burr-flipped-sidebar .pane-node-form-buttons .form-actions {\n margin: 0;\n border-top: 0; }\n\n#node-edit .pane-node-form-buttons {\n clear: both; }\n\n.filter-wrapper {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n -webkit-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n box-shadow: compact(inset 0 1px 1px rgba(0, 0, 0, 0.05), false, false, false, false, false, false, false, false, false);\n margin-top: 10px; }\n .filter-wrapper blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15); }\n .filter-wrapper .form-item {\n margin: 0 0 10px;\n padding: 0; }\n .filter-wrapper .filter-guidelines {\n padding: 0; }\n .filter-wrapper .filter-guidelines .tips {\n margin-left: 0; }\n\n.page-admin form table select,\n.page-admin form table input.form-text {\n width: 150px; }\n\n#features-export-form .features-export-parent {\n margin: 0 0 20px; }\n #features-export-form .features-export-parent fieldset.collapsed {\n min-height: 43px !important;\n background: none; }\n #features-export-form .features-export-parent .features-export-list {\n padding: 10px; }\n #features-export-form .features-export-parent .features-export-list .form-item {\n float: none !important; }\n\n#panels-panel-context-edit-move .container,\n#panels-panel-context-edit-content .container {\n width: auto;\n padding: 0; }\n #panels-panel-context-edit-move .container .row,\n #panels-panel-context-edit-content .container .row {\n margin-bottom: 20px; }\n\n.navbar-form .form-wrapper {\n padding: 0; }\n\n.navbar-form .form-item-keys,\n.navbar-form .form-item {\n margin-top: 0 !important; }\n\n.navbar-form .form-submit {\n display: none; }\n\n.pane-search-box form .form-wrapper .form-group {\n display: block;\n margin-bottom: 10px; }\n\n.tabledrag-handle .handle {\n box-sizing: content-box; }\n\n.container .container,\n.container .container-fluid {\n width: auto;\n margin-left: -15px;\n margin-right: -15px; }\n\n#footer {\n margin: 36px 0; }\n\nbody.maintenance-page .container {\n max-width: 970px !important; }\n\nbody.maintenance-page .jumbotron {\n background-color: #000000;\n color: white;\n padding: 20px 0; }\n body.maintenance-page .jumbotron h1 {\n font-size: 3.0em;\n margin-top: 0; }\n @media (min-width: 992px) {\n body.maintenance-page .jumbotron {\n padding-top: 30px;\n padding-bottom: 30px; } }\n\nbody.maintenance-page .main {\n padding-top: 20px;\n padding-bottom: 50px; }\n\nbody.maintenance-page .page-header h1 {\n font-size: 24px; }\n @media (min-width: 992px) {\n body.maintenance-page .page-header h1 {\n font-size: 36px; } }\n\nbody.maintenance-page .tasks-list > div {\n margin-bottom: 25px; }\n body.maintenance-page .tasks-list > div h6 {\n margin-bottom: 2px;\n font-size: 14px;\n font-weight: normal; }\n body.maintenance-page .tasks-list > div h4 {\n margin-top: 0;\n font-size: 14px; }\n body.maintenance-page .tasks-list > div.active, body.maintenance-page .tasks-list > div.done {\n color: black; }\n\nbody.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child {\n background-color: white;\n border-color: black;\n color: black; }\n body.maintenance-page .form-actions .btn:first-child:hover, body.maintenance-page .form-actions .media-widget > a:first-child:hover, body.maintenance-page .form-actions .btn:first-child:focus, body.maintenance-page .form-actions .media-widget > a:first-child:focus {\n background-color: black;\n border-color: white; }\n\nbody.maintenance-page .progress .progress-bar {\n background-color: black; }\n\nbody.maintenance-page #panopoly-theme-selection-form .form-type-radio {\n margin: 0 0 2em; }\n body.maintenance-page #panopoly-theme-selection-form .form-type-radio label {\n display: block; }\n body.maintenance-page #panopoly-theme-selection-form .form-type-radio .form-radio {\n margin: 0;\n left: 0;\n top: 40%; }\n\nbody.ctools-modal-open {\n overflow: hidden; }\n\n#modalContent .modal-content {\n width: 100%;\n overflow: hidden;\n box-shadow: none !important; }\n\n#modalContent #modal-content {\n overflow: auto;\n width: 100% !important;\n background: white; }\n\n#modalContent .panels-add-content-modal {\n background: none;\n padding: 0;\n height: 100%;\n margin: -20px -20px 0;\n width: 100%;\n position: absolute; }\n\n#modalContent .panels-section-columns,\n#modalContent .panels-categories-description {\n border: none; }\n\n#modalContent .panels-section-column-categories {\n margin-left: 0;\n border-right: 1px solid #ccc;\n height: 100%;\n background: white;\n overflow: auto;\n padding-bottom: 20px; }\n #modalContent .panels-section-column-categories .btn, #modalContent .panels-section-column-categories .media-widget > a {\n border: 1px solid #777777 !important;\n line-height: inherit;\n margin: 0;\n text-align: left; }\n\n#modalContent .panels-categories-box {\n border: 0; }\n #modalContent .panels-categories-box a.btn, #modalContent .panels-categories-box .media-widget > a {\n padding: 5px 10px; }\n #modalContent .panels-categories-box a.active {\n background: #eeeeee;\n box-shadow: none; }\n\n#modalContent .panels-root-content-box a.btn, #modalContent .panels-root-content-box .media-widget > a {\n padding: 5px 10px; }\n\n#modalContent .panels-categories-description {\n padding: 20px; }\n\n#modalContent .panels-section-columns {\n padding-bottom: 20px; }\n\n#modalContent fieldset.widget-preview {\n margin-top: 18px;\n margin-bottom: 0;\n position: static;\n border: 1px solid #ddd; }\n #modalContent fieldset.widget-preview .panel-heading {\n position: relative; }\n #modalContent fieldset.widget-preview .panel-heading .btn, #modalContent fieldset.widget-preview .panel-heading .media-widget > a {\n position: absolute;\n right: 10px;\n top: 5px; }\n\n#modalContent .ctools-auto-submit-full-form fieldset {\n width: 48%;\n display: block; }\n #modalContent .ctools-auto-submit-full-form fieldset fieldset {\n width: 100%; }\n #modalContent .ctools-auto-submit-full-form fieldset.widget-preview-single {\n float: right;\n margin-left: 1em;\n margin-top: 0;\n width: 48%;\n max-width: 48% !important; }\n\n#modalContent .ctools-auto-submit-full-form .form-actions {\n float: right;\n clear: right;\n width: 48%;\n max-width: 48%;\n text-align: right; }\n\n#modalContent .form-item-view-settings {\n display: block; }\n\n#modalContent .form-item-exposed-use-pager {\n display: block; }\n\n#modalContent #panopoly-form-widget-preview {\n width: 50%;\n float: right; }\n #modalContent #panopoly-form-widget-preview .container {\n width: auto; }\n\nul.menu > li > ul.menu {\n margin-left: 1em;\n /* LTR */ }\n\nul.nav > li.dropdown:after {\n width: 100%;\n height: 2px;\n background: none;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n content: ''; }\n\n.nav-expanded .caret {\n display: none; }\n\n.nav-expanded > li > a {\n font-size: 1.2em;\n text-align: left;\n font-weight: 700;\n color: #333333; }\n .nav-expanded > li > a:hover, .nav-expanded > li > a:focus, .nav-expanded > li > a.active, .nav-expanded > li > a.active-trail {\n color: #23527c;\n background: none; }\n\n.nav-expanded > li ul.dropdown-menu {\n background: none;\n display: block;\n border: 0;\n padding: 0;\n position: static;\n float: none;\n border-radius: 0;\n box-shadow: none; }\n .nav-expanded > li ul.dropdown-menu li a {\n padding: 3px 15px;\n color: #333333; }\n .nav-expanded > li ul.dropdown-menu li a:hover, .nav-expanded > li ul.dropdown-menu li a:focus, .nav-expanded > li ul.dropdown-menu li a.active, .nav-expanded > li ul.dropdown-menu li a.active-trail {\n color: #23527c;\n background: none; }\n .nav-expanded > li ul.dropdown-menu ul {\n display: none !important; }\n\n@media (min-width: 992px) {\n .nav-expanded > li {\n float: none;\n margin-bottom: 18px; } }\n\n.nav-expanded > li.open > a {\n color: #333333;\n background: none; }\n .nav-expanded > li.open > a:hover, .nav-expanded > li.open > a:focus, .nav-expanded > li.open > a.active, .nav-expanded > li.open > a.active-trail {\n color: #23527c;\n background: none; }\n\n.field-collection-container {\n border: 0; }\n .field-collection-container .field-collection-view {\n margin: 0;\n padding: 0;\n border: none; }\n\n.node-panopoly-page.node-teaser .panel-pane {\n margin: 0 0 10px 260px; }\n\n.node-panopoly-page.node-teaser .pane-node-field-featured-image {\n float: left;\n margin-left: 0; }\n\n@media (max-width: 767px) {\n .node-panopoly-page .panel-pane {\n float: none !important;\n margin: 0 0 10px !important; } }\n\n.node-panopoly-news-article.node-teaser .panel-pane {\n margin: 0 0 10px 260px; }\n\n.node-panopoly-news-article.node-teaser .pane-node-field-featured-image {\n float: left;\n margin-left: 0; }\n\n@media (max-width: 767px) {\n .node-panopoly-news-article .panel-pane {\n float: none !important;\n margin: 0 0 10px !important; } }\n\n.panel-display > .row {\n margin-bottom: 20px; }\n\n.panel-flexible .panel-separator {\n display: none; }\n\n.panels-layouts-checkboxes input[type=\"radio\"] {\n position: static;\n margin-left: 0px;\n margin-bottom: 20px; }\n\n.panels-layouts-checkboxes label {\n margin-left: 0px; }\n\n.panels-layouts-checkboxes .form-type-radio {\n margin: 0 !important; }\n\nbody.panels-ipe {\n margin-bottom: 55px !important; }\n\ndiv#panels-ipe-control-container {\n width: auto;\n left: 0;\n right: 0;\n box-shadow: none; }\n div#panels-ipe-control-container .panels-ipe-button-container {\n text-align: center; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container {\n margin: 0 5px; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container a {\n padding: 0px 10px 0px 34px; }\n div#panels-ipe-control-container .panels-ipe-button-container .panels-ipe-pseudobutton-container a:hover {\n text-decoration: none; }\n div#panels-ipe-control-container .panels-ipe-form-container form > div {\n text-align: center; }\n div#panels-ipe-control-container .panels-ipe-form-container form .form-submit {\n margin: 0 5px;\n padding: 0px 10px 0px 34px; }\n div#panels-ipe-control-container .panels-ipe-form-container form .form-submit:hover {\n box-shadow: none; }\n\nul.panels-ipe-linkbar {\n list-style: none outside none; }\n ul.panels-ipe-linkbar > li {\n display: inline-block;\n margin: 0 0 0 5px; }\n ul.panels-ipe-linkbar > li a {\n margin: 0 !important; }\n\n#logo {\n display: block;\n float: left;\n margin-right: 15px;\n height: 100%;\n width: auto; }\n\n#site-name {\n float: left; }\n\n.page-header {\n margin: 0 0 18px; }\n .page-header h1 {\n margin: 0; }\n\n.page-title-hidden .page-header {\n display: none; }\n\n.breadcrumb a i {\n display: none; }\n\n.tabs,\n.nav-tabs {\n margin: 0 0 18px; }\n\n.action-links {\n list-style: none outside none;\n margin: 0 0 18px;\n padding: 0;\n overflow: hidden;\n *zoom: 1; }\n .action-links > li {\n float: left;\n margin: 0 10px 0 0; }\n\ndiv.vertical-tabs {\n border: none;\n border: 1px solid #DDD;\n outline: none;\n border-radius: 4px; }\n div.vertical-tabs ul.vertical-tabs-list {\n border: none;\n margin-top: 20px;\n margin-bottom: 20px;\n outline: none; }\n div.vertical-tabs ul.vertical-tabs-list li {\n border: none;\n background: none;\n outline: none !important;\n border-radius: 4px 0 0 4px;\n border: 1px solid;\n border-color: #fff #ddd #fff #fff; }\n div.vertical-tabs ul.vertical-tabs-list li.selected {\n border-color: #ddd #fff #ddd #ddd; }\n div.vertical-tabs ul.vertical-tabs-list li a {\n outline: none !important;\n border-radius: 4px 0 0 4px; }\n div.vertical-tabs ul.vertical-tabs-list li a:hover {\n color: #fff;\n background: #337ab7;\n text-decoration: none; }\n div.vertical-tabs ul.vertical-tabs-list li a:hover strong {\n text-decoration: none;\n color: #fff; }\n div.vertical-tabs .vertical-tabs-panes {\n padding: 20px 10px; }\n div.vertical-tabs .form-type-textfield input {\n width: 90%;\n box-sizing: content-box; }\n\ntable {\n width: 100%;\n margin-bottom: 1.42857; }\n table th,\n table td {\n padding: 8px;\n line-height: 1.42857;\n text-align: left;\n vertical-align: top;\n border-top: 1px solid #ddd; }\n table th.checkbox,\n table td.checkbox {\n text-align: center;\n display: table-cell;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0; }\n table th.checkbox input,\n table td.checkbox input {\n float: none !important;\n margin-left: 0 !important; }\n table th.checkbox div.checkbox,\n table td.checkbox div.checkbox {\n text-align: center;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0; }\n table th {\n font-weight: bold; }\n table thead th {\n vertical-align: bottom; }\n table caption + thead tr:first-child th,\n table caption + thead tr:first-child td,\n table colgroup + thead tr:first-child th,\n table colgroup + thead tr:first-child td,\n table thead:first-child tr:first-child th,\n table thead:first-child tr:first-child td {\n border-top: 0; }\n table tbody + tbody {\n border-top: 2px solid #ddd; }\n\nul.links {\n padding: 0;\n list-style: none outside none; }\n ul.links.inline {\n margin: 0; }\n ul.links.inline li {\n margin: 0 10px 0 0;\n padding: 0; }\n\n.carousel .carousel-control {\n z-index: 100; }\n\n.carousel .carousel-indicators li {\n float: none;\n margin-left: 3px;\n margin-right: 3px; }\n .carousel .carousel-indicators li a {\n display: none; }\n\n.carousel .carousel-caption h1, .carousel .carousel-caption h2, .carousel .carousel-caption h3, .carousel .carousel-caption h4, .carousel .carousel-caption h5, .carousel .carousel-caption h6 {\n color: white; }\n\n.item-list ul.pagination {\n margin: 20px 0; }\n .item-list ul.pagination > li {\n margin: 0;\n display: inline-block;\n padding: 0;\n position: relative; }\n .item-list ul.pagination > li > a, .item-list ul.pagination > li > span {\n padding: 6px 12px;\n border-radius: inherit; }\n .item-list ul.pagination > li > a.progress-disabled, .item-list ul.pagination > li > span.progress-disabled {\n float: left; }\n .item-list ul.pagination > li .ajax-progress {\n float: left;\n padding: 6px 5px 6px 10px; }\n\n.ctools-dropdown-container hr {\n margin: 0; }\n\nul.nav,\nul.navl li,\nul.dropdown-menu,\nul.dropdown-menu li {\n list-style: none outside none !important; }\n\n.calendar-calendar table.mini td {\n border: 1px solid #eeeeee !important;\n padding: 5px; }\n\n.view-header .date-nav-wrapper h3 {\n margin-top: 5px !important;\n margin-bottom: 0; }\n\n.ui-tabs .ui-tabs-nav {\n padding: 0 5px 5px 5px; }\n\n.views-exposed-form .views-submit-button,\n.views-exposed-form .views-reset-button {\n margin-top: 3px; }\n\ninput[type=\"submit\"],\n.btn-primary, body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .media-widget > a:first-child,\n.btn.btn-primary, .media-widget > a.btn-primary, .node-teaser .links li a, .node-blog .links li a {\n color: white;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n white-space: nowrap;\n padding: 5px 12px;\n line-height: 1.4em;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px; }\n\ninput[type=\"submit\"]:hover,\n.btn-primary:hover, body.maintenance-page .form-actions .btn:hover:first-child, body.maintenance-page .form-actions .media-widget > a:hover:first-child, .node-teaser .links li a:hover, .node-blog .links li a:hover,\ninput[type=\"submit\"]:focus,\n.btn-primary:focus,\nbody.maintenance-page .form-actions .btn:focus:first-child,\nbody.maintenance-page .form-actions .media-widget > a:focus:first-child,\n.node-teaser .links li a:focus,\n.node-blog .links li a:focus,\ninput[type=\"submit\"]:active,\n.btn-primary:active,\nbody.maintenance-page .form-actions .btn:active:first-child,\nbody.maintenance-page .form-actions .media-widget > a:active:first-child,\n.node-teaser .links li a:active,\n.node-blog .links li a:active {\n color: white;\n text-decoration: none; }\n\n.form-managed-file input.form-submit {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0;\n padding-left: 10px;\n padding-right: 10px; }\n\n.screenreader, .form-type-textfield.form-group label.option, #dkan-sitewide-dataset-search-form label,\n#dkan-sitewide-dataset-search-form--2 label, #region-branding #block-dkan-sitewide-dkan-sitewide-search-bar label {\n position: absolute;\n top: 0;\n left: -9999px; }\n\n.clearfix {\n overflow: visible; }\n\n.admin-list dt, .admin-list dd {\n display: inline-block;\n float: none;\n vertical-align: top; }\n\n.views-edit-view .action-list input.btn,\n.views-edit-view .action-list input.btn:active,\n.views-edit-view .action-list input.btn:focus,\n.views-edit-view .action-list input.btn:hover,\n.views-edit-view .action-list input[type=\"submit\"]:hover {\n background: inherit;\n border: none;\n color: inherit; }\n\n.views-edit-view .footer {\n background: inherit; }\n\n.modal-content .panels-root-content-box a.btn, .modal-content .panels-root-content-box .media-widget > a {\n white-space: normal; }\n\n.modal-content .panel-title {\n padding-right: 55px; }\n\n.views-displays .secondary .open > a:hover {\n color: #666; }\n\n.media-thumbnails-select {\n padding: 0 0 40px; }\n\n.page-admin .alert {\n margin: 10px 0; }\n\n.page-admin .container.main {\n width: 100%; }\n\n.page-admin .table-bordered > thead > tr > th, .page-admin .calendar-calendar table.mini > thead > tr > th, .calendar-calendar .page-admin table.mini > thead > tr > th,\n.page-admin .table-bordered > tbody > tr > th,\n.page-admin .calendar-calendar table.mini > tbody > tr > th, .calendar-calendar\n.page-admin table.mini > tbody > tr > th,\n.page-admin .table-bordered > tbody > tr > td,\n.page-admin .calendar-calendar table.mini > tbody > tr > td, .calendar-calendar\n.page-admin table.mini > tbody > tr > td {\n border: none; }\n\n.page-admin table thead > tr > th.checkbox,\n.page-admin table.table thead > tr > th.checkbox,\n.page-admin .table-bordered > tbody > tr > th.checkbox,\n.page-admin .calendar-calendar table.mini > tbody > tr > th.checkbox, .calendar-calendar\n.page-admin table.mini > tbody > tr > th.checkbox,\n.page-admin .table-bordered > tbody > tr > td.checkbox,\n.page-admin .calendar-calendar table.mini > tbody > tr > td.checkbox, .calendar-calendar\n.page-admin table.mini > tbody > tr > td.checkbox,\n.page-admin .table-striped > tbody > tr:nth-child(odd) > td.checkbox,\n.page-admin .table-striped > tbody > tr:nth-child(odd) > th.checkbox {\n background-color: transparent;\n border: none;\n margin: 0;\n display: table-cell;\n position: relative; }\n\n.page-admin .table tbody tr:hover td.checkbox,\n.page-admin .table tbody tr:hover th.checkbox {\n background-color: #FFFEEE; }\n\n.page-admin table th.checkbox label,\n.page-admin table td.checkbox label {\n line-height: 0;\n padding: 4px;\n vertical-align: top; }\n\n.page-admin table th.checkbox input[type=\"checkbox\"],\n.page-admin table th.checkbox input,\n.page-admin table td.checkbox input[type=\"checkbox\"],\n.page-admin table td.checkbox input {\n float: none !important;\n margin: 0 !important;\n position: relative; }\n\n.pane-dkan-sitewide-dkan-sitewide-license .pane-content {\n word-break: break-word; }\n\n.pane-dkan-sitewide-dkan-sitewide-other-access a.btn, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a,\n#block-dkan-sitewide-dkan-sitewide-other-access a.btn,\n#block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a {\n background-image: auto;\n border: 1px solid #ccc;\n padding: 6px 10px 6px 36px;\n position: relative; }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i {\n background-position: 0 0;\n position: absolute;\n top: 8px;\n left: 5px;\n visibility: visible; }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-rdfxml, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-rdfxml,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-rdfxml,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-rdfxml {\n background-image: url(../images/rdf.png); }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-json, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-json,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn i.ckan-icon-json,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a i.ckan-icon-json {\n background-image: url(../images/json.png); }\n .pane-dkan-sitewide-dkan-sitewide-other-access a.btn:hover, .pane-dkan-sitewide-dkan-sitewide-other-access .media-widget > a:hover,\n #block-dkan-sitewide-dkan-sitewide-other-access a.btn:hover,\n #block-dkan-sitewide-dkan-sitewide-other-access .media-widget > a:hover {\n background-color: #eeeeee; }\n\n.pane-dkan-sitewide-dkan-sitewide-other-access .btn-group,\n#block-dkan-sitewide-dkan-sitewide-other-access .btn-group {\n margin: .6em 0; }\n .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:first-child, .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:first-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:first-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:first-child {\n background-image: url(../images/json.png);\n background-repeat: no-repeat;\n background-position: 10px 10px; }\n .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:last-child, .pane-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:last-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .btn:last-child,\n #block-dkan-sitewide-dkan-sitewide-other-access .btn-group .media-widget > a:last-child {\n background-image: url(../images/rdf.png);\n background-repeat: no-repeat;\n background-position: 10px 10px; }\n\n#block-dkan-forms-dkan-forms-dataset-help h2.block-title::before {\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container.pane-block,\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .pane-content,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"].pane-block,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .pane-content,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi.pane-block,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .pane-content {\n border: none;\n margin: 0;\n padding: 0;\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list {\n border: 1px solid #ddd; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list .facetapi-limit-link,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list .facetapi-limit-link,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list .facetapi-limit-link {\n padding: 10px 22px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .item-list .facetapi-limit-link:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .item-list .facetapi-limit-link:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi .item-list .facetapi-limit-link:before {\n top: 10px;\n right: 22px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi h2.pane-title {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border: none;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1); }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container h2.pane-title:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] h2.pane-title:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi h2.pane-title:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container.ctools-collapsed h2.pane-title:after,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"].ctools-collapsed h2.pane-title:after,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi.ctools-collapsed h2.pane-title:after {\n content: \"\\f078\"; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .ctools-toggle,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] .ctools-toggle,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi .ctools-toggle {\n background: none; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul {\n margin: 0;\n padding: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf {\n list-style-type: none;\n list-style-image: none;\n margin: 0;\n padding: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li {\n position: relative; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li a,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li a,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li a {\n padding-right: 48px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf.last,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf.last,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf.last {\n border-bottom: none; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf li:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf li:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf li:before {\n content: \"\\f178\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 4px;\n right: 30px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a {\n color: #333333;\n display: block;\n padding: 6px 20px 6px 10px;\n position: relative;\n line-height: 22px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:focus, .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:hover,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:focus,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:hover,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:focus,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:hover {\n color: #1a1a1a;\n background: rgba(0, 0, 0, 0.03);\n text-decoration: none; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a:hover:after {\n content: \"\\f055\";\n color: #5cb85c;\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a img,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a img,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a img {\n height: 25px;\n width: 25px;\n margin: 0 16px 0 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active {\n background: #ccc;\n color: #333;\n z-index: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:before,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:before,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:before {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent #ccc;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n .panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container ul li.leaf a.facetapi-active:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] ul li.leaf a.facetapi-active:hover:after,\n .panel-region-sidebar .radix-layouts-sidebar .block-facetapi ul li.leaf a.facetapi-active:hover:after {\n color: red; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link {\n display: block;\n padding: 5px 30px 5px 5px;\n position: relative; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link:before,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link:before,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link:before {\n content: \"\\f150\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 15px; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container a.facetapi-limit-link.open:before,\n.panel-region-sidebar .radix-layouts-sidebar div[class*=\"pane-facetapi\"] a.facetapi-limit-link.open:before,\n.panel-region-sidebar .radix-layouts-sidebar .block-facetapi a.facetapi-limit-link.open:before {\n content: \"\\f151\"; }\n\n.panel-region-sidebar .radix-layouts-sidebar .ctools-collapsible-container .ctools-toggle {\n width: 12px; }\n\n.facetapi-facet-changed li.expanded a.facetapi-active {\n background: #ccc;\n border-bottom: 1px dotted #eee;\n color: #333;\n line-height: 22px;\n padding: 6px 20px 6px 10px; }\n .facetapi-facet-changed li.expanded a.facetapi-active:hover {\n background: #ccc;\n color: #333;\n text-decoration: none; }\n .facetapi-facet-changed li.expanded a.facetapi-active:hover:after {\n color: red; }\n .facetapi-facet-changed li.expanded a.facetapi-active:before {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent #ccc;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0; }\n .facetapi-facet-changed li.expanded a.facetapi-active:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px; }\n\n.facetapi-facet-changed li.expanded ul.expanded li.leaf a,\n.facetapi-facet-changed li.expanded li.expanded a {\n padding: 6px 20px 6px 20px; }\n\n.facetapi-facet-changed li.expanded .item-list {\n border: none; }\n\n.facetapi-facet-field-license a {\n white-space: pre;\n /* CSS 2.0 */\n white-space: pre-wrap;\n /* CSS 2.1 */\n white-space: pre-line;\n /* CSS 3.0 */\n white-space: -pre-wrap;\n /* Opera 4-6 */\n white-space: -o-pre-wrap;\n /* Opera 7 */\n white-space: -moz-pre-wrap;\n /* Mozilla */\n white-space: -hp-pre-wrap;\n /* HP Printers */\n word-wrap: break-word;\n /* IE 5+ */\n word-break: break-word; }\n\n.pane-views-group-block-block,\n#block-views-group-block-block {\n overflow: hidden; }\n .pane-views-group-block-block .views-field-title a,\n #block-views-group-block-block .views-field-title a {\n display: block;\n padding: .5em 0; }\n .pane-views-group-block-block .views-field-body p,\n #block-views-group-block-block .views-field-body p {\n margin: .5em 0 1em; }\n .pane-views-group-block-block .group-subscribe-message,\n #block-views-group-block-block .group-subscribe-message {\n -moz-border-radius-bottomleft: 4px;\n -webkit-border-bottom-left-radius: 4px;\n border-bottom-left-radius: 4px;\n -moz-border-radius-bottomright: 4px;\n -webkit-border-bottom-right-radius: 4px;\n border-bottom-right-radius: 4px;\n background: #0A77BD;\n color: #fff;\n padding: 5px;\n text-align: center;\n margin-left: -15px;\n margin-right: -15px; }\n .pane-views-group-block-block .group-subscribe-message a,\n #block-views-group-block-block .group-subscribe-message a {\n color: #fff;\n display: block; }\n\n.node-type-group .radix-bryant .radix-layouts-sidebar .pane-block.pane-views-group-block-block .pane-content {\n padding: 15px 15px 0; }\n\n#block-dkan-dataset-dkan-dataset-dataset-help .content {\n padding: 10px; }\n\n#block-dkan-forms-dkan-forms-dataset-help h2:before {\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em; }\n\n.pane-dkan-sitewide-dkan-demo-front,\n#block-dkan-sitewide-demo-front-dkan-demo-front {\n -webkit-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);\n -moz-box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5);\n box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.5); }\n .pane-dkan-sitewide-dkan-demo-front p,\n #block-dkan-sitewide-demo-front-dkan-demo-front p {\n color: #fff;\n padding: 15px; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay {\n position: relative;\n padding: 0; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay img,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay img {\n width: 100%;\n height: auto; }\n .pane-dkan-sitewide-dkan-demo-front .media-overlay .media-heading,\n #block-dkan-sitewide-demo-front-dkan-demo-front .media-overlay .media-heading {\n background-color: rgba(0, 0, 0, 0.8);\n bottom: 0;\n color: #FFFFFF;\n font-size: 13px;\n left: 0;\n line-height: 18px;\n margin: 0;\n padding: 12px 10px;\n position: absolute;\n right: 0;\n z-index: 1; }\n\n.radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content {\n padding: 0; }\n .radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content li.last a:hover {\n -webkit-border-radius: 0 0 3px 3px;\n -moz-border-radius: 0 0 3px 3px;\n -ms-border-radius: 0 0 3px 3px;\n -o-border-radius: 0 0 3px 3px;\n border-radius: 0 0 3px 3px; }\n\n.pane-dkan-sitewide-dkan-sitewide-resource-add table {\n margin-top: 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:first-child h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:first-child h2.pane-title {\n -webkit-border-radius: 5px 5px 0 0;\n -moz-border-radius: 5px 5px 0 0;\n -ms-border-radius: 5px 5px 0 0;\n -o-border-radius: 5px 5px 0 0;\n border-radius: 5px 5px 0 0; }\n\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:last-child .ctools-collapsed h2.pane-title, .panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner .panels-ipe-portlet-wrapper:last-child.ctools-collapsed h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:last-child .ctools-collapsed h2.pane-title,\n.panel-region-sidebar .radix-layouts-sidebar .panel-panel-inner > div[class*=\"pane-facetapi\"]:last-child.ctools-collapsed h2.pane-title {\n -webkit-border-radius: 0 0 5px 5px;\n -moz-border-radius: 0 0 5px 5px;\n -ms-border-radius: 0 0 5px 5px;\n -o-border-radius: 0 0 5px 5px;\n border-radius: 0 0 5px 5px; }\n\n@media all and (max-width: 768px) {\n .node-dataset .resource-list li {\n padding-right: 0; }\n .node-dataset .resource-list li span.links {\n position: relative;\n top: auto;\n right: auto;\n margin: 10px 0;\n display: block;\n padding: 0; }\n .node-dataset .resource-list li a.btn, .node-dataset .resource-list li .media-widget > a {\n margin: 0 5px 10px 0; } }\n\n.resource-list a.label {\n display: inline-block;\n overflow-wrap: break-word; }\n\n.stages {\n margin: 0 0 20px; }\n .stages li {\n font-size: 14px; }\n .stages li.first,\n .stages li.first .highlight {\n -webkit-border-radius: 5px 0 0 5px;\n -moz-border-radius: 5px 0 0 5px;\n -ms-border-radius: 5px 0 0 5px;\n -o-border-radius: 5px 0 0 5px;\n border-radius: 5px 0 0 5px; }\n .stages li.last,\n .stages li.last .highlight {\n -webkit-border-radius: 0 5px 5px 0;\n -moz-border-radius: 0 5px 5px 0;\n -ms-border-radius: 0 5px 5px 0;\n -o-border-radius: 0 5px 5px 0;\n border-radius: 0 5px 5px 0; }\n\n.node-type-resource .item-list .list-group li {\n margin: 0; }\n\n.node-type-dataset .field-name-field-tags .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-preview-thumbail .field-label {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.field-name-field-topic .field-item {\n display: inline-block; }\n\n#edit-path-alias {\n height: 34px; }\n\n.node-dataset .resource-list li {\n padding: 0 260px 0 45px; }\n @media all and (max-width: 767px) {\n .node-dataset .resource-list li {\n padding-right: 0; } }\n\np.dkan-profile-page-user-name {\n display: inline-block; }\n\n.table-select-processed .checkbox input[type=\"checkbox\"],\n.permissions-processed .checkbox input[type=\"checkbox\"] {\n margin-left: 0px; }\n\ninput[type=\"submit\"],\n.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child,\n.btn.btn-primary,\n.media-widget > a.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child {\n margin-right: 1em; }\n\ninput.use-ajax-submit {\n margin-right: 10px; }\n\nbutton.btn,\n.btn.btn-default,\n.media-widget > a.btn-default,\n.btn.btn-primary,\n.media-widget > a.btn-primary,\nbody.maintenance-page .form-actions .btn:first-child,\nbody.maintenance-page .form-actions .media-widget > a:first-child,\n.tabs--primary.nav-pills li a,\n.form-control {\n line-height: 1.5em; }\n\n.btn, .media-widget > a, .btn-sm, .btn-group-sm > .btn, .media-widget.btn-group-sm > a {\n font-size: 14px; }\n\nselect.form-control {\n min-height: 36px; }\n select.form-control[multiple=\"multiple\"] {\n height: auto; }\n\n.form-control,\ndiv.autocomplete-deluxe-multiple {\n padding: 0 12px; }\n\n.ctools-dropbutton .ctools-content a,\n.ctools-dropbutton input.btn,\n.ctools-dropbutton input[type=\"submit\"] {\n color: #666; }\n .ctools-dropbutton .ctools-content a:hover, .ctools-dropbutton .ctools-content a:focus, .ctools-dropbutton .ctools-content a:active,\n .ctools-dropbutton input.btn:hover,\n .ctools-dropbutton input.btn:focus,\n .ctools-dropbutton input.btn:active,\n .ctools-dropbutton input[type=\"submit\"]:hover,\n .ctools-dropbutton input[type=\"submit\"]:focus,\n .ctools-dropbutton input[type=\"submit\"]:active {\n border: none;\n color: #0A77BD; }\n\n.field-type-file input[type=\"submit\"],\n.input-group-addon,\n.input-group-btn {\n width: auto; }\n\n.colorizer-form .form-control {\n width: 50%; }\n\n.colorizer-form label {\n float: none;\n display: block; }\n\n.colorizer-form #palette {\n clear: both; }\n .colorizer-form #palette .item-selected {\n background-color: transparent; }\n\n.bue-popup {\n z-index: 999; }\n\n.bue-ui.editor-container {\n background-color: #ffffff;\n padding: 0 4px;\n border: 1px solid #ddd;\n -webkit-border-radius: 4px 4px 0 0;\n -moz-border-radius: 4px 4px 0 0;\n -ms-border-radius: 4px 4px 0 0;\n -o-border-radius: 4px 4px 0 0;\n border-radius: 4px 4px 0 0; }\n\n.form-control.form-textarea {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.form-control.chosen-processed {\n line-height: 34px;\n height: auto;\n padding: 0;\n border: none;\n max-width: 100% !important; }\n .form-control.chosen-processed .chosen-choices {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border-color: #ccc; }\n\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n background-position: -42px 2px; }\n\n.chzn-container-single {\n max-width: 100%; }\n\ndiv.autocomplete-deluxe-multiple,\n.chzn-container-multi {\n width: 100% !important; }\n\n.chzn-container-multi .chzn-choices .search-field input {\n height: auto; }\n\n#context-blockform td.blocks .label {\n background-color: #555555; }\n\n.tabledrag-hide .chzn-container-single {\n width: 20px !important; }\n\ndiv.autocomplete-deluxe-container input.autocomplete-deluxe-form-single {\n float: left; }\n\nfieldset {\n position: relative; }\n\nfieldset.collapsible {\n padding-top: 0; }\n\n#og-group-ref-add-more-wrapper fieldset,\nfieldset.group-primary {\n padding-top: 0; }\n #og-group-ref-add-more-wrapper fieldset legend,\n fieldset.group-primary legend {\n display: none; }\n\n.horizontal-tabs fieldset.horizontal-tabs-pane {\n padding: 0; }\n\ndiv.horizontal-tabs {\n border: none; }\n\n.form-managed-file span.file {\n border: 1px solid #ddd;\n padding: 0 15px;\n line-height: 34px;\n display: inline-block;\n vertical-align: top;\n border-radius: 5px 0 0 5px;\n margin-right: 0; }\n\n.form-managed-file .file-size {\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 0 10px;\n vertical-align: top;\n line-height: 34px;\n display: inline-block;\n font-size: 12px;\n margin: 0 -5px;\n background: #eee; }\n\n.form-managed-file input {\n -webkit-border-radius: 4px 0 0 4px;\n -moz-border-radius: 4px 0 0 4px;\n -ms-border-radius: 4px 0 0 4px;\n -o-border-radius: 4px 0 0 4px;\n border-radius: 4px 0 0 4px;\n border: 1px solid #ddd;\n padding: 5px;\n margin: 0 0 10px 0;\n height: 36px;\n vertical-align: top; }\n\n.form-managed-file input.form-submit {\n margin: 0 0 10px 0; }\n\n.form-managed-file .filefield-source-remotefile input.form-control:first-child {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px; }\n\n.form-managed-file .filefield-source-remotefile input.form-text {\n width: 100%; }\n\n.form-managed-file .input-group-btn {\n display: inline-block;\n vertical-align: top; }\n\n.form-managed-file .manualcrop-style-button-holder input {\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n -ms-border-radius: 5px;\n -o-border-radius: 5px;\n border-radius: 5px; }\n\n.path-form.panel-default {\n border-color: transparent; }\n .path-form.panel-default .panel-body {\n padding: 0; }\n\n.list-group-item {\n background-color: transparent;\n border: none;\n color: #333333;\n padding: 0; }\n\n.filter-wrapper {\n padding: 10px; }\n .filter-wrapper .input-group-addon {\n border: none;\n background: transparent; }\n\n#body-add-more-wrapper .panel-body {\n padding: 0; }\n\n.node-dataset-form .group-odfie-pod .form-item {\n margin-bottom: 0px; }\n\n.node-dataset-form .group-odfie-pod .field-name-field-odfe-data-quality {\n margin-bottom: 15px; }\n\n.node-dataset-form .form-item.has-error div.autocomplete-deluxe-container,\n.node-dataset-form .form-item.has-error div.chosen-container {\n border: 2px solid red; }\n .node-dataset-form .form-item.has-error div.autocomplete-deluxe-container .chosen-single,\n .node-dataset-form .form-item.has-error div.chosen-container .chosen-single {\n border: none; }\n\n.node-dataset-form .form-item .error .chosen-single {\n line-height: 24px; }\n\n.node-dataset-form .field-name-field-format label,\n.node-resource-form .field-name-field-format label {\n vertical-align: top; }\n\n@media all and (max-width: 599px) {\n .node-dataset-form .stages li .highlight,\n .node-resource-form .stages li .highlight {\n font-size: 12px;\n line-height: 1.15em; } }\n\n.node-resource-form .field-name-field-upload .form-type-managed-file {\n display: table; }\n .node-resource-form .field-name-field-upload .form-type-managed-file .file-widget {\n display: table-footer-group; }\n .node-resource-form .field-name-field-upload .form-type-managed-file .file-resup-wrapper {\n display: table-header-group; }\n\n.node-resource-form .field-name-body textarea {\n height: auto; }\n\n#search-api-admin-index-status-form input {\n margin-bottom: 1em; }\n\n.page-admin form input[type=submit] {\n margin-right: 1em; }\n\n#field-dkan-harvest-filters-values .description,\n#field-dkan-harvest-excludes-values .description,\n#field-dkan-harvest-overrides-values .description,\n#field-dkan-harvest-defaults-values .description {\n font-weight: normal; }\n\n#dkan-dataset-form-settings .help-block {\n margin: 5px 20px 10px; }\n\n#views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page .form-group {\n display: inline-block; }\n #views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page .form-group input {\n width: 100px; }\n\n.view-dkan-harvest-dashboard .view-header {\n margin-bottom: 10px; }\n\n.pane-dkan-harvest-harvest-source-summary .summary-details {\n border-color: #ddd;\n border-width: 0 1px 1px 1px;\n border-style: solid;\n margin-top: 15px; }\n .pane-dkan-harvest-harvest-source-summary .summary-details div {\n padding: 4px 5px; }\n\n.pane-dkan-harvest-harvest-source-summary h6 {\n background: #eee;\n color: #222;\n padding: 3px 5px;\n margin: 0;\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd; }\n\ndiv.datasets-count-preview span {\n font-weight: bold; }\n\n#harvest_source_summary_uri {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; }\n\n.node-type-harvest-source .ctools-collapsible-container .ctools-collapsible-handle {\n border-radius: 0;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px; }\n\n.node-type-harvest-source .ctools-collapsible-container .ctools-collapsible-handle:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px; }\n\n.node-type-harvest-source .ctools-collapsible-container.ctools-collapsed .ctools-collapsible-handle:after {\n content: \"\\f078\"; }\n\n.node-type-harvest-source .ctools-collapsible-content .harvest-error-log-table {\n margin: 0;\n margin-bottom: 20px; }\n\n@media all and (min-width: 768px) {\n #harvest-source-node-form .double-field-elements input.form-text {\n width: 50%;\n display: inline-block; } }\n\n#modalContent .modal-header {\n background: #0A77BD; }\n #modalContent .modal-header h4 {\n color: #fff; }\n #modalContent .modal-header .close {\n color: #fff;\n text-shadow: 0 1px 0 #036;\n opacity: 1; }\n\n#modalContent .panels-add-content-modal {\n margin: 0;\n position: relative; }\n\n#modalContent .panels-section-column {\n margin-right: 1em;\n overflow: visible; }\n @media (max-width: 600px) {\n #modalContent .panels-section-column {\n width: 100%;\n float: none;\n margin-right: 0; } }\n\n#modalContent .panels-section-column-categories .btn, #modalContent .panels-section-column-categories .media-widget > a {\n border: 1px solid #ccc !important;\n margin: 3px; }\n\n.panels-add-content-modal .panels-section-column .inside {\n padding: 1em 0; }\n\n.panels-section-column .dkan-type-button {\n font-size: 1em;\n line-height: 1em; }\n .panels-section-column .dkan-type-button a {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border: 1px solid #eee;\n display: block;\n padding: 8px 10px;\n margin: 3px 0; }\n .panels-section-column .dkan-type-button a:focus, .panels-section-column .dkan-type-button a:hover {\n background: #eee;\n border-color: #ccc;\n text-decoration: none; }\n .panels-section-column .dkan-type-button a:before {\n font-family: \"FontAwesome\";\n font-size: 1.25em;\n margin-right: 5px; }\n\n#field-basic-table-table-und-0-tablefield {\n border: none;\n margin: 0;\n padding: 0; }\n #field-basic-table-table-und-0-tablefield fieldset {\n padding-top: 0; }\n\n.form-tablefield input.tablefield-rebuild {\n background-color: #0A77BD !important;\n border-color: #0A77BD; }\n .form-tablefield input.tablefield-rebuild:hover, .form-tablefield input.tablefield-rebuild:focus, .form-tablefield input.tablefield-rebuild.active {\n background-color: #23527c;\n border-color: #23527c; }\n\n.add-content-link-basic-file-icon-text-button:before {\n content: \"\\f0f6\"; }\n\n.add-content-link-custom-icon-text-button:before {\n content: \"\\f044\"; }\n\n.add-content-link-node-icon-text-button:before {\n content: \"\\f24d\"; }\n\n.add-content-link-image-icon-text-button:before {\n content: \"\\f1c5\"; }\n\n.add-content-link-map-icon-text-button:before {\n content: \"\\f278\"; }\n\n.add-content-link-quick-links-icon-text-button:before {\n content: \"\\f0c1\"; }\n\n.add-content-link-table-icon-text-button:before {\n content: \"\\f0ce\"; }\n\n.add-content-link-text-icon-text-button:before {\n content: \"\\f036\"; }\n\n.add-content-link-video-icon-text-button:before {\n content: \"\\f008\"; }\n\n.add-content-link-visualization-embed-icon-text-button:before {\n content: \"\\f200\"; }\n\n.add-content-link-spotlight-icon-text-button:before {\n content: \"\\f16a\"; }\n\n.add-content-link-panopoly-widgets-general-content-list-of-content-icon-text-button:before {\n content: \"\\f0ca\"; }\n\n.add-content-link-panopoly-widgets-general-content-piece-of-content-icon-text-button:before {\n content: \"\\f0ea\"; }\n\n.add-content-link-main-menu-icon-text-button:before {\n content: \"\\f0c9\"; }\n\n.add-content-link-dkan-plugins-button-link-icon-text-button:before {\n content: \"\\f0c1\"; }\n\nimg.thumbnail {\n width: 100px;\n height: auto; }\n\nimg.left {\n float: left;\n margin: 0 1em 1em 0; }\n\nimg.right {\n float: right;\n margin: 0 0 1em 1em; }\n\nimg.center {\n margin: 0 auto; }\n\n.container,\n.container-fluid,\n.row {\n overflow: visible; }\n\naside.col-sm-3 {\n padding-left: 0; }\n\nsection.col-sm-9 {\n padding-right: 0; }\n\n.region-content {\n padding: 15px 0; }\n\n.front .panel-dkan-front .container,\n.front .region-content {\n padding: 0; }\n\n.front .alert {\n margin: 10px 15px; }\n\n.breadcrumb,\n.alert,\n.tabs--primary,\n.page-header {\n margin: 0 0 15px; }\n\n#footer.footer {\n padding: 40px 0;\n margin: 0; }\n\n@media all and (max-width: 767px) {\n .container {\n padding-left: 15px;\n padding-right: 15px; } }\n\n.navigation-wrapper .container {\n overflow: visible; }\n .navigation-wrapper .container .navbar-collapse {\n overflow: visible; }\n\n.container > .navbar-header, .container > .navbar-collapse {\n margin-left: 10px;\n margin-right: 10px; }\n\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n padding: 0;\n vertical-align: top; }\n\n.navbar-header {\n position: relative;\n z-index: 3; }\n\n.navbar-default {\n background: transparent;\n border: none;\n margin: 0;\n overflow: visible !important;\n position: relative;\n z-index: 3; }\n .navbar-default .navbar-nav,\n .navbar-default .user-menu {\n margin: 0;\n overflow: visible;\n position: relative;\n z-index: 3; }\n .navbar-default .navbar-nav a.dropdown-toggle,\n .navbar-default .user-menu a.dropdown-toggle {\n color: #FFFFFF; }\n .navbar-default .navbar-nav .open > a,\n .navbar-default .navbar-nav li > a,\n .navbar-default .user-menu .open > a,\n .navbar-default .user-menu li > a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding: 15px; }\n .navbar-default .navbar-nav .open > a.dropdown-toggle:hover, .navbar-default .navbar-nav .open > a:active, .navbar-default .navbar-nav .open > a:hover, .navbar-default .navbar-nav .open > a:focus,\n .navbar-default .navbar-nav li > a.dropdown-toggle:hover,\n .navbar-default .navbar-nav li > a:active,\n .navbar-default .navbar-nav li > a:hover,\n .navbar-default .navbar-nav li > a:focus,\n .navbar-default .user-menu .open > a.dropdown-toggle:hover,\n .navbar-default .user-menu .open > a:active,\n .navbar-default .user-menu .open > a:hover,\n .navbar-default .user-menu .open > a:focus,\n .navbar-default .user-menu li > a.dropdown-toggle:hover,\n .navbar-default .user-menu li > a:active,\n .navbar-default .user-menu li > a:hover,\n .navbar-default .user-menu li > a:focus {\n color: #FFFFFF;\n text-decoration: none; }\n .navbar-default .navbar-nav .open > a.dropdown-toggle:focus, .navbar-default .navbar-nav .open > a.dropdown-toggle:active,\n .navbar-default .navbar-nav li > a.dropdown-toggle:focus,\n .navbar-default .navbar-nav li > a.dropdown-toggle:active,\n .navbar-default .user-menu .open > a.dropdown-toggle:focus,\n .navbar-default .user-menu .open > a.dropdown-toggle:active,\n .navbar-default .user-menu li > a.dropdown-toggle:focus,\n .navbar-default .user-menu li > a.dropdown-toggle:active {\n background-color: transparent; }\n .navbar-default .navbar-nav .dropdown-menu,\n .navbar-default .user-menu .dropdown-menu {\n border: none;\n padding: 0; }\n .navbar-default .navbar-nav .dropdown-menu li,\n .navbar-default .user-menu .dropdown-menu li {\n display: block; }\n .navbar-default .navbar-nav .dropdown-menu li a,\n .navbar-default .user-menu .dropdown-menu li a {\n display: block;\n color: #ffffff; }\n .navbar-default .navbar-nav .dropdown-menu li.last a:hover,\n .navbar-default .user-menu .dropdown-menu li.last a:hover {\n border-radius: 0 0 4px 4px; }\n .navbar-default .navbar-toggle {\n border-color: #ffffff; }\n .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {\n background-color: rgba(0, 0, 0, 0.25); }\n .navbar-default .navbar-toggle .icon-bar {\n background-color: #ffffff; }\n @media all and (min-width: 768px) {\n .navbar-default .user-menu {\n float: right; }\n .navbar-default .navbar-nav li,\n .navbar-default .user-menu li {\n display: inline-block; }\n .navbar-default .navbar-nav li a,\n .navbar-default .user-menu li a {\n display: inline-block; }\n .navbar-default .navbar-nav li .dropdown-menu li,\n .navbar-default .navbar-nav li .dropdown-menu li a,\n .navbar-default .user-menu li .dropdown-menu li,\n .navbar-default .user-menu li .dropdown-menu li a {\n display: block; } }\n .navbar-default .navbar-nav.secondary li {\n float: none; }\n .navbar-default .navbar-nav.secondary li a {\n font-size: .7em;\n line-height: 1.5em;\n padding: 4px; }\n\n@media all and (max-width: 767px) {\n .nav > li {\n display: inline; }\n .navbar-default .navbar-nav .open .dropdown-menu,\n .navbar-default .navbar-nav .dropdown-menu {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n border: none;\n display: block;\n width: 100%;\n position: relative; }\n .navbar-default .navbar-nav .open .dropdown-menu li > a,\n .navbar-default .navbar-nav .dropdown-menu li > a {\n color: #ffffff;\n display: block;\n padding: 15px 10px 15px 35px; }\n .navbar-default .navbar-nav .open .dropdown-menu li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu li > a:focus, .navbar-default .navbar-nav .open .dropdown-menu li > a:active,\n .navbar-default .navbar-nav .dropdown-menu li > a:hover,\n .navbar-default .navbar-nav .dropdown-menu li > a:focus,\n .navbar-default .navbar-nav .dropdown-menu li > a:active {\n color: #ffffff;\n clear: both; } }\n\n#block-dkan-sitewide-dkan-sitewide-user-menu .links a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding: 15px; }\n #block-dkan-sitewide-dkan-sitewide-user-menu .links a:hover, #block-dkan-sitewide-dkan-sitewide-user-menu .links a:focus {\n color: #FFFFFF;\n text-decoration: none; }\n\n#block-dkan-sitewide-dkan-sitewide-user-menu img {\n margin: 10px; }\n\n@media all and (min-width: 768px) {\n #block-dkan-sitewide-dkan-sitewide-user-menu {\n float: right; }\n #block-dkan-sitewide-dkan-sitewide-user-menu .links a {\n display: inline-block; } }\n\n.navbar .nav > li > a {\n text-shadow: none; }\n\n@media (min-width: 768px) {\n .navbar {\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n .container > .navbar-header {\n margin-left: 0; }\n #nav-wrapper .navbar-default .logo {\n padding: 10px 10px 0 0; } }\n\n.tabs--primary {\n margin: 10px 0; }\n .tabs--primary li {\n margin: 1px; }\n .tabs--primary li a {\n padding: 6px 15px; }\n .tabs--primary li a:hover {\n color: #fff; }\n .tabs--primary li a.active {\n color: #fff; }\n\n.front .tabs--primary {\n display: none; }\n\n.tabs--primary .nav-pills li a.active,\n.tabs--primary .nav-pills li.active a:hover,\n.tabs--primary .nav-pills li.active a:focus {\n color: #ffffff; }\n\n.form-actions #edit-submit {\n background: #5cb85c;\n border-color: #5cb85c; }\n\n.form-actions #edit-submit:hover,\n.form-actions #edit-submit:focus,\n.form-actions #edit-submit:active {\n background: #449d44;\n border-color: #449d44;\n color: #fff; }\n\na.embed-link {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n color: #fff;\n display: inline-block;\n padding: 5px 15px 5px 35px;\n position: relative;\n margin: 1em 0;\n text-decoration: none; }\n\na.embed-link:hover,\na.embed-link:focus,\na.embed-link:active {\n color: #fff;\n text-decoration: none; }\n\na.embed-link:before {\n content: '\\f121';\n color: #fff;\n font-family: \"FontAwesome\";\n font-size: 1.3em;\n position: absolute;\n top: 5px;\n left: 10px; }\n\ntextarea.embed-code {\n width: 100%;\n margin-bottom: 1em; }\n\nul.action-links {\n margin: 1em 15px; }\n ul.action-links li {\n float: none;\n display: inline-block; }\n\n.btn:active, .media-widget > a:active,\n.btn.active,\n.media-widget > a.active {\n -webkit-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n -moz-box-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n box-shadow: compact(none, false, false, false, false, false, false, false, false, false); }\n\n.radix-layouts-sidebar ul.menu > li > ul.menu {\n margin-left: 0; }\n .radix-layouts-sidebar ul.menu > li > ul.menu li a {\n padding: 10px 15px 10px 30px; }\n\n.node-type-dataset .field-name-field-tags {\n margin: 1em 0; }\n\n.node-type-dataset h4 {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.node-type-dataset .field-name-field-related-content .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-tags .field-label,\n.node-type-dataset .field-name-field-topic .field-label,\n.node-type-dataset .field-name-field-preview-thumbail .field-label {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n/** UI Tabs **/\n.node-resource-form .horizontal-tabs {\n border: none; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list {\n background-color: transparent;\n border: 0;\n padding-top: 10px; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected {\n border: 0;\n background-color: transparent;\n min-width: 4em; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li a:hover,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected a:hover {\n background: transparent; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li #active-horizontal-tab,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected #active-horizontal-tab {\n background: url(../images/sprite-ckan-icons.png) no-repeat -193px 2px;\n display: block;\n text-indent: -9999px;\n width: 16px;\n height: 16px;\n left: 50%;\n clip: auto; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button-1 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.horizontal-tab-button-2 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected.horizontal-tab-button-1 .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected.horizontal-tab-button-2 .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -160px 0; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li .summary,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -144px 0;\n width: 16px;\n height: 16px;\n position: absolute;\n top: 5px;\n left: 10px; }\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li a,\n .node-resource-form .horizontal-tabs ul.horizontal-tabs-list li.selected a {\n font-size: 1.1em;\n position: relative;\n padding: 5px 15px 5px 30px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border: 1px solid #ddd;\n padding: 8px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_upload legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_api legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_file legend.panel-heading {\n display: none; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_upload .field-widget-recline-widget legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_api .field-widget-recline-widget legend.panel-heading,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes fieldset.htab_link_file .field-widget-recline-widget legend.panel-heading {\n border: none;\n border-bottom: 1px solid #ddd;\n display: block;\n background: transparent;\n color: #555555;\n padding: 5px 0; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-type-checkbox label,\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-type-select label {\n display: block;\n line-height: 36px;\n padding-top: 2px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .filefield-source-remotefile input {\n margin-right: 0; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .filefield-source-remotefile input.btn {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0;\n margin-left: -1px; }\n .node-resource-form .horizontal-tabs .horizontal-tabs-panes .form-item-field-upload-und-0-embed {\n clear: both; }\n\n.page-node-add-resource .field-group-htabs.group-data div.horizontal-tabs {\n border: 0; }\n\n.page-node-add-resource .form-item {\n margin: 0; }\n\n#action-info {\n color: #d9534f;\n margin: 1em 0; }\n #action-info:before {\n color: #d9534f;\n content: \"\\f071\";\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n font-style: normal;\n margin-right: 5px;\n vertical-align: middle; }\n\n.field-name-body a {\n overflow-wrap: break-word; }\n\n.field-name-body ul {\n list-style-type: disc;\n margin: 10px 20px; }\n .field-name-body ul li {\n margin: 6px 10px; }\n\n.field-group-table-description {\n color: #555555;\n display: block;\n padding: 8px 10px 8px 40px;\n position: relative; }\n .field-group-table-description .icon-info-sign:before {\n color: #777777;\n content: \"\\f05a\";\n font-family: \"FontAwesome\";\n font-size: 2.5em;\n font-style: normal;\n height: 30px;\n left: 0;\n margin: 10px 15px 0 0;\n padding: 6px 0;\n position: absolute;\n top: -6px;\n width: 30px; }\n\n.group-owner-message {\n margin-bottom: 20px; }\n\n.field-type-text-with-summary {\n padding: 0; }\n\n.field-name-field-additional-info {\n margin-top: 2em; }\n\n.field-name-field-related-content .field-item a {\n border: 1px solid #ddd;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px; }\n .field-name-field-related-content .field-item a:hover {\n color: #ffffff;\n text-decoration: none;\n background: #0A77BD; }\n\n.field-name-field-related-content .field-item:first-of-type a {\n -webkit-border-radius: 4px 4px 0px 0px;\n -moz-border-radius: 4px 4px 0px 0px;\n -ms-border-radius: 4px 4px 0px 0px;\n -o-border-radius: 4px 4px 0px 0px;\n border-radius: 4px 4px 0px 0px; }\n\n.field-name-field-related-content .field-item:last-of-type a {\n -webkit-border-radius: 0px 0px 4px 4px;\n -moz-border-radius: 0px 0px 4px 4px;\n -ms-border-radius: 0px 0px 4px 4px;\n -o-border-radius: 0px 0px 4px 4px;\n border-radius: 0px 0px 4px 4px; }\n\n.node-teaser {\n margin-bottom: 2em; }\n .node-teaser .blog-image div {\n background-size: cover !important;\n overflow: hidden;\n position: relative;\n height: 200px;\n margin-bottom: 1em; }\n @media all and (max-width: 767px) {\n .node-teaser .blog-image div {\n background-position: 50% 50%; } }\n .node-teaser h2.blog-title {\n font-size: 1.5em;\n margin-top: 0; }\n .node-teaser .submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0;\n font-size: .8em; }\n .node-teaser .fa-clock-o {\n padding-left: 1em; }\n .node-teaser .links {\n margin: -.5em 0 2.5em 0; }\n .node-teaser .links li {\n display: inline; }\n .node-teaser .links li a {\n font-size: .8em;\n padding: 1px 8px; }\n .node-teaser.no-image {\n padding-left: 15px;\n padding-right: 15px; }\n\n.node-blog .submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0; }\n\n.node-blog .blog-image {\n margin: 1em 0; }\n .node-blog .blog-image img {\n max-width: 100%;\n height: auto; }\n\n.node-blog .fa-clock-o {\n padding-left: 1em; }\n\n.node-blog .field-name-field-tags {\n margin: 1em 0; }\n\n.node-blog .links li {\n display: inline; }\n .node-blog .links li a {\n display: inline-block;\n margin: 1em 0; }\n\n.node-blog .field-name-field-tags .field-label {\n display: none; }\n\n@media all and (min-width: 768px) {\n .node-blog h1 {\n width: 47%;\n float: left; }\n .node-blog .submitted {\n width: 47%;\n float: left;\n clear: left; }\n .node-blog .blog-image {\n width: 47%;\n float: right;\n margin: 0 0 1em 1.5em; }\n .node-blog .field-type-text-with-summary {\n clear: left; }\n .node-blog .no-image h1,\n .node-blog .no-image .submitted {\n width: 100%; }\n .node-blog .no-image .field-type-text-with-summary {\n clear: both; } }\n\n.main {\n padding-top: 20px;\n padding-bottom: 20px; }\n\n.front .main {\n padding: 0; }\n\n.page-admin .main {\n padding: 20px 15px; }\n\n.page-admin .region-content {\n margin: 0; }\n\n.page-admin .breadcrumb,\n.page-admin .alert,\n.page-admin .tabs--primary,\n.page-admin .page-header {\n margin: 0 0 15px; }\n\n.panel-body {\n overflow: visible; }\n\n.pane-content .field-name-body {\n line-height: 2em; }\n\n.main .pane-custom,\n.main .pane-node-field-image,\n.main .pane-fieldable-panels-pane {\n margin-bottom: 3em; }\n\nh2.pane-title {\n border-bottom: 1px solid #ddd;\n padding-bottom: 10px; }\n\n#panels-choose-layout .form-type-radio input,\n.panels-choose-layout .form-type-radio input {\n width: 15px; }\n\n.panel-region-sidebar .radix-layouts-sidebar h2.pane-title {\n -webkit-border-radius: 5px 5px 0 0;\n -moz-border-radius: 5px 5px 0 0;\n -ms-border-radius: 5px 5px 0 0;\n -o-border-radius: 5px 5px 0 0;\n border-radius: 5px 5px 0 0;\n border: 1px solid;\n border-bottom: none;\n font-size: 16px;\n line-height: 1.3;\n margin: 0;\n padding: 7px 10px;\n font-weight: normal; }\n\n.panel-region-sidebar .radix-layouts-sidebar .pane-block {\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n -ms-border-radius: 5px;\n -o-border-radius: 5px;\n border-radius: 5px;\n border: 1px solid #ddd;\n margin-bottom: 20px;\n padding: 0px; }\n .panel-region-sidebar .radix-layouts-sidebar .pane-block .pane-content {\n background-color: transparent;\n margin: 0;\n padding: 15px; }\n .panel-region-sidebar .radix-layouts-sidebar .pane-block.pane-dkan-sitewide-dkan-sitewide-social .pane-content,\n .panel-region-sidebar .radix-layouts-sidebar .pane-block.pane-dkan-sitewide-dkan-sitewide-data-extent .pane-content {\n padding: 0; }\n\n.page-user .radix-layouts-content .pane-content {\n padding: 0; }\n .page-user .radix-layouts-content .pane-content .profile {\n margin-top: 0; }\n\n.radix-layouts-content .pane-title {\n font-size: 36px;\n line-height: 42px;\n margin: 0 0 15px 0; }\n\n.radix-layouts-content .pane-content {\n margin-bottom: 1em; }\n\n.radix-layouts-content .pane-node-field-topic .pane-content {\n padding: 0; }\n\n.radix-layouts-content .pane-page-breadcrumb .breadcrumb {\n display: block;\n margin: 0 0 15px 0; }\n\n@media (max-width: 991px) {\n .node-type-group .radix-layouts-content .pane-title {\n margin-top: 2em; } }\n\n.node-type-group .radix-layouts-content .pane-content {\n padding: 20px 0 0;\n margin-bottom: 0; }\n\n.panels-dnd .panel-full-width .panel-top,\n.panels-dnd .panel-full-width .panel-hero,\n.panels-dnd .panel-dkan-front .panel-top,\n.panels-dnd .panel-dkan-front .panel-hero {\n background-image: none !important;\n background-color: transparent !important;\n overflow: visible; }\n .panels-dnd .panel-full-width .panel-top .tint,\n .panels-dnd .panel-full-width .panel-hero .tint,\n .panels-dnd .panel-dkan-front .panel-top .tint,\n .panels-dnd .panel-dkan-front .panel-hero .tint {\n display: none; }\n\n.page-manager-wrapper .panel-region .pane-title {\n background-image: none;\n border: none;\n font-size: 1em;\n line-height: normal; }\n\n.page-manager-wrapper .panel-region .panel-pane-collapsible .pane-content {\n padding: 10px 15px; }\n\n#panelizer-edit-content-form input {\n margin-right: 1em; }\n\n.pane-dkan-sitewide-dkan-demo-front .pane-title,\n.pane-views-popular-tags-block .pane-title,\n.pane-dkan-sitewide-dkan-add-front .pane-title {\n display: none; }\n\n.panel-full-width .inside .pane-dkan-data-stories .view,\n.panel-dkan-front .inside .pane-dkan-data-stories .view {\n margin-left: -15px;\n margin-right: -15px; }\n\n.panel-full-width .pane-content,\n.panel-dkan-front .pane-content {\n margin: 25px 0; }\n\n.panel-full-width .panel-top,\n.panel-full-width .panel-hero,\n.panel-dkan-front .panel-top,\n.panel-dkan-front .panel-hero {\n background-position: 50% 50%;\n background-size: cover !important;\n background-repeat: no-repeat;\n position: relative;\n z-index: 0;\n margin-bottom: 15px;\n overflow: hidden; }\n .panel-full-width .panel-top .tint,\n .panel-full-width .panel-hero .tint,\n .panel-dkan-front .panel-top .tint,\n .panel-dkan-front .panel-hero .tint {\n position: absolute;\n height: 900px;\n width: 100%;\n z-index: -1; }\n .panel-full-width .panel-top h2, .panel-full-width .panel-top h3, .panel-full-width .panel-top h4,\n .panel-full-width .panel-hero h2,\n .panel-full-width .panel-hero h3,\n .panel-full-width .panel-hero h4,\n .panel-dkan-front .panel-top h2,\n .panel-dkan-front .panel-top h3,\n .panel-dkan-front .panel-top h4,\n .panel-dkan-front .panel-hero h2,\n .panel-dkan-front .panel-hero h3,\n .panel-dkan-front .panel-hero h4 {\n color: #fff; }\n .panel-full-width .panel-top h2.pane-title,\n .panel-full-width .panel-hero h2.pane-title,\n .panel-dkan-front .panel-top h2.pane-title,\n .panel-dkan-front .panel-hero h2.pane-title {\n border-bottom: none;\n padding-bottom: 0; }\n .panel-full-width .panel-top .pane-content,\n .panel-full-width .panel-hero .pane-content,\n .panel-dkan-front .panel-top .pane-content,\n .panel-dkan-front .panel-hero .pane-content {\n color: #fff; }\n .panel-full-width .panel-top a,\n .panel-full-width .panel-hero a,\n .panel-dkan-front .panel-top a,\n .panel-dkan-front .panel-hero a {\n color: #fff; }\n .panel-full-width .panel-top img.demo,\n .panel-full-width .panel-hero img.demo,\n .panel-dkan-front .panel-top img.demo,\n .panel-dkan-front .panel-hero img.demo {\n height: auto;\n width: 100%; }\n @media (min-width: 992px) {\n .panel-full-width .panel-top .pane-node-body,\n .panel-full-width .panel-hero .pane-node-body,\n .panel-dkan-front .panel-top .pane-node-body,\n .panel-dkan-front .panel-hero .pane-node-body {\n padding-top: 15%; } }\n\n@media (max-width: 768px) {\n .panel-dkan-front .panel-hero .panel-col-first,\n .panel-dkan-front .panel-hero .panel-col-second,\n .panel-dkan-front .panel-hero .panel-col-third,\n .panel-dkan-front .panel-triplet .panel-col-first,\n .panel-dkan-front .panel-triplet .panel-col-second,\n .panel-dkan-front .panel-triplet .panel-col-third,\n .panel-dkan-front .panel-top .panel-col-first,\n .panel-dkan-front .panel-top .panel-col-second,\n .panel-dkan-front .panel-top .panel-col-third,\n .panel-dkan-front .panel-bottom .panel-col-first,\n .panel-dkan-front .panel-bottom .panel-col-second,\n .panel-dkan-front .panel-bottom .panel-col-third,\n .panel-full-width .panel-hero .panel-col-first,\n .panel-full-width .panel-hero .panel-col-second,\n .panel-full-width .panel-hero .panel-col-third,\n .panel-full-width .panel-triplet .panel-col-first,\n .panel-full-width .panel-triplet .panel-col-second,\n .panel-full-width .panel-triplet .panel-col-third,\n .panel-full-width .panel-top .panel-col-first,\n .panel-full-width .panel-top .panel-col-second,\n .panel-full-width .panel-top .panel-col-third,\n .panel-full-width .panel-bottom .panel-col-first,\n .panel-full-width .panel-bottom .panel-col-second,\n .panel-full-width .panel-bottom .panel-col-third {\n float: none;\n width: 100%; } }\n\n.field-name-field-basic-image-image img.panopoly-image-full {\n max-width: 100%;\n width: initial !important;\n height: auto;\n margin: 1em auto .5em;\n display: block; }\n\n.recline-pager .pagination li {\n vertical-align: middle; }\n .recline-pager .pagination li a {\n line-height: 1em;\n padding: 0 10px; }\n .recline-pager .pagination li a.btn, .recline-pager .pagination li .media-widget > a {\n line-height: 32px; }\n\n.recline-pager .pagination input {\n height: 20px;\n font-size: .8em; }\n\n#recline-embeded .data-explorer-help {\n display: none; }\n\n.data-explorer-help {\n background: #eee;\n margin: 1em 0;\n border-radius: 4px;\n padding: 8px 15px; }\n\n.recline-data-explorer .form-control {\n border-color: #ccc; }\n\n.recline-data-explorer .btn, .recline-data-explorer .media-widget > a {\n border: 1px solid #ccc;\n font-size: 14px;\n padding: 0px 12px;\n line-height: 32px; }\n\n.dropdown-menu.slick-contextmenu {\n background: #fff; }\n .dropdown-menu.slick-contextmenu li {\n padding-left: 5px;\n padding-right: 5px; }\n\n.recline-filter-editor fieldset {\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n -o-border-radius: 4px;\n border-radius: 4px;\n border-color: #ccc;\n padding: 8px;\n margin: 10px 0; }\n\n.recline-filter-editor input {\n width: auto; }\n\n#recline-embeded .recline-data-explorer .header {\n margin-bottom: 8px; }\n #recline-embeded .recline-data-explorer .header .navigation {\n display: none !important; }\n\n@media all and (max-width: 991px) {\n .recline-query-editor {\n border: none;\n margin: .5em 0;\n padding: 0; } }\n\n@media all and (max-width: 767px) {\n .recline-data-explorer .query-editor-here {\n clear: both;\n display: block; }\n .recline-data-explorer .query-editor-here .recline-query-editor,\n .recline-data-explorer .query-editor-here .form-group {\n float: none;\n display: inline-block; }\n .recline-data-explorer .query-editor-here button.btn {\n float: none;\n display: inline-block;\n max-width: 50px; }\n .recline-data-explorer .data-view-sidebar {\n float: none;\n margin-left: 0;\n width: auto; } }\n\n@media all and (max-width: 660px) {\n .recline-pager {\n float: none;\n display: block;\n margin-left: 0;\n clear: both; }\n .recline-data-explorer .header .menu-right {\n padding-top: 8px; } }\n\n@media all and (max-width: 767px) {\n aside[class|='col'],\n section[class|='col'] {\n padding: 0; }\n .container {\n width: 100%; } }\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .views-widget-filter-search_api_views_fulltext {\n max-width: 320px; }\n\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n position: relative; }\n #dkan-sitewide-dataset-search-form form,\n #dkan-sitewide-dataset-search-form--2 form {\n display: block;\n margin: 8px 0;\n position: relative;\n width: 100%; }\n #dkan-sitewide-dataset-search-form input.form-text,\n #dkan-sitewide-dataset-search-form--2 input.form-text {\n padding-right: 30px; }\n #dkan-sitewide-dataset-search-form button[type=\"submit\"],\n #dkan-sitewide-dataset-search-form input[type=\"submit\"],\n #dkan-sitewide-dataset-search-form--2 button[type=\"submit\"],\n #dkan-sitewide-dataset-search-form--2 input[type=\"submit\"] {\n background: none !important;\n border: none;\n content: \"\\f002\";\n color: #555555;\n display: inline-block;\n font-size: 1.3em;\n font-family: \"FontAwesome\";\n margin: 0;\n padding: 0;\n position: absolute;\n right: 10px;\n width: 25px;\n top: 2px; }\n\n#block-dkan-sitewide-dkan-sitewide-search-bar {\n clear: both; }\n @media all and (min-width: 768px) {\n #block-dkan-sitewide-dkan-sitewide-search-bar {\n position: absolute;\n top: 10px;\n right: 15px;\n width: 172px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar form {\n width: 172px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar input.form-control {\n width: 170px;\n height: 36px;\n margin: 0; } }\n #block-dkan-sitewide-dkan-sitewide-search-bar form {\n display: block;\n margin: 8px 0;\n position: relative;\n width: 100%; }\n #block-dkan-sitewide-dkan-sitewide-search-bar input.form-text {\n padding-right: 30px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar button[type=\"submit\"],\n #block-dkan-sitewide-dkan-sitewide-search-bar input[type=\"submit\"] {\n background: none !important;\n border: none;\n content: \"\\f002\";\n color: #555555;\n display: inline-block;\n font-size: 1.3em;\n font-family: \"FontAwesome\";\n margin: 0;\n padding: 0;\n position: absolute;\n right: 10px;\n width: 25px;\n top: 2px; }\n #block-dkan-sitewide-dkan-sitewide-search-bar .views-exposed-form .form-submit {\n margin: 22px 0 0;\n text-shadow: none; }\n\n.facetapi-terms span[class*=font-icon-select]:before,\n.icon-dkan.facet-icon:before {\n font-family: 'DKAN-Topics';\n font-size: 24px;\n padding-right: .3em;\n vertical-align: middle; }\n\n.node-search-result .icon-dkan.facet-icon:before {\n font-size: 42px;\n margin-top: 0.7em;\n display: block; }\n\n.node-search-result .resource-list li {\n display: inline-block; }\n\n.node-search-result .icon-container {\n text-align: center; }\n\n.search-result ul.resource-list {\n margin-top: 0.9em; }\n .search-result ul.resource-list li {\n display: inline-block; }\n .search-result ul.resource-list li a, .search-result ul.resource-list li:first-child {\n margin-left: 0px; }\n\n.search-result .dataset-list {\n list-style: none;\n margin: 0;\n padding: 0; }\n .search-result .dataset-list li {\n list-style: none;\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em; }\n .search-result .dataset-list li:before {\n content: \"\\e97e\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em; }\n\n.search-result .group-membership {\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em; }\n .search-result .group-membership:before {\n content: \"\\e981\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em; }\n\n.search-result.search-result-group .group-membership {\n display: none; }\n\n.search-result p {\n margin-bottom: 0px; }\n\n.node-search-result h2.node-title {\n margin: 1.5em 0 .5em 0; }\n\nbody {\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 16px;\n line-height: 1.35em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\nbody.modal-open {\n overflow: visible !important; }\n\n.branding {\n position: relative; }\n .branding .logo {\n margin: 20px 20px 15px 0; }\n\n@media (max-width: 768px) {\n .logo img {\n max-width: 100%; } }\n\n.site-name {\n display: block;\n font-size: 2em;\n line-height: 1.15em;\n margin: 50px 20px 0 0; }\n @media (max-width: 460px) {\n .site-name {\n clear: left;\n float: none;\n margin: 10px 20px 5px 0; } }\n .site-name:hover {\n text-decoration: none; }\n\n.site-slogan {\n margin-bottom: 20px; }\n\nh1 {\n font-size: 36px;\n line-height: 42px;\n margin-bottom: 15px; }\n\nh1, h2, h3, h4 {\n color: #333333;\n font-weight: 300; }\n\nh3.media-heading {\n margin: .5em 0; }\n\nh4 {\n margin-top: 2em;\n margin-bottom: .5em; }\n\na {\n color: #0A77BD; }\n a:hover {\n color: #002245; }\n\np,\np:last-child {\n margin: 0 0 1.25em 0; }\n\n.breadcrumb {\n background: none;\n border: none;\n font-size: 1em;\n list-style: none;\n padding: 0;\n position: relative; }\n .breadcrumb li {\n float: none; }\n .breadcrumb li a span {\n display: none; }\n .breadcrumb li.home-link a {\n font-size: 1.3em; }\n .breadcrumb li.home-link a i {\n display: block; }\n\n.alert {\n border: none;\n padding: 15px 35px;\n position: relative; }\n .alert .close {\n line-height: 18px;\n position: absolute;\n right: 10px;\n top: 5px; }\n .alert.alert-warning {\n background: #FFE285; }\n .alert.alert-completed {\n background: #dff0d8;\n color: #3c763d; }\n .alert:before {\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n position: absolute;\n top: 15px;\n left: 10px; }\n .alert.alert-danger:before {\n content: '\\f06a';\n color: #d9534f; }\n .alert.alert-warning:before {\n content: '\\f05a';\n color: #8a6d3b; }\n .alert.alert-completed:before, .alert.alert-success:before {\n content: '\\f058';\n color: #5cb85c; }\n\n.page-admin .alert {\n margin: 10px 0; }\n\ntable,\ntable.group_additional {\n border-collapse: collapse;\n margin: 1em 0;\n width: 100%; }\n table thead > tr > th,\n table.group_additional thead > tr > th {\n background-color: #e7e7e7;\n border: 1px solid #ddd !important;\n padding: 4px 8px;\n font-weight: bold; }\n table tbody th,\n table td,\n table.group_additional tbody th,\n table.group_additional td {\n border: 1px solid #ddd;\n padding: 4px 8px;\n vertical-align: top; }\n table tr:hover,\n table.group_additional tr:hover {\n background: #FFFEEE; }\n\n.table-responsive {\n overflow: visible; }\n\n@media screen and (max-width: 1024px) {\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: normal; } }\n\n.field-name-field-additional-info .field-label {\n margin-bottom: 1em;\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em; }\n\n.group_additional,\n.field-name-field-additional-info table,\n.field-name-field-additional-info .table-responsive {\n margin: 0; }\n .group_additional td,\n .group_additional th,\n .field-name-field-additional-info table td,\n .field-name-field-additional-info table th,\n .field-name-field-additional-info .table-responsive td,\n .field-name-field-additional-info .table-responsive th {\n white-space: normal;\n width: auto; }\n .group_additional td:nth-of-type(2n),\n .field-name-field-additional-info table td:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive td:nth-of-type(2n) {\n white-space: pre;\n /* CSS 2.0 */\n white-space: pre-wrap;\n /* CSS 2.1 */\n white-space: pre-line;\n /* CSS 3.0 */\n white-space: -pre-wrap;\n /* Opera 4-6 */\n white-space: -o-pre-wrap;\n /* Opera 7 */\n white-space: -moz-pre-wrap;\n /* Mozilla */\n white-space: -hp-pre-wrap;\n /* HP Printers */\n word-wrap: break-word;\n /* IE 5+ */\n word-break: break-word; }\n @media all and (min-width: 768px) {\n .group_additional .form-item th:nth-of-type(1n),\n .group_additional .form-item td:nth-of-type(1n),\n .group_additional .form-item th:nth-of-type(4n),\n .group_additional .form-item td:nth-of-type(4n),\n .field-name-field-additional-info table .form-item th:nth-of-type(1n),\n .field-name-field-additional-info table .form-item td:nth-of-type(1n),\n .field-name-field-additional-info table .form-item th:nth-of-type(4n),\n .field-name-field-additional-info table .form-item td:nth-of-type(4n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(1n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(1n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(4n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(4n) {\n width: 5%;\n border-right: 1px solid #ddd; }\n .group_additional .form-item th:nth-of-type(2n),\n .group_additional .form-item td:nth-of-type(2n),\n .field-name-field-additional-info table .form-item th:nth-of-type(2n),\n .field-name-field-additional-info table .form-item td:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(2n),\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(2n) {\n width: 90%; }\n .group_additional .form-item th:nth-of-type(2n) .form-control,\n .group_additional .form-item td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table .form-item th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table .form-item td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info .table-responsive .form-item th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info .table-responsive .form-item td:nth-of-type(2n) .form-control {\n min-width: 40%; } }\n\ntable.group_additional,\n.field-name-field-additional-info table {\n margin-top: 0; }\n table.group_additional th,\n table.group_additional td,\n table.group_additional th:nth-of-type(1n),\n table.group_additional td:nth-of-type(1n),\n table.group_additional th:nth-of-type(2n),\n table.group_additional td:nth-of-type(2n),\n .field-name-field-additional-info table th,\n .field-name-field-additional-info table td,\n .field-name-field-additional-info table th:nth-of-type(1n),\n .field-name-field-additional-info table td:nth-of-type(1n),\n .field-name-field-additional-info table th:nth-of-type(2n),\n .field-name-field-additional-info table td:nth-of-type(2n) {\n width: auto; }\n table.group_additional th .form-control,\n table.group_additional td .form-control,\n table.group_additional th:nth-of-type(1n) .form-control,\n table.group_additional td:nth-of-type(1n) .form-control,\n table.group_additional th:nth-of-type(2n) .form-control,\n table.group_additional td:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table th .form-control,\n .field-name-field-additional-info table td .form-control,\n .field-name-field-additional-info table th:nth-of-type(1n) .form-control,\n .field-name-field-additional-info table td:nth-of-type(1n) .form-control,\n .field-name-field-additional-info table th:nth-of-type(2n) .form-control,\n .field-name-field-additional-info table td:nth-of-type(2n) .form-control {\n display: inline-block;\n width: auto;\n vertical-align: top; }\n\n.table > thead:first-child > tr:first-child > th,\ntable thead:first-child tr:first-child th {\n border: 1px solid #ddd; }\n\n.table-bordered > thead > tr > th, .calendar-calendar table.mini > thead > tr > th,\ntable thead > tr > th {\n background-color: #e7e7e7;\n border: 1px solid #ddd;\n padding: 4px 8px; }\n\n.table-striped > tbody > tr:nth-child(odd) {\n background-color: #f9f9f9; }\n\n.table tbody tr:hover td,\n.table tbody tr:hover th,\n.table-striped > tbody > tr:nth-child(odd):hover {\n background-color: #FFFEEE; }\n\ndl {\n margin: 0;\n padding: 0;\n clear: both;\n overflow: hidden; }\n\ndt {\n clear: both;\n margin: 0;\n padding: 8px 5px;\n float: left;\n width: 28%; }\n\ndd {\n margin: 0;\n padding: 8px 5px;\n float: right;\n width: 72%; }\n\ndt,\ndd {\n border-top: 1px solid #ddd; }\n\n.item-list .pagination li:first-child > span,\n.item-list .pagination li:first-child > a {\n -webkit-border-radius: 4px 0 0 4px;\n -moz-border-radius: 4px 0 0 4px;\n -ms-border-radius: 4px 0 0 4px;\n -o-border-radius: 4px 0 0 4px;\n border-radius: 4px 0 0 4px; }\n\n.item-list .pagination li:last-child > span,\n.item-list .pagination li:last-child > a {\n -webkit-border-radius: 0 4px 4px 0;\n -moz-border-radius: 0 4px 4px 0;\n -ms-border-radius: 0 4px 4px 0;\n -o-border-radius: 0 4px 4px 0;\n border-radius: 0 4px 4px 0; }\n\n.radix-layouts-sidebar .item-list ul,\n.nav-simple {\n margin: 0;\n list-style: none;\n padding: 0; }\n .radix-layouts-sidebar .item-list ul li,\n .nav-simple li {\n margin: 0;\n line-height: 1.1666666666666667em;\n padding: 0;\n border-bottom: 1px dotted #CCC;\n position: relative; }\n .radix-layouts-sidebar .item-list ul li a,\n .nav-simple li a {\n display: block;\n margin: 0; }\n .radix-layouts-sidebar .item-list ul li a:hover,\n .nav-simple li a:hover {\n background: #FFFEEE; }\n .radix-layouts-sidebar .item-list ul li.last,\n .nav-simple li.last {\n border-bottom: none; }\n\nimg {\n max-width: 100%;\n height: auto; }\n\n.thumbnail {\n padding: 0;\n margin: 0;\n background-color: transparent;\n border: none;\n border-radius: 0; }\n\n.field-name-field-tags .field-item {\n display: inline-block; }\n\n.field-name-field-tags label {\n display: block; }\n\n.field-name-field-tags input.form-control {\n height: auto; }\n\n.field-name-field-tags .field-item a {\n display: inline-block;\n padding: 2px 10px 2px;\n font-size: 12px;\n line-height: 20px;\n -webkit-border-radius: 0 5px 5px 0;\n -moz-border-radius: 0 5px 5px 0;\n -ms-border-radius: 0 5px 5px 0;\n -o-border-radius: 0 5px 5px 0;\n border-radius: 0 5px 5px 0;\n background-color: #F3F3F3;\n margin: 3px 5px 3px 20px;\n position: relative;\n color: #333333;\n border: 1px solid #ddd;\n border-left: 0;\n z-index: 2; }\n .field-name-field-tags .field-item a:after {\n content: \"\";\n width: 20px;\n height: 20px;\n background-color: #F3F3F3;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n -webkit-border-radius: 2px;\n -moz-border-radius: 2px;\n -ms-border-radius: 2px;\n -o-border-radius: 2px;\n border-radius: 2px;\n position: absolute;\n top: 2px;\n left: -9px;\n z-index: -1;\n border: 1px solid #ddd;\n border-top: none;\n border-right: none; }\n .field-name-field-tags .field-item a:before {\n content: \"\";\n width: 2px;\n height: 2px;\n background: #777777;\n position: absolute;\n top: 11px;\n left: -5px;\n -webkit-border-radius: 0;\n -moz-border-radius: 0;\n -ms-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0; }\n\n.field-name-field-tags .field-item a:hover,\n.field-name-field-tags .field-item a:hover:after {\n background: #fff;\n color: #000;\n text-decoration: none; }\n\n.field-name-field-topic .field-item {\n margin: 0 1.5em .5em 0; }\n .field-name-field-topic .field-item .field-item {\n margin: 0; }\n\n.field-name-field-topic-icon span::before,\n.view-dkan-datasets .field-name-field-topic-icon span::before {\n font-size: 18px; }\n\n.font_icon_select_options .label {\n color: #333; }\n\n.field-group-htabs-wrapper {\n border: 1px solid #CDCDCD;\n border-radius: 4px; }\n .field-group-htabs-wrapper fieldset.field-group-htab {\n margin-bottom: 0; }\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li.first,\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li.first a:hover {\n border-radius: 4px 0 0 0; }\n .field-group-htabs-wrapper .horizontal-tabs ul.horizontal-tabs-list li a:hover {\n background-color: #fffece; }\n\n.node-resource-form .field-group-htabs-wrapper {\n border: none; }\n\n.front .view-popular-tags {\n margin-top: 20px; }\n\n.view-popular-tags {\n margin: 15px 0; }\n .view-popular-tags ul.tag-list {\n margin: 0;\n padding: 0; }\n .view-popular-tags ul.tag-list li {\n display: inline-block;\n margin-right: 2em; }\n .view-popular-tags ul.tag-list li a {\n color: #fff; }\n\n.view-content h2 {\n font-size: 1.5em;\n margin: 1em 0 0.5em; }\n\n.view-groups-search .views-row {\n border-bottom: 1px dotted #ccc;\n padding: 1em 0; }\n\n.view-front-page-group-list .views-row {\n position: relative;\n padding-left: 120px;\n min-height: 110px; }\n .view-front-page-group-list .views-row img {\n position: absolute;\n top: 0;\n left: 0; }\n\n.view-user-profile-fields img {\n height: auto;\n margin: 0 auto;\n max-width: 190px;\n width: 100%; }\n\n.view-front-page-group-grid .row span {\n display: block;\n margin: 15px 0; }\n .view-front-page-group-grid .row span .media-content {\n padding: 0 10px 10px 120px; }\n .view-front-page-group-grid .row span .media-image {\n float: left;\n margin: 0;\n padding: 0; }\n .view-front-page-group-grid .row span .media-image img {\n margin: 5px 10px 5px 0; }\n .view-front-page-group-grid .row span h3.media-heading {\n font-size: 1.3em;\n margin: .5em 0;\n padding: 0; }\n\n@media (min-width: 768px) {\n .view-front-page-group-grid .span6,\n .view-front-page-group-grid .col-lg-6 {\n float: left;\n margin: 0;\n width: 50%; } }\n\n.view-dkan-groups .node-teaser {\n min-height: 365px;\n margin-bottom: 20px; }\n .view-dkan-groups .node-teaser h2.node-title {\n margin: .75em 0; }\n .view-dkan-groups .node-teaser .btn-primary, .view-dkan-groups .node-teaser body.maintenance-page .form-actions .btn:first-child, body.maintenance-page .form-actions .view-dkan-groups .node-teaser .btn:first-child, .view-dkan-groups .node-teaser body.maintenance-page .form-actions .media-widget > a:first-child, body.maintenance-page .form-actions .view-dkan-groups .node-teaser .media-widget > a:first-child {\n margin: 0 auto 1.5em; }\n .view-dkan-groups .node-teaser .field-name-field-image {\n text-align: center; }\n\n.view-groups-page .views-column {\n float: left;\n margin: 0;\n width: 50%; }\n\n.view-group-block .views-field-title {\n font-size: 1.2em; }\n\n.view-group-block .views-field-nid a {\n background: #0A77BD;\n color: #fff;\n display: block;\n margin: 1em 0 0 0;\n padding: 5px 8px;\n text-align: center; }\n\n.view-group-block .views-field-field-image {\n text-align: center; }\n\n.view-dataset form {\n margin: 0;\n position: relative; }\n\n.view-dataset .views-row {\n margin: 1.5em 0; }\n\n.views-exposed-form {\n position: relative; }\n .views-exposed-form .views-exposed-widget {\n display: inline;\n padding: .5em .5em 0 0; }\n .views-exposed-form .views-exposed-widget .views-widget-filter-search_api_views_fulltext,\n .views-exposed-form .views-exposed-widget .views-widget-sort-by,\n .views-exposed-form .views-exposed-widget .views-widget-sort-order,\n .views-exposed-form .views-exposed-widget .views-submit-button,\n .views-exposed-form .views-exposed-widget .form-submit {\n display: inline;\n float: none;\n margin: 0;\n position: relative; }\n .views-exposed-form .views-exposed-widget.views-reset-button, .views-exposed-form .views-exposed-widget.views-submit-button {\n margin: 0;\n padding: 2.1em .5em 0 0; }\n .views-exposed-form .description {\n text-shadow: compact(none, false, false, false, false, false, false, false, false, false);\n position: absolute;\n color: #999999;\n font-size: 12px;\n left: 7px;\n top: 10px; }\n\n.view-dkan-groups-featured .row,\n.pane-dkan-groups-featured .row {\n text-align: center; }\n .view-dkan-groups-featured .row div[class*='views-column'],\n .pane-dkan-groups-featured .row div[class*='views-column'] {\n margin-bottom: 1.25em; }\n\n.view-admin-content table {\n margin-top: 0; }\n\n.view-blog .views-row ul.links.inline {\n margin: -.5em 0 1.75em; }\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .description {\n display: none; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-uid .help-block,\n#views-exposed-form-dkan-administration-nodes-system-1 .form-item-author .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-uid .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .form-item-author .help-block {\n font-size: .85em;\n margin-top: 0; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-uid input,\n#views-exposed-form-dkan-administration-nodes-system-1 .form-item-author input,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-uid input,\n#views-exposed-form-dkan-administration-files-system-1 .form-item-author input {\n width: auto; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter #edit-date-filter-min-wrapper,\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter #edit-date-filter-max-wrapper,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter #edit-date-filter-min-wrapper,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter #edit-date-filter-max-wrapper {\n display: inline-block; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter input,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter input {\n width: 100px;\n margin-right: 0; }\n\n#views-exposed-form-dkan-administration-nodes-system-1 .views-widget-filter-date_filter .help-block,\n#views-exposed-form-dkan-administration-files-system-1 .views-widget-filter-date_filter .help-block {\n display: none; }\n","/*\n * A partial implementation of the Ruby list functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/lists.rb\n */\n\n\n// compact is part of libsass\n\n@function -compass-nth($list, $place) {\n // Yep, Sass-lists are 1-indexed.\n @if $place == \"first\" {\n $place: 1;\n }\n @if $place == \"last\" {\n $place: length($list);\n }\n @return nth($list, $place);\n}\n\n// compass_list and compass_space_list can't be implemented in sass script\n\n@function -compass-list-size($list) {\n @return length($list);\n}\n\n@function -compass-slice($list, $start, $end: false) {\n @if $end == false {\n $end: length($list);\n }\n $full: nth($list, $start);\n @for $i from $start + 1 through $end {\n $full: $full, nth($list, $i);\n }\n @return $full;\n}\n\n@function reject($list, $reject1, $reject2:null, $reject3:null, $reject4:null, $reject5:null, $reject6:null, $reject7:null, $reject8:null, $reject9:null) {\n $rejects: $reject1, $reject2, $reject3, $reject4, $reject5, $reject6, $reject7, $reject8, $reject9;\n\n $full: false;\n @each $item in $list {\n @if index($rejects, $item) {}\n @else {\n @if $full {\n $full: $full, $item;\n }\n @else {\n $full: $item;\n }\n }\n }\n @return $full;\n}\n","/*\n * A partial implementation of the Ruby constants functions from Compass:\n * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb\n */\n\n@function opposite-position($from) {\n @if ($from == top) {\n @return bottom;\n } @else if ($from == bottom) {\n @return top;\n } @else if ($from == left) {\n @return right;\n } @else if ($from == right) {\n @return left;\n } @else if ($from == center) {\n @return center;\n }\n}\n","/*\n * A partial implementation of the Ruby display functions from Compass:\n * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb\n */\n\n@function elements-of-type($type){\n @if ($type == block){\n @return address, article, aside, blockquote, center, dir, div, dd, details, dl, dt, fieldset, figcaption, figure, form, footer, frameset, h1, h2, h3, h4, h5, h6, hr, header, hgroup, isindex, main, menu, nav, noframes, noscript, ol, p, pre, section, summary, ul;\n } @else if ($type == inline){\n @return a, abbr, acronym, audio, b, basefont, bdo, big, br, canvas, cite, code, command, datalist, dfn, em, embed, font, i, img, input, keygen, kbd, label, mark, meter, output, progress, q, rp, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, textarea, time, tt, u, var, video, wbr;\n } @else if ($type == inline-block){\n @return img;\n } @else if ($type == table){\n @return table;\n } @else if ($type == list-item){\n @return li;\n } @else if ($type == table-row-group){\n @return tbody;\n } @else if ($type == table-header-group){\n @return thead;\n } @else if ($type == table-footer-group){\n @return tfoot;\n } @else if ($type == table-row){\n @return tr;\n } @else if ($type == table-cell){\n @return th, td;\n } @else if ($type == html5-block){\n @return article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary;\n } @else if ($type == html5-inline){\n @return audio, canvas, command, datalist, embed, keygen, mark, meter, output, progress, rp, rt, ruby, time, video, wbr;\n } @else if ($type == html5){\n @return article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, main, mark, menu, meter, nav, output, progress, rp, rt, ruby, section, summary, time, video, wbr;\n } @else if ($type == text-input){\n @return input, textarea;\n }\n}\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n @include box-sizing(border-box);\n}\n*:before,\n*:after {\n @include box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: $font-family-base;\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $text-color;\n background-color: $body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n @include tab-focus;\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n @include img-responsive;\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: $border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: $thumbnail-padding;\n line-height: $line-height-base;\n background-color: $thumbnail-bg;\n border: 1px solid $thumbnail-border;\n border-radius: $thumbnail-border-radius;\n @include transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n @include img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: $line-height-computed;\n margin-bottom: $line-height-computed;\n border: 0;\n border-top: 1px solid $hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","@import \"../support\";\n\n// This mixin provides basic support for CSS3 properties and\n// their corresponding experimental CSS2 properties when\n// the implementations are identical except for the property\n// prefix.\n@mixin experimental($property, $value,\n $moz : $experimental-support-for-mozilla,\n $webkit : $experimental-support-for-webkit,\n $o : $experimental-support-for-opera,\n $ms : $experimental-support-for-microsoft,\n $khtml : $experimental-support-for-khtml,\n $official : true\n) {\n @if $webkit and $experimental-support-for-webkit { -webkit-#{$property} : $value; }\n @if $khtml and $experimental-support-for-khtml { -khtml-#{$property} : $value; }\n @if $moz and $experimental-support-for-mozilla { -moz-#{$property} : $value; }\n @if $ms and $experimental-support-for-microsoft { -ms-#{$property} : $value; }\n @if $o and $experimental-support-for-opera { -o-#{$property} : $value; }\n @if $official { #{$property} : $value; }\n}\n\n// Same as experimental(), but for cases when the property is the same and the value is vendorized\n@mixin experimental-value($property, $value,\n $moz : $experimental-support-for-mozilla,\n $webkit : $experimental-support-for-webkit,\n $o : $experimental-support-for-opera,\n $ms : $experimental-support-for-microsoft,\n $khtml : $experimental-support-for-khtml,\n $official : true\n) {\n @if $webkit and $experimental-support-for-webkit { #{$property} : -webkit-#{$value}; }\n @if $khtml and $experimental-support-for-khtml { #{$property} : -khtml-#{$value}; }\n @if $moz and $experimental-support-for-mozilla { #{$property} : -moz-#{$value}; }\n @if $ms and $experimental-support-for-microsoft { #{$property} : -ms-#{$value}; }\n @if $o and $experimental-support-for-opera { #{$property} : -o-#{$value}; }\n @if $official { #{$property} : #{$value}; }\n}\n","@import \"shared\";\n\n// Change the box model for Mozilla, Webkit, IE8 and the future\n//\n// @param $bs\n// [ content-box | border-box ]\n\n@mixin box-sizing($bs) {\n $bs: unquote($bs);\n @include experimental(box-sizing, $bs,\n -moz, -webkit, not(-o), not(-ms), not(-khtml), official\n );\n}\n","$bootstrap-sass-asset-helper: false !default;\n//\n// Variables\n// --------------------------------------------------\n\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n$gray-base: #000 !default;\n$gray-darker: lighten($gray-base, 13.5%) !default; // #222\n$gray-dark: lighten($gray-base, 20%) !default; // #333\n$gray: lighten($gray-base, 33.5%) !default; // #555\n$gray-light: lighten($gray-base, 46.7%) !default; // #777\n$gray-lighter: lighten($gray-base, 93.5%) !default; // #eee\n\n$brand-primary: darken(#428bca, 6.5%) !default; // #337ab7\n$brand-success: #5cb85c !default;\n$brand-info: #5bc0de !default;\n$brand-warning: #f0ad4e !default;\n$brand-danger: #d9534f !default;\n\n\n//== Scaffolding\n//\n//## Settings for some of the most global styles.\n\n//** Background color for `<body>`.\n$body-bg: #fff !default;\n//** Global text color on `<body>`.\n$text-color: $gray-dark !default;\n\n//** Global textual link color.\n$link-color: $brand-primary !default;\n//** Link hover color set via `darken()` function.\n$link-hover-color: darken($link-color, 15%) !default;\n//** Link hover decoration.\n$link-hover-decoration: underline !default;\n\n\n//== Typography\n//\n//## Font, line-height, and color for body text, headings, and more.\n\n$font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`.\n$font-family-monospace: Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n\n$font-size-base: 14px !default;\n$font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px\n\n$font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px\n$font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px\n$font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px\n$font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px\n$font-size-h5: $font-size-base !default;\n$font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px\n\n//** Unit-less `line-height` for use in components like buttons.\n$line-height-base: 1.428571429 !default; // 20/14\n//** Computed \"line-height\" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.\n$line-height-computed: floor(($font-size-base * $line-height-base)) !default; // ~20px\n\n//** By default, this inherits from the `<body>`.\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n\n//== Iconography\n//\n//## Specify custom location and filename of the included Glyphicons icon font. Useful for those including Bootstrap via Bower.\n\n//** Load fonts from this directory.\n\n// [converter] If $bootstrap-sass-asset-helper if used, provide path relative to the assets load path.\n// [converter] This is because some asset helpers, such as Sprockets, do not work with file-relative paths.\n$icon-font-path: if($bootstrap-sass-asset-helper, \"bootstrap/\", \"../fonts/bootstrap/\") !default;\n\n//** File name for all font files.\n$icon-font-name: \"glyphicons-halflings-regular\" !default;\n//** Element ID within SVG icon file.\n$icon-font-svg-id: \"glyphicons_halflingsregular\" !default;\n\n\n//== Components\n//\n//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).\n\n$padding-base-vertical: 6px !default;\n$padding-base-horizontal: 12px !default;\n\n$padding-large-vertical: 10px !default;\n$padding-large-horizontal: 16px !default;\n\n$padding-small-vertical: 5px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 1px !default;\n$padding-xs-horizontal: 5px !default;\n\n$line-height-large: 1.3333333 !default; // extra decimals for Win 8.1 Chrome\n$line-height-small: 1.5 !default;\n\n$border-radius-base: 4px !default;\n$border-radius-large: 6px !default;\n$border-radius-small: 3px !default;\n\n//** Global color for active items (e.g., navs or dropdowns).\n$component-active-color: #fff !default;\n//** Global background color for active items (e.g., navs or dropdowns).\n$component-active-bg: $brand-primary !default;\n\n//** Width of the `border` for generating carets that indicate dropdowns.\n$caret-width-base: 4px !default;\n//** Carets increase slightly in size for larger components.\n$caret-width-large: 5px !default;\n\n\n//== Tables\n//\n//## Customizes the `.table` component with basic values, each used across all table variations.\n\n//** Padding for `<th>`s and `<td>`s.\n$table-cell-padding: 8px !default;\n//** Padding for cells in `.table-condensed`.\n$table-condensed-cell-padding: 5px !default;\n\n//** Default background color used for all tables.\n$table-bg: transparent !default;\n//** Background color used for `.table-striped`.\n$table-bg-accent: #f9f9f9 !default;\n//** Background color used for `.table-hover`.\n$table-bg-hover: #f5f5f5 !default;\n$table-bg-active: $table-bg-hover !default;\n\n//** Border color for table and cell borders.\n$table-border-color: #ddd !default;\n\n\n//== Buttons\n//\n//## For each of Bootstrap's buttons, define text, background and border color.\n\n$btn-font-weight: normal !default;\n\n$btn-default-color: #333 !default;\n$btn-default-bg: #fff !default;\n$btn-default-border: #ccc !default;\n\n$btn-primary-color: #fff !default;\n$btn-primary-bg: $brand-primary !default;\n$btn-primary-border: darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color: #fff !default;\n$btn-success-bg: $brand-success !default;\n$btn-success-border: darken($btn-success-bg, 5%) !default;\n\n$btn-info-color: #fff !default;\n$btn-info-bg: $brand-info !default;\n$btn-info-border: darken($btn-info-bg, 5%) !default;\n\n$btn-warning-color: #fff !default;\n$btn-warning-bg: $brand-warning !default;\n$btn-warning-border: darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color: #fff !default;\n$btn-danger-bg: $brand-danger !default;\n$btn-danger-border: darken($btn-danger-bg, 5%) !default;\n\n$btn-link-disabled-color: $gray-light !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius-base: $border-radius-base !default;\n$btn-border-radius-large: $border-radius-large !default;\n$btn-border-radius-small: $border-radius-small !default;\n\n\n//== Forms\n//\n//##\n\n//** `<input>` background color\n$input-bg: #fff !default;\n//** `<input disabled>` background color\n$input-bg-disabled: $gray-lighter !default;\n\n//** Text color for `<input>`s\n$input-color: $gray !default;\n//** `<input>` border color\n$input-border: #ccc !default;\n\n// TODO: Rename `$input-border-radius` to `$input-border-radius-base` in v4\n//** Default `.form-control` border radius\n// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS.\n$input-border-radius: $border-radius-base !default;\n//** Large `.form-control` border radius\n$input-border-radius-large: $border-radius-large !default;\n//** Small `.form-control` border radius\n$input-border-radius-small: $border-radius-small !default;\n\n//** Border color for inputs on focus\n$input-border-focus: #66afe9 !default;\n\n//** Placeholder text color\n$input-color-placeholder: #999 !default;\n\n//** Default `.form-control` height\n$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n//** Large `.form-control` height\n$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n//** Small `.form-control` height\n$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n//** `.form-group` margin\n$form-group-margin-bottom: 15px !default;\n\n$legend-color: $gray-dark !default;\n$legend-border-color: #e5e5e5 !default;\n\n//** Background color for textual input addons\n$input-group-addon-bg: $gray-lighter !default;\n//** Border color for textual input addons\n$input-group-addon-border-color: $input-border !default;\n\n//** Disabled cursor for form controls and buttons.\n$cursor-disabled: not-allowed !default;\n\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n//** Background for the dropdown menu.\n$dropdown-bg: #fff !default;\n//** Dropdown menu `border-color`.\n$dropdown-border: rgba(0,0,0,.15) !default;\n//** Dropdown menu `border-color` **for IE8**.\n$dropdown-fallback-border: #ccc !default;\n//** Divider color for between dropdown items.\n$dropdown-divider-bg: #e5e5e5 !default;\n\n//** Dropdown link text color.\n$dropdown-link-color: $gray-dark !default;\n//** Hover color for dropdown links.\n$dropdown-link-hover-color: darken($gray-dark, 5%) !default;\n//** Hover background for dropdown links.\n$dropdown-link-hover-bg: #f5f5f5 !default;\n\n//** Active dropdown menu item text color.\n$dropdown-link-active-color: $component-active-color !default;\n//** Active dropdown menu item background color.\n$dropdown-link-active-bg: $component-active-bg !default;\n\n//** Disabled dropdown menu item background color.\n$dropdown-link-disabled-color: $gray-light !default;\n\n//** Text color for headers within dropdown menus.\n$dropdown-header-color: $gray-light !default;\n\n//** Deprecated `$dropdown-caret-color` as of v3.1.0\n$dropdown-caret-color: #000 !default;\n\n\n//-- Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n//\n// Note: These variables are not generated into the Customizer.\n\n$zindex-navbar: 1000 !default;\n$zindex-dropdown: 1000 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n$zindex-navbar-fixed: 1030 !default;\n$zindex-modal-background: 1040 !default;\n$zindex-modal: 1050 !default;\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n//** Deprecated `$screen-xs` as of v3.0.1\n$screen-xs: 480px !default;\n//** Deprecated `$screen-xs-min` as of v3.2.0\n$screen-xs-min: $screen-xs !default;\n//** Deprecated `$screen-phone` as of v3.0.1\n$screen-phone: $screen-xs-min !default;\n\n// Small screen / tablet\n//** Deprecated `$screen-sm` as of v3.0.1\n$screen-sm: 768px !default;\n$screen-sm-min: $screen-sm !default;\n//** Deprecated `$screen-tablet` as of v3.0.1\n$screen-tablet: $screen-sm-min !default;\n\n// Medium screen / desktop\n//** Deprecated `$screen-md` as of v3.0.1\n$screen-md: 992px !default;\n$screen-md-min: $screen-md !default;\n//** Deprecated `$screen-desktop` as of v3.0.1\n$screen-desktop: $screen-md-min !default;\n\n// Large screen / wide desktop\n//** Deprecated `$screen-lg` as of v3.0.1\n$screen-lg: 1200px !default;\n$screen-lg-min: $screen-lg !default;\n//** Deprecated `$screen-lg-desktop` as of v3.0.1\n$screen-lg-desktop: $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max: ($screen-sm-min - 1) !default;\n$screen-sm-max: ($screen-md-min - 1) !default;\n$screen-md-max: ($screen-lg-min - 1) !default;\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n$grid-columns: 12 !default;\n//** Padding between columns. Gets divided in half for the left and right.\n$grid-gutter-width: 30px !default;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n$grid-float-breakpoint: $screen-sm-min !default;\n//** Point at which the navbar begins collapsing.\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n//== Container sizes\n//\n//## Define the maximum width of `.container` for different screen sizes.\n\n// Small screen / tablet\n$container-tablet: (720px + $grid-gutter-width) !default;\n//** For `$screen-sm-min` and up.\n$container-sm: $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop: (940px + $grid-gutter-width) !default;\n//** For `$screen-md-min` and up.\n$container-md: $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop: (1140px + $grid-gutter-width) !default;\n//** For `$screen-lg-min` and up.\n$container-lg: $container-large-desktop !default;\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n$navbar-height: 50px !default;\n$navbar-margin-bottom: $line-height-computed !default;\n$navbar-border-radius: $border-radius-base !default;\n$navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default;\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;\n$navbar-collapse-max-height: 340px !default;\n\n$navbar-default-color: #777 !default;\n$navbar-default-bg: #f8f8f8 !default;\n$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color: #777 !default;\n$navbar-default-link-hover-color: #333 !default;\n$navbar-default-link-hover-bg: transparent !default;\n$navbar-default-link-active-color: #555 !default;\n$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color: #ccc !default;\n$navbar-default-link-disabled-bg: transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color: $navbar-default-link-color !default;\n$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;\n$navbar-default-brand-hover-bg: transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: #ddd !default;\n$navbar-default-toggle-icon-bar-bg: #888 !default;\n$navbar-default-toggle-border-color: #ddd !default;\n\n\n//=== Inverted navbar\n// Reset inverted navbar basics\n$navbar-inverse-color: lighten($gray-light, 15%) !default;\n$navbar-inverse-bg: #222 !default;\n$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color: lighten($gray-light, 15%) !default;\n$navbar-inverse-link-hover-color: #fff !default;\n$navbar-inverse-link-hover-bg: transparent !default;\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color: #444 !default;\n$navbar-inverse-link-disabled-bg: transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color: #fff !default;\n$navbar-inverse-brand-hover-bg: transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: #333 !default;\n$navbar-inverse-toggle-icon-bar-bg: #fff !default;\n$navbar-inverse-toggle-border-color: #333 !default;\n\n\n//== Navs\n//\n//##\n\n//=== Shared nav styles\n$nav-link-padding: 10px 15px !default;\n$nav-link-hover-bg: $gray-lighter !default;\n\n$nav-disabled-link-color: $gray-light !default;\n$nav-disabled-link-hover-color: $gray-light !default;\n\n//== Tabs\n$nav-tabs-border-color: #ddd !default;\n\n$nav-tabs-link-hover-border-color: $gray-lighter !default;\n\n$nav-tabs-active-link-hover-bg: $body-bg !default;\n$nav-tabs-active-link-hover-color: $gray !default;\n$nav-tabs-active-link-hover-border-color: #ddd !default;\n\n$nav-tabs-justified-link-border-color: #ddd !default;\n$nav-tabs-justified-active-link-border-color: $body-bg !default;\n\n//== Pills\n$nav-pills-border-radius: $border-radius-base !default;\n$nav-pills-active-link-hover-bg: $component-active-bg !default;\n$nav-pills-active-link-hover-color: $component-active-color !default;\n\n\n//== Pagination\n//\n//##\n\n$pagination-color: $link-color !default;\n$pagination-bg: #fff !default;\n$pagination-border: #ddd !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-lighter !default;\n$pagination-hover-border: #ddd !default;\n\n$pagination-active-color: #fff !default;\n$pagination-active-bg: $brand-primary !default;\n$pagination-active-border: $brand-primary !default;\n\n$pagination-disabled-color: $gray-light !default;\n$pagination-disabled-bg: #fff !default;\n$pagination-disabled-border: #ddd !default;\n\n\n//== Pager\n//\n//##\n\n$pager-bg: $pagination-bg !default;\n$pager-border: $pagination-border !default;\n$pager-border-radius: 15px !default;\n\n$pager-hover-bg: $pagination-hover-bg !default;\n\n$pager-active-bg: $pagination-active-bg !default;\n$pager-active-color: $pagination-active-color !default;\n\n$pager-disabled-color: $pagination-disabled-color !default;\n\n\n//== Jumbotron\n//\n//##\n\n$jumbotron-padding: 30px !default;\n$jumbotron-color: inherit !default;\n$jumbotron-bg: $gray-lighter !default;\n$jumbotron-heading-color: inherit !default;\n$jumbotron-font-size: ceil(($font-size-base * 1.5)) !default;\n$jumbotron-heading-font-size: ceil(($font-size-base * 4.5)) !default;\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n$state-success-text: #3c763d !default;\n$state-success-bg: #dff0d8 !default;\n$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text: #31708f !default;\n$state-info-bg: #d9edf7 !default;\n$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text: #8a6d3b !default;\n$state-warning-bg: #fcf8e3 !default;\n$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text: #a94442 !default;\n$state-danger-bg: #f2dede !default;\n$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n$tooltip-max-width: 200px !default;\n//** Tooltip text color\n$tooltip-color: #fff !default;\n//** Tooltip background color\n$tooltip-bg: #000 !default;\n$tooltip-opacity: .9 !default;\n\n//** Tooltip arrow width\n$tooltip-arrow-width: 5px !default;\n//** Tooltip arrow color\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n$popover-bg: #fff !default;\n//** Popover maximum width\n$popover-max-width: 276px !default;\n//** Popover border color\n$popover-border-color: rgba(0,0,0,.2) !default;\n//** Popover fallback border color\n$popover-fallback-border-color: #ccc !default;\n\n//** Popover title background color\n$popover-title-bg: darken($popover-bg, 3%) !default;\n\n//** Popover arrow width\n$popover-arrow-width: 10px !default;\n//** Popover arrow color\n$popover-arrow-color: $popover-bg !default;\n\n//** Popover outer arrow width\n$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;\n//** Popover outer arrow color\n$popover-arrow-outer-color: fade_in($popover-border-color, 0.05) !default;\n//** Popover outer arrow fallback color\n$popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%) !default;\n\n\n//== Labels\n//\n//##\n\n//** Default label background color\n$label-default-bg: $gray-light !default;\n//** Primary label background color\n$label-primary-bg: $brand-primary !default;\n//** Success label background color\n$label-success-bg: $brand-success !default;\n//** Info label background color\n$label-info-bg: $brand-info !default;\n//** Warning label background color\n$label-warning-bg: $brand-warning !default;\n//** Danger label background color\n$label-danger-bg: $brand-danger !default;\n\n//** Default label text color\n$label-color: #fff !default;\n//** Default text color of a linked label\n$label-link-hover-color: #fff !default;\n\n\n//== Modals\n//\n//##\n\n//** Padding applied to the modal body\n$modal-inner-padding: 15px !default;\n\n//** Padding applied to the modal title\n$modal-title-padding: 15px !default;\n//** Modal title line-height\n$modal-title-line-height: $line-height-base !default;\n\n//** Background color of modal content area\n$modal-content-bg: #fff !default;\n//** Modal content border color\n$modal-content-border-color: rgba(0,0,0,.2) !default;\n//** Modal content border color **for IE8**\n$modal-content-fallback-border-color: #999 !default;\n\n//** Modal backdrop background color\n$modal-backdrop-bg: #000 !default;\n//** Modal backdrop opacity\n$modal-backdrop-opacity: .5 !default;\n//** Modal header border color\n$modal-header-border-color: #e5e5e5 !default;\n//** Modal footer border color\n$modal-footer-border-color: $modal-header-border-color !default;\n\n$modal-lg: 900px !default;\n$modal-md: 600px !default;\n$modal-sm: 300px !default;\n\n\n//== Alerts\n//\n//## Define alert colors, border radius, and padding.\n\n$alert-padding: 15px !default;\n$alert-border-radius: $border-radius-base !default;\n$alert-link-font-weight: bold !default;\n\n$alert-success-bg: $state-success-bg !default;\n$alert-success-text: $state-success-text !default;\n$alert-success-border: $state-success-border !default;\n\n$alert-info-bg: $state-info-bg !default;\n$alert-info-text: $state-info-text !default;\n$alert-info-border: $state-info-border !default;\n\n$alert-warning-bg: $state-warning-bg !default;\n$alert-warning-text: $state-warning-text !default;\n$alert-warning-border: $state-warning-border !default;\n\n$alert-danger-bg: $state-danger-bg !default;\n$alert-danger-text: $state-danger-text !default;\n$alert-danger-border: $state-danger-border !default;\n\n\n//== Progress bars\n//\n//##\n\n//** Background color of the whole progress component\n$progress-bg: #f5f5f5 !default;\n//** Progress bar text color\n$progress-bar-color: #fff !default;\n//** Variable for setting rounded corners on progress bar.\n$progress-border-radius: $border-radius-base !default;\n\n//** Default progress bar color\n$progress-bar-bg: $brand-primary !default;\n//** Success progress bar color\n$progress-bar-success-bg: $brand-success !default;\n//** Warning progress bar color\n$progress-bar-warning-bg: $brand-warning !default;\n//** Danger progress bar color\n$progress-bar-danger-bg: $brand-danger !default;\n//** Info progress bar color\n$progress-bar-info-bg: $brand-info !default;\n\n\n//== List group\n//\n//##\n\n//** Background color on `.list-group-item`\n$list-group-bg: #fff !default;\n//** `.list-group-item` border color\n$list-group-border: #ddd !default;\n//** List group border radius\n$list-group-border-radius: $border-radius-base !default;\n\n//** Background color of single list items on hover\n$list-group-hover-bg: #f5f5f5 !default;\n//** Text color of active list items\n$list-group-active-color: $component-active-color !default;\n//** Background color of active list items\n$list-group-active-bg: $component-active-bg !default;\n//** Border color of active list elements\n$list-group-active-border: $list-group-active-bg !default;\n//** Text color for content within active list items\n$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;\n\n//** Text color of disabled list items\n$list-group-disabled-color: $gray-light !default;\n//** Background color of disabled list items\n$list-group-disabled-bg: $gray-lighter !default;\n//** Text color for content within disabled list items\n$list-group-disabled-text-color: $list-group-disabled-color !default;\n\n$list-group-link-color: #555 !default;\n$list-group-link-hover-color: $list-group-link-color !default;\n$list-group-link-heading-color: #333 !default;\n\n\n//== Panels\n//\n//##\n\n$panel-bg: #fff !default;\n$panel-body-padding: 15px !default;\n$panel-heading-padding: 10px 15px !default;\n$panel-footer-padding: $panel-heading-padding !default;\n$panel-border-radius: $border-radius-base !default;\n\n//** Border color for elements within panels\n$panel-inner-border: #ddd !default;\n$panel-footer-bg: #f5f5f5 !default;\n\n$panel-default-text: $gray-dark !default;\n$panel-default-border: #ddd !default;\n$panel-default-heading-bg: #f5f5f5 !default;\n\n$panel-primary-text: #fff !default;\n$panel-primary-border: $brand-primary !default;\n$panel-primary-heading-bg: $brand-primary !default;\n\n$panel-success-text: $state-success-text !default;\n$panel-success-border: $state-success-border !default;\n$panel-success-heading-bg: $state-success-bg !default;\n\n$panel-info-text: $state-info-text !default;\n$panel-info-border: $state-info-border !default;\n$panel-info-heading-bg: $state-info-bg !default;\n\n$panel-warning-text: $state-warning-text !default;\n$panel-warning-border: $state-warning-border !default;\n$panel-warning-heading-bg: $state-warning-bg !default;\n\n$panel-danger-text: $state-danger-text !default;\n$panel-danger-border: $state-danger-border !default;\n$panel-danger-heading-bg: $state-danger-bg !default;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n$thumbnail-padding: 4px !default;\n//** Thumbnail background color\n$thumbnail-bg: $body-bg !default;\n//** Thumbnail border color\n$thumbnail-border: #ddd !default;\n//** Thumbnail border radius\n$thumbnail-border-radius: $border-radius-base !default;\n\n//** Custom text color for thumbnail captions\n$thumbnail-caption-color: $text-color !default;\n//** Padding around the thumbnail caption\n$thumbnail-caption-padding: 9px !default;\n\n\n//== Wells\n//\n//##\n\n$well-bg: #f5f5f5 !default;\n$well-border: darken($well-bg, 7%) !default;\n\n\n//== Badges\n//\n//##\n\n$badge-color: #fff !default;\n//** Linked badge text color on hover\n$badge-link-hover-color: #fff !default;\n$badge-bg: $gray-light !default;\n\n//** Badge text color in active nav link\n$badge-active-color: $link-color !default;\n//** Badge background color in active nav link\n$badge-active-bg: #fff !default;\n\n$badge-font-weight: bold !default;\n$badge-line-height: 1 !default;\n$badge-border-radius: 10px !default;\n\n\n//== Breadcrumbs\n//\n//##\n\n$breadcrumb-padding-vertical: 8px !default;\n$breadcrumb-padding-horizontal: 15px !default;\n//** Breadcrumb background color\n$breadcrumb-bg: #f5f5f5 !default;\n//** Breadcrumb text color\n$breadcrumb-color: #ccc !default;\n//** Text color of current page in the breadcrumb\n$breadcrumb-active-color: $gray-light !default;\n//** Textual separator for between breadcrumb elements\n$breadcrumb-separator: \"/\" !default;\n\n\n//== Carousel\n//\n//##\n\n$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color: #fff !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-font-size: 20px !default;\n\n$carousel-indicator-active-bg: #fff !default;\n$carousel-indicator-border-color: #fff !default;\n\n$carousel-caption-color: #fff !default;\n\n\n//== Close\n//\n//##\n\n$close-font-weight: bold !default;\n$close-color: #000 !default;\n$close-text-shadow: 0 1px 0 #fff !default;\n\n\n//== Code\n//\n//##\n\n$code-color: #c7254e !default;\n$code-bg: #f9f2f4 !default;\n\n$kbd-color: #fff !default;\n$kbd-bg: #333 !default;\n\n$pre-bg: #f5f5f5 !default;\n$pre-color: $gray-dark !default;\n$pre-border-color: #ccc !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n//== Type\n//\n//##\n\n//** Horizontal offset for forms and lists.\n$component-offset-horizontal: 180px !default;\n//** Text muted color\n$text-muted: $gray-light !default;\n//** Abbreviations and acronyms border color\n$abbr-border-color: $gray-light !default;\n//** Headings small color\n$headings-small-color: $gray-light !default;\n//** Blockquote small color\n$blockquote-small-color: $gray-light !default;\n//** Blockquote font size\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n//** Blockquote border color\n$blockquote-border-color: $gray-lighter !default;\n//** Page header border color\n$page-header-border-color: $gray-lighter !default;\n//** Width of horizontal description list titles\n$dl-horizontal-offset: $component-offset-horizontal !default;\n//** Point at which .dl-horizontal becomes horizontal\n$dl-horizontal-breakpoint: $grid-float-breakpoint !default;\n//** Horizontal line color.\n$hr-border: $gray-lighter !default;\n","// WebKit-style focus\n\n@mixin tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n@mixin img-responsive($display: block) {\n display: $display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-1x}\"), \"#{$file-1x}\"));\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path(\"#{$file-2x}\"), \"#{$file-2x}\"));\n background-size: $width-1x $height-1x;\n }\n}\n","@import \"shared\";\n\n// CSS Transitions\n// Currently only works in Webkit.\n//\n// * expected in CSS3, FireFox 3.6/7 and Opera Presto 2.3\n// * We'll be prepared.\n//\n// Including this submodule sets following defaults for the mixins:\n//\n// $default-transition-property : all\n// $default-transition-duration : 1s\n// $default-transition-function : false\n// $default-transition-delay : false\n//\n// Override them if you like. Timing-function and delay are set to false for browser defaults (ease, 0s).\n\n$default-transition-property: all !default;\n\n$default-transition-duration: 1s !default;\n\n$default-transition-function: false !default;\n\n$default-transition-delay: false !default;\n\n$transitionable-prefixed-values: transform, transform-origin !default;\n\n// One or more properties to transition\n//\n// * for multiple, use a comma-delimited list\n// * also accepts \"all\" or \"none\"\n\n@mixin transition-property($property-1: $default-transition-property,\n $property-2 : false,\n $property-3 : false,\n $property-4 : false,\n $property-5 : false,\n $property-6 : false,\n $property-7 : false,\n $property-8 : false,\n $property-9 : false,\n $property-10: false\n) {\n @if type-of($property-1) == string { $property-1: unquote($property-1); }\n $properties: compact($property-1, $property-2, $property-3, $property-4, $property-5, $property-6, $property-7, $property-8, $property-9, $property-10);\n @if $experimental-support-for-webkit { -webkit-transition-property : prefixed-for-transition(-webkit, $properties); }\n @if $experimental-support-for-mozilla { -moz-transition-property : prefixed-for-transition(-moz, $properties); }\n @if $experimental-support-for-opera { -o-transition-property : prefixed-for-transition(-o, $properties); }\n transition-property : $properties;\n}\n\n// One or more durations in seconds\n//\n// * for multiple, use a comma-delimited list\n// * these durations will affect the properties in the same list position\n\n@mixin transition-duration($duration-1: $default-transition-duration,\n $duration-2 : false,\n $duration-3 : false,\n $duration-4 : false,\n $duration-5 : false,\n $duration-6 : false,\n $duration-7 : false,\n $duration-8 : false,\n $duration-9 : false,\n $duration-10: false\n) {\n @if type-of($duration-1) == string { $duration-1: unquote($duration-1); }\n $durations: compact($duration-1, $duration-2, $duration-3, $duration-4, $duration-5, $duration-6, $duration-7, $duration-8, $duration-9, $duration-10);\n @include experimental(transition-duration, $durations,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// One or more timing functions\n//\n// * [ ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(x1, y1, x2, y2)]\n// * For multiple, use a comma-delimited list\n// * These functions will effect the properties in the same list position\n\n@mixin transition-timing-function($function-1: $default-transition-function,\n $function-2 : false,\n $function-3 : false,\n $function-4 : false,\n $function-5 : false,\n $function-6 : false,\n $function-7 : false,\n $function-8 : false,\n $function-9 : false,\n $function-10: false\n) {\n $function-1: unquote($function-1);\n $functions: compact($function-1, $function-2, $function-3, $function-4, $function-5, $function-6, $function-7, $function-8, $function-9, $function-10);\n @include experimental(transition-timing-function, $functions,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// One or more transition-delays in seconds\n//\n// * for multiple, use a comma-delimited list\n// * these delays will effect the properties in the same list position\n\n@mixin transition-delay($delay-1: $default-transition-delay,\n $delay-2 : false,\n $delay-3 : false,\n $delay-4 : false,\n $delay-5 : false,\n $delay-6 : false,\n $delay-7 : false,\n $delay-8 : false,\n $delay-9 : false,\n $delay-10: false\n) {\n @if type-of($delay-1) == string { $delay-1: unquote($delay-1); }\n $delays: compact($delay-1, $delay-2, $delay-3, $delay-4, $delay-5, $delay-6, $delay-7, $delay-8, $delay-9, $delay-10);\n @include experimental(transition-delay, $delays,\n -moz, -webkit, -o, not(-ms), not(-khtml), official\n );\n}\n\n// Transition all-in-one shorthand\n\n@mixin single-transition(\n $property: $default-transition-property,\n $duration: $default-transition-duration,\n $function: $default-transition-function,\n $delay: $default-transition-delay\n) {\n @include transition(compact($property $duration $function $delay));\n}\n\n@mixin transition(\n $transition-1 : default,\n $transition-2 : false,\n $transition-3 : false,\n $transition-4 : false,\n $transition-5 : false,\n $transition-6 : false,\n $transition-7 : false,\n $transition-8 : false,\n $transition-9 : false,\n $transition-10: false\n) {\n @if $transition-1 == default {\n $transition-1 : compact($default-transition-property $default-transition-duration $default-transition-function $default-transition-delay);\n }\n $transitions: false;\n @if type-of($transition-1) == list and type-of(nth($transition-1,1)) == list {\n $transitions: join($transition-1, compact($transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10), comma);\n } @else {\n $transitions : compact($transition-1, $transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10);\n }\n $delays: comma-list();\n $has-delays: false;\n $webkit-value: comma-list();\n $moz-value: comma-list();\n $o-value: comma-list();\n\n // This block can be made considerably simpler at the point in time that\n // we no longer need to deal with the differences in how delays are treated.\n @each $transition in $transitions {\n // Extract the values from the list\n // (this would be cleaner if nth took a 3rd argument to provide a default value).\n $property: nth($transition, 1);\n $duration: false;\n $timing-function: false;\n $delay: false;\n @if length($transition) > 1 { $duration: nth($transition, 2); }\n @if length($transition) > 2 { $timing-function: nth($transition, 3); }\n @if length($transition) > 3 { $delay: nth($transition, 4); $has-delays: true; }\n\n // If a delay is provided without a timing function\n @if is-time($timing-function) and not $delay { $delay: $timing-function; $timing-function: false; $has-delays: true; }\n\n // Keep a list of delays in case one is specified\n $delays: append($delays, if($delay, $delay, 0s));\n\n $webkit-value: append($webkit-value, compact(prefixed-for-transition(-webkit, $property) $duration $timing-function));\n $moz-value: append( $moz-value, compact(prefixed-for-transition( -moz, $property) $duration $timing-function $delay));\n $o-value: append( $o-value, compact(prefixed-for-transition( -o, $property) $duration $timing-function $delay));\n }\n\n @if $experimental-support-for-webkit { -webkit-transition : $webkit-value;\n // old webkit doesn't support the delay parameter in the shorthand so we progressively enhance it.\n @if $has-delays { -webkit-transition-delay : $delays; } }\n @if $experimental-support-for-mozilla { -moz-transition : $moz-value; }\n @if $experimental-support-for-opera { -o-transition : $o-value; }\n transition : $transitions;\n}\n\n// coerce a list to be comma delimited or make a new, empty comma delimited list.\n@function comma-list($list: ()) {\n @return join((), $list, comma);\n}\n\n// Returns `$property` with the given prefix if it is found in `$transitionable-prefixed-values`.\n@function prefixed-for-transition($prefix, $property) {\n @if type-of($property) == list {\n $new-list: comma-list();\n @each $v in $property {\n $new-list: append($new-list, prefixed-for-transition($prefix, $v));\n }\n @return $new-list;\n } @else {\n @if index($transitionable-prefixed-values, $property) {\n @return #{$prefix}-#{$property};\n } @else {\n @return $property;\n }\n }\n}\n\n// Checks if the value given is a unit of time.\n@function is-time($value) {\n @if type-of($value) == number {\n @return not(not(index(s ms, unit($value))));\n } @else {\n @return false;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: $headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: $line-height-computed;\n margin-bottom: ($line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: ($line-height-computed / 2);\n margin-bottom: ($line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: $font-size-h1; }\nh2, .h2 { font-size: $font-size-h2; }\nh3, .h3 { font-size: $font-size-h3; }\nh4, .h4 { font-size: $font-size-h4; }\nh5, .h5 { font-size: $font-size-h5; }\nh6, .h6 { font-size: $font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 ($line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: $line-height-computed;\n font-size: floor(($font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: $screen-sm-min) {\n font-size: ($font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * $font-size-small / $font-size-base));\n}\n\nmark,\n.mark {\n background-color: $state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: $text-muted;\n}\n\n@include text-emphasis-variant('.text-primary', $brand-primary);\n\n@include text-emphasis-variant('.text-success', $state-success-text);\n\n@include text-emphasis-variant('.text-info', $state-info-text);\n\n@include text-emphasis-variant('.text-warning', $state-warning-text);\n\n@include text-emphasis-variant('.text-danger', $state-danger-text);\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n}\n@include bg-variant('.bg-primary', $brand-primary);\n\n@include bg-variant('.bg-success', $state-success-bg);\n\n@include bg-variant('.bg-info', $state-info-bg);\n\n@include bg-variant('.bg-warning', $state-warning-bg);\n\n@include bg-variant('.bg-danger', $state-danger-bg);\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: (($line-height-computed / 2) - 1);\n margin: ($line-height-computed * 2) 0 $line-height-computed;\n border-bottom: 1px solid $page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: ($line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// [converter] extracted from `.list-unstyled` for libsass compatibility\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n// [converter] extracted as `@mixin list-unstyled` for libsass compatibility\n.list-unstyled {\n @include list-unstyled;\n}\n\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: $line-height-computed;\n}\ndt,\ndd {\n line-height: $line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n @include clearfix; // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: $dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: ($dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n @include text-overflow;\n }\n dd {\n margin-left: $dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted $abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n @extend .text-uppercase;\n}\n\n// Blockquotes\nblockquote {\n padding: ($line-height-computed / 2) $line-height-computed;\n margin: 0 0 $line-height-computed;\n font-size: $blockquote-font-size;\n border-left: 5px solid $blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: $line-height-base;\n color: $blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid $blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: $line-height-computed;\n font-style: normal;\n line-height: $line-height-base;\n}\n","// Typography\n\n// [converter] $parent hack\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color;\n }\n a#{$parent}:hover,\n a#{$parent}:focus {\n color: darken($color, 10%);\n }\n}\n","// Contextual backgrounds\n\n// [converter] $parent hack\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color;\n }\n a#{$parent}:hover,\n a#{$parent}:focus {\n background-color: darken($color, 10%);\n }\n}\n","// @doc off\n// Extends the bottom of the element to enclose any floats it contains.\n// @doc on\n\n@import \"hacks\";\n\n// This basic method is preferred for the usual case, when positioned\n// content will not show outside the bounds of the container.\n//\n// Recommendations include using this in conjunction with a width.\n// Credit: [quirksmode.org](http://www.quirksmode.org/blog/archives/2005/03/clearing_floats.html)\n@mixin clearfix {\n overflow: hidden;\n @include has-layout;\n}\n\n// This older method from Position Is Everything called\n// [Easy Clearing](http://www.positioniseverything.net/easyclearing.html)\n// has the advantage of allowing positioned elements to hang\n// outside the bounds of the container at the expense of more tricky CSS.\n@mixin legacy-pie-clearfix {\n &:after {\n content : \"\\0020\";\n display : block;\n height : 0;\n clear : both;\n overflow : hidden;\n visibility : hidden;\n }\n @include has-layout;\n}\n\n// This is an updated version of the PIE clearfix method that reduces the amount of CSS output.\n// If you need to support Firefox before 3.5 you need to use `legacy-pie-clearfix` instead.\n//\n// Adapted from: [A new micro clearfix hack](http://nicolasgallagher.com/micro-clearfix-hack/)\n@mixin pie-clearfix {\n &:after {\n content: \"\";\n display: table;\n clear: both;\n }\n @include has-layout;\n}\n","@import \"../../support\";\n\n// The `zoom` approach generates less CSS but does not validate.\n// Set this to `block` to use the display-property to hack the\n// element to gain layout.\n$default-has-layout-approach: zoom !default;\n\n// This mixin causes an element matching the selector\n// to gain the \"hasLayout\" property in internet explorer.\n// More information on [hasLayout](http://reference.sitepoint.com/css/haslayout).\n@mixin has-layout($approach: $default-has-layout-approach) {\n @if $legacy-support-for-ie {\n @if $approach == zoom {\n @include has-layout-zoom;\n } @else if $approach == block {\n @include has-layout-block;\n } @else {\n @warn \"Unknown has-layout approach: #{$approach}\";\n @include has-layout-zoom;\n }\n }\n}\n\n@mixin has-layout-zoom {\n @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {\n *zoom: 1;\n }\n}\n\n@mixin has-layout-block {\n @if $legacy-support-for-ie {\n // This makes ie6 get layout\n display: inline-block;\n // and this puts it back to block\n & { display: block; }\n }\n}\n\n// A hack to supply IE6 (and below) with a different property value.\n// [Read more](http://www.cssportal.com/css-hacks/#in_css-important).\n@mixin bang-hack($property, $value, $ie6-value) {\n @if $legacy-support-for-ie6 {\n #{$property}: #{$value} !important;\n #{$property}: #{$ie6-value};\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n@mixin text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: $font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: $code-color;\n background-color: $code-bg;\n border-radius: $border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: $kbd-color;\n background-color: $kbd-bg;\n border-radius: $border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: (($line-height-computed - 1) / 2);\n margin: 0 0 ($line-height-computed / 2);\n font-size: ($font-size-base - 1); // 14px to 13px\n line-height: $line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: $pre-color;\n background-color: $pre-bg;\n border: 1px solid $pre-border-color;\n border-radius: $border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n @include container-fixed;\n\n @media (min-width: $screen-sm-min) {\n width: $container-sm;\n }\n @media (min-width: $screen-md-min) {\n width: $container-md;\n }\n @media (min-width: $screen-lg-min) {\n width: $container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n @include container-fixed;\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n @include make-row;\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@include make-grid-columns;\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n@include make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: $screen-sm-min) {\n @include make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: $screen-md-min) {\n @include make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: $screen-lg-min) {\n @include make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n@mixin container-fixed($gutter: $grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor(($gutter / 2));\n padding-right: ceil(($gutter / 2));\n @include clearfix;\n}\n\n// Creates a wrapper for a series of columns\n@mixin make-row($gutter: $grid-gutter-width) {\n margin-left: ceil(($gutter / -2));\n margin-right: floor(($gutter / -2));\n @include clearfix;\n}\n\n// Generate the extra small columns\n@mixin make-xs-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage(($columns / $grid-columns));\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n}\n@mixin make-xs-column-offset($columns) {\n margin-left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-push($columns) {\n left: percentage(($columns / $grid-columns));\n}\n@mixin make-xs-column-pull($columns) {\n right: percentage(($columns / $grid-columns));\n}\n\n// Generate the small columns\n@mixin make-sm-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-sm-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-offset($columns) {\n @media (min-width: $screen-sm-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-push($columns) {\n @media (min-width: $screen-sm-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-sm-column-pull($columns) {\n @media (min-width: $screen-sm-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n\n// Generate the medium columns\n@mixin make-md-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-md-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-offset($columns) {\n @media (min-width: $screen-md-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-push($columns) {\n @media (min-width: $screen-md-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-md-column-pull($columns) {\n @media (min-width: $screen-md-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n\n// Generate the large columns\n@mixin make-lg-column($columns, $gutter: $grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: ($gutter / 2);\n padding-right: ($gutter / 2);\n\n @media (min-width: $screen-lg-min) {\n float: left;\n width: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-offset($columns) {\n @media (min-width: $screen-lg-min) {\n margin-left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-push($columns) {\n @media (min-width: $screen-lg-min) {\n left: percentage(($columns / $grid-columns));\n }\n}\n@mixin make-lg-column-pull($columns) {\n @media (min-width: $screen-lg-min) {\n right: percentage(($columns / $grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin make-grid-columns($i: 1, $list: \".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\") {\n @for $i from (1 + 1) through $grid-columns {\n $list: \"#{$list}, .col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}\";\n }\n #{$list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil(($grid-gutter-width / 2));\n padding-right: floor(($grid-gutter-width / 2));\n }\n}\n\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin float-grid-columns($class, $i: 1, $list: \".col-#{$class}-#{$i}\") {\n @for $i from (1 + 1) through $grid-columns {\n $list: \"#{$list}, .col-#{$class}-#{$i}\";\n }\n #{$list} {\n float: left;\n }\n}\n\n\n@mixin calc-grid-column($index, $class, $type) {\n @if ($type == width) and ($index > 0) {\n .col-#{$class}-#{$index} {\n width: percentage(($index / $grid-columns));\n }\n }\n @if ($type == push) and ($index > 0) {\n .col-#{$class}-push-#{$index} {\n left: percentage(($index / $grid-columns));\n }\n }\n @if ($type == push) and ($index == 0) {\n .col-#{$class}-push-0 {\n left: auto;\n }\n }\n @if ($type == pull) and ($index > 0) {\n .col-#{$class}-pull-#{$index} {\n right: percentage(($index / $grid-columns));\n }\n }\n @if ($type == pull) and ($index == 0) {\n .col-#{$class}-pull-0 {\n right: auto;\n }\n }\n @if ($type == offset) {\n .col-#{$class}-offset-#{$index} {\n margin-left: percentage(($index / $grid-columns));\n }\n }\n}\n\n// [converter] This is defined recursively in LESS, but Sass supports real loops\n@mixin loop-grid-columns($columns, $class, $type) {\n @for $i from 0 through $columns {\n @include calc-grid-column($i, $class, $type);\n }\n}\n\n\n// Create grid for specific class\n@mixin make-grid($class) {\n @include float-grid-columns($class);\n @include loop-grid-columns($grid-columns, $class, width);\n @include loop-grid-columns($grid-columns, $class, pull);\n @include loop-grid-columns($grid-columns, $class, push);\n @include loop-grid-columns($grid-columns, $class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: $table-bg;\n}\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: $line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n line-height: $line-height-base;\n vertical-align: top;\n border-top: 1px solid $table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid $table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid $table-border-color;\n }\n\n // Nesting\n .table {\n background-color: $body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid $table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid $table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: $table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: $table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n@include table-row-variant('active', $table-bg-active);\n@include table-row-variant('success', $state-success-bg);\n@include table-row-variant('info', $state-info-bg);\n@include table-row-variant('warning', $state-warning-bg);\n@include table-row-variant('danger', $state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: $screen-xs-max) {\n width: 100%;\n margin-bottom: ($line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid $table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.#{$state},\n > th.#{$state},\n &.#{$state} > td,\n &.#{$state} > th {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.#{$state}:hover,\n > th.#{$state}:hover,\n &.#{$state}:hover > td,\n &:hover > .#{$state},\n &.#{$state}:hover > th {\n background-color: darken($background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: $line-height-computed;\n font-size: ($font-size-base * 1.5);\n line-height: inherit;\n color: $legend-color;\n border: 0;\n border-bottom: 1px solid $legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n @include box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n @include tab-focus;\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: ($padding-base-vertical + 1);\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: $padding-base-vertical $padding-base-horizontal;\n font-size: $font-size-base;\n line-height: $line-height-base;\n color: $input-color;\n background-color: $input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid $input-border;\n border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus;\n\n // Placeholder\n @include placeholder;\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n border: 0;\n background-color: transparent;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: $input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n\n // [converter] extracted textarea& to textarea.form-control\n}\n\n// Reset height for `textarea`s\ntextarea.form-control {\n height: auto;\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: $input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: $input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: $input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n &.disabled,\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: $cursor-disabled;\n }\n }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n // Size it appropriately next to real form controls\n padding-top: ($padding-base-vertical + 1);\n padding-bottom: ($padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n min-height: ($line-height-computed + $font-size-base);\n\n &.input-lg,\n &.input-sm {\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n@include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);\n.form-group-sm {\n .form-control {\n height: $input-height-small;\n padding: $padding-small-vertical $padding-small-horizontal;\n font-size: $font-size-small;\n line-height: $line-height-small;\n border-radius: $input-border-radius-small;\n }\n select.form-control {\n height: $input-height-small;\n line-height: $input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: $input-height-small;\n min-height: ($line-height-computed + $font-size-small);\n padding: ($padding-small-vertical + 1) $padding-small-horizontal;\n font-size: $font-size-small;\n line-height: $line-height-small;\n }\n}\n\n@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);\n.form-group-lg {\n .form-control {\n height: $input-height-large;\n padding: $padding-large-vertical $padding-large-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-large;\n border-radius: $input-border-radius-large;\n }\n select.form-control {\n height: $input-height-large;\n line-height: $input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: $input-height-large;\n min-height: ($line-height-computed + $font-size-large);\n padding: ($padding-large-vertical + 1) $padding-large-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: ($input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: $input-height-base;\n height: $input-height-base;\n line-height: $input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: $input-height-large;\n height: $input-height-large;\n line-height: $input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: $input-height-small;\n height: $input-height-small;\n line-height: $input-height-small;\n}\n\n// Feedback states\n.has-success {\n @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);\n}\n.has-warning {\n @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);\n}\n.has-error {\n @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: ($line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten($text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n// [converter] extracted from `.form-inline` for libsass compatibility\n@mixin form-inline {\n\n // Kick in the inline\n @media (min-width: $screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n// [converter] extracted as `@mixin form-inline` for libsass compatibility\n.form-inline {\n @include form-inline;\n}\n\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: ($padding-base-vertical + 1); // Default padding plus a border\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: ($line-height-computed + ($padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n @include make-row;\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: $screen-sm-min) {\n .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: ($padding-base-vertical + 1); // Default padding plus a border\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor(($grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: $screen-sm-min) {\n .control-label {\n padding-top: ($padding-large-vertical + 1);\n font-size: $font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: $screen-sm-min) {\n .control-label {\n padding-top: ($padding-small-vertical + 1);\n font-size: $font-size-small;\n }\n }\n }\n}\n","// @doc off\n// These defaults make the arguments optional for this mixin\n// If you like, set different defaults before importing.\n// @doc on\n\n@import \"shared\";\n\n\n// The default color for box shadows\n$default-box-shadow-color: #333333 !default;\n\n// The default horizontal offset. Positive is to the right.\n$default-box-shadow-h-offset: 0px !default;\n\n// The default vertical offset. Positive is down.\n$default-box-shadow-v-offset: 0px !default;\n\n// The default blur length.\n$default-box-shadow-blur: 5px !default;\n\n// The default spread length.\n$default-box-shadow-spread : false !default;\n\n// The default shadow inset: inset or false (for standard shadow).\n$default-box-shadow-inset : false !default;\n\n// Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box\n// shadows are needed.\n// Each shadow argument should adhere to the standard css3 syntax for the\n// box-shadow property.\n@mixin box-shadow(\n $shadow-1 : default,\n $shadow-2 : false,\n $shadow-3 : false,\n $shadow-4 : false,\n $shadow-5 : false,\n $shadow-6 : false,\n $shadow-7 : false,\n $shadow-8 : false,\n $shadow-9 : false,\n $shadow-10: false\n) {\n @if $shadow-1 == default {\n $shadow-1 : -compass-space-list(compact(if($default-box-shadow-inset, inset, false), $default-box-shadow-h-offset, $default-box-shadow-v-offset, $default-box-shadow-blur, $default-box-shadow-spread, $default-box-shadow-color));\n }\n $shadow : compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10);\n @include experimental(box-shadow, $shadow,\n -moz, -webkit, not(-o), not(-ms), not(-khtml), official\n );\n}\n\n// Provides a single cross-browser CSS box shadow for Webkit, Gecko, and CSS3.\n// Includes default arguments for color, horizontal offset, vertical offset, blur length, spread length, and inset.\n@mixin single-box-shadow(\n $color : $default-box-shadow-color,\n $hoff : $default-box-shadow-h-offset,\n $voff : $default-box-shadow-v-offset,\n $blur : $default-box-shadow-blur,\n $spread : $default-box-shadow-spread,\n $inset : $default-box-shadow-inset\n) {\n @if not ($inset == true or $inset == false or $inset == inset) {\n @warn \"$inset expected to be true or the inset keyword. Got #{$inset} instead. Using: inset\";\n }\n\n @if $color == none {\n @include box-shadow(none);\n } @else {\n $full : $hoff $voff;\n @if $blur { $full: $full $blur; }\n @if $spread { $full: $full $spread; }\n @if $color { $full: $full $color; }\n @if $inset { $full: inset $full; }\n @include box-shadow($full);\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n@mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: $text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: $border-color;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n &:focus {\n border-color: darken($border-color, 10%);\n $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);\n @include box-shadow($shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: $text-color;\n border-color: $border-color;\n background-color: $background-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: $text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($color: $input-border-focus) {\n $color-rgba: rgba(red($color), green($color), blue($color), .6);\n &:focus {\n border-color: $color;\n outline: 0;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n// [converter] $parent hack\n@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n #{$parent} {\n height: $input-height;\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n border-radius: $border-radius;\n }\n\n select#{$parent} {\n height: $input-height;\n line-height: $input-height;\n }\n\n textarea#{$parent},\n select[multiple]#{$parent} {\n height: auto;\n }\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n@mixin animation($animation) {\n -webkit-animation: $animation;\n -o-animation: $animation;\n animation: $animation;\n}\n@mixin animation-name($name) {\n -webkit-animation-name: $name;\n animation-name: $name;\n}\n@mixin animation-duration($duration) {\n -webkit-animation-duration: $duration;\n animation-duration: $duration;\n}\n@mixin animation-timing-function($timing-function) {\n -webkit-animation-timing-function: $timing-function;\n animation-timing-function: $timing-function;\n}\n@mixin animation-delay($delay) {\n -webkit-animation-delay: $delay;\n animation-delay: $delay;\n}\n@mixin animation-iteration-count($iteration-count) {\n -webkit-animation-iteration-count: $iteration-count;\n animation-iteration-count: $iteration-count;\n}\n@mixin animation-direction($direction) {\n -webkit-animation-direction: $direction;\n animation-direction: $direction;\n}\n@mixin animation-fill-mode($fill-mode) {\n -webkit-animation-fill-mode: $fill-mode;\n animation-fill-mode: $fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n@mixin backface-visibility($visibility) {\n -webkit-backface-visibility: $visibility;\n -moz-backface-visibility: $visibility;\n backface-visibility: $visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n@mixin box-shadow($shadow...) {\n -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1\n box-shadow: $shadow;\n}\n\n// Box sizing\n@mixin box-sizing($boxmodel) {\n -webkit-box-sizing: $boxmodel;\n -moz-box-sizing: $boxmodel;\n box-sizing: $boxmodel;\n}\n\n// CSS3 Content Columns\n@mixin content-columns($column-count, $column-gap: $grid-gutter-width) {\n -webkit-column-count: $column-count;\n -moz-column-count: $column-count;\n column-count: $column-count;\n -webkit-column-gap: $column-gap;\n -moz-column-gap: $column-gap;\n column-gap: $column-gap;\n}\n\n// Optional hyphenation\n@mixin hyphens($mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: $mode;\n -moz-hyphens: $mode;\n -ms-hyphens: $mode; // IE10+\n -o-hyphens: $mode;\n hyphens: $mode;\n}\n\n// Placeholder text\n@mixin placeholder($color: $input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: $color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: $color; } // Safari and Chrome\n}\n\n// Transformations\n@mixin scale($ratio...) {\n -webkit-transform: scale($ratio);\n -ms-transform: scale($ratio); // IE9 only\n -o-transform: scale($ratio);\n transform: scale($ratio);\n}\n\n@mixin scaleX($ratio) {\n -webkit-transform: scaleX($ratio);\n -ms-transform: scaleX($ratio); // IE9 only\n -o-transform: scaleX($ratio);\n transform: scaleX($ratio);\n}\n@mixin scaleY($ratio) {\n -webkit-transform: scaleY($ratio);\n -ms-transform: scaleY($ratio); // IE9 only\n -o-transform: scaleY($ratio);\n transform: scaleY($ratio);\n}\n@mixin skew($x, $y) {\n -webkit-transform: skewX($x) skewY($y);\n -ms-transform: skewX($x) skewY($y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX($x) skewY($y);\n transform: skewX($x) skewY($y);\n}\n@mixin translate($x, $y) {\n -webkit-transform: translate($x, $y);\n -ms-transform: translate($x, $y); // IE9 only\n -o-transform: translate($x, $y);\n transform: translate($x, $y);\n}\n@mixin translate3d($x, $y, $z) {\n -webkit-transform: translate3d($x, $y, $z);\n transform: translate3d($x, $y, $z);\n}\n@mixin rotate($degrees) {\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees); // IE9 only\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n@mixin rotateX($degrees) {\n -webkit-transform: rotateX($degrees);\n -ms-transform: rotateX($degrees); // IE9 only\n -o-transform: rotateX($degrees);\n transform: rotateX($degrees);\n}\n@mixin rotateY($degrees) {\n -webkit-transform: rotateY($degrees);\n -ms-transform: rotateY($degrees); // IE9 only\n -o-transform: rotateY($degrees);\n transform: rotateY($degrees);\n}\n@mixin perspective($perspective) {\n -webkit-perspective: $perspective;\n -moz-perspective: $perspective;\n perspective: $perspective;\n}\n@mixin perspective-origin($perspective) {\n -webkit-perspective-origin: $perspective;\n -moz-perspective-origin: $perspective;\n perspective-origin: $perspective;\n}\n@mixin transform-origin($origin) {\n -webkit-transform-origin: $origin;\n -moz-transform-origin: $origin;\n -ms-transform-origin: $origin; // IE9 only\n transform-origin: $origin;\n}\n\n\n// Transitions\n\n@mixin transition($transition...) {\n -webkit-transition: $transition;\n -o-transition: $transition;\n transition: $transition;\n}\n@mixin transition-property($transition-property...) {\n -webkit-transition-property: $transition-property;\n transition-property: $transition-property;\n}\n@mixin transition-delay($transition-delay) {\n -webkit-transition-delay: $transition-delay;\n transition-delay: $transition-delay;\n}\n@mixin transition-duration($transition-duration...) {\n -webkit-transition-duration: $transition-duration;\n transition-duration: $transition-duration;\n}\n@mixin transition-timing-function($timing-function) {\n -webkit-transition-timing-function: $timing-function;\n transition-timing-function: $timing-function;\n}\n@mixin transition-transform($transition...) {\n -webkit-transition: -webkit-transform $transition;\n -moz-transition: -moz-transform $transition;\n -o-transition: -o-transform $transition;\n transition: transform $transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n@mixin user-select($select) {\n -webkit-user-select: $select;\n -moz-user-select: $select;\n -ms-user-select: $select; // IE10+\n user-select: $select;\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: $btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $btn-border-radius-base);\n @include user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n @include tab-focus;\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: $btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: $cursor-disabled;\n @include opacity(.65);\n @include box-shadow(none);\n }\n\n // [converter] extracted a& to a.btn\n}\n\na.btn {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);\n}\n.btn-primary {\n @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: $link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n @include box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n @include button-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n @include button-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n.btn-xs {\n @include button-size($padding-xs-vertical, $padding-xs-horizontal, $font-size-small, $line-height-small, $btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($color, $background, $border) {\n color: $color;\n background-color: $background;\n border-color: $border;\n\n &:focus,\n &.focus {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 25%);\n }\n &:hover {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 12%);\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n color: $color;\n background-color: darken($background, 10%);\n border-color: darken($border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: $color;\n background-color: darken($background, 17%);\n border-color: darken($border, 25%);\n }\n }\n &:active,\n &.active,\n .open > &.dropdown-toggle {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: $background;\n border-color: $border;\n }\n }\n\n .badge {\n color: $background;\n background-color: $color;\n }\n}\n\n// Button sizes\n@mixin button-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n border-radius: $border-radius;\n}\n","@import \"shared\";\n\n// Provides cross-browser CSS opacity. Takes a number between 0 and 1 as the argument, e.g. 0.5 for 50% opacity.\n//\n// @param $opacity\n// A number between 0 and 1, where 0 is transparent and 1 is opaque.\n\n@mixin opacity($opacity) {\n @if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {\n filter: unquote(\"progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})\");\n }\n opacity: $opacity;\n}\n\n// Make an element completely transparent.\n@mixin transparent { @include opacity(0); }\n\n// Make an element completely opaque.\n@mixin opaque { @include opacity(1); }\n","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n@at-root {\n // Import the fonts\n @font-face {\n font-family: 'Glyphicons Halflings';\n src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot'));\n src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff2'), '#{$icon-font-path}#{$icon-font-name}.woff2')) format('woff2'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'),\n url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg');\n }\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n @include transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n // [converter] extracted tr&.in to tr.collapse.in\n // [converter] extracted tbody&.in to tbody.collapse.in\n}\n\ntr.collapse.in { display: table-row; }\n\ntbody.collapse.in { display: table-row-group; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition-property(height, visibility);\n @include transition-duration(.35s);\n @include transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: $caret-width-base dashed;\n border-top: $caret-width-base solid \\9; // IE8\n border-right: $caret-width-base solid transparent;\n border-left: $caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: $font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: $dropdown-bg;\n border: 1px solid $dropdown-fallback-border; // IE8 fallback\n border: 1px solid $dropdown-border;\n border-radius: $border-radius-base;\n @include box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n @include nav-divider($dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: $line-height-base;\n color: $dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: $dropdown-link-hover-color;\n background-color: $dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: $dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: $dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n @include reset-filter;\n cursor: $cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: $font-size-small;\n line-height: $line-height-base;\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: ($zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: $caret-width-base dashed;\n border-bottom: $caret-width-base solid \\9; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: $grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n right: 0; left: auto;\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n left: 0; right: auto;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: #e5e5e5) {\n height: 1px;\n margin: (($line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: $color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n@mixin reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n @include clearfix;\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n @include border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n @include border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { @extend .btn-xs; }\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: $caret-width-large $caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 $caret-width-large $caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n @include clearfix;\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n @include border-top-radius($btn-border-radius-base);\n @include border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n @include border-top-radius(0);\n @include border-bottom-radius($btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n @include border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n @include border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n @extend .input-lg;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n @extend .input-sm;\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: $padding-base-vertical $padding-base-horizontal;\n font-size: $font-size-base;\n font-weight: normal;\n line-height: 1;\n color: $input-color;\n text-align: center;\n background-color: $input-group-addon-bg;\n border: 1px solid $input-group-addon-border-color;\n border-radius: $input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: $padding-small-vertical $padding-small-horizontal;\n font-size: $font-size-small;\n border-radius: $input-border-radius-small;\n }\n &.input-lg {\n padding: $padding-large-vertical $padding-large-horizontal;\n font-size: $font-size-large;\n border-radius: $input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n @include clearfix;\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: $nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: $nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: $nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: $nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: $cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $nav-link-hover-bg;\n border-color: $link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n @include nav-divider;\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid $nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: $line-height-base;\n border: 1px solid transparent;\n border-radius: $border-radius-base $border-radius-base 0 0;\n &:hover {\n border-color: $nav-tabs-link-hover-border-color $nav-tabs-link-hover-border-color $nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: $nav-tabs-active-link-hover-color;\n background-color: $nav-tabs-active-link-hover-bg;\n border: 1px solid $nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n @extend .nav-justified;\n @extend .nav-tabs-justified;\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: $nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: $nav-pills-active-link-hover-color;\n background-color: $nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: $screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: $border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid $nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: $screen-sm-min) {\n > li > a {\n border-bottom: 1px solid $nav-tabs-justified-link-border-color;\n border-radius: $border-radius-base $border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: $nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: $navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n @include clearfix;\n\n @media (min-width: $grid-float-breakpoint) {\n border-radius: $navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n @include clearfix;\n\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: $navbar-padding-horizontal;\n padding-left: $navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n @include clearfix;\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: $navbar-collapse-max-height;\n\n @media (max-device-width: $screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -$navbar-padding-horizontal;\n margin-left: -$navbar-padding-horizontal;\n\n @media (min-width: $grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: $zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: $grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: $zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: $grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: $navbar-padding-vertical $navbar-padding-horizontal;\n font-size: $font-size-large;\n line-height: $line-height-computed;\n height: $navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -$navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: $navbar-padding-horizontal;\n padding: 9px 10px;\n @include navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: $border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: $grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: $line-height-computed;\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: $line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: $navbar-padding-vertical;\n padding-bottom: $navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -$navbar-padding-horizontal;\n margin-right: -$navbar-padding-horizontal;\n padding: 10px $navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n @include box-shadow($shadow);\n\n // Mixin behavior for optimum display\n @include form-inline;\n\n .form-group {\n @media (max-width: $grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n @include navbar-vertical-align($input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: $grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n @include box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n @include border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n @include border-top-radius($navbar-border-radius);\n @include border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n @include navbar-vertical-align($input-height-base);\n\n &.btn-sm {\n @include navbar-vertical-align($input-height-small);\n }\n &.btn-xs {\n @include navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n @include navbar-vertical-align($line-height-computed);\n\n @media (min-width: $grid-float-breakpoint) {\n float: left;\n margin-left: $navbar-padding-horizontal;\n margin-right: $navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: $grid-float-breakpoint) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -$navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: $navbar-default-bg;\n border-color: $navbar-default-border;\n\n .navbar-brand {\n color: $navbar-default-brand-color;\n &:hover,\n &:focus {\n color: $navbar-default-brand-hover-color;\n background-color: $navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: $navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: $navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n background-color: $navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-active-color;\n background-color: $navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n background-color: $navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: $navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: $navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: $navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: $navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $navbar-default-link-active-bg;\n color: $navbar-default-link-active-color;\n }\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: $navbar-default-link-color;\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n background-color: $navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-active-color;\n background-color: $navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n background-color: $navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: $navbar-default-link-color;\n &:hover {\n color: $navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: $navbar-default-link-color;\n &:hover,\n &:focus {\n color: $navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: $navbar-inverse-bg;\n border-color: $navbar-inverse-border;\n\n .navbar-brand {\n color: $navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-brand-hover-color;\n background-color: $navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: $navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: $navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n background-color: $navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-active-color;\n background-color: $navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n background-color: $navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: $navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: $navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: $navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken($navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: $navbar-inverse-link-active-bg;\n color: $navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: $grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: $navbar-inverse-border;\n }\n .divider {\n background-color: $navbar-inverse-border;\n }\n > li > a {\n color: $navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n background-color: $navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-active-color;\n background-color: $navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n background-color: $navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: $navbar-inverse-link-color;\n &:hover {\n color: $navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: $navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: $navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: $navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n@mixin navbar-vertical-align($element-height) {\n margin-top: (($navbar-height - $element-height) / 2);\n margin-bottom: (($navbar-height - $element-height) / 2);\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal;\n margin-bottom: $line-height-computed;\n list-style: none;\n background-color: $breadcrumb-bg;\n border-radius: $border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n // [converter] Workaround for https://github.com/sass/libsass/issues/1115\n $nbsp: \"\\00a0\";\n content: \"#{$breadcrumb-separator}#{$nbsp}\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: $breadcrumb-color;\n }\n }\n\n > .active {\n color: $breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: $line-height-computed 0;\n border-radius: $border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: $padding-base-vertical $padding-base-horizontal;\n line-height: $line-height-base;\n text-decoration: none;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: 1px solid $pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n @include border-left-radius($border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n @include border-right-radius($border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: $pagination-hover-color;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: $pagination-disabled-color;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border;\n cursor: $cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n @include pagination-size($padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $border-radius-large);\n}\n\n// Small\n.pagination-sm {\n @include pagination-size($padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small);\n}\n","// Pagination\n\n@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {\n > li {\n > a,\n > span {\n padding: $padding-vertical $padding-horizontal;\n font-size: $font-size;\n line-height: $line-height;\n }\n &:first-child {\n > a,\n > span {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: $line-height-computed 0;\n list-style: none;\n text-align: center;\n @include clearfix;\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: $pager-bg;\n border: 1px solid $pager-border;\n border-radius: $pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: $pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: $pager-disabled-color;\n background-color: $pager-bg;\n cursor: $cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: $label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // [converter] extracted a& to a.label\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Add hover effects, but only for links\na.label {\n &:hover,\n &:focus {\n color: $label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n @include label-variant($label-default-bg);\n}\n\n.label-primary {\n @include label-variant($label-primary-bg);\n}\n\n.label-success {\n @include label-variant($label-success-bg);\n}\n\n.label-info {\n @include label-variant($label-info-bg);\n}\n\n.label-warning {\n @include label-variant($label-warning-bg);\n}\n\n.label-danger {\n @include label-variant($label-danger-bg);\n}\n","// Labels\n\n@mixin label-variant($color) {\n background-color: $color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken($color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: $font-size-small;\n font-weight: $badge-font-weight;\n color: $badge-color;\n line-height: $badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: $badge-bg;\n border-radius: $badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // [converter] extracted a& to a.badge\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: $badge-active-color;\n background-color: $badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n\n// Hover state, but only for links\na.badge {\n &:hover,\n &:focus {\n color: $badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: $jumbotron-padding;\n padding-bottom: $jumbotron-padding;\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n\n h1,\n .h1 {\n color: $jumbotron-heading-color;\n }\n\n p {\n margin-bottom: ($jumbotron-padding / 2);\n font-size: $jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken($jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: ($grid-gutter-width / 2);\n padding-right: ($grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: $screen-sm-min) {\n padding-top: ($jumbotron-padding * 1.6);\n padding-bottom: ($jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: ($jumbotron-padding * 2);\n padding-right: ($jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: $jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: $thumbnail-padding;\n margin-bottom: $line-height-computed;\n line-height: $line-height-base;\n background-color: $thumbnail-bg;\n border: 1px solid $thumbnail-border;\n border-radius: $thumbnail-border-radius;\n @include transition(border .2s ease-in-out);\n\n > img,\n a > img {\n @include img-responsive;\n margin-left: auto;\n margin-right: auto;\n }\n\n // [converter] extracted a&:hover, a&:focus, a&.active to a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active\n\n // Image captions\n .caption {\n padding: $thumbnail-caption-padding;\n color: $thumbnail-caption-color;\n }\n}\n\n// Add a hover state for linked versions only\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: $link-color;\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: $alert-padding;\n margin-bottom: $line-height-computed;\n border: 1px solid transparent;\n border-radius: $alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing $headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: $alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: ($alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);\n}\n\n.alert-info {\n @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);\n}\n\n.alert-warning {\n @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);\n}\n\n.alert-danger {\n @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);\n}\n","// Alerts\n\n@mixin alert-variant($background, $border, $text-color) {\n background-color: $background;\n border-color: $border;\n color: $text-color;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n .alert-link {\n color: darken($text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: $line-height-computed;\n margin-bottom: $line-height-computed;\n background-color: $progress-bg;\n border-radius: $progress-border-radius;\n @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: $font-size-small;\n line-height: $line-height-computed;\n color: $progress-bar-color;\n text-align: center;\n background-color: $progress-bar-bg;\n @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n @include transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n @include gradient-striped;\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n @include animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n @include progress-bar-variant($progress-bar-success-bg);\n}\n\n.progress-bar-info {\n @include progress-bar-variant($progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n @include progress-bar-variant($progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n @include progress-bar-variant($progress-bar-danger-bg);\n}\n","// Gradients\n\n\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n// Color stops are not available in IE9 and below.\n@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n// Color stops are not available in IE9 and below.\n@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down\n}\n\n@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12\n background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n}\n@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);\n background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback\n}\n@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {\n background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback\n}\n@mixin gradient-radial($inner-color: #555, $outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {\n background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Progress bars\n\n@mixin progress-bar-variant($color) {\n background-color: $color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n @include gradient-striped;\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: $list-group-bg;\n border: 1px solid $list-group-border;\n\n // Round the first and last items\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n @include border-bottom-radius($list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: $list-group-link-color;\n\n .list-group-item-heading {\n color: $list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: $list-group-link-hover-color;\n background-color: $list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: $list-group-disabled-bg;\n color: $list-group-disabled-color;\n cursor: $cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: $list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: $list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@include list-group-item-variant(success, $state-success-bg, $state-success-text);\n@include list-group-item-variant(info, $state-info-bg, $state-info-text);\n@include list-group-item-variant(warning, $state-warning-bg, $state-warning-text);\n@include list-group-item-variant(danger, $state-danger-bg, $state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n // [converter] extracted a&, button& to a.list-group-item-#{$state}, button.list-group-item-#{$state}\n }\n\n a.list-group-item-#{$state},\n button.list-group-item-#{$state} {\n color: $color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: $color;\n border-color: $color;\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: $line-height-computed;\n background-color: $panel-bg;\n border: 1px solid transparent;\n border-radius: $panel-border-radius;\n @include box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: $panel-body-padding;\n @include clearfix;\n}\n\n// Optional heading\n.panel-heading {\n padding: $panel-heading-padding;\n border-bottom: 1px solid transparent;\n @include border-top-radius(($panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil(($font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: $panel-footer-padding;\n background-color: $panel-footer-bg;\n border-top: 1px solid $panel-inner-border;\n @include border-bottom-radius(($panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n @include border-top-radius(($panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n @include border-bottom-radius(($panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n @include border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: $panel-body-padding;\n padding-right: $panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n @include border-top-radius(($panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: ($panel-border-radius - 1);\n border-top-right-radius: ($panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: ($panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: ($panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n @include border-bottom-radius(($panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: ($panel-border-radius - 1);\n border-bottom-right-radius: ($panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: ($panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: ($panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid $table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: $line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: $panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid $panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid $panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n @include panel-variant($panel-default-border, $panel-default-text, $panel-default-heading-bg, $panel-default-border);\n}\n.panel-primary {\n @include panel-variant($panel-primary-border, $panel-primary-text, $panel-primary-heading-bg, $panel-primary-border);\n}\n.panel-success {\n @include panel-variant($panel-success-border, $panel-success-text, $panel-success-heading-bg, $panel-success-border);\n}\n.panel-info {\n @include panel-variant($panel-info-border, $panel-info-text, $panel-info-heading-bg, $panel-info-border);\n}\n.panel-warning {\n @include panel-variant($panel-warning-border, $panel-warning-text, $panel-warning-heading-bg, $panel-warning-border);\n}\n.panel-danger {\n @include panel-variant($panel-danger-border, $panel-danger-text, $panel-danger-heading-bg, $panel-danger-border);\n}\n","// Panels\n\n@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {\n border-color: $border;\n\n & > .panel-heading {\n color: $heading-text-color;\n background-color: $heading-bg-color;\n border-color: $heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: $border;\n }\n .badge {\n color: $heading-bg-color;\n background-color: $heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: $border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: $well-bg;\n border: 1px solid $well-border;\n border-radius: $border-radius-base;\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: $border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: $border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: ($font-size-base * 1.5);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n @include opacity(.2);\n\n &:hover,\n &:focus {\n color: $close-color;\n text-decoration: none;\n cursor: pointer;\n @include opacity(.5);\n }\n\n // [converter] extracted button& to button.close\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n @include translate(0, -25%);\n @include transition-transform(0.3s ease-out);\n }\n &.in .modal-dialog { @include translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: $modal-content-bg;\n border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid $modal-content-border-color;\n border-radius: $border-radius-large;\n @include box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-modal-background;\n background-color: $modal-backdrop-bg;\n // Fade for backdrop\n &.fade { @include opacity(0); }\n &.in { @include opacity($modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: $modal-title-padding;\n border-bottom: 1px solid $modal-header-border-color;\n @include clearfix;\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: $modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid $modal-footer-border-color;\n @include clearfix; // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: $screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: $modal-md;\n margin: 30px auto;\n }\n .modal-content {\n @include box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: $modal-sm; }\n}\n\n@media (min-width: $screen-md-min) {\n .modal-lg { width: $modal-lg; }\n}\n","@import \"shared\";\n\n// @doc off\n// Note ----------------------------------------------------------------------\n// Safari, Chrome, and Firefox all support 3D transforms. However,\n// only in the most recent builds. You should also provide fallback 2d support for\n// Opera and IE. IE10 is slated to have 3d enabled, but is currently unreleased.\n// To make that easy, all 2D transforms include an browser-targeting toggle ($only3d)\n// to switch between the two support lists. The toggle defaults to 'false' (2D),\n// and also accepts 'true' (3D). Currently the lists are as follows:\n// 2D: Mozilla, Webkit, Opera, Official\n// 3D: Webkit, Firefox.\n\n// Available Transforms ------------------------------------------------------\n// - Scale (2d and 3d)\n// - Rotate (2d and 3d)\n// - Translate (2d and 3d)\n// - Skew (2d only)\n\n// Transform Parameters ------------------------------------------------------\n// - Transform Origin (2d and 3d)\n// - Perspective (3d)\n// - Perspective Origin (3d)\n// - Transform Style (3d)\n// - Backface Visibility (3d)\n\n// Mixins --------------------------------------------------------------------\n// transform-origin\n// - shortcuts: transform-origin2d, transform-origin3d\n// - helpers: apply-origin\n// transform\n// - shortcuts: transform2d, transform3d\n// - helpers: simple-transform, create-transform\n// perspective\n// - helpers: perspective-origin\n// transform-style\n// backface-visibility\n// scale\n// - shortcuts: scaleX, scaleY, scaleZ, scale3d\n// rotate\n// - shortcuts: rotateX, rotateY, rotate3d\n// translate\n// - shortcuts: translateX, translateY, translateZ, translate3d\n// skew\n// - shortcuts: skewX, skewY\n\n// Defaults ------------------------------------------------------------------\n// @doc on\n\n// The default x-origin for transforms\n$default-origin-x : 50% !default;\n// The default y-origin for transforms\n$default-origin-y : 50% !default;\n// The default z-origin for transforms\n$default-origin-z : 50% !default;\n\n\n// The default x-multiplier for scaling\n$default-scale-x : 1.25 !default;\n// The default y-multiplier for scaling\n$default-scale-y : $default-scale-x !default;\n// The default z-multiplier for scaling\n$default-scale-z : $default-scale-x !default;\n\n\n// The default angle for rotations\n$default-rotate : 45deg !default;\n\n\n// The default x-vector for the axis of 3d rotations\n$default-vector-x : 1 !default;\n// The default y-vector for the axis of 3d rotations\n$default-vector-y : 1 !default;\n// The default z-vector for the axis of 3d rotations\n$default-vector-z : 1 !default;\n\n\n// The default x-length for translations\n$default-translate-x : 1em !default;\n// The default y-length for translations\n$default-translate-y : $default-translate-x !default;\n// The default z-length for translations\n$default-translate-z : $default-translate-x !default;\n\n\n// The default x-angle for skewing\n$default-skew-x : 5deg !default;\n// The default y-angle for skewing\n$default-skew-y : 5deg !default;\n\n\n// **Transform-origin**\n// Transform-origin sent as a complete string\n//\n// @include apply-origin( origin [, 3D-only ] )\n//\n// where 'origin' is a space separated list containing 1-3 (x/y/z) coordinates\n// in percentages, absolute (px, cm, in, em etc..) or relative\n// (left, top, right, bottom, center) units\n//\n// @param only3d Set this to true to only apply this\n// mixin where browsers have 3D support.\n@mixin apply-origin($origin, $only3d) {\n $only3d: $only3d or -compass-list-size(-compass-list($origin)) > 2;\n @if $only3d {\n @include experimental(transform-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n } @else {\n @include experimental(transform-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n }\n}\n\n// Transform-origin sent as individual arguments:\n//\n// @include transform-origin( [ origin-x, origin-y, origin-z, 3D-only ] )\n//\n// where the 3 'origin-' arguments represent x/y/z coordinates.\n//\n// **NOTE:** setting z coordinates triggers 3D support list, leave false for 2D support\n@mixin transform-origin(\n $origin-x: $default-origin-x,\n $origin-y: $default-origin-y,\n $origin-z: false,\n $only3d: if($origin-z, true, false)\n) {\n $origin: unquote('');\n @if $origin-x or $origin-y or $origin-z {\n @if $origin-x { $origin: $origin-x; } @else { $origin: 50%; }\n @if $origin-y { $origin: $origin $origin-y; } @else { @if $origin-z { $origin: $origin 50%; }}\n @if $origin-z { $origin: $origin $origin-z; }\n @include apply-origin($origin, $only3d);\n }\n}\n\n\n// Transform sent as a complete string:\n//\n// @include transform( transforms [, 3D-only ] )\n//\n// where 'transforms' is a space separated list of all the transforms to be applied.\n@mixin transform(\n $transform,\n $only3d: false\n) {\n @if $only3d {\n @include experimental(transform, $transform,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n } @else {\n @include experimental(transform, $transform,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n }\n}\n\n// Shortcut to target all browsers with 2D transform support\n@mixin transform2d($trans) {\n @include transform($trans, false);\n}\n\n// Shortcut to target only browsers with 3D transform support\n@mixin transform3d($trans) {\n @include transform($trans, true);\n}\n\n// @doc off\n// 3D Parameters -------------------------------------------------------------\n// @doc on\n\n// Set the perspective of 3D transforms on the children of an element:\n//\n// @include perspective( perspective )\n//\n// where 'perspective' is a unitless number representing the depth of the\n// z-axis. The higher the perspective, the more exaggerated the foreshortening.\n// values from 500 to 1000 are more-or-less \"normal\" - a good starting-point.\n@mixin perspective($p) {\n @include experimental(perspective, $p,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Set the origin position for the perspective\n//\n// @include perspective-origin(origin-x [origin-y])\n//\n// where the two arguments represent x/y coordinates\n@mixin perspective-origin($origin: 50%) {\n @include experimental(perspective-origin, $origin,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Determine whether a 3D objects children also live in the given 3D space\n//\n// @include transform-style( [ style ] )\n//\n// where `style` can be either `flat` or `preserve-3d`.\n// Browsers default to `flat`, mixin defaults to `preserve-3d`.\n@mixin transform-style($style: preserve-3d) {\n @include experimental(transform-style, $style,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// Determine the visibility of an element when it's back is turned\n//\n// @include backface-visibility( [ visibility ] )\n//\n// where `visibility` can be either `visible` or `hidden`.\n// Browsers default to visible, mixin defaults to hidden\n@mixin backface-visibility($visibility: hidden) {\n @include experimental(backface-visibility, $visibility,\n -moz, -webkit, -o, -ms, not(-khtml), official\n );\n}\n\n// @doc off\n// Transform Partials --------------------------------------------------------\n// These work well on their own, but they don't add to each other, they override.\n// Use along with transform parameter mixins to adjust origin, perspective and style\n// ---------------------------------------------------------------------------\n\n\n// Scale ---------------------------------------------------------------------\n// @doc on\n\n// Scale an object along the x and y axis:\n//\n// @include scale( [ scale-x, scale-y, perspective, 3D-only ] )\n//\n// where the 'scale-' arguments are unitless multipliers of the x and y dimensions\n// and perspective, which works the same as the stand-alone perspective property/mixin\n// but applies to the individual element (multiplied with any parent perspective)\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scale(\n $scale-x: $default-scale-x,\n $scale-y: $scale-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: scale($scale-x, $scale-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the x axis\n// @include scaleX( [ scale-x, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleX(\n $scale: $default-scale-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: scaleX($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the y axis\n// @include scaleY( [ scale-y, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleY(\n $scale: $default-scale-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: scaleY($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Scale an object along the z axis\n// @include scaleZ( [ scale-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scaleZ(\n $scale: $default-scale-z,\n $perspective: false\n) {\n $trans: scaleZ($scale);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Scale and object along all three axis\n// @include scale3d( [ scale-x, scale-y, scale-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin scale3d(\n $scale-x: $default-scale-x,\n $scale-y: $default-scale-y,\n $scale-z: $default-scale-z,\n $perspective: false\n) {\n $trans: scale3d($scale-x, $scale-y, $scale-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Rotate --------------------------------------------------------------------\n// @doc on\n\n// Rotate an object around the z axis (2D)\n// @include rotate( [ rotation, perspective, 3D-only ] )\n// where 'rotation' is an angle set in degrees (deg) or radian (rad) units\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotate(\n $rotate: $default-rotate,\n $perspective: false,\n $only3d: false\n) {\n $trans: rotate($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// A longcut for 'rotate' in case you forget that 'z' is implied\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateZ(\n $rotate: $default-rotate,\n $perspective: false,\n $only3d: false\n) {\n @include rotate($rotate, $perspective, $only3d);\n}\n\n// Rotate an object around the x axis (3D)\n// @include rotateX( [ rotation, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateX(\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotateX($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Rotate an object around the y axis (3D)\n// @include rotate( [ rotation, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotateY(\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotateY($rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Rotate an object around an arbitrary axis (3D)\n// @include rotate( [ vector-x, vector-y, vector-z, rotation, perspective ] )\n// where the 'vector-' arguments accept unitless numbers.\n// These numbers are not important on their own, but in relation to one another\n// creating an axis from your transform-origin, along the axis of Xx = Yy = Zz.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin rotate3d(\n $vector-x: $default-vector-x,\n $vector-y: $default-vector-y,\n $vector-z: $default-vector-z,\n $rotate: $default-rotate,\n $perspective: false\n) {\n $trans: rotate3d($vector-x, $vector-y, $vector-z, $rotate);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Translate -----------------------------------------------------------------\n// @doc on\n\n// Move an object along the x or y axis (2D)\n// @include translate( [ translate-x, translate-y, perspective, 3D-only ] )\n// where the 'translate-' arguments accept any distance in percentages or absolute (px, cm, in, em etc..) units.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translate(\n $translate-x: $default-translate-x,\n $translate-y: $default-translate-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: translate($translate-x, $translate-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the x axis (2D)\n// @include translate( [ translate-x, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateX(\n $trans-x: $default-translate-x,\n $perspective: false,\n $only3d: false\n) {\n $trans: translateX($trans-x);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the y axis (2D)\n// @include translate( [ translate-y, perspective, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateY(\n $trans-y: $default-translate-y,\n $perspective: false,\n $only3d: false\n) {\n $trans: translateY($trans-y);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform($trans, $only3d);\n}\n\n// Move an object along the z axis (3D)\n// @include translate( [ translate-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translateZ(\n $trans-z: $default-translate-z,\n $perspective: false\n) {\n $trans: translateZ($trans-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// Move an object along the x, y and z axis (3D)\n// @include translate( [ translate-x, translate-y, translate-z, perspective ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin translate3d(\n $translate-x: $default-translate-x,\n $translate-y: $default-translate-y,\n $translate-z: $default-translate-z,\n $perspective: false\n) {\n $trans: translate3d($translate-x, $translate-y, $translate-z);\n @if $perspective { $trans: perspective($perspective) $trans; }\n @include transform3d($trans);\n}\n\n// @doc off\n// Skew ----------------------------------------------------------------------\n// @doc on\n\n// Skew an element:\n//\n// @include skew( [ skew-x, skew-y, 3D-only ] )\n//\n// where the 'skew-' arguments accept css angles in degrees (deg) or radian (rad) units.\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skew(\n $skew-x: $default-skew-x,\n $skew-y: $default-skew-y,\n $only3d: false\n) {\n $trans: skew($skew-x, $skew-y);\n @include transform($trans, $only3d);\n}\n\n// Skew an element along the x axiz\n//\n// @include skew( [ skew-x, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skewX(\n $skew-x: $default-skew-x,\n $only3d: false\n) {\n $trans: skewX($skew-x);\n @include transform($trans, $only3d);\n}\n\n// Skew an element along the y axis\n//\n// @include skew( [ skew-y, 3D-only ] )\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin skewY(\n $skew-y: $default-skew-y,\n $only3d: false\n) {\n $trans: skewY($skew-y);\n @include transform($trans, $only3d);\n}\n\n\n// Full transform mixins\n// For settings any combination of transforms as arguments\n// These are complex and not highly recommended for daily use. They are mainly\n// here for backward-compatibility purposes.\n//\n// * they include origin adjustments\n// * scale takes a multiplier (unitless), rotate and skew take degrees (deg)\n//\n// **Note** This mixin cannot be combined with other transform mixins.\n@mixin create-transform(\n $perspective: false,\n $scale-x: false,\n $scale-y: false,\n $scale-z: false,\n $rotate-x: false,\n $rotate-y: false,\n $rotate-z: false,\n $rotate3d: false,\n $trans-x: false,\n $trans-y: false,\n $trans-z: false,\n $skew-x: false,\n $skew-y: false,\n $origin-x: false,\n $origin-y: false,\n $origin-z: false,\n $only3d: false\n) {\n $trans: unquote(\"\");\n\n // perspective\n @if $perspective { $trans: perspective($perspective) ; }\n\n // scale\n @if $scale-x and $scale-y {\n @if $scale-z { $trans: $trans scale3d($scale-x, $scale-y, $scale-z); }\n @else { $trans: $trans scale($scale-x, $scale-y); }\n } @else {\n @if $scale-x { $trans: $trans scaleX($scale-x); }\n @if $scale-y { $trans: $trans scaleY($scale-y); }\n @if $scale-z { $trans: $trans scaleZ($scale-z); }\n }\n\n // rotate\n @if $rotate-x { $trans: $trans rotateX($rotate-x); }\n @if $rotate-y { $trans: $trans rotateY($rotate-y); }\n @if $rotate-z { $trans: $trans rotateZ($rotate-z); }\n @if $rotate3d { $trans: $trans rotate3d($rotate3d); }\n\n // translate\n @if $trans-x and $trans-y {\n @if $trans-z { $trans: $trans translate3d($trans-x, $trans-y, $trans-z); }\n @else { $trans: $trans translate($trans-x, $trans-y); }\n } @else {\n @if $trans-x { $trans: $trans translateX($trans-x); }\n @if $trans-y { $trans: $trans translateY($trans-y); }\n @if $trans-z { $trans: $trans translateZ($trans-z); }\n }\n\n // skew\n @if $skew-x and $skew-y { $trans: $trans skew($skew-x, $skew-y); }\n @else {\n @if $skew-x { $trans: $trans skewX($skew-x); }\n @if $skew-y { $trans: $trans skewY($skew-y); }\n }\n\n // apply it!\n @include transform($trans, $only3d);\n @include transform-origin($origin-x, $origin-y, $origin-z, $only3d);\n}\n\n\n// A simplified set of options\n// backwards-compatible with the previous version of the 'transform' mixin\n@mixin simple-transform(\n $scale: false,\n $rotate: false,\n $trans-x: false,\n $trans-y: false,\n $skew-x: false,\n $skew-y: false,\n $origin-x: false,\n $origin-y: false\n) {\n @include create-transform(\n false,\n $scale, $scale, false,\n false, false, $rotate, false,\n $trans-x, $trans-y, false,\n $skew-x, $skew-y,\n $origin-x, $origin-y, false,\n false\n );\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text;\n font-size: $font-size-small;\n\n @include opacity(0);\n\n &.in { @include opacity($tooltip-opacity); }\n &.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: 3px 8px;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n border-radius: $border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: $tooltip-arrow-width;\n margin-bottom: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: $tooltip-arrow-width;\n margin-bottom: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width 0;\n border-top-color: $tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;\n border-right-color: $tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -$tooltip-arrow-width;\n border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-left-color: $tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: $tooltip-arrow-width;\n margin-top: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: $tooltip-arrow-width;\n margin-top: -$tooltip-arrow-width;\n border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;\n border-bottom-color: $tooltip-arrow-color;\n }\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: none;\n max-width: $popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text;\n font-size: $font-size-base;\n\n background-color: $popover-bg;\n background-clip: padding-box;\n border: 1px solid $popover-fallback-border-color;\n border: 1px solid $popover-border-color;\n border-radius: $border-radius-large;\n @include box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -$popover-arrow-width; }\n &.right { margin-left: $popover-arrow-width; }\n &.bottom { margin-top: $popover-arrow-width; }\n &.left { margin-left: -$popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: $font-size-base;\n background-color: $popover-title-bg;\n border-bottom: 1px solid darken($popover-title-bg, 5%);\n border-radius: ($border-radius-large - 1) ($border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: $popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: $popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -$popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: $popover-arrow-outer-color;\n bottom: -$popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -$popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: $popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -$popover-arrow-outer-width;\n margin-top: -$popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: $popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -$popover-arrow-width;\n border-left-width: 0;\n border-right-color: $popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -$popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: $popover-arrow-outer-color;\n top: -$popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -$popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -$popover-arrow-outer-width;\n margin-top: -$popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: $popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: $popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: $popover-arrow-color;\n bottom: -$popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n @include transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n @include img-responsive;\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n @include transition-transform(0.6s ease-in-out);\n @include backface-visibility(hidden);\n @include perspective(1000px);\n\n &.next,\n &.active.right {\n @include translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n @include translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n @include translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: $carousel-control-width;\n @include opacity($carousel-control-opacity);\n font-size: $carousel-control-font-size;\n color: $carousel-control-color;\n text-align: center;\n text-shadow: $carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: $carousel-control-color;\n text-decoration: none;\n @include opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid $carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: $carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n text-shadow: $carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: $screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: ($carousel-control-font-size * 1.5);\n height: ($carousel-control-font-size * 1.5);\n margin-top: ($carousel-control-font-size / -2);\n font-size: ($carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: ($carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: ($carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n @include clearfix;\n}\n.center-block {\n @include center-block;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n @include text-hide;\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","// Center-align a block level element\n\n@mixin center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// Indicates the direction you prefer to move your text\n// when hiding it.\n//\n// `left` is more robust, especially in older browsers.\n// `right` seems have better runtime performance.\n$hide-text-direction: left !default;\n\n// Hides html text and replaces it with an image.\n// If you use this on an inline element, you will need to change the display to block or inline-block.\n// Also, if the size of the image differs significantly from the font size, you'll need to set the width and/or height.\n//\n// Parameters:\n//\n// * `img` -- the relative path from the project image directory to the image, or a url literal.\n// * `x` -- the x position of the background image.\n// * `y` -- the y position of the background image.\n@mixin replace-text($img, $x: 50%, $y: 50%) {\n @include hide-text;\n background: {\n @if is-url($img) {\n image: $img;\n } @else {\n image: image-url($img);\n }\n repeat: no-repeat;\n position: $x $y;\n };\n}\n\n// Like the `replace-text` mixin, but also sets the width\n// and height of the element according the dimensions of the image.\n//\n// If you set `$inline` to true, then an inline image (data uri) will be used.\n@mixin replace-text-with-dimensions($img, $x: 50%, $y: 50%, $inline: false) {\n @include replace-text(if($inline, inline-image($img), $img), $x, $y);\n width: image-width($img);\n height: image-height($img);\n}\n\n// Hides text in an element so you can see the background.\n//\n// The direction indicates how the text should be moved out of view.\n//\n// See `$hide-text-direction` for more information and to set this globally\n// for your application.\n@mixin hide-text($direction: $hide-text-direction) {\n @if $direction == left {\n $approximate-em-value: 12px / 1em;\n $wider-than-any-screen: -9999em;\n text-indent: $wider-than-any-screen * $approximate-em-value;\n overflow: hidden;\n text-align: left;\n } @else {\n // slightly wider than the box prevents issues with inline-block elements\n text-indent: 110%;\n white-space: nowrap;\n overflow: hidden;\n }\n}\n\n// Hides text in an element by squishing the text into oblivion.\n// Use this if you need to hide text contained in an inline element\n// but still have it read by a screen reader.\n@mixin squish-text {\n font: 0/0 serif;\n text-shadow: none;\n color: transparent;\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n\n@include responsive-invisibility('.visible-xs');\n@include responsive-invisibility('.visible-sm');\n@include responsive-invisibility('.visible-md');\n@include responsive-invisibility('.visible-lg');\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n@media (max-width: $screen-xs-max) {\n @include responsive-visibility('.visible-xs');\n}\n.visible-xs-block {\n @media (max-width: $screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: $screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: $screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n @include responsive-visibility('.visible-sm');\n}\n.visible-sm-block {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n @include responsive-visibility('.visible-md');\n}\n.visible-md-block {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n display: inline-block !important;\n }\n}\n\n@media (min-width: $screen-lg-min) {\n @include responsive-visibility('.visible-lg');\n}\n.visible-lg-block {\n @media (min-width: $screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: $screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: $screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n@media (max-width: $screen-xs-max) {\n @include responsive-invisibility('.hidden-xs');\n}\n\n@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {\n @include responsive-invisibility('.hidden-sm');\n}\n\n@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {\n @include responsive-invisibility('.hidden-md');\n}\n\n@media (min-width: $screen-lg-min) {\n @include responsive-invisibility('.hidden-lg');\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n\n@include responsive-invisibility('.visible-print');\n\n@media print {\n @include responsive-visibility('.visible-print');\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n@media print {\n @include responsive-invisibility('.hidden-print');\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n// [converter] $parent hack\n@mixin responsive-visibility($parent) {\n #{$parent} {\n display: block !important;\n }\n table#{$parent} { display: table !important; }\n tr#{$parent} { display: table-row !important; }\n th#{$parent},\n td#{$parent} { display: table-cell !important; }\n}\n\n// [converter] $parent hack\n@mixin responsive-invisibility($parent) {\n #{$parent} {\n display: none !important;\n }\n}\n","/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables\";\n@import \"mixins\";\n@import \"path\";\n@import \"core\";\n@import \"larger\";\n@import \"fixed-width\";\n@import \"list\";\n@import \"bordered-pulled\";\n@import \"animated\";\n@import \"rotated-flipped\";\n@import \"stacked\";\n@import \"icons\";\n@import \"screen-reader\";\n","/* FONT PATH\n * -------------------------- */\n\n@font-face {\n font-family: 'FontAwesome';\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),\n url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),\n url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),\n url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),\n url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');\n// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n font-weight: normal;\n font-style: normal;\n}\n","// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix} {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n","// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -15%;\n}\n.#{$fa-css-prefix}-2x { font-size: 2em; }\n.#{$fa-css-prefix}-3x { font-size: 3em; }\n.#{$fa-css-prefix}-4x { font-size: 4em; }\n.#{$fa-css-prefix}-5x { font-size: 5em; }\n","// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n width: (18em / 14);\n text-align: center;\n}\n","// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n padding-left: 0;\n margin-left: $fa-li-width;\n list-style-type: none;\n > li { position: relative; }\n}\n.#{$fa-css-prefix}-li {\n position: absolute;\n left: -$fa-li-width;\n width: $fa-li-width;\n top: (2em / 14);\n text-align: center;\n &.#{$fa-css-prefix}-lg {\n left: -$fa-li-width + (4em / 14);\n }\n}\n","// Variables\n// --------------------------\n\n$fa-font-path: \"../fonts\" !default;\n$fa-font-size-base: 14px !default;\n$fa-line-height-base: 1 !default;\n//$fa-font-path: \"//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts\" !default; // for referencing Bootstrap CDN font files directly\n$fa-css-prefix: fa !default;\n$fa-version: \"4.7.0\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: (30em / 14) !default;\n\n$fa-var-500px: \"\\f26e\";\n$fa-var-address-book: \"\\f2b9\";\n$fa-var-address-book-o: \"\\f2ba\";\n$fa-var-address-card: \"\\f2bb\";\n$fa-var-address-card-o: \"\\f2bc\";\n$fa-var-adjust: \"\\f042\";\n$fa-var-adn: \"\\f170\";\n$fa-var-align-center: \"\\f037\";\n$fa-var-align-justify: \"\\f039\";\n$fa-var-align-left: \"\\f036\";\n$fa-var-align-right: \"\\f038\";\n$fa-var-amazon: \"\\f270\";\n$fa-var-ambulance: \"\\f0f9\";\n$fa-var-american-sign-language-interpreting: \"\\f2a3\";\n$fa-var-anchor: \"\\f13d\";\n$fa-var-android: \"\\f17b\";\n$fa-var-angellist: \"\\f209\";\n$fa-var-angle-double-down: \"\\f103\";\n$fa-var-angle-double-left: \"\\f100\";\n$fa-var-angle-double-right: \"\\f101\";\n$fa-var-angle-double-up: \"\\f102\";\n$fa-var-angle-down: \"\\f107\";\n$fa-var-angle-left: \"\\f104\";\n$fa-var-angle-right: \"\\f105\";\n$fa-var-angle-up: \"\\f106\";\n$fa-var-apple: \"\\f179\";\n$fa-var-archive: \"\\f187\";\n$fa-var-area-chart: \"\\f1fe\";\n$fa-var-arrow-circle-down: \"\\f0ab\";\n$fa-var-arrow-circle-left: \"\\f0a8\";\n$fa-var-arrow-circle-o-down: \"\\f01a\";\n$fa-var-arrow-circle-o-left: \"\\f190\";\n$fa-var-arrow-circle-o-right: \"\\f18e\";\n$fa-var-arrow-circle-o-up: \"\\f01b\";\n$fa-var-arrow-circle-right: \"\\f0a9\";\n$fa-var-arrow-circle-up: \"\\f0aa\";\n$fa-var-arrow-down: \"\\f063\";\n$fa-var-arrow-left: \"\\f060\";\n$fa-var-arrow-right: \"\\f061\";\n$fa-var-arrow-up: \"\\f062\";\n$fa-var-arrows: \"\\f047\";\n$fa-var-arrows-alt: \"\\f0b2\";\n$fa-var-arrows-h: \"\\f07e\";\n$fa-var-arrows-v: \"\\f07d\";\n$fa-var-asl-interpreting: \"\\f2a3\";\n$fa-var-assistive-listening-systems: \"\\f2a2\";\n$fa-var-asterisk: \"\\f069\";\n$fa-var-at: \"\\f1fa\";\n$fa-var-audio-description: \"\\f29e\";\n$fa-var-automobile: \"\\f1b9\";\n$fa-var-backward: \"\\f04a\";\n$fa-var-balance-scale: \"\\f24e\";\n$fa-var-ban: \"\\f05e\";\n$fa-var-bandcamp: \"\\f2d5\";\n$fa-var-bank: \"\\f19c\";\n$fa-var-bar-chart: \"\\f080\";\n$fa-var-bar-chart-o: \"\\f080\";\n$fa-var-barcode: \"\\f02a\";\n$fa-var-bars: \"\\f0c9\";\n$fa-var-bath: \"\\f2cd\";\n$fa-var-bathtub: \"\\f2cd\";\n$fa-var-battery: \"\\f240\";\n$fa-var-battery-0: \"\\f244\";\n$fa-var-battery-1: \"\\f243\";\n$fa-var-battery-2: \"\\f242\";\n$fa-var-battery-3: \"\\f241\";\n$fa-var-battery-4: \"\\f240\";\n$fa-var-battery-empty: \"\\f244\";\n$fa-var-battery-full: \"\\f240\";\n$fa-var-battery-half: \"\\f242\";\n$fa-var-battery-quarter: \"\\f243\";\n$fa-var-battery-three-quarters: \"\\f241\";\n$fa-var-bed: \"\\f236\";\n$fa-var-beer: \"\\f0fc\";\n$fa-var-behance: \"\\f1b4\";\n$fa-var-behance-square: \"\\f1b5\";\n$fa-var-bell: \"\\f0f3\";\n$fa-var-bell-o: \"\\f0a2\";\n$fa-var-bell-slash: \"\\f1f6\";\n$fa-var-bell-slash-o: \"\\f1f7\";\n$fa-var-bicycle: \"\\f206\";\n$fa-var-binoculars: \"\\f1e5\";\n$fa-var-birthday-cake: \"\\f1fd\";\n$fa-var-bitbucket: \"\\f171\";\n$fa-var-bitbucket-square: \"\\f172\";\n$fa-var-bitcoin: \"\\f15a\";\n$fa-var-black-tie: \"\\f27e\";\n$fa-var-blind: \"\\f29d\";\n$fa-var-bluetooth: \"\\f293\";\n$fa-var-bluetooth-b: \"\\f294\";\n$fa-var-bold: \"\\f032\";\n$fa-var-bolt: \"\\f0e7\";\n$fa-var-bomb: \"\\f1e2\";\n$fa-var-book: \"\\f02d\";\n$fa-var-bookmark: \"\\f02e\";\n$fa-var-bookmark-o: \"\\f097\";\n$fa-var-braille: \"\\f2a1\";\n$fa-var-briefcase: \"\\f0b1\";\n$fa-var-btc: \"\\f15a\";\n$fa-var-bug: \"\\f188\";\n$fa-var-building: \"\\f1ad\";\n$fa-var-building-o: \"\\f0f7\";\n$fa-var-bullhorn: \"\\f0a1\";\n$fa-var-bullseye: \"\\f140\";\n$fa-var-bus: \"\\f207\";\n$fa-var-buysellads: \"\\f20d\";\n$fa-var-cab: \"\\f1ba\";\n$fa-var-calculator: \"\\f1ec\";\n$fa-var-calendar: \"\\f073\";\n$fa-var-calendar-check-o: \"\\f274\";\n$fa-var-calendar-minus-o: \"\\f272\";\n$fa-var-calendar-o: \"\\f133\";\n$fa-var-calendar-plus-o: \"\\f271\";\n$fa-var-calendar-times-o: \"\\f273\";\n$fa-var-camera: \"\\f030\";\n$fa-var-camera-retro: \"\\f083\";\n$fa-var-car: \"\\f1b9\";\n$fa-var-caret-down: \"\\f0d7\";\n$fa-var-caret-left: \"\\f0d9\";\n$fa-var-caret-right: \"\\f0da\";\n$fa-var-caret-square-o-down: \"\\f150\";\n$fa-var-caret-square-o-left: \"\\f191\";\n$fa-var-caret-square-o-right: \"\\f152\";\n$fa-var-caret-square-o-up: \"\\f151\";\n$fa-var-caret-up: \"\\f0d8\";\n$fa-var-cart-arrow-down: \"\\f218\";\n$fa-var-cart-plus: \"\\f217\";\n$fa-var-cc: \"\\f20a\";\n$fa-var-cc-amex: \"\\f1f3\";\n$fa-var-cc-diners-club: \"\\f24c\";\n$fa-var-cc-discover: \"\\f1f2\";\n$fa-var-cc-jcb: \"\\f24b\";\n$fa-var-cc-mastercard: \"\\f1f1\";\n$fa-var-cc-paypal: \"\\f1f4\";\n$fa-var-cc-stripe: \"\\f1f5\";\n$fa-var-cc-visa: \"\\f1f0\";\n$fa-var-certificate: \"\\f0a3\";\n$fa-var-chain: \"\\f0c1\";\n$fa-var-chain-broken: \"\\f127\";\n$fa-var-check: \"\\f00c\";\n$fa-var-check-circle: \"\\f058\";\n$fa-var-check-circle-o: \"\\f05d\";\n$fa-var-check-square: \"\\f14a\";\n$fa-var-check-square-o: \"\\f046\";\n$fa-var-chevron-circle-down: \"\\f13a\";\n$fa-var-chevron-circle-left: \"\\f137\";\n$fa-var-chevron-circle-right: \"\\f138\";\n$fa-var-chevron-circle-up: \"\\f139\";\n$fa-var-chevron-down: \"\\f078\";\n$fa-var-chevron-left: \"\\f053\";\n$fa-var-chevron-right: \"\\f054\";\n$fa-var-chevron-up: \"\\f077\";\n$fa-var-child: \"\\f1ae\";\n$fa-var-chrome: \"\\f268\";\n$fa-var-circle: \"\\f111\";\n$fa-var-circle-o: \"\\f10c\";\n$fa-var-circle-o-notch: \"\\f1ce\";\n$fa-var-circle-thin: \"\\f1db\";\n$fa-var-clipboard: \"\\f0ea\";\n$fa-var-clock-o: \"\\f017\";\n$fa-var-clone: \"\\f24d\";\n$fa-var-close: \"\\f00d\";\n$fa-var-cloud: \"\\f0c2\";\n$fa-var-cloud-download: \"\\f0ed\";\n$fa-var-cloud-upload: \"\\f0ee\";\n$fa-var-cny: \"\\f157\";\n$fa-var-code: \"\\f121\";\n$fa-var-code-fork: \"\\f126\";\n$fa-var-codepen: \"\\f1cb\";\n$fa-var-codiepie: \"\\f284\";\n$fa-var-coffee: \"\\f0f4\";\n$fa-var-cog: \"\\f013\";\n$fa-var-cogs: \"\\f085\";\n$fa-var-columns: \"\\f0db\";\n$fa-var-comment: \"\\f075\";\n$fa-var-comment-o: \"\\f0e5\";\n$fa-var-commenting: \"\\f27a\";\n$fa-var-commenting-o: \"\\f27b\";\n$fa-var-comments: \"\\f086\";\n$fa-var-comments-o: \"\\f0e6\";\n$fa-var-compass: \"\\f14e\";\n$fa-var-compress: \"\\f066\";\n$fa-var-connectdevelop: \"\\f20e\";\n$fa-var-contao: \"\\f26d\";\n$fa-var-copy: \"\\f0c5\";\n$fa-var-copyright: \"\\f1f9\";\n$fa-var-creative-commons: \"\\f25e\";\n$fa-var-credit-card: \"\\f09d\";\n$fa-var-credit-card-alt: \"\\f283\";\n$fa-var-crop: \"\\f125\";\n$fa-var-crosshairs: \"\\f05b\";\n$fa-var-css3: \"\\f13c\";\n$fa-var-cube: \"\\f1b2\";\n$fa-var-cubes: \"\\f1b3\";\n$fa-var-cut: \"\\f0c4\";\n$fa-var-cutlery: \"\\f0f5\";\n$fa-var-dashboard: \"\\f0e4\";\n$fa-var-dashcube: \"\\f210\";\n$fa-var-database: \"\\f1c0\";\n$fa-var-deaf: \"\\f2a4\";\n$fa-var-deafness: \"\\f2a4\";\n$fa-var-dedent: \"\\f03b\";\n$fa-var-delicious: \"\\f1a5\";\n$fa-var-desktop: \"\\f108\";\n$fa-var-deviantart: \"\\f1bd\";\n$fa-var-diamond: \"\\f219\";\n$fa-var-digg: \"\\f1a6\";\n$fa-var-dollar: \"\\f155\";\n$fa-var-dot-circle-o: \"\\f192\";\n$fa-var-download: \"\\f019\";\n$fa-var-dribbble: \"\\f17d\";\n$fa-var-drivers-license: \"\\f2c2\";\n$fa-var-drivers-license-o: \"\\f2c3\";\n$fa-var-dropbox: \"\\f16b\";\n$fa-var-drupal: \"\\f1a9\";\n$fa-var-edge: \"\\f282\";\n$fa-var-edit: \"\\f044\";\n$fa-var-eercast: \"\\f2da\";\n$fa-var-eject: \"\\f052\";\n$fa-var-ellipsis-h: \"\\f141\";\n$fa-var-ellipsis-v: \"\\f142\";\n$fa-var-empire: \"\\f1d1\";\n$fa-var-envelope: \"\\f0e0\";\n$fa-var-envelope-o: \"\\f003\";\n$fa-var-envelope-open: \"\\f2b6\";\n$fa-var-envelope-open-o: \"\\f2b7\";\n$fa-var-envelope-square: \"\\f199\";\n$fa-var-envira: \"\\f299\";\n$fa-var-eraser: \"\\f12d\";\n$fa-var-etsy: \"\\f2d7\";\n$fa-var-eur: \"\\f153\";\n$fa-var-euro: \"\\f153\";\n$fa-var-exchange: \"\\f0ec\";\n$fa-var-exclamation: \"\\f12a\";\n$fa-var-exclamation-circle: \"\\f06a\";\n$fa-var-exclamation-triangle: \"\\f071\";\n$fa-var-expand: \"\\f065\";\n$fa-var-expeditedssl: \"\\f23e\";\n$fa-var-external-link: \"\\f08e\";\n$fa-var-external-link-square: \"\\f14c\";\n$fa-var-eye: \"\\f06e\";\n$fa-var-eye-slash: \"\\f070\";\n$fa-var-eyedropper: \"\\f1fb\";\n$fa-var-fa: \"\\f2b4\";\n$fa-var-facebook: \"\\f09a\";\n$fa-var-facebook-f: \"\\f09a\";\n$fa-var-facebook-official: \"\\f230\";\n$fa-var-facebook-square: \"\\f082\";\n$fa-var-fast-backward: \"\\f049\";\n$fa-var-fast-forward: \"\\f050\";\n$fa-var-fax: \"\\f1ac\";\n$fa-var-feed: \"\\f09e\";\n$fa-var-female: \"\\f182\";\n$fa-var-fighter-jet: \"\\f0fb\";\n$fa-var-file: \"\\f15b\";\n$fa-var-file-archive-o: \"\\f1c6\";\n$fa-var-file-audio-o: \"\\f1c7\";\n$fa-var-file-code-o: \"\\f1c9\";\n$fa-var-file-excel-o: \"\\f1c3\";\n$fa-var-file-image-o: \"\\f1c5\";\n$fa-var-file-movie-o: \"\\f1c8\";\n$fa-var-file-o: \"\\f016\";\n$fa-var-file-pdf-o: \"\\f1c1\";\n$fa-var-file-photo-o: \"\\f1c5\";\n$fa-var-file-picture-o: \"\\f1c5\";\n$fa-var-file-powerpoint-o: \"\\f1c4\";\n$fa-var-file-sound-o: \"\\f1c7\";\n$fa-var-file-text: \"\\f15c\";\n$fa-var-file-text-o: \"\\f0f6\";\n$fa-var-file-video-o: \"\\f1c8\";\n$fa-var-file-word-o: \"\\f1c2\";\n$fa-var-file-zip-o: \"\\f1c6\";\n$fa-var-files-o: \"\\f0c5\";\n$fa-var-film: \"\\f008\";\n$fa-var-filter: \"\\f0b0\";\n$fa-var-fire: \"\\f06d\";\n$fa-var-fire-extinguisher: \"\\f134\";\n$fa-var-firefox: \"\\f269\";\n$fa-var-first-order: \"\\f2b0\";\n$fa-var-flag: \"\\f024\";\n$fa-var-flag-checkered: \"\\f11e\";\n$fa-var-flag-o: \"\\f11d\";\n$fa-var-flash: \"\\f0e7\";\n$fa-var-flask: \"\\f0c3\";\n$fa-var-flickr: \"\\f16e\";\n$fa-var-floppy-o: \"\\f0c7\";\n$fa-var-folder: \"\\f07b\";\n$fa-var-folder-o: \"\\f114\";\n$fa-var-folder-open: \"\\f07c\";\n$fa-var-folder-open-o: \"\\f115\";\n$fa-var-font: \"\\f031\";\n$fa-var-font-awesome: \"\\f2b4\";\n$fa-var-fonticons: \"\\f280\";\n$fa-var-fort-awesome: \"\\f286\";\n$fa-var-forumbee: \"\\f211\";\n$fa-var-forward: \"\\f04e\";\n$fa-var-foursquare: \"\\f180\";\n$fa-var-free-code-camp: \"\\f2c5\";\n$fa-var-frown-o: \"\\f119\";\n$fa-var-futbol-o: \"\\f1e3\";\n$fa-var-gamepad: \"\\f11b\";\n$fa-var-gavel: \"\\f0e3\";\n$fa-var-gbp: \"\\f154\";\n$fa-var-ge: \"\\f1d1\";\n$fa-var-gear: \"\\f013\";\n$fa-var-gears: \"\\f085\";\n$fa-var-genderless: \"\\f22d\";\n$fa-var-get-pocket: \"\\f265\";\n$fa-var-gg: \"\\f260\";\n$fa-var-gg-circle: \"\\f261\";\n$fa-var-gift: \"\\f06b\";\n$fa-var-git: \"\\f1d3\";\n$fa-var-git-square: \"\\f1d2\";\n$fa-var-github: \"\\f09b\";\n$fa-var-github-alt: \"\\f113\";\n$fa-var-github-square: \"\\f092\";\n$fa-var-gitlab: \"\\f296\";\n$fa-var-gittip: \"\\f184\";\n$fa-var-glass: \"\\f000\";\n$fa-var-glide: \"\\f2a5\";\n$fa-var-glide-g: \"\\f2a6\";\n$fa-var-globe: \"\\f0ac\";\n$fa-var-google: \"\\f1a0\";\n$fa-var-google-plus: \"\\f0d5\";\n$fa-var-google-plus-circle: \"\\f2b3\";\n$fa-var-google-plus-official: \"\\f2b3\";\n$fa-var-google-plus-square: \"\\f0d4\";\n$fa-var-google-wallet: \"\\f1ee\";\n$fa-var-graduation-cap: \"\\f19d\";\n$fa-var-gratipay: \"\\f184\";\n$fa-var-grav: \"\\f2d6\";\n$fa-var-group: \"\\f0c0\";\n$fa-var-h-square: \"\\f0fd\";\n$fa-var-hacker-news: \"\\f1d4\";\n$fa-var-hand-grab-o: \"\\f255\";\n$fa-var-hand-lizard-o: \"\\f258\";\n$fa-var-hand-o-down: \"\\f0a7\";\n$fa-var-hand-o-left: \"\\f0a5\";\n$fa-var-hand-o-right: \"\\f0a4\";\n$fa-var-hand-o-up: \"\\f0a6\";\n$fa-var-hand-paper-o: \"\\f256\";\n$fa-var-hand-peace-o: \"\\f25b\";\n$fa-var-hand-pointer-o: \"\\f25a\";\n$fa-var-hand-rock-o: \"\\f255\";\n$fa-var-hand-scissors-o: \"\\f257\";\n$fa-var-hand-spock-o: \"\\f259\";\n$fa-var-hand-stop-o: \"\\f256\";\n$fa-var-handshake-o: \"\\f2b5\";\n$fa-var-hard-of-hearing: \"\\f2a4\";\n$fa-var-hashtag: \"\\f292\";\n$fa-var-hdd-o: \"\\f0a0\";\n$fa-var-header: \"\\f1dc\";\n$fa-var-headphones: \"\\f025\";\n$fa-var-heart: \"\\f004\";\n$fa-var-heart-o: \"\\f08a\";\n$fa-var-heartbeat: \"\\f21e\";\n$fa-var-history: \"\\f1da\";\n$fa-var-home: \"\\f015\";\n$fa-var-hospital-o: \"\\f0f8\";\n$fa-var-hotel: \"\\f236\";\n$fa-var-hourglass: \"\\f254\";\n$fa-var-hourglass-1: \"\\f251\";\n$fa-var-hourglass-2: \"\\f252\";\n$fa-var-hourglass-3: \"\\f253\";\n$fa-var-hourglass-end: \"\\f253\";\n$fa-var-hourglass-half: \"\\f252\";\n$fa-var-hourglass-o: \"\\f250\";\n$fa-var-hourglass-start: \"\\f251\";\n$fa-var-houzz: \"\\f27c\";\n$fa-var-html5: \"\\f13b\";\n$fa-var-i-cursor: \"\\f246\";\n$fa-var-id-badge: \"\\f2c1\";\n$fa-var-id-card: \"\\f2c2\";\n$fa-var-id-card-o: \"\\f2c3\";\n$fa-var-ils: \"\\f20b\";\n$fa-var-image: \"\\f03e\";\n$fa-var-imdb: \"\\f2d8\";\n$fa-var-inbox: \"\\f01c\";\n$fa-var-indent: \"\\f03c\";\n$fa-var-industry: \"\\f275\";\n$fa-var-info: \"\\f129\";\n$fa-var-info-circle: \"\\f05a\";\n$fa-var-inr: \"\\f156\";\n$fa-var-instagram: \"\\f16d\";\n$fa-var-institution: \"\\f19c\";\n$fa-var-internet-explorer: \"\\f26b\";\n$fa-var-intersex: \"\\f224\";\n$fa-var-ioxhost: \"\\f208\";\n$fa-var-italic: \"\\f033\";\n$fa-var-joomla: \"\\f1aa\";\n$fa-var-jpy: \"\\f157\";\n$fa-var-jsfiddle: \"\\f1cc\";\n$fa-var-key: \"\\f084\";\n$fa-var-keyboard-o: \"\\f11c\";\n$fa-var-krw: \"\\f159\";\n$fa-var-language: \"\\f1ab\";\n$fa-var-laptop: \"\\f109\";\n$fa-var-lastfm: \"\\f202\";\n$fa-var-lastfm-square: \"\\f203\";\n$fa-var-leaf: \"\\f06c\";\n$fa-var-leanpub: \"\\f212\";\n$fa-var-legal: \"\\f0e3\";\n$fa-var-lemon-o: \"\\f094\";\n$fa-var-level-down: \"\\f149\";\n$fa-var-level-up: \"\\f148\";\n$fa-var-life-bouy: \"\\f1cd\";\n$fa-var-life-buoy: \"\\f1cd\";\n$fa-var-life-ring: \"\\f1cd\";\n$fa-var-life-saver: \"\\f1cd\";\n$fa-var-lightbulb-o: \"\\f0eb\";\n$fa-var-line-chart: \"\\f201\";\n$fa-var-link: \"\\f0c1\";\n$fa-var-linkedin: \"\\f0e1\";\n$fa-var-linkedin-square: \"\\f08c\";\n$fa-var-linode: \"\\f2b8\";\n$fa-var-linux: \"\\f17c\";\n$fa-var-list: \"\\f03a\";\n$fa-var-list-alt: \"\\f022\";\n$fa-var-list-ol: \"\\f0cb\";\n$fa-var-list-ul: \"\\f0ca\";\n$fa-var-location-arrow: \"\\f124\";\n$fa-var-lock: \"\\f023\";\n$fa-var-long-arrow-down: \"\\f175\";\n$fa-var-long-arrow-left: \"\\f177\";\n$fa-var-long-arrow-right: \"\\f178\";\n$fa-var-long-arrow-up: \"\\f176\";\n$fa-var-low-vision: \"\\f2a8\";\n$fa-var-magic: \"\\f0d0\";\n$fa-var-magnet: \"\\f076\";\n$fa-var-mail-forward: \"\\f064\";\n$fa-var-mail-reply: \"\\f112\";\n$fa-var-mail-reply-all: \"\\f122\";\n$fa-var-male: \"\\f183\";\n$fa-var-map: \"\\f279\";\n$fa-var-map-marker: \"\\f041\";\n$fa-var-map-o: \"\\f278\";\n$fa-var-map-pin: \"\\f276\";\n$fa-var-map-signs: \"\\f277\";\n$fa-var-mars: \"\\f222\";\n$fa-var-mars-double: \"\\f227\";\n$fa-var-mars-stroke: \"\\f229\";\n$fa-var-mars-stroke-h: \"\\f22b\";\n$fa-var-mars-stroke-v: \"\\f22a\";\n$fa-var-maxcdn: \"\\f136\";\n$fa-var-meanpath: \"\\f20c\";\n$fa-var-medium: \"\\f23a\";\n$fa-var-medkit: \"\\f0fa\";\n$fa-var-meetup: \"\\f2e0\";\n$fa-var-meh-o: \"\\f11a\";\n$fa-var-mercury: \"\\f223\";\n$fa-var-microchip: \"\\f2db\";\n$fa-var-microphone: \"\\f130\";\n$fa-var-microphone-slash: \"\\f131\";\n$fa-var-minus: \"\\f068\";\n$fa-var-minus-circle: \"\\f056\";\n$fa-var-minus-square: \"\\f146\";\n$fa-var-minus-square-o: \"\\f147\";\n$fa-var-mixcloud: \"\\f289\";\n$fa-var-mobile: \"\\f10b\";\n$fa-var-mobile-phone: \"\\f10b\";\n$fa-var-modx: \"\\f285\";\n$fa-var-money: \"\\f0d6\";\n$fa-var-moon-o: \"\\f186\";\n$fa-var-mortar-board: \"\\f19d\";\n$fa-var-motorcycle: \"\\f21c\";\n$fa-var-mouse-pointer: \"\\f245\";\n$fa-var-music: \"\\f001\";\n$fa-var-navicon: \"\\f0c9\";\n$fa-var-neuter: \"\\f22c\";\n$fa-var-newspaper-o: \"\\f1ea\";\n$fa-var-object-group: \"\\f247\";\n$fa-var-object-ungroup: \"\\f248\";\n$fa-var-odnoklassniki: \"\\f263\";\n$fa-var-odnoklassniki-square: \"\\f264\";\n$fa-var-opencart: \"\\f23d\";\n$fa-var-openid: \"\\f19b\";\n$fa-var-opera: \"\\f26a\";\n$fa-var-optin-monster: \"\\f23c\";\n$fa-var-outdent: \"\\f03b\";\n$fa-var-pagelines: \"\\f18c\";\n$fa-var-paint-brush: \"\\f1fc\";\n$fa-var-paper-plane: \"\\f1d8\";\n$fa-var-paper-plane-o: \"\\f1d9\";\n$fa-var-paperclip: \"\\f0c6\";\n$fa-var-paragraph: \"\\f1dd\";\n$fa-var-paste: \"\\f0ea\";\n$fa-var-pause: \"\\f04c\";\n$fa-var-pause-circle: \"\\f28b\";\n$fa-var-pause-circle-o: \"\\f28c\";\n$fa-var-paw: \"\\f1b0\";\n$fa-var-paypal: \"\\f1ed\";\n$fa-var-pencil: \"\\f040\";\n$fa-var-pencil-square: \"\\f14b\";\n$fa-var-pencil-square-o: \"\\f044\";\n$fa-var-percent: \"\\f295\";\n$fa-var-phone: \"\\f095\";\n$fa-var-phone-square: \"\\f098\";\n$fa-var-photo: \"\\f03e\";\n$fa-var-picture-o: \"\\f03e\";\n$fa-var-pie-chart: \"\\f200\";\n$fa-var-pied-piper: \"\\f2ae\";\n$fa-var-pied-piper-alt: \"\\f1a8\";\n$fa-var-pied-piper-pp: \"\\f1a7\";\n$fa-var-pinterest: \"\\f0d2\";\n$fa-var-pinterest-p: \"\\f231\";\n$fa-var-pinterest-square: \"\\f0d3\";\n$fa-var-plane: \"\\f072\";\n$fa-var-play: \"\\f04b\";\n$fa-var-play-circle: \"\\f144\";\n$fa-var-play-circle-o: \"\\f01d\";\n$fa-var-plug: \"\\f1e6\";\n$fa-var-plus: \"\\f067\";\n$fa-var-plus-circle: \"\\f055\";\n$fa-var-plus-square: \"\\f0fe\";\n$fa-var-plus-square-o: \"\\f196\";\n$fa-var-podcast: \"\\f2ce\";\n$fa-var-power-off: \"\\f011\";\n$fa-var-print: \"\\f02f\";\n$fa-var-product-hunt: \"\\f288\";\n$fa-var-puzzle-piece: \"\\f12e\";\n$fa-var-qq: \"\\f1d6\";\n$fa-var-qrcode: \"\\f029\";\n$fa-var-question: \"\\f128\";\n$fa-var-question-circle: \"\\f059\";\n$fa-var-question-circle-o: \"\\f29c\";\n$fa-var-quora: \"\\f2c4\";\n$fa-var-quote-left: \"\\f10d\";\n$fa-var-quote-right: \"\\f10e\";\n$fa-var-ra: \"\\f1d0\";\n$fa-var-random: \"\\f074\";\n$fa-var-ravelry: \"\\f2d9\";\n$fa-var-rebel: \"\\f1d0\";\n$fa-var-recycle: \"\\f1b8\";\n$fa-var-reddit: \"\\f1a1\";\n$fa-var-reddit-alien: \"\\f281\";\n$fa-var-reddit-square: \"\\f1a2\";\n$fa-var-refresh: \"\\f021\";\n$fa-var-registered: \"\\f25d\";\n$fa-var-remove: \"\\f00d\";\n$fa-var-renren: \"\\f18b\";\n$fa-var-reorder: \"\\f0c9\";\n$fa-var-repeat: \"\\f01e\";\n$fa-var-reply: \"\\f112\";\n$fa-var-reply-all: \"\\f122\";\n$fa-var-resistance: \"\\f1d0\";\n$fa-var-retweet: \"\\f079\";\n$fa-var-rmb: \"\\f157\";\n$fa-var-road: \"\\f018\";\n$fa-var-rocket: \"\\f135\";\n$fa-var-rotate-left: \"\\f0e2\";\n$fa-var-rotate-right: \"\\f01e\";\n$fa-var-rouble: \"\\f158\";\n$fa-var-rss: \"\\f09e\";\n$fa-var-rss-square: \"\\f143\";\n$fa-var-rub: \"\\f158\";\n$fa-var-ruble: \"\\f158\";\n$fa-var-rupee: \"\\f156\";\n$fa-var-s15: \"\\f2cd\";\n$fa-var-safari: \"\\f267\";\n$fa-var-save: \"\\f0c7\";\n$fa-var-scissors: \"\\f0c4\";\n$fa-var-scribd: \"\\f28a\";\n$fa-var-search: \"\\f002\";\n$fa-var-search-minus: \"\\f010\";\n$fa-var-search-plus: \"\\f00e\";\n$fa-var-sellsy: \"\\f213\";\n$fa-var-send: \"\\f1d8\";\n$fa-var-send-o: \"\\f1d9\";\n$fa-var-server: \"\\f233\";\n$fa-var-share: \"\\f064\";\n$fa-var-share-alt: \"\\f1e0\";\n$fa-var-share-alt-square: \"\\f1e1\";\n$fa-var-share-square: \"\\f14d\";\n$fa-var-share-square-o: \"\\f045\";\n$fa-var-shekel: \"\\f20b\";\n$fa-var-sheqel: \"\\f20b\";\n$fa-var-shield: \"\\f132\";\n$fa-var-ship: \"\\f21a\";\n$fa-var-shirtsinbulk: \"\\f214\";\n$fa-var-shopping-bag: \"\\f290\";\n$fa-var-shopping-basket: \"\\f291\";\n$fa-var-shopping-cart: \"\\f07a\";\n$fa-var-shower: \"\\f2cc\";\n$fa-var-sign-in: \"\\f090\";\n$fa-var-sign-language: \"\\f2a7\";\n$fa-var-sign-out: \"\\f08b\";\n$fa-var-signal: \"\\f012\";\n$fa-var-signing: \"\\f2a7\";\n$fa-var-simplybuilt: \"\\f215\";\n$fa-var-sitemap: \"\\f0e8\";\n$fa-var-skyatlas: \"\\f216\";\n$fa-var-skype: \"\\f17e\";\n$fa-var-slack: \"\\f198\";\n$fa-var-sliders: \"\\f1de\";\n$fa-var-slideshare: \"\\f1e7\";\n$fa-var-smile-o: \"\\f118\";\n$fa-var-snapchat: \"\\f2ab\";\n$fa-var-snapchat-ghost: \"\\f2ac\";\n$fa-var-snapchat-square: \"\\f2ad\";\n$fa-var-snowflake-o: \"\\f2dc\";\n$fa-var-soccer-ball-o: \"\\f1e3\";\n$fa-var-sort: \"\\f0dc\";\n$fa-var-sort-alpha-asc: \"\\f15d\";\n$fa-var-sort-alpha-desc: \"\\f15e\";\n$fa-var-sort-amount-asc: \"\\f160\";\n$fa-var-sort-amount-desc: \"\\f161\";\n$fa-var-sort-asc: \"\\f0de\";\n$fa-var-sort-desc: \"\\f0dd\";\n$fa-var-sort-down: \"\\f0dd\";\n$fa-var-sort-numeric-asc: \"\\f162\";\n$fa-var-sort-numeric-desc: \"\\f163\";\n$fa-var-sort-up: \"\\f0de\";\n$fa-var-soundcloud: \"\\f1be\";\n$fa-var-space-shuttle: \"\\f197\";\n$fa-var-spinner: \"\\f110\";\n$fa-var-spoon: \"\\f1b1\";\n$fa-var-spotify: \"\\f1bc\";\n$fa-var-square: \"\\f0c8\";\n$fa-var-square-o: \"\\f096\";\n$fa-var-stack-exchange: \"\\f18d\";\n$fa-var-stack-overflow: \"\\f16c\";\n$fa-var-star: \"\\f005\";\n$fa-var-star-half: \"\\f089\";\n$fa-var-star-half-empty: \"\\f123\";\n$fa-var-star-half-full: \"\\f123\";\n$fa-var-star-half-o: \"\\f123\";\n$fa-var-star-o: \"\\f006\";\n$fa-var-steam: \"\\f1b6\";\n$fa-var-steam-square: \"\\f1b7\";\n$fa-var-step-backward: \"\\f048\";\n$fa-var-step-forward: \"\\f051\";\n$fa-var-stethoscope: \"\\f0f1\";\n$fa-var-sticky-note: \"\\f249\";\n$fa-var-sticky-note-o: \"\\f24a\";\n$fa-var-stop: \"\\f04d\";\n$fa-var-stop-circle: \"\\f28d\";\n$fa-var-stop-circle-o: \"\\f28e\";\n$fa-var-street-view: \"\\f21d\";\n$fa-var-strikethrough: \"\\f0cc\";\n$fa-var-stumbleupon: \"\\f1a4\";\n$fa-var-stumbleupon-circle: \"\\f1a3\";\n$fa-var-subscript: \"\\f12c\";\n$fa-var-subway: \"\\f239\";\n$fa-var-suitcase: \"\\f0f2\";\n$fa-var-sun-o: \"\\f185\";\n$fa-var-superpowers: \"\\f2dd\";\n$fa-var-superscript: \"\\f12b\";\n$fa-var-support: \"\\f1cd\";\n$fa-var-table: \"\\f0ce\";\n$fa-var-tablet: \"\\f10a\";\n$fa-var-tachometer: \"\\f0e4\";\n$fa-var-tag: \"\\f02b\";\n$fa-var-tags: \"\\f02c\";\n$fa-var-tasks: \"\\f0ae\";\n$fa-var-taxi: \"\\f1ba\";\n$fa-var-telegram: \"\\f2c6\";\n$fa-var-television: \"\\f26c\";\n$fa-var-tencent-weibo: \"\\f1d5\";\n$fa-var-terminal: \"\\f120\";\n$fa-var-text-height: \"\\f034\";\n$fa-var-text-width: \"\\f035\";\n$fa-var-th: \"\\f00a\";\n$fa-var-th-large: \"\\f009\";\n$fa-var-th-list: \"\\f00b\";\n$fa-var-themeisle: \"\\f2b2\";\n$fa-var-thermometer: \"\\f2c7\";\n$fa-var-thermometer-0: \"\\f2cb\";\n$fa-var-thermometer-1: \"\\f2ca\";\n$fa-var-thermometer-2: \"\\f2c9\";\n$fa-var-thermometer-3: \"\\f2c8\";\n$fa-var-thermometer-4: \"\\f2c7\";\n$fa-var-thermometer-empty: \"\\f2cb\";\n$fa-var-thermometer-full: \"\\f2c7\";\n$fa-var-thermometer-half: \"\\f2c9\";\n$fa-var-thermometer-quarter: \"\\f2ca\";\n$fa-var-thermometer-three-quarters: \"\\f2c8\";\n$fa-var-thumb-tack: \"\\f08d\";\n$fa-var-thumbs-down: \"\\f165\";\n$fa-var-thumbs-o-down: \"\\f088\";\n$fa-var-thumbs-o-up: \"\\f087\";\n$fa-var-thumbs-up: \"\\f164\";\n$fa-var-ticket: \"\\f145\";\n$fa-var-times: \"\\f00d\";\n$fa-var-times-circle: \"\\f057\";\n$fa-var-times-circle-o: \"\\f05c\";\n$fa-var-times-rectangle: \"\\f2d3\";\n$fa-var-times-rectangle-o: \"\\f2d4\";\n$fa-var-tint: \"\\f043\";\n$fa-var-toggle-down: \"\\f150\";\n$fa-var-toggle-left: \"\\f191\";\n$fa-var-toggle-off: \"\\f204\";\n$fa-var-toggle-on: \"\\f205\";\n$fa-var-toggle-right: \"\\f152\";\n$fa-var-toggle-up: \"\\f151\";\n$fa-var-trademark: \"\\f25c\";\n$fa-var-train: \"\\f238\";\n$fa-var-transgender: \"\\f224\";\n$fa-var-transgender-alt: \"\\f225\";\n$fa-var-trash: \"\\f1f8\";\n$fa-var-trash-o: \"\\f014\";\n$fa-var-tree: \"\\f1bb\";\n$fa-var-trello: \"\\f181\";\n$fa-var-tripadvisor: \"\\f262\";\n$fa-var-trophy: \"\\f091\";\n$fa-var-truck: \"\\f0d1\";\n$fa-var-try: \"\\f195\";\n$fa-var-tty: \"\\f1e4\";\n$fa-var-tumblr: \"\\f173\";\n$fa-var-tumblr-square: \"\\f174\";\n$fa-var-turkish-lira: \"\\f195\";\n$fa-var-tv: \"\\f26c\";\n$fa-var-twitch: \"\\f1e8\";\n$fa-var-twitter: \"\\f099\";\n$fa-var-twitter-square: \"\\f081\";\n$fa-var-umbrella: \"\\f0e9\";\n$fa-var-underline: \"\\f0cd\";\n$fa-var-undo: \"\\f0e2\";\n$fa-var-universal-access: \"\\f29a\";\n$fa-var-university: \"\\f19c\";\n$fa-var-unlink: \"\\f127\";\n$fa-var-unlock: \"\\f09c\";\n$fa-var-unlock-alt: \"\\f13e\";\n$fa-var-unsorted: \"\\f0dc\";\n$fa-var-upload: \"\\f093\";\n$fa-var-usb: \"\\f287\";\n$fa-var-usd: \"\\f155\";\n$fa-var-user: \"\\f007\";\n$fa-var-user-circle: \"\\f2bd\";\n$fa-var-user-circle-o: \"\\f2be\";\n$fa-var-user-md: \"\\f0f0\";\n$fa-var-user-o: \"\\f2c0\";\n$fa-var-user-plus: \"\\f234\";\n$fa-var-user-secret: \"\\f21b\";\n$fa-var-user-times: \"\\f235\";\n$fa-var-users: \"\\f0c0\";\n$fa-var-vcard: \"\\f2bb\";\n$fa-var-vcard-o: \"\\f2bc\";\n$fa-var-venus: \"\\f221\";\n$fa-var-venus-double: \"\\f226\";\n$fa-var-venus-mars: \"\\f228\";\n$fa-var-viacoin: \"\\f237\";\n$fa-var-viadeo: \"\\f2a9\";\n$fa-var-viadeo-square: \"\\f2aa\";\n$fa-var-video-camera: \"\\f03d\";\n$fa-var-vimeo: \"\\f27d\";\n$fa-var-vimeo-square: \"\\f194\";\n$fa-var-vine: \"\\f1ca\";\n$fa-var-vk: \"\\f189\";\n$fa-var-volume-control-phone: \"\\f2a0\";\n$fa-var-volume-down: \"\\f027\";\n$fa-var-volume-off: \"\\f026\";\n$fa-var-volume-up: \"\\f028\";\n$fa-var-warning: \"\\f071\";\n$fa-var-wechat: \"\\f1d7\";\n$fa-var-weibo: \"\\f18a\";\n$fa-var-weixin: \"\\f1d7\";\n$fa-var-whatsapp: \"\\f232\";\n$fa-var-wheelchair: \"\\f193\";\n$fa-var-wheelchair-alt: \"\\f29b\";\n$fa-var-wifi: \"\\f1eb\";\n$fa-var-wikipedia-w: \"\\f266\";\n$fa-var-window-close: \"\\f2d3\";\n$fa-var-window-close-o: \"\\f2d4\";\n$fa-var-window-maximize: \"\\f2d0\";\n$fa-var-window-minimize: \"\\f2d1\";\n$fa-var-window-restore: \"\\f2d2\";\n$fa-var-windows: \"\\f17a\";\n$fa-var-won: \"\\f159\";\n$fa-var-wordpress: \"\\f19a\";\n$fa-var-wpbeginner: \"\\f297\";\n$fa-var-wpexplorer: \"\\f2de\";\n$fa-var-wpforms: \"\\f298\";\n$fa-var-wrench: \"\\f0ad\";\n$fa-var-xing: \"\\f168\";\n$fa-var-xing-square: \"\\f169\";\n$fa-var-y-combinator: \"\\f23b\";\n$fa-var-y-combinator-square: \"\\f1d4\";\n$fa-var-yahoo: \"\\f19e\";\n$fa-var-yc: \"\\f23b\";\n$fa-var-yc-square: \"\\f1d4\";\n$fa-var-yelp: \"\\f1e9\";\n$fa-var-yen: \"\\f157\";\n$fa-var-yoast: \"\\f2b1\";\n$fa-var-youtube: \"\\f167\";\n$fa-var-youtube-play: \"\\f16a\";\n$fa-var-youtube-square: \"\\f166\";\n\n","// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n padding: .2em .25em .15em;\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix} {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.#{$fa-css-prefix} {\n &.pull-left { margin-right: .3em; }\n &.pull-right { margin-left: .3em; }\n}\n","// Spinning Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .#{$fa-css-prefix}-rotate-90,\n:root .#{$fa-css-prefix}-rotate-180,\n:root .#{$fa-css-prefix}-rotate-270,\n:root .#{$fa-css-prefix}-flip-horizontal,\n:root .#{$fa-css-prefix}-flip-vertical {\n filter: none;\n}\n","// Mixins\n// --------------------------\n\n@mixin fa-icon() {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n -webkit-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n","// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.#{$fa-css-prefix}-stack-1x { line-height: inherit; }\n.#{$fa-css-prefix}-stack-2x { font-size: 2em; }\n.#{$fa-css-prefix}-inverse { color: $fa-inverse; }\n","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }\n.#{$fa-css-prefix}-music:before { content: $fa-var-music; }\n.#{$fa-css-prefix}-search:before { content: $fa-var-search; }\n.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }\n.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }\n.#{$fa-css-prefix}-star:before { content: $fa-var-star; }\n.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }\n.#{$fa-css-prefix}-user:before { content: $fa-var-user; }\n.#{$fa-css-prefix}-film:before { content: $fa-var-film; }\n.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }\n.#{$fa-css-prefix}-th:before { content: $fa-var-th; }\n.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }\n.#{$fa-css-prefix}-check:before { content: $fa-var-check; }\n.#{$fa-css-prefix}-remove:before,\n.#{$fa-css-prefix}-close:before,\n.#{$fa-css-prefix}-times:before { content: $fa-var-times; }\n.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }\n.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }\n.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }\n.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }\n.#{$fa-css-prefix}-gear:before,\n.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }\n.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }\n.#{$fa-css-prefix}-home:before { content: $fa-var-home; }\n.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }\n.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }\n.#{$fa-css-prefix}-road:before { content: $fa-var-road; }\n.#{$fa-css-prefix}-download:before { content: $fa-var-download; }\n.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }\n.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }\n.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }\n.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }\n.#{$fa-css-prefix}-rotate-right:before,\n.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }\n.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }\n.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }\n.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }\n.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }\n.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }\n.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }\n.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }\n.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }\n.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }\n.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }\n.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }\n.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }\n.#{$fa-css-prefix}-book:before { content: $fa-var-book; }\n.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }\n.#{$fa-css-prefix}-print:before { content: $fa-var-print; }\n.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }\n.#{$fa-css-prefix}-font:before { content: $fa-var-font; }\n.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }\n.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }\n.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }\n.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }\n.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }\n.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }\n.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }\n.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }\n.#{$fa-css-prefix}-list:before { content: $fa-var-list; }\n.#{$fa-css-prefix}-dedent:before,\n.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }\n.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }\n.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }\n.#{$fa-css-prefix}-photo:before,\n.#{$fa-css-prefix}-image:before,\n.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }\n.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }\n.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }\n.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }\n.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }\n.#{$fa-css-prefix}-edit:before,\n.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }\n.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }\n.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }\n.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }\n.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }\n.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }\n.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }\n.#{$fa-css-prefix}-play:before { content: $fa-var-play; }\n.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }\n.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }\n.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }\n.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }\n.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }\n.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }\n.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }\n.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }\n.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }\n.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }\n.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }\n.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }\n.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }\n.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }\n.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }\n.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }\n.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }\n.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }\n.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }\n.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }\n.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }\n.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }\n.#{$fa-css-prefix}-mail-forward:before,\n.#{$fa-css-prefix}-share:before { content: $fa-var-share; }\n.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }\n.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }\n.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }\n.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }\n.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }\n.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }\n.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }\n.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }\n.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }\n.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }\n.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }\n.#{$fa-css-prefix}-warning:before,\n.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }\n.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }\n.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }\n.#{$fa-css-prefix}-random:before { content: $fa-var-random; }\n.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }\n.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }\n.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }\n.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }\n.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }\n.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }\n.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }\n.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }\n.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }\n.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }\n.#{$fa-css-prefix}-bar-chart-o:before,\n.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }\n.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }\n.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }\n.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }\n.#{$fa-css-prefix}-key:before { content: $fa-var-key; }\n.#{$fa-css-prefix}-gears:before,\n.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }\n.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }\n.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }\n.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }\n.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }\n.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }\n.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }\n.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }\n.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }\n.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }\n.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }\n.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }\n.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }\n.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }\n.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }\n.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }\n.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }\n.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }\n.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }\n.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }\n.#{$fa-css-prefix}-facebook-f:before,\n.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }\n.#{$fa-css-prefix}-github:before { content: $fa-var-github; }\n.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }\n.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }\n.#{$fa-css-prefix}-feed:before,\n.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }\n.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }\n.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }\n.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }\n.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }\n.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }\n.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }\n.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }\n.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }\n.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }\n.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }\n.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }\n.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }\n.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }\n.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }\n.#{$fa-css-prefix}-group:before,\n.#{$fa-css-prefix}-users:before { content: $fa-var-users; }\n.#{$fa-css-prefix}-chain:before,\n.#{$fa-css-prefix}-link:before { content: $fa-var-link; }\n.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }\n.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }\n.#{$fa-css-prefix}-cut:before,\n.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }\n.#{$fa-css-prefix}-copy:before,\n.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }\n.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }\n.#{$fa-css-prefix}-save:before,\n.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }\n.#{$fa-css-prefix}-square:before { content: $fa-var-square; }\n.#{$fa-css-prefix}-navicon:before,\n.#{$fa-css-prefix}-reorder:before,\n.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }\n.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }\n.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }\n.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }\n.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }\n.#{$fa-css-prefix}-table:before { content: $fa-var-table; }\n.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }\n.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }\n.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }\n.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }\n.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }\n.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }\n.#{$fa-css-prefix}-money:before { content: $fa-var-money; }\n.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }\n.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }\n.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }\n.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }\n.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }\n.#{$fa-css-prefix}-unsorted:before,\n.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }\n.#{$fa-css-prefix}-sort-down:before,\n.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }\n.#{$fa-css-prefix}-sort-up:before,\n.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }\n.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }\n.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }\n.#{$fa-css-prefix}-rotate-left:before,\n.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }\n.#{$fa-css-prefix}-legal:before,\n.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }\n.#{$fa-css-prefix}-dashboard:before,\n.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }\n.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }\n.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }\n.#{$fa-css-prefix}-flash:before,\n.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }\n.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }\n.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }\n.#{$fa-css-prefix}-paste:before,\n.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }\n.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }\n.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }\n.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }\n.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }\n.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }\n.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }\n.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }\n.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }\n.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }\n.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }\n.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }\n.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }\n.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }\n.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }\n.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }\n.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }\n.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }\n.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }\n.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }\n.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }\n.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }\n.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }\n.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }\n.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }\n.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }\n.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }\n.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }\n.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }\n.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }\n.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }\n.#{$fa-css-prefix}-mobile-phone:before,\n.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }\n.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }\n.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }\n.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }\n.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }\n.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }\n.#{$fa-css-prefix}-mail-reply:before,\n.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }\n.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }\n.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }\n.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }\n.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }\n.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }\n.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }\n.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }\n.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }\n.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }\n.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }\n.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }\n.#{$fa-css-prefix}-code:before { content: $fa-var-code; }\n.#{$fa-css-prefix}-mail-reply-all:before,\n.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }\n.#{$fa-css-prefix}-star-half-empty:before,\n.#{$fa-css-prefix}-star-half-full:before,\n.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }\n.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }\n.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }\n.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }\n.#{$fa-css-prefix}-unlink:before,\n.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }\n.#{$fa-css-prefix}-question:before { content: $fa-var-question; }\n.#{$fa-css-prefix}-info:before { content: $fa-var-info; }\n.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }\n.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }\n.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }\n.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }\n.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }\n.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }\n.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }\n.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }\n.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }\n.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }\n.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }\n.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }\n.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }\n.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }\n.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }\n.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }\n.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }\n.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }\n.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }\n.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }\n.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }\n.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }\n.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }\n.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }\n.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }\n.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }\n.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }\n.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }\n.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }\n.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }\n.#{$fa-css-prefix}-toggle-down:before,\n.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }\n.#{$fa-css-prefix}-toggle-up:before,\n.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }\n.#{$fa-css-prefix}-toggle-right:before,\n.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }\n.#{$fa-css-prefix}-euro:before,\n.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }\n.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }\n.#{$fa-css-prefix}-dollar:before,\n.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }\n.#{$fa-css-prefix}-rupee:before,\n.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }\n.#{$fa-css-prefix}-cny:before,\n.#{$fa-css-prefix}-rmb:before,\n.#{$fa-css-prefix}-yen:before,\n.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }\n.#{$fa-css-prefix}-ruble:before,\n.#{$fa-css-prefix}-rouble:before,\n.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }\n.#{$fa-css-prefix}-won:before,\n.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }\n.#{$fa-css-prefix}-bitcoin:before,\n.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }\n.#{$fa-css-prefix}-file:before { content: $fa-var-file; }\n.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }\n.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }\n.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }\n.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }\n.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }\n.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }\n.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }\n.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }\n.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }\n.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }\n.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }\n.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }\n.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }\n.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }\n.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }\n.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }\n.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }\n.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }\n.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }\n.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }\n.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }\n.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }\n.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }\n.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }\n.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }\n.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }\n.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }\n.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }\n.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }\n.#{$fa-css-prefix}-android:before { content: $fa-var-android; }\n.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }\n.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }\n.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }\n.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }\n.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }\n.#{$fa-css-prefix}-female:before { content: $fa-var-female; }\n.#{$fa-css-prefix}-male:before { content: $fa-var-male; }\n.#{$fa-css-prefix}-gittip:before,\n.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }\n.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }\n.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }\n.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }\n.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }\n.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }\n.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }\n.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }\n.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }\n.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }\n.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }\n.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }\n.#{$fa-css-prefix}-toggle-left:before,\n.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }\n.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }\n.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }\n.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }\n.#{$fa-css-prefix}-turkish-lira:before,\n.#{$fa-css-prefix}-try:before { content: $fa-var-try; }\n.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }\n.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }\n.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }\n.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }\n.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }\n.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }\n.#{$fa-css-prefix}-institution:before,\n.#{$fa-css-prefix}-bank:before,\n.#{$fa-css-prefix}-university:before { content: $fa-var-university; }\n.#{$fa-css-prefix}-mortar-board:before,\n.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }\n.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }\n.#{$fa-css-prefix}-google:before { content: $fa-var-google; }\n.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }\n.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }\n.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }\n.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }\n.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }\n.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }\n.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }\n.#{$fa-css-prefix}-language:before { content: $fa-var-language; }\n.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }\n.#{$fa-css-prefix}-building:before { content: $fa-var-building; }\n.#{$fa-css-prefix}-child:before { content: $fa-var-child; }\n.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }\n.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }\n.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }\n.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }\n.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }\n.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }\n.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }\n.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }\n.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }\n.#{$fa-css-prefix}-automobile:before,\n.#{$fa-css-prefix}-car:before { content: $fa-var-car; }\n.#{$fa-css-prefix}-cab:before,\n.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }\n.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }\n.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }\n.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }\n.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }\n.#{$fa-css-prefix}-database:before { content: $fa-var-database; }\n.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }\n.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }\n.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }\n.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }\n.#{$fa-css-prefix}-file-photo-o:before,\n.#{$fa-css-prefix}-file-picture-o:before,\n.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }\n.#{$fa-css-prefix}-file-zip-o:before,\n.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }\n.#{$fa-css-prefix}-file-sound-o:before,\n.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }\n.#{$fa-css-prefix}-file-movie-o:before,\n.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }\n.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }\n.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }\n.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }\n.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }\n.#{$fa-css-prefix}-life-bouy:before,\n.#{$fa-css-prefix}-life-buoy:before,\n.#{$fa-css-prefix}-life-saver:before,\n.#{$fa-css-prefix}-support:before,\n.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }\n.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }\n.#{$fa-css-prefix}-ra:before,\n.#{$fa-css-prefix}-resistance:before,\n.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }\n.#{$fa-css-prefix}-ge:before,\n.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }\n.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }\n.#{$fa-css-prefix}-git:before { content: $fa-var-git; }\n.#{$fa-css-prefix}-y-combinator-square:before,\n.#{$fa-css-prefix}-yc-square:before,\n.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }\n.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }\n.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }\n.#{$fa-css-prefix}-wechat:before,\n.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }\n.#{$fa-css-prefix}-send:before,\n.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }\n.#{$fa-css-prefix}-send-o:before,\n.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }\n.#{$fa-css-prefix}-history:before { content: $fa-var-history; }\n.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }\n.#{$fa-css-prefix}-header:before { content: $fa-var-header; }\n.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }\n.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }\n.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }\n.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }\n.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }\n.#{$fa-css-prefix}-soccer-ball-o:before,\n.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }\n.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }\n.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }\n.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }\n.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }\n.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }\n.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }\n.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }\n.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }\n.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }\n.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }\n.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }\n.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }\n.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }\n.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }\n.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }\n.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }\n.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }\n.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }\n.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }\n.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }\n.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }\n.#{$fa-css-prefix}-at:before { content: $fa-var-at; }\n.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }\n.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }\n.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }\n.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }\n.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }\n.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }\n.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }\n.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }\n.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }\n.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }\n.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }\n.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }\n.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }\n.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }\n.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }\n.#{$fa-css-prefix}-shekel:before,\n.#{$fa-css-prefix}-sheqel:before,\n.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }\n.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }\n.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }\n.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }\n.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }\n.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }\n.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }\n.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }\n.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }\n.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }\n.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }\n.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }\n.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }\n.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }\n.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }\n.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }\n.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }\n.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }\n.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }\n.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }\n.#{$fa-css-prefix}-intersex:before,\n.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }\n.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }\n.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }\n.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }\n.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }\n.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }\n.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }\n.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }\n.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }\n.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }\n.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }\n.#{$fa-css-prefix}-server:before { content: $fa-var-server; }\n.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }\n.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }\n.#{$fa-css-prefix}-hotel:before,\n.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }\n.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }\n.#{$fa-css-prefix}-train:before { content: $fa-var-train; }\n.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }\n.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }\n.#{$fa-css-prefix}-yc:before,\n.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }\n.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }\n.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }\n.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }\n.#{$fa-css-prefix}-battery-4:before,\n.#{$fa-css-prefix}-battery:before,\n.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }\n.#{$fa-css-prefix}-battery-3:before,\n.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }\n.#{$fa-css-prefix}-battery-2:before,\n.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }\n.#{$fa-css-prefix}-battery-1:before,\n.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }\n.#{$fa-css-prefix}-battery-0:before,\n.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }\n.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }\n.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }\n.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }\n.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }\n.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }\n.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }\n.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }\n.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }\n.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }\n.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }\n.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }\n.#{$fa-css-prefix}-hourglass-1:before,\n.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }\n.#{$fa-css-prefix}-hourglass-2:before,\n.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }\n.#{$fa-css-prefix}-hourglass-3:before,\n.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }\n.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }\n.#{$fa-css-prefix}-hand-grab-o:before,\n.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }\n.#{$fa-css-prefix}-hand-stop-o:before,\n.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }\n.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }\n.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }\n.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }\n.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }\n.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }\n.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }\n.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }\n.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }\n.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }\n.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }\n.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }\n.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }\n.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }\n.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }\n.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }\n.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }\n.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }\n.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }\n.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }\n.#{$fa-css-prefix}-tv:before,\n.#{$fa-css-prefix}-television:before { content: $fa-var-television; }\n.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }\n.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }\n.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }\n.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }\n.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }\n.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }\n.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }\n.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }\n.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }\n.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }\n.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }\n.#{$fa-css-prefix}-map:before { content: $fa-var-map; }\n.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }\n.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }\n.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }\n.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }\n.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }\n.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }\n.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }\n.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }\n.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }\n.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }\n.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }\n.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }\n.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }\n.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }\n.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }\n.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }\n.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }\n.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }\n.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }\n.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }\n.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }\n.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }\n.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }\n.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }\n.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }\n.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }\n.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }\n.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }\n.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }\n.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }\n.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }\n.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }\n.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }\n.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }\n.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }\n.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }\n.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }\n.#{$fa-css-prefix}-asl-interpreting:before,\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }\n.#{$fa-css-prefix}-deafness:before,\n.#{$fa-css-prefix}-hard-of-hearing:before,\n.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }\n.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }\n.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }\n.#{$fa-css-prefix}-signing:before,\n.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }\n.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }\n.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }\n.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }\n.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }\n.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }\n.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }\n.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }\n.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }\n.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }\n.#{$fa-css-prefix}-google-plus-circle:before,\n.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }\n.#{$fa-css-prefix}-fa:before,\n.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }\n.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }\n.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }\n.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }\n.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }\n.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }\n.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }\n.#{$fa-css-prefix}-vcard:before,\n.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }\n.#{$fa-css-prefix}-vcard-o:before,\n.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }\n.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }\n.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }\n.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }\n.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }\n.#{$fa-css-prefix}-drivers-license:before,\n.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }\n.#{$fa-css-prefix}-drivers-license-o:before,\n.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }\n.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }\n.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }\n.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }\n.#{$fa-css-prefix}-thermometer-4:before,\n.#{$fa-css-prefix}-thermometer:before,\n.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }\n.#{$fa-css-prefix}-thermometer-3:before,\n.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }\n.#{$fa-css-prefix}-thermometer-2:before,\n.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }\n.#{$fa-css-prefix}-thermometer-1:before,\n.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }\n.#{$fa-css-prefix}-thermometer-0:before,\n.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }\n.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }\n.#{$fa-css-prefix}-bathtub:before,\n.#{$fa-css-prefix}-s15:before,\n.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }\n.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }\n.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }\n.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }\n.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }\n.#{$fa-css-prefix}-times-rectangle:before,\n.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }\n.#{$fa-css-prefix}-times-rectangle-o:before,\n.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }\n.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }\n.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }\n.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }\n.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }\n.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }\n.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }\n.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }\n.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }\n.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }\n.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }\n.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }\n","// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only(); }\n.sr-only-focusable { @include sr-only-focusable(); }\n","// Styles for admin pages.\n// --------------------------------------------------\n.views-display-setting .views-admin-label {\n // From views-admin.css\n display: inline-block;\n float: left; /* LTR */\n // From views-admin.theme.css\n margin-right: 3pt; /* LTR */\n}\n","// Comment\n// --------------------------------------------------\n.comment {\n margin-top: 15px;\n .user-picture {\n float: left;\n margin-right: 10px;\n a {\n display: block;\n }\n }\n .submitted {\n font-size: 0.90em;\n .permalink {\n margin-left: 5px;\n }\n .new {\n color: $brand-danger;\n }\n }\n .content {\n margin: 10px 0;\n }\n .links {\n font-size: 0.80em;\n }\n}\n","// General\n// -----------------------------------------------------------------------------\n.form-item {\n margin-top: 0;\n}\nform {\n .form-managed-file {\n input {\n display: inline-block;\n margin: 0 10px 0 0;\n }\n }\n .container-inline-date .date-padding {\n padding: 0;\n float: none;\n }\n .form-actions {\n .btn {\n margin-right: 10px;\n }\n }\n .field-type-datetime {\n select {\n min-width: 80px;\n }\n }\n .format-toggle {\n float: none;\n }\n .field-multiple-table {\n thead {\n th {\n padding: 10px !important;\n label {\n margin: 0;\n font-weight: bold;\n }\n }\n }\n }\n .description {\n margin: 2px 0;\n color: $gray;\n }\n}\n\n.media-widget {\n > a {\n margin: 0 10px 0 0;\n @extend .btn;\n }\n}\n\nfieldset {\n padding: 0;\n legend {\n float: left;\n line-height: 1em;\n margin: 0;\n }\n .panel-body {\n clear: both;\n }\n}\n\nhtml.js {\n input.form-autocomplete {\n background: image-url(\"throbber.gif\") no-repeat right 8px #fff !important;\n }\n input.throbbing {\n background-position: right -122px !important;\n }\n fieldset.collapsed {\n height: auto;\n border-left-width: 1px;\n border-right-width: 1px;\n }\n}\n\n.views-exposed-form .views-exposed-widget .form-submit {\n margin-top: 1.8em;\n}\n\n@media (max-width: 767px) { \n form {\n .btn {\n width: 100%;\n display: block;\n clear: both;\n margin: 0 0 5px;\n }\n input.form-text,\n textarea,\n select {\n width: 100%;\n }\n .confirm-parent, \n .password-parent, \n .password-suggestions {\n width: auto !important;\n }\n .password-parent {\n div.password-strength {\n width: 150px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px;\n }\n }\n .confirm-parent {\n div.password-confirm {\n width: 110px;\n float: right;\n margin-top: 0;\n font-size: 10px;\n margin-bottom: 5px;\n margin-top: -5px;\n }\n }\n }\n}\n\n// Node Edit Form\n// -----------------------------------------------------------------------------\n#node-edit {\n #edit-title {\n font-size: 1.6em;\n line-height: 1.6em;\n height: 45px;\n width: 90%;\n }\n .form-item-path-alias {\n @include clearfix;\n label, input {\n display: inline;\n }\n }\n .burr-flipped-sidebar {\n .panel-pane {\n @include well;\n padding: 10px;\n .pane-title {\n margin-top: 0;\n }\n }\n .pane-node-form-buttons {\n background: none;\n padding: inherit;\n .form-actions {\n margin: 0;\n border-top: 0;\n }\n }\n }\n .pane-node-form-buttons {\n clear: both;\n }\n}\n\n.filter-wrapper {\n @include well;\n margin-top: 10px;\n .form-item {\n margin: 0 0 10px;\n padding: 0;\n }\n .filter-guidelines {\n padding: 0;\n .tips {\n margin-left: 0;\n }\n }\n}\n\n// Field Overview\n// -----------------------------------------------------------------------------\n.page-admin {\n form {\n table {\n select,\n input.form-text {\n width: 150px;\n }\n }\n }\n}\n\n// Features\n// -----------------------------------------------------------------------------\n#features-export-form {\n .features-export-parent {\n margin: 0 0 20px;\n fieldset.collapsed {\n min-height: 43px !important;\n background: none;\n }\n .features-export-list {\n padding: 10px;\n .form-item {\n float: none !important;\n }\n }\n }\n}\n\n// Panels edit content form.\n// -----------------------------------------------------------------------------\n#panels-panel-context-edit-move,\n#panels-panel-context-edit-content {\n .container {\n width: auto;\n padding: 0;\n .row {\n margin-bottom: 20px;\n }\n }\n}\n\n// Navbar form\n// -----------------------------------------------------------------------------\n.navbar-form {\n .form-wrapper {\n padding: 0;\n }\n .form-item-keys,\n .form-item {\n margin-top: 0 !important;\n }\n .form-submit {\n display: none;\n }\n}\n\n// Search form block\n// -----------------------------------------------------------------------------\n.pane-search-box {\n form {\n .form-wrapper {\n .form-group {\n display: block;\n margin-bottom: 10px;\n }\n }\n }\n}\n\n// Draggable tables\n// -----------------------------------------------------------------------------\n.tabledrag-handle .handle {\n box-sizing: content-box;\n}\n","// Sass Mixins\n// --------------------------------------------------\n@mixin transparent($color, $alpha) {\n $rgba: rgba($color, $alpha);\n $ie-hex-str: ie-hex-str($rgba);\n background-color: transparent;\n background-color: $rgba;\n filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#{$ie-hex-str},endColorstr=#{$ie-hex-str});\n zoom: 1;\n}\n\n@mixin well() {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: $well-bg;\n border: 1px solid darken($well-bg, 7%);\n @include border-radius(4px);\n @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n@mixin btn() {\n display: inline-block;\n}\n\n// Breakpoint mixin.\n// Usage: @include breakpoint(sm) { ... }\n// -----------------------------------------------------------------------------\n@mixin breakpoint($class) {\n @if $class == xs {\n @media (max-width: $screen-xs-max) { @content; }\n }\n @else if $class == sm {\n @media (min-width: $screen-sm) { @content; }\n }\n @else if $class == md {\n @media (min-width: $screen-md) { @content; }\n }\n @else if $class == lg {\n @media (min-width: $screen-lg) { @content; }\n }\n @else {\n @warn \"Breakpoint mixin supports: xs, sm, md, lg\";\n }\n}\n\n// Font Awesome.\n// Usage: @include fa(bars) { ... }\n// -----------------------------------------------------------------------------\n@mixin fa($icon) {\n @extend .fa;\n @extend .fa-#{$icon}\n}\n","// Layout\n// --------------------------------------------------\n.container {\n .container,\n .container-fluid {\n width: auto;\n margin-left: -15px;\n margin-right: -15px;\n }\n}\n\n#footer {\n margin: 36px 0;\n}\n","// Maintenance page\n// -----------------------------------------------------------------------------\nbody.maintenance-page {\n .container {\n max-width: 970px !important;\n }\n\n .jumbotron {\n background-color: #000000;\n color: white;\n padding: 20px 0;\n h1 {\n font-size: 3.0em;\n margin-top: 0;\n }\n @include breakpoint(md) {\n padding-top: 30px;\n padding-bottom: 30px;\n }\n }\n\n .main {\n padding-top: 20px;\n padding-bottom: 50px;\n }\n\n .page-header {\n h1 {\n font-size: 24px;\n @include breakpoint(md) {\n font-size: 36px;\n }\n }\n }\n\n // Tasks.\n // --------------------------------------------------\n .tasks-list {\n > div {\n margin-bottom: 25px;\n @extend .text-muted;\n h6 {\n margin-bottom: 2px;\n font-size: 14px;\n font-weight: normal;\n }\n h4 {\n margin-top: 0;\n font-size: 14px;\n }\n &.active,\n &.done {\n color: black;\n }\n }\n }\n\n // Forms.\n // --------------------------------------------------\n .form-actions {\n .btn {\n &:first-child {\n @extend .btn-primary;\n background-color: white;\n border-color: black;\n color: black;\n &:hover, &:focus {\n background-color: black;\n border-color: white;\n }\n }\n }\n }\n\n // Progress bar\n .progress {\n .progress-bar {\n background-color: black;\n }\n }\n\n // Theme selection form.\n #panopoly-theme-selection-form {\n .form-type-radio {\n margin: 0 0 2em;\n label {\n display: block;\n }\n .form-radio {\n margin: 0;\n left: 0;\n top: 40%;\n }\n }\n }\n}","// Styles for CTools Modal\n// --------------------------------------------------\nbody.ctools-modal-open {\n overflow: hidden;\n}\n#modalContent {\n .modal-content {\n width: 100%;\n overflow: hidden;\n box-shadow: none !important;\n }\n #modal-content {\n overflow: auto;\n width: 100% !important;\n background: white;\n }\n .panels-add-content-modal {\n background: none;\n padding: 0;\n height: 100%;\n margin: -20px -20px 0;\n width: 100%;\n position: absolute;\n }\n .panels-section-columns,\n .panels-categories-description {\n border: none;\n }\n .panels-section-column-categories {\n margin-left: 0;\n border-right: 1px solid #ccc;\n height: 100%;\n background: white;\n overflow: auto;\n padding-bottom: 20px;\n .btn {\n border: 1px solid $gray-light !important;\n line-height: inherit;\n margin: 0;\n text-align: left;\n }\n }\n .panels-categories-box {\n border: 0;\n a.btn {\n padding: 5px 10px;\n }\n a.active {\n background: $gray-lighter;\n box-shadow: none;\n }\n }\n .panels-root-content-box {\n a.btn {\n padding: 5px 10px;\n }\n }\n .panels-categories-description {\n padding: 20px;\n }\n .panels-section-columns {\n padding-bottom: 20px;\n }\n fieldset.widget-preview {\n margin-top: 18px;\n margin-bottom: 0;\n position: static;\n border: 1px solid #ddd;\n .panel-heading {\n position: relative;\n .btn {\n position: absolute;\n right: 10px;\n top: 5px;\n }\n }\n }\n .ctools-auto-submit-full-form {\n fieldset {\n width: 48%;\n display: block;\n fieldset {\n width: 100%;\n }\n &.widget-preview-single {\n float: right;\n margin-left: 1em;\n margin-top: 0;\n width: 48%;\n max-width: 48% !important;\n }\n }\n .form-actions {\n float: right;\n clear: right;\n width: 48%;\n max-width: 48%;\n text-align: right;\n }\n }\n .form-item-view-settings {\n display: block;\n }\n .form-item-exposed-use-pager {\n display: block;\n }\n #panopoly-form-widget-preview {\n width: 50%;\n float: right;\n .container {\n width: auto;\n }\n }\n}\n","// Basic menu blocks\n// -----------------------------------------------------------------------------\nul.menu > li > ul.menu {\n margin-left: 1em; /* LTR */\n}\n\n// Nav\n// -----------------------------------------------------------------------------\nul.nav {\n > li {\n &.dropdown {\n &:after {\n width: 100%;\n height: 2px;\n background: none;\n position: absolute;\n bottom: -2px;\n left: 0;\n right: 0;\n content: '';\n }\n }\n }\n}\n\n// Nav expanded\n// -----------------------------------------------------------------------------\n.nav-expanded {\n .caret {\n display: none;\n }\n > li {\n > a {\n font-size: 1.2em;\n text-align: left;\n font-weight: 700;\n color: $text-color;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n ul.dropdown-menu {\n background: none;\n display: block;\n border: 0;\n padding: 0;\n position: static;\n float: none;\n border-radius: 0;\n box-shadow: none;\n li {\n a {\n padding: 3px 15px;\n color: $text-color;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n }\n ul {\n display: none !important;\n }\n }\n @include breakpoint(md) {\n float: none;\n margin-bottom: 18px;\n }\n &.open {\n > a {\n color: $text-color;\n background: none;\n &:hover, &:focus, &.active, &.active-trail {\n color: $link-hover-color;\n background: none;\n }\n }\n }\n }\n}\n","// Styles for Nodes\n// --------------------------------------------------\n\n// Miscellaneous\n// --------------------------------------------------\n.field-collection-container {\n border: 0;\n .field-collection-view {\n margin: 0;\n padding: 0;\n border: none;\n }\n}\n\n// Panopoly News\n// --------------------------------------------------\n.node-panopoly-page {\n // Teaser\n &.node-teaser {\n .panel-pane {\n margin: 0 0 10px 260px;\n }\n .pane-node-field-featured-image {\n float: left;\n margin-left: 0;\n }\n }\n @media (max-width: $screen-xs-max) {\n .panel-pane {\n float: none !important;\n margin: 0 0 10px !important;\n }\n }\n}\n\n// Panopoly News\n// --------------------------------------------------\n.node-panopoly-news-article {\n // Teaser\n &.node-teaser {\n .panel-pane {\n margin: 0 0 10px 260px;\n }\n .pane-node-field-featured-image {\n float: left;\n margin-left: 0;\n }\n }\n @media (max-width: $screen-xs-max) {\n .panel-pane {\n float: none !important;\n margin: 0 0 10px !important;\n }\n }\n}\n","// General\n// -----------------------------------------------------------------------------\n.panel-display {\n > .row {\n margin-bottom: 20px;\n }\n}\n.panel-flexible .panel-separator {\n display: none;\n}\n\n// Admin\n// -----------------------------------------------------------------------------\n.panels-layouts-checkboxes {\n // Undo default Radix styling so the radio button can appear above the layout.\n input[type=\"radio\"] {\n position: static;\n margin-left: 0px;\n margin-bottom: 20px;\n }\n label {\n margin-left: 0px;\n }\n .form-type-radio {\n margin: 0 !important;\n }\n}\n\n// IPE\n// -----------------------------------------------------------------------------\nbody.panels-ipe {\n margin-bottom: 55px !important;\n}\n\ndiv#panels-ipe-control-container {\n width: auto;\n left: 0;\n right: 0;\n box-shadow: none;\n .panels-ipe-button-container {\n text-align: center;\n .panels-ipe-pseudobutton-container {\n margin: 0 5px;\n a {\n padding: 0px 10px 0px 34px;\n &:hover {\n text-decoration: none;\n }\n }\n }\n }\n .panels-ipe-form-container {\n form {\n > div {\n text-align: center;\n }\n .form-submit {\n margin: 0 5px;\n padding: 0px 10px 0px 34px;\n &:hover {\n box-shadow: none;\n }\n }\n }\n }\n}\n\nul.panels-ipe-linkbar {\n list-style: none outside none;\n > li {\n display: inline-block;\n margin: 0 0 0 5px;\n a {\n margin: 0 !important;\n }\n }\n}\n","// Site name and logo\n// -----------------------------------------------------------------------------\n#logo {\n display: block;\n float: left;\n margin-right: $navbar-padding-horizontal;\n\n // Resize the logo to fit the height of the navbar (which a child theme may\n // change on the desktop).\n height: 100%;\n width: auto;\n}\n#site-name {\n float: left;\n}\n\n// Page header\n// -----------------------------------------------------------------------------\n.page-header {\n margin: 0 0 18px;\n h1 {\n margin: 0;\n }\n}\n\n// Hide the .page-header for pages with .page-title-hidden.\n.page-title-hidden {\n .page-header {\n display: none;\n }\n}\n\n// Breadcrumb\n// -----------------------------------------------------------------------------\n.breadcrumb {\n a {\n i {\n display: none;\n }\n }\n}\n\n// Tabs\n// -----------------------------------------------------------------------------\n.tabs,\n.nav-tabs {\n margin: 0 0 18px;\n}\n\n// Action Links\n// -----------------------------------------------------------------------------\n.action-links {\n list-style: none outside none;\n margin: 0 0 18px;\n padding: 0;\n @include clearfix;\n\n > li {\n float: left;\n margin: 0 10px 0 0;\n }\n}\n\n// Vertical Tabs\n// -----------------------------------------------------------------------------\ndiv.vertical-tabs {\n border: none;\n border: 1px solid #DDD;\n outline: none;\n border-radius: 4px;\n ul.vertical-tabs-list {\n border: none;\n margin-top: 20px;\n margin-bottom: 20px;\n outline: none;\n li {\n border: none;\n background: none;\n outline: none !important;\n border-radius: 4px 0 0 4px;\n border: 1px solid;\n border-color: #fff #ddd #fff #fff;\n &.selected {\n border-color: #ddd #fff #ddd #ddd;\n }\n a {\n outline: none !important;\n border-radius: 4px 0 0 4px;\n &:hover {\n color: #fff;\n background: $link-color;\n text-decoration: none;\n strong {\n text-decoration: none;\n color: #fff;\n }\n }\n }\n }\n }\n .vertical-tabs-panes {\n padding: 20px 10px;\n }\n .form-type-textfield input {\n width: 90%;\n box-sizing: content-box;\n }\n}\n\n// Tables\n// --------------------------------------------------\ntable {\n width: 100%;\n margin-bottom: $line-height-base;\n // Cells\n th,\n td {\n padding: 8px;\n line-height: $line-height-base;\n text-align: left;\n vertical-align: top;\n border-top: 1px solid $table-border-color;\n &.checkbox {\n text-align: center;\n display: table-cell;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0;\n input {\n float: none !important;\n margin-left: 0 !important;\n }\n div.checkbox {\n text-align: center;\n min-height: 0;\n margin-bottom: 0;\n padding-left: 0;\n }\n }\n }\n th {\n font-weight: bold;\n }\n // Bottom align for column headings\n thead th {\n vertical-align: bottom;\n }\n // Remove top border from thead by default\n caption + thead tr:first-child th,\n caption + thead tr:first-child td,\n colgroup + thead tr:first-child th,\n colgroup + thead tr:first-child td,\n thead:first-child tr:first-child th,\n thead:first-child tr:first-child td {\n border-top: 0;\n }\n // Account for multiple tbody instances\n tbody + tbody {\n border-top: 2px solid $table-border-color;\n }\n}\n\n// Links\n// --------------------------------------------------\nul.links {\n padding: 0;\n list-style: none outside none;\n &.inline {\n margin: 0;\n li {\n margin: 0 10px 0 0;\n padding: 0;\n }\n }\n}\n\n// Carousel\n// --------------------------------------------------\n.carousel {\n .carousel-control {\n z-index: 100;\n }\n .carousel-indicators li {\n float: none;\n margin-left: 3px;\n margin-right: 3px;\n a {\n display: none;\n }\n }\n .carousel-caption {\n h1, h2, h3, h4, h5, h6 {\n color: white;\n }\n }\n}\n\n// Pager\n// --------------------------------------------------\n.item-list {\n ul.pagination {\n margin: 20px 0;\n > li {\n margin: 0;\n display: inline-block;\n padding: 0;\n position: relative;\n > a, > span {\n padding: 6px 12px;\n border-radius: inherit;\n &.progress-disabled {\n float: left;\n }\n }\n .ajax-progress {\n float: left;\n padding: 6px 5px 6px 10px;\n }\n }\n }\n}\n\n// Misc Fixes\n// --------------------------------------------------\n.ctools-dropdown-container {\n hr {\n margin: 0;\n }\n}\n\nul.nav,\nul.navl li,\nul.dropdown-menu,\nul.dropdown-menu li {\n list-style: none outside none !important;\n}\n\n// Calendar\n// --------------------------------------------------\n.calendar-calendar {\n @extend .col-md-12;\n table.mini {\n @extend .table-bordered;\n td {\n border: 1px solid $gray-lighter !important;\n padding: 5px;\n }\n }\n}\n.view-header {\n .date-nav-wrapper {\n h3 {\n margin-top: 5px !important;\n margin-bottom: 0;\n }\n }\n}\n\n// jQuery UI tabs\n// --------------------------------------------------\n.ui-tabs .ui-tabs-nav {\n padding: 0 5px 5px 5px;\n}\n","// Styles for Views\n// --------------------------------------------------\n\n// Fixes\n// --------------------------------------------------\n.view {\n .row {\n > .list-group {\n @extend .col-md-12;\n }\n }\n}\n.views-exposed-form {\n .views-submit-button,\n .views-reset-button {\n margin-top: 3px;\n }\n}\n","// Mixins\n// -----------------------------------------------------------------------------\n@mixin blockbox {\n @include border-radius(5px);\n border: 1px solid $border;\n margin-bottom: 20px;\n padding:0px;\n .pane-content {\n background-color: transparent;\n margin: 0;\n padding: 15px;\n }\n}\n\n@mixin block-title {\n @include border-radius(5px 5px 0 0);\n border: 1px solid;\n border-bottom: none;\n font-size: 16px;\n line-height: 1.3;\n margin: 0;\n padding: 7px 10px;\n font-weight: normal;\n}\n\n@mixin searchbox {\n form {\n display:block;\n margin:8px 0;\n position:relative;\n width: 100%;\n }\n input.form-text {\n padding-right:30px;\n }\n button[type=\"submit\"],\n input[type=\"submit\"] {\n background:none !important;\n border:none;\n content:\"\\f002\";\n color: $gray;\n display: inline-block;\n font-size: 1.3em;\n font-family: $icon-fa;\n margin: 0;\n padding:0;\n position: absolute;\n right:10px;\n width:25px;\n top: 2px;\n }\n}\n@mixin h4 {\n font-size: 20px;\n font-weight: bold;\n margin-top: 2em;\n margin-bottom: .5em;\n}\n\n%button {\n // background:$brand-primary;\n // border-color:$brand-primary;\n color: white;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n white-space: nowrap;\n padding: 5px 12px;\n line-height: 1.4em;\n @include border-radius(4px);\n}\n%button:hover, \n%button:focus, \n%button:active {\n // background:$brand-secondary;\n // border-color:$brand-secondary;\n color: white;\n text-decoration: none;\n}\n%button-attached {\n @include border-radius(0 $border-radius-base $border-radius-base 0);\n padding-left: 10px;\n padding-right: 10px;\n}\n\n%screenreader {\n position: absolute;\n top:0;\n left:-9999px\n}\n\n// Force wrap content: https://perishablepress.com/wrapping-content/\n@mixin wrap {\n white-space: pre; /* CSS 2.0 */\n white-space: pre-wrap; /* CSS 2.1 */\n white-space: pre-line; /* CSS 3.0 */\n white-space: -pre-wrap; /* Opera 4-6 */\n white-space: -o-pre-wrap; /* Opera 7 */\n white-space: -moz-pre-wrap; /* Mozilla */\n white-space: -hp-pre-wrap; /* HP Printers */\n word-wrap: break-word; /* IE 5+ */ \n word-break: break-word;\n}\n\n@mixin card {\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.16), 0 0 10px 0 rgba(0, 0, 0, 0.12);\n margin-top: 10px;\n box-sizing: border-box;\n border-radius: 2px;\n background-clip: padding-box;\n text-align: center;\n\n img {\n display: block;\n margin: 0 auto;\n }\n\n h2 {\n margin:.75em 1em;\n text-align: center;\n }\n\n .content {\n margin-left: 1em;\n margin-right: 1em;\n }\n\n .btn-primary {\n margin: 0 auto 1.5em;\n }\n}\n\n@mixin item-list {\n a {\n border: 1px solid $border;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n &:hover {\n color: #ffffff;\n text-decoration: none;\n background: $brand-primary;\n }\n }\n &:first-of-type a {\n @include border-radius(4px 4px 0px 0px);\n }\n &:last-of-type a {\n @include border-radius(0px 0px 4px 4px);\n }\n}\n\n@mixin pointer {\n content: '';\n position: absolute;\n border-style: solid;\n border-width: 17px 0 17px 15px;\n border-color: transparent $smoke;\n display: block;\n width: 0;\n z-index: 1;\n right: -15px;\n top: 0;\n}\n\n@mixin submitted {\n color: #777;\n border-top: 1px solid #eee;\n border-bottom: 1px solid #eee;\n margin: 0 0 1em 0;\n padding: .5em 0;\n}",".clearfix {\n overflow: visible;\n}\n.admin-list {\n dt, dd{\n display:inline-block;\n float:none;\n vertical-align: top;\n }\n}\n.views-edit-view {\n\t.action-list {\n\t\tinput.btn,\n\t\tinput.btn:active,\n\t\tinput.btn:focus,\n\t\tinput.btn:hover, \n\t\tinput[type=\"submit\"]:hover {\n\t\t\tbackground: inherit;\n\t\t\tborder: none;\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\t.footer {\n\t\tbackground: inherit;\n\t}\n}\n\n.modal-content {\n\t.panels-root-content-box a.btn {\n\t\twhite-space: normal;\n\t}\n\t.panel-title {\n\t\tpadding-right: 55px;\n\t}\n}\n\n.views-displays .secondary .open > a:hover {\n\tcolor: #666;\n}\n\n.media-thumbnails-select {\n\tpadding: 0 0 40px;\n}\n\n.page-admin .alert {\n margin: 10px 0;\n}\n// Admin tables.\n.page-admin {\n .container.main {\n width: 100%;\n }\n .table-bordered > thead > tr > th,\n .table-bordered > tbody > tr > th,\n .table-bordered > tbody > tr > td {\n border: none;\n }\n table thead > tr > th.checkbox, \n table.table thead > tr > th.checkbox,\n .table-bordered > tbody > tr > th.checkbox,\n .table-bordered > tbody > tr > td.checkbox,\n .table-striped > tbody > tr:nth-child(odd) > td.checkbox,\n .table-striped > tbody > tr:nth-child(odd) > th.checkbox {\n background-color: transparent;\n border: none;\n margin: 0;\n display: table-cell;\n position: relative;\n }\n .table tbody tr:hover td.checkbox, \n .table tbody tr:hover th.checkbox {\n background-color: #FFFEEE;\n }\n table th.checkbox, \n table td.checkbox {\n label {\n line-height:0;\n padding: 4px;\n vertical-align: top;\n }\n input[type=\"checkbox\"],\n input {\n float: none !important;\n margin: 0 !important;\n position: relative;\n }\n }\n}\n","// License block.\n.pane-dkan-sitewide-dkan-sitewide-license .pane-content {\n word-break: break-word;\n}\n\n// OTHER ACCESS\n.pane-dkan-sitewide-dkan-sitewide-other-access,\n#block-dkan-sitewide-dkan-sitewide-other-access {\n a.btn {\n background-image: auto;\n border:1px solid $smoke;\n padding:6px 10px 6px 36px;\n position:relative;\n i {\n background-position: 0 0;\n position:absolute;\n top:8px;\n left:5px;\n visibility:visible;\n &.ckan-icon-rdfxml {\n background-image: url(../images/rdf.png);\n }\n &.ckan-icon-json {\n background-image: url(../images/json.png);\n }\n }\n &:hover {\n background-color:$gray-lighter;\n }\n }\n .btn-group {\n margin:.6em 0;\n .btn:first-child {\n background-image: url(../images/json.png);\n background-repeat:no-repeat;\n background-position: 10px 10px;\n }\n .btn:last-child {\n background-image: url(../images/rdf.png);\n background-repeat:no-repeat;\n background-position: 10px 10px;\n }\n }\n}\n\n// DKAN FORMS\n#block-dkan-forms-dkan-forms-dataset-help h2.block-title::before{\n content: \"\\f05a\";\n font-family: $icon-fa;\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em;\n}\n\n// FACET Blocks\n.panel-region-sidebar .radix-layouts-sidebar {\n .ctools-collapsible-container,\n div[class*=\"pane-facetapi\"],\n .block-facetapi {\n &.pane-block,\n .pane-content {\n border: none;\n margin: 0;\n padding:0;\n @include border-radius(0);\n }\n .item-list {\n border: 1px solid $border;\n .facetapi-limit-link {\n padding: 10px 22px;\n &:before {\n top: 10px;\n right: 22px;\n }\n }\n }\n h2.pane-title {\n @include border-radius(0);\n border: none;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n &:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px;\n }\n }\n &.ctools-collapsed {\n h2.pane-title:after {\n content: \"\\f078\";\n }\n }\n .ctools-toggle {\n background: none;\n }\n ul {\n margin:0;\n padding:0;\n }\n ul li.leaf {\n list-style-type:none;\n list-style-image:none;\n margin:0;\n padding:0;\n li {\n position:relative;\n a {\n padding-right:48px;\n }\n }\n &.last {\n border-bottom:none;\n }\n li:before {\n content:\"\\f178\";\n font-family:$icon-fa;\n position:absolute;\n top:4px;\n right:30px;\n }\n a {\n color:$gray-dark;\n display:block;\n padding:6px 20px 6px 10px;\n position:relative;\n line-height: 22px;\n &:focus,\n &:hover {\n color:darken($gray-dark, 10%);\n background: rgba(black, 0.03);\n text-decoration:none;\n }\n &:hover:after {\n content:\"\\f055\";\n color:$brand-success;\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:6px;\n }\n img {\n height: 25px;\n width: 25px;\n margin: 0 16px 0 0;\n }\n }\n a.facetapi-active {\n background:$smoke;\n color:#333;\n z-index:0;\n }\n a.facetapi-active:before {\n @include pointer;\n }\n a.facetapi-active:after {\n content:\"\\f00d\";\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:6px;\n }\n a.facetapi-active:hover:after {\n color:red;\n }\n }\n a.facetapi-limit-link {\n display:block;\n padding:5px 30px 5px 5px;\n position:relative;\n }\n a.facetapi-limit-link:before {\n content:\"\\f150\";\n font-family:$icon-fa;\n position:absolute;\n top:6px;\n right:15px;\n }\n a.facetapi-limit-link.open:before {\n content:\"\\f151\";\n }\n }\n .ctools-collapsible-container .ctools-toggle {\n width: 12px;\n }\n}\n// Date facets.\n.facetapi-facet-changed {\n li.expanded {\n a.facetapi-active {\n background: #ccc;\n border-bottom: 1px dotted #eee;\n color: #333;\n line-height: 22px;\n padding: 6px 20px 6px 10px;\n &:hover {\n background: #ccc;\n color: #333;\n text-decoration: none;\n &:after {\n color: red;\n }\n }\n &:before {\n @include pointer;\n }\n &:after {\n content: \"\\f00d\";\n font-family: \"FontAwesome\";\n position: absolute;\n top: 6px;\n right: 6px;\n }\n }\n ul.expanded li.leaf a,\n li.expanded a {\n padding: 6px 20px 6px 20px;\n }\n .item-list {\n border: none;\n }\n }\n}\n\n// Wrap long value strings.\n.facetapi-facet-field-license a {\n @include wrap;\n}\n\n// Groups\n.pane-views-group-block-block,\n#block-views-group-block-block {\n overflow:hidden;\n .views-field-title a {\n display: block;\n padding: .5em 0;\n }\n .views-field-body p {\n margin: .5em 0 1em;\n }\n .group-subscribe-message {\n @include border-bottom-radius(4px);\n background: $brand-primary;\n color: #fff;\n padding:5px;\n text-align: center;\n margin-left: -15px;\n margin-right: -15px;\n a {\n color: #fff;\n display: block;\n }\n }\n}\n\n// Dataset page Group block.\n.node-type-group .radix-bryant .radix-layouts-sidebar .pane-block.pane-views-group-block-block .pane-content {\n padding: 15px 15px 0;\n}\n\n#block-dkan-dataset-dkan-dataset-dataset-help {\n .content {\n padding: 10px;\n }\n}\n\n#block-dkan-forms-dkan-forms-dataset-help {\n h2:before {\n content: \"\\f05a\";\n font-family: $icon-fa;\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n text-decoration: inherit;\n font-size: 1.2em;\n line-height: 1;\n position: relative;\n top: 1px;\n margin-right: 0.4em;\n }\n}\n\n// Front page hero blocks.\n.pane-dkan-sitewide-dkan-demo-front,\n#block-dkan-sitewide-demo-front-dkan-demo-front {\n -webkit-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n -moz-box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n //background-color: rgba($brand-primary, 0.5);\n p {\n color: #fff;\n padding: 15px;\n }\n .media-overlay {\n position: relative;\n padding: 0;\n img {\n width: 100%;\n height: auto;\n }\n }\n .media-overlay .media-heading {\n background-color: rgba(0, 0, 0, 0.8);\n bottom: 0;\n color: #FFFFFF;\n font-size: 13px;\n left: 0;\n line-height: 18px;\n margin: 0;\n padding: 12px 10px;\n position: absolute;\n right: 0;\n z-index: 1;\n }\n}\n// Sidebar Social Links.\n.radix-layouts-sidebar .pane-dkan-sitewide-dkan-sitewide-social.pane-block .pane-content {\n padding: 0;\n li.last a:hover {\n @include border-radius(0 0 3px 3px);\n }\n}\n// Additional Information block.\n.pane-dkan-sitewide-dkan-sitewide-resource-add {\n table {\n margin-top: 0;\n }\n}\n\n// Rounded facet corners.\n.panel-region-sidebar .radix-layouts-sidebar {\n .panel-panel-inner {\n .panels-ipe-portlet-wrapper:first-child,\n > div[class*=\"pane-facetapi\"]:first-child {\n h2.pane-title {\n @include border-radius(5px 5px 0 0);\n }\n }\n .panels-ipe-portlet-wrapper:last-child,\n > div[class*=\"pane-facetapi\"]:last-child {\n .ctools-collapsed,\n &.ctools-collapsed {\n h2.pane-title {\n @include border-radius(0 0 5px 5px);\n }\n }\n }\n }\n}\n","// Variables\n// -----------------------------------------------------------------------------\n\n// bootstrap specific variable. set to false if not using ruby + asset pipeline / compass.\n$bootstrap-sass-asset-helper: false !default;\n\n// Global values\n// -----------------------------------------------------------------------------\n\n// Grays\n// -----------------------------------------------------------------------------\n\n$gray-darker: lighten(#000, 13.5%) !default; // #222\n$gray-dark: lighten(#000, 20%) !default; // #333\n$gray: lighten(#000, 33.5%) !default; // #555\n$gray-light: lighten(#000, 60%) !default; // #999\n$gray-lighter: lighten(#000, 93.5%) !default; // #eee\n$smoke: #ccc;\n$shade: #F3F3F3;\n$border: #ddd;\n\n// Brand colors\n// -----------------------------------------------------------------------------\n\n$brand-primary: #0A77BD;\n$brand-secondary: #002245;\n$brand-success: #5cb85c !default;\n$brand-warning: #FFE285 !default;\n$brand-danger: #d9534f !default;\n$brand-info: #5bc0de !default;\n\n// Scaffolding\n// -----------------------------------------------------------------------------\n\n$body-bg: #fff !default;\n$text-color: $gray-dark !default;\n\n// Links\n// -----------------------------------------------------------------------------\n\n$link-color: $brand-primary !default;\n$link-hover-color: darken($link-color, 15%) !default;\n\n// Typography\n// -----------------------------------------------------------------------------\n\n$font-base:\t\t\t\t\t\t\t\t'Open Sans', \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-sans-serif: 'Open Sans', \"Helvetica Neue\", Helvetica, Arial, sans-serif !default;\n$font-family-serif: Georgia, \"Times New Roman\", Times, serif !default;\n$font-family-monospace: Menlo, Monaco, Consolas, \"Courier New\", monospace !default;\n$font-family-base: $font-base !default;\n\n$font-size-base: 16px !default;\n$font-size-large: ceil($font-size-base * 1.25) !default; // ~18px\n$font-size-small: ceil($font-size-base * 0.85) !default; // ~12px\n\n$font-size-h1: floor($font-size-base * 2.6) !default; // ~36px\n$font-size-h2: floor($font-size-base * 2.15) !default; // ~30px\n$font-size-h3: ceil($font-size-base * 1.7) !default; // ~24px\n$font-size-h4: ceil($font-size-base * 1.25) !default; // ~18px\n$font-size-h5: $font-size-base !default;\n$font-size-h6: ceil($font-size-base * 0.85) !default; // ~12px\n\n$line-height-base: 2 !default; // 20/14\n$line-height-computed: floor($font-size-base * $line-height-base) !default; // ~20px\n\n$headings-font-family: $font-family-base !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.1 !default;\n$headings-color: inherit !default;\n\n\n// Iconography\n// -----------------------------------------------------------------------------\n\n$icon-fa: 'FontAwesome';\n\n// Components\n// -----------------------------------------------------------------------------\n// Based on 14px font-size and 1.428 line-height (~20px to start)\n\n$padding-base-vertical: 6px !default;\n$padding-base-horizontal: 12px !default;\n\n$padding-large-vertical: 10px !default;\n$padding-large-horizontal: 16px !default;\n\n$padding-small-vertical: 5px !default;\n$padding-small-horizontal: 10px !default;\n\n$padding-xs-vertical: 1px !default;\n$padding-xs-horizontal: 5px !default;\n\n$line-height-large: 1.33 !default;\n$line-height-small: 1.5 !default;\n\n$border-radius-base: 4px !default;\n$border-radius-large: 6px !default;\n$border-radius-small: 3px !default;\n\n$component-active-color: #fff !default;\n$component-active-bg: $brand-primary !default;\n\n$caret-width-base: 4px !default;\n$caret-width-large: 5px !default;\n\n// Tables\n// -----------------------------------------------------------------------------\n\n$table-cell-padding: 8px !default;\n$table-condensed-cell-padding: 5px !default;\n\n$table-bg: transparent !default; // overall background-color\n$table-bg-accent: #f9f9f9 !default; // for striping\n$table-bg-hover: #f5f5f5 !default;\n$table-bg-active: $table-bg-hover !default;\n\n$table-border-color: #ddd !default; // table and cell border\n\n\n// Buttons\n// -----------------------------------------------------------------------------\n\n$btn-font-weight: normal !default;\n\n$btn-default-color: #333 !default;\n$btn-default-bg: #fff !default;\n$btn-default-border: #ccc !default;\n\n$btn-primary-color: #fff !default;\n$btn-primary-bg: $brand-primary !default;\n$btn-primary-border: darken($btn-primary-bg, 5%) !default;\n\n$btn-success-color: #fff !default;\n$btn-success-bg: $brand-success !default;\n$btn-success-border: darken($btn-success-bg, 5%) !default;\n\n$btn-warning-color: #fff !default;\n$btn-warning-bg: $brand-warning !default;\n$btn-warning-border: darken($btn-warning-bg, 5%) !default;\n\n$btn-danger-color: #fff !default;\n$btn-danger-bg: $brand-danger !default;\n$btn-danger-border: darken($btn-danger-bg, 5%) !default;\n\n$btn-info-color: #fff !default;\n$btn-info-bg: $brand-info !default;\n$btn-info-border: darken($btn-info-bg, 5%) !default;\n\n$btn-link-disabled-color: $gray-light !default;\n\n\n// Forms\n// -----------------------------------------------------------------------------\n\n$input-bg: #fff !default;\n$input-bg-disabled: $gray-lighter !default;\n\n$input-color: $gray !default;\n$input-border: #ccc !default;\n$input-border-radius: $border-radius-base !default;\n$input-border-focus: #66afe9 !default;\n\n$input-color-placeholder: $gray-light !default;\n\n$input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2) !default;\n$input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2) !default;\n$input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2) !default;\n\n$legend-color: $gray-dark !default;\n$legend-border-color: #e5e5e5 !default;\n\n$input-group-addon-bg: $gray-lighter !default;\n$input-group-addon-border-color: $input-border !default;\n\n\n// Dropdowns\n// -----------------------------------------------------------------------------\n\n$dropdown-bg: #fff !default;\n$dropdown-border: rgba(0,0,0,.15) !default;\n$dropdown-fallback-border: #ccc !default;\n$dropdown-divider-bg: #e5e5e5 !default;\n\n$dropdown-link-color: $gray-dark !default;\n$dropdown-link-hover-color: darken($gray-dark, 5%) !default;\n$dropdown-link-hover-bg: #f5f5f5 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-light !default;\n\n$dropdown-header-color: $gray-light !default;\n\n\n// COMPONENT VARIABLES\n// ------------------------------------------------------------------------------------------------------\n\n\n// Z-index master list\n// -----------------------------------------------------------------------------\n// Used for a bird's eye view of components dependent on the z-axis\n// Try to avoid customizing these :)\n\n$zindex-navbar: 1000 !default;\n$zindex-dropdown: 1000 !default;\n$zindex-popover: 1010 !default;\n$zindex-tooltip: 1030 !default;\n$zindex-navbar-fixed: 1030 !default;\n$zindex-modal-background: 1040 !default;\n$zindex-modal: 1050 !default;\n\n// Media queries breakpoints\n// ------------------------------------------------------------------------------------------------------\n\n// Extra small screen / phone\n// Note: Deprecated $screen-xs and $screen-phone as of v3.0.1\n$screen-xs: 480px !default;\n$screen-xs-min: $screen-xs !default;\n$screen-phone: $screen-xs-min !default;\n\n// Small screen / tablet\n// Note: Deprecated $screen-sm and $screen-tablet as of v3.0.1\n$screen-sm: 768px !default;\n$screen-sm-min: $screen-sm !default;\n$screen-tablet: $screen-sm-min !default;\n\n// Medium screen / desktop\n// Note: Deprecated $screen-md and $screen-desktop as of v3.0.1\n$screen-md: 992px !default;\n$screen-md-min: $screen-md !default;\n$screen-desktop: $screen-md-min !default;\n\n// Large screen / wide desktop\n// Note: Deprecated $screen-lg and $screen-lg-desktop as of v3.0.1\n$screen-lg: 1200px !default;\n$screen-lg-min: $screen-lg !default;\n$screen-lg-desktop: $screen-lg-min !default;\n\n// So media queries don't overlap when required, provide a maximum\n$screen-xs-max: ($screen-sm-min - 1) !default;\n$screen-sm-max: ($screen-md-min - 1) !default;\n$screen-md-max: ($screen-lg-min - 1) !default;\n\n\n// Grid system\n// ------------------------------------------------------------------------------------------------------\n\n// Number of columns in the grid system\n$grid-columns: 12 !default;\n// Padding, to be divided by two and applied to the left and right of all columns\n$grid-gutter-width: 30px !default;\n\n// Navbar collapse\n\n// Point at which the navbar becomes uncollapsed\n$grid-float-breakpoint: $screen-sm-min !default;\n// Point at which the navbar begins collapsing\n$grid-float-breakpoint-max: ($grid-float-breakpoint - 1) !default;\n\n\n// Navbar\n// -----------------------------------------------------------------------------\n\n// Basics of a navbar\n$navbar-height: 50px !default;\n$navbar-margin-bottom: $line-height-computed !default;\n$navbar-border-radius: $border-radius-base !default;\n$navbar-padding-horizontal: floor($grid-gutter-width / 2) !default;\n$navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default;\n\n$navbar-default-color: #777 !default;\n$navbar-default-bg: #f8f8f8 !default;\n$navbar-default-border: darken($navbar-default-bg, 6.5%) !default;\n\n// Navbar links\n$navbar-default-link-color: #777 !default;\n$navbar-default-link-hover-color: #333 !default;\n$navbar-default-link-hover-bg: transparent !default;\n$navbar-default-link-active-color: #555 !default;\n$navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%) !default;\n$navbar-default-link-disabled-color: #ccc !default;\n$navbar-default-link-disabled-bg: transparent !default;\n\n// Navbar brand label\n$navbar-default-brand-color: $navbar-default-link-color !default;\n$navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%) !default;\n$navbar-default-brand-hover-bg: transparent !default;\n\n// Navbar toggle\n$navbar-default-toggle-hover-bg: #ddd !default;\n$navbar-default-toggle-icon-bar-bg: #ccc !default;\n$navbar-default-toggle-border-color: #ddd !default;\n\n\n// Inverted navbar\n//\n// Reset inverted navbar basics\n$navbar-inverse-color: $gray-light !default;\n$navbar-inverse-bg: #222 !default;\n$navbar-inverse-border: darken($navbar-inverse-bg, 10%) !default;\n\n// Inverted navbar links\n$navbar-inverse-link-color: $gray-light !default;\n$navbar-inverse-link-hover-color: #fff !default;\n$navbar-inverse-link-hover-bg: transparent !default;\n$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;\n$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%) !default;\n$navbar-inverse-link-disabled-color: #444 !default;\n$navbar-inverse-link-disabled-bg: transparent !default;\n\n// Inverted navbar brand label\n$navbar-inverse-brand-color: $navbar-inverse-link-color !default;\n$navbar-inverse-brand-hover-color: #fff !default;\n$navbar-inverse-brand-hover-bg: transparent !default;\n\n// Inverted navbar toggle\n$navbar-inverse-toggle-hover-bg: #333 !default;\n$navbar-inverse-toggle-icon-bar-bg: #fff !default;\n$navbar-inverse-toggle-border-color: #333 !default;\n\n\n// Navs\n// -----------------------------------------------------------------------------\n\n$nav-link-padding: 10px 15px !default;\n$nav-link-hover-bg: $gray-lighter !default;\n\n$nav-disabled-link-color: $gray-light !default;\n$nav-disabled-link-hover-color: $gray-light !default;\n\n$nav-open-link-hover-color: #fff !default;\n\n// Tabs\n$nav-tabs-border-color: #ddd !default;\n\n$nav-tabs-link-hover-border-color: $gray-lighter !default;\n\n$nav-tabs-active-link-hover-bg: $body-bg !default;\n$nav-tabs-active-link-hover-color: $gray !default;\n$nav-tabs-active-link-hover-border-color: #ddd !default;\n\n$nav-tabs-justified-link-border-color: #ddd !default;\n$nav-tabs-justified-active-link-border-color: $body-bg !default;\n\n// Pills\n$nav-pills-border-radius: $border-radius-base !default;\n$nav-pills-active-link-hover-bg: $component-active-bg !default;\n$nav-pills-active-link-hover-color: $component-active-color !default;\n\n\n// Pagination\n// -----------------------------------------------------------------------------\n\n$pagination-bg: #fff !default;\n$pagination-border: #ddd !default;\n\n$pagination-hover-bg: $gray-lighter !default;\n\n$pagination-active-bg: $brand-primary !default;\n$pagination-active-color: #fff !default;\n\n$pagination-disabled-color: $gray-light !default;\n\n\n// Pager\n// -----------------------------------------------------------------------------\n\n$pager-border-radius: 15px !default;\n$pager-disabled-color: $gray-light !default;\n\n\n// Jumbotron\n// -----------------------------------------------------------------------------\n\n$jumbotron-padding: 30px !default;\n$jumbotron-color: inherit !default;\n$jumbotron-bg: $gray-lighter !default;\n$jumbotron-heading-color: inherit !default;\n$jumbotron-font-size: ceil($font-size-base * 1.5) !default;\n\n\n// Form states and alerts\n// -----------------------------------------------------------------------------\n\n$state-success-text: #3c763d !default;\n$state-success-bg: #dff0d8 !default;\n$state-success-border: darken(adjust-hue($state-success-bg, -10), 5%) !default;\n\n$state-info-text: #31708f !default;\n$state-info-bg: #d9edf7 !default;\n$state-info-border: darken(adjust-hue($state-info-bg, -10), 7%) !default;\n\n$state-warning-text: #8a6d3b !default;\n$state-warning-bg: #fcf8e3 !default;\n$state-warning-border: darken(adjust-hue($state-warning-bg, -10), 5%) !default;\n\n$state-danger-text: #a94442 !default;\n$state-danger-bg: #f2dede !default;\n$state-danger-border: darken(adjust-hue($state-danger-bg, -10), 5%) !default;\n\n\n// Tooltips\n// -----------------------------------------------------------------------------\n$tooltip-max-width: 200px !default;\n$tooltip-color: #fff !default;\n$tooltip-bg: #000 !default;\n\n$tooltip-arrow-width: 5px !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n// -----------------------------------------------------------------------------\n$popover-bg: #fff !default;\n$popover-max-width: 276px !default;\n$popover-border-color: rgba(0,0,0,.2) !default;\n$popover-fallback-border-color: #ccc !default;\n\n$popover-title-bg: darken($popover-bg, 3%) !default;\n\n$popover-arrow-width: 10px !default;\n$popover-arrow-color: #fff !default;\n\n$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;\n$popover-arrow-outer-color: rgba(0,0,0,.25) !default;\n$popover-arrow-outer-fallback-color: #999 !default;\n\n\n// Labels\n// -----------------------------------------------------------------------------\n\n$label-default-bg: $gray-light !default;\n$label-primary-bg: $brand-primary !default;\n$label-success-bg: $brand-success !default;\n$label-info-bg: $brand-info !default;\n$label-warning-bg: $brand-warning !default;\n$label-danger-bg: $brand-danger !default;\n\n$label-color: #fff !default;\n$label-link-hover-color: #fff !default;\n\n\n// Modals\n// -----------------------------------------------------------------------------\n$modal-inner-padding: 20px !default;\n\n$modal-title-padding: 15px !default;\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: #fff !default;\n$modal-content-border-color: rgba(0,0,0,.2) !default;\n$modal-content-fallback-border-color: #999 !default;\n\n$modal-backdrop-bg: #000 !default;\n$modal-header-border-color: #e5e5e5 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n\n\n// Alerts\n// -----------------------------------------------------------------------------\n$alert-padding: 15px !default;\n$alert-border-radius: $border-radius-base !default;\n$alert-link-font-weight: bold !default;\n\n$alert-success-bg: $state-success-bg !default;\n$alert-success-text: $state-success-text !default;\n$alert-success-border: $state-success-border !default;\n\n$alert-info-bg: $state-info-bg !default;\n$alert-info-text: $state-info-text !default;\n$alert-info-border: $state-info-border !default;\n\n$alert-warning-bg: $state-warning-bg !default;\n$alert-warning-text: $state-warning-text !default;\n$alert-warning-border: $state-warning-border !default;\n\n$alert-danger-bg: $state-danger-bg !default;\n$alert-danger-text: $state-danger-text !default;\n$alert-danger-border: $state-danger-border !default;\n\n\n// Progress bars\n// -----------------------------------------------------------------------------\n$progress-bg: #f5f5f5 !default;\n$progress-bar-color: #fff !default;\n\n$progress-bar-bg: $brand-primary !default;\n$progress-bar-success-bg: $brand-success !default;\n$progress-bar-warning-bg: $brand-warning !default;\n$progress-bar-danger-bg: $brand-danger !default;\n$progress-bar-info-bg: $brand-info !default;\n\n\n// List group\n// -----------------------------------------------------------------------------\n$list-group-bg: #fff !default;\n$list-group-border: #ddd !default;\n$list-group-border-radius: $border-radius-base !default;\n\n$list-group-hover-bg: #f5f5f5 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border: $list-group-active-bg !default;\n\n$list-group-link-color: #555 !default;\n$list-group-link-heading-color: #333 !default;\n\n\n// Panels\n// -----------------------------------------------------------------------------\n$panel-bg: #fff !default;\n$panel-inner-border: #ddd !default;\n$panel-border-radius: $border-radius-base !default;\n$panel-footer-bg: #f5f5f5 !default;\n\n$panel-default-text: $gray-dark !default;\n$panel-default-border: #ddd !default;\n$panel-default-heading-bg: #f5f5f5 !default;\n\n$panel-primary-text: #fff !default;\n$panel-primary-border: $brand-primary !default;\n$panel-primary-heading-bg: $brand-primary !default;\n\n$panel-success-text: $state-success-text !default;\n$panel-success-border: $state-success-border !default;\n$panel-success-heading-bg: $state-success-bg !default;\n\n$panel-warning-text: $state-warning-text !default;\n$panel-warning-border: $state-warning-border !default;\n$panel-warning-heading-bg: $state-warning-bg !default;\n\n$panel-danger-text: $state-danger-text !default;\n$panel-danger-border: $state-danger-border !default;\n$panel-danger-heading-bg: $state-danger-bg !default;\n\n$panel-info-text: $state-info-text !default;\n$panel-info-border: $state-info-border !default;\n$panel-info-heading-bg: $state-info-bg !default;\n\n\n// Thumbnails\n// -----------------------------------------------------------------------------\n$thumbnail-padding: 4px !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border: #ddd !default;\n$thumbnail-border-radius: $border-radius-base !default;\n\n$thumbnail-caption-color: $text-color !default;\n$thumbnail-caption-padding: 9px !default;\n\n\n// Wells\n// -----------------------------------------------------------------------------\n$well-bg: #f5f5f5 !default;\n\n\n// Badges\n// -----------------------------------------------------------------------------\n$badge-color: #fff !default;\n$badge-link-hover-color: #fff !default;\n$badge-bg: $gray-light !default;\n\n$badge-active-color: $link-color !default;\n$badge-active-bg: #fff !default;\n\n$badge-font-weight: bold !default;\n$badge-line-height: 1 !default;\n$badge-border-radius: 10px !default;\n\n\n// Breadcrumbs\n// -----------------------------------------------------------------------------\n$breadcrumb-bg: #f5f5f5 !default;\n$breadcrumb-color: #ccc !default;\n$breadcrumb-active-color: $gray-light !default;\n$breadcrumb-separator: \"/\" !default;\n\n\n// Carousel\n// ------------------------\n\n$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;\n\n$carousel-control-color: #fff !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-font-size: 20px !default;\n\n$carousel-indicator-active-bg: #fff !default;\n$carousel-indicator-border-color: #fff !default;\n\n$carousel-caption-color: #fff !default;\n\n\n// Close\n// ------------------------\n$close-font-weight: bold !default;\n$close-color: #000 !default;\n$close-text-shadow: 0 1px 0 #fff !default;\n\n\n// Code\n// ------------------------\n$code-color: #c7254e !default;\n$code-bg: #f9f2f4 !default;\n\n$pre-bg: #f5f5f5 !default;\n$pre-color: $gray-dark !default;\n$pre-border-color: #ccc !default;\n$pre-scrollable-max-height: 340px !default;\n\n// Type\n// ------------------------\n$text-muted: $gray-light !default;\n$abbr-border-color: $gray-light !default;\n$headings-small-color: $gray-light !default;\n$blockquote-small-color: $gray-light !default;\n$blockquote-border-color: $gray-lighter !default;\n$page-header-border-color: $gray-lighter !default;\n\n// Miscellaneous\n// -----------------------------------------------------------------------------\n\n// Hr border color\n$hr-border: $gray-lighter !default;\n\n// Horizontal forms & lists\n$component-offset-horizontal: 180px !default;\n\n\n// Container sizes\n// ------------------------------------------------------------------------------------------------------\n\n// Small screen / tablet\n$container-tablet: ((720px + $grid-gutter-width)) !default;\n$container-sm: $container-tablet !default;\n\n// Medium screen / desktop\n$container-desktop: ((940px + $grid-gutter-width)) !default;\n$container-md: $container-desktop !default;\n\n// Large screen / wide desktop\n$container-large-desktop: ((1140px + $grid-gutter-width)) !default;\n$container-lg: $container-large-desktop !default;\n","@media all and (max-width:768px) {\n .node-dataset .resource-list li {\n padding-right: 0;\n span.links {\n position: relative;\n top: auto;\n right: auto;\n margin: 10px 0;\n display: block;\n padding: 0;\n }\n a.btn {\n margin: 0 5px 10px 0;\n }\n }\n}\n\n.resource-list a.label {\n display: inline-block;\n overflow-wrap: break-word;\n}\n.stages {\n margin: 0 0 20px;\n li {\n font-size: 14px;\n &.first,\n &.first .highlight {\n @include border-radius(5px 0 0 5px);\n }\n &.last,\n &.last .highlight {\n @include border-radius(0 5px 5px 0);\n }\n }\n}\n.node-type-resource .item-list .list-group li {\n margin: 0;\n}\n.node-type-dataset {\n .field-name-field-tags,\n .field-name-field-topic,\n .field-name-field-preview-thumbail {\n .field-label {\n @include h4;\n }\n }\n}\n.field-name-field-topic .field-item {\n display: inline-block;\n}\n\n#edit-path-alias {\n height: 34px;\n}\n\n// Datasets.\n.node-dataset .resource-list li {\n padding: 0 260px 0 45px;\n @media all and (max-width:767px) {\n padding-right: 0;\n }\n}\n// Move this to dkan_sitewide_profile_page.css.\np.dkan-profile-page-user-name {\n display: inline-block;\n} ","//\n// Styles for Forms\n// --------------------------------------------------\n.table-select-processed,\n.permissions-processed {\n .checkbox input[type=\"checkbox\"] {\n margin-left: 0px;\n }\n}\n\ninput[type=\"submit\"],\n.btn-primary,\n.btn.btn-primary {\n @extend %button;\n margin-right: 1em;\n}\ninput.use-ajax-submit {\n margin-right: 10px;\n}\nbutton.btn,\n.btn.btn-default,\n.btn.btn-primary,\n.tabs--primary.nav-pills li a,\n.form-control {\n line-height: 1.5em;\n}\n.btn, .btn-sm {\n font-size: 14px;\n}\n\nselect.form-control {\n min-height: 36px;\n &[multiple=\"multiple\"] {\n height: auto;\n }\n}\n.form-control,\ndiv.autocomplete-deluxe-multiple {\n padding: 0 12px;\n}\n.ctools-dropbutton {\n .ctools-content a,\n input.btn,\n input[type=\"submit\"] {\n color: #666;\n &:hover,\n &:focus,\n &:active {\n border:none;\n color: $brand-primary;\n }\n }\n}\n.field-type-file input[type=\"submit\"],\n.input-group-addon,\n.input-group-btn {\n width: auto;\n}\n\n// Colorizer.\n.colorizer-form {\n .form-control {\n width: 50%;\n }\n label {\n float:none;\n display: block;\n }\n #palette {\n clear: both;\n .item-selected {\n background-color: transparent;\n }\n }\n}\n// BuEditor.\n.bue-popup {\n z-index: 999;\n}\n.bue-ui.editor-container {\n background-color: #ffffff;\n padding: 0 4px;\n border: 1px solid $border;\n @include border-radius(4px 4px 0 0);\n}\n.form-control.form-textarea {\n @include border-radius(0);\n}\n// Chosen.\n.form-control.chosen-processed {\n line-height: 34px;\n height: auto;\n padding: 0;\n border: none;\n max-width: 100% !important;\n .chosen-choices {\n @include border-radius(4px);\n border-color: #ccc;\n }\n}\n.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {\n background-position: -42px 2px;\n}\n.chzn-container-single {\n max-width: 100%;\n}\ndiv.autocomplete-deluxe-multiple,\n.chzn-container-multi {\n width: 100% !important;\n}\n.chzn-container-multi .chzn-choices .search-field input {\n height: auto;\n}\n#context-blockform td.blocks .label {\n background-color: $gray;\n}\n.tabledrag-hide .chzn-container-single {\n width: 20px !important;\n}\n\ndiv.autocomplete-deluxe-container input.autocomplete-deluxe-form-single {\n float: left;\n}\n\nfieldset {\n position: relative;\n}\n\nfieldset.collapsible {\n padding-top: 0;\n}\n#og-group-ref-add-more-wrapper fieldset,\nfieldset.group-primary {\n padding-top: 0;\n legend {\n display: none;\n }\n}\n\n.horizontal-tabs fieldset.horizontal-tabs-pane {\n padding: 0;\n}\ndiv.horizontal-tabs {\n border: none;\n}\n\n.form-managed-file {\n span.file {\n border: 1px solid $border;\n padding: 0 15px;\n line-height: 34px;\n display: inline-block;\n vertical-align: top;\n border-radius: 5px 0 0 5px;\n margin-right: 0;\n }\n .file-size {\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 0 10px;\n vertical-align: top;\n line-height: 34px;\n display: inline-block;\n font-size: 12px;\n margin: 0 -5px;\n background: #eee;\n }\n input {\n @include border-radius($border-radius-base 0 0 $border-radius-base);\n border: 1px solid $border;\n padding: 5px;\n margin: 0 0 10px 0;\n height: 36px;\n vertical-align: top;\n }\n input.form-submit {\n @extend %button-attached;\n margin: 0 0 10px 0;\n }\n // Resource remote file.\n .filefield-source-remotefile input {\n &.form-control:first-child {\n @include border-radius($border-radius-base);\n }\n &.form-text {\n width: 100%;\n }\n }\n .input-group-btn {\n display: inline-block;\n vertical-align: top;\n }\n .manualcrop-style-button-holder input {\n @include border-radius(5px);\n }\n}\n.image-widget-data input.btn {\n //@extend %button-attached;\n}\n\n.path-form.panel-default {\n border-color: transparent;\n .panel-body {\n padding:0;\n }\n}\n\n// OG.\n.list-group-item {\n background-color: transparent;\n border: none;\n color: $text-color;\n padding: 0;\n}\n\n.filter-wrapper {\n padding: 10px;\n .input-group-addon {\n border: none;\n background: transparent;\n }\n}\n\n#body-add-more-wrapper {\n .panel-body {\n padding: 0;\n }\n}\n\n.node-dataset-form .group-odfie-pod {\n .form-item {\n margin-bottom: 0px;\n }\n .field-name-field-odfe-data-quality {\n margin-bottom: 15px;\n }\n}\n\n.node-dataset-form .form-item.has-error {\n div.autocomplete-deluxe-container,\n div.chosen-container {\n border: 2px solid red;\n .chosen-single {\n border: none;\n }\n }\n}\n\n.node-dataset-form .form-item .error .chosen-single {\n line-height: 24px;\n}\n\n.node-dataset-form,\n.node-resource-form {\n .field-name-field-format label {\n vertical-align: top;\n }\n @media all and (max-width:599px) {\n .stages li .highlight {\n font-size: 12px;\n line-height: 1.15em;\n }\n }\n}\n\n// file_resup tweaks to display on top of recline\n.node-resource-form .field-name-field-upload {\n .form-type-managed-file {\n display: table;\n .file-widget {\n display: table-footer-group;\n }\n .file-resup-wrapper {\n display: table-header-group;\n }\n }\n}\n\n.node-resource-form .field-name-body {\n textarea {\n height: auto;\n }\n}\n\n#search-api-admin-index-status-form {\n input {\n margin-bottom: 1em;\n }\n}\n.page-admin form {\n input[type=submit] {\n margin-right: 1em;\n }\n}\n\n#field-dkan-harvest-filters-values,\n#field-dkan-harvest-excludes-values,\n#field-dkan-harvest-overrides-values,\n#field-dkan-harvest-defaults-values {\n .description {\n font-weight: normal;\n }\n}\n\n#dkan-dataset-form-settings .help-block {\n margin: 5px 20px 10px;\n}\n\n.form-type-textfield.form-group label.option {\n @extend %screenreader;\n}","#views-exposed-form-dkan-harvest-datasets-harvest-datasets-source-page {\n .form-group {\n display: inline-block;\n input {\n width: 100px;\n }\n }\n}\n.view-dkan-harvest-dashboard .view-header {\n margin-bottom: 10px;\n}\n.pane-dkan-harvest-harvest-source-summary {\n .summary-details {\n border-color: $border;\n border-width: 0 1px 1px 1px;\n border-style: solid;\n margin-top: 15px;\n div {\n padding: 4px 5px;\n }\n }\n \n h6 {\n background: #eee;\n color: #222;\n padding: 3px 5px;\n margin: 0;\n border-top: 1px solid $border;\n border-bottom: 1px solid $border;\n }\n}\n\ndiv.datasets-count-preview span {\n font-weight: bold;\n}\n\n#harvest_source_summary_uri {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; \n}\n\n// Harvest Errors Page.\n.node-type-harvest-source {\n .ctools-collapsible-container .ctools-collapsible-handle {\n border-radius: 0;\n color: #fff;\n font-size: 16px;\n font-weight: normal;\n position: relative;\n padding: 9px 21px 9px 12px;\n }\n .ctools-collapsible-container .ctools-collapsible-handle:after {\n font-family: \"fontawesome\";\n content: \"\\f077\";\n color: rgba(255, 255, 255, 0.7);\n font-size: 12px;\n font-weight: bold;\n position: absolute;\n right: 14px;\n top: 10px;\n }\n .ctools-collapsible-container.ctools-collapsed .ctools-collapsible-handle:after {\n content: \"\\f078\";\n }\n\n .ctools-collapsible-content .harvest-error-log-table {\n margin: 0;\n margin-bottom: 20px;\n }\n}\n\n@media all and (min-width:768px) {\n #harvest-source-node-form {\n .double-field-elements input.form-text {\n width: 50%;\n display: inline-block;\n }\n }\n}\n","#modalContent {\n .modal-header { \n background: $brand-primary;\n h4 {\n color: #fff;\n }\n .close {\n color: #fff;\n text-shadow: 0 1px 0 #036;\n opacity: 1;\n }\n }\n .panels-add-content-modal {\n margin: 0;\n position: relative;\n }\n .panels-section-column {\n margin-right: 1em;\n overflow: visible;\n @media (max-width: 600px) {\n width: 100%;\n float: none;\n margin-right: 0;\n }\n }\n .panels-section-column-categories .btn {\n border: 1px solid #ccc !important;\n margin: 3px;\n }\n}\n\n.panels-add-content-modal .panels-section-column .inside {\n padding: 1em 0;\n}\n\n.panels-section-column .dkan-type-button {\n font-size: 1em;\n line-height: 1em;\n a {\n @include border-radius(4px);\n border: 1px solid #eee;\n display: block;\n padding: 8px 10px;\n margin: 3px 0;\n &:focus,\n &:hover {\n background: #eee;\n border-color: #ccc;\n text-decoration: none;\n }\n &:before {\n font-family: \"FontAwesome\";\n font-size: 1.25em;\n margin-right: 5px;\n }\n }\n}\n#field-basic-table-table-und-0-tablefield {\n border: none;\n margin: 0;\n padding: 0;\n fieldset {\n padding-top: 0;\n }\n}\n.form-tablefield input.tablefield-rebuild {\n background-color: $brand-primary !important;\n border-color: $brand-primary;\n &:hover,\n &:focus,\n &.active {\n background-color: $link-hover-color;\n border-color: $link-hover-color;\n }\n}\n.add-content-link-basic-file-icon-text-button:before {\n content:\"\\f0f6\";\n}\n.add-content-link-custom-icon-text-button:before {\n content:\"\\f044\";\n}\n.add-content-link-node-icon-text-button:before {\n content:\"\\f24d\";\n}\n.add-content-link-image-icon-text-button:before {\n content:\"\\f1c5\";\n}\n.add-content-link-map-icon-text-button:before {\n content:\"\\f278\";\n}\n.add-content-link-quick-links-icon-text-button:before {\n content:\"\\f0c1\";\n}\n.add-content-link-table-icon-text-button:before {\n content:\"\\f0ce\";\n}\n.add-content-link-text-icon-text-button:before {\n content:\"\\f036\";\n}\n.add-content-link-video-icon-text-button:before {\n content: \"\\f008\";\n}\n.add-content-link-visualization-embed-icon-text-button:before {\n content:\"\\f200\";\n}\n.add-content-link-spotlight-icon-text-button:before {\n content:\"\\f16a\";\n}\n.add-content-link-panopoly-widgets-general-content-list-of-content-icon-text-button:before {\n content:\"\\f0ca\";\n}\n.add-content-link-panopoly-widgets-general-content-piece-of-content-icon-text-button:before {\n content:\"\\f0ea\";\n}\n.add-content-link-main-menu-icon-text-button:before {\n content:\"\\f0c9\";\n}\n.add-content-link-dkan-plugins-button-link-icon-text-button:before {\n content:\"\\f0c1\";\n}\n\nimg {\n &.thumbnail {\n width: 100px;\n height: auto;\n }\n &.left {\n float: left;\n margin: 0 1em 1em 0;\n }\n &.right {\n float: right;\n margin: 0 0 1em 1em;\n }\n &.center {\n margin: 0 auto;\n }\n}","//\n// Styles for main layout\n// --------------------------------------------------\n.container,\n.container-fluid,\n.row {\n\t// Override Radix container and row overflow\n\toverflow: visible;\n}\naside.col-sm-3 {\n padding-left:0;\n}\nsection.col-sm-9 {\n padding-right: 0;\n}\n.region-content {\n\tpadding: 15px 0;\n}\n.front {\n\t.panel-dkan-front .container,\n\t.region-content {\n\t\tpadding: 0;\n\t}\n\t.alert {\n\t\tmargin: 10px 15px;\n\t}\n}\n.breadcrumb,\n.alert,\n.tabs--primary,\n.page-header {\n margin: 0 0 15px;\n}\n#footer.footer {\n\tpadding:40px 0;\n\tmargin: 0;\n}\n\n@media all and (max-width:767px) {\n .container {\n padding-left: 15px;\n padding-right: 15px;\n }\n}","// Menu\n// Styles for Menus and Navs\n// --------------------------------------------------\n.navigation-wrapper .container {\n overflow: visible;\n .navbar-collapse {\n overflow: visible;\n }\n}\n\n.container > .navbar-header, .container > .navbar-collapse {\n margin-left: 10px;\n margin-right: 10px;\n}\n.navbar-default .navbar-collapse, \n.navbar-default .navbar-form {\n padding: 0;\n vertical-align: top;\n}\n\n.navbar-header {\n position:relative;\n z-index:3;\n}\n\n.navbar-default {\n background:transparent;\n border:none;\n margin: 0;\n overflow: visible !important;\n position:relative;\n z-index:3;\n\n .navbar-nav,\n .user-menu {\n margin:0;\n overflow: visible;\n position:relative;\n z-index:3;\n a.dropdown-toggle {\n color: #FFFFFF;\n }\n .open > a,\n li > a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding:15px;\n &.dropdown-toggle:hover,\n &:active,\n &:hover,\n &:focus {\n color: #FFFFFF;\n text-decoration:none;\n }\n &.dropdown-toggle:focus,\n &.dropdown-toggle:active {\n background-color: transparent;\n }\n }\n .dropdown-menu {\n border: none;\n padding: 0;\n li {\n display: block;\n a {\n display: block;\n color: #ffffff;\n }\n }\n li.last a:hover {\n border-radius: 0 0 4px 4px;\n }\n }\n }\n .navbar-toggle {\n border-color: #ffffff;\n &:hover,\n &:focus {\n background-color: rgba(0, 0, 0, .25);\n }\n .icon-bar {\n background-color: #ffffff;\n }\n }\n\n @media all and (min-width:768px) {\n .user-menu {\n float: right;\n }\n .navbar-nav li,\n .user-menu li {\n display: inline-block;\n a {\n display: inline-block;\n }\n .dropdown-menu li,\n .dropdown-menu li a {\n display: block;\n }\n }\n }\n .navbar-nav.secondary li {\n float:none;\n a {\n font-size:.7em;\n line-height:1.5em;\n padding:4px;\n }\n }\n}\n\n@media all and (max-width:767px) {\n .nav > li {\n display: inline;\n }\n .navbar-default .navbar-nav .open .dropdown-menu,\n .navbar-default .navbar-nav .dropdown-menu {\n @include box-shadow(none);\n border: none;\n display: block;\n width: 100%;\n position: relative;\n li > a {\n color: #ffffff;\n display: block;\n padding:15px 10px 15px 35px;\n &:hover,\n &:focus,\n &:active {\n color: #ffffff;\n clear: both;\n }\n }\n }\n}\n\n#block-dkan-sitewide-dkan-sitewide-user-menu {\n .links a {\n color: #FFFFFF;\n display: block;\n line-height: 20px;\n padding:15px;\n &:hover,\n &:focus {\n color: #FFFFFF;\n text-decoration:none;\n }\n }\n img {\n margin: 10px;\n }\n @media all and (min-width:768px) {\n float: right;\n .links a {\n display: inline-block;\n }\n }\n}\n\n//override bootstrap\n.navbar .nav > li > a {\n text-shadow:none;\n}\n\n// Large screen.\n@media(min-width:768px) {\n .navbar {\n @include border-radius(0);\n }\n .container > .navbar-header {\n margin-left:0;\n }\n #nav-wrapper .navbar-default .logo {\n padding:10px 10px 0 0;\n }\n}\n\n.tabs--primary {\n margin: 10px 0;\n li {\n margin:1px;\n }\n li a {\n padding:6px 15px;\n &:hover {\n color:#fff;\n }\n &.active {\n color:#fff;\n }\n }\n}\n\n.front .tabs--primary {\n display: none;\n}\n.tabs--primary {\n .nav-pills li a.active,\n .nav-pills li.active a:hover,\n .nav-pills li.active a:focus {\n color:#ffffff;\n }\n}\n\n.form-actions #edit-submit {\n background: $brand-success;\n border-color: $brand-success;\n}\n.form-actions #edit-submit:hover,\n.form-actions #edit-submit:focus,\n.form-actions #edit-submit:active {\n background: darken($brand-success,10%);\n border-color: darken($brand-success,10%);\n color: #fff;\n}\n\na.embed-link {\n @include border-radius(4px);\n color: #fff;\n display: inline-block;\n padding:5px 15px 5px 35px;\n position:relative;\n margin:1em 0;\n text-decoration: none;\n}\na.embed-link:hover, \na.embed-link:focus, \na.embed-link:active {\n color:#fff;\n text-decoration:none;\n}\na.embed-link:before {\n content:'\\f121';\n color: #fff;\n font-family: $icon-fa;\n font-size: 1.3em;\n position: absolute;\n top:5px;\n left:10px;\n}\ntextarea.embed-code {\n width: 100%;\n margin-bottom:1em;\n}\n\nul.action-links {\n margin:1em 15px;\n li {\n float: none;\n display:inline-block;\n }\n}\n\n.btn:active, \n.btn.active {\n @include box-shadow(none);\n}\n\n.radix-layouts-sidebar {\n ul.menu > li > ul.menu {\n margin-left: 0;\n li a {\n padding: 10px 15px 10px 30px;\n }\n }\n}\n","//\n// Styles for Nodes\n// --------------------------------------------------\n.node-type-dataset {\n .field-name-field-tags {\n margin: 1em 0;\n }\n // Dataset field labels.\n h4 {\n @include h4;\n }\n .field-name-field-related-content,\n .field-name-field-topic,\n .field-name-field-tags,\n .field-name-field-topic,\n .field-name-field-preview-thumbail {\n .field-label {\n @include h4;\n }\n }\n}\n\n/** UI Tabs **/\n.node-resource-form .horizontal-tabs {\n border:none;\n ul.horizontal-tabs-list {\n background-color: transparent;\n border: 0;\n padding-top: 10px;\n li,\n li.selected {\n border: 0;\n background-color: transparent;\n min-width: 4em;\n a:hover {\n background:transparent;\n }\n #active-horizontal-tab {\n background: url(../images/sprite-ckan-icons.png) no-repeat -193px 2px;\n display: block;\n text-indent: -9999px;\n width: 16px;\n height: 16px;\n left: 50%;\n clip: auto;\n }\n &.horizontal-tab-button-1 .summary,\n &.horizontal-tab-button-2 .summary {\n background: url(../images/sprite-ckan-icons.png) no-repeat -160px 0;\n }\n .summary{\n background: url(../images/sprite-ckan-icons.png) no-repeat -144px 0;\n width: 16px;\n height: 16px;\n position: absolute;\n top:5px;\n left:10px;\n }\n a {\n font-size: 1.1em;\n position: relative;\n padding: 5px 15px 5px 30px;\n }\n }\n }\n .horizontal-tabs-panes {\n @include border-radius($border-radius-base);\n border:1px solid $border;\n padding: 8px;\n fieldset.htab_link_upload,\n fieldset.htab_link_api,\n fieldset.htab_link_file {\n legend.panel-heading {\n display: none;\n }\n .field-widget-recline-widget legend.panel-heading {\n border:none;\n border-bottom: 1px solid $border;\n display: block;\n background:transparent;\n color: $gray;\n padding: 5px 0;\n //margin-top:10px;\n }\n }\n .form-type-checkbox label,\n .form-type-select label {\n display: block;\n line-height: 36px;\n padding-top:2px;\n }\n .filefield-source-remotefile {\n input {\n margin-right: 0;\n }\n input.btn {\n @include border-radius(0 $border-radius-base $border-radius-base 0);\n margin-left: -1px;\n }\n }\n .form-item-field-upload-und-0-embed {\n clear: both;\n }\n }\n}\n.page-node-add-resource {\n .field-group-htabs.group-data div.horizontal-tabs {\n border: 0;\n }\n .form-item {\n margin: 0;\n }\n}\n\n#action-info {\n color: $brand-danger;\n margin: 1em 0;\n &:before {\n color: $brand-danger;\n content: \"\\f071\";\n font-family: \"FontAwesome\";\n font-size: 1.5em;\n font-style: normal;\n margin-right: 5px;\n vertical-align: middle;\n }\n}\n.field-name-body {\n a {\n overflow-wrap: break-word;\n }\n ul {\n list-style-type:disc;\n margin:10px 20px;\n li {\n margin:6px 10px;\n }\n }\n}\n.field-group-table-description {\n color:$gray;\n display:block;\n padding:8px 10px 8px 40px;\n position:relative;\n .icon-info-sign:before {\n color:$gray-light;\n content:\"\\f05a\";\n font-family:$icon-fa;\n font-size:2.5em;\n font-style: normal;\n height:30px;\n left:0;\n margin:10px 15px 0 0;\n padding:6px 0;\n position:absolute;\n top:-6px;\n width:30px;\n }\n}\n\n.group-owner-message {\n margin-bottom:20px;\n}\n\n.field-type-text-with-summary {\n padding: 0;\n}\n.field-name-field-additional-info {\n margin-top: 2em;\n}\n.field-name-field-related-content .field-item {\n @include item-list;\n}\n\n// Blog Teaser.\n.node-teaser {\n margin-bottom: 2em;\n .blog-image div {\n background-size: cover !important;\n overflow: hidden;\n position: relative;\n height: 200px;\n margin-bottom: 1em;\n @media all and (max-width:767px) {\n background-position: 50% 50%;\n }\n }\n h2.blog-title {\n font-size: 1.5em;\n margin-top: 0;\n }\n .submitted {\n @include submitted;\n font-size: .8em;\n }\n .fa-clock-o {\n padding-left: 1em;\n }\n .links {\n margin: -.5em 0 2.5em 0;\n }\n .links li {\n display: inline;\n a {\n @extend %button;\n font-size: .8em;\n padding: 1px 8px;\n }\n }\n &.no-image {\n padding-left: 15px;\n padding-right: 15px;\n } \n}\n// Blog Page.\n.node-blog {\n .submitted {\n @include submitted;\n }\n .blog-image {\n margin: 1em 0;\n img {\n max-width: 100%;\n height: auto;\n }\n }\n .fa-clock-o {\n padding-left: 1em;\n }\n .field-name-field-tags {\n margin: 1em 0;\n }\n .links li {\n display: inline;\n a {\n @extend %button;\n display: inline-block;\n margin: 1em 0;\n }\n }\n .field-name-field-tags .field-label {\n display: none;\n }\n @media all and (min-width:768px) {\n h1 {\n width: 47%;\n float: left;\n }\n .submitted {\n width: 47%;\n float: left;\n clear: left;\n }\n .blog-image {\n width: 47%;\n float: right;\n margin: 0 0 1em 1.5em;\n }\n .field-type-text-with-summary {\n clear: left;\n }\n .no-image {\n h1,\n .submitted {\n width: 100%;\n }\n .field-type-text-with-summary {\n clear: both;\n }\n }\n }\n}\n","//\n// Styles for individual pages\n// --------------------------------------------------\n\n.main {\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.front .main {\n padding: 0;\n}\n.page-admin {\n .main {\n padding: 20px 15px;\n }\n .region-content {\n margin: 0;\n }\n .breadcrumb,\n .alert,\n .tabs--primary,\n .page-header {\n margin: 0 0 15px;\n }\n}\n\n","//\n// Styles for panels and panes.\n// --------------------------------------------------\n\n.panel-body {\n overflow: visible;\n}\n.pane-content {\n .field-name-body {\n line-height: 2em;\n }\n}\n.main {\n .pane-custom,\n .pane-node-field-image,\n .pane-fieldable-panels-pane {\n margin-bottom: 3em;\n }\n}\n\nh2.pane-title {\n border-bottom: 1px solid $border;\n padding-bottom: 10px;\n}\n\n#panels-choose-layout .form-type-radio input,\n.panels-choose-layout .form-type-radio input {\n width: 15px;\n}\n\n.panel-region-sidebar {\n .radix-layouts-sidebar {\n h2.pane-title {\n @include block-title;\n }\n .pane-block {\n @include blockbox;\n &.pane-dkan-sitewide-dkan-sitewide-social .pane-content,\n &.pane-dkan-sitewide-dkan-sitewide-data-extent .pane-content {\n padding: 0;\n }\n }\n }\n}\n\n.page-user {\n .radix-layouts-content .pane-content {\n padding: 0;\n .profile {\n margin-top: 0;\n }\n }\n}\n.radix-layouts-content {\n .pane-title {\n font-size: 36px;\n line-height: 42px;\n margin:0 0 15px 0;\n }\n .pane-content {\n margin-bottom: 1em;\n }\n .pane-node-field-topic .pane-content {\n padding: 0\n }\n .pane-page-breadcrumb {\n .breadcrumb {\n display: block;\n margin: 0 0 15px 0;\n }\n }\n}\n.node-type-group .radix-layouts-content {\n @media (max-width: 991px) {\n .pane-title {\n margin-top: 2em;\n }\n }\n .pane-content {\n padding: 20px 0 0;\n margin-bottom: 0;\n }\n}\n\n// Panels administration pages.\n.panels-dnd .panel-full-width,\n.panels-dnd .panel-dkan-front {\n .panel-top,\n .panel-hero {\n .tint {\n display: none;\n }\n background-image: none !important;\n background-color: transparent !important;\n overflow: visible;\n }\n}\n.page-manager-wrapper .panel-region {\n .pane-title {\n background-image: none;\n border: none;\n font-size: 1em;\n line-height: normal;\n }\n .panel-pane-collapsible {\n .pane-content {\n padding: 10px 15px;\n }\n }\n}\n\n#panelizer-edit-content-form input {\n margin-right: 1em;\n}\n\n// Custom block panes.\n.pane-dkan-sitewide-dkan-demo-front .pane-title,\n.pane-views-popular-tags-block .pane-title,\n.pane-dkan-sitewide-dkan-add-front .pane-title {\n display:none;\n}\n\n// Front page panels.\n.panel-full-width,\n.panel-dkan-front {\n // Adjust margin for responsive views.\n .inside {\n .pane-dkan-data-stories .view {\n margin-left: -15px;\n margin-right: -15px;\n }\n }\n .pane-content {\n margin: 25px 0;\n }\n .panel-top,\n .panel-hero {\n background-position:50% 50%;\n background-size:cover !important;\n background-repeat: no-repeat;\n position: relative;\n z-index: 0;\n margin-bottom: 15px;\n overflow: hidden;\n .tint {\n // Let colorizer supply the background color.\n //background-color:rgba(10 , 119 , 189, .45);\n position:absolute;\n height: 900px;\n width:100%;\n z-index: -1;\n }\n h2,h3,h4 {\n color: #fff;\n }\n h2.pane-title {\n border-bottom: none;\n padding-bottom: 0;\n }\n .pane-content {\n color: #fff;\n }\n a {\n color: #fff;\n }\n // Default content animated gif.\n img.demo {\n height: auto;\n width: 100%;\n }\n // Default content hero text.\n @media(min-width:992px) {\n .pane-node-body {\n padding-top: 15%;\n }\n }\n }\n}\n@media (max-width: 768px) {\n .panel-dkan-front,\n .panel-full-width {\n .panel-hero,\n .panel-triplet,\n .panel-top,\n .panel-bottom {\n .panel-col-first,\n .panel-col-second,\n .panel-col-third {\n float: none;\n width: 100%;\n }\n }\n }\n}\n",".field-name-field-basic-image-image img.panopoly-image-full {\n max-width: 100%;\n width: initial !important;\n height: auto;\n margin: 1em auto .5em;\n display: block;\n}","// Recline css overrides.\n.recline-pager .pagination {\n li {\n vertical-align: middle;\n a {\n line-height: 1em;\n padding: 0 10px;\n &.btn {\n line-height: 32px;\n }\n }\n }\n input {\n\t height: 20px;\n\t font-size: .8em;\n }\n}\n#recline-embeded .data-explorer-help {\n display: none;\n}\n.data-explorer-help {\n background: #eee;\n margin: 1em 0;\n border-radius: 4px;\n padding: 8px 15px;\n}\n.recline-data-explorer {\n .form-control {\n border-color: #ccc;\n }\n .btn {\n \tborder:1px solid $smoke;\n \tfont-size: 14px;\n \tpadding: 0px 12px;\n line-height: 32px;\n }\n}\n.dropdown-menu.slick-contextmenu {\n background: #fff;\n li {\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n.recline-filter-editor {\n fieldset {\n @include border-radius(4px);\n border-color: #ccc;\n padding: 8px;\n margin: 10px 0;\n }\n input {\n width: auto;\n }\n}\n#recline-embeded .recline-data-explorer {\n .header {\n margin-bottom: 8px;\n .navigation {\n display: none !important;\n }\n }\n}\n\n@media all and (max-width:991px) {\n .recline-query-editor {\n border: none;\n margin: .5em 0;\n padding: 0;\n }\n}\n@media all and (max-width:767px) {\n .recline-data-explorer {\n .query-editor-here {\n clear: both;\n display: block;\n .recline-query-editor,\n .form-group {\n float: none;\n display: inline-block;\n }\n button.btn {\n float: none;\n display: inline-block;\n max-width: 50px;\n }\n }\n .data-view-sidebar {\n float: none;\n margin-left: 0;\n width: auto;\n }\n }\n}\n@media all and (max-width:660px) {\n .recline-pager {\n float: none;\n display: block;\n margin-left: 0;\n clear: both;\n }\n .recline-data-explorer .header .menu-right {\n padding-top: 8px;\n }\n}","@media all and (max-width:767px) {\n\taside[class|='col'],\n\tsection[class|='col'] {\n\t\tpadding: 0;\n\t}\n\t.container {\n\t\twidth: 100%;\n\t}\n}\n\n","#views-exposed-form-dkan-datasets-panel-pane-1 {\n .views-exposed-form .views-widget-filter-search_api_views_fulltext {\n max-width: 320px;\n }\n}\n\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n @include searchbox;\n position: relative;\n}\n#dkan-sitewide-dataset-search-form,\n#dkan-sitewide-dataset-search-form--2 {\n label {\n @extend %screenreader;\n }\n}\n\n#region-branding #block-dkan-sitewide-dkan-sitewide-search-bar label {\n @extend %screenreader;\n}\n\n#block-dkan-sitewide-dkan-sitewide-search-bar {\n @media all and (min-width:768px) {\n position: absolute;\n top: 10px;\n right: 15px;\n width:172px;\n form {\n width:172px;\n }\n input.form-control {\n width:170px;\n height: 36px;\n margin: 0;\n }\n }\n @include searchbox;\n clear: both;\n .views-exposed-form .form-submit {\n margin:22px 0 0;\n text-shadow: none;\n }\n}\n\n.facetapi-terms span[class*=font-icon-select]:before,\n.icon-dkan.facet-icon:before {\n font-family: 'DKAN-Topics';\n font-size: 24px;\n padding-right: .3em;\n vertical-align: middle;\n}\n\n.node-search-result {\n .icon-dkan.facet-icon:before {\n font-size: 42px;\n margin-top: 0.7em;\n display: block;\n }\n .resource-list li {\n display: inline-block;\n }\n .icon-container {\n text-align: center;\n }\n}\n\n.search-result {\n ul.resource-list {\n margin-top: 0.9em;\n\n li {\n display: inline-block;\n a,\n &:first-child {\n margin-left: 0px;\n }\n }\n }\n .dataset-list {\n list-style: none;\n margin: 0;\n padding: 0;\n li {\n list-style: none;\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em;\n &:before {\n content: \"\\e97e\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em;\n }\n }\n }\n .group-membership {\n font-size: 0.9em;\n font-style: italic;\n color: #999;\n margin-bottom: 0.5em;\n &:before {\n content: \"\\e981\";\n font-family: 'DKAN-Topics';\n font-style: normal;\n margin-right: .5em;\n }\n }\n &.search-result-group .group-membership {\n display: none;\n }\n p {\n margin-bottom: 0px;\n }\n}\n\n.node-search-result {\n h2.node-title {\n margin: 1.5em 0 .5em 0;\n }\n}","//\n// Styles for headings, links, lists, tables, general, ..etc\n// --------------------------------------------------\nbody {\n font-family:$font-base;\n font-size:16px;\n line-height:1.35em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\nbody.modal-open {\n overflow: visible !important;\n}\n.branding {\n position: relative;\n .logo {\n margin: 20px 20px 15px 0;\n }\n}\n@media (max-width: 768px) {\n .logo img {\n max-width: 100%;\n }\n}\n\n.site-name {\n display: block;\n font-size: 2em;\n line-height: 1.15em;\n margin: 50px 20px 0 0;\n @media(max-width:460px) {\n clear: left;\n float: none;\n margin: 10px 20px 5px 0;\n }\n &:hover {\n text-decoration: none;\n }\n}\n.site-slogan {\n margin-bottom: 20px;\n}\nh1 {\n font-size: 36px;\n line-height: 42px;\n margin-bottom: 15px;\n}\nh1,h2,h3,h4 {\n color:$gray-dark;\n font-weight:300;\n}\nh3.media-heading {\n margin:.5em 0;\n}\nh4 {\n margin-top: 2em;\n margin-bottom: .5em;\n}\n\na {\n color:$brand-primary;\n &:hover {\n color:$brand-secondary;\n }\n}\np,\np:last-child {\n margin: 0 0 1.25em 0;\n}\n\n.breadcrumb {\n background: none;\n border: none;\n font-size: 1em;\n list-style: none;\n padding: 0;\n position: relative;\n li {\n float:none;\n a {\n span {\n display:none;\n }\n }\n &.home-link a {\n font-size:1.3em;\n i {\n display: block;\n }\n }\n }\n}\n\n.alert {\n border: none;\n padding: 15px 35px;\n position: relative;\n .close {\n line-height: 18px;\n position: absolute;\n right: 10px;\n top: 5px;\n }\n &.alert-warning {\n background: #FFE285;//$brand-warning;\n }\n &.alert-completed {\n background: #dff0d8;\n color: #3c763d;\n }\n &:before {\n font-family: $icon-fa;\n font-size: 1.5em;\n position: absolute;\n top: 15px;\n left: 10px;\n }\n &.alert-danger:before {\n content: '\\f06a';\n color: $brand-danger;\n }\n &.alert-warning:before {\n content: '\\f05a';\n color: #8a6d3b;\n }\n &.alert-completed:before,\n &.alert-success:before {\n content: '\\f058';\n color: $brand-success;\n }\n}\n.page-admin .alert {\n margin: 10px 0;\n}\n// Tables\ntable,\ntable.group_additional {\n border-collapse:collapse;\n margin:1em 0;\n width:100%;\n thead > tr > th {\n //@include background-image(linear-gradient(#F5F5F5, #F0F0F0));\n background-color: lighten($border, 4%);\n border: 1px solid $border !important;\n padding: 4px 8px;\n font-weight: bold;\n }\n thead th:first-child {\n //@inlclude border-top-left-radius(4px);\n }\n thead th:last-child,\n thead th:last-child {\n //@include border-top-right-radius(4px);\n }\n tbody th,\n td {\n border:1px solid $border;\n padding:4px 8px;\n vertical-align:top;\n }\n tr:hover {\n background:#FFFEEE;\n }\n}\n\n.table-responsive {\n overflow: visible;\n}\n@media screen and (max-width: 1024px) {\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > tfoot > tr > td {\n white-space: normal;\n }\n}\n\n.field-name-field-additional-info .field-label {\n margin-bottom: 1em;\n @include h4;\n}\n.group_additional,\n.field-name-field-additional-info table,\n.field-name-field-additional-info .table-responsive {\n margin: 0;\n td,\n th {\n white-space: normal;\n width: auto;\n }\n td:nth-of-type(2n) {\n @include wrap;\n }\n @media all and (min-width:768px) {\n .form-item {\n th:nth-of-type(1n),\n td:nth-of-type(1n),\n th:nth-of-type(4n),\n td:nth-of-type(4n) {\n width: 5%;\n border-right: 1px solid $border;\n }\n th:nth-of-type(2n),\n td:nth-of-type(2n) {\n width: 90%;\n .form-control {\n min-width: 40%;\n }\n }\n }\n }\n}\n\ntable.group_additional,\n.field-name-field-additional-info table {\n th,\n td,\n th:nth-of-type(1n),\n td:nth-of-type(1n),\n th:nth-of-type(2n),\n td:nth-of-type(2n) {\n width: auto;\n .form-control {\n display: inline-block;\n width: auto;\n vertical-align: top\n }\n }\n margin-top: 0;\n}\n.table > thead:first-child > tr:first-child > th,\ntable thead:first-child tr:first-child th {\n border: 1px solid $border;\n}\n.table-bordered > thead > tr > th,\ntable thead > tr > th {\n background-color: lighten($border, 4%);\n border: 1px solid $border;\n padding:4px 8px;\n}\n\n// Striped tables.\n.table-striped > tbody > tr:nth-child(odd) {\n background-color: #f9f9f9;\n}\n.table tbody tr:hover td, \n.table tbody tr:hover th,\n.table-striped > tbody > tr:nth-child(odd):hover {\n background-color: #FFFEEE;\n}\n\n\ndl {\n margin:0;\n padding:0;\n clear:both;\n overflow:hidden;\n}\ndt {\n clear: both;\n margin:0;\n padding:8px 5px;\n float:left;\n width:28%;\n}\ndd {\n margin:0;\n padding:8px 5px;\n float:right;\n width:72%;\n}\ndt,\ndd {\n border-top: 1px solid $border;\n}\n\n.item-list .pagination {\n li:first-child > span,\n li:first-child > a {\n @include border-radius(4px 0 0 4px);\n }\n li:last-child > span,\n li:last-child > a {\n @include border-radius(0 4px 4px 0);\n }\n}\n\n.radix-layouts-sidebar .item-list ul,\n.nav-simple {\n margin: 0;\n list-style: none;\n padding: 0;\n li {\n margin:0;\n line-height: 1.1666666666666667em;\n padding: 0;\n border-bottom: 1px dotted #CCC;\n position:relative;\n a {\n display: block;\n margin:0;\n }\n a:hover {\n background:#FFFEEE;\n }\n &.last {\n border-bottom: none;\n }\n }\n}\n// Keep images inside their containers.\nimg {\n max-width: 100%;\n height: auto;\n}\n// Bootstrap/Radix Overrides.\n.thumbnail {\n padding: 0;\n margin: 0;\n background-color: transparent;\n border: none;\n border-radius: 0;\n}","//\n// Styles for Taxonomy\n// --------------------------------------------------\n\n.field-name-field-tags .field-item {\n display:inline-block;\n}\n.field-name-field-tags {\n label {\n display: block;\n }\n input.form-control {\n height: auto;\n }\n .field-item {\n a {\n display: inline-block;\n padding:2px 10px 2px;\n font-size:12px;\n line-height: 20px;\n @include border-radius(0 5px 5px 0);\n background-color: $shade;\n margin:3px 5px 3px 20px;\n position:relative;\n color:$gray-dark;\n border:1px solid $border;\n border-left:0;\n z-index:2;\n &:after {\n content:\"\";\n width: 20px;\n height: 20px;\n background-color: $shade;\n @include rotate(45deg);\n @include border-radius(2px);\n position:absolute;\n top:2px;\n left:-9px;\n z-index:-1;\n border:1px solid $border;\n border-top:none;\n border-right:none;\n }\n &:before {\n content:\"\";\n width:2px;\n height:2px;\n background:$gray-light;\n position:absolute;\n top:11px;\n left:-5px;\n @include border-radius(0);\n }\n }\n a:hover,\n a:hover:after {\n background: #fff;\n color:#000;\n text-decoration:none;\n }\n }\n}\n\n.field-name-field-topic {\n .field-item { \n margin: 0 1.5em .5em 0;\n .field-item {\n margin: 0;\n }\n }\n}\n.field-name-field-topic-icon span::before, \n.view-dkan-datasets .field-name-field-topic-icon span::before {\n font-size: 18px;\n}\n.font_icon_select_options .label {\n color: #333;\n}","// Horizontal Tabs on all but resource nodes.\n.field-group-htabs-wrapper {\n\tborder: 1px solid #CDCDCD;\n\tborder-radius: 4px;\n\tfieldset.field-group-htab {\n\t\tmargin-bottom: 0;\n\t}\n\t.horizontal-tabs ul.horizontal-tabs-list li {\n\t\t&.first,\n\t\t&.first a:hover {\n\t\t\tborder-radius: 4px 0 0 0;\n\t\t}\n\t\ta:hover {\n \tbackground-color: #fffece;\n }\n }\n}\n.node-resource-form .field-group-htabs-wrapper {\n\tborder: none;\n}\n","//\n// Styles for Views\n// --------------------------------------------------\n.front .view-popular-tags {\n margin-top:20px;\n}\n.view-popular-tags {\n margin: 15px 0;\n ul.tag-list {\n margin: 0;\n padding: 0;\n li {\n display:inline-block;\n margin-right:2em;\n a {\n color:#fff;\n }\n }\n }\n}\n.view-content h2 {\n font-size: 1.5em;\n margin:1em 0 0.5em;\n}\n.view-groups-search .views-row {\n border-bottom:1px dotted $smoke;\n padding:1em 0;\n}\n\n.views-field-field-image img {\n // display:block;\n // height:auto;\n // margin:0 auto 5px;\n // max-width:220px;\n // width:100%;\n}\n.view-front-page-group-list {\n .views-row {\n position: relative;\n padding-left: 120px;\n min-height: 110px;\n img {\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n}\n\n.view-user-profile-fields img {\n height:auto;\n margin:0 auto;\n max-width:190px;\n width:100%; \n}\n\n.view-front-page-group-grid {\n .row {\n span {\n display:block;\n margin:15px 0;\n .media-content {\n padding:0 10px 10px 120px;\n }\n .media-image {\n float:left;\n margin:0;\n padding:0;\n img {\n margin:5px 10px 5px 0;\n }\n }\n h3.media-heading {\n font-size:1.3em;\n margin:.5em 0;\n padding:0;\n }\n }\n }\n @media(min-width:768px) {\n .span6,\n .col-lg-6 {\n float:left;\n margin:0;\n width:50%;\n }\n }\n}\n\n.view-dkan-groups {\n .node-teaser {\n min-height: 365px;\n margin-bottom: 20px;\n h2.node-title {\n margin: .75em 0;\n }\n .btn-primary {\n margin: 0 auto 1.5em;\n }\n .field-name-field-image {\n text-align: center; \n }\n }\n}\n\n.view-groups-page {\n .views-column {\n float:left;\n margin:0;\n width:50%;\n }\n}\n.view-group-block {\n .views-field-title {\n font-size:1.2em;\n }\n .views-field-nid a {\n background: $brand-primary;\n color:#fff;\n display: block;\n margin:1em 0 0 0;\n padding:5px 8px;\n text-align: center;\n }\n .views-field-field-image {\n text-align: center;\n }\n}\n.view-dataset {\n form {\n margin: 0;\n position: relative;\n }\n .views-row {\n margin:1.5em 0;\n }\n}\n.views-exposed-form {\n position:relative;\n .views-exposed-widget {\n display: inline;\n padding: .5em .5em 0 0;\n .views-widget-filter-search_api_views_fulltext,\n .views-widget-sort-by,\n .views-widget-sort-order,\n .views-submit-button,\n .form-submit {\n display: inline;\n float:none;\n margin: 0;\n position:relative;\n }\n &.views-reset-button,\n &.views-submit-button {\n margin: 0;\n padding: 2.1em .5em 0 0;\n }\n }\n .description {\n @include text-shadow(none);\n position:absolute;\n color: #999999;\n font-size:12px;\n left: 7px;\n top: 10px;\n }\n}\n\n.view-dkan-groups-featured,\n.pane-dkan-groups-featured {\n .row {\n text-align: center;\n div[class*='views-column'] {\n margin-bottom: 1.25em;\n }\n }\n}\n\n.view-admin-content table {\n margin-top: 0;\n}\n\n.view-blog {\n .views-row ul.links.inline {\n margin: -.5em 0 1.75em;\n }\n}\n\n#views-exposed-form-dkan-datasets-panel-pane-1 .views-exposed-form .description { display: none;}\n\n#views-exposed-form-dkan-administration-nodes-system-1,\n#views-exposed-form-dkan-administration-files-system-1 {\n .views-widget-filter-uid,\n .form-item-author {\n .help-block {\n font-size: .85em;\n margin-top: 0;\n }\n input {\n width: auto;\n }\n }\n .views-widget-filter-date_filter {\n #edit-date-filter-min-wrapper,\n #edit-date-filter-max-wrapper {\n display: inline-block;\n }\n input {\n width: 100px;\n margin-right: 0;\n }\n .help-block {\n display: none;\n }\n }\n}","@import \"shared\";\n\n// These defaults make the arguments optional for this mixin\n// If you like, set different defaults in your project\n\n$default-text-shadow-color: #aaa !default;\n$default-text-shadow-h-offset: 0px !default;\n$default-text-shadow-v-offset: 0px !default;\n$default-text-shadow-blur: 1px !default;\n$default-text-shadow-spread: false !default;\n\n// Provides cross-browser text shadows when one or more shadows are needed.\n// Each shadow argument should adhere to the standard css3 syntax for the\n// text-shadow property.\n//\n// Note: if any shadow has a spread parameter, this will cause the mixin\n// to emit the shadow declaration twice, first without the spread,\n// then with the spread included. This allows you to progressively\n// enhance the browsers that do support the spread parameter.\n@mixin text-shadow(\n $shadow-1 : default,\n $shadow-2 : false,\n $shadow-3 : false,\n $shadow-4 : false,\n $shadow-5 : false,\n $shadow-6 : false,\n $shadow-7 : false,\n $shadow-8 : false,\n $shadow-9 : false,\n $shadow-10: false\n) {\n @if $shadow-1 == default {\n $shadow-1: compact($default-text-shadow-h-offset $default-text-shadow-v-offset $default-text-shadow-blur $default-text-shadow-spread $default-text-shadow-color);\n }\n $shadows-without-spread: join((),(),comma);\n $shadows: join((),(),comma);\n $has-spread: false;\n @each $shadow in compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5,\n $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10) {\n @if length($shadow) > 4 {\n $has-spread: true;\n $shadows-without-spread: append($shadows-without-spread, nth($shadow,1) nth($shadow,2) nth($shadow,3) nth($shadow,5));\n $shadows: append($shadows, $shadow);\n } else {\n $shadows-without-spread: append($shadows-without-spread, $shadow);\n $shadows: append($shadows, $shadow);\n }\n }\n @if $has-spread {\n text-shadow: $shadows-without-spread;\n }\n text-shadow: $shadows;\n}\n\n// Provides a single cross-browser CSS text shadow.\n//\n// Provides sensible defaults for the color, horizontal offset, vertical offset, blur, and spread\n// according to the configuration defaults above.\n@mixin single-text-shadow(\n $hoff: false,\n $voff: false,\n $blur: false,\n $spread: false,\n $color: false\n) {\n // A lot of people think the color comes first. It doesn't.\n @if type-of($hoff) == color {\n $temp-color: $hoff;\n $hoff: $voff;\n $voff: $blur;\n $blur: $spread;\n $spread: $color;\n $color: $temp-color;\n }\n // Can't rely on default assignment with multiple supported argument orders.\n $hoff: if($hoff, $hoff, $default-text-shadow-h-offset);\n $voff: if($voff, $voff, $default-text-shadow-v-offset);\n $blur: if($blur, $blur, $default-text-shadow-blur );\n $spread: if($spread, $spread, $default-text-shadow-spread );\n $color: if($color, $color, $default-text-shadow-color );\n // We don't need experimental support for this property.\n @if $color == none or $hoff == none {\n @include text-shadow(none);\n } @else {\n @include text-shadow(compact($hoff $voff $blur $spread $color));\n }\n}\n"]} \ No newline at end of file diff --git a/dkan/themes/nuboot_radix/assets/css/print.css b/dkan/themes/nuboot_radix/assets/css/print.css index 4d3e83305..88fbe6133 100644 --- a/dkan/themes/nuboot_radix/assets/css/print.css +++ b/dkan/themes/nuboot_radix/assets/css/print.css @@ -1,2 +1,7 @@ +@media print { + #block-dkan-sitewide-dkan-sitewide-search-bar { + display: none; } + img, tr, svg, .card-chart { + break-inside: avoid; } } /*# sourceMappingURL=print.css.map */ diff --git a/dkan/themes/nuboot_radix/assets/js/nuboot_radix.script.js b/dkan/themes/nuboot_radix/assets/js/nuboot_radix.script.js index 1f03a6892..3e68c58fe 100644 --- a/dkan/themes/nuboot_radix/assets/js/nuboot_radix.script.js +++ b/dkan/themes/nuboot_radix/assets/js/nuboot_radix.script.js @@ -1,2 +1,2 @@ -!function(e){}(jQuery),!function(e){"use strict";e.matchMedia=e.matchMedia||function(e){var t,i=e.documentElement,a=i.firstElementChild||i.firstChild,s=e.createElement("body"),n=e.createElement("div");return n.id="mq-test-1",n.style.cssText="position:absolute;top:-100em",s.style.background="none",s.appendChild(n),function(e){return n.innerHTML='­<style media="'+e+'"> #mq-test-1 { width: 42px; }</style>',i.insertBefore(s,a),t=42===n.offsetWidth,i.removeChild(s),{matches:t,media:e}}}(e.document)}(this),function(e){"use strict";function t(){E(!0)}var i={};e.respond=i,i.update=function(){};var a=[],s=function(){var t=!1;try{t=new e.XMLHttpRequest}catch(i){t=new e.ActiveXObject("Microsoft.XMLHTTP")}return function(){return t}}(),n=function(e,t){var i=s();i&&(i.open("GET",e,!0),i.onreadystatechange=function(){4!==i.readyState||200!==i.status&&304!==i.status||t(i.responseText)},4!==i.readyState&&i.send(null))},r=function(e){return e.replace(i.regex.minmaxwh,"").match(i.regex.other)};if(i.ajax=n,i.queue=a,i.unsupportedmq=r,i.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^\/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},i.mediaQueriesSupported=e.matchMedia&&null!==e.matchMedia("only all")&&e.matchMedia("only all").matches,!i.mediaQueriesSupported){var o,l,d,c=e.document,u=c.documentElement,m=[],h=[],p=[],f={},g=30,v=c.getElementsByTagName("head")[0]||u,x=c.getElementsByTagName("base")[0],y=v.getElementsByTagName("link"),w=function(){var e,t=c.createElement("div"),i=c.body,a=u.style.fontSize,s=i&&i.style.fontSize,n=!1;return t.style.cssText="position:absolute;font-size:1em;width:1em",i||(i=n=c.createElement("body"),i.style.background="none"),u.style.fontSize="100%",i.style.fontSize="100%",i.appendChild(t),n&&u.insertBefore(i,u.firstChild),e=t.offsetWidth,n?u.removeChild(i):i.removeChild(t),u.style.fontSize=a,s&&(i.style.fontSize=s),e=d=parseFloat(e)},E=function(t){var i="clientWidth",a=u[i],s="CSS1Compat"===c.compatMode&&a||c.body[i]||a,n={},r=y[y.length-1],f=(new Date).getTime();if(t&&o&&g>f-o)return e.clearTimeout(l),void(l=e.setTimeout(E,g));o=f;for(var x in m)if(m.hasOwnProperty(x)){var b=m[x],S=b.minw,k=b.maxw,C=null===S,T=null===k,z="em";S&&(S=parseFloat(S)*(S.indexOf(z)>-1?d||w():1)),k&&(k=parseFloat(k)*(k.indexOf(z)>-1?d||w():1)),b.hasquery&&(C&&T||!(C||s>=S)||!(T||k>=s))||(n[b.media]||(n[b.media]=[]),n[b.media].push(h[b.rules]))}for(var $ in p)p.hasOwnProperty($)&&p[$]&&p[$].parentNode===v&&v.removeChild(p[$]);p.length=0;for(var F in n)if(n.hasOwnProperty(F)){var L=c.createElement("style"),O=n[F].join("\n");L.type="text/css",L.media=F,v.insertBefore(L,r.nextSibling),L.styleSheet?L.styleSheet.cssText=O:L.appendChild(c.createTextNode(O)),p.push(L)}},b=function(e,t,a){var s=e.replace(i.regex.comments,"").replace(i.regex.keyframes,"").match(i.regex.media),n=s&&s.length||0;t=t.substring(0,t.lastIndexOf("/"));var o=function(e){return e.replace(i.regex.urls,"$1"+t+"$2$3")},l=!n&&a;t.length&&(t+="/"),l&&(n=1);for(var d=0;n>d;d++){var c,u,p,f;l?(c=a,h.push(o(e))):(c=s[d].match(i.regex.findStyles)&&RegExp.$1,h.push(RegExp.$2&&o(RegExp.$2))),p=c.split(","),f=p.length;for(var g=0;f>g;g++)u=p[g],r(u)||m.push({media:u.split("(")[0].match(i.regex.only)&&RegExp.$2||"all",rules:h.length-1,hasquery:u.indexOf("(")>-1,minw:u.match(i.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:u.match(i.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}E()},S=function(){if(a.length){var t=a.shift();n(t.href,function(i){b(i,t.href,t.media),f[t.href]=!0,e.setTimeout(function(){S()},0)})}},k=function(){for(var t=0;t<y.length;t++){var i=y[t],s=i.href,n=i.media,r=i.rel&&"stylesheet"===i.rel.toLowerCase();s&&r&&!f[s]&&(i.styleSheet&&i.styleSheet.rawCssText?(b(i.styleSheet.rawCssText,s,n),f[s]=!0):(!/^([a-zA-Z:]*\/\/)/.test(s)&&!x||s.replace(RegExp.$1,"").split("/")[0]===e.location.host)&&("//"===s.substring(0,2)&&(s=e.location.protocol+s),a.push({href:s,media:n})))}S()};k(),i.update=k,i.getEmValue=w,e.addEventListener?e.addEventListener("resize",t,!1):e.attachEvent&&e.attachEvent("onresize",t)}}(this),function(e){e.fn.dkanFormsHide=function(){this.each(function(){e(this).addClass("compact-form-wrapper");var t=e(this).find(".description").addClass("compact-form-description"),i=e(this).find("input");if(t.click(function(){i.focus()}),""==e(i).html())var i=e(this).find("textarea");if(null==e(i).html())var i=e(this).find("input");i.addClass("compact-form-input"),i.blur(function(){""===i.val()&&t.fadeIn("fast")}),i.keyup(function(){""!=i.val()&&t.hide()}),""!=i.val()&&t.css("display","none")})},e.fn.dkanFormsAutoDeluxeHide=function(){this.each(function(){e(this).addClass("compact-form-wrapper");var t=e(this).find(".description").addClass("compact-form-description"),i=e(this).find("#autocomplete-deluxe-input");t.click(function(){i.focus()}),i.focus(function(){t.hide()}),null!=e("#autocomplete-deluxe-item").html()&&t.css("display","none"),""!=e(this).find("input").val()&&t.css("display","none")})},Drupal.behaviors.dkanSite={attach:function(t,i){var a="#views-exposed-form-dataset-page,#block-dkan-sitewide-dkan-sitewide-search-bar,#views-exposed-form-groups-search-entity-view-1,#views-exposed-form-user-profile-search-entity-view-1";e(a,t).dkanFormsHide();var s=".field-name-field-tags";e(s,t).dkanFormsAutoDeluxeHide(),e(".filter-help.form-group p").append(' | <a href="#" class="text-help-toggle">'+Drupal.t("Toggle text format")+"</a>"),e(".filter-guidelines-processed").hide(),e(".text-help-toggle").click(function(t){t.preventDefault(),e(".form-type-select").toggle(),e(".filter-guidelines-processed").toggle()})}},Drupal.behaviors.dkan508Site={attach:function(t,i){e("#edit-operation").attr("aria-label","Operation"),e("input.bef-datepicker").attr("aria-label","Date popup"),e("a.tabledrag-handle").html('<div class="handle"> </div><span class="element-hidden">Drag and drop"</span>')}}}(jQuery),window.svgeezy=function(){return{init:function(e,t){this.avoid=e||!1,this.filetype=t||"png",this.svgSupport=this.supportsSvg(),this.svgSupport||(this.images=document.getElementsByTagName("img"),this.imgL=this.images.length,this.fallbacks())},fallbacks:function(){for(;this.imgL--;)if(!this.hasClass(this.images[this.imgL],this.avoid)||!this.avoid){var e=this.images[this.imgL].getAttribute("src");if(null===e)continue;if("svg"==this.getFileExt(e)){var t=e.replace(".svg","."+this.filetype);this.images[this.imgL].setAttribute("src",t)}}},getFileExt:function(e){var t=e.split(".").pop();return t.indexOf("?")!==-1&&(t=t.split("?")[0]),t},hasClass:function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},supportsSvg:function(){return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")}}}(); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm51Ym9vdF9yYWRpeC5zY3JpcHQuanMiLCJyZXNwb25kLm1pbi5qcyIsInNpdGV3aWRlLmpzIiwic3ZnZWV6eS5taW4uanMiXSwibmFtZXMiOlsiJCIsImpRdWVyeSIsImEiLCJtYXRjaE1lZGlhIiwiYiIsImMiLCJkb2N1bWVudEVsZW1lbnQiLCJkIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJmaXJzdENoaWxkIiwiZSIsImNyZWF0ZUVsZW1lbnQiLCJmIiwiaWQiLCJzdHlsZSIsImNzc1RleHQiLCJiYWNrZ3JvdW5kIiwiYXBwZW5kQ2hpbGQiLCJpbm5lckhUTUwiLCJpbnNlcnRCZWZvcmUiLCJvZmZzZXRXaWR0aCIsInJlbW92ZUNoaWxkIiwibWF0Y2hlcyIsIm1lZGlhIiwiZG9jdW1lbnQiLCJ0aGlzIiwidiIsInJlc3BvbmQiLCJ1cGRhdGUiLCJYTUxIdHRwUmVxdWVzdCIsIkFjdGl2ZVhPYmplY3QiLCJvcGVuIiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsInN0YXR1cyIsInJlc3BvbnNlVGV4dCIsInNlbmQiLCJnIiwicmVwbGFjZSIsInJlZ2V4IiwibWlubWF4d2giLCJtYXRjaCIsIm90aGVyIiwiYWpheCIsInF1ZXVlIiwidW5zdXBwb3J0ZWRtcSIsImtleWZyYW1lcyIsImNvbW1lbnRzIiwidXJscyIsImZpbmRTdHlsZXMiLCJvbmx5IiwibWludyIsIm1heHciLCJtZWRpYVF1ZXJpZXNTdXBwb3J0ZWQiLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicyIsInQiLCJ1IiwiYm9keSIsImZvbnRTaXplIiwicGFyc2VGbG9hdCIsImNvbXBhdE1vZGUiLCJsZW5ndGgiLCJEYXRlIiwiZ2V0VGltZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJoYXNPd25Qcm9wZXJ0eSIsInciLCJ4IiwieSIsInoiLCJBIiwiQiIsImluZGV4T2YiLCJoYXNxdWVyeSIsInB1c2giLCJydWxlcyIsIkMiLCJwYXJlbnROb2RlIiwiRCIsIkUiLCJGIiwiam9pbiIsInR5cGUiLCJuZXh0U2libGluZyIsInN0eWxlU2hlZXQiLCJjcmVhdGVUZXh0Tm9kZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiUmVnRXhwIiwiJDEiLCIkMiIsInNwbGl0Iiwic2hpZnQiLCJocmVmIiwicmVsIiwidG9Mb3dlckNhc2UiLCJyYXdDc3NUZXh0IiwidGVzdCIsImxvY2F0aW9uIiwiaG9zdCIsInByb3RvY29sIiwiZ2V0RW1WYWx1ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJhdHRhY2hFdmVudCIsImZuIiwiZGthbkZvcm1zSGlkZSIsImVhY2giLCJhZGRDbGFzcyIsImRlc2MiLCJmaW5kIiwiaW5wdXQiLCJjbGljayIsImZvY3VzIiwiaHRtbCIsImJsdXIiLCJ2YWwiLCJmYWRlSW4iLCJrZXl1cCIsImhpZGUiLCJjc3MiLCJka2FuRm9ybXNBdXRvRGVsdXhlSGlkZSIsIkRydXBhbCIsImJlaGF2aW9ycyIsImRrYW5TaXRlIiwiYXR0YWNoIiwiY29udGV4dCIsInNldHRpbmdzIiwiZWxlbWVudHMiLCJhdXRvRGVsdXhlRWxlbWVudHMiLCJhcHBlbmQiLCJwcmV2ZW50RGVmYXVsdCIsInRvZ2dsZSIsImRrYW41MDhTaXRlIiwiYXR0ciIsIndpbmRvdyIsInN2Z2VlenkiLCJpbml0IiwiYXZvaWQiLCJmaWxldHlwZSIsInN2Z1N1cHBvcnQiLCJzdXBwb3J0c1N2ZyIsImltYWdlcyIsImltZ0wiLCJmYWxsYmFja3MiLCJoYXNDbGFzcyIsImdldEF0dHJpYnV0ZSIsImdldEZpbGVFeHQiLCJzZXRBdHRyaWJ1dGUiLCJwb3AiLCJjbGFzc05hbWUiLCJpbXBsZW1lbnRhdGlvbiIsImhhc0ZlYXR1cmUiXSwibWFwcGluZ3MiOiJDQUlBLFNBQUFBLEtBRUFDLFNDREEsU0FBQUMsR0FBQSxZQUFBQSxHQUFBQyxXQUFBRCxFQUFBQyxZQUFBLFNBQUFELEdBQUEsR0FBQUUsR0FBQUMsRUFBQUgsRUFBQUks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S0FBQTZILE1BQUEsQ0FBQSxHQUFBbkYsR0FBQTFDLEtBQUFpSSxPQUFBakksS0FBQWtJLE1BQUFHLGFBQUEsTUFBQSxJQUFBLE9BQUEzRixFQUFBLFFBQUEsSUFBQSxPQUFBMUMsS0FBQXNJLFdBQUE1RixHQUFBLENBQUEsR0FBQVosR0FBQVksRUFBQTdCLFFBQUEsT0FBQSxJQUFBYixLQUFBOEgsU0FBQTlILE1BQUFpSSxPQUFBakksS0FBQWtJLE1BQUFLLGFBQUEsTUFBQXpHLE1BQUF3RyxXQUFBLFNBQUE1RixHQUFBLEdBQUFaLEdBQUFZLEVBQUFxQyxNQUFBLEtBQUF5RCxLQUFBLE9BQUExRyxHQUFBOEIsUUFBQSxZQUFBOUIsRUFBQUEsRUFBQWlELE1BQUEsS0FBQSxJQUFBakQsR0FBQXNHLFNBQUEsU0FBQTFGLEVBQUFaLEdBQUEsT0FBQSxJQUFBWSxFQUFBK0YsVUFBQSxLQUFBN0UsUUFBQSxJQUFBOUIsRUFBQSxTQUFBa0csWUFBQSxXQUFBLE1BQUFqSSxVQUFBMkksZUFBQUMsV0FBQSwyQ0FBQSIsImZpbGUiOiJudWJvb3RfcmFkaXguc2NyaXB0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICogQ3VzdG9tIHNjcmlwdHMgZm9yIHRoZW1lLlxuICovXG4oZnVuY3Rpb24gKCQpIHtcbiAgLy8gY29kZSBoZXJlXG59KShqUXVlcnkpO1xuIiwiLyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsXG4gKiBDb3B5cmlnaHQgMjAxNCBTY290dCBKZWhsXG4gKiBMaWNlbnNlZCB1bmRlciBNSVRcbiAqIGh0dHA6Ly9qLm1wL3Jlc3BvbmRqcyAqL1xuXG4hZnVuY3Rpb24oYSl7XCJ1c2Ugc3RyaWN0XCI7YS5tYXRjaE1lZGlhPWEubWF0Y2hNZWRpYXx8ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLmRvY3VtZW50RWxlbWVudCxkPWMuZmlyc3RFbGVtZW50Q2hpbGR8fGMuZmlyc3RDaGlsZCxlPWEuY3JlYXRlRWxlbWVudChcImJvZHlcIiksZj1hLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGYuaWQ9XCJtcS10ZXN0LTFcIixmLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMGVtXCIsZS5zdHlsZS5iYWNrZ3JvdW5kPVwibm9uZVwiLGUuYXBwZW5kQ2hpbGQoZiksZnVuY3Rpb24oYSl7cmV0dXJuIGYuaW5uZXJIVE1MPScmc2h5OzxzdHlsZSBtZWRpYT1cIicrYSsnXCI+ICNtcS10ZXN0LTEgeyB3aWR0aDogNDJweDsgfTwvc3R5bGU+JyxjLmluc2VydEJlZm9yZShlLGQpLGI9NDI9PT1mLm9mZnNldFdpZHRoLGMucmVtb3ZlQ2hpbGQoZSkse21hdGNoZXM6YixtZWRpYTphfX19KGEuZG9jdW1lbnQpfSh0aGlzKSxmdW5jdGlvbihhKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBiKCl7dighMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoXCJNaWNyb3NvZnQuWE1MSFRUUFwiKX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19KCksZj1mdW5jdGlvbihhLGIpe3ZhciBjPWUoKTtjJiYoYy5vcGVuKFwiR0VUXCIsYSwhMCksYy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0IT09Yy5yZWFkeVN0YXRlfHwyMDAhPT1jLnN0YXR1cyYmMzA0IT09Yy5zdGF0dXN8fGIoYy5yZXNwb25zZVRleHQpfSw0IT09Yy5yZWFkeVN0YXRlJiZjLnNlbmQobnVsbCkpfSxnPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoYy5yZWdleC5taW5tYXh3aCxcIlwiKS5tYXRjaChjLnJlZ2V4Lm90aGVyKX07aWYoYy5hamF4PWYsYy5xdWV1ZT1kLGMudW5zdXBwb3J0ZWRtcT1nLGMucmVnZXg9e21lZGlhOi9AbWVkaWFbXlxce10rXFx7KFteXFx7XFx9XSpcXHtbXlxcfVxce10qXFx9KSsvZ2ksa2V5ZnJhbWVzOi9AKD86XFwtKD86b3xtb3p8d2Via2l0KVxcLSk/a2V5ZnJhbWVzW15cXHtdK1xceyg/OlteXFx7XFx9XSpcXHtbXlxcfVxce10qXFx9KStbXlxcfV0qXFx9L2dpLGNvbW1lbnRzOi9cXC9cXCpbXipdKlxcKisoW14vXVteKl0qXFwqKykqXFwvL2dpLHVybHM6Lyh1cmxcXCgpWydcIl0/KFteXFwvXFwpJ1wiXVteOlxcKSdcIl0rKVsnXCJdPyhcXCkpL2csZmluZFN0eWxlczovQG1lZGlhICooW15cXHtdKylcXHsoW1xcU1xcc10rPykkLyxvbmx5Oi8ob25seVxccyspPyhbYS16QS1aXSspXFxzPy8sbWludzovXFwoXFxzKm1pblxcLXdpZHRoXFxzKjpcXHMqKFxccypbMC05XFwuXSspKHB4fGVtKVxccypcXCkvLG1heHc6L1xcKFxccyptYXhcXC13aWR0aFxccyo6XFxzKihcXHMqWzAtOVxcLl0rKShweHxlbSlcXHMqXFwpLyxtaW5tYXh3aDovXFwoXFxzKm0oaW58YXgpXFwtKGhlaWdodHx3aWR0aClcXHMqOlxccyooXFxzKlswLTlcXC5dKykocHh8ZW0pXFxzKlxcKS9naSxvdGhlcjovXFwoW15cXCldKlxcKS9nfSxjLm1lZGlhUXVlcmllc1N1cHBvcnRlZD1hLm1hdGNoTWVkaWEmJm51bGwhPT1hLm1hdGNoTWVkaWEoXCJvbmx5IGFsbFwiKSYmYS5tYXRjaE1lZGlhKFwib25seSBhbGxcIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBoLGksaixrPWEuZG9jdW1lbnQsbD1rLmRvY3VtZW50RWxlbWVudCxtPVtdLG49W10sbz1bXSxwPXt9LHE9MzAscj1rLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXXx8bCxzPWsuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJiYXNlXCIpWzBdLHQ9ci5nZXRFbGVtZW50c0J5VGFnTmFtZShcImxpbmtcIiksdT1mdW5jdGlvbigpe3ZhciBhLGI9ay5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGM9ay5ib2R5LGQ9bC5zdHlsZS5mb250U2l6ZSxlPWMmJmMuc3R5bGUuZm9udFNpemUsZj0hMTtyZXR1cm4gYi5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW1cIixjfHwoYz1mPWsuY3JlYXRlRWxlbWVudChcImJvZHlcIiksYy5zdHlsZS5iYWNrZ3JvdW5kPVwibm9uZVwiKSxsLnN0eWxlLmZvbnRTaXplPVwiMTAwJVwiLGMuc3R5bGUuZm9udFNpemU9XCIxMDAlXCIsYy5hcHBlbmRDaGlsZChiKSxmJiZsLmluc2VydEJlZm9yZShjLGwuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/bC5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGwuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWo9cGFyc2VGbG9hdChhKX0sdj1mdW5jdGlvbihiKXt2YXIgYz1cImNsaWVudFdpZHRoXCIsZD1sW2NdLGU9XCJDU1MxQ29tcGF0XCI9PT1rLmNvbXBhdE1vZGUmJmR8fGsuYm9keVtjXXx8ZCxmPXt9LGc9dFt0Lmxlbmd0aC0xXSxwPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2lmKGImJmgmJnE+cC1oKXJldHVybiBhLmNsZWFyVGltZW91dChpKSxpPWEuc2V0VGltZW91dCh2LHEpLHZvaWQgMDtoPXA7Zm9yKHZhciBzIGluIG0paWYobS5oYXNPd25Qcm9wZXJ0eShzKSl7dmFyIHc9bVtzXSx4PXcubWludyx5PXcubWF4dyx6PW51bGw9PT14LEE9bnVsbD09PXksQj1cImVtXCI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2p8fHUoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2p8fHUoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChuW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG8pby5oYXNPd25Qcm9wZXJ0eShDKSYmb1tDXSYmb1tDXS5wYXJlbnROb2RlPT09ciYmci5yZW1vdmVDaGlsZChvW0NdKTtvLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWsuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLEY9ZltEXS5qb2luKFwiXFxuXCIpO0UudHlwZT1cInRleHQvY3NzXCIsRS5tZWRpYT1ELHIuaW5zZXJ0QmVmb3JlKEUsZy5uZXh0U2libGluZyksRS5zdHlsZVNoZWV0P0Uuc3R5bGVTaGVldC5jc3NUZXh0PUY6RS5hcHBlbmRDaGlsZChrLmNyZWF0ZVRleHROb2RlKEYpKSxvLnB1c2goRSl9fSx3PWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnJlcGxhY2UoYy5yZWdleC5jb21tZW50cyxcIlwiKS5yZXBsYWNlKGMucmVnZXgua2V5ZnJhbWVzLFwiXCIpLm1hdGNoKGMucmVnZXgubWVkaWEpLGY9ZSYmZS5sZW5ndGh8fDA7Yj1iLnN1YnN0cmluZygwLGIubGFzdEluZGV4T2YoXCIvXCIpKTt2YXIgaD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscyxcIiQxXCIrYitcIiQyJDNcIil9LGk9IWYmJmQ7Yi5sZW5ndGgmJihiKz1cIi9cIiksaSYmKGY9MSk7Zm9yKHZhciBqPTA7Zj5qO2orKyl7dmFyIGssbCxvLHA7aT8oaz1kLG4ucHVzaChoKGEpKSk6KGs9ZVtqXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbi5wdXNoKFJlZ0V4cC4kMiYmaChSZWdFeHAuJDIpKSksbz1rLnNwbGl0KFwiLFwiKSxwPW8ubGVuZ3RoO2Zvcih2YXIgcT0wO3A+cTtxKyspbD1vW3FdLGcobCl8fG0ucHVzaCh7bWVkaWE6bC5zcGxpdChcIihcIilbMF0ubWF0Y2goYy5yZWdleC5vbmx5KSYmUmVnRXhwLiQyfHxcImFsbFwiLHJ1bGVzOm4ubGVuZ3RoLTEsaGFzcXVlcnk6bC5pbmRleE9mKFwiKFwiKT4tMSxtaW53OmwubWF0Y2goYy5yZWdleC5taW53KSYmcGFyc2VGbG9hdChSZWdFeHAuJDEpKyhSZWdFeHAuJDJ8fFwiXCIpLG1heHc6bC5tYXRjaChjLnJlZ2V4Lm1heHcpJiZwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrKFJlZ0V4cC4kMnx8XCJcIil9KX12KCl9LHg9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3coYyxiLmhyZWYsYi5tZWRpYSkscFtiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3goKX0sMCl9KX19LHk9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHQubGVuZ3RoO2IrKyl7dmFyIGM9dFtiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmXCJzdHlsZXNoZWV0XCI9PT1jLnJlbC50b0xvd2VyQ2FzZSgpO2UmJmcmJiFwW2VdJiYoYy5zdHlsZVNoZWV0JiZjLnN0eWxlU2hlZXQucmF3Q3NzVGV4dD8odyhjLnN0eWxlU2hlZXQucmF3Q3NzVGV4dCxlLGYpLHBbZV09ITApOighL14oW2EtekEtWjpdKlxcL1xcLykvLnRlc3QoZSkmJiFzfHxlLnJlcGxhY2UoUmVnRXhwLiQxLFwiXCIpLnNwbGl0KFwiL1wiKVswXT09PWEubG9jYXRpb24uaG9zdCkmJihcIi8vXCI9PT1lLnN1YnN0cmluZygwLDIpJiYoZT1hLmxvY2F0aW9uLnByb3RvY29sK2UpLGQucHVzaCh7aHJlZjplLG1lZGlhOmZ9KSkpfXgoKX07eSgpLGMudXBkYXRlPXksYy5nZXRFbVZhbHVlPXUsYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoXCJvbnJlc2l6ZVwiLGIpfX0odGhpcyk7XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBKUyBmb3IgREtBTiBzaXRlLlxuICovXG4oZnVuY3Rpb24gKCQpIHtcblxuICAvKipcbiAgICogU2hvd3MgYW5kIGhpZGVzIGEgZGVzY3JpcHRpb24gZm9yIERydXBhbCBmb3JtIGVsZW1lbnRzLlxuICAgKi9cbiAgJC5mbi5ka2FuRm9ybXNIaWRlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAkKHRoaXMpLmFkZENsYXNzKCdjb21wYWN0LWZvcm0td3JhcHBlcicpO1xuICAgICAgdmFyIGRlc2MgPSAkKHRoaXMpLmZpbmQoJy5kZXNjcmlwdGlvbicpLmFkZENsYXNzKCdjb21wYWN0LWZvcm0tZGVzY3JpcHRpb24nKTtcbiAgICAgIHZhciBpbnB1dCA9ICQodGhpcykuZmluZCgnaW5wdXQnKTtcbiAgICAgIGRlc2MuY2xpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgfSk7XG4gICAgICBpZiAoJChpbnB1dCkuaHRtbCgpID09ICcnKSB7XG4gICAgICAgIHZhciBpbnB1dCA9ICQodGhpcykuZmluZCgndGV4dGFyZWEnKTtcbiAgICAgIH1cbiAgICAgIGlmICgkKGlucHV0KS5odG1sKCkgPT0gbnVsbCkge1xuICAgICAgICB2YXIgaW5wdXQgPSAkKHRoaXMpLmZpbmQoJ2lucHV0Jyk7XG4gICAgICB9XG4gICAgICBpbnB1dC5hZGRDbGFzcygnY29tcGFjdC1mb3JtLWlucHV0JylcbiAgICAgIGlucHV0LmJsdXIoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoaW5wdXQudmFsKCkgPT09ICcnKSB7XG4gICAgICAgICAgZGVzYy5mYWRlSW4oJ2Zhc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbnB1dC5rZXl1cChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChpbnB1dC52YWwoKSAhPSAnJykge1xuICAgICAgICAgIGRlc2MuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmIChpbnB1dC52YWwoKSAhPSAnJykge1xuICAgICAgICBkZXNjLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgYW5kIGhpZGVzIGEgZGVzY3JpcHRpb24gZm9yIEF1dG9jb21wbGV0ZSBEZWx1eGUgZm9ybSBlbGVtZW50cy5cbiAgICovXG4gICQuZm4uZGthbkZvcm1zQXV0b0RlbHV4ZUhpZGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2NvbXBhY3QtZm9ybS13cmFwcGVyJyk7XG4gICAgICB2YXIgZGVzYyA9ICQodGhpcykuZmluZCgnLmRlc2NyaXB0aW9uJykuYWRkQ2xhc3MoJ2NvbXBhY3QtZm9ybS1kZXNjcmlwdGlvbicpO1xuICAgICAgdmFyIGlucHV0ID0gJCh0aGlzKS5maW5kKCcjYXV0b2NvbXBsZXRlLWRlbHV4ZS1pbnB1dCcpO1xuICAgICAgZGVzYy5jbGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICAgIGlucHV0LmZvY3VzKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGVzYy5oaWRlKCk7XG4gICAgICB9KTtcbiAgICAgIGlmICgkKCcjYXV0b2NvbXBsZXRlLWRlbHV4ZS1pdGVtJykuaHRtbCgpICE9IG51bGwpIHtcbiAgICAgICAgZGVzYy5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgfVxuICAgICAgaWYgKCQodGhpcykuZmluZCgnaW5wdXQnKS52YWwoKSAhPSAnJykge1xuICAgICAgICBkZXNjLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBEcnVwYWwuYmVoYXZpb3JzLmRrYW5TaXRlID0ge1xuICAgIGF0dGFjaDogZnVuY3Rpb24gKGNvbnRleHQsIHNldHRpbmdzKSB7XG4gICAgICAvLyBBdXRvaGlkZSBzZWxlY3RlZCBlbGVtZW50cy5cbiAgICAgIHZhciBlbGVtZW50cyA9IFwiI3ZpZXdzLWV4cG9zZWQtZm9ybS1kYXRhc2V0LXBhZ2UsI2Jsb2NrLWRrYW4tc2l0ZXdpZGUtZGthbi1zaXRld2lkZS1zZWFyY2gtYmFyLCN2aWV3cy1leHBvc2VkLWZvcm0tZ3JvdXBzLXNlYXJjaC1lbnRpdHktdmlldy0xLCN2aWV3cy1leHBvc2VkLWZvcm0tdXNlci1wcm9maWxlLXNlYXJjaC1lbnRpdHktdmlldy0xXCI7XG4gICAgICAkKGVsZW1lbnRzLCBjb250ZXh0KS5ka2FuRm9ybXNIaWRlKCk7XG4gICAgICB2YXIgYXV0b0RlbHV4ZUVsZW1lbnRzID0gXCIuZmllbGQtbmFtZS1maWVsZC10YWdzXCI7XG4gICAgICAkKGF1dG9EZWx1eGVFbGVtZW50cywgY29udGV4dCkuZGthbkZvcm1zQXV0b0RlbHV4ZUhpZGUoKTtcblxuICAgICAgLy8gVG9nZ2xlIGJ1dHRvbiBmb3IgdGV4dC1mb3JtYXQuXG4gICAgICAkKCcuZmlsdGVyLWhlbHAuZm9ybS1ncm91cCBwJykuYXBwZW5kKCcgfCAnICsgJzxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0ZXh0LWhlbHAtdG9nZ2xlXCI+JyArIERydXBhbC50KCdUb2dnbGUgdGV4dCBmb3JtYXQnKSArICc8L2E+Jyk7XG4gICAgICAvLyQoJy5mb3JtLXR5cGUtc2VsZWN0JykuaGlkZSgpO1xuICAgICAgJCgnLmZpbHRlci1ndWlkZWxpbmVzLXByb2Nlc3NlZCcpLmhpZGUoKTtcbiAgICAgICQoJy50ZXh0LWhlbHAtdG9nZ2xlJykuY2xpY2soZnVuY3Rpb24oZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICQoJy5mb3JtLXR5cGUtc2VsZWN0JykudG9nZ2xlKCk7XG4gICAgICAgICQoJy5maWx0ZXItZ3VpZGVsaW5lcy1wcm9jZXNzZWQnKS50b2dnbGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIERydXBhbC5iZWhhdmlvcnMuZGthbjUwOFNpdGUgPSB7XG4gICAgYXR0YWNoOiBmdW5jdGlvbiAoY29udGV4dCwgc2V0dGluZ3MpIHtcbiAgICAgICQoJyNlZGl0LW9wZXJhdGlvbicpLmF0dHIoJ2FyaWEtbGFiZWwnLCAnT3BlcmF0aW9uJyk7XG4gICAgICAkKCdpbnB1dC5iZWYtZGF0ZXBpY2tlcicpLmF0dHIoJ2FyaWEtbGFiZWwnLCAnRGF0ZSBwb3B1cCcpO1xuICAgICAgJCgnYS50YWJsZWRyYWctaGFuZGxlJykuaHRtbCgnPGRpdiBjbGFzcz1cImhhbmRsZVwiPiZuYnNwOzwvZGl2PjxzcGFuIGNsYXNzPVwiZWxlbWVudC1oaWRkZW5cIj5EcmFnIGFuZCBkcm9wXCI8L3NwYW4+Jyk7XG4gICAgfVxuICB9XG5cbn0pKGpRdWVyeSk7XG4iLCIvKlxuICogU1ZHZWV6eS5qcyAxLjBcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMiwgQmVuIEhvd2RsZSBodHRwOi8vdHdvc3RlcG1lZGlhLmNvLnVrXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgV1RGUEwgbGljZW5zZVxuICogaHR0cDovL3NhbS56b3kub3JnL3d0ZnBsL1xuICpcbiAqIERhdGU6IFN1biBBdWcgMjYgMjA6MzggMjAxMiBHTVRcbiAqL1xuLypcblx0Ly9jYWxsIGxpa2Ugc28sIHBhc3MgaW4gYSBjbGFzcyBuYW1lIHRoYXQgeW91IGRvbid0IHdhbnQgaXQgdG8gY2hlY2sgYW5kIGEgZmlsZXR5cGUgdG8gcmVwbGFjZSAuc3ZnIHdpdGhcblx0c3ZnZWV6eS5pbml0KCdub2NoZWNrJywgJ3BuZycpO1xuKi9cbndpbmRvdy5zdmdlZXp5PWZ1bmN0aW9uKCl7cmV0dXJue2luaXQ6ZnVuY3Rpb24odCxpKXt0aGlzLmF2b2lkPXR8fGZhbHNlO3RoaXMuZmlsZXR5cGU9aXx8XCJwbmdcIjt0aGlzLnN2Z1N1cHBvcnQ9dGhpcy5zdXBwb3J0c1N2ZygpO2lmKCF0aGlzLnN2Z1N1cHBvcnQpe3RoaXMuaW1hZ2VzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpO3RoaXMuaW1nTD10aGlzLmltYWdlcy5sZW5ndGg7dGhpcy5mYWxsYmFja3MoKX19LGZhbGxiYWNrczpmdW5jdGlvbigpe3doaWxlKHRoaXMuaW1nTC0tKXtpZighdGhpcy5oYXNDbGFzcyh0aGlzLmltYWdlc1t0aGlzLmltZ0xdLHRoaXMuYXZvaWQpfHwhdGhpcy5hdm9pZCl7dmFyIHQ9dGhpcy5pbWFnZXNbdGhpcy5pbWdMXS5nZXRBdHRyaWJ1dGUoXCJzcmNcIik7aWYodD09PW51bGwpe2NvbnRpbnVlfWlmKHRoaXMuZ2V0RmlsZUV4dCh0KT09XCJzdmdcIil7dmFyIGk9dC5yZXBsYWNlKFwiLnN2Z1wiLFwiLlwiK3RoaXMuZmlsZXR5cGUpO3RoaXMuaW1hZ2VzW3RoaXMuaW1nTF0uc2V0QXR0cmlidXRlKFwic3JjXCIsaSl9fX19LGdldEZpbGVFeHQ6ZnVuY3Rpb24odCl7dmFyIGk9dC5zcGxpdChcIi5cIikucG9wKCk7aWYoaS5pbmRleE9mKFwiP1wiKSE9PS0xKXtpPWkuc3BsaXQoXCI/XCIpWzBdfXJldHVybiBpfSxoYXNDbGFzczpmdW5jdGlvbih0LGkpe3JldHVybihcIiBcIit0LmNsYXNzTmFtZStcIiBcIikuaW5kZXhPZihcIiBcIitpK1wiIFwiKT4tMX0sc3VwcG9ydHNTdmc6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZShcImh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjSW1hZ2VcIixcIjEuMVwiKX19fSgpOyJdfQ== +!function(e){}(jQuery),!function(e){"use strict";e.matchMedia=e.matchMedia||function(e){var t,i=e.documentElement,a=i.firstElementChild||i.firstChild,s=e.createElement("body"),n=e.createElement("div");return n.id="mq-test-1",n.style.cssText="position:absolute;top:-100em",s.style.background="none",s.appendChild(n),function(e){return n.innerHTML='­<style media="'+e+'"> #mq-test-1 { width: 42px; }</style>',i.insertBefore(s,a),t=42===n.offsetWidth,i.removeChild(s),{matches:t,media:e}}}(e.document)}(this),function(e){"use strict";function t(){E(!0)}var i={};e.respond=i,i.update=function(){};var a=[],s=function(){var t=!1;try{t=new e.XMLHttpRequest}catch(i){t=new e.ActiveXObject("Microsoft.XMLHTTP")}return function(){return t}}(),n=function(e,t){var i=s();i&&(i.open("GET",e,!0),i.onreadystatechange=function(){4!==i.readyState||200!==i.status&&304!==i.status||t(i.responseText)},4!==i.readyState&&i.send(null))},r=function(e){return e.replace(i.regex.minmaxwh,"").match(i.regex.other)};if(i.ajax=n,i.queue=a,i.unsupportedmq=r,i.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},i.mediaQueriesSupported=e.matchMedia&&null!==e.matchMedia("only all")&&e.matchMedia("only all").matches,!i.mediaQueriesSupported){var o,l,d,c=e.document,u=c.documentElement,m=[],h=[],p=[],f={},g=30,v=c.getElementsByTagName("head")[0]||u,x=c.getElementsByTagName("base")[0],y=v.getElementsByTagName("link"),w=function(){var e,t=c.createElement("div"),i=c.body,a=u.style.fontSize,s=i&&i.style.fontSize,n=!1;return t.style.cssText="position:absolute;font-size:1em;width:1em",i||(i=n=c.createElement("body"),i.style.background="none"),u.style.fontSize="100%",i.style.fontSize="100%",i.appendChild(t),n&&u.insertBefore(i,u.firstChild),e=t.offsetWidth,n?u.removeChild(i):i.removeChild(t),u.style.fontSize=a,s&&(i.style.fontSize=s),e=d=parseFloat(e)},E=function(t){var i="clientWidth",a=u[i],s="CSS1Compat"===c.compatMode&&a||c.body[i]||a,n={},r=y[y.length-1],f=(new Date).getTime();if(t&&o&&g>f-o)return e.clearTimeout(l),void(l=e.setTimeout(E,g));o=f;for(var x in m)if(m.hasOwnProperty(x)){var b=m[x],S=b.minw,k=b.maxw,C=null===S,T=null===k,z="em";S&&(S=parseFloat(S)*(S.indexOf(z)>-1?d||w():1)),k&&(k=parseFloat(k)*(k.indexOf(z)>-1?d||w():1)),b.hasquery&&(C&&T||!(C||s>=S)||!(T||k>=s))||(n[b.media]||(n[b.media]=[]),n[b.media].push(h[b.rules]))}for(var $ in p)p.hasOwnProperty($)&&p[$]&&p[$].parentNode===v&&v.removeChild(p[$]);p.length=0;for(var F in n)if(n.hasOwnProperty(F)){var L=c.createElement("style"),O=n[F].join("\n");L.type="text/css",L.media=F,v.insertBefore(L,r.nextSibling),L.styleSheet?L.styleSheet.cssText=O:L.appendChild(c.createTextNode(O)),p.push(L)}},b=function(e,t,a){var s=e.replace(i.regex.comments,"").replace(i.regex.keyframes,"").match(i.regex.media),n=s&&s.length||0;t=t.substring(0,t.lastIndexOf("/"));var o=function(e){return e.replace(i.regex.urls,"$1"+t+"$2$3")},l=!n&&a;t.length&&(t+="/"),l&&(n=1);for(var d=0;n>d;d++){var c,u,p,f;l?(c=a,h.push(o(e))):(c=s[d].match(i.regex.findStyles)&&RegExp.$1,h.push(RegExp.$2&&o(RegExp.$2))),p=c.split(","),f=p.length;for(var g=0;f>g;g++)u=p[g],r(u)||m.push({media:u.split("(")[0].match(i.regex.only)&&RegExp.$2||"all",rules:h.length-1,hasquery:u.indexOf("(")>-1,minw:u.match(i.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:u.match(i.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}E()},S=function(){if(a.length){var t=a.shift();n(t.href,function(i){b(i,t.href,t.media),f[t.href]=!0,e.setTimeout(function(){S()},0)})}},k=function(){for(var t=0;t<y.length;t++){var i=y[t],s=i.href,n=i.media,r=i.rel&&"stylesheet"===i.rel.toLowerCase();s&&r&&!f[s]&&(i.styleSheet&&i.styleSheet.rawCssText?(b(i.styleSheet.rawCssText,s,n),f[s]=!0):(!/^([a-zA-Z:]*\/\/)/.test(s)&&!x||s.replace(RegExp.$1,"").split("/")[0]===e.location.host)&&("//"===s.substring(0,2)&&(s=e.location.protocol+s),a.push({href:s,media:n})))}S()};k(),i.update=k,i.getEmValue=w,e.addEventListener?e.addEventListener("resize",t,!1):e.attachEvent&&e.attachEvent("onresize",t)}}(this),function(e){e.fn.dkanFormsHide=function(){this.each(function(){e(this).addClass("compact-form-wrapper");var t=e(this).find(".description").addClass("compact-form-description"),i=e(this).find("input");if(t.click(function(){i.focus()}),""==e(i).html())var i=e(this).find("textarea");if(null==e(i).html())var i=e(this).find("input");i.addClass("compact-form-input"),i.blur(function(){""===i.val()&&t.fadeIn("fast")}),i.keyup(function(){""!=i.val()&&t.hide()}),""!=i.val()&&t.css("display","none")})},e.fn.dkanFormsAutoDeluxeHide=function(){this.each(function(){e(this).addClass("compact-form-wrapper");var t=e(this).find(".description").addClass("compact-form-description"),i=e(this).find("#autocomplete-deluxe-input");t.click(function(){i.focus()}),i.focus(function(){t.hide()}),null!=e("#autocomplete-deluxe-item").html()&&t.css("display","none"),""!=e(this).find("input").val()&&t.css("display","none")})},Drupal.behaviors.dkanSite={attach:function(t,i){var a="#views-exposed-form-dataset-page,#block-dkan-sitewide-dkan-sitewide-search-bar,#views-exposed-form-groups-search-entity-view-1,#views-exposed-form-user-profile-search-entity-view-1";e(a,t).dkanFormsHide();var s=".field-name-field-tags";e(s,t).dkanFormsAutoDeluxeHide(),e(".filter-help.form-group p").append(' | <a href="#" class="text-help-toggle">'+Drupal.t("Toggle text format")+"</a>"),e(".filter-guidelines-processed").hide(),e(".text-help-toggle").click(function(t){t.preventDefault(),e(".form-type-select").toggle(),e(".filter-guidelines-processed").toggle()})}},Drupal.behaviors.dkan508Site={attach:function(t,i){e("#edit-operation").attr("aria-label","Operation"),e("input.bef-datepicker").attr("aria-label","Date popup"),e("a.tabledrag-handle").html('<div class="handle"> </div><span class="element-hidden">Drag and drop"</span>')}}}(jQuery),window.svgeezy=function(){return{init:function(e,t){this.avoid=e||!1,this.filetype=t||"png",this.svgSupport=this.supportsSvg(),this.svgSupport||(this.images=document.getElementsByTagName("img"),this.imgL=this.images.length,this.fallbacks())},fallbacks:function(){for(;this.imgL--;)if(!this.hasClass(this.images[this.imgL],this.avoid)||!this.avoid){var e=this.images[this.imgL].getAttribute("src");if(null===e)continue;if("svg"==this.getFileExt(e)){var t=e.replace(".svg","."+this.filetype);this.images[this.imgL].setAttribute("src",t)}}},getFileExt:function(e){var t=e.split(".").pop();return t.indexOf("?")!==-1&&(t=t.split("?")[0]),t},hasClass:function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},supportsSvg:function(){return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1")}}}(); +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm51Ym9vdF9yYWRpeC5zY3JpcHQuanMiLCJyZXNwb25kLm1pbi5qcyIsInNpdGV3aWRlLmpzIiwic3ZnZWV6eS5taW4uanMiXSwibmFtZXMiOlsiJCIsImpRdWVyeSIsImEiLCJtYXRjaE1lZGlhIiwiYiIsImMiLCJkb2N1bWVudEVsZW1lbnQiLCJkIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJmaXJzdENoaWxkIiwiZSIsImNyZWF0ZUVsZW1lbnQiLCJmIiwiaWQiLCJzdHlsZSIsImNzc1RleHQiLCJiYWNrZ3JvdW5kIiwiYXBwZW5kQ2hpbGQiLCJpbm5lckhUTUwiLCJpbnNlcnRCZWZvcmUiLCJvZmZzZXRXaWR0aCIsInJlbW92ZUNoaWxkIiwibWF0Y2hlcyIsIm1lZGlhIiwiZG9jdW1lbnQiLCJ0aGlzIiwidiIsInJlc3BvbmQiLCJ1cGRhdGUiLCJYTUxIdHRwUmVxdWVzdCIsIkFjdGl2ZVhPYmplY3QiLCJvcGVuIiwib25yZWFkeXN0YXRlY2hhbmdlIiwicmVhZHlTdGF0ZSIsInN0YXR1cyIsInJlc3BvbnNlVGV4dCIsInNlbmQiLCJnIiwicmVwbGFjZSIsInJlZ2V4IiwibWlubWF4d2giLCJtYXRjaCIsIm90aGVyIiwiYWpheCIsInF1ZXVlIiwidW5zdXBwb3J0ZWRtcSIsImtleWZyYW1lcyIsImNvbW1lbnRzIiwidXJscyIsImZpbmRTdHlsZXMiLCJvbmx5IiwibWludyIsIm1heHciLCJtZWRpYVF1ZXJpZXNTdXBwb3J0ZWQiLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicyIsInQiLCJ1IiwiYm9keSIsImZvbnRTaXplIiwicGFyc2VGbG9hdCIsImNvbXBhdE1vZGUiLCJsZW5ndGgiLCJEYXRlIiwiZ2V0VGltZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJoYXNPd25Qcm9wZXJ0eSIsInciLCJ4IiwieSIsInoiLCJBIiwiQiIsImluZGV4T2YiLCJoYXNxdWVyeSIsInB1c2giLCJydWxlcyIsIkMiLCJwYXJlbnROb2RlIiwiRCIsIkUiLCJGIiwiam9pbiIsInR5cGUiLCJuZXh0U2libGluZyIsInN0eWxlU2hlZXQiLCJjcmVhdGVUZXh0Tm9kZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiUmVnRXhwIiwiJDEiLCIkMiIsInNwbGl0Iiwic2hpZnQiLCJocmVmIiwicmVsIiwidG9Mb3dlckNhc2UiLCJyYXdDc3NUZXh0IiwidGVzdCIsImxvY2F0aW9uIiwiaG9zdCIsInByb3RvY29sIiwiZ2V0RW1WYWx1ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJhdHRhY2hFdmVudCIsImZuIiwiZGthbkZvcm1zSGlkZSIsImVhY2giLCJhZGRDbGFzcyIsImRlc2MiLCJmaW5kIiwiaW5wdXQiLCJjbGljayIsImZvY3VzIiwiaHRtbCIsImJsdXIiLCJ2YWwiLCJmYWRlSW4iLCJrZXl1cCIsImhpZGUiLCJjc3MiLCJka2FuRm9ybXNBdXRvRGVsdXhlSGlkZSIsIkRydXBhbCIsImJlaGF2aW9ycyIsImRrYW5TaXRlIiwiYXR0YWNoIiwiY29udGV4dCIsInNldHRpbmdzIiwiZWxlbWVudHMiLCJhdXRvRGVsdXhlRWxlbWVudHMiLCJhcHBlbmQiLCJwcmV2ZW50RGVmYXVsdCIsInRvZ2dsZSIsImRrYW41MDhTaXRlIiwiYXR0ciIsIndpbmRvdyIsInN2Z2VlenkiLCJpbml0IiwiYXZvaWQiLCJmaWxldHlwZSIsInN2Z1N1cHBvcnQiLCJzdXBwb3J0c1N2ZyIsImltYWdlcyIsImltZ0wiLCJmYWxsYmFja3MiLCJoYXNDbGFzcyIsImdldEF0dHJpYnV0ZSIsImdldEZpbGVFeHQiLCJzZXRBdHRyaWJ1dGUiLCJwb3AiLCJjbGFzc05hbWUiLCJpbXBsZW1lbnRhdGlvbiIsImhhc0ZlYXR1cmUiXSwibWFwcGluZ3MiOiJDQUlBLFNBQUFBLEtBRUFDLFNDREEsU0FBQUMsR0FBQSxZQUFBQSxHQUFBQyxXQUFBRCxFQUFBQyxZQUFBLFNBQUFELEdBQUEsR0FBQUUsR0FBQUMsRUFBQUgsRUFBQUks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S0FBQTZILE1BQUEsQ0FBQSxHQUFBbkYsR0FBQTFDLEtBQUFpSSxPQUFBakksS0FBQWtJLE1BQUFHLGFBQUEsTUFBQSxJQUFBLE9BQUEzRixFQUFBLFFBQUEsSUFBQSxPQUFBMUMsS0FBQXNJLFdBQUE1RixHQUFBLENBQUEsR0FBQVosR0FBQVksRUFBQTdCLFFBQUEsT0FBQSxJQUFBYixLQUFBOEgsU0FBQTlILE1BQUFpSSxPQUFBakksS0FBQWtJLE1BQUFLLGFBQUEsTUFBQXpHLE1BQUF3RyxXQUFBLFNBQUE1RixHQUFBLEdBQUFaLEdBQUFZLEVBQUFxQyxNQUFBLEtBQUF5RCxLQUFBLE9BQUExRyxHQUFBOEIsUUFBQSxZQUFBOUIsRUFBQUEsRUFBQWlELE1BQUEsS0FBQSxJQUFBakQsR0FBQXNHLFNBQUEsU0FBQTFGLEVBQUFaLEdBQUEsT0FBQSxJQUFBWSxFQUFBK0YsVUFBQSxLQUFBN0UsUUFBQSxJQUFBOUIsRUFBQSxTQUFBa0csWUFBQSxXQUFBLE1BQUFqSSxVQUFBMkksZUFBQUMsV0FBQSwyQ0FBQSIsImZpbGUiOiJudWJvb3RfcmFkaXguc2NyaXB0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICogQ3VzdG9tIHNjcmlwdHMgZm9yIHRoZW1lLlxuICovXG4oZnVuY3Rpb24gKCQpIHtcbiAgLy8gY29kZSBoZXJlXG59KShqUXVlcnkpO1xuIiwiLyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsXG4gKiBDb3B5cmlnaHQgMjAxNCBTY290dCBKZWhsXG4gKiBMaWNlbnNlZCB1bmRlciBNSVRcbiAqIGh0dHA6Ly9qLm1wL3Jlc3BvbmRqcyAqL1xuXG4hZnVuY3Rpb24oYSl7XCJ1c2Ugc3RyaWN0XCI7YS5tYXRjaE1lZGlhPWEubWF0Y2hNZWRpYXx8ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLmRvY3VtZW50RWxlbWVudCxkPWMuZmlyc3RFbGVtZW50Q2hpbGR8fGMuZmlyc3RDaGlsZCxlPWEuY3JlYXRlRWxlbWVudChcImJvZHlcIiksZj1hLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIGYuaWQ9XCJtcS10ZXN0LTFcIixmLnN0eWxlLmNzc1RleHQ9XCJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMGVtXCIsZS5zdHlsZS5iYWNrZ3JvdW5kPVwibm9uZVwiLGUuYXBwZW5kQ2hpbGQoZiksZnVuY3Rpb24oYSl7cmV0dXJuIGYuaW5uZXJIVE1MPScmc2h5OzxzdHlsZSBtZWRpYT1cIicrYSsnXCI+ICNtcS10ZXN0LTEgeyB3aWR0aDogNDJweDsgfTwvc3R5bGU+JyxjLmluc2VydEJlZm9yZShlLGQpLGI9NDI9PT1mLm9mZnNldFdpZHRoLGMucmVtb3ZlQ2hpbGQoZSkse21hdGNoZXM6YixtZWRpYTphfX19KGEuZG9jdW1lbnQpfSh0aGlzKSxmdW5jdGlvbihhKXtcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBiKCl7dighMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoXCJNaWNyb3NvZnQuWE1MSFRUUFwiKX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19KCksZj1mdW5jdGlvbihhLGIpe3ZhciBjPWUoKTtjJiYoYy5vcGVuKFwiR0VUXCIsYSwhMCksYy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0IT09Yy5yZWFkeVN0YXRlfHwyMDAhPT1jLnN0YXR1cyYmMzA0IT09Yy5zdGF0dXN8fGIoYy5yZXNwb25zZVRleHQpfSw0IT09Yy5yZWFkeVN0YXRlJiZjLnNlbmQobnVsbCkpfSxnPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoYy5yZWdleC5taW5tYXh3aCxcIlwiKS5tYXRjaChjLnJlZ2V4Lm90aGVyKX07aWYoYy5hamF4PWYsYy5xdWV1ZT1kLGMudW5zdXBwb3J0ZWRtcT1nLGMucmVnZXg9e21lZGlhOi9AbWVkaWFbXlxce10rXFx7KFteXFx7XFx9XSpcXHtbXlxcfVxce10qXFx9KSsvZ2ksa2V5ZnJhbWVzOi9AKD86XFwtKD86b3xtb3p8d2Via2l0KVxcLSk/a2V5ZnJhbWVzW15cXHtdK1xceyg/OlteXFx7XFx9XSpcXHtbXlxcfVxce10qXFx9KStbXlxcfV0qXFx9L2dpLGNvbW1lbnRzOi9cXC9cXCpbXipdKlxcKisoW14vXVteKl0qXFwqKykqXFwvL2dpLHVybHM6Lyh1cmxcXCgpWydcIl0/KFteXFwvXFwpJ1wiXVteOlxcKSdcIl0rKVsnXCJdPyhcXCkpL2csZmluZFN0eWxlczovQG1lZGlhICooW15cXHtdKylcXHsoW1xcU1xcc10rPykkLyxvbmx5Oi8ob25seVxccyspPyhbYS16QS1aXSspXFxzPy8sbWludzovXFwoXFxzKm1pblxcLXdpZHRoXFxzKjpcXHMqKFxccypbMC05XFwuXSspKHB4fGVtKVxccypcXCkvLG1heHc6L1xcKFxccyptYXhcXC13aWR0aFxccyo6XFxzKihcXHMqWzAtOVxcLl0rKShweHxlbSlcXHMqXFwpLyxtaW5tYXh3aDovXFwoXFxzKm0oaW58YXgpXFwtKGhlaWdodHx3aWR0aClcXHMqOlxccyooXFxzKlswLTlcXC5dKykocHh8ZW0pXFxzKlxcKS9naSxvdGhlcjovXFwoW15cXCldKlxcKS9nfSxjLm1lZGlhUXVlcmllc1N1cHBvcnRlZD1hLm1hdGNoTWVkaWEmJm51bGwhPT1hLm1hdGNoTWVkaWEoXCJvbmx5IGFsbFwiKSYmYS5tYXRjaE1lZGlhKFwib25seSBhbGxcIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBoLGksaixrPWEuZG9jdW1lbnQsbD1rLmRvY3VtZW50RWxlbWVudCxtPVtdLG49W10sbz1bXSxwPXt9LHE9MzAscj1rLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXXx8bCxzPWsuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJiYXNlXCIpWzBdLHQ9ci5nZXRFbGVtZW50c0J5VGFnTmFtZShcImxpbmtcIiksdT1mdW5jdGlvbigpe3ZhciBhLGI9ay5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLGM9ay5ib2R5LGQ9bC5zdHlsZS5mb250U2l6ZSxlPWMmJmMuc3R5bGUuZm9udFNpemUsZj0hMTtyZXR1cm4gYi5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW1cIixjfHwoYz1mPWsuY3JlYXRlRWxlbWVudChcImJvZHlcIiksYy5zdHlsZS5iYWNrZ3JvdW5kPVwibm9uZVwiKSxsLnN0eWxlLmZvbnRTaXplPVwiMTAwJVwiLGMuc3R5bGUuZm9udFNpemU9XCIxMDAlXCIsYy5hcHBlbmRDaGlsZChiKSxmJiZsLmluc2VydEJlZm9yZShjLGwuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/bC5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGwuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWo9cGFyc2VGbG9hdChhKX0sdj1mdW5jdGlvbihiKXt2YXIgYz1cImNsaWVudFdpZHRoXCIsZD1sW2NdLGU9XCJDU1MxQ29tcGF0XCI9PT1rLmNvbXBhdE1vZGUmJmR8fGsuYm9keVtjXXx8ZCxmPXt9LGc9dFt0Lmxlbmd0aC0xXSxwPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2lmKGImJmgmJnE+cC1oKXJldHVybiBhLmNsZWFyVGltZW91dChpKSxpPWEuc2V0VGltZW91dCh2LHEpLHZvaWQgMDtoPXA7Zm9yKHZhciBzIGluIG0paWYobS5oYXNPd25Qcm9wZXJ0eShzKSl7dmFyIHc9bVtzXSx4PXcubWludyx5PXcubWF4dyx6PW51bGw9PT14LEE9bnVsbD09PXksQj1cImVtXCI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2p8fHUoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2p8fHUoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChuW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG8pby5oYXNPd25Qcm9wZXJ0eShDKSYmb1tDXSYmb1tDXS5wYXJlbnROb2RlPT09ciYmci5yZW1vdmVDaGlsZChvW0NdKTtvLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWsuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpLEY9ZltEXS5qb2luKFwiXFxuXCIpO0UudHlwZT1cInRleHQvY3NzXCIsRS5tZWRpYT1ELHIuaW5zZXJ0QmVmb3JlKEUsZy5uZXh0U2libGluZyksRS5zdHlsZVNoZWV0P0Uuc3R5bGVTaGVldC5jc3NUZXh0PUY6RS5hcHBlbmRDaGlsZChrLmNyZWF0ZVRleHROb2RlKEYpKSxvLnB1c2goRSl9fSx3PWZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLnJlcGxhY2UoYy5yZWdleC5jb21tZW50cyxcIlwiKS5yZXBsYWNlKGMucmVnZXgua2V5ZnJhbWVzLFwiXCIpLm1hdGNoKGMucmVnZXgubWVkaWEpLGY9ZSYmZS5sZW5ndGh8fDA7Yj1iLnN1YnN0cmluZygwLGIubGFzdEluZGV4T2YoXCIvXCIpKTt2YXIgaD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscyxcIiQxXCIrYitcIiQyJDNcIil9LGk9IWYmJmQ7Yi5sZW5ndGgmJihiKz1cIi9cIiksaSYmKGY9MSk7Zm9yKHZhciBqPTA7Zj5qO2orKyl7dmFyIGssbCxvLHA7aT8oaz1kLG4ucHVzaChoKGEpKSk6KGs9ZVtqXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbi5wdXNoKFJlZ0V4cC4kMiYmaChSZWdFeHAuJDIpKSksbz1rLnNwbGl0KFwiLFwiKSxwPW8ubGVuZ3RoO2Zvcih2YXIgcT0wO3A+cTtxKyspbD1vW3FdLGcobCl8fG0ucHVzaCh7bWVkaWE6bC5zcGxpdChcIihcIilbMF0ubWF0Y2goYy5yZWdleC5vbmx5KSYmUmVnRXhwLiQyfHxcImFsbFwiLHJ1bGVzOm4ubGVuZ3RoLTEsaGFzcXVlcnk6bC5pbmRleE9mKFwiKFwiKT4tMSxtaW53OmwubWF0Y2goYy5yZWdleC5taW53KSYmcGFyc2VGbG9hdChSZWdFeHAuJDEpKyhSZWdFeHAuJDJ8fFwiXCIpLG1heHc6bC5tYXRjaChjLnJlZ2V4Lm1heHcpJiZwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrKFJlZ0V4cC4kMnx8XCJcIil9KX12KCl9LHg9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3coYyxiLmhyZWYsYi5tZWRpYSkscFtiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3goKX0sMCl9KX19LHk9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHQubGVuZ3RoO2IrKyl7dmFyIGM9dFtiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmXCJzdHlsZXNoZWV0XCI9PT1jLnJlbC50b0xvd2VyQ2FzZSgpO2UmJmcmJiFwW2VdJiYoYy5zdHlsZVNoZWV0JiZjLnN0eWxlU2hlZXQucmF3Q3NzVGV4dD8odyhjLnN0eWxlU2hlZXQucmF3Q3NzVGV4dCxlLGYpLHBbZV09ITApOighL14oW2EtekEtWjpdKlxcL1xcLykvLnRlc3QoZSkmJiFzfHxlLnJlcGxhY2UoUmVnRXhwLiQxLFwiXCIpLnNwbGl0KFwiL1wiKVswXT09PWEubG9jYXRpb24uaG9zdCkmJihcIi8vXCI9PT1lLnN1YnN0cmluZygwLDIpJiYoZT1hLmxvY2F0aW9uLnByb3RvY29sK2UpLGQucHVzaCh7aHJlZjplLG1lZGlhOmZ9KSkpfXgoKX07eSgpLGMudXBkYXRlPXksYy5nZXRFbVZhbHVlPXUsYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoXCJvbnJlc2l6ZVwiLGIpfX0odGhpcyk7XG4iLCIvKipcbiAqIEBmaWxlXG4gKiBKUyBmb3IgREtBTiBzaXRlLlxuICovXG4oZnVuY3Rpb24gKCQpIHtcblxuICAvKipcbiAgICogU2hvd3MgYW5kIGhpZGVzIGEgZGVzY3JpcHRpb24gZm9yIERydXBhbCBmb3JtIGVsZW1lbnRzLlxuICAgKi9cbiAgJC5mbi5ka2FuRm9ybXNIaWRlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAkKHRoaXMpLmFkZENsYXNzKCdjb21wYWN0LWZvcm0td3JhcHBlcicpO1xuICAgICAgdmFyIGRlc2MgPSAkKHRoaXMpLmZpbmQoJy5kZXNjcmlwdGlvbicpLmFkZENsYXNzKCdjb21wYWN0LWZvcm0tZGVzY3JpcHRpb24nKTtcbiAgICAgIHZhciBpbnB1dCA9ICQodGhpcykuZmluZCgnaW5wdXQnKTtcbiAgICAgIGRlc2MuY2xpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgfSk7XG4gICAgICBpZiAoJChpbnB1dCkuaHRtbCgpID09ICcnKSB7XG4gICAgICAgIHZhciBpbnB1dCA9ICQodGhpcykuZmluZCgndGV4dGFyZWEnKTtcbiAgICAgIH1cbiAgICAgIGlmICgkKGlucHV0KS5odG1sKCkgPT0gbnVsbCkge1xuICAgICAgICB2YXIgaW5wdXQgPSAkKHRoaXMpLmZpbmQoJ2lucHV0Jyk7XG4gICAgICB9XG4gICAgICBpbnB1dC5hZGRDbGFzcygnY29tcGFjdC1mb3JtLWlucHV0JylcbiAgICAgIGlucHV0LmJsdXIoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoaW5wdXQudmFsKCkgPT09ICcnKSB7XG4gICAgICAgICAgZGVzYy5mYWRlSW4oJ2Zhc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbnB1dC5rZXl1cChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChpbnB1dC52YWwoKSAhPSAnJykge1xuICAgICAgICAgIGRlc2MuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmIChpbnB1dC52YWwoKSAhPSAnJykge1xuICAgICAgICBkZXNjLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgYW5kIGhpZGVzIGEgZGVzY3JpcHRpb24gZm9yIEF1dG9jb21wbGV0ZSBEZWx1eGUgZm9ybSBlbGVtZW50cy5cbiAgICovXG4gICQuZm4uZGthbkZvcm1zQXV0b0RlbHV4ZUhpZGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2NvbXBhY3QtZm9ybS13cmFwcGVyJyk7XG4gICAgICB2YXIgZGVzYyA9ICQodGhpcykuZmluZCgnLmRlc2NyaXB0aW9uJykuYWRkQ2xhc3MoJ2NvbXBhY3QtZm9ybS1kZXNjcmlwdGlvbicpO1xuICAgICAgdmFyIGlucHV0ID0gJCh0aGlzKS5maW5kKCcjYXV0b2NvbXBsZXRlLWRlbHV4ZS1pbnB1dCcpO1xuICAgICAgZGVzYy5jbGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICAgIGlucHV0LmZvY3VzKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZGVzYy5oaWRlKCk7XG4gICAgICB9KTtcbiAgICAgIGlmICgkKCcjYXV0b2NvbXBsZXRlLWRlbHV4ZS1pdGVtJykuaHRtbCgpICE9IG51bGwpIHtcbiAgICAgICAgZGVzYy5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgfVxuICAgICAgaWYgKCQodGhpcykuZmluZCgnaW5wdXQnKS52YWwoKSAhPSAnJykge1xuICAgICAgICBkZXNjLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBEcnVwYWwuYmVoYXZpb3JzLmRrYW5TaXRlID0ge1xuICAgIGF0dGFjaDogZnVuY3Rpb24gKGNvbnRleHQsIHNldHRpbmdzKSB7XG4gICAgICAvLyBBdXRvaGlkZSBzZWxlY3RlZCBlbGVtZW50cy5cbiAgICAgIHZhciBlbGVtZW50cyA9IFwiI3ZpZXdzLWV4cG9zZWQtZm9ybS1kYXRhc2V0LXBhZ2UsI2Jsb2NrLWRrYW4tc2l0ZXdpZGUtZGthbi1zaXRld2lkZS1zZWFyY2gtYmFyLCN2aWV3cy1leHBvc2VkLWZvcm0tZ3JvdXBzLXNlYXJjaC1lbnRpdHktdmlldy0xLCN2aWV3cy1leHBvc2VkLWZvcm0tdXNlci1wcm9maWxlLXNlYXJjaC1lbnRpdHktdmlldy0xXCI7XG4gICAgICAkKGVsZW1lbnRzLCBjb250ZXh0KS5ka2FuRm9ybXNIaWRlKCk7XG4gICAgICB2YXIgYXV0b0RlbHV4ZUVsZW1lbnRzID0gXCIuZmllbGQtbmFtZS1maWVsZC10YWdzXCI7XG4gICAgICAkKGF1dG9EZWx1eGVFbGVtZW50cywgY29udGV4dCkuZGthbkZvcm1zQXV0b0RlbHV4ZUhpZGUoKTtcblxuICAgICAgLy8gVG9nZ2xlIGJ1dHRvbiBmb3IgdGV4dC1mb3JtYXQuXG4gICAgICAkKCcuZmlsdGVyLWhlbHAuZm9ybS1ncm91cCBwJykuYXBwZW5kKCcgfCAnICsgJzxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0ZXh0LWhlbHAtdG9nZ2xlXCI+JyArIERydXBhbC50KCdUb2dnbGUgdGV4dCBmb3JtYXQnKSArICc8L2E+Jyk7XG4gICAgICAvLyQoJy5mb3JtLXR5cGUtc2VsZWN0JykuaGlkZSgpO1xuICAgICAgJCgnLmZpbHRlci1ndWlkZWxpbmVzLXByb2Nlc3NlZCcpLmhpZGUoKTtcbiAgICAgICQoJy50ZXh0LWhlbHAtdG9nZ2xlJykuY2xpY2soZnVuY3Rpb24oZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICQoJy5mb3JtLXR5cGUtc2VsZWN0JykudG9nZ2xlKCk7XG4gICAgICAgICQoJy5maWx0ZXItZ3VpZGVsaW5lcy1wcm9jZXNzZWQnKS50b2dnbGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIERydXBhbC5iZWhhdmlvcnMuZGthbjUwOFNpdGUgPSB7XG4gICAgYXR0YWNoOiBmdW5jdGlvbiAoY29udGV4dCwgc2V0dGluZ3MpIHtcbiAgICAgICQoJyNlZGl0LW9wZXJhdGlvbicpLmF0dHIoJ2FyaWEtbGFiZWwnLCAnT3BlcmF0aW9uJyk7XG4gICAgICAkKCdpbnB1dC5iZWYtZGF0ZXBpY2tlcicpLmF0dHIoJ2FyaWEtbGFiZWwnLCAnRGF0ZSBwb3B1cCcpO1xuICAgICAgJCgnYS50YWJsZWRyYWctaGFuZGxlJykuaHRtbCgnPGRpdiBjbGFzcz1cImhhbmRsZVwiPiZuYnNwOzwvZGl2PjxzcGFuIGNsYXNzPVwiZWxlbWVudC1oaWRkZW5cIj5EcmFnIGFuZCBkcm9wXCI8L3NwYW4+Jyk7XG4gICAgfVxuICB9XG5cbn0pKGpRdWVyeSk7XG4iLCIvKlxuICogU1ZHZWV6eS5qcyAxLjBcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMiwgQmVuIEhvd2RsZSBodHRwOi8vdHdvc3RlcG1lZGlhLmNvLnVrXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgV1RGUEwgbGljZW5zZVxuICogaHR0cDovL3NhbS56b3kub3JnL3d0ZnBsL1xuICpcbiAqIERhdGU6IFN1biBBdWcgMjYgMjA6MzggMjAxMiBHTVRcbiAqL1xuLypcblx0Ly9jYWxsIGxpa2Ugc28sIHBhc3MgaW4gYSBjbGFzcyBuYW1lIHRoYXQgeW91IGRvbid0IHdhbnQgaXQgdG8gY2hlY2sgYW5kIGEgZmlsZXR5cGUgdG8gcmVwbGFjZSAuc3ZnIHdpdGhcblx0c3ZnZWV6eS5pbml0KCdub2NoZWNrJywgJ3BuZycpO1xuKi9cbndpbmRvdy5zdmdlZXp5PWZ1bmN0aW9uKCl7cmV0dXJue2luaXQ6ZnVuY3Rpb24odCxpKXt0aGlzLmF2b2lkPXR8fGZhbHNlO3RoaXMuZmlsZXR5cGU9aXx8XCJwbmdcIjt0aGlzLnN2Z1N1cHBvcnQ9dGhpcy5zdXBwb3J0c1N2ZygpO2lmKCF0aGlzLnN2Z1N1cHBvcnQpe3RoaXMuaW1hZ2VzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaW1nXCIpO3RoaXMuaW1nTD10aGlzLmltYWdlcy5sZW5ndGg7dGhpcy5mYWxsYmFja3MoKX19LGZhbGxiYWNrczpmdW5jdGlvbigpe3doaWxlKHRoaXMuaW1nTC0tKXtpZighdGhpcy5oYXNDbGFzcyh0aGlzLmltYWdlc1t0aGlzLmltZ0xdLHRoaXMuYXZvaWQpfHwhdGhpcy5hdm9pZCl7dmFyIHQ9dGhpcy5pbWFnZXNbdGhpcy5pbWdMXS5nZXRBdHRyaWJ1dGUoXCJzcmNcIik7aWYodD09PW51bGwpe2NvbnRpbnVlfWlmKHRoaXMuZ2V0RmlsZUV4dCh0KT09XCJzdmdcIil7dmFyIGk9dC5yZXBsYWNlKFwiLnN2Z1wiLFwiLlwiK3RoaXMuZmlsZXR5cGUpO3RoaXMuaW1hZ2VzW3RoaXMuaW1nTF0uc2V0QXR0cmlidXRlKFwic3JjXCIsaSl9fX19LGdldEZpbGVFeHQ6ZnVuY3Rpb24odCl7dmFyIGk9dC5zcGxpdChcIi5cIikucG9wKCk7aWYoaS5pbmRleE9mKFwiP1wiKSE9PS0xKXtpPWkuc3BsaXQoXCI/XCIpWzBdfXJldHVybiBpfSxoYXNDbGFzczpmdW5jdGlvbih0LGkpe3JldHVybihcIiBcIit0LmNsYXNzTmFtZStcIiBcIikuaW5kZXhPZihcIiBcIitpK1wiIFwiKT4tMX0sc3VwcG9ydHNTdmc6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZShcImh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjSW1hZ2VcIixcIjEuMVwiKX19fSgpOyJdfQ== diff --git a/dkan/themes/nuboot_radix/includes/menu.inc b/dkan/themes/nuboot_radix/includes/menu.inc index 03f78f040..bca3a5d1c 100644 --- a/dkan/themes/nuboot_radix/includes/menu.inc +++ b/dkan/themes/nuboot_radix/includes/menu.inc @@ -86,6 +86,7 @@ function nuboot_radix_menu_local_task($variables) { break; case 'node/%/revisions': + case 'node/%/moderation': $icon_type = 'folder-open-o'; break; diff --git a/dkan/themes/nuboot_radix/includes/panel.inc b/dkan/themes/nuboot_radix/includes/panel.inc index 5b548e70c..ae762358c 100644 --- a/dkan/themes/nuboot_radix/includes/panel.inc +++ b/dkan/themes/nuboot_radix/includes/panel.inc @@ -42,7 +42,7 @@ function nuboot_radix_preprocess(&$variables, $hook) { $front_url = drupal_get_normal_path(variable_get('site_frontpage', 'node')); $front_nid = NULL; $front = explode('/', $front_url); - if( $front[0]=='node' && ctype_digit($front[1]) ) { + if ($front[0] == 'node' && ctype_digit($front[1])) { $front_nid = $front[1]; } @@ -51,18 +51,18 @@ function nuboot_radix_preprocess(&$variables, $hook) { if ($uri = nuboot_radix_hero_file_uri()) : $variables['tint'] = 'tint'; $variables['bg_color'] = 'transparent'; - $variables['path'] = file_create_url($uri); + $variables['path'] = 'url(' . file_create_url($uri) . ')'; else : $background_option = theme_get_setting('background_option'); if (empty($background_option)) : $variables['tint'] = 'no-tint'; $variables['bg_color'] = '#005e9a'; - $variables['path'] = ''; + $variables['path'] = 'none'; else : $uri = ''; $variables['tint'] = 'no-tint'; $variables['bg_color'] = '#' . ltrim($background_option, '#'); - $variables['path'] = ''; + $variables['path'] = 'none'; endif; endif; } diff --git a/dkan/themes/nuboot_radix/includes/structure.inc b/dkan/themes/nuboot_radix/includes/structure.inc index ef47dd74b..547401b80 100644 --- a/dkan/themes/nuboot_radix/includes/structure.inc +++ b/dkan/themes/nuboot_radix/includes/structure.inc @@ -43,7 +43,7 @@ function nuboot_radix_preprocess_page(&$variables) { } // Add copyright to theme. if ($copyright = theme_get_setting('copyright')) { - $variables['copyright'] = isset($copyright['value']) ? check_markup($copyright['value'], 'html') : t('Powered by <a href="http://getdkan.com/">DKAN</a>, a project of <a href="http://granicus.com">Granicus</a>'); + $variables['copyright'] = isset($copyright['value']) ? check_markup($copyright['value'], 'html') : t('Powered by <a href="http://getdkan.com/">DKAN</a>'); } // Use front page template for node front page. $alias = drupal_get_path_alias($_GET['q']); diff --git a/dkan/themes/nuboot_radix/nuboot_radix.info b/dkan/themes/nuboot_radix/nuboot_radix.info index 00feee30e..9eb32b709 100644 --- a/dkan/themes/nuboot_radix/nuboot_radix.info +++ b/dkan/themes/nuboot_radix/nuboot_radix.info @@ -55,3 +55,7 @@ settings[toggle_favicon] = 1 settings[toggle_main_menu] = 1 settings[toggle_secondary_menu] = 1 settings[copyright][format] = 'html' + +; Information added by DKAN release script on 11/2/2017 +version = 7.x-1.14-RC3 +project = dkan diff --git a/dkan/themes/nuboot_radix/panels/layouts/dkan_front/panels-dkan-front.tpl.php b/dkan/themes/nuboot_radix/panels/layouts/dkan_front/panels-dkan-front.tpl.php index cf72222db..914a48122 100755 --- a/dkan/themes/nuboot_radix/panels/layouts/dkan_front/panels-dkan-front.tpl.php +++ b/dkan/themes/nuboot_radix/panels/layouts/dkan_front/panels-dkan-front.tpl.php @@ -5,10 +5,13 @@ * Template for dkan front page. */ ?> -<div class="panel-display panel-dkan-front clearfix" <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> +<div class="panel-display panel-dkan-front clearfix" + <?php if (!empty($css_id)) { + print "id=\"$css_id\""; + } ?>> <?php if($content['hero-first'] || $content['hero-second']): ?> - <div class="panel-hero panel-row" <?php print 'style="background-image:url(' . $path . ');background-color:' . $bg_color . '"'; ?>> + <div class="panel-hero panel-row" <?php print 'style="background-image:' . $path . ';background-color:' . $bg_color . '"'; ?>> <div class="<?php print $tint; ?>"></div> <div class="container"> <div class="panel-col-first"> diff --git a/dkan/themes/nuboot_radix/scss/components/_form.scss b/dkan/themes/nuboot_radix/scss/components/_form.scss index 9c4994eac..eceb92ad6 100644 --- a/dkan/themes/nuboot_radix/scss/components/_form.scss +++ b/dkan/themes/nuboot_radix/scss/components/_form.scss @@ -263,6 +263,11 @@ div.horizontal-tabs { } } +// This was added to fix the Groups field that sometimes looks broken with width 0px. +.node-resource-form #edit_og_group_ref_und_chosen { + width: 100% !important; +} + // file_resup tweaks to display on top of recline .node-resource-form .field-name-field-upload { .form-type-managed-file { diff --git a/dkan/themes/nuboot_radix/scss/components/_harvest.scss b/dkan/themes/nuboot_radix/scss/components/_harvest.scss index 4e91e31f3..b77ab1b80 100644 --- a/dkan/themes/nuboot_radix/scss/components/_harvest.scss +++ b/dkan/themes/nuboot_radix/scss/components/_harvest.scss @@ -6,7 +6,9 @@ } } } - +.view-dkan-harvest-dashboard .view-header { + margin-bottom: 10px; +} .pane-dkan-harvest-harvest-source-summary { .summary-details { border-color: $border; diff --git a/dkan/themes/nuboot_radix/scss/components/_node.scss b/dkan/themes/nuboot_radix/scss/components/_node.scss index b75d3b421..908a96074 100644 --- a/dkan/themes/nuboot_radix/scss/components/_node.scss +++ b/dkan/themes/nuboot_radix/scss/components/_node.scss @@ -103,12 +103,13 @@ } } } + .page-node-add-resource { .field-group-htabs.group-data div.horizontal-tabs { border: 0; - } - .form-item { - margin: 0; + .form-item { + margin: 0; + } } } diff --git a/dkan/themes/nuboot_radix/scss/print.scss b/dkan/themes/nuboot_radix/scss/print.scss index 80fb76d04..7da72c92e 100644 --- a/dkan/themes/nuboot_radix/scss/print.scss +++ b/dkan/themes/nuboot_radix/scss/print.scss @@ -1,5 +1,17 @@ // @file // Print Styles // -------------------------------------------------- - + +@media print { + #block-dkan-sitewide-dkan-sitewide-search-bar { + display: none; + } + + img, tr, svg, .card-chart { + -webkit-column-break-inside: avoid; + page-break-inside: avoid; + break-inside: avoid; + } +} + diff --git a/dkan/themes/nuboot_radix/theme-settings.php b/dkan/themes/nuboot_radix/theme-settings.php index bc78b30bd..cb423793f 100644 --- a/dkan/themes/nuboot_radix/theme-settings.php +++ b/dkan/themes/nuboot_radix/theme-settings.php @@ -24,7 +24,7 @@ function nuboot_radix_form_system_theme_settings_alter(&$form, &$form_state) { '#title' => t('Footer text'), '#type' => 'text_format', '#format' => 'html', - '#default_value' => isset($copyright['value']) ? $copyright['value'] : t('Powered by <a href="http://getdkan.com/">DKAN</a>, a project of <a href="http://granicus.com">Granicus</a>'), + '#default_value' => isset($copyright['value']) ? $copyright['value'] : t('Powered by <a href="http://getdkan.org/">DKAN</a>'), ); $display_login_menu = (theme_get_setting('display_login_menu', 'nuboot_radix') === NULL) ? 1 : theme_get_setting('display_login_menu', 'nuboot_radix'); @@ -81,8 +81,9 @@ function nuboot_radix_form_system_theme_settings_alter(&$form, &$form_state) { ), ); - //Allow alter basic site information instead use admin/config/system/site-information - //We have a lot information into page site-information we don't want to show site managers + // Allow site managers to alter basic site information. + // Pull specific fields from admin/config/system/site-information. + // We do not want to expose the entire site-information form to site managers. $form['site_information'] = array( '#type' => 'fieldset', '#title' => t('Site details'), @@ -91,7 +92,7 @@ function nuboot_radix_form_system_theme_settings_alter(&$form, &$form_state) { '#type' => 'textfield', '#title' => t('Site name'), '#default_value' => variable_get('site_name', 'Drupal'), - '#required' => TRUE + '#required' => TRUE, ); $form['site_information']['site_slogan'] = array( '#type' => 'textfield', diff --git a/docroot/PATCHES.txt b/docroot/PATCHES.txt index 6d974c878..dd0db99e1 100644 --- a/docroot/PATCHES.txt +++ b/docroot/PATCHES.txt @@ -2,5 +2,6 @@ The following patches have been applied to this project: - http://drupal.org/files/issues/995156-5_portable_taxonomy_permissions.patch - https://www.drupal.org/files/issues/drupal-undefinedindex_fileupload-1903010-4.patch - https://www.drupal.org/files/issues/file.remote-file_save.628094.22.patch +- https://www.drupal.org/files/issues/drupal_bug_multiple_values_select_states.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). diff --git a/docroot/misc/states.js b/docroot/misc/states.js index 5aac65d20..72a972f66 100644 --- a/docroot/misc/states.js +++ b/docroot/misc/states.js @@ -542,6 +542,8 @@ function invert (a, invert) { // Compares two values while ignoring undefined values. function compare (a, b) { + a = (typeof a == 'object') ? a.toString() : a; + b = (typeof b == 'object') ? b.toString() : b; return (a === b) ? (typeof a === 'undefined' ? a : true) : (typeof a === 'undefined' || typeof b === 'undefined'); } diff --git a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.admin.inc b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.admin.inc index d32939a36..097ea1495 100644 --- a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.admin.inc +++ b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.admin.inc @@ -18,12 +18,19 @@ function googleanalytics_admin_settings_form($form_state) { '#title' => t('Web Property ID'), '#type' => 'textfield', '#default_value' => variable_get('googleanalytics_account', 'UA-'), - '#size' => 15, + '#size' => 20, '#maxlength' => 20, '#required' => TRUE, '#description' => t('This ID is unique to each site you want to track separately, and is in the form of UA-xxxxxxx-yy. To get a Web Property ID, <a href="@analytics">register your site with Google Analytics</a>, or if you already have registered your site, go to your Google Analytics Settings page to see the ID next to every site profile. <a href="@webpropertyid">Find more information in the documentation</a>.', array('@analytics' => 'http://www.google.com/analytics/', '@webpropertyid' => url('https://developers.google.com/analytics/resources/concepts/gaConceptsAccounts', array('fragment' => 'webProperty')))), ); + $form['account']['googleanalytics_premium'] = array( + '#type' => 'checkbox', + '#title' => t('Premium account'), + '#description' => t('If you are a Google Analytics Premium customer, you can use up to 200 instead of 20 custom dimensions and metrics.'), + '#default_value' => variable_get('googleanalytics_premium', FALSE), + ); + // Visibility settings. $form['tracking_title'] = array( '#type' => 'item', @@ -326,8 +333,10 @@ function googleanalytics_admin_settings_form($form_state) { $googleanalytics_custom_dimension = variable_get('googleanalytics_custom_dimension', array()); - // Google Analytics supports up to 20 custom dimensions. - for ($i = 1; $i <= 20; $i++) { + // Standard Google Analytics accounts support up to 20 custom dimensions, + // premium accounts support up to 200 custom dimensions. + $limit = (variable_get('googleanalytics_premium', FALSE)) ? 200 : 20; + for ($i = 1; $i <= $limit; $i++) { $form['googleanalytics_custom_dimension']['indexes'][$i]['index'] = array( '#default_value' => $i, '#description' => t('Index number'), @@ -377,8 +386,9 @@ function googleanalytics_admin_settings_form($form_state) { $googleanalytics_custom_metric = variable_get('googleanalytics_custom_metric', array()); - // Google Analytics supports up to 20 custom metrics. - for ($i = 1; $i <= 20; $i++) { + // Standard Google Analytics accounts support up to 20 custom metrics, + // premium accounts support up to 200 custom metrics. + for ($i = 1; $i <= $limit; $i++) { $form['googleanalytics_custom_metric']['indexes'][$i]['index'] = array( '#default_value' => $i, '#description' => t('Index number'), @@ -785,16 +795,18 @@ function _googleanalytics_validate_create_field_name($name) { // List of supported field names: // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#create $create_only_fields = array( - 'clientId', - 'userId', - 'sampleRate', - 'siteSpeedSampleRate', - 'alwaysSendReferrer', 'allowAnchor', + 'alwaysSendReferrer', + 'clientId', 'cookieName', 'cookieDomain', 'cookieExpires', 'legacyCookieDomain', + 'legacyHistoryImport', + 'sampleRate', + 'siteSpeedSampleRate', + 'storage', + 'userId', ); if ($name == 'name') { diff --git a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.info b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.info index 2b8146054..2db03c6de 100644 --- a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.info +++ b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.info @@ -5,9 +5,9 @@ package = Statistics configure = admin/config/system/googleanalytics files[] = googleanalytics.test test_dependencies[] = token -; Information added by Drupal.org packaging script on 2016-08-09 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2017-09-25 +version = "7.x-2.4" core = "7.x" project = "google_analytics" -datestamp = "1470779953" +datestamp = "1506373149" diff --git a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.install b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.install index a4f4e83ab..12f1c55e6 100644 --- a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.install +++ b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.install @@ -10,6 +10,7 @@ */ function googleanalytics_uninstall() { variable_del('googleanalytics_account'); + variable_del('googleanalytics_premium'); variable_del('googleanalytics_cache'); variable_del('googleanalytics_codesnippet_create'); variable_del('googleanalytics_codesnippet_before'); @@ -41,7 +42,7 @@ function googleanalytics_uninstall() { variable_del('googleanalytics_visibility_roles'); variable_del('googleanalytics_privacy_donottrack'); - // Remove backup variables if exist. Remove this code in D8. + // Remove backup variables if they exist. Remove this code in D8. variable_del('googleanalytics_codesnippet_after_backup_7200'); variable_del('googleanalytics_codesnippet_before_backup_7200'); } @@ -88,7 +89,8 @@ function googleanalytics_requirements($phase) { } /** - * Upgrade old extension variable to new and use old name as enabled/disabled flag. + * Upgrade old extension variable to new and use old name as enabled/disabled + * flag. */ function googleanalytics_update_6000() { variable_set('googleanalytics_trackfiles_extensions', variable_get('googleanalytics_trackfiles', '7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip')); @@ -101,7 +103,8 @@ function googleanalytics_update_6000() { function googleanalytics_update_6001() { variable_set('googleanalytics_visibility', 0); - // Remove tracking from all administrative pages, see http://drupal.org/node/34970. + // Remove tracking from all administrative pages, see: + // http://drupal.org/node/34970. $pages = array( 'admin*', 'user*', @@ -114,11 +117,12 @@ function googleanalytics_update_6001() { } /** - * Upgrade role settings and per user tracking settings - * of "User 1" and remove outdated tracking variables. + * Upgrade role settings and per user tracking settings of "User 1" and remove + * outdated tracking variables. */ function googleanalytics_update_6002() { - // Upgrade enabled/disabled roles to new logic (correct for upgrades from 5.x-1.4 and 6.x-1.0). + // Upgrade enabled/disabled roles to new logic (correct for upgrades from + // 5.x-1.4 and 6.x-1.0). $roles = array(); $messages = array(); foreach (user_roles() as $rid => $name) { @@ -137,7 +141,7 @@ function googleanalytics_update_6002() { if (!$track_user1 = variable_get('googleanalytics_track__user1', 1)) { variable_set('googleanalytics_custom', 1); - // Load user 1 object, set appropriate value and save new user settings back. + // Load user 1 object, set appropriate value and save new user settings. $account = user_load(1); $account = user_save($account, array('data' => array('googleanalytics' => array('custom' => 0))), 'account'); $messages[] = t('Disabled user specific page tracking for site administrator.'); @@ -152,11 +156,11 @@ function googleanalytics_update_6002() { } /** - * #262468: Clear menu cache to solve stale menu data in 5.x-1.5 and 6.x-1.1 + * #262468: Clear menu cache to solve stale menu data in 5.x-1.5 and 6.x-1.1. */ function googleanalytics_update_6003() { menu_rebuild(); - return t('Menu has been rebuild.'); + return t('Menu has been rebuilt.'); } /** @@ -231,8 +235,9 @@ function googleanalytics_update_6006() { /** * Remove "User identifier" and "User name" from segmentation fields. * - * This is a data protection and privacy law change. For more information see Google Analytics - * terms of use section 8.1 (http://www.google.com/analytics/en-GB/tos.html). + * This is a data protection and privacy law change. For more information see + * Google Analytics terms of use section 8.1: + * http://www.google.com/analytics/en-GB/tos.html */ function googleanalytics_update_6007() { $profile_fields = variable_get('googleanalytics_segmentation', array()); @@ -293,15 +298,15 @@ function googleanalytics_update_6300() { $messages[] = t('Upgraded custom "before" code snippet.'); } - // Upgrade of AFTER code snippet. - // We cannot update this code snippet automatically. Show message that the upgrade has been skipped. + // Upgrade of AFTER code snippet. We cannot update this code snippet + // automatically. Show message that the upgrade has been skipped. $code_after = variable_get('googleanalytics_codesnippet_after', ''); if (!empty($code_after)) { drupal_set_message(Database::getConnection()->prefixTables("Automatic upgrade of Google Analytics custom 'after' code snippet has been skipped. Backup of previous code snippet has been saved in database table '{variable}' as 'googleanalytics_codesnippet_after_backup_6300'. You need to manually upgrade the custom 'after' code snippet."), 'error'); $messages[] = t('Skipped custom "after" code snippet.'); } - return empty($messages) ? t('No custom code snipped found. Nothing to do.') : implode(' ', $messages); + return empty($messages) ? t('No custom code snippet found. Nothing to do.') : implode(' ', $messages); } /** @@ -356,18 +361,20 @@ function googleanalytics_update_7002() { $googleanalytics_custom_vars['slots'][1]['slot'] = 1; $googleanalytics_custom_vars['slots'][1]['name'] = 'User roles'; $googleanalytics_custom_vars['slots'][1]['value'] = '[current-user:role-names]'; - $googleanalytics_custom_vars['slots'][1]['scope'] = 1; // Sets the scope to visitor-level. + // Sets the scope to visitor-level. + $googleanalytics_custom_vars['slots'][1]['scope'] = 1; variable_set('googleanalytics_custom_var', $googleanalytics_custom_vars); - return t('The deprecated profile segmentation setting for "User roles" has been added to custom variables. You need to deselect all selected profile fields in <a href="@admin">Google Analytics settings</a> and upgrade other profile fields manually or you may loose tracking data in future! See Google Analytics <a href="@customvar">Custom Variables</a> for more information.', array('@customvar' => 'https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables', '@admin' => url('admin/config/system/googleanalytics'))); + return t('The deprecated profile segmentation setting for "User roles" has been added to custom variables. You need to deselect all selected profile fields in <a href="@admin">Google Analytics settings</a> and upgrade other profile fields manually or you may lose tracking data in future! See Google Analytics <a href="@customvar">Custom Variables</a> for more information.', array('@customvar' => 'https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables', '@admin' => url('admin/config/system/googleanalytics'))); } else { - return t('You need to deselect all selected profile fields in <a href="@admin">Google Analytics settings</a> and upgrade other profile fields manually or you may loose tracking data in future! See Google Analytics <a href="@customvar">Custom Variables</a> for more information.', array('@customvar' => 'https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables', '@admin' => url('admin/config/system/googleanalytics'))); + return t('You need to deselect all selected profile fields in <a href="@admin">Google Analytics settings</a> and upgrade other profile fields manually or you may lose tracking data in future! See Google Analytics <a href="@customvar">Custom Variables</a> for more information.', array('@customvar' => 'https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingCustomVariables', '@admin' => url('admin/config/system/googleanalytics'))); } } /** - * Rename googleanalytics_trackoutgoing variable to googleanalytics_trackoutbound. + * Rename googleanalytics_trackoutgoing variable to + * googleanalytics_trackoutbound. */ function googleanalytics_update_7003() { variable_set('googleanalytics_trackoutbound', variable_get('googleanalytics_trackoutgoing', 1)); @@ -377,7 +384,8 @@ function googleanalytics_update_7003() { } /** - * Rename googleanalytics_visibility variable to googleanalytics_visibility_pages for consistency. + * Rename googleanalytics_visibility variable to + * googleanalytics_visibility_pages for consistency. */ function googleanalytics_update_7004() { variable_set('googleanalytics_visibility_pages', variable_get('googleanalytics_visibility', 1)); @@ -401,7 +409,7 @@ function googleanalytics_update_7005() { $diff = array_diff($pages, preg_split('/(\r\n?|\n)/', variable_get('googleanalytics_pages', implode("\n", $pages)))); if (empty($diff)) { - // No diff to previous settings found. Update with new settings. + // No difference to previous settings found. Update with new settings. $pages = array( 'admin', 'admin/*', @@ -437,7 +445,8 @@ function googleanalytics_update_7007() { } /** - * Delete custom ga.js code snipptes to prevent malfunctions in new Universal Analytics tracker. A backup of your snippets will be created. + * Delete custom ga.js code snippets to prevent malfunctions in new Universal + * Analytics tracker. A backup of your snippets will be created. */ function googleanalytics_update_7200() { $messages = array(); @@ -459,11 +468,12 @@ function googleanalytics_update_7200() { $messages[] = t('Manual upgrade of custom "after" code snippet from ja.js to analytics.js API is required.'); } - return empty($messages) ? t('No custom code snipped found. Nothing to do.') : implode(' ', $messages); + return empty($messages) ? t('No custom code snippet found. Nothing to do.') : implode(' ', $messages); } /** - * Delete obsolete custom variables. Custom variables are now custom dimensions and metrics. + * Delete obsolete custom variables. Custom variables are now custom dimensions + * and metrics. */ function googleanalytics_update_7201() { variable_del('googleanalytics_custom_var'); @@ -475,7 +485,7 @@ function googleanalytics_update_7201() { * Delete obsolete JavaScript scope variable. */ function googleanalytics_update_7202() { - // Remove obsolete scope variable + // Remove obsolete scope variable. variable_del('googleanalytics_js_scope'); return t('Removed obsolete JavaScript scope variable.'); diff --git a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.module b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.module index b45ee1036..275262be7 100644 --- a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.module +++ b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.module @@ -98,7 +98,7 @@ function googleanalytics_menu() { * Implements hook_page_alter() to insert JavaScript to the appropriate scope/region of the page. */ function googleanalytics_page_alter(&$page) { - global $user; + global $base_path, $user; $id = variable_get('googleanalytics_account', ''); @@ -134,7 +134,7 @@ function googleanalytics_page_alter(&$page) { $link_settings['trackColorbox'] = $track_colorbox; } if ($track_domain_mode = variable_get('googleanalytics_domain_mode', 0)) { - $link_settings['trackDomainMode'] = $track_domain_mode; + $link_settings['trackDomainMode'] = (int) $track_domain_mode; } if ($track_cross_domains = variable_get('googleanalytics_cross_domains', '')) { $link_settings['trackCrossDomains'] = preg_split('/(\r\n?|\n)/', $track_cross_domains); @@ -202,10 +202,22 @@ function googleanalytics_page_alter(&$page) { // Track access denied (403) and file not found (404) pages. if ($status == '403 Forbidden') { // See http://www.google.com/support/analytics/bin/answer.py?answer=86927 - $url_custom = '"/403.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer'; + $url_custom = '"' . $base_path . '403.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer'; } elseif ($status == '404 Not Found') { - $url_custom = '"/404.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer'; + $url_custom = '"' . $base_path . '404.html?page=" + document.location.pathname + document.location.search + "&from=" + document.referrer'; + } + + // #2693595: User has entered an invalid login and clicked on forgot + // password link. This link contains the username or email address and may + // get send to Google if we do not override it. Override only if 'name' + // query param exists. Last custom url condition, this need to win. + // + // URLs to protect are: + // - user/password?name=username + // - user/password?name=foo@example.com + if (arg(0) == 'user' && arg(1) == 'password' && array_key_exists('name', drupal_get_query_parameters())) { + $url_custom = '"' . $base_path . 'user/password"'; } // Add custom dimensions and metrics. @@ -256,11 +268,10 @@ function googleanalytics_page_alter(&$page) { $script .= '})(window,document,"script",'; // Which version of the tracking library should be used? - $library_tracker_url = '//www.google-analytics.com/' . ($debug ? 'analytics_debug.js' : 'analytics.js'); - $library_cache_url = 'http:' . $library_tracker_url; + $library_tracker_url = 'https://www.google-analytics.com/' . ($debug ? 'analytics_debug.js' : 'analytics.js'); // Should a local cached copy of analytics.js be used? - if (variable_get('googleanalytics_cache', 0) && $url = _googleanalytics_cache($library_cache_url)) { + if (variable_get('googleanalytics_cache', 0) && $url = _googleanalytics_cache($library_tracker_url)) { // A dummy query-string is added to filenames, to gain control over // browser-caching. The string changes on every update or full cache // flush, forcing browsers to load a new copy of the files, as the @@ -462,7 +473,7 @@ function googleanalytics_user_presave(&$edit, $account, $category) { function googleanalytics_cron() { // Regenerate the tracking code file every day. if (REQUEST_TIME - variable_get('googleanalytics_last_cache', 0) >= 86400 && variable_get('googleanalytics_cache', 0)) { - _googleanalytics_cache('http://www.google-analytics.com/analytics.js', TRUE); + _googleanalytics_cache('https://www.google-analytics.com/analytics.js', TRUE); variable_set('googleanalytics_last_cache', REQUEST_TIME); } } @@ -526,6 +537,10 @@ function _googleanalytics_cache($location, $synchronize = FALSE) { if ($data_hash_local != $data_hash_remote && file_prepare_directory($path)) { // Save updated tracking code file to disk. file_unmanaged_save_data($result->data, $file_destination, FILE_EXISTS_REPLACE); + // Based on Drupal Core drupal_build_css_cache(). + if (variable_get('css_gzip_compression', TRUE) && variable_get('clean_url', 0) && extension_loaded('zlib')) { + file_unmanaged_save_data(gzencode($result->data, 9, FORCE_GZIP), $file_destination . '.gz', FILE_EXISTS_REPLACE); + } watchdog('googleanalytics', 'Locally cached tracking code file has been updated.', array(), WATCHDOG_INFO); // Change query-strings on css/js files to enforce reload for all users. @@ -538,6 +553,10 @@ function _googleanalytics_cache($location, $synchronize = FALSE) { // There is no need to flush JS here as core refreshes JS caches // automatically, if new files are added. file_unmanaged_save_data($result->data, $file_destination, FILE_EXISTS_REPLACE); + // Based on Drupal Core drupal_build_css_cache(). + if (variable_get('css_gzip_compression', TRUE) && variable_get('clean_url', 0) && extension_loaded('zlib')) { + file_unmanaged_save_data(gzencode($result->data, 9, FORCE_GZIP), $file_destination . '.gz', FILE_EXISTS_REPLACE); + } watchdog('googleanalytics', 'Locally cached tracking code file has been saved.', array(), WATCHDOG_INFO); // Return the local JS file path. diff --git a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.test b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.test index 745047a84..f88525caa 100644 --- a/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.test +++ b/docroot/sites/all/modules/contrib/google_analytics/googleanalytics.test @@ -83,7 +83,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { // Verify that no tracking code is embedded into the webpage; if there is // only the module installed, but UA code not configured. See #2246991. $this->drupalGet(''); - $this->assertNoRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is not displayed without UA code configured.'); + $this->assertNoRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is not displayed without UA code configured.'); $ua_code = 'UA-123456-1'; variable_set('googleanalytics_account', $ua_code); @@ -104,7 +104,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { $this->assertNoRaw($ua_code, '[testGoogleAnalyticsPageVisibility]: Tracking code is not displayed on admin page.'); $this->drupalGet('admin/config/system/googleanalytics'); // Checking for tracking code URI here, as $ua_code is displayed in the form. - $this->assertNoRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is not displayed on admin subpage.'); + $this->assertNoRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is not displayed on admin subpage.'); // Test whether tracking code display is properly flipped. variable_set('googleanalytics_visibility_pages', 1); @@ -112,7 +112,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { $this->assertRaw($ua_code, '[testGoogleAnalyticsPageVisibility]: Tracking code is displayed on admin page.'); $this->drupalGet('admin/config/system/googleanalytics'); // Checking for tracking code URI here, as $ua_code is displayed in the form. - $this->assertRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is displayed on admin subpage.'); + $this->assertRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPageVisibility]: Tracking code is displayed on admin subpage.'); $this->drupalGet(''); $this->assertNoRaw($ua_code, '[testGoogleAnalyticsPageVisibility]: Tracking code is NOT displayed on front page.'); @@ -126,13 +126,15 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { // Enable tracking code for all user roles. variable_set('googleanalytics_roles', array()); + $base_path = base_path(); + // Test whether 403 forbidden tracking code is shown if user has no access. $this->drupalGet('admin'); - $this->assertRaw('/403.html', '[testGoogleAnalyticsPageVisibility]: 403 Forbidden tracking code shown if user has no access.'); + $this->assertRaw($base_path . '403.html', '[testGoogleAnalyticsPageVisibility]: 403 Forbidden tracking code shown if user has no access.'); // Test whether 404 not found tracking code is shown on non-existent pages. $this->drupalGet($this->randomName(64)); - $this->assertRaw('/404.html', '[testGoogleAnalyticsPageVisibility]: 404 Not Found tracking code shown on non-existent page.'); + $this->assertRaw($base_path . '404.html', '[testGoogleAnalyticsPageVisibility]: 404 Not Found tracking code shown on non-existent page.'); // DNT Tests: // Enable system internal page cache for anonymous users. @@ -168,7 +170,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { (function(q,u,i,c,k){window['GoogleAnalyticsObject']=q; window[q]=window[q]||function(){(window[q].q=window[q].q||[]).push(arguments)}, window[q].l=1*new Date();c=i.createElement(u),k=i.getElementsByTagName(u)[0]; - c.async=true;c.src='//www.google-analytics.com/analytics.js'; + c.async=true;c.src='https://www.google-analytics.com/analytics.js'; k.parentNode.insertBefore(c,k)})('ga','script',document); ga('create', 'UA-123456-7'); ga('send', 'pageview'); @@ -179,7 +181,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { // Test whether tracking code uses latest JS. variable_set('googleanalytics_cache', 0); $this->drupalGet(''); - $this->assertRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsTrackingCode]: Latest tracking code used.'); + $this->assertRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsTrackingCode]: Latest tracking code used.'); // Test whether anonymize visitors IP address feature has been enabled. variable_set('googleanalytics_tracker_anonymizeip', 0); @@ -256,13 +258,14 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { $this->assertRaw('ga("create", "' . $ua_code . '", {"cookieDomain":"auto","allowLinker":true', '[testGoogleAnalyticsTrackingCode]: "allowLinker" has been found. Cross domain tracking is active.'); $this->assertRaw('ga("require", "linker");', '[testGoogleAnalyticsTrackingCode]: Require linker has been found. Cross domain tracking is active.'); $this->assertRaw('ga("linker:autoLink", ["www.example.com","www.example.net"]);', '[testGoogleAnalyticsTrackingCode]: "linker:autoLink" has been found. Cross domain tracking is active.'); + $this->assertRaw('"trackDomainMode":2,', '[testGoogleAnalyticsTrackingCode]: Domain mode value is of type integer.'); $this->assertRaw('"trackCrossDomains":["www.example.com","www.example.net"]', '[testGoogleAnalyticsTrackingCode]: Cross domain tracking with www.example.com and www.example.net is active.'); variable_set('googleanalytics_domain_mode', 0); // Test whether debugging script has been enabled. variable_set('googleanalytics_debug', 1); $this->drupalGet(''); - $this->assertRaw('//www.google-analytics.com/analytics_debug.js', '[testGoogleAnalyticsTrackingCode]: Google debugging script has been enabled.'); + $this->assertRaw('https://www.google-analytics.com/analytics_debug.js', '[testGoogleAnalyticsTrackingCode]: Google debugging script has been enabled.'); // Check if text and link is shown on 'Status Reports' page. // Requires 'administer site configuration' permission. @@ -272,7 +275,7 @@ class GoogleAnalyticsBasicTest extends DrupalWebTestCase { // Test whether debugging script has been disabled. variable_set('googleanalytics_debug', 0); $this->drupalGet(''); - $this->assertRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsTrackingCode]: Google debugging script has been disabled.'); + $this->assertRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsTrackingCode]: Google debugging script has been disabled.'); // Test whether the CREATE and BEFORE and AFTER code is added to the tracker. $codesnippet_create = array( @@ -473,6 +476,51 @@ class GoogleAnalyticsCustomDimensionsAndMetricsTest extends DrupalWebTestCase { } } +/** + * Test custom url functionality of Google Analytics module. + */ +class GoogleAnalyticsCustomUrls extends DrupalWebTestCase { + + public static function getInfo() { + return array( + 'name' => 'Google Analytics custom url tests', + 'description' => 'Test custom url functionality of Google Analytics module.', + 'group' => 'Google Analytics', + ); + } + + function setUp() { + parent::setUp('googleanalytics'); + + $permissions = array( + 'access administration pages', + 'administer google analytics', + ); + + // User to set up google_analytics. + $this->admin_user = $this->drupalCreateUser($permissions); + } + + /** + * Tests if user password page urls are overridden. + */ + public function testGoogleAnalyticsUserPasswordPage() { + $base_path = base_path(); + $ua_code = 'UA-123456-4'; + variable_set('googleanalytics_account', $ua_code); + + $this->drupalGet('user/password', ['query' => ['name' => 'foo']]); + $this->assertRaw('ga("set", "page", "' . $base_path . 'user/password"'); + + $this->drupalGet('user/password', ['query' => ['name' => 'foo@example.com']]); + $this->assertRaw('ga("set", "page", "' . $base_path . 'user/password"'); + + $this->drupalGet('user/password'); + $this->assertNoRaw('ga("set", "page",', '[testGoogleAnalyticsCustomUrls]: Custom url not set.'); + } + +} + class GoogleAnalyticsStatusMessagesTest extends DrupalWebTestCase { public static function getInfo() { @@ -734,13 +782,13 @@ class GoogleAnalyticsPhpFilterTest extends DrupalWebTestCase { // Check tracking code visibility. variable_set('googleanalytics_pages', '<?php return TRUE; ?>'); $this->drupalGet(''); - $this->assertRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is displayed on frontpage page.'); + $this->assertRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is displayed on frontpage page.'); $this->drupalGet('admin'); - $this->assertRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is displayed on admin page.'); + $this->assertRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is displayed on admin page.'); variable_set('googleanalytics_pages', '<?php return FALSE; ?>'); $this->drupalGet(''); - $this->assertNoRaw('//www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is not displayed on frontpage page.'); + $this->assertNoRaw('https://www.google-analytics.com/analytics.js', '[testGoogleAnalyticsPhpFilter]: Tracking is not displayed on frontpage page.'); // Test administration form. variable_set('googleanalytics_pages', '<?php return TRUE; ?>'); diff --git a/docroot/sites/all/modules/contrib/google_tag/google_tag.info b/docroot/sites/all/modules/contrib/google_tag/google_tag.info index 86c5016c6..11982edc2 100644 --- a/docroot/sites/all/modules/contrib/google_tag/google_tag.info +++ b/docroot/sites/all/modules/contrib/google_tag/google_tag.info @@ -5,9 +5,9 @@ core = 7.x configure = admin/config/system/google_tag -; Information added by Drupal.org packaging script on 2017-04-05 -version = "7.x-1.2" +; Information added by Drupal.org packaging script on 2017-09-23 +version = "7.x-1.3" core = "7.x" project = "google_tag" -datestamp = "1491356302" +datestamp = "1506177846" diff --git a/docroot/sites/all/modules/contrib/google_tag/google_tag.install b/docroot/sites/all/modules/contrib/google_tag/google_tag.install index debc6ca8d..76a949c6d 100644 --- a/docroot/sites/all/modules/contrib/google_tag/google_tag.install +++ b/docroot/sites/all/modules/contrib/google_tag/google_tag.install @@ -11,7 +11,7 @@ * Implements hook_enable(). */ function google_tag_enable() { - _google_tag_assets_create($count); + google_tag_assets_create($count); } /** @@ -67,7 +67,7 @@ function google_tag_requirements($phase) { ); } } - if ($phase == 'runtime' || $phase == 'install') { + if ($phase == 'runtime' || $phase == 'update' || $phase == 'install') { // Adapted from system_requirements(). $directory = 'public://google_tag'; if (!is_dir($directory) || !is_writable($directory)) { @@ -80,8 +80,15 @@ function google_tag_requirements($phase) { // If applicable, get the directory path of stream wrapper. $wrapper = file_stream_wrapper_get_instance_by_uri($directory); - $path = $wrapper->getDirectoryPath(); - $path = $path ? $path . '/google_tag' : $directory; + if (method_exists($wrapper, 'getDirectoryPath') && ($path = $wrapper->getDirectoryPath())) { + // getDirectoryPath() is not defined in StreamWrapperInterface; it + // exists in LocalStream and the local storage replacement classes in + // google_appengine; s3fs returns an empty string. + $path .= '/google_tag'; + } + elseif (!($path = $wrapper->getExternalUrl())) { + $path = $directory; + } if (!$is_directory) { $error = $t('The directory %directory does not exist.', array('%directory' => $path)); @@ -241,39 +248,10 @@ function google_tag_update_7105(&$sandbox) { // (Given the scope of the setting changes, it is arguable whether manual // intervention to update the settings should be required; and hence why this // was omitted in the first place.) - _google_tag_assets_create($count); + google_tag_assets_create($count); return t('Created @count snippet files based on configuration', array('@count' => 3 * $count)); } -/** - * Saves snippet files and data layer classes based on current settings. - */ -function _google_tag_assets_create(&$count) { - module_load_include('inc', 'google_tag', 'includes/admin'); - $count = 0; - - if (module_exists('variable_realm') && module_exists('variable_store')) { - // i18n_variable module depends on variable_realm, variable_store - $realms = variable_realm_list(); - foreach ($realms as $realm_name => $realm_title) { - $keys = variable_realm_keys($realm_name); - foreach ($keys as $key_name => $key_title) { - drupal_set_message(t('realm:key = @realm:@key', array('@realm' => $realm_name, '@key' => $key_name))); - variable_realm_switch($realm_name, $key_name); - _google_tag_prepare_directory($realm_name); - _google_tag_snippets_save($realm_name, $key_name); - _google_tag_classes_save($realm_name, $key_name); - $count++; - } - } - } - else { - _google_tag_snippets_save(); - _google_tag_classes_save(); - $count++; - } -} - /** * Save snippet files and data layer classes based on current settings. */ diff --git a/docroot/sites/all/modules/contrib/google_tag/google_tag.module b/docroot/sites/all/modules/contrib/google_tag/google_tag.module index 82ab7f0ed..5c41fc19c 100644 --- a/docroot/sites/all/modules/contrib/google_tag/google_tag.module +++ b/docroot/sites/all/modules/contrib/google_tag/google_tag.module @@ -64,6 +64,16 @@ function google_tag_permission() { return _google_tag_permission(); } +/** + * Implements hook_cron(). + * + * @todo Could instead implement hook_flush_caches() called from system_cron() + * and drupal_flush_all_caches(). + */ +function google_tag_cron() { + google_tag_assets_create($count); +} + /** * Implements hook_variable_group_info(). */ @@ -167,6 +177,8 @@ function google_tag_page_build(&$page) { $include_classes = variable_get('google_tag_include_classes', 0); list($realm_name, $realm_key) = google_tag_realm_values(); + $realm_name .= $realm_name ? '/' : ''; + $realm_key .= $realm_key ? '.' : ''; $types = $include_classes ? array('data_layer', 'script') : array('script'); $data_layer = variable_get('google_tag_data_layer', 'dataLayer'); @@ -188,7 +200,7 @@ function google_tag_page_build(&$page) { // whichever class implements the stream, e.g. local, S3, or App Engine. $path = "$base_path/google_tag/{$realm_name}google_tag.$realm_key$type.js"; // @todo Will it matter if file is empty? - drupal_add_js($path, array('group' => JS_LIBRARY * 2)); + drupal_add_js($path, array('group' => JS_LIBRARY * 2, 'requires_jquery' => FALSE)); } } else { @@ -199,7 +211,7 @@ function google_tag_page_build(&$page) { // For inline JavaScript to validate as XHTML, all JavaScript containing // XHTML needs to be wrapped in CDATA. if ($contents) { - drupal_add_js($contents, array('type' => 'inline', 'group' => JS_LIBRARY * 2)); + drupal_add_js($contents, array('type' => 'inline', 'group' => JS_LIBRARY * 2, 'requires_jquery' => FALSE)); } } } @@ -257,9 +269,6 @@ function google_tag_realm_values() { $debug = variable_get('google_tag_debug_output', 0); $debug ? drupal_set_message(t('realm:key = @realm:@key', array('@realm' => $realm_name, '@key' => $realm_key))) : ''; - - $realm_name .= $realm_name ? '/' : ''; - $realm_key .= $realm_key ? '.' : ''; } return array($realm_name, $realm_key); } @@ -381,3 +390,11 @@ function _google_tag_role_check() { } return $satisfied; } + +/** + * Saves snippet files and data layer classes based on current settings. + */ +function google_tag_assets_create(&$count) { + module_load_include('inc', 'google_tag', 'includes/admin'); + _google_tag_assets_create($count); +} diff --git a/docroot/sites/all/modules/contrib/google_tag/includes/admin.inc b/docroot/sites/all/modules/contrib/google_tag/includes/admin.inc index bf1ac461a..480f30f91 100644 --- a/docroot/sites/all/modules/contrib/google_tag/includes/admin.inc +++ b/docroot/sites/all/modules/contrib/google_tag/includes/admin.inc @@ -167,42 +167,124 @@ function google_tag_settings_form_validate($form, &$form_state) { if ($values['google_tag_include_environment'] && !preg_match('/^env-\d{1,}$/', $values['google_tag_environment_id'])) { form_set_error('google_tag_environment_id', t('A valid environment ID is case sensitive and formatted like env-x.')); } - if ($message = _google_tag_verify_data_layer($values['google_tag_data_layer'])) { + if ($message = _google_tag_data_layer_verify($values['google_tag_data_layer'])) { form_set_error('google_tag_data_layer', $message); } + if ($values['google_tag_include_classes']) { + if (empty($values['google_tag_whitelist_classes']) && empty($values['google_tag_blacklist_classes'])) { + form_set_error('google_tag_include_classes', t('Enter listed classes in at least one field, or uncheck the box.')); + form_set_error('google_tag_whitelist_classes', ''); + form_set_error('google_tag_blacklist_classes', ''); + } + } } /** * Form submission handler for google_tag_settings_form(). */ function google_tag_settings_form_submit($form, &$form_state) { - $realm_name = $realm_key = ''; - if (!empty($form['#realm_keys'])) { - $realm_name = key($form['#realm_keys']); - $realm_key = current($form['#realm_keys']); - _google_tag_prepare_directory($realm_name); + if (module_exists('variable_realm') && module_exists('variable_store')) { + // When this handler runs, $GLOBALS['conf'] will have been updated by the + // form submitted values (this includes realm and non-realm specific + // variables). However, the variable stores maintained by variable_realm + // will not reflect these changes. To counteract this behaviour refresh the + // internal variable stores. + // + // Example: Assume a language realm with 'en' (default) and 'fr' keys. + // + // Because of how variable_realm_switch() works, the values for one or more + // realm:key pairs will include the OLD global (i.e. not realm-specific) + // values in effect at form build not the NEW values included with the form + // submission. Whether one or more is stale depends on the realm of the URL: + // + // default: /admin/config/system/google_tag + // realm: /fr/admin/config/system/google_tag + // + // The result does not depend on whether any google_tag variables are + // configured to be realm-specific. + // + // The global:default snippet files always reflect the NEW global values + // plus the realm-specific values for the realm of the URL. If the form is + // submitted from the 'en' (or default) URL, then these files have the 'en' + // values. + // + // The language:en snippet files have OLD global values if the realm URL is + // language:fr (indicated by 'fr' prefix), NEW values otherwise. Any realm- + // specific values are from language:en. + // + // The language:fr snippet files always have OLD global values. Any realm- + // specific values are from language:fr. + + // Load variables from cache or database. + // Merge with current global to get values from settings.php. + $variables = variable_initialize(); + $variables = array_merge($GLOBALS['conf'], $variables); // recursive? + + // Reset internal store with updated variables. + $global = variable_realm_controller('global'); + $global->addStore('default', $variables); } - _google_tag_snippets_save($realm_name, $realm_key); - _google_tag_classes_save($realm_name, $realm_key); + _google_tag_assets_create($count); } /** - * Prepares directory for realm specific snippet files. + * Saves snippet files and data layer classes based on current settings. + * + * Use case: variable_realm is not enabled + * - one set of snippet files stored in public://google_tag + * + * Use case: variable_realm is enabled + * - multiple sets of snippet files stored in public://google_tag/{realm} + * - sub case: no google_tag variables are realm-specific + * update all snippet files based on global default variables + * - sub case: some google_tag variables are realm-specific + * update all snippet files based on global and realm-specific variables */ -function _google_tag_prepare_directory($realm_name = '') { - // From google_tag_requirements(); this should be a helper function (in core). - if (!empty($realm_name)) { - $directory = "public://google_tag/$realm_name"; - if (!is_dir($directory) || !is_writable($directory)) { - file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS); - } - $is_writable = is_writable($directory); - $is_directory = is_dir($directory); - if (!$is_writable || !$is_directory) { - // @todo Do something. +function _google_tag_assets_create(&$count) { + $count = 0; + + if (module_exists('variable_realm') && module_exists('variable_store')) { + // i18n_variable module depends on variable_realm, variable_store + $realms = variable_realm_list(); + foreach ($realms as $realm_name => $realm_title) { + $keys = variable_realm_keys($realm_name); + foreach ($keys as $key_name => $key_title) { + drupal_set_message(t('realm:key = @realm:@key', array('@realm' => $realm_name, '@key' => $key_name))); + variable_realm_switch($realm_name, $key_name); + _google_tag_directory_prepare($realm_name); + _google_tag_snippets_save($realm_name, $key_name); + _google_tag_classes_save($realm_name, $key_name); + $count++; + } } } + else { + _google_tag_directory_prepare(); + _google_tag_snippets_save(); + _google_tag_classes_save(); + $count++; + } + + _drupal_flush_css_js(); + drupal_clear_js_cache(); +} + +/** + * Prepares directory for base or realm specific snippet files. + */ +function _google_tag_directory_prepare($realm_name = '') { + // From google_tag_requirements(); this should be a helper function (in core). + $directory = 'public://google_tag'; + $directory .= $realm_name ? "/$realm_name" : ''; + if (!is_dir($directory) || !is_writable($directory)) { + file_prepare_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS); + } + $is_writable = is_writable($directory); + $is_directory = is_dir($directory); + if (!$is_writable || !$is_directory) { + // @todo Do something. + } } /** @@ -227,8 +309,6 @@ function _google_tag_snippets_save($realm_name = '', $realm_key = '') { } else { drupal_set_message(t('Created three snippet files based on configuration.')); - _drupal_flush_css_js(); - drupal_clear_js_cache(); } } @@ -236,6 +316,7 @@ function _google_tag_snippets_save($realm_name = '', $realm_key = '') { * Stores data layer classes based on current settings. */ function _google_tag_classes_save($realm_name = '', $realm_key = '') { + $data_layer = variable_get('google_tag_data_layer', 'dataLayer'); if (module_exists('datalayer') && $data_layer == 'dataLayer') { // Save classes for data layer. // @todo How to or can we set the name of the data layer? @@ -274,7 +355,7 @@ function google_tag_text_clean(&$text, $format = 'string') { * @return bool|null * Whether data layer name is incompatible with dataLayer module, if present. */ -function _google_tag_verify_data_layer($value) { +function _google_tag_data_layer_verify($value) { if (module_exists('datalayer') && $value != 'dataLayer') { // @todo Setting form error does not allow user to save a different name, // i.e. to do what message text says. diff --git a/docroot/sites/all/modules/contrib/google_tag/includes/snippet.inc b/docroot/sites/all/modules/contrib/google_tag/includes/snippet.inc index 3d121b5dc..828d48e3d 100644 --- a/docroot/sites/all/modules/contrib/google_tag/includes/snippet.inc +++ b/docroot/sites/all/modules/contrib/google_tag/includes/snippet.inc @@ -48,7 +48,7 @@ function _google_tag_script_snippet() { var j=d.createElement(s); var dl=l!='dataLayer'?'&l='+l:''; j.type='text/javascript'; - j.src='//www.googletagmanager.com/gtm.js?id='+i+dl+'$query'; + j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl+'$query'; j.async=true; f.parentNode.insertBefore(j,f); @@ -81,7 +81,7 @@ function _google_tag_noscript_snippet() { // Build noscript snippet. $noscript = <<<EOS -<noscript><iframe src="//www.googletagmanager.com/ns.html?id=$container_id$query" +<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=$container_id$query" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> EOS; if ($compact) { @@ -105,8 +105,7 @@ EOS; */ function _google_tag_data_layer_snippet(&$classes = array()) { // Gather data. - $data_layer = variable_get('google_tag_data_layer', 'dataLayer'); - $data_layer = trim(drupal_json_encode($data_layer), '"'); + $data_layer = _google_tag_variable_clean('google_tag_data_layer', 'dataLayer'); $whitelist = variable_get('google_tag_whitelist_classes', GOOGLE_TAG_WHITELIST_CLASSES); $blacklist = variable_get('google_tag_blacklist_classes', GOOGLE_TAG_BLACKLIST_CLASSES); diff --git a/docroot/sites/all/modules/contrib/google_tag/includes/variable.inc b/docroot/sites/all/modules/contrib/google_tag/includes/variable.inc index bd84aa715..1ad75e64d 100644 --- a/docroot/sites/all/modules/contrib/google_tag/includes/variable.inc +++ b/docroot/sites/all/modules/contrib/google_tag/includes/variable.inc @@ -227,6 +227,7 @@ function _google_tag_variable_info_advanced($options) { 'title' => t('Add classes to the data layer', array(), $options), 'description' => t('If checked, then the listed classes will be added to the data layer.', array(), $options), 'default' => 0, + 'validate callback' => '_google_tag_validate_listed_classes', ); $variables['google_tag_whitelist_classes'] = array( @@ -317,6 +318,12 @@ function _google_tag_variable_info_internal($options) { /** * Returns states array for a form element. + * + * @param string $variable + * The name of the form element. + * + * @return array + * The states array. */ function _google_tag_variable_states($variable) { return array( @@ -382,7 +389,38 @@ function _google_tag_validate_data_layer($variable, $options, $element, $form, & $value = drupal_array_get_nested_value($form_state['values'], $element['#parents']); $value = trim($value); drupal_array_set_nested_value($form_state['values'], $element['#parents'], $value); - return _google_tag_verify_data_layer($value); + return _google_tag_data_layer_verify($value); +} + +/** + * Element validation handler for google_tag_listed_classes. + */ +function _google_tag_validate_listed_classes($variable, $options, $element, $form, &$form_state) { + if (!drupal_array_get_nested_value($form_state['values'], $element['#parents'])) { + return; + } + + $keys = array('google_tag_whitelist_classes', 'google_tag_blacklist_classes'); + $variables = isset($form['#variable_edit_form']) ? $form['#variable_edit_form'] : array(); + if (!empty(array_diff($keys, $variables))) { + // Need both variables on form to validate. + form_set_error('google_tag_include_classes', t('To validate listed classes, include the whitelist and blacklist variables in the realm variables.')); + return; + } + + $empty = TRUE; + foreach ($keys as $key) { + array_pop($element['#parents']); + $element['#parents'][] = $key; + $classes = drupal_array_get_nested_value($form_state['values'], $element['#parents']); + google_tag_text_clean($classes); + $empty &= empty($classes); + } + if ($empty) { + form_set_error('google_tag_include_classes', t('Enter listed classes in at least one field, or uncheck the box.')); + form_set_error('google_tag_whitelist_classes', ''); + form_set_error('google_tag_blacklist_classes', ''); + } } /** diff --git a/docroot/sites/all/modules/contrib/search_api_acquia/includes/SearchApiAcquiaSearchConnection.php b/docroot/sites/all/modules/contrib/search_api_acquia/includes/SearchApiAcquiaSearchConnection.php index a4e650786..40a24d133 100644 --- a/docroot/sites/all/modules/contrib/search_api_acquia/includes/SearchApiAcquiaSearchConnection.php +++ b/docroot/sites/all/modules/contrib/search_api_acquia/includes/SearchApiAcquiaSearchConnection.php @@ -73,18 +73,6 @@ public function getDerivedKey() { return $this->derivedKey; } - /** - * Send an optimize command. - * - * We want to control the schedule of optimize commands ourselves, - * so do a method override to make ->optimize() a no-op. - * - * @see SearchApiSolrConnection::optimize() - */ - public function optimize($waitFlush = true, $waitSearcher = true, $timeout = 3600) { - return TRUE; - } - /** * Modify the url and add headers appropriate to authenticate to Acquia Search. * diff --git a/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.info b/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.info index c3e964a48..0f1a3197f 100644 --- a/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.info +++ b/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.info @@ -11,9 +11,9 @@ files[] = includes/SearchApiAcquiaSearchHttpTransport.php files[] = includes/SearchApiAcquiaSearchService.php files[] = tests/search_api_acquia.test -; Information added by Drupal.org packaging script on 2017-02-16 -version = "7.x-2.3" +; Information added by Drupal.org packaging script on 2017-10-12 +version = "7.x-2.4" core = "7.x" project = "search_api_acquia" -datestamp = "1487274188" +datestamp = "1507844351" diff --git a/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.module b/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.module index 3632a6388..bf8e47c9f 100644 --- a/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.module +++ b/docroot/sites/all/modules/contrib/search_api_acquia/search_api_acquia.module @@ -47,7 +47,7 @@ function search_api_acquia_get_core_service() { global $conf; $acquia_identifier = acquia_agent_settings('acquia_identifier'); - $ah_env = isset($_SERVER['AH_SITE_ENVIRONMENT']) ? $_SERVER['AH_SITE_ENVIRONMENT'] : ''; + $ah_env = isset($_ENV['AH_SITE_ENVIRONMENT']) ? $_ENV['AH_SITE_ENVIRONMENT'] : ''; $sites_foldername = substr(conf_path(), strrpos(conf_path(), '/') + 1); $ah_db_name = isset($conf['acquia_hosting_site_info']['db']['name']) ? $conf['acquia_hosting_site_info']['db']['name'] : ''; @@ -149,6 +149,13 @@ function search_api_acquia_search_api_index_load($indexes) { if (!$auto_switch_disabled && !$read_only_switch_disabled && $sub_active && !module_exists('acquia_search_multi_subs')) { if (!search_api_acquia_get_core_service()->isPreferredCoreAvailable()) { foreach ($indexes as &$index) { + if (empty($index->server)) { + // This covers circumstances where the Acquia Search service hasn't + // been completely set up. Preventing an empty server machine name + // from loading prevents array_flip errors in entity_load that are + // otherwise hard to debug. + continue; + } $server = search_api_server_load($index->server); if ($server && $server->class == 'acquia_search_service') { $index->read_only = '1'; @@ -223,6 +230,9 @@ function search_api_acquia_block_view_system_main_alter(&$data, $block) { if (isset($data['content']['view'])) { $section = $data['content']['view']; // #theme tells us what we're rendering right now. + if (!isset($section['#theme'])) { + return; + } if ($section['#theme'] == 'search_api_server') { $server = search_api_server_load($section['#machine_name']); } @@ -323,9 +333,9 @@ function search_api_acquia_add_form_status_message(&$form, &$form_state, $server function search_api_acquia_get_read_only_mode_warning($server, $t = 't') { global $conf; - $msg = $t('To protect your data, the Search API Acquia module is enforcing - read-only mode on the Search API indexes, because it could not figure out what Acquia-hosted Solr - index to connect to. This helps you avoid writing to a production index + $msg = $t('To protect your data, the Search API Acquia module is enforcing + read-only mode on the Search API indexes, because it could not figure out what Acquia-hosted Solr + index to connect to. This helps you avoid writing to a production index if you copy your site to a development or other environment(s).'); if (!empty($conf['search_api_acquia_overrides'][$server->machine_name]['acquia_search_possible_cores'])) { @@ -335,7 +345,7 @@ function search_api_acquia_get_read_only_mode_warning($server, $t = 't') { )); $msg .= '<p>'; - $msg .= $t('These index IDs would have worked, but could not be found on + $msg .= $t('These index IDs would have worked, but could not be found on your Acquia subscription: !list', array('!list' => $list)); $msg .= '</p>'; @@ -356,8 +366,14 @@ function search_api_acquia_get_read_only_mode_warning($server, $t = 't') { * @return string */ function search_api_acquia_get_search_status_message($server) { + global $conf; - $url = $server->options['scheme'] . '://' . $server->options['host'] . ':' . $server->options['port'] . $server->options['path']; + $options = $server->options; + // Apply overrides if they exist. + if (isset($conf['search_api_acquia_overrides'][$server->machine_name])) { + $options = array_merge($options, $conf['search_api_acquia_overrides'][$server->machine_name]); + } + $url = $options['scheme'] . '://' . $options['host'] . ':' . $options['port'] . $options['path']; $items = array( t('search_api_solr.module server ID: @env', array('@env' => $server->machine_name)), t('URL: @url', array('@url' => $url)), @@ -401,6 +417,56 @@ function search_api_acquia_enable() { */ function search_api_acquia_cron() { search_api_acquia_set_version(); + search_api_acquia_cron_optimize(); +} + +/** + * Runs optimize during cron runs. + * + * @see search_api_solr_cron() + */ +function search_api_acquia_cron_optimize() { + $action = variable_get('search_api_acquia_cron_action', 'spellcheck'); + // We treat all unknown action settings as "none". However, we turn a blind + // eye for Britons and other people who can spell. + if (!in_array($action, array('spellcheck', 'optimize', 'optimise'))) { + return; + } + // 86400 seconds is one day. We use slightly less here to allow for some + // variation in the request time of the cron run, so that the time of day will + // (more or less) stay the same. + if (REQUEST_TIME - variable_get('search_api_acquia_last_optimize', 0) > 86340) { + variable_set('search_api_acquia_last_optimize', REQUEST_TIME); + $conditions = array('class' => 'acquia_search_service', 'enabled' => TRUE); + $count = 0; + foreach (search_api_server_load_multiple(FALSE, $conditions) as $server) { + try { + $solr = $server->getSolrConnection(); + if ($action != 'spellcheck') { + $solr->optimize(FALSE); + } + else { + $params['rows'] = 0; + $params['spellcheck'] = 'true'; + $params['spellcheck.build'] = 'true'; + $solr->search(NULL, $params); + } + ++$count; + } + catch(SearchApiException $e) { + watchdog_exception('search_api_acquia', $e, '%type while optimizing Solr server @server: !message in %function (line %line of %file).', array('@server' => $server->name)); + } + } + if ($count) { + $vars['@count'] = $count; + if ($action != 'spellcheck') { + watchdog('search_api_acquia', 'Optimized @count Solr server(s).', $vars, WATCHDOG_INFO); + } + else { + watchdog('search_api_acquia', 'Rebuilt spellcheck dictionary on @count Solr server(s).', $vars, WATCHDOG_INFO); + } + } + } } /** @@ -412,7 +478,7 @@ function search_api_acquia_cron() { */ function search_api_acquia_set_version() { // Cache the version in a variable so we can send it at no extra cost. - $version = variable_get('search_api_acquia', '7.x'); + $version = variable_get('search_api_acquia_version', '7.x'); $info = system_get_info('module', 'search_api_acquia'); // Send the version, or at least the core compatibility as a fallback. $new_version = isset($info['version']) ? (string) $info['version'] : (string) $info['core'];