diff --git a/.gitignore b/.gitignore index 5a5ec6dbbe6..2e3c19c9ce3 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /downloads /Gruntfile.local.js /solr/vendor +/themes/minktest /vendor ChangeLog TAGS diff --git a/build.xml b/build.xml index d4af52e573b..107dd246ba6 100644 --- a/build.xml +++ b/build.xml @@ -58,6 +58,7 @@ + @@ -290,7 +291,7 @@ - + @@ -310,12 +311,12 @@ - + - + diff --git a/composer.json b/composer.json index e2ccd9418b6..5bd5587648b 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "apereo/phpcas": "1.6.1", "browscap/browscap-php": "^7.2", "cap60552/php-sip2": "1.0.0", - "colinmollenhour/credis": "1.15.0", + "colinmollenhour/credis": "1.16.0", "composer/package-versions-deprecated": "1.11.99.5", "composer/semver": "3.4.0", "endroid/qr-code": "4.8.2", @@ -72,22 +72,22 @@ "laminas/laminas-text": "2.10.0", "laminas/laminas-validator": "2.30.1", "laminas/laminas-view": "2.27.0", - "league/commonmark": "2.4.1", + "league/commonmark": "2.4.2", "league/oauth2-server": "8.5.4", "lm-commons/lmc-rbac-mvc": "3.3.2", "matthiasmullie/minify": "1.3.71", "pear/archive_tar": "^1.4", - "pear/http_request2": "2.5.1", + "pear/http_request2": "2.6.0", "phing/phing": "2.17.4", "ppito/laminas-whoops": "2.2.0", - "scssphp/scssphp": "1.11.1", + "scssphp/scssphp": "1.12.1", "serialssolutions/summon": "1.3.1", "slm/locale": "1.1.0", "steverhoades/oauth2-openid-connect-server": "2.6.1", - "swagger-api/swagger-ui": "5.9.0", + "swagger-api/swagger-ui": "5.11.8", "symfony/console": "5.4.28", - "symfony/yaml": "5.4.23", - "vstelmakh/url-highlight": "3.0.2", + "symfony/yaml": "6.4.3", + "vstelmakh/url-highlight": "3.0.3", "vufind-org/vufindcode": "1.2", "vufind-org/vufinddate": "1.2.0", "vufind-org/vufindharvest": "5.2.0", @@ -102,15 +102,15 @@ "behat/mink": "1.11.0", "behat/mink-selenium2-driver": "1.7.0", "dmore/chrome-mink-driver": "2.9.2", - "firebase/php-jwt": "6.8.1", - "friendsofphp/php-cs-fixer": "3.49.0", + "firebase/php-jwt": "6.10.0", + "friendsofphp/php-cs-fixer": "3.51.0", "phpmd/phpmd": "2.15.0", - "phpstan/phpstan": "1.10.57", + "phpstan/phpstan": "1.10.59", "phpunit/php-code-coverage": "10.1.11", "phpunit/phpcov": "^9.0", - "phpunit/phpunit": "10.5.10", - "pietercolpaert/hardf": "0.3.1", - "squizlabs/php_codesniffer": "3.8.1" + "phpunit/phpunit": "10.5.11", + "pietercolpaert/hardf": "0.4.0", + "squizlabs/php_codesniffer": "3.9.0" }, "extra": { "merge-plugin": { diff --git a/composer.lock b/composer.lock index fbf8e3e1cb5..8e547e7824d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b940541baf9043cfa50bdc29912514cd", + "content-hash": "3f49e2d640e8fdd7716f71aa056cd0f3", "packages": [ { "name": "ahand/mobileesp", @@ -424,16 +424,16 @@ }, { "name": "colinmollenhour/credis", - "version": "v1.15.0", + "version": "v1.16.0", "source": { "type": "git", "url": "https://github.com/colinmollenhour/credis.git", - "reference": "28810439de1d9597b7ba11794ed9479fb6f3de7c" + "reference": "5641140e14a9679f5a6f66c97268727f9558b881" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/28810439de1d9597b7ba11794ed9479fb6f3de7c", - "reference": "28810439de1d9597b7ba11794ed9479fb6f3de7c", + "url": "https://api.github.com/repos/colinmollenhour/credis/zipball/5641140e14a9679f5a6f66c97268727f9558b881", + "reference": "5641140e14a9679f5a6f66c97268727f9558b881", "shasum": "" }, "require": { @@ -465,9 +465,9 @@ "homepage": "https://github.com/colinmollenhour/credis", "support": { "issues": "https://github.com/colinmollenhour/credis/issues", - "source": "https://github.com/colinmollenhour/credis/tree/v1.15.0" + "source": "https://github.com/colinmollenhour/credis/tree/v1.16.0" }, - "time": "2023-04-18T15:34:23+00:00" + "time": "2023-10-26T17:02:51+00:00" }, { "name": "composer/package-versions-deprecated", @@ -4340,16 +4340,16 @@ }, { "name": "laminas/laminas-router", - "version": "3.12.0", + "version": "3.13.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-router.git", - "reference": "e8f1a9ecd63d123c38de3519fe7ca9013da4f8d2" + "reference": "04e14e757303787c83f79298dbd4483eebacfeb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-router/zipball/e8f1a9ecd63d123c38de3519fe7ca9013da4f8d2", - "reference": "e8f1a9ecd63d123c38de3519fe7ca9013da4f8d2", + "url": "https://api.github.com/repos/laminas/laminas-router/zipball/04e14e757303787c83f79298dbd4483eebacfeb9", + "reference": "04e14e757303787c83f79298dbd4483eebacfeb9", "shasum": "" }, "require": { @@ -4363,10 +4363,10 @@ }, "require-dev": { "laminas/laminas-coding-standard": "~2.5.0", - "laminas/laminas-i18n": "^2.23.1", - "phpunit/phpunit": "^10.4.2", + "laminas/laminas-i18n": "^2.26.0", + "phpunit/phpunit": "^10.5.11", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.15.0" + "vimeo/psalm": "^5.22.2" }, "suggest": { "laminas/laminas-i18n": "^2.15.0 if defining translatable HTTP path segments" @@ -4407,7 +4407,7 @@ "type": "community_bridge" } ], - "time": "2023-11-02T17:21:39+00:00" + "time": "2024-03-05T12:54:05+00:00" }, { "name": "laminas/laminas-serializer", @@ -5151,16 +5151,16 @@ }, { "name": "league/commonmark", - "version": "2.4.1", + "version": "2.4.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", - "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", "shasum": "" }, "require": { @@ -5173,7 +5173,7 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", + "commonmark/cmark": "0.30.3", "commonmark/commonmark.js": "0.30.0", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", @@ -5183,10 +5183,10 @@ "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0" }, @@ -5253,7 +5253,7 @@ "type": "tidelift" } ], - "time": "2023-08-30T16:55:00+00:00" + "time": "2024-02-02T11:59:32+00:00" }, { "name": "league/config", @@ -5393,16 +5393,16 @@ }, { "name": "league/flysystem", - "version": "3.24.0", + "version": "3.25.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "b25a361508c407563b34fac6f64a8a17a8819675" + "reference": "4c44347133618cccd9b3df1729647a1577b4ad99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b25a361508c407563b34fac6f64a8a17a8819675", - "reference": "b25a361508c407563b34fac6f64a8a17a8819675", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4c44347133618cccd9b3df1729647a1577b4ad99", + "reference": "4c44347133618cccd9b3df1729647a1577b4ad99", "shasum": "" }, "require": { @@ -5430,7 +5430,7 @@ "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^3.0.34", + "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", "sabre/dav": "^4.6.0" @@ -5467,7 +5467,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.24.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.25.0" }, "funding": [ { @@ -5479,7 +5479,7 @@ "type": "github" } ], - "time": "2024-02-04T12:10:17+00:00" + "time": "2024-03-09T17:06:45+00:00" }, { "name": "league/flysystem-local", @@ -7301,16 +7301,16 @@ }, { "name": "pear/http_request2", - "version": "v2.5.1", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/pear/HTTP_Request2.git", - "reference": "db4ce7844f838d3adca0513a77420c0fec22ed2d" + "reference": "f010a16ccddd1ee7d2ee085e8006ee712c00f706" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/HTTP_Request2/zipball/db4ce7844f838d3adca0513a77420c0fec22ed2d", - "reference": "db4ce7844f838d3adca0513a77420c0fec22ed2d", + "url": "https://api.github.com/repos/pear/HTTP_Request2/zipball/f010a16ccddd1ee7d2ee085e8006ee712c00f706", + "reference": "f010a16ccddd1ee7d2ee085e8006ee712c00f706", "shasum": "" }, "require": { @@ -7356,7 +7356,7 @@ "issues": "https://github.com/pear/HTTP_Request2/issues", "source": "https://github.com/pear/HTTP_Request2" }, - "time": "2022-01-06T18:20:25+00:00" + "time": "2023-11-01T19:51:41+00:00" }, { "name": "pear/net_url2", @@ -7428,16 +7428,16 @@ }, { "name": "pear/pear-core-minimal", - "version": "v1.10.14", + "version": "v1.10.15", "source": { "type": "git", "url": "https://github.com/pear/pear-core-minimal.git", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32" + "reference": "d457b5c93e5001fbf4b5726d21038266e029e3be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/a86fc145edb5caedbf96527214ce3cadc9de4a32", - "reference": "a86fc145edb5caedbf96527214ce3cadc9de4a32", + "url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/d457b5c93e5001fbf4b5726d21038266e029e3be", + "reference": "d457b5c93e5001fbf4b5726d21038266e029e3be", "shasum": "" }, "require": { @@ -7473,7 +7473,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", "source": "https://github.com/pear/pear-core-minimal" }, - "time": "2023-11-26T16:15:38+00:00" + "time": "2024-03-09T19:38:40+00:00" }, { "name": "pear/pear_exception", @@ -8387,16 +8387,16 @@ }, { "name": "scssphp/scssphp", - "version": "v1.11.1", + "version": "v1.12.1", "source": { "type": "git", "url": "https://github.com/scssphp/scssphp.git", - "reference": "ace2503684bab0dcc817d7614c8a54b865122414" + "reference": "394ed1e960138710a60d035c1a85d43d0bf0faeb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scssphp/scssphp/zipball/ace2503684bab0dcc817d7614c8a54b865122414", - "reference": "ace2503684bab0dcc817d7614c8a54b865122414", + "url": "https://api.github.com/repos/scssphp/scssphp/zipball/394ed1e960138710a60d035c1a85d43d0bf0faeb", + "reference": "394ed1e960138710a60d035c1a85d43d0bf0faeb", "shasum": "" }, "require": { @@ -8461,9 +8461,9 @@ ], "support": { "issues": "https://github.com/scssphp/scssphp/issues", - "source": "https://github.com/scssphp/scssphp/tree/v1.11.1" + "source": "https://github.com/scssphp/scssphp/tree/v1.12.1" }, - "time": "2023-09-24T13:38:17+00:00" + "time": "2024-01-13T12:36:40+00:00" }, { "name": "serialssolutions/summon", @@ -8663,16 +8663,16 @@ }, { "name": "swagger-api/swagger-ui", - "version": "v5.9.0", + "version": "v5.11.8", "source": { "type": "git", "url": "https://github.com/swagger-api/swagger-ui.git", - "reference": "cbfc3e949d3d9e2b71d566fb722cb3970036f593" + "reference": "da3d4a9946a218e1f51e879357bafcf09983aadc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/cbfc3e949d3d9e2b71d566fb722cb3970036f593", - "reference": "cbfc3e949d3d9e2b71d566fb722cb3970036f593", + "url": "https://api.github.com/repos/swagger-api/swagger-ui/zipball/da3d4a9946a218e1f51e879357bafcf09983aadc", + "reference": "da3d4a9946a218e1f51e879357bafcf09983aadc", "shasum": "" }, "type": "library", @@ -8718,9 +8718,9 @@ ], "support": { "issues": "https://github.com/swagger-api/swagger-ui/issues", - "source": "https://github.com/swagger-api/swagger-ui/tree/v5.9.0" + "source": "https://github.com/swagger-api/swagger-ui/tree/v5.11.8" }, - "time": "2023-09-29T12:27:07+00:00" + "time": "2024-02-23T11:46:00+00:00" }, { "name": "swen100/geophp", @@ -8799,16 +8799,16 @@ }, { "name": "symfony/cache", - "version": "v5.4.35", + "version": "v5.4.36", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "db1adb004e2da984085d0178964eb6f319d3cba1" + "reference": "a30f316214d908cf5874f700f3f3fb29ceee91ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/db1adb004e2da984085d0178964eb6f319d3cba1", - "reference": "db1adb004e2da984085d0178964eb6f319d3cba1", + "url": "https://api.github.com/repos/symfony/cache/zipball/a30f316214d908cf5874f700f3f3fb29ceee91ba", + "reference": "a30f316214d908cf5874f700f3f3fb29ceee91ba", "shasum": "" }, "require": { @@ -8876,7 +8876,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.35" + "source": "https://github.com/symfony/cache/tree/v5.4.36" }, "funding": [ { @@ -8892,7 +8892,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-02-19T13:08:14+00:00" }, { "name": "symfony/cache-contracts", @@ -8975,16 +8975,16 @@ }, { "name": "symfony/config", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f" + "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/206482ff3ed450495b1d5b7bad1bc3a852def96f", - "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f", + "url": "https://api.github.com/repos/symfony/config/zipball/6ea4affc27f2086c9d16b92ab5429ce1e3c38047", + "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047", "shasum": "" }, "require": { @@ -9030,7 +9030,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.3" + "source": "https://github.com/symfony/config/tree/v6.4.4" }, "funding": [ { @@ -9046,7 +9046,7 @@ "type": "tidelift" } ], - "time": "2024-01-29T13:26:27+00:00" + "time": "2024-02-26T07:52:26+00:00" }, { "name": "symfony/console", @@ -9149,16 +9149,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "6871811c5a5c5e180244ddb689746446db02c05b" + "reference": "6236e5e843cb763e9d0f74245678b994afea5363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6871811c5a5c5e180244ddb689746446db02c05b", - "reference": "6871811c5a5c5e180244ddb689746446db02c05b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6236e5e843cb763e9d0f74245678b994afea5363", + "reference": "6236e5e843cb763e9d0f74245678b994afea5363", "shasum": "" }, "require": { @@ -9210,7 +9210,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.3" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.4" }, "funding": [ { @@ -9226,7 +9226,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:32:12+00:00" + "time": "2024-02-22T20:27:10+00:00" }, { "name": "symfony/deprecation-contracts", @@ -10622,16 +10622,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.3", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "url": "https://api.github.com/repos/symfony/routing/zipball/7fe30068e207d9c31c0138501ab40358eb2d49a4", + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4", "shasum": "" }, "require": { @@ -10685,7 +10685,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.3" + "source": "https://github.com/symfony/routing/tree/v6.4.5" }, "funding": [ { @@ -10701,7 +10701,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T13:55:02+00:00" + "time": "2024-02-27T12:33:30+00:00" }, { "name": "symfony/service-contracts", @@ -10787,16 +10787,16 @@ }, { "name": "symfony/string", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b" + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b", + "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", "shasum": "" }, "require": { @@ -10853,7 +10853,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.3" + "source": "https://github.com/symfony/string/tree/v6.4.4" }, "funding": [ { @@ -10869,20 +10869,20 @@ "type": "tidelift" } ], - "time": "2024-01-25T09:26:29+00:00" + "time": "2024-02-01T13:16:41+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "0435a08f69125535336177c29d56af3abc1f69da" + "reference": "b439823f04c98b84d4366c79507e9da6230944b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", - "reference": "0435a08f69125535336177c29d56af3abc1f69da", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b439823f04c98b84d4366c79507e9da6230944b1", + "reference": "b439823f04c98b84d4366c79507e9da6230944b1", "shasum": "" }, "require": { @@ -10938,7 +10938,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.3" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.4" }, "funding": [ { @@ -10954,20 +10954,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:53:30+00:00" + "time": "2024-02-15T11:23:52+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8" + "reference": "0bd342e24aef49fc82a21bd4eedd3e665d177e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", - "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0bd342e24aef49fc82a21bd4eedd3e665d177e5b", + "reference": "0bd342e24aef49fc82a21bd4eedd3e665d177e5b", "shasum": "" }, "require": { @@ -11013,7 +11013,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.3" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.4" }, "funding": [ { @@ -11029,35 +11029,32 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-26T08:37:45+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.23", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b" + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b", - "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b", + "url": "https://api.github.com/repos/symfony/yaml/zipball/d75715985f0f94f978e3a8fa42533e10db921b90", + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.3" + "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "symfony/console": "^5.4|^6.0|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -11088,7 +11085,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.23" + "source": "https://github.com/symfony/yaml/tree/v6.4.3" }, "funding": [ { @@ -11104,7 +11101,7 @@ "type": "tidelift" } ], - "time": "2023-04-23T19:33:36+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "tecnickcom/tcpdf", @@ -11180,16 +11177,16 @@ }, { "name": "vstelmakh/url-highlight", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/vstelmakh/url-highlight.git", - "reference": "458f1af6acdf63d33e7fb43aeeecb4bfe64bda2b" + "reference": "986c32c7f5b254c800472197fb31dd378c528a47" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vstelmakh/url-highlight/zipball/458f1af6acdf63d33e7fb43aeeecb4bfe64bda2b", - "reference": "458f1af6acdf63d33e7fb43aeeecb4bfe64bda2b", + "url": "https://api.github.com/repos/vstelmakh/url-highlight/zipball/986c32c7f5b254c800472197fb31dd378c528a47", + "reference": "986c32c7f5b254c800472197fb31dd378c528a47", "shasum": "" }, "require": { @@ -11233,9 +11230,9 @@ ], "support": { "issues": "https://github.com/vstelmakh/url-highlight/issues", - "source": "https://github.com/vstelmakh/url-highlight/tree/v3.0.2" + "source": "https://github.com/vstelmakh/url-highlight/tree/v3.0.3" }, - "time": "2023-01-15T16:58:38+00:00" + "time": "2023-11-04T19:15:03+00:00" }, { "name": "vufind-org/vufind-marc", @@ -11659,16 +11656,16 @@ }, { "name": "webmozart/glob", - "version": "4.6.0", + "version": "4.7.0", "source": { "type": "git", "url": "https://github.com/webmozarts/glob.git", - "reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655" + "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/glob/zipball/3c17f7dec3d9d0e87b575026011f2e75a56ed655", - "reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655", + "url": "https://api.github.com/repos/webmozarts/glob/zipball/8a2842112d6916e61e0e15e316465b611f3abc17", + "reference": "8a2842112d6916e61e0e15e316465b611f3abc17", "shasum": "" }, "require": { @@ -11702,9 +11699,9 @@ "description": "A PHP implementation of Ant's glob.", "support": { "issues": "https://github.com/webmozarts/glob/issues", - "source": "https://github.com/webmozarts/glob/tree/4.6.0" + "source": "https://github.com/webmozarts/glob/tree/4.7.0" }, - "time": "2022-05-24T19:45:58+00:00" + "time": "2024-03-07T20:33:40+00:00" }, { "name": "wikimedia/composer-merge-plugin", @@ -12020,16 +12017,16 @@ }, { "name": "composer/pcre", - "version": "3.1.1", + "version": "3.1.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" + "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace", + "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace", "shasum": "" }, "require": { @@ -12071,7 +12068,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.1" + "source": "https://github.com/composer/pcre/tree/3.1.2" }, "funding": [ { @@ -12087,7 +12084,7 @@ "type": "tidelift" } ], - "time": "2023-10-11T07:11:09+00:00" + "time": "2024-03-07T15:38:35+00:00" }, { "name": "composer/xdebug-handler", @@ -12206,16 +12203,16 @@ }, { "name": "firebase/php-jwt", - "version": "v6.8.1", + "version": "v6.10.0", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26" + "reference": "a49db6f0a5033aef5143295342f1c95521b075ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5dbc8959427416b8ee09a100d7a8588c00fb2e26", - "reference": "5dbc8959427416b8ee09a100d7a8588c00fb2e26", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/a49db6f0a5033aef5143295342f1c95521b075ff", + "reference": "a49db6f0a5033aef5143295342f1c95521b075ff", "shasum": "" }, "require": { @@ -12263,22 +12260,22 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.8.1" + "source": "https://github.com/firebase/php-jwt/tree/v6.10.0" }, - "time": "2023-07-14T18:33:00+00:00" + "time": "2023-12-01T16:26:39+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.49.0", + "version": "v3.51.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2" + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/8742f7aa6f72a399688b65e4f58992c2d4681fc2", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd", + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd", "shasum": "" }, "require": { @@ -12288,7 +12285,7 @@ "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", "symfony/console": "^5.4 || ^6.0 || ^7.0", "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", @@ -12309,7 +12306,8 @@ "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4", - "phpunit/phpunit": "^9.6 || ^10.5.5", + "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2", + "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { @@ -12348,7 +12346,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.49.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0" }, "funding": [ { @@ -12356,7 +12354,7 @@ "type": "github" } ], - "time": "2024-02-02T00:41:40+00:00" + "time": "2024-02-28T19:50:06+00:00" }, { "name": "instaclick/php-webdriver", @@ -12545,20 +12543,21 @@ }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -12599,9 +12598,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -12739,16 +12744,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.57", + "version": "1.10.59", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "1627b1d03446904aaa77593f370c5201d2ecc34e" + "reference": "e607609388d3a6d418a50a49f7940e8086798281" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1627b1d03446904aaa77593f370c5201d2ecc34e", - "reference": "1627b1d03446904aaa77593f370c5201d2ecc34e", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e607609388d3a6d418a50a49f7940e8086798281", + "reference": "e607609388d3a6d418a50a49f7940e8086798281", "shasum": "" }, "require": { @@ -12797,7 +12802,7 @@ "type": "tidelift" } ], - "time": "2024-01-24T11:51:34+00:00" + "time": "2024-02-20T13:59:13+00:00" }, { "name": "phpunit/php-code-coverage", @@ -13184,16 +13189,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.10", + "version": "10.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c" + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50b8e314b6d0dd06521dc31d1abffa73f25f850c", - "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", "shasum": "" }, "require": { @@ -13265,7 +13270,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.11" }, "funding": [ { @@ -13281,7 +13286,7 @@ "type": "tidelift" } ], - "time": "2024-02-04T09:07:51+00:00" + "time": "2024-02-25T14:05:00+00:00" }, { "name": "phrity/net-uri", @@ -13340,30 +13345,30 @@ }, { "name": "phrity/util-errorhandler", - "version": "1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/sirn-se/phrity-util-errorhandler.git", - "reference": "dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc" + "reference": "4016d9f9615a4c602f525b0542e4835e316a42e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc", - "reference": "dc9ac8fb70d733c48a9d9d1eb50f7022172da6bc", + "url": "https://api.github.com/repos/sirn-se/phrity-util-errorhandler/zipball/4016d9f9615a4c602f525b0542e4835e316a42e4", + "reference": "4016d9f9615a4c602f525b0542e4835e316a42e4", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4 | ^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "^8.0|^9.0", + "phpunit/phpunit": "^9.0 | ^10.0 | ^11.0", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "autoload": { "psr-4": { - "": "src/" + "Phrity\\Util\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -13385,22 +13390,22 @@ ], "support": { "issues": "https://github.com/sirn-se/phrity-util-errorhandler/issues", - "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.0.1" + "source": "https://github.com/sirn-se/phrity-util-errorhandler/tree/1.1.0" }, - "time": "2022-10-27T12:14:42+00:00" + "time": "2024-03-05T19:32:14+00:00" }, { "name": "pietercolpaert/hardf", - "version": "0.3.1", + "version": "0.4.0", "source": { "type": "git", "url": "https://github.com/pietercolpaert/hardf.git", - "reference": "8bebaa00f5ebde17f58ebe34b67814645b8f69d8" + "reference": "142f38d746793829f61c43cdd9721a5b0bff371d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pietercolpaert/hardf/zipball/8bebaa00f5ebde17f58ebe34b67814645b8f69d8", - "reference": "8bebaa00f5ebde17f58ebe34b67814645b8f69d8", + "url": "https://api.github.com/repos/pietercolpaert/hardf/zipball/142f38d746793829f61c43cdd9721a5b0bff371d", + "reference": "142f38d746793829f61c43cdd9721a5b0bff371d", "shasum": "" }, "require": { @@ -13455,20 +13460,20 @@ "issues": "https://github.com/pietercolpaert/hardf/issues", "source": "https://github.com/pietercolpaert/hardf" }, - "time": "2021-03-30T12:05:00+00:00" + "time": "2024-02-27T14:47:16+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", "shasum": "" }, "require": { @@ -13503,7 +13508,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" }, "funding": [ { @@ -13511,7 +13517,7 @@ "type": "github" } ], - "time": "2023-02-03T06:58:15+00:00" + "time": "2024-03-02T07:12:49+00:00" }, { "name": "sebastian/code-unit", @@ -13761,16 +13767,16 @@ }, { "name": "sebastian/diff", - "version": "5.1.0", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f" + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f", - "reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", "shasum": "" }, "require": { @@ -13778,7 +13784,7 @@ }, "require-dev": { "phpunit/phpunit": "^10.0", - "symfony/process": "^4.2 || ^5" + "symfony/process": "^6.4" }, "type": "library", "extra": { @@ -13816,7 +13822,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.0" + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" }, "funding": [ { @@ -13824,7 +13830,7 @@ "type": "github" } ], - "time": "2023-12-22T10:55:06+00:00" + "time": "2024-03-02T07:15:17+00:00" }, { "name": "sebastian/environment", @@ -13892,16 +13898,16 @@ }, { "name": "sebastian/exporter", - "version": "5.1.1", + "version": "5.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", "shasum": "" }, "require": { @@ -13958,7 +13964,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" }, "funding": [ { @@ -13966,20 +13972,20 @@ "type": "github" } ], - "time": "2023-09-24T13:22:09+00:00" + "time": "2024-03-02T07:17:12+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", "shasum": "" }, "require": { @@ -14013,14 +14019,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" }, "funding": [ { @@ -14028,7 +14034,7 @@ "type": "github" } ], - "time": "2023-07-19T07:19:23+00:00" + "time": "2024-03-02T07:19:19+00:00" }, { "name": "sebastian/lines-of-code", @@ -14374,16 +14380,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.8.1", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", - "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b", + "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b", "shasum": "" }, "require": { @@ -14450,7 +14456,7 @@ "type": "open_collective" } ], - "time": "2024-01-11T20:47:48+00:00" + "time": "2024-02-16T15:06:51+00:00" }, { "name": "symfony/css-selector", @@ -14662,16 +14668,16 @@ }, { "name": "symfony/process", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" + "reference": "710e27879e9be3395de2b98da3f52a946039f297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", + "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", + "reference": "710e27879e9be3395de2b98da3f52a946039f297", "shasum": "" }, "require": { @@ -14703,7 +14709,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.3" + "source": "https://github.com/symfony/process/tree/v6.4.4" }, "funding": [ { @@ -14719,7 +14725,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-20T12:31:00+00:00" }, { "name": "symfony/stopwatch", @@ -14836,16 +14842,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -14874,7 +14880,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -14882,7 +14888,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "aliases": [], diff --git a/config/application.php b/config/application.php index cd117755310..e76c49b8b65 100644 --- a/config/application.php +++ b/config/application.php @@ -3,7 +3,7 @@ // Composer autoloading $autoloader = __DIR__ . '/../vendor/autoload.php'; if (file_exists($autoloader)) { - $loader = include $autoloader; + include $autoloader; } if (!class_exists(\Laminas\Loader\AutoloaderFactory::class)) { diff --git a/config/vufind/AccountMenu.yaml b/config/vufind/AccountMenu.yaml index 9685b439fbc..48acdc09dbf 100644 --- a/config/vufind/AccountMenu.yaml +++ b/config/vufind/AccountMenu.yaml @@ -13,7 +13,7 @@ MenuItems: - name: favorites - label: Favorites + label: saved_items route: myresearch-favorites icon: user-favorites checkMethod: checkFavorites diff --git a/config/vufind/Aleph.ini b/config/vufind/Aleph.ini index cd9c29572fb..d14be5472d7 100644 --- a/config/vufind/Aleph.ini +++ b/config/vufind/Aleph.ini @@ -35,7 +35,7 @@ useradm = MZK50 ; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is ; your a prefix that you have defined. This is the library you connect to with -; your circ client. You'll also see it in your cataloging client because the +; your circulation client. You'll also see it in your cataloging client because the ; items will be hanging from it. admlib = MZK50 diff --git a/config/vufind/FeedbackForms.yaml b/config/vufind/FeedbackForms.yaml index b8a77ca2561..f24680a9b59 100644 --- a/config/vufind/FeedbackForms.yaml +++ b/config/vufind/FeedbackForms.yaml @@ -40,7 +40,7 @@ # - name: Recipient 2 # email: recipient2@email # -# response (string) Reponse after form submit (translation key) +# response (string) Response after form submit (translation key) # senderInfoRequired (boolean) Require sender to fill out name and email fields - deprecated # senderEmailRequired (boolean) Require sender to fill out email field # senderNameRequired (boolean) Require sender to fill out name field diff --git a/config/vufind/KohaILSDI.ini b/config/vufind/KohaILSDI.ini index 8d4d3599b1e..fd3387e8a6a 100755 --- a/config/vufind/KohaILSDI.ini +++ b/config/vufind/KohaILSDI.ini @@ -1,7 +1,7 @@ ; KohaILSDI Driver Config ; This driver differs that it uses the ISL-DI API instead of direct database calls -; It does however, fallback to direct database calls to enhance functionaility +; It does however, fallback to direct database calls to enhance functionality ; that is not available in in the ILS-DI API. ; You must enable ILS-DI in the Web services preferences in Koha @@ -36,7 +36,7 @@ dontValidatePasswords = false ; or from field permanent_location (set this to true for this option) showPermanentLocation = false -; Whethet to show home branch of an item or current holding branch +; Whether to show home branch of an item or current holding branch showHomebranch = false ; This section controls hold behavior; note that you must also ensure that Holds are @@ -74,7 +74,7 @@ extraHoldFields = pickUpLocation ; as a fallback. defaultPickUpLocation = "MAIN" -; branchcodes for libraries avalaible as pickup locations +; branchcodes for libraries available as pickup locations pickupLocations[] = MAIN ; Optional help texts that can be displayed on the hold form. Displayed as is; diff --git a/config/vufind/OAuth2Server.yaml b/config/vufind/OAuth2Server.yaml index 3450ba3d939..d11fd575063 100644 --- a/config/vufind/OAuth2Server.yaml +++ b/config/vufind/OAuth2Server.yaml @@ -40,7 +40,7 @@ Clients: # be enabled for non-confidential clients. pkce: true # Whether the client is confidential (as opposed to a public one such as an - # in-browser app). Only condidential clients can be verified by the client + # in-browser app). Only confidential clients can be verified by the client # secret. isConfidential: false # Hash of a client secret. You can use the following command to get a hash for a diff --git a/config/vufind/config.ini b/config/vufind/config.ini index a04a6080714..ce41e7499de 100644 --- a/config/vufind/config.ini +++ b/config/vufind/config.ini @@ -548,7 +548,7 @@ ils_encryption_key = false ; You can use openssl_get_cipher_methods() to see available options on your system. ; Common choices: blowfish (deprecated -- do not use), aes (recommended), cast, sm4 ; If you want to convert from one algorithm to another, run this from $VUFIND_HOME: -; php public/index.php util switch_db_hash oldhash:oldkey (or none) newhash:newkey +; php public/index.php util switch_db_hash new_algorithm new_key ils_encryption_algo = "aes" ; This setting may optionally be uncommented to restrict the email domain(s) from @@ -619,6 +619,10 @@ username_hint = username_only_letters_numbers_and_basic_punctuation ; Whether to send email warnings about suspicious logins. Default is true. ;send_persistent_login_warnings = true +; Whether to use a more lenient token rotation to avoid cookie issues with Safari, +; which sometimes fails to maintain cookies across sessions. Default is true. +;lenient_token_rotation = true + ; Subject for the email sent after a suspicious login has been detected. ; Default email subject will be the translation for ; "persistent_login_warning_email_subject" and any custom value used here diff --git a/config/vufind/geofeatures.ini b/config/vufind/geofeatures.ini index 3813818eed0..6f670209b83 100644 --- a/config/vufind/geofeatures.ini +++ b/config/vufind/geofeatures.ini @@ -6,7 +6,7 @@ ; config.ini and searches.ini files. [Basemap] -; Configures the basemap that is used to display geographic featuers. +; Configures the basemap that is used to display geographic features. ; Default basemap configuration is the osm-intl option below, and other ; open source basemap options are provided as examples. ; diff --git a/config/vufind/searchbox.ini b/config/vufind/searchbox.ini index 3408be57cca..40d176cb5a9 100644 --- a/config/vufind/searchbox.ini +++ b/config/vufind/searchbox.ini @@ -33,7 +33,7 @@ defaultGroupLabel = false ; searches, if this is a non-empty value, it will override the first ; label provided by the search options, and subsequent options will be ; indented beneath it. If you use an empty value, all options will use -; their existing default labels, and no identation will be applied. This +; their existing default labels, and no indentation will be applied. This ; allows two different approaches to grouping related options, with or ; without option groups (see group[] below). ; group[] = Option group label to wrap around the option(s) represented here; if diff --git a/languages/ISO639-3/de.ini b/languages/ISO639-3/de.ini index 4b2df8e2c98..cd2105a329d 100644 --- a/languages/ISO639-3/de.ini +++ b/languages/ISO639-3/de.ini @@ -840,7 +840,7 @@ mij = "Abar" mik = "Hitchiti-Mikasuki-Sprache" min = "Minangkabau" miq = "Miskito" -mis = 'Unbekannt??? = "Unbekannt"' +mis = "Andere Sprache" mjg = "Mangghuer" mjt = "Malto" mkd = "Mazedonisch" diff --git a/languages/ar.ini b/languages/ar.ini index e1097714c02..3544179ed48 100644 --- a/languages/ar.ini +++ b/languages/ar.ini @@ -309,6 +309,7 @@ date_to = "إلى" date_year_placeholder = "السنة" Debug Information = "معلومات التنقيح" deep_paging_failure = "صفحة نتائج البحث التي طلبتها غير متاحة حالياً؛ تمت إعادة توجيهك إلى صفحة %%page%%." +default_list_title = "مفضلتي" del_search = "حذف مجموعة البحث" del_search_num = "إزالة مجموعة البحث %%num%%" Delete = "حذف" @@ -462,7 +463,6 @@ fav_export = "تصدير المفضلة" fav_list_delete = "تم حذف القائمة" fav_list_delete_cancel = "لم يتم حذف هذه القائمة" fav_list_delete_fail = "عذرا، لقد حدث خطـأ. لم يتم حذف قائمتك." -Favorites = "المفضلة" Fee = "رسم" Feedback = "تغذية راجعة" Feedback Management = "إدارة التغذية الراجعة" @@ -810,7 +810,6 @@ Most Recent Received Issues = "أحدث الإصدارات المستلمة" Multiple Call Numbers = "أرقام استدعاء متعددة" Multiple Locations = "مواقع متعددة" Musical Score = "قطعة موسيقية" -My Favorites = "مفضلتي" My Fines = "غراماتي" My Holds = "حجوزاتي" My Profile = "صفحتي الشخصية" @@ -1169,6 +1168,7 @@ Save Comment = "حفظ التعليق" save_search = "حفظ البحث" save_search_remove = "حذف البحث المحفوظ" Saved in = "محفوظ في" +saved_items = "المفضلة" schedule_daily = "يوميًا" schedule_explanation = "تلقي تنبيهات عبر البريد الإلكتروني حول النتائج الجديدة للبحث." schedule_none = "لا شيء" @@ -1459,7 +1459,6 @@ Your Account = "حسابك" Your book bag is empty = "سلة كتبك فارغة" Your Checked Out Items = "موادك المعارة" Your Comment = "تعليقك" -Your Favorites = "مفضلتك" Your Fines = "غراماتك" Your Holds and Recalls = "حجوزاتك واستدعاءاتك" Your Lists = "قوائمك" diff --git a/languages/bn.ini b/languages/bn.ini index a4ca8a95156..7118f942eb4 100644 --- a/languages/bn.ini +++ b/languages/bn.ini @@ -310,6 +310,7 @@ date_to = "অবধি" date_year_placeholder = "বছর" Debug Information = "ত্রুটি মুক্ত তথ্য" deep_paging_failure = "আপনার অনুরোধ করা অনুসন্ধান ফলাফল পৃষ্ঠাটি বর্তমানে উপলভ্য নয়; আপনাকে %%page%% পৃষ্ঠায় পুনঃনির্দেশিত করা হয়েছে।" +default_list_title = "পছন্দ তালিকাগুলি" del_search = "অনুসন্ধীত দল অপসারণ করুন" del_search_num = "সার্চ গ্রুপ % % num%% সরান" Delete = "মুছুন" @@ -463,7 +464,6 @@ fav_export = "পছন্দ তালিকাগুলি এক্সপো fav_list_delete = "তালিকাটি মোছা হয়েছে" fav_list_delete_cancel = "এই তালিকাটি মোছা যাবেনা" fav_list_delete_fail = "দুঃখিত, একটি ত্রুটি ঘটেছে। আপনার তালিকাটি মোছা যাবে না।" -Favorites = "উপাদানটি সংরক্ষন করা হয়েছে" Fee = "খরচ" Feedback = "প্রতিক্রিয়া পাঠান" Feedback Management = "প্রতিক্রিয়া ব্যবস্থাপনা" @@ -811,7 +811,6 @@ Most Recent Received Issues = "সম্প্রতিককালে গৃহ Multiple Call Numbers = "অনেক ডাকসংখ্যা" Multiple Locations = "স্থানগুলি" Musical Score = "বাদ্যযন্ত্রের স্কোর" -My Favorites = "পছন্দ তালিকাগুলি" My Fines = "জরিমানা" My Holds = "হোল্ড" My Profile = "রূপরেখা" @@ -1170,6 +1169,7 @@ Save Comment = "মন্তব্য সংরক্ষণ করুন" save_search = "অনুসন্ধান সংরক্ষণ করুন" save_search_remove = "সংরক্ষিত অনুসন্ধান মুছুন" Saved in = "সংরক্ষণ করুন" +saved_items = "উপাদানটি সংরক্ষন করা হয়েছে" schedule_daily = "দৈনন্দিন" schedule_explanation = "অনুসন্ধানের জন্য নতুন ফলাফল সম্পর্কিত ই-মেলগুলি পান।" schedule_none = "কোনটি নয়" @@ -1460,7 +1460,6 @@ Your Account = "আপনার আকাউন্ট" Your book bag is empty = "আপনার গ্রন্থসম্ভার শূন্য" Your Checked Out Items = "আপনার উপাদানগুলি প্রদান হয়েছে" Your Comment = "আপনার মন্তব্য" -Your Favorites = "উপাদানটি সংরক্ষিত" Your Fines = "আপনার জরিমানা" Your Holds and Recalls = "আপনার হোল্ডসগুলি এবং তলব তথ্যগুলি" Your Lists = "আপনার তালিকাগুলি" diff --git a/languages/ca.ini b/languages/ca.ini index 10bd0285c36..b9882a0ad01 100644 --- a/languages/ca.ini +++ b/languages/ca.ini @@ -320,6 +320,7 @@ date_to = "A" date_year_placeholder = "Y" Debug Information = "Informació de depuració" deep_paging_failure = "a pàgina de resultats de cerca que heu sol·licitat actualment no està disponible; se us ha redirigit a la pàgina %%page%%." +default_list_title = "Els meu favorits" del_search = "Eliminar cerca de grup" del_search_num = "Esborrar grup de cerca %%num%%" Delete = "Eliminar" @@ -473,7 +474,6 @@ fav_export = "Exportar favorits" fav_list_delete = "La vostra llista de favorits s’ha eliminat." fav_list_delete_cancel = "Aquesta llista no s’ha eliminat." fav_list_delete_fail = "Disculpeu, hi ha hagut un error. La vostra llista no s’ha eliminat." -Favorites = "Favorits" Fee = "Quota" Feedback = "Feedback" Feedback Management = "Gestió de feedback" @@ -821,7 +821,6 @@ Most Recent Received Issues = "Últims números rebuts" Multiple Call Numbers = "Múltiples topogràfics" Multiple Locations = "Múltiples localitzacions" Musical Score = "Partitura" -My Favorites = "Els meu favorits" My Fines = "Les meves sancions" My Holds = "Les meves reserves" My Profile = "El meu perfil" @@ -1180,6 +1179,7 @@ Save Comment = "Guardar comentari" save_search = "Guardar cerca" save_search_remove = "Eliminar la cerca guardada" Saved in = "Guardat en" +saved_items = "Favorits" schedule_daily = "Diària" schedule_explanation = "Rebre correus electrònics d'alerta sobre els nous resultats de la cerca." schedule_none = "Cap" @@ -1470,7 +1470,6 @@ Your Account = "El teu compte" Your book bag is empty = "El cistell de llibres és buit" Your Checked Out Items = "Exemplars prestats" Your Comment = "Comentaris" -Your Favorites = "Favorits" Your Fines = "Sancions" Your Holds and Recalls = "Reserves" Your Lists = "Llistes" diff --git a/languages/cs.ini b/languages/cs.ini index e5f1bf000bc..6dda60b1ab5 100644 --- a/languages/cs.ini +++ b/languages/cs.ini @@ -307,6 +307,7 @@ date_to = "do" date_year_placeholder = "y" Debug Information = "Informace o chybě" deep_paging_failure = "Požadovaná stránka s výsledky není v tuto chvíli k dispozici, byli jste přesměrování na stránku číslo %%page%%." +default_list_title = "Oblíbené" del_search = "Odstranit vyhledávací skupinu" del_search_num = "Odstranit vyhledávací skupinu %%num%%" Delete = "Odstranit" @@ -461,7 +462,6 @@ fav_export = "Exportovat oblíbené" fav_list_delete = "Seznam byl odstraněn." fav_list_delete_cancel = "Seznam nebyl odstraněn." fav_list_delete_fail = "Promiňte, ale došlo k chybě. Váš seznam nebyl odstraněn." -Favorites = "Oblíbené" Fee = "Poplatek" Feedback = "Váš názor" Feedback Management = "Správa zpětné vazby" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Nejnovější jednotky" Multiple Call Numbers = "Více signatur" Multiple Locations = "Více umístění" Musical Score = "Hudebnina" -My Favorites = "Oblíbené" My Fines = "Poplatky" My Holds = "Rezervace" My Profile = "Profil" @@ -1168,6 +1167,7 @@ Save Comment = "Uložte komentář" save_search = "Uložit hledání" save_search_remove = "Odstranit uložené hledání" Saved in = "Uloženo v" +saved_items = "Oblíbené" schedule_daily = "Denně" schedule_explanation = "Nechte si zasílat nové výsledky vyhledávání na Váš e-mail." schedule_none = "Nikdy" @@ -1458,7 +1458,6 @@ Your Account = "Váš účet" Your book bag is empty = "Váš košík je prázdný" Your Checked Out Items = "Vaše aktuální výpůjčky" Your Comment = "Vaše komentáře" -Your Favorites = "Oblíbené" Your Fines = "Vaše upomínky" Your Holds and Recalls = "Vaše rezervace a objednávky" Your Lists = "Vaše seznamy" diff --git a/languages/cy.ini b/languages/cy.ini index ec3f4247a43..413dad3e3a8 100644 --- a/languages/cy.ini +++ b/languages/cy.ini @@ -282,6 +282,7 @@ date_to = "i" date_year_placeholder = "C" Debug Information = "Dadfygio Gwybodaeth" deep_paging_failure = "Nid yw'r dudalen canlyniadau chwilio yr ydych yn gofyn amdani ar gael ar hyn o bryd; rydych wedi cael eich ailgyfeirio i dudalen %%page%%." +default_list_title = "Fy Ffefrynnau" del_search = "Gwaredu Grŵp Chwilio" Delete = "Dileu" delete_account_confirm = "Ydych chi'n sicr eich bod yn dymuno dileu eich cyfrif?" @@ -411,7 +412,6 @@ fav_export = "Allfudo Ffefrynnau" fav_list_delete = "Dilëwyd eich rhestr ffefrynnau." fav_list_delete_cancel = "Ni ddilëwyd y rhestr hon." fav_list_delete_fail = "Mae'n ddrwg gennym, mae gwall wedi digwydd. Ni ddilëwyd eich rhestr." -Favorites = "Ffefrynnau" Fee = "Fee" Feedback = "Adborth" feedback_email = "E-bost" @@ -703,7 +703,6 @@ Most Recent Received Issues = "Materion Mwyaf Diweddar a Dderbyniwyd" Multiple Call Numbers = "Rhifau Galw Lluosog" Multiple Locations = "Lleoliadau Lluosog" Musical Score = "Sgôr Cerddorol" -My Favorites = "Fy Ffefrynnau" My Fines = "Fy Nirwyon" My Holds = "Fy Naliadau" My Profile = "Fy Mhroffil" @@ -1021,6 +1020,7 @@ Save Comment = "Cadw Sylwadau" save_search = "Cadw'r Chwiliad" save_search_remove = "Gwaredu'r Chwiliad a Gadwyd" Saved in = "Wedi'i Gadw mewn" +saved_items = "Ffefrynnau" schedule_daily = "Bob dydd" schedule_explanation = "Derbyn e-byst hysbysu am ganlyniadau newydd ar gyfer chwiliad." schedule_none = "Dim" @@ -1284,7 +1284,6 @@ Your Account = "Fy Nghyfrif" Your book bag is empty = "Mae eich bag llyfrau'n wag" Your Checked Out Items = "Eitemau ar Fenthyg" Your Comment = "Eich Arsylwad" -Your Favorites = "Ffefrynnau" Your Fines = "Dirwyon" Your Holds and Recalls = "Daliadau ac Adalwadau" Your Lists = "Rhestrau" diff --git a/languages/da.ini b/languages/da.ini index 44916547781..099c4e4f672 100644 --- a/languages/da.ini +++ b/languages/da.ini @@ -182,6 +182,7 @@ date_month_placeholder = "M" date_to = "Til" date_year_placeholder = "Å" Debug Information = "Debug Information" +default_list_title = "Mine favoritter" del_search = "Fjern søgegruppe" Delete = "Slet" delete_list = "Slet liste" @@ -248,7 +249,6 @@ fav_export = "Eksportér favoritter" fav_list_delete = "Din favoritliste blev slettet." fav_list_delete_cancel = "Denne liste blev ikke slettet." fav_list_delete_fail = "Vi beklager. Der er sket en fejl. Den liste blev ikke slettet." -Favorites = "Favoritter" Fee = "Betaling" feedback_email = "Email" feedback_help_label = "Har du brug for hjælp?" @@ -409,7 +409,6 @@ Most Recent Received Issues = "Senest modtagede eksemplarer" Multiple Call Numbers = "Flere klassifikationsnumre" Multiple Locations = "Flere lokationer" Musical Score = "Musical Score" -My Favorites = "Mine favoritter" My Fines = "Mine bøder" My Holds = "Mine beholdninger" My Profile = "Min profil" @@ -537,6 +536,7 @@ Save = "Gem" Save Comment = "Gem kommentar" save_search = "Gem søgning" save_search_remove = "Fjern gemt søgning" +saved_items = "Favoritter" scholarly_limit = "Afgræns til artikler fra fagtidsskrifter" Search = "Søg" Search For = "Søg efter" @@ -675,7 +675,6 @@ Your Account = "Din konto" Your book bag is empty = "Din bogkurv er tom" Your Checked Out Items = "Dine udlån" Your Comment = "Din kommentar" -Your Favorites = "Dine favoritter" Your Fines = "Dine bøder" Your Holds and Recalls = "Dine lån og hjemkaldelser" Your Lists = "Dine lister" diff --git a/languages/de.ini b/languages/de.ini index ed1e42c7314..a3ec8f24979 100644 --- a/languages/de.ini +++ b/languages/de.ini @@ -310,6 +310,7 @@ date_to = "Bis" date_year_placeholder = "J" Debug Information = "Debug Information" deep_paging_failure = "Die von Ihnen angeforderte Seite mit den Suchergebnissen ist derzeit nicht verfügbar; Sie wurden zu Seite %%page%% weitergeleitet." +default_list_title = "Meine Favoriten" del_search = "Suchgruppe entfernen" del_search_num = "Suchgruppe %%num%% aufheben" Delete = "Löschen" @@ -479,7 +480,6 @@ fav_export = "Favoriten exportieren" fav_list_delete = "Ihre Favoritenliste wurde gelöscht." fav_list_delete_cancel = "Die Liste wurde nicht gelöscht." fav_list_delete_fail = "Leider ist ein Fehler aufgetreten. Ihre Liste wurde nicht gelöscht." -Favorites = "Favoriten" Fee = "Gebühr" Feedback = "Feedback" Feedback Management = "Verwaltung von Rückmeldungen" @@ -827,7 +827,6 @@ Most Recent Received Issues = "Die neusten Ausgaben" Multiple Call Numbers = "Mehrere Klassifikationsnummern" Multiple Locations = "Mehrere Standorte" Musical Score = "Partitur" -My Favorites = "Meine Favoriten" My Fines = "Meine Gebühren" My Holds = "Meine Bestellungen" My Profile = "Persönliche Angaben" @@ -1187,6 +1186,7 @@ Save Comment = "Kommentar speichern" save_search = "Suche speichern" save_search_remove = "Lösche gespeicherte Suche" Saved in = "Gespeichert in" +saved_items = "Favoriten" schedule_daily = "Täglich" schedule_explanation = "Alerts für eine Suche per E-Mail erhalten." schedule_none = "Nie" @@ -1479,7 +1479,6 @@ Your Account = "Ihr Konto" Your book bag is empty = "Ihre Zwischenablage ist leer" Your Checked Out Items = "Ihre ausgeliehenen Exemplare" Your Comment = "Ihr Kommentar" -Your Favorites = "Ihre Favoriten" Your Fines = "Ihre Gebühren" Your Holds and Recalls = "Ihre offenen Bestellungen und Vormerkungen" Your Lists = "Ihre Listen" diff --git a/languages/el.ini b/languages/el.ini index 934314f3be2..0401dd73ff0 100644 --- a/languages/el.ini +++ b/languages/el.ini @@ -309,6 +309,7 @@ date_to = "έως" date_year_placeholder = "Ε" Debug Information = "Πληροφορίες Debug" deep_paging_failure = "Η σελίδα αποτελεσμάτων που ζητήσατε δεν είναι διαθέσιμη. Έχετε μεταφερθεί στην σελίδα %%page%%." +default_list_title = "Τα αγαπημένα μου" del_search = "Κατάργηση ομάδας" del_search_num = "Διαγραφή Ομάδας Αναζήτησης %%num%%" Delete = "Διαγραφή" @@ -462,7 +463,6 @@ fav_export = "Εξαγωγή αγαπημένων" fav_list_delete = "Η λίστα αγαπημένων διαγράφηκε" fav_list_delete_cancel = "Η λίστα δεν διαγράφηκε" fav_list_delete_fail = "Παρουσιάστηκε σφάλμα. Η λίστα δεν διαγράφηκε" -Favorites = "Αγαπημένα" Fee = "Χρέωση" Feedback = "Σχόλιά" Feedback Management = "Διαχείριση Σχολίων" @@ -807,7 +807,6 @@ Most Recent Received Issues = "Προσφάτως παραληφθέντα τε Multiple Call Numbers = "Πολλαπλοί ταξινομικοί αριθμοί" Multiple Locations = "Πολλαπλές τοποθεσίες" Musical Score = "Παρτιτούρα" -My Favorites = "Τα αγαπημένα μου" My Fines = "Τα πρόστιμά μου" My Holds = "Οι κρατήσεις μου" My Profile = "Τα στοιχεία μου" @@ -1166,6 +1165,7 @@ Save Comment = "Αποθήκευση σχολίου" save_search = "Αποθήκευση αναζήτησης" save_search_remove = "Κατάργηση αποθηκευμένης αναζήτησης" Saved in = "Αποθηκεύτηκε σε" +saved_items = "Αγαπημένα" schedule_daily = "Ημερησίως" schedule_explanation = "Παραλαβή ειδοποιήσεων μέσω email για νέα αποτελέσματα σχετικά με την αναζήτηση." schedule_none = "Χωρίς" @@ -1454,7 +1454,6 @@ Your Account = "Ο λογαριασμός μου" Your book bag is empty = "Ο χαρτοφύλακάς σας είναι άδειος" Your Checked Out Items = "Τεκμήρια που έχω δανειστεί" Your Comment = "Το σχόλιό σας" -Your Favorites = "Τα αγαπημένα μου" Your Fines = "Τα πρόστιμά μου" Your Holds and Recalls = "Αιτήματα κράτησης και ανάκλησης" Your Lists = "Οι λίστες μου" diff --git a/languages/en.ini b/languages/en.ini index eabd1283e41..ed3c936a6bd 100644 --- a/languages/en.ini +++ b/languages/en.ini @@ -233,6 +233,7 @@ citation_issue_abbrev = "no." citation_multipage_abbrev = "pp." citation_singlepage_abbrev = "p." citation_volume_abbrev = "Vol." +Citations = "Citations" Cite this = "Cite this" City = "City" Clear = "Clear" @@ -318,6 +319,7 @@ date_to = "To" date_year_placeholder = "Y" Debug Information = "Debug Information" deep_paging_failure = "The search results page you requested is not currently available; you have been redirected to page %%page%%." +default_list_title = "Saved Items" del_search = "Remove Search Group" del_search_num = "Remove Search Group %%num%%" Delete = "Delete" @@ -488,7 +490,6 @@ fav_export = "Export Saved Items" fav_list_delete = "List has been deleted." fav_list_delete_cancel = "This list was not deleted." fav_list_delete_fail = "Sorry, an error has occurred. Your list was not deleted." -Favorites = "Saved Items" Fee = "Fee" Feedback = "Feedback" Feedback Management = "Feedback Management" @@ -840,7 +841,6 @@ Most Recent Received Issues = "Most Recent Received Issues" Multiple Call Numbers = "Multiple Call Numbers" Multiple Locations = "Multiple Locations" Musical Score = "Musical Score" -My Favorites = "Saved Items" My Fines = "Fines" My Holds = "Holds" My Profile = "Profile" @@ -1213,6 +1213,7 @@ save_search = "Save Search" save_search_remove = "Remove Saved Search" Saved in = "Saved in" Saved Logins = "Saved Logins" +saved_items = "Saved Items" saved_login_actions = "Actions" saved_login_platform_and_browser = "Platform / Browser" schedule_daily = "Daily" @@ -1507,7 +1508,6 @@ Your Account = "Your Account" Your book bag is empty = "Your book bag is empty" Your Checked Out Items = "Your Checked Out Items" Your Comment = "Your Comment" -Your Favorites = "Saved Items" Your Fines = "Your Fines" Your Holds and Recalls = "Your Holds and Recalls" Your Lists = "Your Lists" diff --git a/languages/es.ini b/languages/es.ini index ed588041ab4..87fdfa517f5 100644 --- a/languages/es.ini +++ b/languages/es.ini @@ -309,6 +309,7 @@ date_to = "a" date_year_placeholder = "A" Debug Information = "Información Depurada" deep_paging_failure = "La página de resultados de búsqueda que solicitó no está disponible actualmente; ha sido redirigido a la página %%page%%." +default_list_title = "Mis Favoritos" del_search = "Borrar Grupo de Búsqueda" del_search_num = "Eliminar grupo de búsqueda %%num%%" Delete = "Borrar" @@ -462,7 +463,6 @@ fav_export = "Exportar favoritos" fav_list_delete = "Su lista favorita ha sido borrada." fav_list_delete_cancel = "Esta lista no fue borrada." fav_list_delete_fail = "Lo sentimos, un error ha ocurrido. Su lista no ha sido borrada." -Favorites = "Favoritos" Fee = "Cuota" Feedback = "Comentarios" Feedback Management = "Gestión de comentarios" @@ -810,7 +810,6 @@ Most Recent Received Issues = "Números más recientes recibidos" Multiple Call Numbers = "Mútiples Números de Clasificación" Multiple Locations = "Múltiples Localizaciones" Musical Score = "Partituras" -My Favorites = "Mis Favoritos" My Fines = "Mis Multas" My Holds = "Mis Reservas" My Profile = "Mi Perfil" @@ -1169,6 +1168,7 @@ Save Comment = "Guardar comentario" save_search = "Guardar Búsqueda" save_search_remove = "Borrar Búsquedas guardadas" Saved in = "Guardado en" +saved_items = "Favoritos" schedule_daily = "Diario" schedule_explanation = "Reciba correos electrónicos de alerta sobre nuevos resultados para la búsqueda." schedule_none = "Ninguno" @@ -1459,7 +1459,6 @@ Your Account = "Su cuenta" Your book bag is empty = "Tu bolsa de libros está vacía" Your Checked Out Items = "Sus copias en préstamo" Your Comment = "Tu comentario" -Your Favorites = "Sus Favoritos" Your Fines = "sus Multas" Your Holds and Recalls = "Sus reservas y reclamos" Your Lists = "Sus Listas" diff --git a/languages/eu.ini b/languages/eu.ini index 701a8ddbfe4..4adecb9a64e 100644 --- a/languages/eu.ini +++ b/languages/eu.ini @@ -884,6 +884,7 @@ date_month_placeholder = "M" date_to = "a" date_year_placeholder = "A" Debug Information = "Arazketa-informazioa" +default_list_title = "Nire gogokoenak" del_search = "Ezabatu" Delete = "Ezabatu" delete_account_confirm = "Seguru zaude zure kontua ezabatu nahi duzula?" @@ -1003,7 +1004,6 @@ fav_export = "Gogokoenak esportatu" fav_list_delete = "Zure gogoen zerrenda ezabatu da." fav_list_delete_cancel = "Zerrenda hori ez da ezabatu." fav_list_delete_fail = "Errorea gertatu da. Ez dugu zure zerrenda ezabatu." -Favorites = "Gogokoenak" Fee = "Kuota" Feedback = "Feedback" feedback_email = "Posta elektronikoa" @@ -1281,7 +1281,6 @@ Most Recent Received Issues = "Oharra" Multiple Call Numbers = "Klasifikazio zenbaki bat baino gehiago" Multiple Locations = "Ale bat baino gehiago" Musical Score = "Partitura" -My Favorites = "Nire gogokoenak" My Fines = "Nire penalizazioak" My Holds = "Nire erreserbak" My Profile = "Nire profila" @@ -1519,6 +1518,7 @@ Save Comment = "Iruzkina gorde" save_search = "Bilaketa gorde" save_search_remove = "Ezabatu" Saved in = "Gorde" +saved_items = "Gogokoenak" scholarly_limit = "Mugatu artikuluak gaiaren arabera" Scroll to Load More = "Erabili korritze-barra gehiago kargatzeko" Search = "Bilatu" @@ -1761,7 +1761,6 @@ Your Account = "Zure kontua" Your book bag is empty = "Zure liburu-poltsa hutsik dago" Your Checked Out Items = "Zure maileguak" Your Comment = "Zure iruzkina" -Your Favorites = "Zure gogokoenak" Your Fines = "Zure zigorrak" Your Holds and Recalls = "Zure erreserbak" Your Lists = "Zure zerrendak" diff --git a/languages/fi.ini b/languages/fi.ini index b8abbf328b9..566875e6568 100644 --- a/languages/fi.ini +++ b/languages/fi.ini @@ -232,6 +232,7 @@ citation_issue_abbrev = "nro" citation_multipage_abbrev = "s." citation_singlepage_abbrev = "s." citation_volume_abbrev = "Vol." +Citations = "Viittaukset" Cite this = "Sitaatti" City = "Kaupunki" Clear = "Tyhjennä" @@ -317,6 +318,7 @@ date_to = "Päättyen" date_year_placeholder = "V" Debug Information = "Virheraportti" deep_paging_failure = "Pyytämäsi hakutulossivu ei ole saatavilla. Sinut ohjattiin sivulle %%page%%." +default_list_title = "Suosikit" del_search = "Poista hakuryhmä" del_search_num = "Poista hakuryhmä %%num%%" Delete = "Poista" @@ -487,7 +489,6 @@ fav_export = "Vie suosikit" fav_list_delete = "Suosikkilista poistettu." fav_list_delete_cancel = "Listaa ei poistettu." fav_list_delete_fail = "Tapahtui virhe. Listaa ei poistettu." -Favorites = "Suosikit" Fee = "Maksu" Feedback = "Palaute" Feedback Management = "Palautteiden hallinta" @@ -839,7 +840,6 @@ Most Recent Received Issues = "Uusimmat saapuneet numerot" Multiple Call Numbers = "Useita sijainteja" Multiple Locations = "Useita sijainteja" Musical Score = "Nuottijulkaisu" -My Favorites = "Suosikit" My Fines = "Maksut" My Holds = "Varaukset" My Profile = "Omat tiedot" @@ -1212,6 +1212,7 @@ save_search = "Tallenna haku" save_search_remove = "Poista tallennettu haku" Saved in = "Tallennettuna" Saved Logins = "Tallennetut kirjautumiset" +saved_items = "Suosikit" saved_login_actions = "Toiminnot" saved_login_platform_and_browser = "Käyttöjärjestelmä / Selain" schedule_daily = "Päivittäin" @@ -1506,7 +1507,6 @@ Your Account = "Oma tili" Your book bag is empty = "Kirjakori on tyhjä" Your Checked Out Items = "Lainat" Your Comment = "Kommentit" -Your Favorites = "Suosikit" Your Fines = "Maksut" Your Holds and Recalls = "Varaukset" Your Lists = "Listat" diff --git a/languages/fr.ini b/languages/fr.ini index c857a173c2e..791a5c7b36c 100644 --- a/languages/fr.ini +++ b/languages/fr.ini @@ -308,6 +308,7 @@ date_to = "À" date_year_placeholder = "A" Debug Information = "Debug informations" deep_paging_failure = "La page de résultats que vous avez demandée n'est pas disponible pour le moment ; une redirection a été faite vers la page %%page%%." +default_list_title = "Mes favoris" del_search = "Effacer un groupe de recherche" del_search_num = "Effacer le groupe de recherche %%num%%" Delete = "Supprimer" @@ -461,7 +462,6 @@ fav_export = "Exporter les favoris" fav_list_delete = "Votre liste de favoris a été supprimée." fav_list_delete_cancel = "La liste n'a pas été supprimée." fav_list_delete_fail = "Hélas une erreur est survenue. Votre liste n'a pas été supprimée." -Favorites = "Favoris" Fee = "Frais" Feedback = "Remarques" Feedback Management = "Gestion des remarques" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Les éditions les plus récentes" Multiple Call Numbers = "Cotes multiples" Multiple Locations = "Localisations multiples" Musical Score = "Partition" -My Favorites = "Mes favoris" My Fines = "Mes amendes" My Holds = "Mes réservations" My Profile = "Mon profil" @@ -1168,6 +1167,7 @@ Save Comment = "Sauvegarder le commentaire" save_search = "Enregistrer la recherche" save_search_remove = "Effacer la recherche" Saved in = "Enregistré dans" +saved_items = "Favoris" schedule_daily = "Une fois par jour" schedule_explanation = "Recevoir des courriels d'alerte en cas de nouveaux résultats pour une recherche." schedule_none = "Jamais" @@ -1458,7 +1458,6 @@ Your Account = "Votre compte" Your book bag is empty = "Votre panier est vide" Your Checked Out Items = "Vos emprunts" Your Comment = "Votre commentaire" -Your Favorites = "Vos favoris" Your Fines = "Vos amendes" Your Holds and Recalls = "Vos réservations et rappels" Your Lists = "Vos listes" diff --git a/languages/ga.ini b/languages/ga.ini index 7ebe0f61d8a..176f6800068 100644 --- a/languages/ga.ini +++ b/languages/ga.ini @@ -308,6 +308,7 @@ date_to = "Go dtí" date_year_placeholder = "B" Debug Information = "Faisnéis dífhabhtaithe" deep_paging_failure = "Níl fáil faoi láthair ar an leathanach torthaí cuardaigh a d’iarr tú; atreoraíodh chuig leathanach %%page%% thú." +default_list_title = "Mo cheanáin" del_search = "Bain grúpa cuardaigh" del_search_num = "Bain Grúpa Cuardaigh %%num%%" Delete = "Scrios" @@ -459,7 +460,6 @@ fav_export = "Easpórtáil na ceanáin" fav_list_delete = "Scriosadh an liosta" fav_list_delete_cancel = "Níor scriosadh an liosta seo" fav_list_delete_fail = "Ár leithscéal, tharla earráid. Níor scriosadh do liosta." -Favorites = "Ceanáin" Fee = "Táille" Feedback = "Aiseolas" Feedback Management = "Bainistíocht Aiseolais" @@ -807,7 +807,6 @@ Most Recent Received Issues = "Na heagráin is déanaí a fuarthas" Multiple Call Numbers = "Níos mó ná gairmuimhir amháin" Multiple Locations = "Níos mó ná suíomh amháin" Musical Score = "SCÓR CEOIL" -My Favorites = "Mo cheanáin" My Fines = "M’fhíneálacha" My Holds = "Mo choinneálacha" My Profile = "Mo phróifíl" @@ -1166,6 +1165,7 @@ Save Comment = "Sábháil an trácht" save_search = "Sábháil an cuardach" save_search_remove = "Bain an cuardach sábháilte" Saved in = "Sábháilte in" +saved_items = "Ceanáin" schedule_daily = "Laethúil" schedule_explanation = "Faigh r-phoist foláirimh nuair a fhaightear torthaí nua ar an gcuardach." schedule_none = "Dada" @@ -1456,7 +1456,6 @@ Your Account = "Do chuntas" Your book bag is empty = "Tá do mhála leabhar folamh" Your Checked Out Items = "Ná míreanna atá seiceáilte amach agat" Your Comment = "Do thráchtanna" -Your Favorites = "Do cheanáin" Your Fines = "D’fhíneálacha" Your Holds and Recalls = "Do choinneálacha agus athghairmeacha" Your Lists = "Do liostaí" diff --git a/languages/gl.ini b/languages/gl.ini index a5228d9f2d6..1fc32611d0e 100644 --- a/languages/gl.ini +++ b/languages/gl.ini @@ -238,6 +238,7 @@ date_month_placeholder = "M" date_to = "a" date_year_placeholder = "A" Debug Information = "Información Depurada" +default_list_title = "Os meus Favoritos" del_search = "Borrar Grupo de Procura" Delete = "Borrar" delete_all = "Borrar Todo" @@ -340,7 +341,6 @@ fav_export = "Exportar favoritos" fav_list_delete = "A súa lista favorita foi borrada" fav_list_delete_cancel = "Esta lista non foi borrada" fav_list_delete_fail = "Sentímolo, ocorreu un erro . A súa lista non foi borrada" -Favorites = "Favoritos" Fee = "Cota" Feedback = "Comentarios" feedback_email = "Correo Electrónico" @@ -596,7 +596,6 @@ Most Recent Received Issues = "Números máis recentes recibidos" Multiple Call Numbers = "Múltiples Números de Clasificación" Multiple Locations = "Múltiples Localizacións" Musical Score = "Partituras" -My Favorites = "Os meus Favoritos" My Fines = "As miñas Multas" My Holds = "As miñas Reservas" My Profile = "O meu Perfil" @@ -801,6 +800,7 @@ Save Comment = "Gardar comentario" save_search = "Gardar procuras" save_search_remove = "Borrar Procuras gardadas" Saved in = "Gardado en" +saved_items = "Favoritos" scholarly_limit = "Limitar os artigos por campo académico" Scroll to Load More = "Deslizar para ver máis" Search = "Buscar" diff --git a/languages/he.ini b/languages/he.ini index 456c6d08a11..77f9c720d44 100644 --- a/languages/he.ini +++ b/languages/he.ini @@ -193,6 +193,7 @@ date_month_placeholder = "חודש" date_to = "אל" date_year_placeholder = "שנה" Debug Information = "מידע דיבג" +default_list_title = "המועדפים שלי" del_search = "הסרת קבוצת החיפוש" Delete = "מחק" delete_comment_failure = "אי אפשר למחוק הערה." @@ -269,7 +270,6 @@ fav_export = "יצוא מועדפים" fav_list_delete = "רשימת המועדפים שלך נמחקה" fav_list_delete_cancel = "רשימה זו לא נמחק" fav_list_delete_fail = "מצטערים. ארעה שגיאה. הרשימה שלך לא נמחקה." -Favorites = "מועדפים" Fee = "דמי שימוש" feedback_email = "דואל" feedback_help_label = "צריכים עזרה?" @@ -459,7 +459,6 @@ Most Recent Received Issues = "גליונות שהתקבלו לאחרונה" Multiple Call Numbers = "סימני מיקום מרובים" Multiple Locations = "מיקומים מרובים" Musical Score = "תכלילים" -My Favorites = "המועדפים שלי" My Fines = "קנסות שלי" My Holds = "הזמנות שלי" My Profile = "פרופיל שלי" @@ -610,6 +609,7 @@ Save Comment = "שמירת הערה" save_search = "שמירת חיפוש" save_search_remove = "מחיקת חיפוש שמור" Saved in = "שמור ב" +saved_items = "מועדפים" scholarly_limit = "הגבלה למאמרים מכתבי-עת אקדמים" Scroll to Load More = "לגלול כדי לצפות בעוד רשומות" Search = "חיפוש" @@ -772,7 +772,6 @@ Your Account = "החשבון שלך" Your book bag is empty = "הילקוט שלך ריק" Your Checked Out Items = "פרטים שהשאלת" Your Comment = "התגובה שלך" -Your Favorites = "המועדפים שלך" Your Fines = "הקנסות שלך" Your Holds and Recalls = "הזמנות ובקשות החזרה שלך" Your Lists = "הרשימות שלך" diff --git a/languages/hi.ini b/languages/hi.ini index a816c3d0ae9..6f0a2bb112d 100644 --- a/languages/hi.ini +++ b/languages/hi.ini @@ -310,6 +310,7 @@ date_to = "से" date_year_placeholder = "बाई" Debug Information = "डिबग जानकारी" deep_paging_failure = "वर्तमान में आपके द्वारा अनुरोधित खोज परिणाम पृष्ठ उपलब्ध नहीं है; आपको पृष्ठ पर पुनर्निर्देशित कर दिया गया है %%page%%." +default_list_title = "पसंदीदा" del_search = "खोज समूह निकालें" del_search_num = "खोज समूह %% NUM%% हटाएँ" Delete = "हटाना" @@ -463,7 +464,6 @@ fav_export = "पसंदीदा निर्यात करें" fav_list_delete = "सूची हटा दी गई है" fav_list_delete_cancel = "यह सूची नहीं हटाई गई" fav_list_delete_fail = "माफ कीजिए, एक गलती हुई है। आपकी सूची नहीं हटाई गई" -Favorites = "बची हुई वस्तुएँ" Fee = "शुल्क" Feedback = "प्रतिपुष्टि" Feedback Management = "फीडबैक प्रबंधन" @@ -811,7 +811,6 @@ Most Recent Received Issues = "सबसे हाल ही में प्र Multiple Call Numbers = "एकाधिक बोधानक" Multiple Locations = "एकाधिक स्थान" Musical Score = "संगीत स्कोर" -My Favorites = "पसंदीदा" My Fines = "जुर्माना" My Holds = "रखती है" My Profile = "रूपरेखा" @@ -1170,6 +1169,7 @@ Save Comment = "टिप्पणी सहेजें" save_search = "खोज संग्रहित करें" save_search_remove = "सहेजे गए खोज निकालें" Saved in = "में बचाया" +saved_items = "बची हुई वस्तुएँ" schedule_daily = "दैनिक" schedule_explanation = "खोज के नए परिणामों के बारे में अलर्ट ईमेल से प्राप्त करें।" schedule_none = "कोई नहीं" @@ -1460,7 +1460,6 @@ Your Account = "आपका खाता" Your book bag is empty = "आपका बुक बैग खाली है" Your Checked Out Items = "आपका चेक आउट आइटम" Your Comment = "आपकी टिप्पणी" -Your Favorites = "बची हुई वस्तुएँ" Your Fines = "आपका जुर्माना" Your Holds and Recalls = "आपका धारण और स्मरण" Your Lists = "आपकी सूची" diff --git a/languages/hr.ini b/languages/hr.ini index 0a8ca720c61..35d1d6dfefe 100644 --- a/languages/hr.ini +++ b/languages/hr.ini @@ -309,6 +309,7 @@ date_to = "Do" date_year_placeholder = "G" Debug Information = "Informacije o ispravljanju grešaka" deep_paging_failure = "Zatražena stranica rezultata pretrage trenutačno nije dostupna; preusmjeren/a si na stranicu %%page%%." +default_list_title = "Favoriti" del_search = "Ukloni pretragu grupa" del_search_num = "Ukloni grupu pretrage %%num%%" Delete = "Izbriši" @@ -462,7 +463,6 @@ fav_export = "Izvezi favorite" fav_list_delete = "Popis je izbrisan." fav_list_delete_cancel = "Ovaj popis nije izbrisan." fav_list_delete_fail = "Oprosti, došlo je do greške. Tvoj popis nije izbrisan." -Favorites = "Favoriti" Fee = "Pristojba" Feedback = "Povratna informacija" Feedback Management = "Upravljanje povratnim informacijama" @@ -810,7 +810,6 @@ Most Recent Received Issues = "Najnovija dostavljena izdanja" Multiple Call Numbers = "Višestruke signature" Multiple Locations = "Višestruke lokacije" Musical Score = "Muzički pogodak" -My Favorites = "Favoriti" My Fines = "Zakasnine" My Holds = "Narudžbe" My Profile = "Profil" @@ -1169,6 +1168,7 @@ Save Comment = "Spremi komentar" save_search = "Spremi pretragu" save_search_remove = "Ukloni spremljenu pretragu" Saved in = "Spremljeno u" +saved_items = "Favoriti" schedule_daily = "Dnevno" schedule_explanation = "Primaj e-mailove upozorenja o novim rezultatima za pretragu." schedule_none = "Bez" @@ -1459,7 +1459,6 @@ Your Account = "Tvoj račun" Your book bag is empty = "Tvoja je košarica prazna" Your Checked Out Items = "Tvoji posuđeni predmeti" Your Comment = "Tvoj komentar" -Your Favorites = "Tvoji favoriti" Your Fines = "Tvoje zakasnine" Your Holds and Recalls = "Tvoje narudžbe ili rezervacije" Your Lists = "Tvoj popis" diff --git a/languages/hy.ini b/languages/hy.ini index df9b304056f..4e9dda968d3 100644 --- a/languages/hy.ini +++ b/languages/hy.ini @@ -308,6 +308,7 @@ date_to = "Դեպի" date_year_placeholder = "Y" Debug Information = "Դեբագ տեղեկատվություն" deep_paging_failure = "Ձեր պահանջած որոնման արդյունքների էջը ներկայումս հասանելի չէ։ Դուք վերահղվել եք էջ %%page%%." +default_list_title = "Պահպանված նյութեր" del_search = "Հեռացնել որոնման խումբը" del_search_num = "Հեռացնել որոնման խումբը %%num%%" Delete = "Ջնջել" @@ -461,7 +462,6 @@ fav_export = "Արտահանեք պահպանված տարրերը" fav_list_delete = "Ցուցակը ջնջված է։" fav_list_delete_cancel = "Այս ցանկը չի ջնջվել։" fav_list_delete_fail = "Ներեցեք, սխալ է տեղի ունեցել: Ձեր ցուցակը չի ջնջվել:" -Favorites = "Պահպանված նյութեր" Fee = "Վճար" Feedback = "Հետադարձ կապ" Feedback Management = "Հետադարձ կապի կառավարում" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Ամենավերջին ստացված համար Multiple Call Numbers = "Բազմաթիվ դասիչներ" Multiple Locations = "Բազմաթիվ տեղաբաշխումներ" Musical Score = "Երաժշտական պարտիտուր" -My Favorites = "Պահպանված նյութեր" My Fines = "Տուգանքներ" My Holds = "Պահումներ" My Profile = "Անձնագիր" @@ -1168,6 +1167,7 @@ Save Comment = "Պահպանել մեկնաբանությունը" save_search = "Պահպանել որոնումը" save_search_remove = "Հեռացնել պահպանված որոնումը" Saved in = "Պահպանված է" +saved_items = "Պահպանված նյութեր" schedule_daily = "Ամենօրյա" schedule_explanation = "Ստացեք ծանուցման նամակներ որոնման նոր արդյունքների մասին:" schedule_none = "Ոչ ոք" @@ -1458,7 +1458,6 @@ Your Account = "Ձեր հաշիվը" Your book bag is empty = "Ձեր գրքի պայուսակը դատարկ է" Your Checked Out Items = "Ձեր դուրս տրված նյութերը" Your Comment = "Ձեր մեկնաբանությունը" -Your Favorites = "Պահպանված նյութեր" Your Fines = "Ձեր տուգանքները" Your Holds and Recalls = "Ձեր պահումները և հետկանչերը" Your Lists = "Ձեր ցուցակները" diff --git a/languages/it.ini b/languages/it.ini index cf109cb8fa4..d0e9ae1b169 100644 --- a/languages/it.ini +++ b/languages/it.ini @@ -308,6 +308,7 @@ date_to = "A" date_year_placeholder = "Y" Debug Information = "Informazione di debug" deep_paging_failure = "La pagina con i risultati della ricerca che hai richiesto non è al momento disponibile; sei stato rimandato a pagina %%page%%." +default_list_title = "Preferiti" del_search = "Rimuovi il gruppo di ricerca" del_search_num = "Rimuovi il gruppo di ricerca %%num%%" Delete = "Cancella" @@ -461,7 +462,6 @@ fav_export = "Esporta i preferiti" fav_list_delete = "la lista dei tuoi preferiti è stata eliminata." fav_list_delete_cancel = "Questa lista non è stata eliminata." fav_list_delete_fail = "Ops, si è verificato un errore. La tua lista non è stata eliminata." -Favorites = "Elementi salvati" Fee = "Tariffa" Feedback = "Feedback" Feedback Management = "gestione feedback" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Ultimi fascicoli ricevuti" Multiple Call Numbers = "È presente più di una copia" Multiple Locations = "Localizzazioni multiple" Musical Score = "Musica a stampa" -My Favorites = "Preferiti" My Fines = "Multe" My Holds = "Prenotazioni" My Profile = "Profilo" @@ -1168,6 +1167,7 @@ Save Comment = "Salva commento" save_search = "Salva la ricerca" save_search_remove = "Rimuovi la ricerca salvata" Saved in = "Salvato in" +saved_items = "Elementi salvati" schedule_daily = "Giornaliera" schedule_explanation = "Ricevi notifiche via E-mail in caso di nuovi risultati per questa ricerca." schedule_none = "Nessuna" @@ -1458,7 +1458,6 @@ Your Account = "Il tuo account" Your book bag is empty = "Il tuo carrello è vuoto" Your Checked Out Items = "I tuoi documenti in prestito" Your Comment = "Il tuo commento" -Your Favorites = "Elementi salvati" Your Fines = "Le tue multe" Your Holds and Recalls = "Le tue prenotazioni e richieste" Your Lists = "Le tue liste" diff --git a/languages/ja.ini b/languages/ja.ini index d0dea663818..665de3aeba9 100644 --- a/languages/ja.ini +++ b/languages/ja.ini @@ -309,6 +309,7 @@ date_to = "To" date_year_placeholder = "Y" Debug Information = "デバッグ情報" deep_paging_failure = "指定された検索結果ページは現在利用できません。%%page%%ページにリダイレクトします。" +default_list_title = "お気に入り" del_search = "検索グループを削除" del_search_num = "検索グループ %%num%% を削除" Delete = "削除" @@ -462,7 +463,6 @@ fav_export = "お気に入りをエクスポート" fav_list_delete = "お気に入りリストを削除しました。" fav_list_delete_cancel = "このリストは削除しませんでした。" fav_list_delete_fail = "エラーが発生したので、リストを削除できませんでした。" -Favorites = "お気に入り" Fee = "料金" Feedback = "ご意見" Feedback Management = "フィードバック管理" @@ -810,7 +810,6 @@ Most Recent Received Issues = "最新受領資料" Multiple Call Numbers = "請求記号" Multiple Locations = "配置場所" Musical Score = "楽譜" -My Favorites = "お気に入り" My Fines = "延滞金" My Holds = "予約" My Profile = "プロフィール" @@ -1169,6 +1168,7 @@ Save Comment = "コメントの保存" save_search = "検索の保存" save_search_remove = "保存した検索の削除" Saved in = "保存先" +saved_items = "お気に入り" schedule_daily = "日次" schedule_explanation = "新たな検索結果の通知メールを受け取る。" schedule_none = "なし" @@ -1459,7 +1459,6 @@ Your Account = "処理一覧" Your book bag is empty = "ブックカートは空です" Your Checked Out Items = "貸出中資料" Your Comment = "コメント" -Your Favorites = "お気に入り" Your Fines = "延滞金" Your Holds and Recalls = "予約と返却請求" Your Lists = "リスト" diff --git a/languages/mi.ini b/languages/mi.ini index 4b8b7239f0e..bbfaed7776e 100644 --- a/languages/mi.ini +++ b/languages/mi.ini @@ -163,6 +163,7 @@ date_from = "Mai" date_month_placeholder = "Marama" date_to = "Ki" date_year_placeholder = "Tau" +default_list_title = "Ngā makau" del_search = "Tango rōpū rapu" Delete = "Muku" delete_all = "Muku katoa" @@ -260,7 +261,6 @@ fav_export = "Kaweake makau" fav_list_delete = "Kua mukua te rārangi." fav_list_delete_cancel = "Kāore te rārangi i mukua." fav_list_delete_fail = 'Ka aroha, kua puta tētahi hapa. "Kāore tō rārangi i mukua.' -Favorites = "Ngā tūemi i tiakina" Fee = "Utu" Feedback = "Urupare" feedback_help_label = "Ka hia āwhina koe?" @@ -496,7 +496,6 @@ Most Recent Received Issues = "Ngā putanga whiwhi hou rawa" Multiple Call Numbers = "Ngā tau karanga maha" Multiple Locations = "Ngā tauwāhi maha" Musical Score = "Titonga tōpū" -My Favorites = "Ngā makau" My Fines = "Ngā whaina" My Holds = "Ngā puringa" My Profile = "Kīwhaiaro" @@ -686,6 +685,7 @@ Save Comment = "Tiaki tākupu" save_search = "Tiaki rapu" save_search_remove = "Tangohia te rapu kua tiakina" Saved in = "I tiakina i" +saved_items = "Ngā tūemi i tiakina" scholarly_limit = "Whakawhāiti ki ngā tuhinga mai i ngā hautaka pūmātauranga" Scroll to Load More = "Panuku ki te uta i ētahi atu anō" Search = "Rapu" @@ -862,7 +862,6 @@ Your Account = "Tō pūkete" Your book bag is empty = "Kua hema tō pēke pukapuka" Your Checked Out Items = "Ō tūemi kua tākina atu" Your Comment = "Tō tākupu" -Your Favorites = "Ngā tūemi i tiakina" Your Fines = "Ō whaina" Your Holds and Recalls = "Ō puringa me ō tono whakahoki" Your Lists = "Ō rārangi" diff --git a/languages/mn.ini b/languages/mn.ini index 9a90ed9b272..08a8949c25b 100644 --- a/languages/mn.ini +++ b/languages/mn.ini @@ -306,6 +306,7 @@ date_to = "Дуусах" date_year_placeholder = "Y" Debug Information = "Алдаа согогийн мэдээлэл" deep_paging_failure = "Таны хүсэлт гаргасан хайлтын үр дүнгийн хуудсыг одоогоор ашиглах боломжгүй; таныг %%page%% хуудас руу дахин чиглүүлсэн байна." +default_list_title = "Дуртай зүйлс" del_search = "Хайлтын бүлгийг устгах" del_search_num = "%%num%% Хайлтын групп устгах" Delete = "Устгах" @@ -459,7 +460,6 @@ fav_export = "Дуртай зүйлийг экспортлох" fav_list_delete = "Жагсаалтыг устгасан байна." fav_list_delete_cancel = "Энэ жагсаалтыг устгасангүй." fav_list_delete_fail = "Уучлаарай, алдаа гарлаа. Таны жагсаалтыг устгасангүй." -Favorites = "Хадгалсан зүйлс" Fee = "Хураамж" Feedback = "Санал хүсэлт" Feedback Management = "Санал хүсэлтийн менежмент" @@ -806,7 +806,6 @@ Most Recent Received Issues = "Хамгийн сүүлд хүлээн авсан Multiple Call Numbers = "Олон тооны дуудлагын дугаарууд" Multiple Locations = "Олон байршил" Musical Score = "Хөгжмийн оноо" -My Favorites = "Дуртай зүйлс" My Fines = "Торгууль" My Holds = "Түр хойшлуулсан зүйлс" My Profile = "Мэдээлэл" @@ -1165,6 +1164,7 @@ Save Comment = "Сэтгэгдэл хадгалах" save_search = "Хайлтыг хадгалах" save_search_remove = "Хадгалсан хайлтыг устгах" Saved in = "-д хадгалсан" +saved_items = "Хадгалсан зүйлс" schedule_daily = "Өдөр тутмын" schedule_explanation = "Хайлтанд зориулсан шинэ үр дүнгийн талаар сэрэмжлүүлэх цахим шуудан хүлээн авах." schedule_none = "Байхгүй" @@ -1455,7 +1455,6 @@ Your Account = "Таны бүртгэл" Your book bag is empty = "Таны номын цүнх хоосон байна" Your Checked Out Items = "Таны авсан зүйлс" Your Comment = "Таны сэтгэгдэл" -Your Favorites = "Хадгалсан зүйлс" Your Fines = "Таны торгууль" Your Holds and Recalls = "Таны түр хойшлуулсан ба буцаан татсан зүйлс" Your Lists = "Таны жагсаалтууд" diff --git a/languages/nl.ini b/languages/nl.ini index e33a669ef05..473ffbf8f41 100644 --- a/languages/nl.ini +++ b/languages/nl.ini @@ -294,6 +294,7 @@ date_to = "Tot" date_year_placeholder = "J" Debug Information = "Debug Informatie" deep_paging_failure = "De pagina met zoekresultaten die je aanvroeg is momenteel niet beschikbaar, je werd doorverwezen naar pagina %%page%%." +default_list_title = "Mijn favorieten" del_search = "Verwijder zoekveldengroep" Delete = "Verwijderen" delete_account_confirm = "Weet je zeker dat je je account wil verwijderen?" @@ -424,7 +425,6 @@ fav_export = "Exporteer Favorieten" fav_list_delete = "Jouw favorietenlijst werd gewist." fav_list_delete_cancel = "Deze lijst werd niet gewist." fav_list_delete_fail = "Sorry, er is een fout opgetreden. Jouw lijst werd niet gewist." -Favorites = "Favorieten" Fee = "Bijdrage" Feedback = "Feedback" feedback_email = "Email" @@ -738,7 +738,6 @@ Most Recent Received Issues = "Meest recent ontvangen nummers" Multiple Call Numbers = "Meerdere plaatsingsnummers" Multiple Locations = "Meerdere plaatsen" Musical Score = "Muzikale score" -My Favorites = "Mijn favorieten" My Fines = "Mijn boetes" My Holds = "Mijn reserveringen" My Profile = "Mijn profiel" @@ -1061,6 +1060,7 @@ Save Comment = "Sla commentaar op" save_search = "Sla zoekopdracht op" save_search_remove = "Verwijder opgeslagen zoekopdracht" Saved in = "Bewaard in" +saved_items = "Favorieten" schedule_daily = "Dagelijks" schedule_explanation = "Ontvang meldingen over nieuwe resultaten voor je zoekopdracht" schedule_none = "Geen" @@ -1328,7 +1328,6 @@ Your Account = "Jouw account" Your book bag is empty = "Jouw boekentas is leeg" Your Checked Out Items = "Jouw geleende artikelen" Your Comment = "Jouw commentaar" -Your Favorites = "Jouw favorieten" Your Fines = "Jouw boetes" Your Holds and Recalls = "Jouw Verzoeken tot vasthouden en Reserveringen" Your Lists = "Jouw lijsten" diff --git a/languages/pl.ini b/languages/pl.ini index f81f910f47e..70813a3d070 100644 --- a/languages/pl.ini +++ b/languages/pl.ini @@ -355,6 +355,7 @@ date_to = "do" date_year_placeholder = "Y" Debug Information = "Informacje Debug" deep_paging_failure = "Żądana strona wyników jest obecnie niedostępna; Zostałeś przekierowany na stronę %%page%%." +default_list_title = "Listy ulubionych" del_search = "Usunąć wyszukiwanie" Delete = "Usuń" delete_account_confirm = "Chcesz usunąć swoje konto czytelnika?" @@ -485,7 +486,6 @@ fav_export = "Eksportuj ulubione książki" fav_list_delete = "Lista ulubionych książek została usunięta." fav_list_delete_cancel = "Nie udało się usunąć listy ulubionych książek." fav_list_delete_fail = "Błąd: Nie udało się usunąć listy." -Favorites = "Ulubione książki" Fee = "Opłata" Feedback = "Feedback" feedback_email = "Email" @@ -799,7 +799,6 @@ Most Recent Received Issues = "Najnowsze wydania" Multiple Call Numbers = "Sygnatury złożone" Multiple Locations = "Lokalizacje złożone" Musical Score = "Partytura" -My Favorites = "Listy ulubionych" My Fines = "Opłaty" My Holds = "Zamówienia i rezerwacje" My Profile = "Profil" @@ -1122,6 +1121,7 @@ Save Comment = "Zapisz komentarz" save_search = "Zapisz wyszukiwanie" save_search_remove = "Usuń zapisane wyszukiwanie" Saved in = "Zapisane w" +saved_items = "Ulubione książki" schedule_daily = "dzienny" schedule_explanation = "Otrzymuj powiadomienia poprzez e-maila o nowych wynikach wyszukiwania." schedule_none = "Żaden" @@ -1389,7 +1389,6 @@ Your Account = "Konto czytelnika" Your book bag is empty = "Lista podręczna jest pusta" Your Checked Out Items = "Wypożyczone książki" Your Comment = "Komentarze" -Your Favorites = "Ulubione książki" Your Fines = "Opłaty" Your Holds and Recalls = "Zamówienia" Your Lists = "Listy" diff --git a/languages/pt-br.ini b/languages/pt-br.ini index a58edb8cb86..a1664b5a2a1 100644 --- a/languages/pt-br.ini +++ b/languages/pt-br.ini @@ -308,6 +308,7 @@ date_to = "Até" date_year_placeholder = "A" Debug Information = "Informações de depuração" deep_paging_failure = "A página de resultados da pesquisa solicitada não está disponível no momento; você foi redirecionado para a página %%page%%." +default_list_title = "Favoritos" del_search = "Retirar o grupo de busca" del_search_num = "Remover grupo de pesquisa %%num%%" Delete = "Apagar" @@ -461,7 +462,6 @@ fav_export = "Exportar Favoritos" fav_list_delete = "Lista de favoritos apagada." fav_list_delete_cancel = "Lista não apagada." fav_list_delete_fail = "Desculpe, ocorreu um erro. Lista não eliminada." -Favorites = "Itens Guardados" Fee = "Multas" Feedback = "Comentário" Feedback Management = "Gestão de Comentários" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Números recebidos recentemente" Multiple Call Numbers = "Vários números de chamada" Multiple Locations = "Múltiplos locais" Musical Score = "Partitura" -My Favorites = "Favoritos" My Fines = "Multas" My Holds = "Reservas" My Profile = "Perfil" @@ -1168,6 +1167,7 @@ Save Comment = "Gravar comentário" save_search = "Salvar a busca" save_search_remove = "Apagar a busca guardada" Saved in = "Na minha lista" +saved_items = "Itens Guardados" schedule_daily = "Diariamente" schedule_explanation = "Receber e-mails de alerta sobre novos resultados para pesquisa." schedule_none = "Nenhum" @@ -1458,7 +1458,6 @@ Your Account = "A sua conta" Your book bag is empty = "a sua cesta de livros está vazia" Your Checked Out Items = "Empréstimos ativos" Your Comment = "O seu comentário" -Your Favorites = "Itens Guardados" Your Fines = "As suas Multas" Your Holds and Recalls = "As suas Reservas e Pedidos de Devolução" Your Lists = "As suas Listas" diff --git a/languages/pt.ini b/languages/pt.ini index 11a479f409b..9105fed8430 100644 --- a/languages/pt.ini +++ b/languages/pt.ini @@ -230,6 +230,7 @@ date_month_placeholder = "M" date_to = "Até" date_year_placeholder = "A" Debug Information = "Debug Information" +default_list_title = "Os meus favoritos" del_search = "Retirar o grupo de pesquisa" Delete = "Apagar" delete_all = "Apagar tudo" @@ -331,7 +332,6 @@ fav_export = "Exportar Favoritos" fav_list_delete = "Lista de favoritos apagada." fav_list_delete_cancel = "Lista não apagada." fav_list_delete_fail = "Desculpe, ocorreu um erro. Lista não eliminada." -Favorites = "Favoritos" Fee = "Multas" Feedback = "Comentário" feedback_email = "Email" @@ -576,7 +576,6 @@ Most Recent Received Issues = "Números recebidos recentemente" Multiple Call Numbers = "Vários números de telefone" Multiple Locations = "Múltiplos locais" Musical Score = "Partitura" -My Favorites = "Os meus favoritos" My Fines = "As minha multas" My Holds = "As minhas reservas" My Profile = "O meu perfil" @@ -777,6 +776,7 @@ Save Comment = "Gravar comentário" save_search = "Guardar a pesquisa" save_search_remove = "Apagar a pesquisa guardada" Saved in = "Na minha lista" +saved_items = "Favoritos" scholarly_limit = "Limitar a artigos de periódicos científicos" Scroll to Load More = "Navegue para baixo para carregar mais" Search = "Pesquisa" @@ -999,7 +999,6 @@ Your Account = "A sua conta" Your book bag is empty = "O seu saco de livros está vazio" Your Checked Out Items = "Empréstimos activos" Your Comment = "O seu comentário" -Your Favorites = "Todos os Favoritos" Your Fines = "As suas Multas" Your Holds and Recalls = "As suas Reservas e Pedidos" Your Lists = "As suas Listas" diff --git a/languages/ru.ini b/languages/ru.ini index 4523ab70222..d74e7928055 100644 --- a/languages/ru.ini +++ b/languages/ru.ini @@ -325,6 +325,7 @@ date_to = "по" date_year_placeholder = "Г" Debug Information = "Информация по отладке" deep_paging_failure = "Запрошенная вами страница в настоящее время недоступна; вы были перенаправлены на страницу %%page%%." +default_list_title = "Мои Избранные" del_search = "Удалить группу поиска" del_search_num = "Удалить группу поиска %%num%%" Delete = "Удалить" @@ -478,7 +479,6 @@ fav_export = "Экспорт избранного" fav_list_delete = "Список избранного был удален." fav_list_delete_cancel = "Этот список не удален." fav_list_delete_fail = "Произошла ошибка. Ваш список удален." -Favorites = "Избранное" Fee = "взнос" Feedback = "обратной связи" Feedback Management = "Управление обратной связью" @@ -826,7 +826,6 @@ Most Recent Received Issues = "Самые последние выпуски" Multiple Call Numbers = "Несколько шифров" Multiple Locations = "Несколько местонахождений" Musical Score = "Музыкальная задолженность" -My Favorites = "Мои Избранные" My Fines = "Мои штрафы" My Holds = "Мои задолженности" My Profile = "Мой профиль" @@ -1185,6 +1184,7 @@ Save Comment = "Сохранить комментарий" save_search = "Сохранить запрос" save_search_remove = "Удалить сохраненный запрос" Saved in = "Сохранить в" +saved_items = "Избранное" schedule_daily = "Ежедневно" schedule_explanation = "Получать оповещения по электронной почте о новых результатах поиска." schedule_none = "Нет" @@ -1475,7 +1475,6 @@ Your Account = "Ваш логин" Your book bag is empty = "Ваш книжный набор пуст" Your Checked Out Items = "Ваши недоступные документы" Your Comment = "Ваш комментарий" -Your Favorites = "Ваши Избранные" Your Fines = "Ваши штрафы" Your Holds and Recalls = "Ваши задолженности и напоминания" Your Lists = "Ваши списки" diff --git a/languages/se.ini b/languages/se.ini index 8bd306a2837..296dc37c448 100644 --- a/languages/se.ini +++ b/languages/se.ini @@ -288,6 +288,7 @@ date_to = "Rádjái" date_year_placeholder = "J" Debug Information = "Meattáhusraporta" deep_paging_failure = "Du bivdin ohcanboađussiidu ii leat oažžunsajis. Don oahpistuvvojit siidui %%page%%." +default_list_title = "Oiddohat" del_search = "Sihko ohcanjoavkku" Delete = "Sihko" delete_account_confirm = "Háliidatgo sihkkarit sihkkut iežat konttu?" @@ -418,7 +419,6 @@ fav_export = "Doalvvo oiddohiid" fav_list_delete = "Oiddotlisttu sihkkojuvvon." fav_list_delete_cancel = "Listu ii sihkkojuvvon." fav_list_delete_fail = "Dáhpáhuvai meattáhus. Listu ii sihkkojuvvon." -Favorites = "Oiddohat" Fee = "Máksu" Feedback = "Máhcahat" feedback_email = "Šleađgaboasta" @@ -727,7 +727,6 @@ Most Recent Received Issues = "Ođđaseamos boahtán nummárat" Multiple Call Numbers = "Máŋga sajádaga" Multiple Locations = "Máŋga sajádaga" Musical Score = "Nuohttapublikašuvdna" -My Favorites = "Oiddohat" My Fines = "Mávssut" My Holds = "Várremat" My Profile = "Iežan dieđut" @@ -1048,6 +1047,7 @@ Save Comment = "Furke kommeantta" save_search = "Furke ozu" save_search_remove = "Sihko furkejuvvon ozu" Saved in = "Furkejuvvon" +saved_items = "Oiddohat" schedule_daily = "Beaivválaččat" schedule_explanation = "Vuostáváldde šleađgaboastailmmuhusaid ođđa ohcanbohtosiin." schedule_none = "Ii mihkkege" @@ -1310,7 +1310,6 @@ Your Account = "Iežas kontu" Your book bag is empty = "Gore lea guorus" Your Checked Out Items = "Luoikkaheamit" Your Comment = "Kommeanttat" -Your Favorites = "Oiddohat" Your Fines = "Mávssut" Your Holds and Recalls = "Várremat" Your Lists = "Listtut" diff --git a/languages/sl.ini b/languages/sl.ini index 9858cb92591..78b8d90a6c2 100644 --- a/languages/sl.ini +++ b/languages/sl.ini @@ -202,6 +202,7 @@ date_month_placeholder = "M" date_to = "Za" date_year_placeholder = "L" Debug Information = "Razhrošči Informacije" +default_list_title = "Moje priljubljene" del_search = "Odstrani iskalno skupino" Delete = "Zbriši" delete_all = "Izbrišite vse" @@ -285,7 +286,6 @@ fav_export = "Izvozi priljubljene" fav_list_delete = "Izbran je bil seznam." fav_list_delete_cancel = "Ta seznam ni bil izbrisan." fav_list_delete_fail = "Oprostite, pojavila se je napaka. Vaš seznam ni bil izbrisan." -Favorites = "Priljubljene" Fee = "Članarina/zamudnina" Feedback = "Pišite nam" feedback_email = "Email" @@ -495,7 +495,6 @@ Most Recent Received Issues = "Nazadnje pridobljeni izvodi" Multiple Call Numbers = "Več signatur" Multiple Locations = "Več lokacij" Musical Score = "Glasb" -My Favorites = "Moje priljubljene" My Fines = "Moje zamudnine" My Holds = "Moje izposojene" My Profile = "Moj profil" @@ -648,6 +647,7 @@ Save Comment = "Shrani komentar" save_search = "Shrani iskanje" save_search_remove = "Odstrani shranjena iskanja" Saved in = "Shranjeno v" +saved_items = "Priljubljene" scholarly_limit = "Omeji na članke iz znanstvenih časopisov" Scroll to Load More = "Naloži več" Search = "Išči" @@ -828,7 +828,6 @@ Your Account = "Vaš račun" Your book bag is empty = "Vaša košarica je prazna" Your Checked Out Items = "Vaše izposojene knjige/članki" Your Comment = "Vaš komentar" -Your Favorites = "Vaše priljubljene" Your Fines = "Vaši zamudnine" Your Holds and Recalls = "Vaše izposojene in rezervirane" Your Lists = "Vaši seznami" diff --git a/languages/sv.ini b/languages/sv.ini index 5afa9cedaa7..e1eeb7d161a 100644 --- a/languages/sv.ini +++ b/languages/sv.ini @@ -232,6 +232,7 @@ citation_issue_abbrev = "nr" citation_multipage_abbrev = "ss." citation_singlepage_abbrev = "s." citation_volume_abbrev = "Vol." +Citations = "Citat" Cite this = "Hänvisa" City = "Stad" Clear = "Tömma" @@ -317,6 +318,7 @@ date_to = "Till" date_year_placeholder = "Å" Debug Information = "Felrapport" deep_paging_failure = "Resultatsidan du begärde är för närvarande inte tillgänglig. Du har omdirigerats till sidan %%page%%." +default_list_title = "Favoriter" del_search = "Radera sökgruppen" del_search_num = "Ta bort sökgrupp %%num%%" Delete = "Radera" @@ -487,7 +489,6 @@ fav_export = "Exportera dina favoriter" fav_list_delete = "Favoritlistan har raderats." fav_list_delete_cancel = "Listan raderades inte." fav_list_delete_fail = "Ett fel har uppstått. Listan raderades inte." -Favorites = "Favoriter" Fee = "Avgift" Feedback = "Respons" Feedback Management = "Feedbackhantering" @@ -840,7 +841,6 @@ Most Recent Received Issues = "Senast inkomna nummer" Multiple Call Numbers = "Flera signum" Multiple Locations = "Flera placeringar" Musical Score = "Musikalier" -My Favorites = "Favoriter" My Fines = "Avgifter" My Holds = "Reserveringar" My Profile = "Min profil" @@ -1213,6 +1213,7 @@ save_search = "Spara sökningen" save_search_remove = "Radera den sparade sökningen" Saved in = "Sparad" Saved Logins = "Sparade inloggningar" +saved_items = "Favoriter" saved_login_actions = "Åtgärder" saved_login_platform_and_browser = "Operativsystem / Webbläsare" schedule_daily = "Dagligen" @@ -1507,7 +1508,6 @@ Your Account = "Mitt konto" Your book bag is empty = "Din bokkorg är tom" Your Checked Out Items = "Lån" Your Comment = "Kommentarer" -Your Favorites = "Favoriter" Your Fines = "Avgifter" Your Holds and Recalls = "Reserveringar" Your Lists = "Listor" diff --git a/languages/tr.ini b/languages/tr.ini index cfd99f55071..bc96acf464f 100644 --- a/languages/tr.ini +++ b/languages/tr.ini @@ -362,6 +362,7 @@ date_to = "Kime" date_year_placeholder = "Y" Debug Information = "Hata Bilgisi" deep_paging_failure = "İstediğiniz arama sonuçları sayfası şu anda kullanılamıyor; %%page%% sayfasına yönlendirildiniz." +default_list_title = "Favori Listem" del_search = "Arama Alanı Sil" del_search_num = "%%num%% Arama Grubunu Kaldır" Delete = "Sil" @@ -515,7 +516,6 @@ fav_export = "Favorileri Aktar" fav_list_delete = "Favori listeniz silindi." fav_list_delete_cancel = "Bu liste silinmedi." fav_list_delete_fail = "Bir hata oluştu. Listeniz silinemedi." -Favorites = "Favorilerim" Fee = "Gecikme Cezası" Feedback = "Görüşleriniz" Feedback Management = "Geri bildirim yönetimi" @@ -863,7 +863,6 @@ Most Recent Received Issues = "Son Alınan Sayılar" Multiple Call Numbers = "Birden Fazla Yer Numarası" Multiple Locations = "Birden Fazla Yerde" Musical Score = "Nota" -My Favorites = "Favori Listem" My Fines = "Cezalarım" My Holds = "Rezervelerim" My Profile = "Profilim" @@ -1222,6 +1221,7 @@ Save Comment = "Yorumunuzu saklayın" save_search = "Aramayı sakla" save_search_remove = "Saklanmış aramayı sil" Saved in = "Kaydedildi" +saved_items = "Favorilerim" schedule_daily = "Günlük" schedule_explanation = "Arama için yeni sonuçlar hakkýnda uyarý e-postalarý alýn." schedule_none = "Hiç" @@ -1512,7 +1512,6 @@ Your Account = "Hesabım" Your book bag is empty = "Kitap Sepetiniz Boş" Your Checked Out Items = "İade Ettiğiniz Materyaller" Your Comment = "Yorumunuz" -Your Favorites = "Favorilerim" Your Fines = "Para Cezalarım" Your Holds and Recalls = "Rezerve Ettiğim Materyaller" Your Lists = "Listem" diff --git a/languages/uk.ini b/languages/uk.ini index 94a7297ea3a..4d1e5a1006d 100644 --- a/languages/uk.ini +++ b/languages/uk.ini @@ -308,6 +308,7 @@ date_to = "до" date_year_placeholder = "Р" Debug Information = "Інформація налагодження" deep_paging_failure = "Ця сторінка пошуку наразі недоступна; Вас буде переадресовано на сторінку %%page%%." +default_list_title = "Вибране" del_search = "Видалити пошукову групу полів" del_search_num = "Видалити групу пошуку" Delete = "Видалити" @@ -461,7 +462,6 @@ fav_export = "Експорт Вибраного" fav_list_delete = "Список видалений." fav_list_delete_cancel = "Цей список не був видалений." fav_list_delete_fail = "Сталася помилка. Ваш список не був видалений." -Favorites = "Збережені ресурси" Fee = "Плата" Feedback = "Зворотний зв'язок" Feedback Management = "Управління відгуками" @@ -809,7 +809,6 @@ Most Recent Received Issues = "Найновіші отримані випуск Multiple Call Numbers = "Кілька шифрів" Multiple Locations = "Кілька локацій" Musical Score = "Музична партитура" -My Favorites = "Вибране" My Fines = "Пеня" My Holds = "Замовлення" My Profile = "Профіль" @@ -1168,6 +1167,7 @@ Save Comment = "Зберегти коментар" save_search = "Зберегти пошук" save_search_remove = "Видалити збережений пошук" Saved in = "Збережено в" +saved_items = "Збережені ресурси" schedule_daily = "Щодня" schedule_explanation = "Отримувати повідомлення Розсилки е-поштою про нові результати пошуку." schedule_none = "Не застосовувати" @@ -1458,7 +1458,6 @@ Your Account = "Ваш обліковий запис" Your book bag is empty = "Ваша Книжкова полиця порожня" Your Checked Out Items = "Видані Вам примірники" Your Comment = "Ваш коментар" -Your Favorites = "Збережені ресурси" Your Fines = "Ваша пеня" Your Holds and Recalls = "Ваші замовлення та відклики" Your Lists = "Ваші списки" diff --git a/languages/vi.ini b/languages/vi.ini index df445a62a7c..bf5cb372da1 100644 --- a/languages/vi.ini +++ b/languages/vi.ini @@ -293,6 +293,7 @@ date_to = "Tới ngày" date_year_placeholder = "Y" Debug Information = "Thông tin gỡ lỗi" deep_paging_failure = "Trang kết quả tìm kiếm bạn yêu cầu hiện không có sẵn; bạn đã được chuyển hướng đến trang %%page%%." +default_list_title = "Yêu thích" del_search = "Bỏ nhóm tìm kiếm" Delete = "Xóa" delete_account_confirm = "Bạn có chắc muốn xóa tài khoản?" @@ -423,7 +424,6 @@ fav_export = "Xuất mục ưa thích" fav_list_delete = "Danh sách đã bị xóa." fav_list_delete_cancel = "Danh sách này không bị xóa." fav_list_delete_fail = "Xin lỗi, đã có lỗi xảy ra. Danh sách của bạn không bị xóa." -Favorites = "Các mục đã lưu" Fee = "Học phí" Feedback = "Phản hồi" feedback_email = "Email" @@ -736,7 +736,6 @@ Most Recent Received Issues = "Các vấn đề đã nhận gần đây nhất" Multiple Call Numbers = "Nhiều số cuộc gọi" Multiple Locations = "Nhiều địa điểm" Musical Score = "Điểm nhạc" -My Favorites = "Yêu thích" My Fines = "Tiền phạt" My Holds = "Nắm giữ" My Profile = "Hồ sơ" @@ -1058,6 +1057,7 @@ Save Comment = "Lưu nhận xét" save_search = "Lưu tìm kiếm" save_search_remove = "Xóa Tìm kiếm đã Lưu" Saved in = "Đã lưu trong" +saved_items = "Các mục đã lưu" schedule_daily = "Hằng ngày" schedule_explanation = "Nhận email thông báo về kết quả mới để tìm kiếm." schedule_none = "Không" @@ -1322,7 +1322,6 @@ Your Account = "Tài khoản của bạn" Your book bag is empty = "Túi sách của bạn rỗng" Your Checked Out Items = "Các quyển sách đã kiểm tra của bạn" Your Comment = "Bình luận của bạn" -Your Favorites = "Các quyển sách đã lưu" Your Fines = "Tiền phạt của bạn" Your Holds and Recalls = "Giữ và thu hồi của bạn" Your Lists = "Danh sách của bạn" diff --git a/languages/zh-cn.ini b/languages/zh-cn.ini index 0c61bce0bd9..ebcec28080c 100644 --- a/languages/zh-cn.ini +++ b/languages/zh-cn.ini @@ -281,6 +281,7 @@ date_to = "到" date_year_placeholder = "Y" Debug Information = "调试信息" deep_paging_failure = "您请求的搜索结果页面当前不可用; 您已被重定向到页面 %%页%%." +default_list_title = "我的最爱" del_search = "删除搜索组" Delete = "删除" delete_account_confirm = "您确定要删除您的帐户吗?" @@ -367,7 +368,6 @@ fav_export = "导出收藏夹" fav_list_delete = "您的最喜爱列表已被删除" fav_list_delete_cancel = "这个列表没被删除" fav_list_delete_fail = "很抱歉,发生错误. 您的列表没被删除." -Favorites = "最爱" Fee = "费" feedback_email = "电子邮件" feedback_help_label = "需要帮助?" @@ -527,7 +527,6 @@ Most Recent Received Issues = "最新接收的发行" Multiple Call Numbers = "多索引号" Multiple Locations = "多个位置" Musical Score = "乐谱" -My Favorites = "我的最爱" My Fines = "我的罚款" My Holds = "My Holds" My Profile = "我的档案" @@ -655,6 +654,7 @@ Save = "保存" Save Comment = "保存评论" save_search = "保存搜索" save_search_remove = "删除保存的搜索" +saved_items = "最爱" scholarly_limit = "限制从学术期刊的文章" Search = "检索" Search For = "检索" @@ -793,7 +793,6 @@ Your Account = "我的帐户" Your book bag is empty = "您的书包是空的" Your Checked Out Items = "我借出的图书" Your Comment = "您的评论" -Your Favorites = "我的最爱" Your Fines = "我的罚款" Your Holds and Recalls = "您的预约和召回" Your Lists = "我的清单" diff --git a/languages/zh.ini b/languages/zh.ini index 2ec0f1d8c9d..b975aca5de1 100644 --- a/languages/zh.ini +++ b/languages/zh.ini @@ -168,6 +168,7 @@ date_month_placeholder = "M" date_to = "到" date_year_placeholder = "Y" Debug Information = "調試信息" +default_list_title = "我的最愛" del_search = "刪除搜索組" Delete = "刪除" delete_list = "刪除清單" @@ -233,7 +234,6 @@ fav_export = "導出收藏夾" fav_list_delete = "您的最喜愛列表已被刪除" fav_list_delete_cancel = "這個列表沒被刪除" fav_list_delete_fail = "很抱歉,發生錯誤. 您的列表沒被刪除." -Favorites = "最愛" Fee = "費" feedback_email = "電子郵件" feedback_help_label = "需要幫助?" @@ -393,7 +393,6 @@ Most Recent Received Issues = "最新接收的發行" Multiple Call Numbers = "多索引號" Multiple Locations = "多個位置" Musical Score = "樂譜" -My Favorites = "我的最愛" My Fines = "我的罰款" My Holds = "My Holds" My Profile = "我的檔案" @@ -521,6 +520,7 @@ Save = "保存" Save Comment = "保存評論" save_search = "保存搜索" save_search_remove = "刪除保存的搜索" +saved_items = "最愛" scholarly_limit = "限制從學術期刊的文章" Search = "檢索" Search For = "檢索" @@ -659,7 +659,6 @@ Your Account = "我的帳戶" Your book bag is empty = "您的書包是空的" Your Checked Out Items = "我借出的圖書" Your Comment = "您的評論" -Your Favorites = "我的最愛" Your Fines = "我的罰款" Your Holds and Recalls = "您的預約和召回" Your Lists = "我的清單" diff --git a/local/languages/finna/category/en-gb.ini b/local/languages/finna/category/en-gb.ini index 5354ff895e0..1adfa3deb9d 100644 --- a/local/languages/finna/category/en-gb.ini +++ b/local/languages/finna/category/en-gb.ini @@ -42,7 +42,7 @@ 1/Agriculture Sciences/Food Science and Technology/ = "Food Science and Technology" 1/Agriculture Sciences/Forestry/ = "Forestry" 1/Agriculture Sciences/General and Others/ = "General and Others" -1/Agriculture Sciences/Horticulture and Plant Culture (including Arboriculture)/ = "Horticulture and Plant Culture (including Arboriculture)" +1/Agriculture Sciences/Horticulture and Plant Culture _28including Arboriculture_29/ = "Horticulture and Plant Culture (including Arboriculture)" 1/Agriculture Sciences/Organic Farming, Rural Development, Sustainable Agriculture/ = "Organic Farming, Rural Development, Sustainable Agriculture" 1/Agriculture Sciences/Pests, Pest Control & Integrated Pest Management/ = "Pests, Pest Control & Integrated Pest Management" 1/Agriculture Sciences/Plant Breeding/ = "Plant Breeding" @@ -67,7 +67,7 @@ 1/Arts and Humanities/Society and Culture/ = "Society and Culture" 1/Arts, Architecture & Applied Arts/Architecture/ = "Architecture" 1/Arts, Architecture & Applied Arts/Arts & Crafts/ = "Arts & Crafts" -1/Arts, Architecture & Applied Arts/Fine Arts (General)/ = "Fine Arts (General)" +1/Arts, Architecture & Applied Arts/Fine Arts _28General_29/ = "Fine Arts (General)" 1/Arts, Architecture & Applied Arts/Visual Arts/ = "Visual Arts" 1/Business & Economics/Business/ = "Business" 1/Business & Economics/Economics/ = "Economics" @@ -190,21 +190,21 @@ 1/Environmental Sciences/Hazardous Substance Handling, Management & Disposal/ = "Hazardous Substance Handling, Management & Disposal" 1/Environmental Sciences/Natural Disasters & Industrial Accidents/ = "Natural Disasters & Industrial Accidents" 1/Environmental Sciences/Occupational Hazards & Health/ = "Occupational Hazards & Health" -1/Environmental Sciences/Pollution (Air, Noise, Soil and Water) & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" +1/Environmental Sciences/Pollution _28Air, Noise, Soil and Water_29 & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" 1/Environmental Sciences/Radioactivity & nuclear fallout/ = "Radioactivity & nuclear fallout" 1/Environmental Sciences/Sustainable Development/ = "Sustainable Development" 1/Environmental Sciences/Waste management and Recycling/ = "Waste management and Recycling" 1/General/Academies & Learned Societies Publications/ = "Academies & Learned Societies Publications" -1/General/Almanacs, Directories & Yearbooks (General)/ = "Almanacs, Directories & Yearbooks (General)" +1/General/Almanacs, Directories & Yearbooks _28General_29/ = "Almanacs, Directories & Yearbooks (General)" 1/General/Bibliography/ = "Bibliography" -1/General/Collections & Series (General)/ = "Collections & Series (General)" -1/General/Dictionaries (General)/ = "Dictionaries (General)" -1/General/Encyclopedias (General)/ = "Encyclopedias (General)" +1/General/Collections & Series _28General_29/ = "Collections & Series (General)" +1/General/Dictionaries _28General_29/ = "Dictionaries (General)" +1/General/Encyclopedias _28General_29/ = "Encyclopedias (General)" 1/General/History of Scholarship & Learning/ = "History of Scholarship & Learning" 1/General/Library Catalogs/ = "Library Catalogs" 1/General/Museum Publications/ = "Museum Publications" -1/General/Newspapers (General & Popular)/ = "Newspapers (General & Popular)" -1/General/Periodicals (General & Popular)/ = "Periodicals (General & Popular)" +1/General/Newspapers _28General & Popular_29/ = "Newspapers (General & Popular)" +1/General/Periodicals _28General & Popular_29/ = "Periodicals (General & Popular)" 1/Health Sciences/Allergy/ = "Allergy" 1/Health Sciences/Alternative Medicine/ = "Alternative Medicine" 1/Health Sciences/Anatomy/ = "Anatomy" @@ -275,8 +275,8 @@ 1/Health Sciences/Veterinary Medicine/ = "Veterinary Medicine" 1/Health Sciences/Veterinary Science/ = "Veterinary Science" 1/History & Archaeology/Archaeology / = "Archaeology " -1/History & Archaeology/Biography (General)/ = "Biography (General)" -1/History & Archaeology/History (General)/ = "History (General)" +1/History & Archaeology/Biography _28General_29/ = "Biography (General)" +1/History & Archaeology/History _28General_29/ = "History (General)" 1/History & Archaeology/Regions & Countries/ = "Regions & Countries" 1/History & Archaeology/Related Historical Sciences/ = "Related Historical Sciences" 1/Information Technology/Artificial Intelligence/ = "Artificial Intelligence" @@ -284,7 +284,7 @@ 1/Information Technology/Computational Biosciences/ = "Computational Biosciences" 1/Information Technology/Computer Aided Design & Production Control/ = "Computer Aided Design & Production Control" 1/Information Technology/Computer Architecture, Languages and Compilers/ = "Computer Architecture, Languages and Compilers" -1/Information Technology/Computer Science (Hardware & Networks)/ = "Computer Science (Hardware & Networks)" +1/Information Technology/Computer Science _28Hardware & Networks_29/ = "Computer Science (Hardware & Networks)" 1/Information Technology/Computer Security Confidentiality/ = "Computer Security Confidentiality" 1/Information Technology/Cybernetics/ = "Cybernetics" 1/Information Technology/Data Storage and Data Mining/ = "Data Storage and Data Mining" @@ -316,7 +316,7 @@ 1/Languages & Literatures/Germanic Literature/ = "Germanic Literature" 1/Languages & Literatures/Greek & Latin Languages & Literatures/ = "Greek & Latin Languages & Literatures" 1/Languages & Literatures/Indo-Iranian Languages & Literatures/ = "Indo-Iranian Languages & Literatures" -1/Languages & Literatures/Literature (General)/ = "Literature (General)" +1/Languages & Literatures/Literature _28General_29/ = "Literature (General)" 1/Languages & Literatures/Middle Eastern Languages & Literatures/ = "Middle Eastern Languages & Literatures" 1/Languages & Literatures/Native American & Hyperborean Languages/ = "Native American & Hyperborean Languages" 1/Languages & Literatures/Philology & Linguistics/ = "Philology & Linguistics" @@ -325,10 +325,10 @@ 1/Languages & Literatures/Slavic, Baltic and Albanian Languages & Literatures/ = "Slavic, Baltic and Albanian Languages & Literatures" 1/Languages & Literatures/Ural-Altaic Languages & Literatures/ = "Ural-Altaic Languages & Literatures" 1/Languages & Literatures/Uralic and Basque Languages & Literatures/ = "Uralic and Basque Languages & Literatures" -1/Languages & Literatures/Western European Languages (General)/ = "Western European Languages (General)" -1/Law, Politics & Government/Government (General)/ = "Government (General)" -1/Law, Politics & Government/Government (Non-U.S.)/ = "Government (Non-U.S.)" -1/Law, Politics & Government/Government (U.S.)/ = "Government (U.S.)" +1/Languages & Literatures/Western European Languages _28General_29/ = "Western European Languages (General)" +1/Law, Politics & Government/Government _28General_29/ = "Government (General)" +1/Law, Politics & Government/Government _28Non-U.S._29/ = "Government (Non-U.S.)" +1/Law, Politics & Government/Government _28U.S._29/ = "Government (U.S.)" 1/Law, Politics & Government/International Relations/ = "International Relations" 1/Law, Politics & Government/Law/ = "Law" 1/Law, Politics & Government/Military & Naval Science/ = "Military & Naval Science" @@ -471,11 +471,11 @@ 1/Sciences/Meteorology & Climatology/ = "Meteorology & Climatology" 1/Sciences/Oceanography/ = "Oceanography" 1/Sciences/Physics/ = "Physics" -1/Sciences/Sciences (General)/ = "Sciences (General)" +1/Sciences/Sciences _28General_29/ = "Sciences (General)" 1/Sciences/Zoology/ = "Zoology" 1/Social Sciences/Anthropology/ = "Anthropology" 1/Social Sciences/Archeology/ = "Archeology" -1/Social Sciences/Behavioral Science (Psychology) and Counselling/ = "Behavioral Science (Psychology) and Counselling" +1/Social Sciences/Behavioral Science _28Psychology_29 and Counselling/ = "Behavioral Science (Psychology) and Counselling" 1/Social Sciences/Communities and Urban Planning/ = "Communities and Urban Planning" 1/Social Sciences/Community Based Awareness and Relief Service/ = "Community Based Awareness and Relief Service" 1/Social Sciences/Demographic Studies/ = "Demographic Studies" @@ -496,11 +496,11 @@ 1/Social Sciences/Recreation & Sports/ = "Recreation & Sports" 1/Social Sciences/Regional and International Studies/ = "Regional and International Studies" 1/Social Sciences/Rehabilitation/ = "Rehabilitation" -1/Social Sciences/Social Sciences (General)/ = "Social Sciences (General)" +1/Social Sciences/Social Sciences _28General_29/ = "Social Sciences (General)" 1/Social Sciences/Social Welfare & Social Work/ = "Social Welfare & Social Work" 1/Social Sciences/Sociology & Social History/ = "Sociology & Social History" 1/Social Sciences/Sociology/ = "Sociology" -1/Social Sciences/Statistics (General)/ = "Statistics (General)" +1/Social Sciences/Statistics _28General_29/ = "Statistics (General)" 1/Social Sciences/Women's Studies/ = "Women's Studies" 1/Telecommunications Technology/Cables & Optical Fibres/ = "Cables & Optical Fibres" 1/Telecommunications Technology/Communication Networks & Technology/ = "Communication Networks & Technology" @@ -514,7 +514,7 @@ 2/Arts, Architecture & Applied Arts/Visual Arts/Painting/ = "Painting" 2/Arts, Architecture & Applied Arts/Visual Arts/Photography/ = "Photography" 2/Arts, Architecture & Applied Arts/Visual Arts/Sculpture/ = "Sculpture" -2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts (General)/ = "Visual Arts (General)" +2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts _28General_29/ = "Visual Arts (General)" 2/Business & Economics/Business/Business Education/ = "Business Education" 2/Business & Economics/Business/Commerce/ = "Commerce" 2/Business & Economics/Business/Finance/ = "Finance" @@ -533,7 +533,7 @@ 2/Engineering & Applied Sciences/Engineering/Chemical Engineering/ = "Chemical Engineering" 2/Engineering & Applied Sciences/Engineering/Civil Engineering/ = "Civil Engineering" 2/Engineering & Applied Sciences/Engineering/Electrical Engineering/ = "Electrical Engineering" -2/Engineering & Applied Sciences/Engineering/Engineering (General)/ = "Engineering (General)" +2/Engineering & Applied Sciences/Engineering/Engineering _28General_29/ = "Engineering (General)" 2/Engineering & Applied Sciences/Engineering/Environmental Engineering/ = "Environmental Engineering" 2/Engineering & Applied Sciences/Engineering/Hydraulic Engineering/ = "Hydraulic Engineering" 2/Engineering & Applied Sciences/Engineering/Industrial & Management Engineering/ = "Industrial & Management Engineering" @@ -544,12 +544,12 @@ 2/Engineering & Applied Sciences/Engineering/Nuclear Engineering/ = "Nuclear Engineering" 2/Engineering & Applied Sciences/Engineering/Ocean Engineering/ = "Ocean Engineering" 2/Engineering & Applied Sciences/Engineering/Operations Research/ = "Operations Research" -2/Engineering & Applied Sciences/Engineering/Technology (General)/ = "Technology (General)" +2/Engineering & Applied Sciences/Engineering/Technology _28General_29/ = "Technology (General)" 2/Engineering & Applied Sciences/Engineering/Telecommunications/ = "Telecommunications" 2/Engineering & Applied Sciences/Engineering/Transportation Engineering/ = "Transportation Engineering" -2/General/Bibliography/Bibliography (General)/ = "Bibliography (General)" -2/Health Sciences/Dentistry/Dentistry (General)/ = "Dentistry (General)" -2/Health Sciences/Dentistry/Operative & Restorative Dentistry (Adult)/ = "Operative & Restorative Dentistry (Adult)" +2/General/Bibliography/Bibliography _28General_29/ = "Bibliography (General)" +2/Health Sciences/Dentistry/Dentistry _28General_29/ = "Dentistry (General)" +2/Health Sciences/Dentistry/Operative & Restorative Dentistry _28Adult_29/ = "Operative & Restorative Dentistry (Adult)" 2/Health Sciences/Dentistry/Oral Surgery/ = "Oral Surgery" 2/Health Sciences/Dentistry/Orthodontics/ = "Orthodontics" 2/Health Sciences/Dentistry/Periodontics & Periodontal Prosthesis/ = "Periodontics & Periodontal Prosthesis" @@ -559,7 +559,7 @@ 2/Health Sciences/Medicine/Dermatology/ = "Dermatology" 2/Health Sciences/Medicine/Gynecology & Obstetrics/ = "Gynecology & Obstetrics" 2/Health Sciences/Medicine/Internal Medicine/ = "Internal Medicine" -2/Health Sciences/Medicine/Medicine (General)/ = "Medicine (General)" +2/Health Sciences/Medicine/Medicine _28General_29/ = "Medicine (General)" 2/Health Sciences/Medicine/Neurology/ = "Neurology" 2/Health Sciences/Medicine/Ophthalmology/ = "Ophthalmology" 2/Health Sciences/Medicine/Otorhinolaryngology/ = "Otorhinolaryngology" @@ -583,7 +583,7 @@ 2/Health Sciences/Public Health/Medical Geography/ = "Medical Geography" 2/Health Sciences/Public Health/Medical Statistics/ = "Medical Statistics" 2/Health Sciences/Public Health/Mental Illness Prevention/ = "Mental Illness Prevention" -2/Health Sciences/Public Health/Public Health (General)/ = "Public Health (General)" +2/Health Sciences/Public Health/Public Health _28General_29/ = "Public Health (General)" 2/Health Sciences/Public Health/Regulation of Health Care/ = "Regulation of Health Care" 2/Health Sciences/Public Health/Social Medicine/ = "Social Medicine" 2/Health Sciences/Public Health/Toxicology & Public Health/ = "Toxicology & Public Health" @@ -593,7 +593,7 @@ 2/History & Archaeology/Regions & Countries/Africa/ = "Africa" 2/History & Archaeology/Regions & Countries/Americas/ = "Americas" 2/History & Archaeology/Regions & Countries/Asia & the Middle East/ = "Asia & the Middle East" -2/History & Archaeology/Regions & Countries/Australia & Pacific Islands (Oceania)/ = "Australia & Pacific Islands (Oceania)" +2/History & Archaeology/Regions & Countries/Australia & Pacific Islands _28Oceania_29/ = "Australia & Pacific Islands (Oceania)" 2/History & Archaeology/Regions & Countries/Europe/ = "Europe" 2/History & Archaeology/Related Historical Sciences/Archives, Ancient Documents & Seals/ = "Archives, Ancient Documents & Seals" 2/History & Archaeology/Related Historical Sciences/Calendars & Chronologies/ = "Calendars & Chronologies" @@ -607,37 +607,37 @@ 2/Languages & Literatures/Romance Literatures/Italian Literature/ = "Italian Literature" 2/Languages & Literatures/Romance Literatures/Portugese Literature/ = "Portugese Literature" 2/Languages & Literatures/Romance Literatures/Spanish Literature/ = "Spanish Literature" -2/Law, Politics & Government/Government (General)/Government Documents & Papers/ = "Government Documents & Papers" -2/Law, Politics & Government/Government (General)/Political Institutions & Public Administration (General)/ = "Political Institutions & Public Administration (General)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Asia)/ = "Government (Asia)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Canada)/ = "Government (Canada)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Central & South America)/ = "Government (Central & South America)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Europe)/ = "Government (Europe)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Mexico)/ = "Government (Mexico)" -2/Law, Politics & Government/Government (U.S.)/Local Government (U.S.)/ = "Local Government (U.S.)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S), Executive Branch)/ = "Political Institutions & Public Administration (U.S), Executive Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), General)/ = "Political Institutions & Public Administration (U.S.), General)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), Legislative Branch)/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Rights (U.S.)/ = "Political Rights (U.S.)" -2/Law, Politics & Government/Government (U.S.)/State Government (U.S.)/ = "State Government (U.S.)" +2/Law, Politics & Government/Government _28General_29/Government Documents & Papers/ = "Government Documents & Papers" +2/Law, Politics & Government/Government _28General_29/Political Institutions & Public Administration _28General_29/ = "Political Institutions & Public Administration (General)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Asia_29/ = "Government (Asia)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Canada_29/ = "Government (Canada)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Central & South America_29/ = "Government (Central & South America)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Europe_29/ = "Government (Europe)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Mexico_29/ = "Government (Mexico)" +2/Law, Politics & Government/Government _28U.S._29/Local Government _28U.S._29/ = "Local Government (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S_29, Executive Branch_29/ = "Political Institutions & Public Administration (U.S), Executive Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, General_29/ = "Political Institutions & Public Administration (U.S.), General)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, Legislative Branch_29/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Rights _28U.S._29/ = "Political Rights (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/State Government _28U.S._29/ = "State Government (U.S.)" 2/Law, Politics & Government/Law/Canon Law/ = "Canon Law" 2/Law, Politics & Government/Law/Human Rights/ = "Human Rights" 2/Law, Politics & Government/Law/International Law/ = "International Law" -2/Law, Politics & Government/Law/Law (Non-U.S.)/ = "Law (Non-U.S.)" -2/Law, Politics & Government/Law/Law (U.S.)/ = "Law (U.S.)" +2/Law, Politics & Government/Law/Law _28Non-U.S._29/ = "Law (Non-U.S.)" +2/Law, Politics & Government/Law/Law _28U.S._29/ = "Law (U.S.)" 2/Law, Politics & Government/Law/Law, General & Comparative/ = "Law, General & Comparative" 2/Law, Politics & Government/Military & Naval Science/Air Forces/ = "Air Forces" 2/Law, Politics & Government/Military & Naval Science/Armies/ = "Armies" 2/Law, Politics & Government/Military & Naval Science/Marines/ = "Marines" 2/Law, Politics & Government/Military & Naval Science/Military Administration/ = "Military Administration" 2/Law, Politics & Government/Military & Naval Science/Military Engineering/ = "Military Engineering" -2/Law, Politics & Government/Military & Naval Science/Military Science (General)/ = "Military Science (General)" +2/Law, Politics & Government/Military & Naval Science/Military Science _28General_29/ = "Military Science (General)" 2/Law, Politics & Government/Military & Naval Science/Naval Architecture/ = "Naval Architecture" -2/Law, Politics & Government/Military & Naval Science/Naval Science (General)/ = "Naval Science (General)" +2/Law, Politics & Government/Military & Naval Science/Naval Science _28General_29/ = "Naval Science (General)" 2/Law, Politics & Government/Military & Naval Science/Navigation/ = "Navigation" 2/Law, Politics & Government/Political Science/Colonialism & Postcolonialism/ = "Colonialism & Postcolonialism" 2/Law, Politics & Government/Political Science/Immigration & Emigration/ = "Immigration & Emigration" -2/Law, Politics & Government/Political Science/Political Science (General)/ = "Political Science (General)" +2/Law, Politics & Government/Political Science/Political Science _28General_29/ = "Political Science (General)" 2/Law, Politics & Government/Political Science/Political Science History/ = "Political Science History" 2/Law, Politics & Government/Political Science/Political Science Study & Teaching/ = "Political Science Study & Teaching" 2/Law, Politics & Government/Political Science/Political Science Theory/ = "Political Science Theory" @@ -647,8 +647,8 @@ 2/Music, Dance, Drama & Film/Music/Composers/ = "Composers" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, General/ = "Music History & Criticism, General" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Instrumental/ = "Music History & Criticism, Instrumental" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, National (Folk, Patriotic, Political)/ = "Music History & Criticism, National (Folk, Patriotic, Political)" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular (Jazz, Rock, etc.)/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, National _28Folk, Patriotic, Political_29/ = "Music History & Criticism, National (Folk, Patriotic, Political)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular _28Jazz, Rock, etc._29/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Vocal/ = "Music History & Criticism, Vocal" 2/Music, Dance, Drama & Film/Music/Music Instruction & Study/ = "Music Instruction & Study" 2/Music, Dance, Drama & Film/Music/Music Literature/ = "Music Literature" @@ -663,7 +663,7 @@ 2/Philosophy & Religion/Religion/Ancient Near Eastern Religions/ = "Ancient Near Eastern Religions" 2/Philosophy & Religion/Religion/Buddhism/ = "Buddhism" 2/Philosophy & Religion/Religion/Christianity/ = "Christianity" -2/Philosophy & Religion/Religion/European Religions (pre-Christian)/ = "European Religions (pre-Christian)" +2/Philosophy & Religion/Religion/European Religions _28pre-Christian_29/ = "European Religions (pre-Christian)" 2/Philosophy & Religion/Religion/Hinduism/ = "Hinduism" 2/Philosophy & Religion/Religion/Islam/ = "Islam" 2/Philosophy & Religion/Religion/Jainism/ = "Jainism" @@ -672,16 +672,16 @@ 2/Philosophy & Religion/Religion/North & South American Religions/ = "North & South American Religions" 2/Philosophy & Religion/Religion/Oceania Religions/ = "Oceania Religions" 2/Philosophy & Religion/Religion/Rationalism/ = "Rationalism" -2/Philosophy & Religion/Religion/Religion (General)/ = "Religion (General)" -2/Sciences/Agriculture/Agriculture (General)/ = "Agriculture (General)" +2/Philosophy & Religion/Religion/Religion _28General_29/ = "Religion (General)" +2/Sciences/Agriculture/Agriculture _28General_29/ = "Agriculture (General)" 2/Sciences/Agriculture/Animal Sciences/ = "Animal Sciences" 2/Sciences/Agriculture/Plant Sciences/ = "Plant Sciences" 2/Sciences/Astronomy & Astrophysics/Astronomical Observatories & Instruments/ = "Astronomical Observatories & Instruments" -2/Sciences/Astronomy & Astrophysics/Astronomy (General)/ = "Astronomy (General)" +2/Sciences/Astronomy & Astrophysics/Astronomy _28General_29/ = "Astronomy (General)" 2/Sciences/Astronomy & Astrophysics/Astrophysics/ = "Astrophysics" 2/Sciences/Astronomy & Astrophysics/Practical & Spherical Astronomy/ = "Practical & Spherical Astronomy" 2/Sciences/Astronomy & Astrophysics/Theoretical Astronomy/ = "Theoretical Astronomy" -2/Sciences/Biology/Biology (General)/ = "Biology (General)" +2/Sciences/Biology/Biology _28General_29/ = "Biology (General)" 2/Sciences/Biology/Biophysics/ = "Biophysics" 2/Sciences/Biology/Cytology/ = "Cytology" 2/Sciences/Biology/Economic Biology/ = "Economic Biology" @@ -689,7 +689,7 @@ 2/Sciences/Biology/Genetics/ = "Genetics" 2/Sciences/Biology/Microbiology & Immunology/ = "Microbiology & Immunology" 2/Sciences/Biology/Microscopy/ = "Microscopy" -2/Sciences/Botany/Botany (General)/ = "Botany (General)" +2/Sciences/Botany/Botany _28General_29/ = "Botany (General)" 2/Sciences/Botany/Fungi & Algae/ = "Fungi & Algae" 2/Sciences/Botany/Plant Anatomy/ = "Plant Anatomy" 2/Sciences/Botany/Plant Ecology/ = "Plant Ecology" @@ -697,14 +697,14 @@ 2/Sciences/Botany/Plant Physiology/ = "Plant Physiology" 2/Sciences/Chemistry/Analytical Chemistry/ = "Analytical Chemistry" 2/Sciences/Chemistry/Biochemistry/ = "Biochemistry" -2/Sciences/Chemistry/Chemistry (General)/ = "Chemistry (General)" +2/Sciences/Chemistry/Chemistry _28General_29/ = "Chemistry (General)" 2/Sciences/Chemistry/Crystallography/ = "Crystallography" 2/Sciences/Chemistry/Inorganic Chemistry/ = "Inorganic Chemistry" 2/Sciences/Chemistry/Organic Chemistry/ = "Organic Chemistry" 2/Sciences/Chemistry/Photochemistry/ = "Photochemistry" 2/Sciences/Chemistry/Physical & Theoretical Chemistry/ = "Physical & Theoretical Chemistry" 2/Sciences/Geology/Dynamic & Strcutural Geology/ = "Dynamic & Strcutural Geology" -2/Sciences/Geology/Geology (General)/ = "Geology (General)" +2/Sciences/Geology/Geology _28General_29/ = "Geology (General)" 2/Sciences/Geology/Mineralogy/ = "Mineralogy" 2/Sciences/Geology/Paleobotany/ = "Paleobotany" 2/Sciences/Geology/Paleontology/ = "Paleontology" @@ -720,7 +720,7 @@ 2/Sciences/Mathematics/Geometry/ = "Geometry" 2/Sciences/Mathematics/Mathematical Statistics/ = "Mathematical Statistics" 2/Sciences/Mathematics/Mathematical Theory/ = "Mathematical Theory" -2/Sciences/Mathematics/Mathematics (General)/ = "Mathematics (General)" +2/Sciences/Mathematics/Mathematics _28General_29/ = "Mathematics (General)" 2/Sciences/Mathematics/Mathematics Teaching & Research/ = "Mathematics Teaching & Research" 2/Sciences/Physics/Acoustics & Sound/ = "Acoustics & Sound" 2/Sciences/Physics/Atomic Physics/ = "Atomic Physics" @@ -729,7 +729,7 @@ 2/Sciences/Physics/Geomagnetism/ = "Geomagnetism" 2/Sciences/Physics/Light & Optics/ = "Light & Optics" 2/Sciences/Physics/Nuclear Physics/ = "Nuclear Physics" -2/Sciences/Physics/Physics (General)/ = "Physics (General)" +2/Sciences/Physics/Physics _28General_29/ = "Physics (General)" 2/Sciences/Physics/Thermodynamics/ = "Thermodynamics" 2/Sciences/Physics/Weights & Measures/ = "Weights & Measures" 2/Sciences/Zoology/Animal Anatomy & Embryology/ = "Animal Anatomy & Embryology" @@ -737,9 +737,9 @@ 2/Sciences/Zoology/Animal Geography/ = "Animal Geography" 2/Sciences/Zoology/Invertebrates & Protozoa/ = "Invertebrates & Protozoa" 2/Sciences/Zoology/Vetebrates/ = "Vetebrates" -2/Sciences/Zoology/Zoology (General)/ = "Zoology (General)" +2/Sciences/Zoology/Zoology _28General_29/ = "Zoology (General)" 2/Social Sciences/Anthropology/Anthropogeography & Human Ecology/ = "Anthropogeography & Human Ecology" -2/Social Sciences/Anthropology/Anthropology (General)/ = "Anthropology (General)" +2/Social Sciences/Anthropology/Anthropology _28General_29/ = "Anthropology (General)" 2/Social Sciences/Anthropology/Ethnology/ = "Ethnology" 2/Social Sciences/Anthropology/Folklore/ = "Folklore" 2/Social Sciences/Anthropology/Manners & Customs/ = "Manners & Customs" @@ -747,11 +747,11 @@ 2/Social Sciences/Anthropology/Prehistoric Anthropology/ = "Prehistoric Anthropology" 2/Social Sciences/Education/Book Studies & Arts/ = "Book Studies & Arts" 2/Social Sciences/Education/College & School Publications/ = "College & School Publications" -2/Social Sciences/Education/Education (General)/ = "Education (General)" +2/Social Sciences/Education/Education _28General_29/ = "Education (General)" 2/Social Sciences/Education/Education, Special Topics/ = "Education, Special Topics" 2/Social Sciences/Education/Educational Institutions/ = "Educational Institutions" 2/Social Sciences/Education/History of Education/ = "History of Education" -2/Social Sciences/Education/Student Fraternities & Societies (U.S.)/ = "Student Fraternities & Societies (U.S.)" +2/Social Sciences/Education/Student Fraternities & Societies _28U.S._29/ = "Student Fraternities & Societies (U.S.)" 2/Social Sciences/Education/Theory & Practice of Education/ = "Theory & Practice of Education" 2/Social Sciences/Geography/Atlases & Maps/ = "Atlases & Maps" 2/Social Sciences/Geography/Cartography/ = "Cartography" @@ -760,7 +760,7 @@ 2/Social Sciences/Social Welfare & Social Work/Disabilities/ = "Disabilities" 2/Social Sciences/Social Welfare & Social Work/Family Violence/ = "Family Violence" 2/Social Sciences/Social Welfare & Social Work/Gerontology/ = "Gerontology" -2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work (General)/ = "Social Welfare & Social Work (General)" +2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work _28General_29/ = "Social Welfare & Social Work (General)" 2/Social Sciences/Social Welfare & Social Work/Substance Abuse/ = "Substance Abuse" 2/Social Sciences/Sociology & Social History/Communities/ = "Communities" 2/Social Sciences/Sociology & Social History/Family, Marriage & Sex Roles/ = "Family, Marriage & Sex Roles" @@ -772,7 +772,7 @@ 3/Business & Economics/Business/Commerce/Advertising/ = "Advertising" 3/Business & Economics/Business/Commerce/Business Communication/ = "Business Communication" 3/Business & Economics/Business/Commerce/Buying, Selling, Sales Personnel & Sales Executives/ = "Buying, Selling, Sales Personnel & Sales Executives" -3/Business & Economics/Business/Commerce/Commerce (General)/ = "Commerce (General)" +3/Business & Economics/Business/Commerce/Commerce _28General_29/ = "Commerce (General)" 3/Business & Economics/Business/Commerce/Commerce Vocational Guidance/ = "Commerce Vocational Guidance" 3/Business & Economics/Business/Commerce/International Commerce/ = "International Commerce" 3/Business & Economics/Business/Commerce/Local Commerce/ = "Local Commerce" @@ -782,7 +782,7 @@ 3/Business & Economics/Business/Commerce/Retail Trade/ = "Retail Trade" 3/Business & Economics/Business/Finance/Banking/ = "Banking" 3/Business & Economics/Business/Finance/Credit, Debt & Loans/ = "Credit, Debt & Loans" -3/Business & Economics/Business/Finance/Finance (General)/ = "Finance (General)" +3/Business & Economics/Business/Finance/Finance _28General_29/ = "Finance (General)" 3/Business & Economics/Business/Finance/Financial Management & Planning/ = "Financial Management & Planning" 3/Business & Economics/Business/Finance/Insurance/ = "Insurance" 3/Business & Economics/Business/Finance/International Finance/ = "International Finance" @@ -802,7 +802,7 @@ 3/Health Sciences/Medicine/Internal Medicine/Hematologic Diseases/ = "Hematologic Diseases" 3/Health Sciences/Medicine/Internal Medicine/Industrial Medicine/ = "Industrial Medicine" 3/Health Sciences/Medicine/Internal Medicine/Infectious Diseases/ = "Infectious Diseases" -3/Health Sciences/Medicine/Internal Medicine/Internal Medicine (General)/ = "Internal Medicine (General)" +3/Health Sciences/Medicine/Internal Medicine/Internal Medicine _28General_29/ = "Internal Medicine (General)" 3/Health Sciences/Medicine/Internal Medicine/Metabolic & Nutritional Diseases/ = "Metabolic & Nutritional Diseases" 3/Health Sciences/Medicine/Internal Medicine/Military & Naval Medicine/ = "Military & Naval Medicine" 3/Health Sciences/Medicine/Internal Medicine/Musculoskeletal System Diseases/ = "Musculoskeletal System Diseases" @@ -812,16 +812,16 @@ 3/Health Sciences/Medicine/Internal Medicine/Transportation Medicine & Physiology/ = "Transportation Medicine & Physiology" 3/Health Sciences/Medicine/Internal Medicine/Tropical & Arctic Medicine/ = "Tropical & Arctic Medicine" 3/Health Sciences/Medicine/Internal Medicine/Urology/ = "Urology" -3/Health Sciences/Medicine/Medicine (General)/History of Medicine/ = "History of Medicine" -3/Health Sciences/Medicine/Medicine (General)/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" -3/Health Sciences/Medicine/Medicine (General)/Medical Education/ = "Medical Education" -3/Health Sciences/Medicine/Medicine (General)/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" -3/Health Sciences/Medicine/Medicine (General)/Medical Professional Practice/ = "Medical Professional Practice" -3/Health Sciences/Medicine/Medicine (General)/Medical Research/ = "Medical Research" -3/Health Sciences/Medicine/Medicine (General)/Medical Technology/ = "Medical Technology" -3/Health Sciences/Medicine/Medicine (General)/Medicine (General)/ = "Medicine (General)" +3/Health Sciences/Medicine/Medicine _28General_29/History of Medicine/ = "History of Medicine" +3/Health Sciences/Medicine/Medicine _28General_29/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Education/ = "Medical Education" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Professional Practice/ = "Medical Professional Practice" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Research/ = "Medical Research" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Technology/ = "Medical Technology" +3/Health Sciences/Medicine/Medicine _28General_29/Medicine _28General_29/ = "Medicine (General)" 3/Health Sciences/Medicine/Psychiatry/Psychiatric Disorders, Individual/ = "Psychiatric Disorders, Individual" -3/Health Sciences/Medicine/Psychiatry/Psychiatry (General)/ = "Psychiatry (General)" +3/Health Sciences/Medicine/Psychiatry/Psychiatry _28General_29/ = "Psychiatry (General)" 3/Health Sciences/Medicine/Psychiatry/Psychoanalysis/ = "Psychoanalysis" 3/Health Sciences/Medicine/Psychiatry/Psychopharmacotherapy/ = "Psychopharmacotherapy" 3/Health Sciences/Medicine/Psychiatry/Psychosomatic Medicine/ = "Psychosomatic Medicine" @@ -830,13 +830,13 @@ 3/Health Sciences/Medicine/Psychiatry/Substance Abuse Disorders/ = "Substance Abuse Disorders" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Plastic Surgery/ = "Plastic Surgery" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Prosthesis & Artificial Organs/ = "Prosthesis & Artificial Organs" -3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery (General and By Type)/ = "Surgery (General and By Type)" +3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery _28General and By Type_29/ = "Surgery (General and By Type)" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Wounds & Injuries/ = "Wounds & Injuries" -3/History & Archaeology/Regions & Countries/Americas/Americas (General)/ = "Americas (General)" +3/History & Archaeology/Regions & Countries/Americas/Americas _28General_29/ = "Americas (General)" 3/History & Archaeology/Regions & Countries/Americas/Canada/ = "Canada" 3/History & Archaeology/Regions & Countries/Americas/Latin America/ = "Latin America" 3/History & Archaeology/Regions & Countries/Americas/Mexico/ = "Mexico" -3/History & Archaeology/Regions & Countries/Americas/United States (General)/ = "United States (General)" +3/History & Archaeology/Regions & Countries/Americas/United States _28General_29/ = "United States (General)" 3/History & Archaeology/Regions & Countries/Americas/United States Ethnic Groups/ = "United States Ethnic Groups" 3/History & Archaeology/Regions & Countries/Americas/United States Local History/ = "United States Local History" 3/History & Archaeology/Regions & Countries/Asia & the Middle East/East Asia/ = "East Asia" @@ -847,7 +847,7 @@ 3/History & Archaeology/Regions & Countries/Europe/Balkan Peninsula/ = "Balkan Peninsula" 3/History & Archaeology/Regions & Countries/Europe/Central Europe/ = "Central Europe" 3/History & Archaeology/Regions & Countries/Europe/Eastern Europe/ = "Eastern Europe" -3/History & Archaeology/Regions & Countries/Europe/Europe (General)/ = "Europe (General)" +3/History & Archaeology/Regions & Countries/Europe/Europe _28General_29/ = "Europe (General)" 3/History & Archaeology/Regions & Countries/Europe/France/ = "France" 3/History & Archaeology/Regions & Countries/Europe/Germany/ = "Germany" 3/History & Archaeology/Regions & Countries/Europe/Great Britain/ = "Great Britain" @@ -861,36 +861,36 @@ 3/History & Archaeology/Regions & Countries/Europe/Spain & Portugal/ = "Spain & Portugal" 3/History & Archaeology/Regions & Countries/Europe/Switzerland/ = "Switzerland" 3/Law, Politics & Government/Law/International Law/International Cooperation/ = "International Cooperation" -3/Law, Politics & Government/Law/International Law/International Law (General)/ = "International Law (General)" +3/Law, Politics & Government/Law/International Law/International Law _28General_29/ = "International Law (General)" 3/Law, Politics & Government/Law/International Law/Law of Outer Space/ = "Law of Outer Space" 3/Law, Politics & Government/Law/International Law/Law of the Sea/ = "Law of the Sea" 3/Law, Politics & Government/Law/International Law/Treaties, International/ = "Treaties, International" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law ( Americas, Latin America & West Indies)/ = "Law ( Americas, Latin America & West Indies)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Africa, Asia, Pacific & Antarctica)/ = "Law (Africa, Asia, Pacific & Antarctica)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Canada)/ = "Law (Canada)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Europe, except U.K.)/ = "Law (Europe, except U.K.)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Latin America)/ = "Law (Latin America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (South America)/ = "Law (South America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law, English/ = "Law, English" -3/Law, Politics & Government/Law/Law (U.S.)/Constitutional Law (U.S.)/ = "Constitutional Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Criminal Law & Procedure (U.S.)/ = "Criminal Law & Procedure (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Disabled Legislation (U.S.)/ = "Disabled Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Food, Drug & Cosmetics Legislation (U.S.)/ = "Food, Drug & Cosmetics Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Insurance and Medicare Legislation (U.S.)/ = "Health Insurance and Medicare Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Professions Legislation (U.S.)/ = "Health Professions Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Human Reproduction Legislation (U.S.)/ = "Human Reproduction Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Intellectual Property Law (U.S.)/ = "Intellectual Property Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Labor Law (U.S.)/ = "Labor Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (N.Y. State)/ = "Law (N.Y. State)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (New York City)/ = "Law (New York City)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (U.S.), General/ = "Law (U.S.), General" -3/Law, Politics & Government/Law/Law (U.S.)/Law of the U.S. States (except N.Y.)/ = "Law of the U.S. States (except N.Y.)" -3/Law, Politics & Government/Law/Law (U.S.)/Medical & Hospital Legislation (U.S.)/ = "Medical & Hospital Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Military Law (U.S.)/ = "Military Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Finance Laws (U.S.)/ = "Public Finance Laws (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Health Legislation (U.S.)/ = "Public Health Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Property Laws (U.S.)/ = "Public Property Laws (U.S.)" -3/Social Sciences/Sociology & Social History/Communities/Communities (General)/ = "Communities (General)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28 Americas, Latin America & West Indies_29/ = "Law ( Americas, Latin America & West Indies)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Africa, Asia, Pacific & Antarctica_29/ = "Law (Africa, Asia, Pacific & Antarctica)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Canada_29/ = "Law (Canada)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Europe, except U.K._29/ = "Law (Europe, except U.K.)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Latin America_29/ = "Law (Latin America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28South America_29/ = "Law (South America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law, English/ = "Law, English" +3/Law, Politics & Government/Law/Law _28U.S._29/Constitutional Law _28U.S._29/ = "Constitutional Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Criminal Law & Procedure _28U.S._29/ = "Criminal Law & Procedure (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Disabled Legislation _28U.S._29/ = "Disabled Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Food, Drug & Cosmetics Legislation _28U.S._29/ = "Food, Drug & Cosmetics Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Insurance and Medicare Legislation _28U.S._29/ = "Health Insurance and Medicare Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Professions Legislation _28U.S._29/ = "Health Professions Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Human Reproduction Legislation _28U.S._29/ = "Human Reproduction Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Intellectual Property Law _28U.S._29/ = "Intellectual Property Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Labor Law _28U.S._29/ = "Labor Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28N.Y. State_29/ = "Law (N.Y. State)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28New York City_29/ = "Law (New York City)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28U.S._29, General/ = "Law (U.S.), General" +3/Law, Politics & Government/Law/Law _28U.S._29/Law of the U.S. States _28except N.Y._29/ = "Law of the U.S. States (except N.Y.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Medical & Hospital Legislation _28U.S._29/ = "Medical & Hospital Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Military Law _28U.S._29/ = "Military Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Finance Laws _28U.S._29/ = "Public Finance Laws (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Health Legislation _28U.S._29/ = "Public Health Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Property Laws _28U.S._29/ = "Public Property Laws (U.S.)" +3/Social Sciences/Sociology & Social History/Communities/Communities _28General_29/ = "Communities (General)" 3/Social Sciences/Sociology & Social History/Communities/Races/ = "Races" 3/Social Sciences/Sociology & Social History/Communities/Rural Groups/ = "Rural Groups" 3/Social Sciences/Sociology & Social History/Communities/Social Classes/ = "Social Classes" diff --git a/local/languages/finna/category/fi.ini b/local/languages/finna/category/fi.ini index 5354ff895e0..1adfa3deb9d 100644 --- a/local/languages/finna/category/fi.ini +++ b/local/languages/finna/category/fi.ini @@ -42,7 +42,7 @@ 1/Agriculture Sciences/Food Science and Technology/ = "Food Science and Technology" 1/Agriculture Sciences/Forestry/ = "Forestry" 1/Agriculture Sciences/General and Others/ = "General and Others" -1/Agriculture Sciences/Horticulture and Plant Culture (including Arboriculture)/ = "Horticulture and Plant Culture (including Arboriculture)" +1/Agriculture Sciences/Horticulture and Plant Culture _28including Arboriculture_29/ = "Horticulture and Plant Culture (including Arboriculture)" 1/Agriculture Sciences/Organic Farming, Rural Development, Sustainable Agriculture/ = "Organic Farming, Rural Development, Sustainable Agriculture" 1/Agriculture Sciences/Pests, Pest Control & Integrated Pest Management/ = "Pests, Pest Control & Integrated Pest Management" 1/Agriculture Sciences/Plant Breeding/ = "Plant Breeding" @@ -67,7 +67,7 @@ 1/Arts and Humanities/Society and Culture/ = "Society and Culture" 1/Arts, Architecture & Applied Arts/Architecture/ = "Architecture" 1/Arts, Architecture & Applied Arts/Arts & Crafts/ = "Arts & Crafts" -1/Arts, Architecture & Applied Arts/Fine Arts (General)/ = "Fine Arts (General)" +1/Arts, Architecture & Applied Arts/Fine Arts _28General_29/ = "Fine Arts (General)" 1/Arts, Architecture & Applied Arts/Visual Arts/ = "Visual Arts" 1/Business & Economics/Business/ = "Business" 1/Business & Economics/Economics/ = "Economics" @@ -190,21 +190,21 @@ 1/Environmental Sciences/Hazardous Substance Handling, Management & Disposal/ = "Hazardous Substance Handling, Management & Disposal" 1/Environmental Sciences/Natural Disasters & Industrial Accidents/ = "Natural Disasters & Industrial Accidents" 1/Environmental Sciences/Occupational Hazards & Health/ = "Occupational Hazards & Health" -1/Environmental Sciences/Pollution (Air, Noise, Soil and Water) & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" +1/Environmental Sciences/Pollution _28Air, Noise, Soil and Water_29 & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" 1/Environmental Sciences/Radioactivity & nuclear fallout/ = "Radioactivity & nuclear fallout" 1/Environmental Sciences/Sustainable Development/ = "Sustainable Development" 1/Environmental Sciences/Waste management and Recycling/ = "Waste management and Recycling" 1/General/Academies & Learned Societies Publications/ = "Academies & Learned Societies Publications" -1/General/Almanacs, Directories & Yearbooks (General)/ = "Almanacs, Directories & Yearbooks (General)" +1/General/Almanacs, Directories & Yearbooks _28General_29/ = "Almanacs, Directories & Yearbooks (General)" 1/General/Bibliography/ = "Bibliography" -1/General/Collections & Series (General)/ = "Collections & Series (General)" -1/General/Dictionaries (General)/ = "Dictionaries (General)" -1/General/Encyclopedias (General)/ = "Encyclopedias (General)" +1/General/Collections & Series _28General_29/ = "Collections & Series (General)" +1/General/Dictionaries _28General_29/ = "Dictionaries (General)" +1/General/Encyclopedias _28General_29/ = "Encyclopedias (General)" 1/General/History of Scholarship & Learning/ = "History of Scholarship & Learning" 1/General/Library Catalogs/ = "Library Catalogs" 1/General/Museum Publications/ = "Museum Publications" -1/General/Newspapers (General & Popular)/ = "Newspapers (General & Popular)" -1/General/Periodicals (General & Popular)/ = "Periodicals (General & Popular)" +1/General/Newspapers _28General & Popular_29/ = "Newspapers (General & Popular)" +1/General/Periodicals _28General & Popular_29/ = "Periodicals (General & Popular)" 1/Health Sciences/Allergy/ = "Allergy" 1/Health Sciences/Alternative Medicine/ = "Alternative Medicine" 1/Health Sciences/Anatomy/ = "Anatomy" @@ -275,8 +275,8 @@ 1/Health Sciences/Veterinary Medicine/ = "Veterinary Medicine" 1/Health Sciences/Veterinary Science/ = "Veterinary Science" 1/History & Archaeology/Archaeology / = "Archaeology " -1/History & Archaeology/Biography (General)/ = "Biography (General)" -1/History & Archaeology/History (General)/ = "History (General)" +1/History & Archaeology/Biography _28General_29/ = "Biography (General)" +1/History & Archaeology/History _28General_29/ = "History (General)" 1/History & Archaeology/Regions & Countries/ = "Regions & Countries" 1/History & Archaeology/Related Historical Sciences/ = "Related Historical Sciences" 1/Information Technology/Artificial Intelligence/ = "Artificial Intelligence" @@ -284,7 +284,7 @@ 1/Information Technology/Computational Biosciences/ = "Computational Biosciences" 1/Information Technology/Computer Aided Design & Production Control/ = "Computer Aided Design & Production Control" 1/Information Technology/Computer Architecture, Languages and Compilers/ = "Computer Architecture, Languages and Compilers" -1/Information Technology/Computer Science (Hardware & Networks)/ = "Computer Science (Hardware & Networks)" +1/Information Technology/Computer Science _28Hardware & Networks_29/ = "Computer Science (Hardware & Networks)" 1/Information Technology/Computer Security Confidentiality/ = "Computer Security Confidentiality" 1/Information Technology/Cybernetics/ = "Cybernetics" 1/Information Technology/Data Storage and Data Mining/ = "Data Storage and Data Mining" @@ -316,7 +316,7 @@ 1/Languages & Literatures/Germanic Literature/ = "Germanic Literature" 1/Languages & Literatures/Greek & Latin Languages & Literatures/ = "Greek & Latin Languages & Literatures" 1/Languages & Literatures/Indo-Iranian Languages & Literatures/ = "Indo-Iranian Languages & Literatures" -1/Languages & Literatures/Literature (General)/ = "Literature (General)" +1/Languages & Literatures/Literature _28General_29/ = "Literature (General)" 1/Languages & Literatures/Middle Eastern Languages & Literatures/ = "Middle Eastern Languages & Literatures" 1/Languages & Literatures/Native American & Hyperborean Languages/ = "Native American & Hyperborean Languages" 1/Languages & Literatures/Philology & Linguistics/ = "Philology & Linguistics" @@ -325,10 +325,10 @@ 1/Languages & Literatures/Slavic, Baltic and Albanian Languages & Literatures/ = "Slavic, Baltic and Albanian Languages & Literatures" 1/Languages & Literatures/Ural-Altaic Languages & Literatures/ = "Ural-Altaic Languages & Literatures" 1/Languages & Literatures/Uralic and Basque Languages & Literatures/ = "Uralic and Basque Languages & Literatures" -1/Languages & Literatures/Western European Languages (General)/ = "Western European Languages (General)" -1/Law, Politics & Government/Government (General)/ = "Government (General)" -1/Law, Politics & Government/Government (Non-U.S.)/ = "Government (Non-U.S.)" -1/Law, Politics & Government/Government (U.S.)/ = "Government (U.S.)" +1/Languages & Literatures/Western European Languages _28General_29/ = "Western European Languages (General)" +1/Law, Politics & Government/Government _28General_29/ = "Government (General)" +1/Law, Politics & Government/Government _28Non-U.S._29/ = "Government (Non-U.S.)" +1/Law, Politics & Government/Government _28U.S._29/ = "Government (U.S.)" 1/Law, Politics & Government/International Relations/ = "International Relations" 1/Law, Politics & Government/Law/ = "Law" 1/Law, Politics & Government/Military & Naval Science/ = "Military & Naval Science" @@ -471,11 +471,11 @@ 1/Sciences/Meteorology & Climatology/ = "Meteorology & Climatology" 1/Sciences/Oceanography/ = "Oceanography" 1/Sciences/Physics/ = "Physics" -1/Sciences/Sciences (General)/ = "Sciences (General)" +1/Sciences/Sciences _28General_29/ = "Sciences (General)" 1/Sciences/Zoology/ = "Zoology" 1/Social Sciences/Anthropology/ = "Anthropology" 1/Social Sciences/Archeology/ = "Archeology" -1/Social Sciences/Behavioral Science (Psychology) and Counselling/ = "Behavioral Science (Psychology) and Counselling" +1/Social Sciences/Behavioral Science _28Psychology_29 and Counselling/ = "Behavioral Science (Psychology) and Counselling" 1/Social Sciences/Communities and Urban Planning/ = "Communities and Urban Planning" 1/Social Sciences/Community Based Awareness and Relief Service/ = "Community Based Awareness and Relief Service" 1/Social Sciences/Demographic Studies/ = "Demographic Studies" @@ -496,11 +496,11 @@ 1/Social Sciences/Recreation & Sports/ = "Recreation & Sports" 1/Social Sciences/Regional and International Studies/ = "Regional and International Studies" 1/Social Sciences/Rehabilitation/ = "Rehabilitation" -1/Social Sciences/Social Sciences (General)/ = "Social Sciences (General)" +1/Social Sciences/Social Sciences _28General_29/ = "Social Sciences (General)" 1/Social Sciences/Social Welfare & Social Work/ = "Social Welfare & Social Work" 1/Social Sciences/Sociology & Social History/ = "Sociology & Social History" 1/Social Sciences/Sociology/ = "Sociology" -1/Social Sciences/Statistics (General)/ = "Statistics (General)" +1/Social Sciences/Statistics _28General_29/ = "Statistics (General)" 1/Social Sciences/Women's Studies/ = "Women's Studies" 1/Telecommunications Technology/Cables & Optical Fibres/ = "Cables & Optical Fibres" 1/Telecommunications Technology/Communication Networks & Technology/ = "Communication Networks & Technology" @@ -514,7 +514,7 @@ 2/Arts, Architecture & Applied Arts/Visual Arts/Painting/ = "Painting" 2/Arts, Architecture & Applied Arts/Visual Arts/Photography/ = "Photography" 2/Arts, Architecture & Applied Arts/Visual Arts/Sculpture/ = "Sculpture" -2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts (General)/ = "Visual Arts (General)" +2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts _28General_29/ = "Visual Arts (General)" 2/Business & Economics/Business/Business Education/ = "Business Education" 2/Business & Economics/Business/Commerce/ = "Commerce" 2/Business & Economics/Business/Finance/ = "Finance" @@ -533,7 +533,7 @@ 2/Engineering & Applied Sciences/Engineering/Chemical Engineering/ = "Chemical Engineering" 2/Engineering & Applied Sciences/Engineering/Civil Engineering/ = "Civil Engineering" 2/Engineering & Applied Sciences/Engineering/Electrical Engineering/ = "Electrical Engineering" -2/Engineering & Applied Sciences/Engineering/Engineering (General)/ = "Engineering (General)" +2/Engineering & Applied Sciences/Engineering/Engineering _28General_29/ = "Engineering (General)" 2/Engineering & Applied Sciences/Engineering/Environmental Engineering/ = "Environmental Engineering" 2/Engineering & Applied Sciences/Engineering/Hydraulic Engineering/ = "Hydraulic Engineering" 2/Engineering & Applied Sciences/Engineering/Industrial & Management Engineering/ = "Industrial & Management Engineering" @@ -544,12 +544,12 @@ 2/Engineering & Applied Sciences/Engineering/Nuclear Engineering/ = "Nuclear Engineering" 2/Engineering & Applied Sciences/Engineering/Ocean Engineering/ = "Ocean Engineering" 2/Engineering & Applied Sciences/Engineering/Operations Research/ = "Operations Research" -2/Engineering & Applied Sciences/Engineering/Technology (General)/ = "Technology (General)" +2/Engineering & Applied Sciences/Engineering/Technology _28General_29/ = "Technology (General)" 2/Engineering & Applied Sciences/Engineering/Telecommunications/ = "Telecommunications" 2/Engineering & Applied Sciences/Engineering/Transportation Engineering/ = "Transportation Engineering" -2/General/Bibliography/Bibliography (General)/ = "Bibliography (General)" -2/Health Sciences/Dentistry/Dentistry (General)/ = "Dentistry (General)" -2/Health Sciences/Dentistry/Operative & Restorative Dentistry (Adult)/ = "Operative & Restorative Dentistry (Adult)" +2/General/Bibliography/Bibliography _28General_29/ = "Bibliography (General)" +2/Health Sciences/Dentistry/Dentistry _28General_29/ = "Dentistry (General)" +2/Health Sciences/Dentistry/Operative & Restorative Dentistry _28Adult_29/ = "Operative & Restorative Dentistry (Adult)" 2/Health Sciences/Dentistry/Oral Surgery/ = "Oral Surgery" 2/Health Sciences/Dentistry/Orthodontics/ = "Orthodontics" 2/Health Sciences/Dentistry/Periodontics & Periodontal Prosthesis/ = "Periodontics & Periodontal Prosthesis" @@ -559,7 +559,7 @@ 2/Health Sciences/Medicine/Dermatology/ = "Dermatology" 2/Health Sciences/Medicine/Gynecology & Obstetrics/ = "Gynecology & Obstetrics" 2/Health Sciences/Medicine/Internal Medicine/ = "Internal Medicine" -2/Health Sciences/Medicine/Medicine (General)/ = "Medicine (General)" +2/Health Sciences/Medicine/Medicine _28General_29/ = "Medicine (General)" 2/Health Sciences/Medicine/Neurology/ = "Neurology" 2/Health Sciences/Medicine/Ophthalmology/ = "Ophthalmology" 2/Health Sciences/Medicine/Otorhinolaryngology/ = "Otorhinolaryngology" @@ -583,7 +583,7 @@ 2/Health Sciences/Public Health/Medical Geography/ = "Medical Geography" 2/Health Sciences/Public Health/Medical Statistics/ = "Medical Statistics" 2/Health Sciences/Public Health/Mental Illness Prevention/ = "Mental Illness Prevention" -2/Health Sciences/Public Health/Public Health (General)/ = "Public Health (General)" +2/Health Sciences/Public Health/Public Health _28General_29/ = "Public Health (General)" 2/Health Sciences/Public Health/Regulation of Health Care/ = "Regulation of Health Care" 2/Health Sciences/Public Health/Social Medicine/ = "Social Medicine" 2/Health Sciences/Public Health/Toxicology & Public Health/ = "Toxicology & Public Health" @@ -593,7 +593,7 @@ 2/History & Archaeology/Regions & Countries/Africa/ = "Africa" 2/History & Archaeology/Regions & Countries/Americas/ = "Americas" 2/History & Archaeology/Regions & Countries/Asia & the Middle East/ = "Asia & the Middle East" -2/History & Archaeology/Regions & Countries/Australia & Pacific Islands (Oceania)/ = "Australia & Pacific Islands (Oceania)" +2/History & Archaeology/Regions & Countries/Australia & Pacific Islands _28Oceania_29/ = "Australia & Pacific Islands (Oceania)" 2/History & Archaeology/Regions & Countries/Europe/ = "Europe" 2/History & Archaeology/Related Historical Sciences/Archives, Ancient Documents & Seals/ = "Archives, Ancient Documents & Seals" 2/History & Archaeology/Related Historical Sciences/Calendars & Chronologies/ = "Calendars & Chronologies" @@ -607,37 +607,37 @@ 2/Languages & Literatures/Romance Literatures/Italian Literature/ = "Italian Literature" 2/Languages & Literatures/Romance Literatures/Portugese Literature/ = "Portugese Literature" 2/Languages & Literatures/Romance Literatures/Spanish Literature/ = "Spanish Literature" -2/Law, Politics & Government/Government (General)/Government Documents & Papers/ = "Government Documents & Papers" -2/Law, Politics & Government/Government (General)/Political Institutions & Public Administration (General)/ = "Political Institutions & Public Administration (General)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Asia)/ = "Government (Asia)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Canada)/ = "Government (Canada)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Central & South America)/ = "Government (Central & South America)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Europe)/ = "Government (Europe)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Mexico)/ = "Government (Mexico)" -2/Law, Politics & Government/Government (U.S.)/Local Government (U.S.)/ = "Local Government (U.S.)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S), Executive Branch)/ = "Political Institutions & Public Administration (U.S), Executive Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), General)/ = "Political Institutions & Public Administration (U.S.), General)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), Legislative Branch)/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Rights (U.S.)/ = "Political Rights (U.S.)" -2/Law, Politics & Government/Government (U.S.)/State Government (U.S.)/ = "State Government (U.S.)" +2/Law, Politics & Government/Government _28General_29/Government Documents & Papers/ = "Government Documents & Papers" +2/Law, Politics & Government/Government _28General_29/Political Institutions & Public Administration _28General_29/ = "Political Institutions & Public Administration (General)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Asia_29/ = "Government (Asia)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Canada_29/ = "Government (Canada)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Central & South America_29/ = "Government (Central & South America)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Europe_29/ = "Government (Europe)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Mexico_29/ = "Government (Mexico)" +2/Law, Politics & Government/Government _28U.S._29/Local Government _28U.S._29/ = "Local Government (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S_29, Executive Branch_29/ = "Political Institutions & Public Administration (U.S), Executive Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, General_29/ = "Political Institutions & Public Administration (U.S.), General)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, Legislative Branch_29/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Rights _28U.S._29/ = "Political Rights (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/State Government _28U.S._29/ = "State Government (U.S.)" 2/Law, Politics & Government/Law/Canon Law/ = "Canon Law" 2/Law, Politics & Government/Law/Human Rights/ = "Human Rights" 2/Law, Politics & Government/Law/International Law/ = "International Law" -2/Law, Politics & Government/Law/Law (Non-U.S.)/ = "Law (Non-U.S.)" -2/Law, Politics & Government/Law/Law (U.S.)/ = "Law (U.S.)" +2/Law, Politics & Government/Law/Law _28Non-U.S._29/ = "Law (Non-U.S.)" +2/Law, Politics & Government/Law/Law _28U.S._29/ = "Law (U.S.)" 2/Law, Politics & Government/Law/Law, General & Comparative/ = "Law, General & Comparative" 2/Law, Politics & Government/Military & Naval Science/Air Forces/ = "Air Forces" 2/Law, Politics & Government/Military & Naval Science/Armies/ = "Armies" 2/Law, Politics & Government/Military & Naval Science/Marines/ = "Marines" 2/Law, Politics & Government/Military & Naval Science/Military Administration/ = "Military Administration" 2/Law, Politics & Government/Military & Naval Science/Military Engineering/ = "Military Engineering" -2/Law, Politics & Government/Military & Naval Science/Military Science (General)/ = "Military Science (General)" +2/Law, Politics & Government/Military & Naval Science/Military Science _28General_29/ = "Military Science (General)" 2/Law, Politics & Government/Military & Naval Science/Naval Architecture/ = "Naval Architecture" -2/Law, Politics & Government/Military & Naval Science/Naval Science (General)/ = "Naval Science (General)" +2/Law, Politics & Government/Military & Naval Science/Naval Science _28General_29/ = "Naval Science (General)" 2/Law, Politics & Government/Military & Naval Science/Navigation/ = "Navigation" 2/Law, Politics & Government/Political Science/Colonialism & Postcolonialism/ = "Colonialism & Postcolonialism" 2/Law, Politics & Government/Political Science/Immigration & Emigration/ = "Immigration & Emigration" -2/Law, Politics & Government/Political Science/Political Science (General)/ = "Political Science (General)" +2/Law, Politics & Government/Political Science/Political Science _28General_29/ = "Political Science (General)" 2/Law, Politics & Government/Political Science/Political Science History/ = "Political Science History" 2/Law, Politics & Government/Political Science/Political Science Study & Teaching/ = "Political Science Study & Teaching" 2/Law, Politics & Government/Political Science/Political Science Theory/ = "Political Science Theory" @@ -647,8 +647,8 @@ 2/Music, Dance, Drama & Film/Music/Composers/ = "Composers" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, General/ = "Music History & Criticism, General" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Instrumental/ = "Music History & Criticism, Instrumental" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, National (Folk, Patriotic, Political)/ = "Music History & Criticism, National (Folk, Patriotic, Political)" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular (Jazz, Rock, etc.)/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, National _28Folk, Patriotic, Political_29/ = "Music History & Criticism, National (Folk, Patriotic, Political)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular _28Jazz, Rock, etc._29/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Vocal/ = "Music History & Criticism, Vocal" 2/Music, Dance, Drama & Film/Music/Music Instruction & Study/ = "Music Instruction & Study" 2/Music, Dance, Drama & Film/Music/Music Literature/ = "Music Literature" @@ -663,7 +663,7 @@ 2/Philosophy & Religion/Religion/Ancient Near Eastern Religions/ = "Ancient Near Eastern Religions" 2/Philosophy & Religion/Religion/Buddhism/ = "Buddhism" 2/Philosophy & Religion/Religion/Christianity/ = "Christianity" -2/Philosophy & Religion/Religion/European Religions (pre-Christian)/ = "European Religions (pre-Christian)" +2/Philosophy & Religion/Religion/European Religions _28pre-Christian_29/ = "European Religions (pre-Christian)" 2/Philosophy & Religion/Religion/Hinduism/ = "Hinduism" 2/Philosophy & Religion/Religion/Islam/ = "Islam" 2/Philosophy & Religion/Religion/Jainism/ = "Jainism" @@ -672,16 +672,16 @@ 2/Philosophy & Religion/Religion/North & South American Religions/ = "North & South American Religions" 2/Philosophy & Religion/Religion/Oceania Religions/ = "Oceania Religions" 2/Philosophy & Religion/Religion/Rationalism/ = "Rationalism" -2/Philosophy & Religion/Religion/Religion (General)/ = "Religion (General)" -2/Sciences/Agriculture/Agriculture (General)/ = "Agriculture (General)" +2/Philosophy & Religion/Religion/Religion _28General_29/ = "Religion (General)" +2/Sciences/Agriculture/Agriculture _28General_29/ = "Agriculture (General)" 2/Sciences/Agriculture/Animal Sciences/ = "Animal Sciences" 2/Sciences/Agriculture/Plant Sciences/ = "Plant Sciences" 2/Sciences/Astronomy & Astrophysics/Astronomical Observatories & Instruments/ = "Astronomical Observatories & Instruments" -2/Sciences/Astronomy & Astrophysics/Astronomy (General)/ = "Astronomy (General)" +2/Sciences/Astronomy & Astrophysics/Astronomy _28General_29/ = "Astronomy (General)" 2/Sciences/Astronomy & Astrophysics/Astrophysics/ = "Astrophysics" 2/Sciences/Astronomy & Astrophysics/Practical & Spherical Astronomy/ = "Practical & Spherical Astronomy" 2/Sciences/Astronomy & Astrophysics/Theoretical Astronomy/ = "Theoretical Astronomy" -2/Sciences/Biology/Biology (General)/ = "Biology (General)" +2/Sciences/Biology/Biology _28General_29/ = "Biology (General)" 2/Sciences/Biology/Biophysics/ = "Biophysics" 2/Sciences/Biology/Cytology/ = "Cytology" 2/Sciences/Biology/Economic Biology/ = "Economic Biology" @@ -689,7 +689,7 @@ 2/Sciences/Biology/Genetics/ = "Genetics" 2/Sciences/Biology/Microbiology & Immunology/ = "Microbiology & Immunology" 2/Sciences/Biology/Microscopy/ = "Microscopy" -2/Sciences/Botany/Botany (General)/ = "Botany (General)" +2/Sciences/Botany/Botany _28General_29/ = "Botany (General)" 2/Sciences/Botany/Fungi & Algae/ = "Fungi & Algae" 2/Sciences/Botany/Plant Anatomy/ = "Plant Anatomy" 2/Sciences/Botany/Plant Ecology/ = "Plant Ecology" @@ -697,14 +697,14 @@ 2/Sciences/Botany/Plant Physiology/ = "Plant Physiology" 2/Sciences/Chemistry/Analytical Chemistry/ = "Analytical Chemistry" 2/Sciences/Chemistry/Biochemistry/ = "Biochemistry" -2/Sciences/Chemistry/Chemistry (General)/ = "Chemistry (General)" +2/Sciences/Chemistry/Chemistry _28General_29/ = "Chemistry (General)" 2/Sciences/Chemistry/Crystallography/ = "Crystallography" 2/Sciences/Chemistry/Inorganic Chemistry/ = "Inorganic Chemistry" 2/Sciences/Chemistry/Organic Chemistry/ = "Organic Chemistry" 2/Sciences/Chemistry/Photochemistry/ = "Photochemistry" 2/Sciences/Chemistry/Physical & Theoretical Chemistry/ = "Physical & Theoretical Chemistry" 2/Sciences/Geology/Dynamic & Strcutural Geology/ = "Dynamic & Strcutural Geology" -2/Sciences/Geology/Geology (General)/ = "Geology (General)" +2/Sciences/Geology/Geology _28General_29/ = "Geology (General)" 2/Sciences/Geology/Mineralogy/ = "Mineralogy" 2/Sciences/Geology/Paleobotany/ = "Paleobotany" 2/Sciences/Geology/Paleontology/ = "Paleontology" @@ -720,7 +720,7 @@ 2/Sciences/Mathematics/Geometry/ = "Geometry" 2/Sciences/Mathematics/Mathematical Statistics/ = "Mathematical Statistics" 2/Sciences/Mathematics/Mathematical Theory/ = "Mathematical Theory" -2/Sciences/Mathematics/Mathematics (General)/ = "Mathematics (General)" +2/Sciences/Mathematics/Mathematics _28General_29/ = "Mathematics (General)" 2/Sciences/Mathematics/Mathematics Teaching & Research/ = "Mathematics Teaching & Research" 2/Sciences/Physics/Acoustics & Sound/ = "Acoustics & Sound" 2/Sciences/Physics/Atomic Physics/ = "Atomic Physics" @@ -729,7 +729,7 @@ 2/Sciences/Physics/Geomagnetism/ = "Geomagnetism" 2/Sciences/Physics/Light & Optics/ = "Light & Optics" 2/Sciences/Physics/Nuclear Physics/ = "Nuclear Physics" -2/Sciences/Physics/Physics (General)/ = "Physics (General)" +2/Sciences/Physics/Physics _28General_29/ = "Physics (General)" 2/Sciences/Physics/Thermodynamics/ = "Thermodynamics" 2/Sciences/Physics/Weights & Measures/ = "Weights & Measures" 2/Sciences/Zoology/Animal Anatomy & Embryology/ = "Animal Anatomy & Embryology" @@ -737,9 +737,9 @@ 2/Sciences/Zoology/Animal Geography/ = "Animal Geography" 2/Sciences/Zoology/Invertebrates & Protozoa/ = "Invertebrates & Protozoa" 2/Sciences/Zoology/Vetebrates/ = "Vetebrates" -2/Sciences/Zoology/Zoology (General)/ = "Zoology (General)" +2/Sciences/Zoology/Zoology _28General_29/ = "Zoology (General)" 2/Social Sciences/Anthropology/Anthropogeography & Human Ecology/ = "Anthropogeography & Human Ecology" -2/Social Sciences/Anthropology/Anthropology (General)/ = "Anthropology (General)" +2/Social Sciences/Anthropology/Anthropology _28General_29/ = "Anthropology (General)" 2/Social Sciences/Anthropology/Ethnology/ = "Ethnology" 2/Social Sciences/Anthropology/Folklore/ = "Folklore" 2/Social Sciences/Anthropology/Manners & Customs/ = "Manners & Customs" @@ -747,11 +747,11 @@ 2/Social Sciences/Anthropology/Prehistoric Anthropology/ = "Prehistoric Anthropology" 2/Social Sciences/Education/Book Studies & Arts/ = "Book Studies & Arts" 2/Social Sciences/Education/College & School Publications/ = "College & School Publications" -2/Social Sciences/Education/Education (General)/ = "Education (General)" +2/Social Sciences/Education/Education _28General_29/ = "Education (General)" 2/Social Sciences/Education/Education, Special Topics/ = "Education, Special Topics" 2/Social Sciences/Education/Educational Institutions/ = "Educational Institutions" 2/Social Sciences/Education/History of Education/ = "History of Education" -2/Social Sciences/Education/Student Fraternities & Societies (U.S.)/ = "Student Fraternities & Societies (U.S.)" +2/Social Sciences/Education/Student Fraternities & Societies _28U.S._29/ = "Student Fraternities & Societies (U.S.)" 2/Social Sciences/Education/Theory & Practice of Education/ = "Theory & Practice of Education" 2/Social Sciences/Geography/Atlases & Maps/ = "Atlases & Maps" 2/Social Sciences/Geography/Cartography/ = "Cartography" @@ -760,7 +760,7 @@ 2/Social Sciences/Social Welfare & Social Work/Disabilities/ = "Disabilities" 2/Social Sciences/Social Welfare & Social Work/Family Violence/ = "Family Violence" 2/Social Sciences/Social Welfare & Social Work/Gerontology/ = "Gerontology" -2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work (General)/ = "Social Welfare & Social Work (General)" +2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work _28General_29/ = "Social Welfare & Social Work (General)" 2/Social Sciences/Social Welfare & Social Work/Substance Abuse/ = "Substance Abuse" 2/Social Sciences/Sociology & Social History/Communities/ = "Communities" 2/Social Sciences/Sociology & Social History/Family, Marriage & Sex Roles/ = "Family, Marriage & Sex Roles" @@ -772,7 +772,7 @@ 3/Business & Economics/Business/Commerce/Advertising/ = "Advertising" 3/Business & Economics/Business/Commerce/Business Communication/ = "Business Communication" 3/Business & Economics/Business/Commerce/Buying, Selling, Sales Personnel & Sales Executives/ = "Buying, Selling, Sales Personnel & Sales Executives" -3/Business & Economics/Business/Commerce/Commerce (General)/ = "Commerce (General)" +3/Business & Economics/Business/Commerce/Commerce _28General_29/ = "Commerce (General)" 3/Business & Economics/Business/Commerce/Commerce Vocational Guidance/ = "Commerce Vocational Guidance" 3/Business & Economics/Business/Commerce/International Commerce/ = "International Commerce" 3/Business & Economics/Business/Commerce/Local Commerce/ = "Local Commerce" @@ -782,7 +782,7 @@ 3/Business & Economics/Business/Commerce/Retail Trade/ = "Retail Trade" 3/Business & Economics/Business/Finance/Banking/ = "Banking" 3/Business & Economics/Business/Finance/Credit, Debt & Loans/ = "Credit, Debt & Loans" -3/Business & Economics/Business/Finance/Finance (General)/ = "Finance (General)" +3/Business & Economics/Business/Finance/Finance _28General_29/ = "Finance (General)" 3/Business & Economics/Business/Finance/Financial Management & Planning/ = "Financial Management & Planning" 3/Business & Economics/Business/Finance/Insurance/ = "Insurance" 3/Business & Economics/Business/Finance/International Finance/ = "International Finance" @@ -802,7 +802,7 @@ 3/Health Sciences/Medicine/Internal Medicine/Hematologic Diseases/ = "Hematologic Diseases" 3/Health Sciences/Medicine/Internal Medicine/Industrial Medicine/ = "Industrial Medicine" 3/Health Sciences/Medicine/Internal Medicine/Infectious Diseases/ = "Infectious Diseases" -3/Health Sciences/Medicine/Internal Medicine/Internal Medicine (General)/ = "Internal Medicine (General)" +3/Health Sciences/Medicine/Internal Medicine/Internal Medicine _28General_29/ = "Internal Medicine (General)" 3/Health Sciences/Medicine/Internal Medicine/Metabolic & Nutritional Diseases/ = "Metabolic & Nutritional Diseases" 3/Health Sciences/Medicine/Internal Medicine/Military & Naval Medicine/ = "Military & Naval Medicine" 3/Health Sciences/Medicine/Internal Medicine/Musculoskeletal System Diseases/ = "Musculoskeletal System Diseases" @@ -812,16 +812,16 @@ 3/Health Sciences/Medicine/Internal Medicine/Transportation Medicine & Physiology/ = "Transportation Medicine & Physiology" 3/Health Sciences/Medicine/Internal Medicine/Tropical & Arctic Medicine/ = "Tropical & Arctic Medicine" 3/Health Sciences/Medicine/Internal Medicine/Urology/ = "Urology" -3/Health Sciences/Medicine/Medicine (General)/History of Medicine/ = "History of Medicine" -3/Health Sciences/Medicine/Medicine (General)/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" -3/Health Sciences/Medicine/Medicine (General)/Medical Education/ = "Medical Education" -3/Health Sciences/Medicine/Medicine (General)/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" -3/Health Sciences/Medicine/Medicine (General)/Medical Professional Practice/ = "Medical Professional Practice" -3/Health Sciences/Medicine/Medicine (General)/Medical Research/ = "Medical Research" -3/Health Sciences/Medicine/Medicine (General)/Medical Technology/ = "Medical Technology" -3/Health Sciences/Medicine/Medicine (General)/Medicine (General)/ = "Medicine (General)" +3/Health Sciences/Medicine/Medicine _28General_29/History of Medicine/ = "History of Medicine" +3/Health Sciences/Medicine/Medicine _28General_29/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Education/ = "Medical Education" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Professional Practice/ = "Medical Professional Practice" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Research/ = "Medical Research" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Technology/ = "Medical Technology" +3/Health Sciences/Medicine/Medicine _28General_29/Medicine _28General_29/ = "Medicine (General)" 3/Health Sciences/Medicine/Psychiatry/Psychiatric Disorders, Individual/ = "Psychiatric Disorders, Individual" -3/Health Sciences/Medicine/Psychiatry/Psychiatry (General)/ = "Psychiatry (General)" +3/Health Sciences/Medicine/Psychiatry/Psychiatry _28General_29/ = "Psychiatry (General)" 3/Health Sciences/Medicine/Psychiatry/Psychoanalysis/ = "Psychoanalysis" 3/Health Sciences/Medicine/Psychiatry/Psychopharmacotherapy/ = "Psychopharmacotherapy" 3/Health Sciences/Medicine/Psychiatry/Psychosomatic Medicine/ = "Psychosomatic Medicine" @@ -830,13 +830,13 @@ 3/Health Sciences/Medicine/Psychiatry/Substance Abuse Disorders/ = "Substance Abuse Disorders" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Plastic Surgery/ = "Plastic Surgery" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Prosthesis & Artificial Organs/ = "Prosthesis & Artificial Organs" -3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery (General and By Type)/ = "Surgery (General and By Type)" +3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery _28General and By Type_29/ = "Surgery (General and By Type)" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Wounds & Injuries/ = "Wounds & Injuries" -3/History & Archaeology/Regions & Countries/Americas/Americas (General)/ = "Americas (General)" +3/History & Archaeology/Regions & Countries/Americas/Americas _28General_29/ = "Americas (General)" 3/History & Archaeology/Regions & Countries/Americas/Canada/ = "Canada" 3/History & Archaeology/Regions & Countries/Americas/Latin America/ = "Latin America" 3/History & Archaeology/Regions & Countries/Americas/Mexico/ = "Mexico" -3/History & Archaeology/Regions & Countries/Americas/United States (General)/ = "United States (General)" +3/History & Archaeology/Regions & Countries/Americas/United States _28General_29/ = "United States (General)" 3/History & Archaeology/Regions & Countries/Americas/United States Ethnic Groups/ = "United States Ethnic Groups" 3/History & Archaeology/Regions & Countries/Americas/United States Local History/ = "United States Local History" 3/History & Archaeology/Regions & Countries/Asia & the Middle East/East Asia/ = "East Asia" @@ -847,7 +847,7 @@ 3/History & Archaeology/Regions & Countries/Europe/Balkan Peninsula/ = "Balkan Peninsula" 3/History & Archaeology/Regions & Countries/Europe/Central Europe/ = "Central Europe" 3/History & Archaeology/Regions & Countries/Europe/Eastern Europe/ = "Eastern Europe" -3/History & Archaeology/Regions & Countries/Europe/Europe (General)/ = "Europe (General)" +3/History & Archaeology/Regions & Countries/Europe/Europe _28General_29/ = "Europe (General)" 3/History & Archaeology/Regions & Countries/Europe/France/ = "France" 3/History & Archaeology/Regions & Countries/Europe/Germany/ = "Germany" 3/History & Archaeology/Regions & Countries/Europe/Great Britain/ = "Great Britain" @@ -861,36 +861,36 @@ 3/History & Archaeology/Regions & Countries/Europe/Spain & Portugal/ = "Spain & Portugal" 3/History & Archaeology/Regions & Countries/Europe/Switzerland/ = "Switzerland" 3/Law, Politics & Government/Law/International Law/International Cooperation/ = "International Cooperation" -3/Law, Politics & Government/Law/International Law/International Law (General)/ = "International Law (General)" +3/Law, Politics & Government/Law/International Law/International Law _28General_29/ = "International Law (General)" 3/Law, Politics & Government/Law/International Law/Law of Outer Space/ = "Law of Outer Space" 3/Law, Politics & Government/Law/International Law/Law of the Sea/ = "Law of the Sea" 3/Law, Politics & Government/Law/International Law/Treaties, International/ = "Treaties, International" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law ( Americas, Latin America & West Indies)/ = "Law ( Americas, Latin America & West Indies)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Africa, Asia, Pacific & Antarctica)/ = "Law (Africa, Asia, Pacific & Antarctica)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Canada)/ = "Law (Canada)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Europe, except U.K.)/ = "Law (Europe, except U.K.)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Latin America)/ = "Law (Latin America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (South America)/ = "Law (South America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law, English/ = "Law, English" -3/Law, Politics & Government/Law/Law (U.S.)/Constitutional Law (U.S.)/ = "Constitutional Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Criminal Law & Procedure (U.S.)/ = "Criminal Law & Procedure (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Disabled Legislation (U.S.)/ = "Disabled Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Food, Drug & Cosmetics Legislation (U.S.)/ = "Food, Drug & Cosmetics Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Insurance and Medicare Legislation (U.S.)/ = "Health Insurance and Medicare Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Professions Legislation (U.S.)/ = "Health Professions Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Human Reproduction Legislation (U.S.)/ = "Human Reproduction Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Intellectual Property Law (U.S.)/ = "Intellectual Property Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Labor Law (U.S.)/ = "Labor Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (N.Y. State)/ = "Law (N.Y. State)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (New York City)/ = "Law (New York City)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (U.S.), General/ = "Law (U.S.), General" -3/Law, Politics & Government/Law/Law (U.S.)/Law of the U.S. States (except N.Y.)/ = "Law of the U.S. States (except N.Y.)" -3/Law, Politics & Government/Law/Law (U.S.)/Medical & Hospital Legislation (U.S.)/ = "Medical & Hospital Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Military Law (U.S.)/ = "Military Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Finance Laws (U.S.)/ = "Public Finance Laws (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Health Legislation (U.S.)/ = "Public Health Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Property Laws (U.S.)/ = "Public Property Laws (U.S.)" -3/Social Sciences/Sociology & Social History/Communities/Communities (General)/ = "Communities (General)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28 Americas, Latin America & West Indies_29/ = "Law ( Americas, Latin America & West Indies)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Africa, Asia, Pacific & Antarctica_29/ = "Law (Africa, Asia, Pacific & Antarctica)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Canada_29/ = "Law (Canada)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Europe, except U.K._29/ = "Law (Europe, except U.K.)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Latin America_29/ = "Law (Latin America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28South America_29/ = "Law (South America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law, English/ = "Law, English" +3/Law, Politics & Government/Law/Law _28U.S._29/Constitutional Law _28U.S._29/ = "Constitutional Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Criminal Law & Procedure _28U.S._29/ = "Criminal Law & Procedure (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Disabled Legislation _28U.S._29/ = "Disabled Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Food, Drug & Cosmetics Legislation _28U.S._29/ = "Food, Drug & Cosmetics Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Insurance and Medicare Legislation _28U.S._29/ = "Health Insurance and Medicare Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Professions Legislation _28U.S._29/ = "Health Professions Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Human Reproduction Legislation _28U.S._29/ = "Human Reproduction Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Intellectual Property Law _28U.S._29/ = "Intellectual Property Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Labor Law _28U.S._29/ = "Labor Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28N.Y. State_29/ = "Law (N.Y. State)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28New York City_29/ = "Law (New York City)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28U.S._29, General/ = "Law (U.S.), General" +3/Law, Politics & Government/Law/Law _28U.S._29/Law of the U.S. States _28except N.Y._29/ = "Law of the U.S. States (except N.Y.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Medical & Hospital Legislation _28U.S._29/ = "Medical & Hospital Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Military Law _28U.S._29/ = "Military Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Finance Laws _28U.S._29/ = "Public Finance Laws (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Health Legislation _28U.S._29/ = "Public Health Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Property Laws _28U.S._29/ = "Public Property Laws (U.S.)" +3/Social Sciences/Sociology & Social History/Communities/Communities _28General_29/ = "Communities (General)" 3/Social Sciences/Sociology & Social History/Communities/Races/ = "Races" 3/Social Sciences/Sociology & Social History/Communities/Rural Groups/ = "Rural Groups" 3/Social Sciences/Sociology & Social History/Communities/Social Classes/ = "Social Classes" diff --git a/local/languages/finna/category/sv.ini b/local/languages/finna/category/sv.ini index 5354ff895e0..1adfa3deb9d 100644 --- a/local/languages/finna/category/sv.ini +++ b/local/languages/finna/category/sv.ini @@ -42,7 +42,7 @@ 1/Agriculture Sciences/Food Science and Technology/ = "Food Science and Technology" 1/Agriculture Sciences/Forestry/ = "Forestry" 1/Agriculture Sciences/General and Others/ = "General and Others" -1/Agriculture Sciences/Horticulture and Plant Culture (including Arboriculture)/ = "Horticulture and Plant Culture (including Arboriculture)" +1/Agriculture Sciences/Horticulture and Plant Culture _28including Arboriculture_29/ = "Horticulture and Plant Culture (including Arboriculture)" 1/Agriculture Sciences/Organic Farming, Rural Development, Sustainable Agriculture/ = "Organic Farming, Rural Development, Sustainable Agriculture" 1/Agriculture Sciences/Pests, Pest Control & Integrated Pest Management/ = "Pests, Pest Control & Integrated Pest Management" 1/Agriculture Sciences/Plant Breeding/ = "Plant Breeding" @@ -67,7 +67,7 @@ 1/Arts and Humanities/Society and Culture/ = "Society and Culture" 1/Arts, Architecture & Applied Arts/Architecture/ = "Architecture" 1/Arts, Architecture & Applied Arts/Arts & Crafts/ = "Arts & Crafts" -1/Arts, Architecture & Applied Arts/Fine Arts (General)/ = "Fine Arts (General)" +1/Arts, Architecture & Applied Arts/Fine Arts _28General_29/ = "Fine Arts (General)" 1/Arts, Architecture & Applied Arts/Visual Arts/ = "Visual Arts" 1/Business & Economics/Business/ = "Business" 1/Business & Economics/Economics/ = "Economics" @@ -190,21 +190,21 @@ 1/Environmental Sciences/Hazardous Substance Handling, Management & Disposal/ = "Hazardous Substance Handling, Management & Disposal" 1/Environmental Sciences/Natural Disasters & Industrial Accidents/ = "Natural Disasters & Industrial Accidents" 1/Environmental Sciences/Occupational Hazards & Health/ = "Occupational Hazards & Health" -1/Environmental Sciences/Pollution (Air, Noise, Soil and Water) & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" +1/Environmental Sciences/Pollution _28Air, Noise, Soil and Water_29 & Control/ = "Pollution (Air, Noise, Soil and Water) & Control" 1/Environmental Sciences/Radioactivity & nuclear fallout/ = "Radioactivity & nuclear fallout" 1/Environmental Sciences/Sustainable Development/ = "Sustainable Development" 1/Environmental Sciences/Waste management and Recycling/ = "Waste management and Recycling" 1/General/Academies & Learned Societies Publications/ = "Academies & Learned Societies Publications" -1/General/Almanacs, Directories & Yearbooks (General)/ = "Almanacs, Directories & Yearbooks (General)" +1/General/Almanacs, Directories & Yearbooks _28General_29/ = "Almanacs, Directories & Yearbooks (General)" 1/General/Bibliography/ = "Bibliography" -1/General/Collections & Series (General)/ = "Collections & Series (General)" -1/General/Dictionaries (General)/ = "Dictionaries (General)" -1/General/Encyclopedias (General)/ = "Encyclopedias (General)" +1/General/Collections & Series _28General_29/ = "Collections & Series (General)" +1/General/Dictionaries _28General_29/ = "Dictionaries (General)" +1/General/Encyclopedias _28General_29/ = "Encyclopedias (General)" 1/General/History of Scholarship & Learning/ = "History of Scholarship & Learning" 1/General/Library Catalogs/ = "Library Catalogs" 1/General/Museum Publications/ = "Museum Publications" -1/General/Newspapers (General & Popular)/ = "Newspapers (General & Popular)" -1/General/Periodicals (General & Popular)/ = "Periodicals (General & Popular)" +1/General/Newspapers _28General & Popular_29/ = "Newspapers (General & Popular)" +1/General/Periodicals _28General & Popular_29/ = "Periodicals (General & Popular)" 1/Health Sciences/Allergy/ = "Allergy" 1/Health Sciences/Alternative Medicine/ = "Alternative Medicine" 1/Health Sciences/Anatomy/ = "Anatomy" @@ -275,8 +275,8 @@ 1/Health Sciences/Veterinary Medicine/ = "Veterinary Medicine" 1/Health Sciences/Veterinary Science/ = "Veterinary Science" 1/History & Archaeology/Archaeology / = "Archaeology " -1/History & Archaeology/Biography (General)/ = "Biography (General)" -1/History & Archaeology/History (General)/ = "History (General)" +1/History & Archaeology/Biography _28General_29/ = "Biography (General)" +1/History & Archaeology/History _28General_29/ = "History (General)" 1/History & Archaeology/Regions & Countries/ = "Regions & Countries" 1/History & Archaeology/Related Historical Sciences/ = "Related Historical Sciences" 1/Information Technology/Artificial Intelligence/ = "Artificial Intelligence" @@ -284,7 +284,7 @@ 1/Information Technology/Computational Biosciences/ = "Computational Biosciences" 1/Information Technology/Computer Aided Design & Production Control/ = "Computer Aided Design & Production Control" 1/Information Technology/Computer Architecture, Languages and Compilers/ = "Computer Architecture, Languages and Compilers" -1/Information Technology/Computer Science (Hardware & Networks)/ = "Computer Science (Hardware & Networks)" +1/Information Technology/Computer Science _28Hardware & Networks_29/ = "Computer Science (Hardware & Networks)" 1/Information Technology/Computer Security Confidentiality/ = "Computer Security Confidentiality" 1/Information Technology/Cybernetics/ = "Cybernetics" 1/Information Technology/Data Storage and Data Mining/ = "Data Storage and Data Mining" @@ -316,7 +316,7 @@ 1/Languages & Literatures/Germanic Literature/ = "Germanic Literature" 1/Languages & Literatures/Greek & Latin Languages & Literatures/ = "Greek & Latin Languages & Literatures" 1/Languages & Literatures/Indo-Iranian Languages & Literatures/ = "Indo-Iranian Languages & Literatures" -1/Languages & Literatures/Literature (General)/ = "Literature (General)" +1/Languages & Literatures/Literature _28General_29/ = "Literature (General)" 1/Languages & Literatures/Middle Eastern Languages & Literatures/ = "Middle Eastern Languages & Literatures" 1/Languages & Literatures/Native American & Hyperborean Languages/ = "Native American & Hyperborean Languages" 1/Languages & Literatures/Philology & Linguistics/ = "Philology & Linguistics" @@ -325,10 +325,10 @@ 1/Languages & Literatures/Slavic, Baltic and Albanian Languages & Literatures/ = "Slavic, Baltic and Albanian Languages & Literatures" 1/Languages & Literatures/Ural-Altaic Languages & Literatures/ = "Ural-Altaic Languages & Literatures" 1/Languages & Literatures/Uralic and Basque Languages & Literatures/ = "Uralic and Basque Languages & Literatures" -1/Languages & Literatures/Western European Languages (General)/ = "Western European Languages (General)" -1/Law, Politics & Government/Government (General)/ = "Government (General)" -1/Law, Politics & Government/Government (Non-U.S.)/ = "Government (Non-U.S.)" -1/Law, Politics & Government/Government (U.S.)/ = "Government (U.S.)" +1/Languages & Literatures/Western European Languages _28General_29/ = "Western European Languages (General)" +1/Law, Politics & Government/Government _28General_29/ = "Government (General)" +1/Law, Politics & Government/Government _28Non-U.S._29/ = "Government (Non-U.S.)" +1/Law, Politics & Government/Government _28U.S._29/ = "Government (U.S.)" 1/Law, Politics & Government/International Relations/ = "International Relations" 1/Law, Politics & Government/Law/ = "Law" 1/Law, Politics & Government/Military & Naval Science/ = "Military & Naval Science" @@ -471,11 +471,11 @@ 1/Sciences/Meteorology & Climatology/ = "Meteorology & Climatology" 1/Sciences/Oceanography/ = "Oceanography" 1/Sciences/Physics/ = "Physics" -1/Sciences/Sciences (General)/ = "Sciences (General)" +1/Sciences/Sciences _28General_29/ = "Sciences (General)" 1/Sciences/Zoology/ = "Zoology" 1/Social Sciences/Anthropology/ = "Anthropology" 1/Social Sciences/Archeology/ = "Archeology" -1/Social Sciences/Behavioral Science (Psychology) and Counselling/ = "Behavioral Science (Psychology) and Counselling" +1/Social Sciences/Behavioral Science _28Psychology_29 and Counselling/ = "Behavioral Science (Psychology) and Counselling" 1/Social Sciences/Communities and Urban Planning/ = "Communities and Urban Planning" 1/Social Sciences/Community Based Awareness and Relief Service/ = "Community Based Awareness and Relief Service" 1/Social Sciences/Demographic Studies/ = "Demographic Studies" @@ -496,11 +496,11 @@ 1/Social Sciences/Recreation & Sports/ = "Recreation & Sports" 1/Social Sciences/Regional and International Studies/ = "Regional and International Studies" 1/Social Sciences/Rehabilitation/ = "Rehabilitation" -1/Social Sciences/Social Sciences (General)/ = "Social Sciences (General)" +1/Social Sciences/Social Sciences _28General_29/ = "Social Sciences (General)" 1/Social Sciences/Social Welfare & Social Work/ = "Social Welfare & Social Work" 1/Social Sciences/Sociology & Social History/ = "Sociology & Social History" 1/Social Sciences/Sociology/ = "Sociology" -1/Social Sciences/Statistics (General)/ = "Statistics (General)" +1/Social Sciences/Statistics _28General_29/ = "Statistics (General)" 1/Social Sciences/Women's Studies/ = "Women's Studies" 1/Telecommunications Technology/Cables & Optical Fibres/ = "Cables & Optical Fibres" 1/Telecommunications Technology/Communication Networks & Technology/ = "Communication Networks & Technology" @@ -514,7 +514,7 @@ 2/Arts, Architecture & Applied Arts/Visual Arts/Painting/ = "Painting" 2/Arts, Architecture & Applied Arts/Visual Arts/Photography/ = "Photography" 2/Arts, Architecture & Applied Arts/Visual Arts/Sculpture/ = "Sculpture" -2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts (General)/ = "Visual Arts (General)" +2/Arts, Architecture & Applied Arts/Visual Arts/Visual Arts _28General_29/ = "Visual Arts (General)" 2/Business & Economics/Business/Business Education/ = "Business Education" 2/Business & Economics/Business/Commerce/ = "Commerce" 2/Business & Economics/Business/Finance/ = "Finance" @@ -533,7 +533,7 @@ 2/Engineering & Applied Sciences/Engineering/Chemical Engineering/ = "Chemical Engineering" 2/Engineering & Applied Sciences/Engineering/Civil Engineering/ = "Civil Engineering" 2/Engineering & Applied Sciences/Engineering/Electrical Engineering/ = "Electrical Engineering" -2/Engineering & Applied Sciences/Engineering/Engineering (General)/ = "Engineering (General)" +2/Engineering & Applied Sciences/Engineering/Engineering _28General_29/ = "Engineering (General)" 2/Engineering & Applied Sciences/Engineering/Environmental Engineering/ = "Environmental Engineering" 2/Engineering & Applied Sciences/Engineering/Hydraulic Engineering/ = "Hydraulic Engineering" 2/Engineering & Applied Sciences/Engineering/Industrial & Management Engineering/ = "Industrial & Management Engineering" @@ -544,12 +544,12 @@ 2/Engineering & Applied Sciences/Engineering/Nuclear Engineering/ = "Nuclear Engineering" 2/Engineering & Applied Sciences/Engineering/Ocean Engineering/ = "Ocean Engineering" 2/Engineering & Applied Sciences/Engineering/Operations Research/ = "Operations Research" -2/Engineering & Applied Sciences/Engineering/Technology (General)/ = "Technology (General)" +2/Engineering & Applied Sciences/Engineering/Technology _28General_29/ = "Technology (General)" 2/Engineering & Applied Sciences/Engineering/Telecommunications/ = "Telecommunications" 2/Engineering & Applied Sciences/Engineering/Transportation Engineering/ = "Transportation Engineering" -2/General/Bibliography/Bibliography (General)/ = "Bibliography (General)" -2/Health Sciences/Dentistry/Dentistry (General)/ = "Dentistry (General)" -2/Health Sciences/Dentistry/Operative & Restorative Dentistry (Adult)/ = "Operative & Restorative Dentistry (Adult)" +2/General/Bibliography/Bibliography _28General_29/ = "Bibliography (General)" +2/Health Sciences/Dentistry/Dentistry _28General_29/ = "Dentistry (General)" +2/Health Sciences/Dentistry/Operative & Restorative Dentistry _28Adult_29/ = "Operative & Restorative Dentistry (Adult)" 2/Health Sciences/Dentistry/Oral Surgery/ = "Oral Surgery" 2/Health Sciences/Dentistry/Orthodontics/ = "Orthodontics" 2/Health Sciences/Dentistry/Periodontics & Periodontal Prosthesis/ = "Periodontics & Periodontal Prosthesis" @@ -559,7 +559,7 @@ 2/Health Sciences/Medicine/Dermatology/ = "Dermatology" 2/Health Sciences/Medicine/Gynecology & Obstetrics/ = "Gynecology & Obstetrics" 2/Health Sciences/Medicine/Internal Medicine/ = "Internal Medicine" -2/Health Sciences/Medicine/Medicine (General)/ = "Medicine (General)" +2/Health Sciences/Medicine/Medicine _28General_29/ = "Medicine (General)" 2/Health Sciences/Medicine/Neurology/ = "Neurology" 2/Health Sciences/Medicine/Ophthalmology/ = "Ophthalmology" 2/Health Sciences/Medicine/Otorhinolaryngology/ = "Otorhinolaryngology" @@ -583,7 +583,7 @@ 2/Health Sciences/Public Health/Medical Geography/ = "Medical Geography" 2/Health Sciences/Public Health/Medical Statistics/ = "Medical Statistics" 2/Health Sciences/Public Health/Mental Illness Prevention/ = "Mental Illness Prevention" -2/Health Sciences/Public Health/Public Health (General)/ = "Public Health (General)" +2/Health Sciences/Public Health/Public Health _28General_29/ = "Public Health (General)" 2/Health Sciences/Public Health/Regulation of Health Care/ = "Regulation of Health Care" 2/Health Sciences/Public Health/Social Medicine/ = "Social Medicine" 2/Health Sciences/Public Health/Toxicology & Public Health/ = "Toxicology & Public Health" @@ -593,7 +593,7 @@ 2/History & Archaeology/Regions & Countries/Africa/ = "Africa" 2/History & Archaeology/Regions & Countries/Americas/ = "Americas" 2/History & Archaeology/Regions & Countries/Asia & the Middle East/ = "Asia & the Middle East" -2/History & Archaeology/Regions & Countries/Australia & Pacific Islands (Oceania)/ = "Australia & Pacific Islands (Oceania)" +2/History & Archaeology/Regions & Countries/Australia & Pacific Islands _28Oceania_29/ = "Australia & Pacific Islands (Oceania)" 2/History & Archaeology/Regions & Countries/Europe/ = "Europe" 2/History & Archaeology/Related Historical Sciences/Archives, Ancient Documents & Seals/ = "Archives, Ancient Documents & Seals" 2/History & Archaeology/Related Historical Sciences/Calendars & Chronologies/ = "Calendars & Chronologies" @@ -607,37 +607,37 @@ 2/Languages & Literatures/Romance Literatures/Italian Literature/ = "Italian Literature" 2/Languages & Literatures/Romance Literatures/Portugese Literature/ = "Portugese Literature" 2/Languages & Literatures/Romance Literatures/Spanish Literature/ = "Spanish Literature" -2/Law, Politics & Government/Government (General)/Government Documents & Papers/ = "Government Documents & Papers" -2/Law, Politics & Government/Government (General)/Political Institutions & Public Administration (General)/ = "Political Institutions & Public Administration (General)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Asia)/ = "Government (Asia)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Canada)/ = "Government (Canada)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Central & South America)/ = "Government (Central & South America)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Europe)/ = "Government (Europe)" -2/Law, Politics & Government/Government (Non-U.S.)/Government (Mexico)/ = "Government (Mexico)" -2/Law, Politics & Government/Government (U.S.)/Local Government (U.S.)/ = "Local Government (U.S.)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S), Executive Branch)/ = "Political Institutions & Public Administration (U.S), Executive Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), General)/ = "Political Institutions & Public Administration (U.S.), General)" -2/Law, Politics & Government/Government (U.S.)/Political Institutions & Public Administration (U.S.), Legislative Branch)/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" -2/Law, Politics & Government/Government (U.S.)/Political Rights (U.S.)/ = "Political Rights (U.S.)" -2/Law, Politics & Government/Government (U.S.)/State Government (U.S.)/ = "State Government (U.S.)" +2/Law, Politics & Government/Government _28General_29/Government Documents & Papers/ = "Government Documents & Papers" +2/Law, Politics & Government/Government _28General_29/Political Institutions & Public Administration _28General_29/ = "Political Institutions & Public Administration (General)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Asia_29/ = "Government (Asia)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Canada_29/ = "Government (Canada)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Central & South America_29/ = "Government (Central & South America)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Europe_29/ = "Government (Europe)" +2/Law, Politics & Government/Government _28Non-U.S._29/Government _28Mexico_29/ = "Government (Mexico)" +2/Law, Politics & Government/Government _28U.S._29/Local Government _28U.S._29/ = "Local Government (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S_29, Executive Branch_29/ = "Political Institutions & Public Administration (U.S), Executive Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, General_29/ = "Political Institutions & Public Administration (U.S.), General)" +2/Law, Politics & Government/Government _28U.S._29/Political Institutions & Public Administration _28U.S._29, Legislative Branch_29/ = "Political Institutions & Public Administration (U.S.), Legislative Branch)" +2/Law, Politics & Government/Government _28U.S._29/Political Rights _28U.S._29/ = "Political Rights (U.S.)" +2/Law, Politics & Government/Government _28U.S._29/State Government _28U.S._29/ = "State Government (U.S.)" 2/Law, Politics & Government/Law/Canon Law/ = "Canon Law" 2/Law, Politics & Government/Law/Human Rights/ = "Human Rights" 2/Law, Politics & Government/Law/International Law/ = "International Law" -2/Law, Politics & Government/Law/Law (Non-U.S.)/ = "Law (Non-U.S.)" -2/Law, Politics & Government/Law/Law (U.S.)/ = "Law (U.S.)" +2/Law, Politics & Government/Law/Law _28Non-U.S._29/ = "Law (Non-U.S.)" +2/Law, Politics & Government/Law/Law _28U.S._29/ = "Law (U.S.)" 2/Law, Politics & Government/Law/Law, General & Comparative/ = "Law, General & Comparative" 2/Law, Politics & Government/Military & Naval Science/Air Forces/ = "Air Forces" 2/Law, Politics & Government/Military & Naval Science/Armies/ = "Armies" 2/Law, Politics & Government/Military & Naval Science/Marines/ = "Marines" 2/Law, Politics & Government/Military & Naval Science/Military Administration/ = "Military Administration" 2/Law, Politics & Government/Military & Naval Science/Military Engineering/ = "Military Engineering" -2/Law, Politics & Government/Military & Naval Science/Military Science (General)/ = "Military Science (General)" +2/Law, Politics & Government/Military & Naval Science/Military Science _28General_29/ = "Military Science (General)" 2/Law, Politics & Government/Military & Naval Science/Naval Architecture/ = "Naval Architecture" -2/Law, Politics & Government/Military & Naval Science/Naval Science (General)/ = "Naval Science (General)" +2/Law, Politics & Government/Military & Naval Science/Naval Science _28General_29/ = "Naval Science (General)" 2/Law, Politics & Government/Military & Naval Science/Navigation/ = "Navigation" 2/Law, Politics & Government/Political Science/Colonialism & Postcolonialism/ = "Colonialism & Postcolonialism" 2/Law, Politics & Government/Political Science/Immigration & Emigration/ = "Immigration & Emigration" -2/Law, Politics & Government/Political Science/Political Science (General)/ = "Political Science (General)" +2/Law, Politics & Government/Political Science/Political Science _28General_29/ = "Political Science (General)" 2/Law, Politics & Government/Political Science/Political Science History/ = "Political Science History" 2/Law, Politics & Government/Political Science/Political Science Study & Teaching/ = "Political Science Study & Teaching" 2/Law, Politics & Government/Political Science/Political Science Theory/ = "Political Science Theory" @@ -647,8 +647,8 @@ 2/Music, Dance, Drama & Film/Music/Composers/ = "Composers" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, General/ = "Music History & Criticism, General" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Instrumental/ = "Music History & Criticism, Instrumental" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, National (Folk, Patriotic, Political)/ = "Music History & Criticism, National (Folk, Patriotic, Political)" -2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular (Jazz, Rock, etc.)/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, National _28Folk, Patriotic, Political_29/ = "Music History & Criticism, National (Folk, Patriotic, Political)" +2/Music, Dance, Drama & Film/Music/Music History & Criticism, Popular _28Jazz, Rock, etc._29/ = "Music History & Criticism, Popular (Jazz, Rock, etc.)" 2/Music, Dance, Drama & Film/Music/Music History & Criticism, Vocal/ = "Music History & Criticism, Vocal" 2/Music, Dance, Drama & Film/Music/Music Instruction & Study/ = "Music Instruction & Study" 2/Music, Dance, Drama & Film/Music/Music Literature/ = "Music Literature" @@ -663,7 +663,7 @@ 2/Philosophy & Religion/Religion/Ancient Near Eastern Religions/ = "Ancient Near Eastern Religions" 2/Philosophy & Religion/Religion/Buddhism/ = "Buddhism" 2/Philosophy & Religion/Religion/Christianity/ = "Christianity" -2/Philosophy & Religion/Religion/European Religions (pre-Christian)/ = "European Religions (pre-Christian)" +2/Philosophy & Religion/Religion/European Religions _28pre-Christian_29/ = "European Religions (pre-Christian)" 2/Philosophy & Religion/Religion/Hinduism/ = "Hinduism" 2/Philosophy & Religion/Religion/Islam/ = "Islam" 2/Philosophy & Religion/Religion/Jainism/ = "Jainism" @@ -672,16 +672,16 @@ 2/Philosophy & Religion/Religion/North & South American Religions/ = "North & South American Religions" 2/Philosophy & Religion/Religion/Oceania Religions/ = "Oceania Religions" 2/Philosophy & Religion/Religion/Rationalism/ = "Rationalism" -2/Philosophy & Religion/Religion/Religion (General)/ = "Religion (General)" -2/Sciences/Agriculture/Agriculture (General)/ = "Agriculture (General)" +2/Philosophy & Religion/Religion/Religion _28General_29/ = "Religion (General)" +2/Sciences/Agriculture/Agriculture _28General_29/ = "Agriculture (General)" 2/Sciences/Agriculture/Animal Sciences/ = "Animal Sciences" 2/Sciences/Agriculture/Plant Sciences/ = "Plant Sciences" 2/Sciences/Astronomy & Astrophysics/Astronomical Observatories & Instruments/ = "Astronomical Observatories & Instruments" -2/Sciences/Astronomy & Astrophysics/Astronomy (General)/ = "Astronomy (General)" +2/Sciences/Astronomy & Astrophysics/Astronomy _28General_29/ = "Astronomy (General)" 2/Sciences/Astronomy & Astrophysics/Astrophysics/ = "Astrophysics" 2/Sciences/Astronomy & Astrophysics/Practical & Spherical Astronomy/ = "Practical & Spherical Astronomy" 2/Sciences/Astronomy & Astrophysics/Theoretical Astronomy/ = "Theoretical Astronomy" -2/Sciences/Biology/Biology (General)/ = "Biology (General)" +2/Sciences/Biology/Biology _28General_29/ = "Biology (General)" 2/Sciences/Biology/Biophysics/ = "Biophysics" 2/Sciences/Biology/Cytology/ = "Cytology" 2/Sciences/Biology/Economic Biology/ = "Economic Biology" @@ -689,7 +689,7 @@ 2/Sciences/Biology/Genetics/ = "Genetics" 2/Sciences/Biology/Microbiology & Immunology/ = "Microbiology & Immunology" 2/Sciences/Biology/Microscopy/ = "Microscopy" -2/Sciences/Botany/Botany (General)/ = "Botany (General)" +2/Sciences/Botany/Botany _28General_29/ = "Botany (General)" 2/Sciences/Botany/Fungi & Algae/ = "Fungi & Algae" 2/Sciences/Botany/Plant Anatomy/ = "Plant Anatomy" 2/Sciences/Botany/Plant Ecology/ = "Plant Ecology" @@ -697,14 +697,14 @@ 2/Sciences/Botany/Plant Physiology/ = "Plant Physiology" 2/Sciences/Chemistry/Analytical Chemistry/ = "Analytical Chemistry" 2/Sciences/Chemistry/Biochemistry/ = "Biochemistry" -2/Sciences/Chemistry/Chemistry (General)/ = "Chemistry (General)" +2/Sciences/Chemistry/Chemistry _28General_29/ = "Chemistry (General)" 2/Sciences/Chemistry/Crystallography/ = "Crystallography" 2/Sciences/Chemistry/Inorganic Chemistry/ = "Inorganic Chemistry" 2/Sciences/Chemistry/Organic Chemistry/ = "Organic Chemistry" 2/Sciences/Chemistry/Photochemistry/ = "Photochemistry" 2/Sciences/Chemistry/Physical & Theoretical Chemistry/ = "Physical & Theoretical Chemistry" 2/Sciences/Geology/Dynamic & Strcutural Geology/ = "Dynamic & Strcutural Geology" -2/Sciences/Geology/Geology (General)/ = "Geology (General)" +2/Sciences/Geology/Geology _28General_29/ = "Geology (General)" 2/Sciences/Geology/Mineralogy/ = "Mineralogy" 2/Sciences/Geology/Paleobotany/ = "Paleobotany" 2/Sciences/Geology/Paleontology/ = "Paleontology" @@ -720,7 +720,7 @@ 2/Sciences/Mathematics/Geometry/ = "Geometry" 2/Sciences/Mathematics/Mathematical Statistics/ = "Mathematical Statistics" 2/Sciences/Mathematics/Mathematical Theory/ = "Mathematical Theory" -2/Sciences/Mathematics/Mathematics (General)/ = "Mathematics (General)" +2/Sciences/Mathematics/Mathematics _28General_29/ = "Mathematics (General)" 2/Sciences/Mathematics/Mathematics Teaching & Research/ = "Mathematics Teaching & Research" 2/Sciences/Physics/Acoustics & Sound/ = "Acoustics & Sound" 2/Sciences/Physics/Atomic Physics/ = "Atomic Physics" @@ -729,7 +729,7 @@ 2/Sciences/Physics/Geomagnetism/ = "Geomagnetism" 2/Sciences/Physics/Light & Optics/ = "Light & Optics" 2/Sciences/Physics/Nuclear Physics/ = "Nuclear Physics" -2/Sciences/Physics/Physics (General)/ = "Physics (General)" +2/Sciences/Physics/Physics _28General_29/ = "Physics (General)" 2/Sciences/Physics/Thermodynamics/ = "Thermodynamics" 2/Sciences/Physics/Weights & Measures/ = "Weights & Measures" 2/Sciences/Zoology/Animal Anatomy & Embryology/ = "Animal Anatomy & Embryology" @@ -737,9 +737,9 @@ 2/Sciences/Zoology/Animal Geography/ = "Animal Geography" 2/Sciences/Zoology/Invertebrates & Protozoa/ = "Invertebrates & Protozoa" 2/Sciences/Zoology/Vetebrates/ = "Vetebrates" -2/Sciences/Zoology/Zoology (General)/ = "Zoology (General)" +2/Sciences/Zoology/Zoology _28General_29/ = "Zoology (General)" 2/Social Sciences/Anthropology/Anthropogeography & Human Ecology/ = "Anthropogeography & Human Ecology" -2/Social Sciences/Anthropology/Anthropology (General)/ = "Anthropology (General)" +2/Social Sciences/Anthropology/Anthropology _28General_29/ = "Anthropology (General)" 2/Social Sciences/Anthropology/Ethnology/ = "Ethnology" 2/Social Sciences/Anthropology/Folklore/ = "Folklore" 2/Social Sciences/Anthropology/Manners & Customs/ = "Manners & Customs" @@ -747,11 +747,11 @@ 2/Social Sciences/Anthropology/Prehistoric Anthropology/ = "Prehistoric Anthropology" 2/Social Sciences/Education/Book Studies & Arts/ = "Book Studies & Arts" 2/Social Sciences/Education/College & School Publications/ = "College & School Publications" -2/Social Sciences/Education/Education (General)/ = "Education (General)" +2/Social Sciences/Education/Education _28General_29/ = "Education (General)" 2/Social Sciences/Education/Education, Special Topics/ = "Education, Special Topics" 2/Social Sciences/Education/Educational Institutions/ = "Educational Institutions" 2/Social Sciences/Education/History of Education/ = "History of Education" -2/Social Sciences/Education/Student Fraternities & Societies (U.S.)/ = "Student Fraternities & Societies (U.S.)" +2/Social Sciences/Education/Student Fraternities & Societies _28U.S._29/ = "Student Fraternities & Societies (U.S.)" 2/Social Sciences/Education/Theory & Practice of Education/ = "Theory & Practice of Education" 2/Social Sciences/Geography/Atlases & Maps/ = "Atlases & Maps" 2/Social Sciences/Geography/Cartography/ = "Cartography" @@ -760,7 +760,7 @@ 2/Social Sciences/Social Welfare & Social Work/Disabilities/ = "Disabilities" 2/Social Sciences/Social Welfare & Social Work/Family Violence/ = "Family Violence" 2/Social Sciences/Social Welfare & Social Work/Gerontology/ = "Gerontology" -2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work (General)/ = "Social Welfare & Social Work (General)" +2/Social Sciences/Social Welfare & Social Work/Social Welfare & Social Work _28General_29/ = "Social Welfare & Social Work (General)" 2/Social Sciences/Social Welfare & Social Work/Substance Abuse/ = "Substance Abuse" 2/Social Sciences/Sociology & Social History/Communities/ = "Communities" 2/Social Sciences/Sociology & Social History/Family, Marriage & Sex Roles/ = "Family, Marriage & Sex Roles" @@ -772,7 +772,7 @@ 3/Business & Economics/Business/Commerce/Advertising/ = "Advertising" 3/Business & Economics/Business/Commerce/Business Communication/ = "Business Communication" 3/Business & Economics/Business/Commerce/Buying, Selling, Sales Personnel & Sales Executives/ = "Buying, Selling, Sales Personnel & Sales Executives" -3/Business & Economics/Business/Commerce/Commerce (General)/ = "Commerce (General)" +3/Business & Economics/Business/Commerce/Commerce _28General_29/ = "Commerce (General)" 3/Business & Economics/Business/Commerce/Commerce Vocational Guidance/ = "Commerce Vocational Guidance" 3/Business & Economics/Business/Commerce/International Commerce/ = "International Commerce" 3/Business & Economics/Business/Commerce/Local Commerce/ = "Local Commerce" @@ -782,7 +782,7 @@ 3/Business & Economics/Business/Commerce/Retail Trade/ = "Retail Trade" 3/Business & Economics/Business/Finance/Banking/ = "Banking" 3/Business & Economics/Business/Finance/Credit, Debt & Loans/ = "Credit, Debt & Loans" -3/Business & Economics/Business/Finance/Finance (General)/ = "Finance (General)" +3/Business & Economics/Business/Finance/Finance _28General_29/ = "Finance (General)" 3/Business & Economics/Business/Finance/Financial Management & Planning/ = "Financial Management & Planning" 3/Business & Economics/Business/Finance/Insurance/ = "Insurance" 3/Business & Economics/Business/Finance/International Finance/ = "International Finance" @@ -802,7 +802,7 @@ 3/Health Sciences/Medicine/Internal Medicine/Hematologic Diseases/ = "Hematologic Diseases" 3/Health Sciences/Medicine/Internal Medicine/Industrial Medicine/ = "Industrial Medicine" 3/Health Sciences/Medicine/Internal Medicine/Infectious Diseases/ = "Infectious Diseases" -3/Health Sciences/Medicine/Internal Medicine/Internal Medicine (General)/ = "Internal Medicine (General)" +3/Health Sciences/Medicine/Internal Medicine/Internal Medicine _28General_29/ = "Internal Medicine (General)" 3/Health Sciences/Medicine/Internal Medicine/Metabolic & Nutritional Diseases/ = "Metabolic & Nutritional Diseases" 3/Health Sciences/Medicine/Internal Medicine/Military & Naval Medicine/ = "Military & Naval Medicine" 3/Health Sciences/Medicine/Internal Medicine/Musculoskeletal System Diseases/ = "Musculoskeletal System Diseases" @@ -812,16 +812,16 @@ 3/Health Sciences/Medicine/Internal Medicine/Transportation Medicine & Physiology/ = "Transportation Medicine & Physiology" 3/Health Sciences/Medicine/Internal Medicine/Tropical & Arctic Medicine/ = "Tropical & Arctic Medicine" 3/Health Sciences/Medicine/Internal Medicine/Urology/ = "Urology" -3/Health Sciences/Medicine/Medicine (General)/History of Medicine/ = "History of Medicine" -3/Health Sciences/Medicine/Medicine (General)/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" -3/Health Sciences/Medicine/Medicine (General)/Medical Education/ = "Medical Education" -3/Health Sciences/Medicine/Medicine (General)/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" -3/Health Sciences/Medicine/Medicine (General)/Medical Professional Practice/ = "Medical Professional Practice" -3/Health Sciences/Medicine/Medicine (General)/Medical Research/ = "Medical Research" -3/Health Sciences/Medicine/Medicine (General)/Medical Technology/ = "Medical Technology" -3/Health Sciences/Medicine/Medicine (General)/Medicine (General)/ = "Medicine (General)" +3/Health Sciences/Medicine/Medicine _28General_29/History of Medicine/ = "History of Medicine" +3/Health Sciences/Medicine/Medicine _28General_29/Medical & Biomedical Informatics/ = "Medical & Biomedical Informatics" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Education/ = "Medical Education" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Ethics & Philosophy/ = "Medical Ethics & Philosophy" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Professional Practice/ = "Medical Professional Practice" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Research/ = "Medical Research" +3/Health Sciences/Medicine/Medicine _28General_29/Medical Technology/ = "Medical Technology" +3/Health Sciences/Medicine/Medicine _28General_29/Medicine _28General_29/ = "Medicine (General)" 3/Health Sciences/Medicine/Psychiatry/Psychiatric Disorders, Individual/ = "Psychiatric Disorders, Individual" -3/Health Sciences/Medicine/Psychiatry/Psychiatry (General)/ = "Psychiatry (General)" +3/Health Sciences/Medicine/Psychiatry/Psychiatry _28General_29/ = "Psychiatry (General)" 3/Health Sciences/Medicine/Psychiatry/Psychoanalysis/ = "Psychoanalysis" 3/Health Sciences/Medicine/Psychiatry/Psychopharmacotherapy/ = "Psychopharmacotherapy" 3/Health Sciences/Medicine/Psychiatry/Psychosomatic Medicine/ = "Psychosomatic Medicine" @@ -830,13 +830,13 @@ 3/Health Sciences/Medicine/Psychiatry/Substance Abuse Disorders/ = "Substance Abuse Disorders" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Plastic Surgery/ = "Plastic Surgery" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Prosthesis & Artificial Organs/ = "Prosthesis & Artificial Organs" -3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery (General and By Type)/ = "Surgery (General and By Type)" +3/Health Sciences/Medicine/Surgery & Anesthesiology/Surgery _28General and By Type_29/ = "Surgery (General and By Type)" 3/Health Sciences/Medicine/Surgery & Anesthesiology/Wounds & Injuries/ = "Wounds & Injuries" -3/History & Archaeology/Regions & Countries/Americas/Americas (General)/ = "Americas (General)" +3/History & Archaeology/Regions & Countries/Americas/Americas _28General_29/ = "Americas (General)" 3/History & Archaeology/Regions & Countries/Americas/Canada/ = "Canada" 3/History & Archaeology/Regions & Countries/Americas/Latin America/ = "Latin America" 3/History & Archaeology/Regions & Countries/Americas/Mexico/ = "Mexico" -3/History & Archaeology/Regions & Countries/Americas/United States (General)/ = "United States (General)" +3/History & Archaeology/Regions & Countries/Americas/United States _28General_29/ = "United States (General)" 3/History & Archaeology/Regions & Countries/Americas/United States Ethnic Groups/ = "United States Ethnic Groups" 3/History & Archaeology/Regions & Countries/Americas/United States Local History/ = "United States Local History" 3/History & Archaeology/Regions & Countries/Asia & the Middle East/East Asia/ = "East Asia" @@ -847,7 +847,7 @@ 3/History & Archaeology/Regions & Countries/Europe/Balkan Peninsula/ = "Balkan Peninsula" 3/History & Archaeology/Regions & Countries/Europe/Central Europe/ = "Central Europe" 3/History & Archaeology/Regions & Countries/Europe/Eastern Europe/ = "Eastern Europe" -3/History & Archaeology/Regions & Countries/Europe/Europe (General)/ = "Europe (General)" +3/History & Archaeology/Regions & Countries/Europe/Europe _28General_29/ = "Europe (General)" 3/History & Archaeology/Regions & Countries/Europe/France/ = "France" 3/History & Archaeology/Regions & Countries/Europe/Germany/ = "Germany" 3/History & Archaeology/Regions & Countries/Europe/Great Britain/ = "Great Britain" @@ -861,36 +861,36 @@ 3/History & Archaeology/Regions & Countries/Europe/Spain & Portugal/ = "Spain & Portugal" 3/History & Archaeology/Regions & Countries/Europe/Switzerland/ = "Switzerland" 3/Law, Politics & Government/Law/International Law/International Cooperation/ = "International Cooperation" -3/Law, Politics & Government/Law/International Law/International Law (General)/ = "International Law (General)" +3/Law, Politics & Government/Law/International Law/International Law _28General_29/ = "International Law (General)" 3/Law, Politics & Government/Law/International Law/Law of Outer Space/ = "Law of Outer Space" 3/Law, Politics & Government/Law/International Law/Law of the Sea/ = "Law of the Sea" 3/Law, Politics & Government/Law/International Law/Treaties, International/ = "Treaties, International" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law ( Americas, Latin America & West Indies)/ = "Law ( Americas, Latin America & West Indies)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Africa, Asia, Pacific & Antarctica)/ = "Law (Africa, Asia, Pacific & Antarctica)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Canada)/ = "Law (Canada)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Europe, except U.K.)/ = "Law (Europe, except U.K.)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (Latin America)/ = "Law (Latin America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law (South America)/ = "Law (South America)" -3/Law, Politics & Government/Law/Law (Non-U.S.)/Law, English/ = "Law, English" -3/Law, Politics & Government/Law/Law (U.S.)/Constitutional Law (U.S.)/ = "Constitutional Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Criminal Law & Procedure (U.S.)/ = "Criminal Law & Procedure (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Disabled Legislation (U.S.)/ = "Disabled Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Food, Drug & Cosmetics Legislation (U.S.)/ = "Food, Drug & Cosmetics Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Insurance and Medicare Legislation (U.S.)/ = "Health Insurance and Medicare Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Health Professions Legislation (U.S.)/ = "Health Professions Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Human Reproduction Legislation (U.S.)/ = "Human Reproduction Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Intellectual Property Law (U.S.)/ = "Intellectual Property Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Labor Law (U.S.)/ = "Labor Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (N.Y. State)/ = "Law (N.Y. State)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (New York City)/ = "Law (New York City)" -3/Law, Politics & Government/Law/Law (U.S.)/Law (U.S.), General/ = "Law (U.S.), General" -3/Law, Politics & Government/Law/Law (U.S.)/Law of the U.S. States (except N.Y.)/ = "Law of the U.S. States (except N.Y.)" -3/Law, Politics & Government/Law/Law (U.S.)/Medical & Hospital Legislation (U.S.)/ = "Medical & Hospital Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Military Law (U.S.)/ = "Military Law (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Finance Laws (U.S.)/ = "Public Finance Laws (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Health Legislation (U.S.)/ = "Public Health Legislation (U.S.)" -3/Law, Politics & Government/Law/Law (U.S.)/Public Property Laws (U.S.)/ = "Public Property Laws (U.S.)" -3/Social Sciences/Sociology & Social History/Communities/Communities (General)/ = "Communities (General)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28 Americas, Latin America & West Indies_29/ = "Law ( Americas, Latin America & West Indies)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Africa, Asia, Pacific & Antarctica_29/ = "Law (Africa, Asia, Pacific & Antarctica)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Canada_29/ = "Law (Canada)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Europe, except U.K._29/ = "Law (Europe, except U.K.)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28Latin America_29/ = "Law (Latin America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law _28South America_29/ = "Law (South America)" +3/Law, Politics & Government/Law/Law _28Non-U.S._29/Law, English/ = "Law, English" +3/Law, Politics & Government/Law/Law _28U.S._29/Constitutional Law _28U.S._29/ = "Constitutional Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Criminal Law & Procedure _28U.S._29/ = "Criminal Law & Procedure (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Disabled Legislation _28U.S._29/ = "Disabled Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Food, Drug & Cosmetics Legislation _28U.S._29/ = "Food, Drug & Cosmetics Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Insurance and Medicare Legislation _28U.S._29/ = "Health Insurance and Medicare Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Health Professions Legislation _28U.S._29/ = "Health Professions Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Human Reproduction Legislation _28U.S._29/ = "Human Reproduction Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Intellectual Property Law _28U.S._29/ = "Intellectual Property Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Labor Law _28U.S._29/ = "Labor Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28N.Y. State_29/ = "Law (N.Y. State)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28New York City_29/ = "Law (New York City)" +3/Law, Politics & Government/Law/Law _28U.S._29/Law _28U.S._29, General/ = "Law (U.S.), General" +3/Law, Politics & Government/Law/Law _28U.S._29/Law of the U.S. States _28except N.Y._29/ = "Law of the U.S. States (except N.Y.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Medical & Hospital Legislation _28U.S._29/ = "Medical & Hospital Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Military Law _28U.S._29/ = "Military Law (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Finance Laws _28U.S._29/ = "Public Finance Laws (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Health Legislation _28U.S._29/ = "Public Health Legislation (U.S.)" +3/Law, Politics & Government/Law/Law _28U.S._29/Public Property Laws _28U.S._29/ = "Public Property Laws (U.S.)" +3/Social Sciences/Sociology & Social History/Communities/Communities _28General_29/ = "Communities (General)" 3/Social Sciences/Sociology & Social History/Communities/Races/ = "Races" 3/Social Sciences/Sociology & Social History/Communities/Rural Groups/ = "Rural Groups" 3/Social Sciences/Sociology & Social History/Communities/Social Classes/ = "Social Classes" diff --git a/local/languages/finna/en-gb.ini b/local/languages/finna/en-gb.ini index 0b014000a80..4d5496ffa5e 100644 --- a/local/languages/finna/en-gb.ini +++ b/local/languages/finna/en-gb.ini @@ -79,7 +79,6 @@ advanced_search_information_text = "You can choose multiple languages and format Age Limit = "Age Limit" ajax_load_interrupted = "Loading interrupted" alert_email_address = "Scheduled alert results will be sent to email address" -All Favourites = "All favourites" All Fields = "All fields" All Municipalities = "All Municipalities" All Names = "All Forms of Name" @@ -178,6 +177,7 @@ cannot renew any checked out items = "No items to renew" cannot set = "Cannot set" Cannot update = "Cannot update" Cannot update any of the holds = "Cannot update any of the holds" +Capture Information = "Capture Information" Catalog Login = "Library Card" catalog_login_change_card_heading = "Select Library Card" catalog_login_change_card_label = "Switch to a library card you have added" @@ -241,6 +241,7 @@ day-name-short-friday = "Fri" day-name-short-saturday = "Sat" day-name-short-sunday = "Sun" del_search = "Remove search group" +default_list_title = "All favourites" delete_account_description_html = "Saved searches and favourite lists are deleted. Any due date reminders and scheduled alerts are turned off.

After your account has been removed, your comments and ratings will remain on the service anonymous, that is, without your name. If you would also like to delete any comments and ratings you have provided, you will need to do so manually before deleting the account." Description FWD = "Content Description" description_count = "%%count%% description(s)" @@ -1397,7 +1398,7 @@ About Finna = "About Finna" About Us = "About us" about_finna_desc = "Information about Finna" Browse the Catalog = "Browse the catalogue" -Need Help? = "Need help?" +Need Help_ = "Need help?" Organisations = "Organisations" organisations_topic = "Partner organisations" organisations_desc = "See available resources of organisations" diff --git a/local/languages/finna/fi.ini b/local/languages/finna/fi.ini index adde23cf427..d6b95d71a19 100644 --- a/local/languages/finna/fi.ini +++ b/local/languages/finna/fi.ini @@ -71,7 +71,6 @@ advanced_search_information_text = "Voit valita useamman kielen tai aineistotyyp Age Limit = "Ikäraja" ajax_load_interrupted = "Lataus keskeytyi" alert_email_address = "Uutuusvahtien tulokset lähetetään sähköpostiosoitteeseen" -All Favourites = "Kaikki suosikit" All Fields = "Kaikki osumat" All Municipalities = "Kaikki kunnat" All Names = "Kaikki nimimuodot" @@ -172,6 +171,7 @@ cannot renew any checked out items = "Ei uusittavia lainoja" cannot set = "Ei voi asettaa" Cannot update = "Ei voi muokata" Cannot update any of the holds = "Yhtään varausta ei voida muokata" +Capture Information = "Tallennustiedot" Catalog Login = "Kirjastokortilla" catalog_login_change_card_heading = "Valitse kirjastokortti" catalog_login_change_card_label = "Vaihda lisäämääsi kirjastokorttiin" @@ -234,6 +234,7 @@ day-name-short-thursday = "To" day-name-short-friday = "Pe" day-name-short-saturday = "La" day-name-short-sunday = "Su" +default_list_title = "Kaikki suosikit" delete_account_description_html = "Tallennetut haut ja suosikkilistat poistetaan sekä mahdolliset eräpäivämuistutukset ja uutuusvahdit kytketään pois päältä.

Tilin poistamisen jälkeen kommenttisi ja arvostelusi jäävät anonyymeinä eli ilman nimeäsi palveluun. Jos haluat poistaa myös nämä, sinun täytyy tehdä se käsin ennen tilin poistoa." Description FWD = "Sisältöseloste" description_count = "Kuvauksia %%count%% kpl" @@ -672,7 +673,7 @@ must_accept_terms = "Käyttöehdot tulee hyväksyä." my_profile = "Oman tilin tiedot" my_profile_export_import = "Omien tietojen lataus ja tuonti" My account tips = "Oman tilin ohjeet" -Need Help? = "Tarvitsetko apua?" +Need Help_ = "Tarvitsetko apua?" New Items in Index = "Uutta Finnassa" New results found for search = "Uusia tuloksia haulle" new_ils_account = "Ilmoittaudu kirjaston asiakkaaksi" diff --git a/local/languages/finna/se.ini b/local/languages/finna/se.ini index 20f6dfbf9f9..e6601154f36 100644 --- a/local/languages/finna/se.ini +++ b/local/languages/finna/se.ini @@ -68,7 +68,6 @@ advanced_search_information_text = "Sáhtát válljet eanet gielaid dehe materi Age Limit = "Ahkerádji" ajax_load_interrupted = "Ládden gaskkalduvai" alert_email_address = "Ođatfávttaid bohtosat sáddejuvvojit šleađgaboastačujuhussii" -All Favourites = "Buot oiddohat " All Fields = "Buot deaivamat" All Names = "Visot nammahámit" Amount of Viewers = "Geahččit" @@ -212,6 +211,7 @@ day-name-short-thursday = "Du" day-name-short-friday = "Be" day-name-short-saturday = "Lá" day-name-short-sunday = "So" +default_list_title = "Buot oiddohat" delete_account_description_html = "Furkejuvvon ozut ja oiddotlisttut sihkkojuvvojit sihke vejolaš earrebeaivemuittuhusat ja ođatfávttat laktojuvvojit eret nalde.

Konttu sihkkuma maŋŋel du kommeanttat ja árvvoštallamat báhcet anonyman dehege almma du nama haga bálvalussii. Juos háliidat sihkkut maid dáid, don fertet dahkat dan gieđaiguin ovdal konttu sihkkuma." Description FWD = "Sisdoalločilgehus" description_count = "Govvádusat %%count%% st" diff --git a/local/languages/finna/sv.ini b/local/languages/finna/sv.ini index d9de994ffc6..cd4abd4a241 100644 --- a/local/languages/finna/sv.ini +++ b/local/languages/finna/sv.ini @@ -73,7 +73,6 @@ advanced_search_information_text = "Du kan välja flera språk och format på en Age Limit = "Åldersgräns" ajax_load_interrupted = "Laddning avbruten" alert_email_address = "Sökbevakningens resultat skickas till e-postadressen" -All Favourites = "Alla favoriter" All Fields = "Alla fält" All Municipalities = "Alla kommuner" All Names = "Alla namnformer" @@ -172,6 +171,7 @@ cannot renew any checked out items = "Inga förnyande lån" cannot set = "Kan inte sätta" Cannot update = "Kan inte ändra" Cannot update any of the holds = "Kan inte ändra inga reserveringar" +Capture Information = "Inspelningsort och inspelningstid" Catalog Login = "Med ditt bibliotekskort" catalog_login_change_card_heading = "Välj bibliotekskort" catalog_login_change_card_label = "Byta till ett bibliotekskort du har lagt till" @@ -233,6 +233,7 @@ day-name-short-thursday = "Tor" day-name-short-friday = "Fre" day-name-short-saturday = "Lör" day-name-short-sunday = "Sön" +default_list_title = "Alla favoriter" delete_account_description_html = "Sparade sökningar och favoritlistor raderas samt påminnelser om förfallodag och sökbevakningar inaktiveras.

Efter att du raderat ditt konto finns dina kommentarer och recensioner kvar i tjänsten som anonyma, alltså utan ditt namn. Om du också vill radera dessa, ska du göra det manuellt innan du raderar kontot." Description FWD = "Innehållsbeskrivning" description_count = "Beskrivningar %%count%% stk" @@ -669,7 +670,7 @@ must_accept_terms = "Du måste godkänna användarvillkor." my_profile = "Min profil" my_profile_export_import = "Importera och exportera min data" My account tips = "Instruktioner för min profil" -Need Help? = "Behöver du hjälp?" +Need Help_ = "Behöver du hjälp?" New Items in Index = "Nytt i Finna" New results found for search = "Nya resultat för sökning" new_ils_account = "Registrera dig som kund" diff --git a/module/Finna/src/Finna/AjaxHandler/AddToListFactory.php b/module/Finna/src/Finna/AjaxHandler/AddToListFactory.php index 8bd6abcf4d2..6e4841b3a83 100644 --- a/module/Finna/src/Finna/AjaxHandler/AddToListFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/AddToListFactory.php @@ -75,7 +75,7 @@ public function __invoke( $tablePluginManager->get(\VuFind\Db\Table\UserList::class), $container->get(\VuFind\Favorites\FavoritesService::class), $container->get(\VuFind\Record\Loader::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $capabilities->getListSetting() !== 'disabled' ); } diff --git a/module/Finna/src/Finna/AjaxHandler/CommentRecord.php b/module/Finna/src/Finna/AjaxHandler/CommentRecord.php index fb8ee192b8e..0577216f51c 100644 --- a/module/Finna/src/Finna/AjaxHandler/CommentRecord.php +++ b/module/Finna/src/Finna/AjaxHandler/CommentRecord.php @@ -55,39 +55,18 @@ */ class CommentRecord extends \VuFind\AjaxHandler\CommentRecord { - /** - * Comments table - * - * @var Comments - */ - protected $commentsTable; - - /** - * CommentsRecord table - * - * @var CommentsRecord - */ - protected $commentsRecordTable; - - /** - * Search runner - * - * @var SearchRunner - */ - protected $searchRunner; - /** * Constructor * - * @param Resource $table Resource database table - * @param Captcha $captcha Captcha controller plugin - * @param User|bool $user Logged in user (or false) - * @param bool $enabled Are comments enabled? - * @param RecordLoader $loader Record loader - * @param AccountCapabilities $ac Account capabilities helper - * @param Comments $comments Comments table - * @param CommmentsRecord $commentsRecord CommentsRecord table - * @param SearchRunner $searchRunner Search runner + * @param Resource $table Resource database table + * @param Captcha $captcha Captcha controller plugin + * @param User|bool $user Logged in user (or false) + * @param bool $enabled Are comments enabled? + * @param RecordLoader $loader Record loader + * @param AccountCapabilities $ac Account capabilities helper + * @param ?Comments $commentsTable Comments table + * @param ?CommmentsRecord $commentsRecordTable CommentsRecord table + * @param ?SearchRunner $searchRunner Search runner */ public function __construct( Resource $table, @@ -96,14 +75,11 @@ public function __construct( $enabled, RecordLoader $loader, AccountCapabilities $ac, - Comments $comments = null, - CommentsRecord $commentsRecord = null, - SearchRunner $searchRunner = null + protected ?Comments $commentsTable = null, + protected ?CommentsRecord $commentsRecordTable = null, + protected ?SearchRunner $searchRunner = null ) { parent::__construct($table, $captcha, $user, $enabled, $loader, $ac); - $this->commentsTable = $comments; - $this->commentsRecordTable = $commentsRecord; - $this->searchRunner = $searchRunner; } /** diff --git a/module/Finna/src/Finna/AjaxHandler/CommentRecordFactory.php b/module/Finna/src/Finna/AjaxHandler/CommentRecordFactory.php index b31ba24c9ff..a62b1eada79 100644 --- a/module/Finna/src/Finna/AjaxHandler/CommentRecordFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/CommentRecordFactory.php @@ -81,7 +81,7 @@ public function __invoke( $tablePluginManager->get(\VuFind\Db\Table\Resource::class), $controllerPluginManager ->get(\VuFind\Controller\Plugin\Captcha::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $capabilities->getCommentSetting() !== 'disabled', $container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\Config\AccountCapabilities::class), diff --git a/module/Finna/src/Finna/AjaxHandler/EditListFactory.php b/module/Finna/src/Finna/AjaxHandler/EditListFactory.php index 77a1e1a49fa..3b883051558 100644 --- a/module/Finna/src/Finna/AjaxHandler/EditListFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/EditListFactory.php @@ -73,7 +73,7 @@ public function __invoke( $capabilities = $container->get(\VuFind\Config\AccountCapabilities::class); return new $requestedName( $tablePluginManager->get(\VuFind\Db\Table\UserList::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer'), $capabilities->getListSetting() !== 'disabled', $capabilities->getListTagSetting() !== 'disabled', diff --git a/module/Finna/src/Finna/AjaxHandler/EditListResourceFactory.php b/module/Finna/src/Finna/AjaxHandler/EditListResourceFactory.php index b46a3961aa8..4867e9f60a7 100644 --- a/module/Finna/src/Finna/AjaxHandler/EditListResourceFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/EditListResourceFactory.php @@ -73,7 +73,7 @@ public function __invoke( $capabilities = $container->get(\VuFind\Config\AccountCapabilities::class); return new $requestedName( $tablePluginManager->get(\VuFind\Db\Table\UserResource::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $capabilities->getListSetting() !== 'disabled', $container->get('ViewRenderer')->plugin('markdown') ); diff --git a/module/Finna/src/Finna/AjaxHandler/GetHoldingsDetailsFactory.php b/module/Finna/src/Finna/AjaxHandler/GetHoldingsDetailsFactory.php index edf807f2eef..7dd0fd0d11b 100644 --- a/module/Finna/src/Finna/AjaxHandler/GetHoldingsDetailsFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/GetHoldingsDetailsFactory.php @@ -70,7 +70,7 @@ public function __invoke( $container->get(\VuFind\Session\Settings::class), $container->get(\VuFind\ILS\Connection::class), $container->get(\VuFind\Auth\ILSAuthenticator::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer'), $container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\ILS\Logic\Holds::class), diff --git a/module/Finna/src/Finna/AjaxHandler/GetImageInformationFactory.php b/module/Finna/src/Finna/AjaxHandler/GetImageInformationFactory.php index 2ade464b7f8..0bc1bd3804c 100644 --- a/module/Finna/src/Finna/AjaxHandler/GetImageInformationFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/GetImageInformationFactory.php @@ -76,7 +76,7 @@ public function __invoke( $container->get(\VuFind\Record\Loader::class), $tablePluginManager->get(\VuFind\Db\Table\User::class), $tablePluginManager->get(\VuFind\Db\Table\UserList::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer')->plugin('record') ); $result->setStatisticsEventHandler( diff --git a/module/Finna/src/Finna/AjaxHandler/GetSearchTabsRecommendations.php b/module/Finna/src/Finna/AjaxHandler/GetSearchTabsRecommendations.php index 312e536bcaa..ec69b4f7eb4 100644 --- a/module/Finna/src/Finna/AjaxHandler/GetSearchTabsRecommendations.php +++ b/module/Finna/src/Finna/AjaxHandler/GetSearchTabsRecommendations.php @@ -152,7 +152,7 @@ public function handleRequest(Params $params) $id = $params->fromPost('searchId', $params->fromQuery('searchId')); $limit = $params->fromPost('limit', $params->fromQuery('limit', null)); - $user = $this->authManager->isLoggedIn(); + $user = $this->authManager->getUserObject(); $search = $this->searchTable->getOwnedRowById($id, $this->sessionId, $user ? $user->id : null); if (empty($search)) { return $this->formatResponse( diff --git a/module/Finna/src/Finna/AjaxHandler/GetUserListsFactory.php b/module/Finna/src/Finna/AjaxHandler/GetUserListsFactory.php index b515cbf8950..0db4f634f17 100644 --- a/module/Finna/src/Finna/AjaxHandler/GetUserListsFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/GetUserListsFactory.php @@ -68,7 +68,7 @@ public function __invoke( } $capabilities = $container->get(\VuFind\Config\AccountCapabilities::class); return new $requestedName( - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer'), $capabilities->getListSetting() !== 'disabled' ); diff --git a/module/Finna/src/Finna/AjaxHandler/ImportFavoritesFactory.php b/module/Finna/src/Finna/AjaxHandler/ImportFavoritesFactory.php index 7ff9c014536..2b25ee5ccaa 100644 --- a/module/Finna/src/Finna/AjaxHandler/ImportFavoritesFactory.php +++ b/module/Finna/src/Finna/AjaxHandler/ImportFavoritesFactory.php @@ -72,7 +72,7 @@ public function __invoke( } $tablePluginManager = $container->get(\VuFind\Db\Table\PluginManager::class); return new $requestedName( - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer'), $tablePluginManager->get(\VuFind\Db\Table\Search::class), $tablePluginManager->get(\VuFind\Db\Table\UserList::class), diff --git a/module/Finna/src/Finna/Auth/ILSAuthenticator.php b/module/Finna/src/Finna/Auth/ILSAuthenticator.php index 56639047701..0bac73c6a77 100644 --- a/module/Finna/src/Finna/Auth/ILSAuthenticator.php +++ b/module/Finna/src/Finna/Auth/ILSAuthenticator.php @@ -66,7 +66,7 @@ public function newCatalogLogin($username, $password) return false; } if ($result) { - $user = $this->getAuthManager()->isLoggedIn(); + $user = $this->getAuthManager()->getUserObject(); if ($user) { $user->saveCredentials($username, $password); $this->getAuthManager()->updateSession($user); diff --git a/module/Finna/src/Finna/Content/Description/NatLibFi.php b/module/Finna/src/Finna/Content/Description/NatLibFi.php index 17bf496bd6f..63e70dd1031 100644 --- a/module/Finna/src/Finna/Content/Description/NatLibFi.php +++ b/module/Finna/src/Finna/Content/Description/NatLibFi.php @@ -59,8 +59,7 @@ public function get(string $key, DefaultRecord $record): string if (!($isbn = $record->getCleanISBN())) { return ''; } - $url = 'https://media.kirjavalitys.fi/library/description/' . rawurlencode($key) . '/' . urlencode($isbn) - . '?format=html'; + $url = 'https://kansikuvat.finna.fi/getText.php?query=' . urlencode($isbn); $response = $this->httpService->get($url, [], 60); if (!$response->isSuccess()) { return ''; diff --git a/module/Finna/src/Finna/Db/Table/Resource.php b/module/Finna/src/Finna/Db/Table/Resource.php index 83f46f25899..ed655c382d6 100644 --- a/module/Finna/src/Finna/Db/Table/Resource.php +++ b/module/Finna/src/Finna/Db/Table/Resource.php @@ -30,6 +30,7 @@ namespace Finna\Db\Table; use Laminas\Db\Sql\Expression; +use Laminas\Db\Sql\Select; use function in_array; @@ -70,15 +71,14 @@ public function getFavorites( $obj = & $this; return $this->select( function ($s) use ($user, $list, $tags, $sort, $offset, $limit, $obj) { - $s->columns( - [ - new Expression( - 'DISTINCT(?)', - ['resource.id'], - [Expression::TYPE_IDENTIFIER] - ), '*', - ] - ); + $columns = [ + new Expression( + 'DISTINCT(?)', + ['resource.id'], + [Expression::TYPE_IDENTIFIER] + ), Select::SQL_STAR, + ]; + $s->columns($columns); $urColumns = $list === null ? [ 'id' => new Expression( @@ -132,7 +132,7 @@ function ($s) use ($user, $list, $tags, $sort, $offset, $limit, $obj) { } $s->group('resource.id'); if (!empty($sort)) { - Resource::applySort($s, $sort); + Resource::applySort($s, $sort, 'resource', $columns); } } ); diff --git a/module/Finna/src/Finna/Feed/Feed.php b/module/Finna/src/Finna/Feed/Feed.php index 22f13d58f31..15307fe1bf1 100644 --- a/module/Finna/src/Finna/Feed/Feed.php +++ b/module/Finna/src/Finna/Feed/Feed.php @@ -600,8 +600,8 @@ public function parseFeed($channel, $config, $id = null) $data['xcal']['featured'] = $imgLink; if ( - $elements['image'] != 0 - || !isset($elements['image']) + !isset($elements['image']) + || $elements['image'] != 0 ) { $data['image']['url'] = $imgLink; } diff --git a/module/Finna/src/Finna/Form/FormFactory.php b/module/Finna/src/Finna/Form/FormFactory.php index f1af848448e..792e590a22b 100644 --- a/module/Finna/src/Finna/Form/FormFactory.php +++ b/module/Finna/src/Finna/Form/FormFactory.php @@ -76,7 +76,7 @@ public function __invoke( if (isset($config['Site']['email'])) { $form->setInstitutionEmail($config['Site']['email']); } - if ($user = $container->get(\VuFind\Auth\Manager::class)->isLoggedIn()) { + if ($user = $container->get(\VuFind\Auth\Manager::class)->getUserObject()) { $roles = $container->get(\VuFind\Role\PermissionManager::class) ->getActivePermissions(); try { diff --git a/module/Finna/src/Finna/I18n/Translator/TranslatorAwareTrait.php b/module/Finna/src/Finna/I18n/Translator/TranslatorAwareTrait.php index 8fdf9025ede..1b20c175554 100644 --- a/module/Finna/src/Finna/I18n/Translator/TranslatorAwareTrait.php +++ b/module/Finna/src/Finna/I18n/Translator/TranslatorAwareTrait.php @@ -58,11 +58,18 @@ trait TranslatorAwareTrait * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function translate($target, $tokens = [], $default = null, $useIcuFormatter = false) - { + public function translate( + $target, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { // Figure out the text domain for the string: [$domain, $str] = $this->extractTextDomain($target); @@ -112,6 +119,18 @@ public function translate($target, $tokens = [], $default = null, $useIcuFormatt return $translated; } + // If we have fallback domains, apply them now: + while ($defaultTranslation === (string)($default ?? $str) && !empty($fallbackDomains)) { + $domain = array_shift($fallbackDomains); + $defaultTranslation = $this->translateString( + (string)$str, + $tokens, + $default, + $domain, + $useIcuFormatter + ); + } + return $defaultTranslation; } diff --git a/module/Finna/src/Finna/OAI/Server.php b/module/Finna/src/Finna/OAI/Server.php index 379f47ee5d2..1c8f4a5697a 100644 --- a/module/Finna/src/Finna/OAI/Server.php +++ b/module/Finna/src/Finna/OAI/Server.php @@ -55,6 +55,9 @@ protected function initializeMetadataFormats() $this->metadataFormats['oai_ead'] = [ 'schema' => 'https://www.loc.gov/ead/ead.xsd', 'namespace' => 'http://www.loc.gov/ead/']; + $this->metadataFormats['oai_ead3'] = [ + 'schema' => 'https://www.loc.gov/ead/ead3.xsd', + 'namespace' => 'http://ead3.archivists.org/schema/']; $this->metadataFormats['oai_forward'] = [ 'schema' => 'http://forward.cineca.it/schema/EN15907-forward-v1.0.xsd', 'namespace' => 'http://project9forward.eu/schemas/EN15907-forward']; @@ -67,4 +70,63 @@ protected function initializeMetadataFormats() 'schema' => $qdc, 'namespace' => 'urn:dc:qdc:container']; } + + /** + * Validate the from and until parameters for the listRecords method. + * + * @param int $from String for start date. + * @param int $until String for end date. + * + * @return bool True if invalid, false if not. + */ + protected function isBadDate($from, $until) + { + $dt = \DateTime::createFromFormat('Y-m-d', substr($until, 0, 10)); + if (!$this->dateTimeCreationSuccessful($dt)) { + return true; + } + $dt = \DateTime::createFromFormat('Y-m-d', substr($from, 0, 10)); + if (!$this->dateTimeCreationSuccessful($dt)) { + return true; + } + // Check for different date granularity + if (strpos($from, 'T') && strpos($from, 'Z')) { + if (strpos($until, 'T') && strpos($until, 'Z')) { + // This is good + } else { + return true; + } + } elseif (strpos($until, 'T') && strpos($until, 'Z')) { + return true; + } + + $from_time = $this->normalizeDate($from); + $until_time = $this->normalizeDate($until, '23:59:59'); + if ($from_time > $until_time) { + throw new \Exception('noRecordsMatch:from vs. until'); + } + if ($from_time < $this->normalizeDate($this->earliestDatestamp)) { + return true; + } + return false; + } + + /** + * Check if a DateTime was successfully created without errors or warnings + * + * @param \DateTime|false $dt DateTime or false (return value of createFromFormat) + * + * @return bool + */ + protected function dateTimeCreationSuccessful(\DateTime|false $dt): bool + { + if (false === $dt) { + return false; + } + $errors = $dt->getLastErrors(); + if (false === $errors) { + return true; + } + return empty($errors['errors']) && empty($errors['warnings']); + } } diff --git a/module/Finna/src/Finna/OrganisationInfo/Provider/Kirkanta.php b/module/Finna/src/Finna/OrganisationInfo/Provider/Kirkanta.php index fa368f77935..d96b562d02a 100644 --- a/module/Finna/src/Finna/OrganisationInfo/Provider/Kirkanta.php +++ b/module/Finna/src/Finna/OrganisationInfo/Provider/Kirkanta.php @@ -519,7 +519,7 @@ protected function parseDetails(string $language, string $id, string $locationId if (str_contains($phone['number'], '@')) { continue; } - if ($name = $phone['name']) { + if ($name = $phone['name'] ?? null) { $phones[] = [ 'name' => $name, 'number' => $phone['number'], @@ -532,7 +532,7 @@ protected function parseDetails(string $language, string $id, string $locationId $dedupEmails = array_unique($response['emailAddresses'] ?? [], SORT_REGULAR); foreach ($dedupEmails as $address) { $emails[] = [ - 'name' => $address['name'], + 'name' => $address['name'] ?? '', 'email' => $address['email'], ]; } diff --git a/module/Finna/src/Finna/Record/Loader.php b/module/Finna/src/Finna/Record/Loader.php index 5f9e38085bc..26d2b0910f5 100644 --- a/module/Finna/src/Finna/Record/Loader.php +++ b/module/Finna/src/Finna/Record/Loader.php @@ -189,7 +189,7 @@ public function load( * @param string $source Record source * @param bool $tolerateBackendExceptions Whether to tolerate backend * exceptions that may be caused by e.g. connection issues or changes in - * subcscriptions + * subscriptions * @param ParamBag $params Search backend parameters * * @throws \Exception diff --git a/module/Finna/src/Finna/RecordDriver/AipaLrmi.php b/module/Finna/src/Finna/RecordDriver/AipaLrmi.php index 0609a2fa69a..f61c8fc9d36 100644 --- a/module/Finna/src/Finna/RecordDriver/AipaLrmi.php +++ b/module/Finna/src/Finna/RecordDriver/AipaLrmi.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2022-2023. + * Copyright (C) The National Library of Finland 2022-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -379,16 +379,8 @@ protected function getCuratedRecordDriver(\SimpleXMLElement $item): CuratedRecor $driver->setContainerRecord($this); - $encapsulatedRecord = $this->recordLoader->load( - (string)$item->identifier, - DEFAULT_SEARCH_BACKEND, - true - ); - $data = [ 'id' => (string)$item->identifier, - 'record' => $encapsulatedRecord, - 'title' => $encapsulatedRecord->getTitle(), 'position' => (int)$item->position, 'notes' => (string)$item->comment, 'fullrecord' => $item->asXML(), diff --git a/module/Finna/src/Finna/RecordDriver/CuratedRecord.php b/module/Finna/src/Finna/RecordDriver/CuratedRecord.php index 3a5f9ee6468..4145c5819c3 100644 --- a/module/Finna/src/Finna/RecordDriver/CuratedRecord.php +++ b/module/Finna/src/Finna/RecordDriver/CuratedRecord.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2022-2023. + * Copyright (C) The National Library of Finland 2022-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -34,6 +34,7 @@ use Finna\RecordDriver\Feature\EncapsulatedRecordInterface; use Finna\RecordDriver\Feature\EncapsulatedRecordTrait; use Finna\RecordDriver\Feature\FinnaXmlReaderTrait; +use VuFind\RecordDriver\AbstractBase; use VuFindSearch\Response\RecordInterface; use function count; @@ -101,6 +102,38 @@ public function getEncapsulatedRecordTotal(): int return count($this->getEncapsulatedRecords()); } + /** + * Does the encapsulated record need a record to be loaded? + * + * @return array|false Associative array specifying the record that needs loading + * (contains 'id' and 'source' keys), or false + */ + public function needsRecordLoaded(): array|false + { + if (!isset($this->fields['record'])) { + return [ + 'id' => $this->getUniqueID(), + 'source' => $this->getSourceIdentifier(), + ]; + } + return false; + } + + /** + * Set the loaded record specified by needsRecordLoaded(). + * + * @param AbstractBase $record Loaded record + * + * @return void + * @throws \LogicException If the record should not be set + */ + public function setLoadedRecord(AbstractBase $record): void + { + $this->checkSetLoadedRecord($record); + $this->fields['record'] = $record; + $this->fields['title'] = $record->getTitle(); + } + /** * Get the full title of the record. * diff --git a/module/Finna/src/Finna/RecordDriver/Feature/ContainerFormatTrait.php b/module/Finna/src/Finna/RecordDriver/Feature/ContainerFormatTrait.php index 487e4c4997e..caeb29a3476 100644 --- a/module/Finna/src/Finna/RecordDriver/Feature/ContainerFormatTrait.php +++ b/module/Finna/src/Finna/RecordDriver/Feature/ContainerFormatTrait.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2022-2023. + * Copyright (C) The National Library of Finland 2022-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -120,6 +120,7 @@ public function getEncapsulatedRecords( } $results[] = $this->getCachedEncapsulatedRecordDriver($p); } + $this->loadNeededRecords($results); return $results; } @@ -136,7 +137,16 @@ public function getEncapsulatedRecord(string $id): ?RecordInterface $cache = $this->getEncapsulatedRecordCache(); foreach ($cache as $position => $record) { if ($id === $record['id']) { - return $this->getCachedEncapsulatedRecordDriver($position); + $driver = $this->getCachedEncapsulatedRecordDriver($position); + if ( + $driver instanceof EncapsulatedRecordInterface + && $needed = $driver->needsRecordLoaded() + ) { + $driver->setLoadedRecord( + $this->recordLoader->load($needed['id'], $needed['source'], true) + ); + } + return $driver; } } return null; @@ -321,6 +331,36 @@ protected function getCachedEncapsulatedRecordDriver( return $driver; } + /** + * Loads any records needed by encapsulated record drivers to be loaded. + * + * @param array $records Record drivers + * + * @return void + */ + protected function loadNeededRecords(array $records): void + { + $neededMap = []; + $ids = []; + foreach ($records as $i => $record) { + if ( + $record instanceof EncapsulatedRecordInterface + && $needed = $record->needsRecordLoaded() + ) { + $neededMap[$needed['source']][$needed['id']] = $i; + $ids[] = $needed; + } + } + if (!empty($ids)) { + $loadedRecords = $this->recordLoader->loadBatch($ids); + foreach ($loadedRecords as $loadedRecord) { + $loadedSource = $loadedRecord->getSourceIdentifier(); + $loadedId = $loadedRecord->getUniqueID(); + $records[$neededMap[$loadedSource][$loadedId]]->setLoadedRecord($loadedRecord); + } + } + } + /** * Filter encapsulated records of this format for public APIs. * diff --git a/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordInterface.php b/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordInterface.php index bde094cc353..ddd0334c7da 100644 --- a/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordInterface.php +++ b/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordInterface.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2023. + * Copyright (C) The National Library of Finland 2023-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -29,13 +29,13 @@ namespace Finna\RecordDriver\Feature; +use VuFind\RecordDriver\AbstractBase; use VuFindSearch\Response\RecordInterface; /** * Encapsulated record interface. * - * This interface should be implemented if an encapsulated record requires the - * container record as context. + * Can be implemented if the features specified in this interface are required. * * @category VuFind * @package RecordDrivers @@ -60,4 +60,22 @@ public function setContainerRecord(ContainerFormatInterface $containerRecord): v * @return ContainerFormatInterface */ public function getContainerRecord(): ContainerFormatInterface; + + /** + * Does the encapsulated record need a record to be loaded? + * + * @return array|false Associative array specifying the record that needs loading + * (contains 'id' and 'source' keys), or false + */ + public function needsRecordLoaded(): array|false; + + /** + * Set the loaded record specified by needsRecordLoaded(). + * + * @param AbstractBase $record Loaded record + * + * @return void + * @throws \LogicException If the record should not be set + */ + public function setLoadedRecord(AbstractBase $record): void; } diff --git a/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordTrait.php b/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordTrait.php index 953db53290f..5261173e035 100644 --- a/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordTrait.php +++ b/module/Finna/src/Finna/RecordDriver/Feature/EncapsulatedRecordTrait.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2023. + * Copyright (C) The National Library of Finland 2023-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -29,6 +29,8 @@ namespace Finna\RecordDriver\Feature; +use VuFind\RecordDriver\AbstractBase; + /** * Common functionality for encapsulated records. * @@ -68,4 +70,47 @@ public function getContainerRecord(): ContainerFormatInterface { return $this->containerRecord; } + + /** + * Does the encapsulated record need a record to be loaded? + * + * @return array|false Associative array specifying the record that needs loading + * (contains 'id' and 'source' keys), or false + */ + public function needsRecordLoaded(): array|false + { + return false; + } + + /** + * Set the loaded record specified by needsRecordLoaded(). + * + * @param AbstractBase $record Loaded record + * + * @return void + * @throws \LogicException If the record should not be set + */ + public function setLoadedRecord(AbstractBase $record): void + { + $this->checkSetLoadedRecord($record); + } + + /** + * Checks that the provided record is valid for setting as a loaded record. + * + * @param AbstractBase $record Loaded record + * + * @return void + * @throws \LogicException If the record should not be set + */ + protected function checkSetLoadedRecord(AbstractBase $record): void + { + if (false === ($needed = $this->needsRecordLoaded())) { + throw new \LogicException('Record loading not needed'); + } elseif ($record->getUniqueID() !== $needed['id']) { + throw new \LogicException('Record ID does not match needed record ID'); + } elseif ($record->getSourceIdentifier() !== $needed['source']) { + throw new \LogicException('Record source does not match needed record source'); + } + } } diff --git a/module/Finna/src/Finna/RecordDriver/Primo.php b/module/Finna/src/Finna/RecordDriver/Primo.php index 3114b5e69db..e7b3c5d4be1 100644 --- a/module/Finna/src/Finna/RecordDriver/Primo.php +++ b/module/Finna/src/Finna/RecordDriver/Primo.php @@ -166,7 +166,7 @@ public function getURLs() if (!($urls = $this->fields['resource_urls'][$link] ?? [])) { continue; } - foreach ($urls as $current) { + foreach ((array)$urls as $current) { if (is_array($current)) { $desc = $current['label']; $url = $current['url']; @@ -199,7 +199,7 @@ protected function showOnlineURLs() return true; } - if (!$this->fields['sourceid']) { + if (empty($this->fields['sourceid'])) { return true; } diff --git a/module/Finna/src/Finna/RecordDriver/SolrEad3.php b/module/Finna/src/Finna/RecordDriver/SolrEad3.php index b6aa003eb9b..4b5e50b0a66 100644 --- a/module/Finna/src/Finna/RecordDriver/SolrEad3.php +++ b/module/Finna/src/Finna/RecordDriver/SolrEad3.php @@ -1826,6 +1826,27 @@ public function getAllRecordLinks() return $relations; } + /** + * Return an XML representation of the record using the specified format. + * Return false if the format is unsupported. + * + * @param string $format Name of format to use (corresponds with OAI-PMH + * metadataPrefix parameter). + * @param string $baseUrl Base URL of host containing VuFind (optional; + * may be used to inject record URLs into XML when appropriate). + * @param RecordLink $recordLink Record link helper (optional; may be used to + * inject record URLs into XML when appropriate). + * + * @return mixed XML, or false if format unsupported. + */ + public function getXML($format, $baseUrl = null, $recordLink = null) + { + if ('oai_ead3' === $format) { + return $this->fields['fullrecord']; + } + return parent::getXML($format, $baseUrl, $recordLink); + } + /** * Get the hierarchy parents associated with this item (empty if none). * The parents are listed starting from the root of the hierarchy, diff --git a/module/Finna/src/Finna/RecordDriver/SolrMarc.php b/module/Finna/src/Finna/RecordDriver/SolrMarc.php index 00bc15a69e4..aebe343cc31 100644 --- a/module/Finna/src/Finna/RecordDriver/SolrMarc.php +++ b/module/Finna/src/Finna/RecordDriver/SolrMarc.php @@ -2015,6 +2015,16 @@ public function getEventNotice() return $results; } + /** + * Get an array of capture information. + * + * @return array + */ + public function getCaptureInformation() + { + return $this->stripTrailingPunctuation($this->getFieldArray('518', ['3', 'o', 'd', 'p'])); + } + /** * Get composition information from field 382. * diff --git a/module/Finna/src/Finna/Resolver/Driver/Sfx.php b/module/Finna/src/Finna/Resolver/Driver/Sfx.php index 737d25ed455..c484954ab51 100644 --- a/module/Finna/src/Finna/Resolver/Driver/Sfx.php +++ b/module/Finna/src/Finna/Resolver/Driver/Sfx.php @@ -57,9 +57,27 @@ public function parseLinks($xmlstr) { $records = []; // array to return try { + libxml_use_internal_errors(true); + libxml_clear_errors(); $xml = new \SimpleXmlElement($xmlstr); + if ($errors = libxml_get_errors()) { + $fatal = false; + foreach ($errors as $error) { + error_log('SFX: Error parsing XML: ' . $error->message); + if ($error->level === LIBXML_ERR_FATAL) { + $fatal = true; + } + } + error_log("SFX: XML: $xmlstr"); + if ($fatal) { + return []; + } + } } catch (\Exception $e) { + error_log('SFX: Exception parsing XML: ' . (string)$e . ", XML: $xmlstr"); return $records; + } finally { + libxml_use_internal_errors(false); } $root = $xml->xpath('//ctx_obj_targets'); diff --git a/module/Finna/src/Finna/Role/PermissionProvider/AuthenticationStrategy.php b/module/Finna/src/Finna/Role/PermissionProvider/AuthenticationStrategy.php index 2294ee69ae2..6ddfc82a71b 100644 --- a/module/Finna/src/Finna/Role/PermissionProvider/AuthenticationStrategy.php +++ b/module/Finna/src/Finna/Role/PermissionProvider/AuthenticationStrategy.php @@ -158,7 +158,7 @@ protected function getPatronAuthorizationStatus($staff) $key = null; try { if ( - ($user = $this->authManager->isLoggedIn()) + ($user = $this->authManager->getUserObject()) && !empty($user->cat_username) ) { $key = $user->cat_username; diff --git a/module/Finna/src/Finna/Search/Solr/HierarchicalFacetHelper.php b/module/Finna/src/Finna/Search/Solr/HierarchicalFacetHelper.php index 6de39cdd909..b3419203fd2 100644 --- a/module/Finna/src/Finna/Search/Solr/HierarchicalFacetHelper.php +++ b/module/Finna/src/Finna/Search/Solr/HierarchicalFacetHelper.php @@ -219,7 +219,7 @@ public function flattenFacetHierarchy($facetList) $tmpFacet['opt_group_start'] = true; } unset($tmpFacet['children']); - if (++$i === $count && ($tmpFacet['level'] !== '0' && !$children)) { + if (++$i === $count && (($tmpFacet['level'] ?? '0') !== '0' && !$children)) { $tmpFacet['opt_group_end'] = true; $i = 0; } diff --git a/module/Finna/src/Finna/Service/RemsServiceFactory.php b/module/Finna/src/Finna/Service/RemsServiceFactory.php index 3403d3c10db..acacb6b70b5 100644 --- a/module/Finna/src/Finna/Service/RemsServiceFactory.php +++ b/module/Finna/src/Finna/Service/RemsServiceFactory.php @@ -83,7 +83,7 @@ public function __invoke( $auth = $container->get(\LmcRbacMvc\Service\AuthorizationService::class); $r2 = $container->get(\Finna\Service\R2SupportService::class); $user = $r2->isEnabled() - ? $container->get(\VuFind\Auth\Manager::class)->isLoggedIn() + ? $container->get(\VuFind\Auth\Manager::class)->getUserObject() : false; return new $requestedName( diff --git a/module/Finna/src/Finna/Service/UserPreferenceService.php b/module/Finna/src/Finna/Service/UserPreferenceService.php index 7754860b580..f0d84ff7335 100644 --- a/module/Finna/src/Finna/Service/UserPreferenceService.php +++ b/module/Finna/src/Finna/Service/UserPreferenceService.php @@ -110,7 +110,7 @@ public function getPreferredDataSources(): array } // Selected library card is used as secondary/fallback: - if ($user = $this->authManager->isLoggedIn()) { + if ($user = $this->authManager->getUserObject()) { if ($user->cat_username) { [$source] = explode('.', $user->cat_username, 2); $result[] = $source; diff --git a/module/Finna/src/Finna/Statistics/EventHandlerFactory.php b/module/Finna/src/Finna/Statistics/EventHandlerFactory.php index 765103b29af..c348c5c5876 100644 --- a/module/Finna/src/Finna/Statistics/EventHandlerFactory.php +++ b/module/Finna/src/Finna/Statistics/EventHandlerFactory.php @@ -79,7 +79,7 @@ public function __invoke( $clientIp = $remoteAddress->getIpAddress(); if ( !empty($config['Statistics']['driver']) - && !$this->isRequestsExluded($ipUtils, $clientIp, $config) + && !$this->isRequestsExcluded($ipUtils, $clientIp, $config) ) { $driverManager = $container->get(\Finna\Statistics\Driver\PluginManager::class); @@ -109,7 +109,7 @@ public function __invoke( * * @return bool */ - protected function isRequestsExluded( + protected function isRequestsExcluded( IpAddressUtils $ipUtils, string $clientIp, array $config diff --git a/module/Finna/src/Finna/View/Helper/Root/R2Factory.php b/module/Finna/src/Finna/View/Helper/Root/R2Factory.php index 45aa165631f..f65c8d59219 100644 --- a/module/Finna/src/Finna/View/Helper/Root/R2Factory.php +++ b/module/Finna/src/Finna/View/Helper/Root/R2Factory.php @@ -72,7 +72,7 @@ public function __invoke( $r2 = $container->get(\Finna\Service\R2SupportService::class); $rems = $container->get(\Finna\Service\RemsService::class); $user = $r2->isEnabled() - ? $container->get(\VuFind\Auth\Manager::class)->isLoggedIn() + ? $container->get(\VuFind\Auth\Manager::class)->getUserObject() : false; $conf = $container->get(\VuFind\Config\PluginManager::class); $blocklistEmail = $conf->get('Rems')->General->blocklistEmail diff --git a/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatter.php b/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatter.php index 7d4ff24002d..0a17cef1bf0 100644 --- a/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatter.php +++ b/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatter.php @@ -77,6 +77,7 @@ public function filterMarcFields($coreFields) 'Awards', 'Bibliography', 'child_records', + 'Capture Information', 'Classification', 'Copyright Notes', 'Country of Producing Entity', @@ -474,6 +475,7 @@ public function filterPrimoFields($coreFields) 'Source Collection', 'Subjects', 'System Format', + 'Citations', ]; return $this->filterFields($coreFields, $include); } diff --git a/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatterFactory.php b/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatterFactory.php index d7c9131e386..c62015b0b84 100644 --- a/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatterFactory.php +++ b/module/Finna/src/Finna/View/Helper/Root/RecordDataFormatterFactory.php @@ -294,7 +294,7 @@ protected function getDefaultCoreFields() [ 'labelFunction' => function ($data) { $label = isset($data[0]) ? $data[0]['heading'] : ''; - return $label; + return $label ?: 'Other Related Material'; }, 'context' => ['class' => 'recordOtherLink'], ] @@ -1442,6 +1442,14 @@ protected function getDefaultCoreFields() 'context' => ['class' => 'recordEventNotice'], ] ); + $setTemplateLine( + 'Capture Information', + 'getCaptureInformation', + 'data-escapeHtml.phtml', + [ + 'context' => ['class' => 'record-capture-information'], + ] + ); $setTemplateLine( 'First Lyrics', 'getFirstLyrics', @@ -1714,6 +1722,14 @@ protected function getDefaultCoreFields() 'context' => ['class' => 'creator-characteristics'], ] ); + $setTemplateLine( + 'Citations', + 'getCitations', + 'data-citations.phtml', + [ + 'context' => ['class' => 'record-citations'], + ] + ); return $lines; } diff --git a/module/Finna/src/Finna/View/Helper/Root/RecordLinker.php b/module/Finna/src/Finna/View/Helper/Root/RecordLinker.php index ba769e91be4..70c630a5fcb 100644 --- a/module/Finna/src/Finna/View/Helper/Root/RecordLinker.php +++ b/module/Finna/src/Finna/View/Helper/Root/RecordLinker.php @@ -100,7 +100,10 @@ public function getEmbeddedVideoUrl($url) $embedUrl = 'https://www.youtube.com/embed' . $parts['path']; break; case 'youtube.com': - parse_str($parts['query'], $query); + parse_str($parts['query'] ?? '', $query); + if (!isset($query['v'])) { + return ''; + } $embedUrl = 'https://www.youtube.com/embed/' . $query['v']; break; case 'players.icareus.com': diff --git a/module/Finna/tests/unit-tests/src/FinnaTest/I18n/ExtendedIniNormalizerTest.php b/module/Finna/tests/unit-tests/src/FinnaTest/I18n/ExtendedIniNormalizerTest.php index 9a80609fdcd..98d66b85aa9 100644 --- a/module/Finna/tests/unit-tests/src/FinnaTest/I18n/ExtendedIniNormalizerTest.php +++ b/module/Finna/tests/unit-tests/src/FinnaTest/I18n/ExtendedIniNormalizerTest.php @@ -48,7 +48,6 @@ class ExtendedIniNormalizerTest extends \PHPUnit\Framework\TestCase { use \VuFindTest\Feature\FixtureTrait; - use \VuFind\I18n\Translator\TranslatorAwareTrait; /** * Test consistent normalization of translation files on disk. This tests not @@ -118,18 +117,8 @@ protected function checkFile(ExtendedIniNormalizer $normalizer, string $filename $actual = file($filename, FILE_IGNORE_NEW_LINES); // Ignore trailing whitespace: $actual = array_map('rtrim', $actual); - // Sanitize the translation keys to avoid errors with unsanitized values for - // now: - $actual = array_map( - function ($s) { - $parts = explode('=', $s, 2); - $parts[0] = $this->sanitizeTranslationKey($parts[0]); - return implode('=', $parts); - }, - $actual - ); - foreach ($expected as $i => $current) { + foreach ($expected as $current) { if ('' === $current || str_starts_with($current, ';')) { continue; } diff --git a/module/Finna/tests/unit-tests/src/FinnaTest/RecordDriver/SolrAipaTest.php b/module/Finna/tests/unit-tests/src/FinnaTest/RecordDriver/SolrAipaTest.php index 275046b02a8..7846ba5190e 100644 --- a/module/Finna/tests/unit-tests/src/FinnaTest/RecordDriver/SolrAipaTest.php +++ b/module/Finna/tests/unit-tests/src/FinnaTest/RecordDriver/SolrAipaTest.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2023. + * Copyright (C) The National Library of Finland 2023-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -129,8 +129,10 @@ protected function getRecordLoader(): Loader $recordLoader = $this->createMock(Loader::class); $recordLoader ->method('load') - ->willReturnCallback(function () { - return new SolrDefault(); + ->willReturnCallback(function ($id) { + $record = new SolrDefault(); + $record->setRawData(['id' => $id]); + return $record; }); $this->recordLoader = $recordLoader; } diff --git a/module/VuFind/sql/migrations/pgsql/10.0/001-add-login-token-table.sql b/module/VuFind/sql/migrations/pgsql/10.0/001-add-login-token-table.sql index 8b2dccdadbc..f3c27787da9 100644 --- a/module/VuFind/sql/migrations/pgsql/10.0/001-add-login-token-table.sql +++ b/module/VuFind/sql/migrations/pgsql/10.0/001-add-login-token-table.sql @@ -14,7 +14,6 @@ CREATE TABLE login_token ( platform varchar(255), expires int NOT NULL, last_session_id varchar(255), - PRIMARY KEY (id), - UNIQUE (user_id, series) + PRIMARY KEY (id) ); -CREATE INDEX login_token_user_id_idx ON login_token (user_id); +CREATE INDEX login_token_user_id_series_idx ON login_token (user_id, series); diff --git a/module/VuFind/sql/mysql.sql b/module/VuFind/sql/mysql.sql index f1d2d9fdbca..5149e7c600d 100644 --- a/module/VuFind/sql/mysql.sql +++ b/module/VuFind/sql/mysql.sql @@ -427,7 +427,6 @@ CREATE TABLE `login_token` ( `expires` int NOT NULL, `last_session_id` varchar(255) NULL, PRIMARY KEY (`id`), - UNIQUE KEY `user_id_series` (`user_id`, `series`), - KEY `user_id` (`user_id`) + KEY `user_id_series` (`user_id`, `series`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/module/VuFind/sql/pgsql.sql b/module/VuFind/sql/pgsql.sql index 3116b8ccd26..05ce2f8a08b 100644 --- a/module/VuFind/sql/pgsql.sql +++ b/module/VuFind/sql/pgsql.sql @@ -396,10 +396,9 @@ CREATE TABLE login_token ( platform varchar(255), expires int NOT NULL, last_session_id varchar(255), - PRIMARY KEY (id), - UNIQUE (user_id, series) + PRIMARY KEY (id) ); -CREATE INDEX login_token_user_id_idx ON login_token (user_id); +CREATE INDEX login_token_user_id_series_idx ON login_token (user_id, series); -- -------------------------------------------------------- diff --git a/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserAction.php b/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserAction.php index 782c875cb8c..dd1ceef076c 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserAction.php +++ b/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserAction.php @@ -48,44 +48,20 @@ abstract class AbstractIlsAndUserAction extends AbstractBase implements Translat { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * ILS connection - * - * @var Connection - */ - protected $ils; - - /** - * ILS authenticator - * - * @var ILSAuthenticator - */ - protected $ilsAuthenticator; - - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - /** * Constructor * * @param SessionSettings $ss Session settings * @param Connection $ils ILS connection * @param ILSAuthenticator $ilsAuthenticator ILS authenticator - * @param User|bool $user Logged in user (or false) + * @param ?User $user Logged in user (or null) */ public function __construct( SessionSettings $ss, - Connection $ils, - ILSAuthenticator $ilsAuthenticator, - $user + protected Connection $ils, + protected ILSAuthenticator $ilsAuthenticator, + protected ?User $user ) { $this->sessionSettings = $ss; - $this->ils = $ils; - $this->ilsAuthenticator = $ilsAuthenticator; - $this->user = $user; } } diff --git a/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserActionFactory.php b/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserActionFactory.php index fa3959b6083..1196a24e7ab 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserActionFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/AbstractIlsAndUserActionFactory.php @@ -70,7 +70,7 @@ public function __invoke( $container->get(\VuFind\Session\Settings::class), $container->get(\VuFind\ILS\Connection::class), $container->get(\VuFind\Auth\ILSAuthenticator::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), ...($options ?: []) ); } diff --git a/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisAction.php b/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisAction.php index 5d938504cbe..ce41186799c 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisAction.php +++ b/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisAction.php @@ -47,34 +47,18 @@ abstract class AbstractRelaisAction extends AbstractBase implements TranslatorAw { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * Relais connector - * - * @var Relais - */ - protected $relais; - - /** - * Logged-in user (or null if none) - * - * @var User - */ - protected $user; - /** * Constructor * * @param SessionSettings $ss Session settings * @param Relais $relais Relais connector - * @param User $user Logged in user (or null if none) + * @param ?User $user Logged in user (or null if none) */ public function __construct( SessionSettings $ss, - Relais $relais, - User $user = null + protected Relais $relais, + protected ?User $user ) { $this->sessionSettings = $ss; - $this->relais = $relais; - $this->user = $user; } } diff --git a/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisActionFactory.php b/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisActionFactory.php index 968f3646f4b..42fcb4b0503 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisActionFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/AbstractRelaisActionFactory.php @@ -69,11 +69,10 @@ public function __invoke( if (!empty($options)) { throw new \Exception('Unexpected options passed to factory.'); } - $user = $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(); return new $requestedName( $container->get(\VuFind\Session\Settings::class), $container->get(\VuFind\Connection\Relais::class), - $user ?: null + $container->get(\VuFind\Auth\Manager::class)->getUserObject() ); } } diff --git a/module/VuFind/src/VuFind/AjaxHandler/CommentRecord.php b/module/VuFind/src/VuFind/AjaxHandler/CommentRecord.php index e9b7a794d4f..20756102466 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/CommentRecord.php +++ b/module/VuFind/src/VuFind/AjaxHandler/CommentRecord.php @@ -52,72 +52,24 @@ class CommentRecord extends AbstractBase implements TranslatorAwareInterface { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * Resource database table - * - * @var Resource - */ - protected $table; - - /** - * Captcha controller plugin - * - * @var Captcha - */ - protected $captcha; - - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - - /** - * Are comments enabled? - * - * @var bool - */ - protected $enabled; - - /** - * Record loader - * - * @var RecordLoader - */ - protected $recordLoader; - - /** - * Account capabilities helper - * - * @var AccountCapabilities - */ - protected $accountCapabilities; - /** * Constructor * - * @param Resource $table Resource database table - * @param Captcha $captcha Captcha controller plugin - * @param User|bool $user Logged in user (or false) - * @param bool $enabled Are comments enabled? - * @param RecordLoader $loader Record loader - * @param AccountCapabilities $ac Account capabilities helper + * @param Resource $table Resource database table + * @param Captcha $captcha Captcha controller plugin + * @param ?User $user Logged in user (or null) + * @param bool $enabled Are comments enabled? + * @param RecordLoader $recordLoader Record loader + * @param AccountCapabilities $accountCapabilities Account capabilities helper */ public function __construct( - Resource $table, - Captcha $captcha, - $user, - $enabled, - RecordLoader $loader, - AccountCapabilities $ac + protected Resource $table, + protected Captcha $captcha, + protected ?User $user, + protected bool $enabled, + protected RecordLoader $recordLoader, + protected AccountCapabilities $accountCapabilities ) { - $this->table = $table; - $this->captcha = $captcha; - $this->user = $user; - $this->enabled = $enabled; - $this->recordLoader = $loader; - $this->accountCapabilities = $ac; } /** @@ -152,7 +104,7 @@ public function handleRequest(Params $params) ); } - if ($this->user === false) { + if (!$this->user) { return $this->formatResponse( $this->translate('You must be logged in first'), self::STATUS_HTTP_NEED_AUTH diff --git a/module/VuFind/src/VuFind/AjaxHandler/CommentRecordFactory.php b/module/VuFind/src/VuFind/AjaxHandler/CommentRecordFactory.php index 96500bfc589..4a6d33c3f46 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/CommentRecordFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/CommentRecordFactory.php @@ -76,7 +76,7 @@ public function __invoke( $tablePluginManager->get(\VuFind\Db\Table\Resource::class), $controllerPluginManager ->get(\VuFind\Controller\Plugin\Captcha::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $capabilities->getCommentSetting() !== 'disabled', $container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\Config\AccountCapabilities::class) diff --git a/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordComment.php b/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordComment.php index 81332a3eba2..1bacc03454a 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordComment.php +++ b/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordComment.php @@ -47,39 +47,15 @@ class DeleteRecordComment extends AbstractBase implements TranslatorAwareInterfa { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * Comments database table - * - * @var Comments - */ - protected $table; - - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - - /** - * Are comments enabled? - * - * @var bool - */ - protected $enabled; - /** * Constructor * - * @param Comments $table Comments database table - * @param User|bool $user Logged in user (or false) - * @param bool $enabled Are comments enabled? + * @param Comments $table Comments database table + * @param ?User $user Logged in user (or null) + * @param bool $enabled Are comments enabled? */ - public function __construct(Comments $table, $user, $enabled = true) + public function __construct(protected Comments $table, protected ?User $user, protected $enabled = true) { - $this->table = $table; - $this->user = $user; - $this->enabled = $enabled; } /** @@ -99,7 +75,7 @@ public function handleRequest(Params $params) ); } - if ($this->user === false) { + if (!$this->user) { return $this->formatResponse( $this->translate('You must be logged in first'), self::STATUS_HTTP_NEED_AUTH diff --git a/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordCommentFactory.php b/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordCommentFactory.php index 02c00a82cef..a3daf1bd19b 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordCommentFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/DeleteRecordCommentFactory.php @@ -73,7 +73,7 @@ public function __invoke( $capabilities = $container->get(\VuFind\Config\AccountCapabilities::class); return new $requestedName( $tablePluginManager->get(\VuFind\Db\Table\Comments::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $capabilities->getCommentSetting() !== 'disabled' ); } diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetRecordTags.php b/module/VuFind/src/VuFind/AjaxHandler/GetRecordTags.php index 400812a0a09..0aaadb7521a 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetRecordTags.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetRecordTags.php @@ -45,39 +45,15 @@ */ class GetRecordTags extends AbstractBase { - /** - * Tags database table - * - * @var Tags - */ - protected $table; - - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - - /** - * View renderer - * - * @var RendererInterface - */ - protected $renderer; - /** * Constructor * * @param Tags $table Tags table - * @param User|bool $user Logged in user (or false) + * @param ?User $user Logged in user (or null) * @param RendererInterface $renderer View renderer */ - public function __construct(Tags $table, $user, RendererInterface $renderer) + public function __construct(protected Tags $table, protected ?User $user, protected RendererInterface $renderer) { - $this->table = $table; - $this->user = $user; - $this->renderer = $renderer; } /** diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetRecordTagsFactory.php b/module/VuFind/src/VuFind/AjaxHandler/GetRecordTagsFactory.php index f9edb2bd774..e2e182c609f 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetRecordTagsFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetRecordTagsFactory.php @@ -72,7 +72,7 @@ public function __invoke( $tablePluginManager = $container->get(\VuFind\Db\Table\PluginManager::class); return new $requestedName( $tablePluginManager->get(\VuFind\Db\Table\Tags::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ViewRenderer') ); } diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatuses.php b/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatuses.php index 55dec252724..f881f373e2f 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatuses.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatuses.php @@ -53,32 +53,16 @@ class GetSaveStatuses extends AbstractBase implements TranslatorAwareInterface { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - - /** - * URL helper - * - * @var Url - */ - protected $urlHelper; - /** * Constructor * * @param SessionSettings $ss Session settings - * @param User|bool $user Logged in user (or false) + * @param ?User $user Logged in user (or null) * @param Url $urlHelper URL helper */ - public function __construct(SessionSettings $ss, $user, Url $urlHelper) + public function __construct(SessionSettings $ss, protected ?User $user, protected Url $urlHelper) { $this->sessionSettings = $ss; - $this->user = $user; - $this->urlHelper = $urlHelper; } /** diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatusesFactory.php b/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatusesFactory.php index 601f6138872..ab3670f5a00 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatusesFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetSaveStatusesFactory.php @@ -71,7 +71,7 @@ public function __invoke( } return new $requestedName( $container->get(\VuFind\Session\Settings::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn(), + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get('ControllerPluginManager')->get('url') ); } diff --git a/module/VuFind/src/VuFind/AjaxHandler/GetSearchResultsFactory.php b/module/VuFind/src/VuFind/AjaxHandler/GetSearchResultsFactory.php index b2eff0fba30..691b4c0ad4e 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/GetSearchResultsFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/GetSearchResultsFactory.php @@ -74,7 +74,7 @@ public function __invoke( $container->get(\VuFind\Search\Results\PluginManager::class), $container->get('ViewRenderer'), $container->get(\VuFind\Record\Loader::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn() ?: null, + $container->get(\VuFind\Auth\Manager::class)->getUserObject(), $container->get(\Laminas\Session\SessionManager::class)->getId(), $container->get(\VuFind\Search\SearchNormalizer::class), $container->get(\VuFind\Db\Table\PluginManager::class)->get(\VuFind\Db\Table\Search::class), diff --git a/module/VuFind/src/VuFind/AjaxHandler/RelaisInfo.php b/module/VuFind/src/VuFind/AjaxHandler/RelaisInfo.php index 603c5b0c131..6fa25b3cd79 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/RelaisInfo.php +++ b/module/VuFind/src/VuFind/AjaxHandler/RelaisInfo.php @@ -53,7 +53,7 @@ public function handleRequest(Params $params) { $this->disableSessionWrites(); // avoid session write timing bug $oclcNumber = $params->fromQuery('oclcNumber'); - $lin = $this->user['cat_username'] ?? null; + $lin = $this->user ? $this->user['cat_username'] : null; // Authenticate $authResponse = $this->relais->authenticatePatron($lin, true); diff --git a/module/VuFind/src/VuFind/AjaxHandler/RelaisOrder.php b/module/VuFind/src/VuFind/AjaxHandler/RelaisOrder.php index a9c2391a2d7..07561fe3abc 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/RelaisOrder.php +++ b/module/VuFind/src/VuFind/AjaxHandler/RelaisOrder.php @@ -54,7 +54,7 @@ public function handleRequest(Params $params) $this->disableSessionWrites(); // avoid session write timing bug $oclcNumber = $params->fromQuery('oclcNumber'); - $lin = $this->user['cat_username'] ?? null; + $lin = $this->user ? $this->user['cat_username'] : null; // Authenticate $authorizationId = $this->relais->authenticatePatron($lin); diff --git a/module/VuFind/src/VuFind/AjaxHandler/TagRecord.php b/module/VuFind/src/VuFind/AjaxHandler/TagRecord.php index 42f9dc504dc..406f5c591f6 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/TagRecord.php +++ b/module/VuFind/src/VuFind/AjaxHandler/TagRecord.php @@ -50,39 +50,15 @@ class TagRecord extends AbstractBase implements TranslatorAwareInterface { use \VuFind\I18n\Translator\TranslatorAwareTrait; - /** - * Record loader - * - * @var Loader - */ - protected $loader; - - /** - * Tag parser - * - * @var Tags - */ - protected $tagParser; - - /** - * Logged in user (or false) - * - * @var User|bool - */ - protected $user; - /** * Constructor * - * @param Loader $loader Record loader - * @param Tags $parser Tag parser - * @param User|bool $user Logged in user (or false) + * @param Loader $loader Record loader + * @param Tags $tagParser Tag parser + * @param ?User $user Logged in user (or null) */ - public function __construct(Loader $loader, Tags $parser, $user) + public function __construct(protected Loader $loader, protected Tags $tagParser, protected ?User $user) { - $this->loader = $loader; - $this->tagParser = $parser; - $this->user = $user; } /** diff --git a/module/VuFind/src/VuFind/AjaxHandler/TagRecordFactory.php b/module/VuFind/src/VuFind/AjaxHandler/TagRecordFactory.php index 94f2f7dc0cb..213a8c5cf6f 100644 --- a/module/VuFind/src/VuFind/AjaxHandler/TagRecordFactory.php +++ b/module/VuFind/src/VuFind/AjaxHandler/TagRecordFactory.php @@ -72,7 +72,7 @@ public function __invoke( return new $requestedName( $container->get(\VuFind\Record\Loader::class), $container->get(\VuFind\Tags::class), - $container->get(\VuFind\Auth\Manager::class)->isLoggedIn() + $container->get(\VuFind\Auth\Manager::class)->getUserObject() ); } } diff --git a/module/VuFind/src/VuFind/Auth/AbstractBase.php b/module/VuFind/src/VuFind/Auth/AbstractBase.php index f058d041bfb..284a629157d 100644 --- a/module/VuFind/src/VuFind/Auth/AbstractBase.php +++ b/module/VuFind/src/VuFind/Auth/AbstractBase.php @@ -415,7 +415,7 @@ public function getUserTable() /** * Verify that a username fulfills the username policy. Throws exception if - * the usernmae is invalid. + * the username is invalid. * * @param string $username Password to verify * diff --git a/module/VuFind/src/VuFind/Auth/AlmaDatabase.php b/module/VuFind/src/VuFind/Auth/AlmaDatabase.php index 0600e250870..f616519deb7 100644 --- a/module/VuFind/src/VuFind/Auth/AlmaDatabase.php +++ b/module/VuFind/src/VuFind/Auth/AlmaDatabase.php @@ -103,9 +103,6 @@ public function create($request) return parent::create($request); } - // User variable - $user = null; - // Collect POST parameters from request $params = $this->collectParamsFromRequest($request); diff --git a/module/VuFind/src/VuFind/Auth/Database.php b/module/VuFind/src/VuFind/Auth/Database.php index 1e5ebcaab36..94733ba8fc3 100644 --- a/module/VuFind/src/VuFind/Auth/Database.php +++ b/module/VuFind/src/VuFind/Auth/Database.php @@ -447,7 +447,7 @@ protected function validateParams($params, $table) } /** - * Create a user row object from given parametes. + * Create a user row object from given parameters. * * @param string[] $params Parameters returned from collectParamsFromRequest() * @param UserTable $table The VuFind user table diff --git a/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php b/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php index d775ce7bf8b..dbeff087521 100644 --- a/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php +++ b/module/VuFind/src/VuFind/Auth/ILSAuthenticator.php @@ -108,7 +108,7 @@ public function getStoredCatalogCredentials() { // Fail if no username is found, but allow a missing password (not every ILS // requires a password to connect). - if (($user = $this->getAuthManager()->isLoggedIn()) && !empty($user->cat_username)) { + if (($user = $this->getAuthManager()->getUserObject()) && !empty($user->cat_username)) { return [ 'cat_username' => $user->cat_username, 'cat_password' => $user->cat_password, @@ -130,7 +130,7 @@ public function storedCatalogLogin() { // Fail if no username is found, but allow a missing password (not every ILS // requires a password to connect). - if (($user = $this->getAuthManager()->isLoggedIn()) && !empty($user->cat_username)) { + if (($user = $this->getAuthManager()->getUserObject()) && !empty($user->cat_username)) { // Do we have a previously cached ILS account? if (isset($this->ilsAccount[$user->cat_username])) { return $this->ilsAccount[$user->cat_username]; @@ -218,7 +218,9 @@ public function processEmailLoginHash($hash) } try { - $patron = $this->emailAuthenticator->authenticate($hash); + $loginData = $this->emailAuthenticator->authenticate($hash); + // Check if we have more granular data available: + $patron = $loginData['userData'] ?? $loginData; } catch (\VuFind\Exception\Auth $e) { return false; } @@ -237,7 +239,7 @@ public function processEmailLoginHash($hash) */ protected function updateUser($catUsername, $catPassword, $patron) { - $user = $this->getAuthManager()->isLoggedIn(); + $user = $this->getAuthManager()->getUserObject(); if ($user) { $user->saveCredentials($catUsername, $catPassword); $this->getAuthManager()->updateSession($user); diff --git a/module/VuFind/src/VuFind/Auth/LoginTokenManager.php b/module/VuFind/src/VuFind/Auth/LoginTokenManager.php index a495b24f7b7..70de32df828 100644 --- a/module/VuFind/src/VuFind/Auth/LoginTokenManager.php +++ b/module/VuFind/src/VuFind/Auth/LoginTokenManager.php @@ -34,6 +34,7 @@ use BrowscapPHP\BrowscapInterface; use Laminas\Config\Config; +use Laminas\Log\LoggerAwareInterface; use Laminas\Session\SessionManager; use Laminas\View\Renderer\RendererInterface; use VuFind\Cookie\CookieManager; @@ -42,6 +43,9 @@ use VuFind\Db\Table\User as UserTable; use VuFind\Exception\Auth as AuthException; use VuFind\Exception\LoginToken as LoginTokenException; +use VuFind\I18n\Translator\TranslatorAwareInterface; +use VuFind\I18n\Translator\TranslatorAwareTrait; +use VuFind\Log\LoggerAwareTrait; use VuFind\Mailer\Mailer; /** @@ -54,9 +58,10 @@ * @license https://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org Main Page */ -class LoginTokenManager implements \VuFind\I18n\Translator\TranslatorAwareInterface +class LoginTokenManager implements LoggerAwareInterface, TranslatorAwareInterface { - use \VuFind\I18n\Translator\TranslatorAwareTrait; + use LoggerAwareTrait; + use TranslatorAwareTrait; /** * VuFind configuration @@ -180,12 +185,12 @@ public function __construct( * * @param string $sessionId Session identifier * - * @return \VuFind\Db\Row\UserRow Object representing logged-in user. + * @return User Object representing logged-in user. */ - public function tokenLogin(string $sessionId): ?\VuFind\Db\Row\User + public function tokenLogin(string $sessionId): ?User { - $cookie = $this->getLoginTokenCookie(); $user = null; + $cookie = $this->getLoginTokenCookie(); if ($cookie) { try { if ($token = $this->loginTokenTable->matchToken($cookie)) { @@ -193,11 +198,21 @@ public function tokenLogin(string $sessionId): ?\VuFind\Db\Row\User // successfully processed: $user = $this->userTable->getById($token->user_id); $this->tokenToUpdate = compact('user', 'token', 'sessionId'); + $this->debug( + "Token login successful for user {$token->user_id}" + . ", token {$token->token} series {$token->series}" + ); + } else { + $this->cookieManager->clear($this->getCookieName()); } } catch (LoginTokenException $e) { + $this->logError( + 'Token login failure for user ' . $e->getUserId() + . ", token {$cookie['token']} series {$cookie['series']}: " . (string)$e + ); // Delete all login tokens for the user and all sessions // associated with the tokens and send a warning email to user - $user = $this->userTable->getById($cookie['user_id']); + $user = $this->userTable->getById($e->getUserId()); $this->deleteUserLoginTokens($user->id); // We can't send an email until after the theme has initialized; // if it's not ready yet, save the user for later. @@ -212,6 +227,20 @@ public function tokenLogin(string $sessionId): ?\VuFind\Db\Row\User return $user; } + /** + * Create a new login token series + * + * @param User $user User + * @param string $sessionId Session identifier + * + * @throws AuthException + * @return void + */ + public function createToken(User $user, string $sessionId = ''): void + { + $this->createOrRotateToken($user, $sessionId); + } + /** * Event hook -- called after the theme has initialized. * @@ -237,63 +266,23 @@ public function requestIsFinished(): void // If we have queued a login token update, we can process it now! if ($this->tokenToUpdate) { $token = $this->tokenToUpdate['token']; - $this->loginTokenTable->deleteBySeries($token->series, $token->user_id); - $this->createToken( + $this->createOrRotateToken( $this->tokenToUpdate['user'], - $token->series, $this->tokenToUpdate['sessionId'], - $token->expires + $token->series, + $token->expires, + $token->id ); $this->tokenToUpdate = null; } } - /** - * Create a new login token - * - * @param \VuFind\Db\Row\User $user user - * @param string $series login token series - * @param string $sessionId Session identifier - * @param int $expires Token expiration timestamp - * - * @throws AuthException - * @return void - */ - public function createToken(\VuFind\Db\Row\User $user, string $series = '', string $sessionId = '', $expires = 0) - { - $token = bin2hex(random_bytes(32)); - $series = $series ?: bin2hex(random_bytes(32)); - try { - $browser = $this->getBrowscap()->getBrowser(); - } catch (\Exception $e) { - throw new AuthException('Problem with browscap: ' . (string)$e); - } - if ($expires === 0) { - $lifetime = $this->getCookieLifetime(); - $expires = time() + $lifetime * 60 * 60 * 24; - } - try { - $this->loginTokenTable->saveToken( - $user->id, - $token, - $series, - $browser->browser, - $browser->platform, - $expires, - $sessionId - ); - $this->setLoginTokenCookie($user->id, $token, $series, $expires); - } catch (\Exception $e) { - throw new AuthException('Failed to save token'); - } - } - /** * Delete a login token by series. Also destroys * sessions associated with the login token. * * @param string $series Series to identify the token - * @param string $userId User identifier + * @param int $userId User identifier * * @return void */ @@ -303,11 +292,11 @@ public function deleteTokenSeries(string $series, int $userId) if (!empty($cookie) && $cookie['series'] === $series) { $this->cookieManager->clear($this->getCookieName()); } - if ($token = $this->loginTokenTable->getBySeries($series, $cookie['user_id'])) { - $handler = $this->sessionManager->getSaveHandler(); + $handler = $this->sessionManager->getSaveHandler(); + foreach ($this->loginTokenTable->getBySeries($series) as $token) { $handler->destroy($token->last_session_id); } - $this->loginTokenTable->deleteBySeries($series, $cookie['user_id']); + $this->loginTokenTable->deleteBySeries($series); } /** @@ -320,7 +309,7 @@ public function deleteTokenSeries(string $series, int $userId) */ public function deleteUserLoginTokens($userId) { - $userTokens = $this->loginTokenTable->getByUserId($userId); + $userTokens = $this->loginTokenTable->getByUserId($userId, false); $handler = $this->sessionManager->getSaveHandler(); foreach ($userTokens as $t) { $handler->destroy($t->last_session_id); @@ -328,6 +317,26 @@ public function deleteUserLoginTokens($userId) $this->loginTokenTable->deleteByUserId($userId); } + /** + * Get login token cookie lifetime (days) + * + * @return int + */ + public function getCookieLifetime(): int + { + return (int)($this->config->Authentication->persistent_login_lifetime ?? 14); + } + + /** + * Get login token cookie name + * + * @return string + */ + public function getCookieName(): string + { + return 'loginToken'; + } + /** * Delete a login token from cookies and database * @@ -336,12 +345,66 @@ public function deleteUserLoginTokens($userId) public function deleteActiveToken() { $cookie = $this->getLoginTokenCookie(); - if (!empty($cookie) && $cookie['series'] && $cookie['user_id']) { - $this->loginTokenTable->deleteBySeries($cookie['series'], $cookie['user_id']); + if (!empty($cookie) && $cookie['series']) { + $this->loginTokenTable->deleteBySeries($cookie['series']); } $this->cookieManager->clear($this->getCookieName()); } + /** + * Create a new login token series or rotate login token in given series + * + * @param User $user User + * @param string $sessionId Session identifier + * @param string $series Login token series + * @param ?int $expires Token expiration timestamp or null for default + * @param ?int $currentTokenId ID of current token to keep intact + * + * @throws AuthException + * @return void + */ + protected function createOrRotateToken( + User $user, + string $sessionId = '', + string $series = '', + ?int $expires = null, + ?int $currentTokenId = null + ): void { + try { + $browser = $this->getBrowscap()->getBrowser(); + } catch (\Exception $e) { + throw new AuthException('Problem with browscap: ' . (string)$e); + } + if (null === $expires) { + $lifetime = $this->getCookieLifetime(); + $expires = time() + $lifetime * 60 * 60 * 24; + } + $token = bin2hex(random_bytes(32)); + try { + if ($series) { + $lenient = ($this->config->Authentication->lenient_token_rotation ?? true); + $this->loginTokenTable->deleteBySeries($series, $lenient ? $currentTokenId : null); + $this->debug("Updating login token $token series $series for user {$user->id}"); + } else { + $series = bin2hex(random_bytes(32)); + $this->debug("Creating login token $token series $series for user {$user->id}"); + } + $this->loginTokenTable->saveToken( + $user->id, + $token, + $series, + $browser->browser, + $browser->platform, + $expires, + $sessionId + ); + $this->setLoginTokenCookie($token, $series, $expires); + } catch (\Exception $e) { + $this->logError("Failed to save login token $token series $series for user {$user->id}: " . (string)$e); + throw new AuthException('Failed to save token'); + } + } + /** * Send email warning to user * @@ -349,7 +412,7 @@ public function deleteActiveToken() * * @return void */ - public function sendLoginTokenWarningEmail(\VuFind\Db\Row\User $user) + protected function sendLoginTokenWarningEmail(User $user) { if (!($this->config->Authentication->send_login_warnings ?? true)) { return; @@ -363,28 +426,31 @@ public function sendLoginTokenWarningEmail(\VuFind\Db\Row\User $user) $subject = $this->config->Authentication->persistent_login_warning_email_subject ?? 'persistent_login_warning_email_subject'; - $this->mailer->send( - $user->email, - $this->config->Mail->default_from ?? $this->config->Site->email, - $this->translate($subject, ['%%title%%' => $title]), - $message - ); + try { + $this->mailer->send( + $user->email, + $this->config->Mail->default_from ?? $this->config->Site->email, + $this->translate($subject, ['%%title%%' => $title]), + $message + ); + } catch (\Exception $e) { + $this->logError('Failed to send login token warning email: ' . (string)$e); + } } } /** * Set login token cookie * - * @param int $userId User identifier * @param string $token Login token * @param string $series Series the token belongs to * @param int $expires Token expiration timestamp * * @return void */ - public function setLoginTokenCookie(int $userId, string $token, string $series, int $expires) + protected function setLoginTokenCookie(string $token, string $series, int $expires): void { - $token = implode(';', [$series, $userId, $token]); + $token = implode(';', [$series, $token]); $this->cookieManager->set( $this->getCookieName(), $token, @@ -398,38 +464,23 @@ public function setLoginTokenCookie(int $userId, string $token, string $series, * * @return array */ - public function getLoginTokenCookie(): array + protected function getLoginTokenCookie(): array { - $result = []; if ($cookie = $this->cookieManager->get($this->getCookieName())) { $parts = explode(';', $cookie); - $result = [ - 'series' => $parts[0] ?? '', - 'user_id' => (int)($parts[1] ?? -1), - 'token' => $parts[2] ?? '', + // Account for tokens that have extra content in the middle: + if ($part2 = $parts[2] ?? null) { + return [ + 'series' => $parts[0], + 'token' => $part2, + ]; + } + return [ + 'series' => $parts[0], + 'token' => $parts[1] ?? '', ]; } - return $result; - } - - /** - * Get login token cookie name - * - * @return string - */ - public function getCookieName(): string - { - return 'loginToken'; - } - - /** - * Get login token cookie lifetime (days) - * - * @return int - */ - public function getCookieLifetime(): int - { - return (int)($this->config->Authentication->persistent_login_lifetime ?? 14); + return []; } /** diff --git a/module/VuFind/src/VuFind/Auth/Manager.php b/module/VuFind/src/VuFind/Auth/Manager.php index bd4af6d7e69..48e047c06f2 100644 --- a/module/VuFind/src/VuFind/Auth/Manager.php +++ b/module/VuFind/src/VuFind/Auth/Manager.php @@ -31,7 +31,9 @@ use Laminas\Config\Config; use Laminas\Session\SessionManager; +use LmcRbacMvc\Identity\IdentityInterface; use VuFind\Cookie\CookieManager; +use VuFind\Db\Interface\UserAccountInterface; use VuFind\Db\Row\User as UserRow; use VuFind\Db\Table\User as UserTable; use VuFind\Exception\Auth as AuthException; @@ -130,9 +132,9 @@ class Manager implements /** * Cache for current logged in user object * - * @var UserRow + * @var ?UserAccountInterface */ - protected $currentUser = false; + protected $currentUser = null; /** * CSRF validator @@ -379,7 +381,7 @@ public function getSessionInitiator($target) // settings in config.ini. However, if the user is not logged in, // they are probably attempting something nasty and should be given // an error message. - if (!$this->isLoggedIn()) { + if (!$this->getIdentity()) { throw $e; } $this->logout(''); @@ -548,7 +550,7 @@ public function logout($url, $destroy = true) $this->getAuth()->resetState(); // Clear out the cached user object and session entry. - $this->currentUser = false; + $this->currentUser = null; unset($this->session->userId); unset($this->session->userDetails); $this->cookieManager->set('loggedOut', 1); @@ -581,8 +583,20 @@ public function userHasLoggedOut() * Checks whether the user is logged in. * * @return UserRow|false Object if user is logged in, false otherwise. + * + * @deprecated Use getIdentity() or getUserObject() instead. */ public function isLoggedIn() + { + return $this->getUserObject() ?? false; + } + + /** + * Checks whether the user is logged in. + * + * @return ?UserAccountInterface Object if user is logged in, null otherwise. + */ + public function getUserObject(): ?UserAccountInterface { // If user object is not in cache, but user ID is in session, // load the object from the database: @@ -592,9 +606,9 @@ public function isLoggedIn() $results = $this->userTable ->select(['id' => $this->session->userId]); $this->currentUser = count($results) < 1 - ? false : $results->current(); + ? null : $results->current(); // End the session since the logged-in user cannot be found: - if (false === $this->currentUser) { + if (null === $this->currentUser) { $this->logout(''); } } elseif (isset($this->session->userDetails)) { @@ -610,11 +624,11 @@ public function isLoggedIn() $this->updateUser($user, null); $this->updateSession($user); } else { - $this->currentUser = false; + $this->currentUser = null; } } else { // not logged in - $this->currentUser = false; + $this->currentUser = null; } } return $this->currentUser; @@ -639,13 +653,13 @@ public function getCsrfHash($regenerate = false, $maxTokens = 5) } /** - * Get the identity + * Get the logged-in user's identity (null if not logged in) * - * @return \LmcRbacMvc\Identity\IdentityInterface|null + * @return ?IdentityInterface */ public function getIdentity() { - return $this->isLoggedIn() ?: null; + return $this->getUserObject(); } /** @@ -655,7 +669,7 @@ public function getIdentity() */ public function checkForExpiredCredentials() { - if ($this->isLoggedIn() && $this->getAuth()->isExpired()) { + if ($this->getIdentity() && $this->getAuth()->isExpired()) { $this->logout(null, false); return true; } @@ -815,7 +829,7 @@ public function login($request) if ($request->getPost()->get('remember_me') && $this->supportsPersistentLogin($mainAuthMethod)) { try { - $this->loginTokenManager->createToken($user, '', $this->sessionManager->getId()); + $this->loginTokenManager->createToken($user, $this->sessionManager->getId()); } catch (\Exception $e) { $this->logError((string)$e); throw new AuthException('authentication_error_technical', 0, $e); diff --git a/module/VuFind/src/VuFind/Auth/SIP2.php b/module/VuFind/src/VuFind/Auth/SIP2.php index 9da378c1868..d66040bbdc9 100644 --- a/module/VuFind/src/VuFind/Auth/SIP2.php +++ b/module/VuFind/src/VuFind/Auth/SIP2.php @@ -84,7 +84,7 @@ public function authenticate($request) } $result = $mysip->parseACSStatusResponse($msg_result); - // Use result to populate SIP2 setings + // Use result to populate SIP2 settings $mysip->AO = $result['variable']['AO'][0]; $mysip->AN = $result['variable']['AN'][0]; diff --git a/module/VuFind/src/VuFind/Auth/ShibbolethFactory.php b/module/VuFind/src/VuFind/Auth/ShibbolethFactory.php index c7149c9a0e4..9dd81fdf98c 100644 --- a/module/VuFind/src/VuFind/Auth/ShibbolethFactory.php +++ b/module/VuFind/src/VuFind/Auth/ShibbolethFactory.php @@ -92,13 +92,10 @@ public function getConfigurationLoader(ContainerInterface $container) $configManager = $container->get(\VuFind\Config\PluginManager::class); $config = $configManager->get('config'); $override = $config->Shibboleth->allow_configuration_override ?? false; - $loader = null; if ($override) { $shibConfig = $configManager->get(self::SHIBBOLETH_CONFIG_FILE_NAME); - $loader = new MultiIdPConfigurationLoader($config, $shibConfig); - } else { - $loader = new SingleIdPConfigurationLoader($config); + return new MultiIdPConfigurationLoader($config, $shibConfig); } - return $loader; + return new SingleIdPConfigurationLoader($config); } } diff --git a/module/VuFind/src/VuFind/Bootstrapper.php b/module/VuFind/src/VuFind/Bootstrapper.php index f0e39ea1016..9dd6230a43b 100644 --- a/module/VuFind/src/VuFind/Bootstrapper.php +++ b/module/VuFind/src/VuFind/Bootstrapper.php @@ -218,7 +218,7 @@ protected function initUserLanguage(): void $language = $settings->getUserLocale(); $authManager = $this->container->get(\VuFind\Auth\Manager::class); if ( - ($user = $authManager->isLoggedIn()) + ($user = $authManager->getUserObject()) && $user->last_language != $language ) { $user->updateLastLanguage($language); diff --git a/module/VuFind/src/VuFind/Captcha/AbstractBase.php b/module/VuFind/src/VuFind/Captcha/AbstractBase.php index 511264a894d..6cb2e4fb27f 100644 --- a/module/VuFind/src/VuFind/Captcha/AbstractBase.php +++ b/module/VuFind/src/VuFind/Captcha/AbstractBase.php @@ -45,7 +45,7 @@ abstract class AbstractBase { /** - * Get list of URLs with JS dependancies to load for the active CAPTCHA type. + * Get list of URLs with JS dependencies to load for the active CAPTCHA type. * * @return array */ diff --git a/module/VuFind/src/VuFind/Captcha/ReCaptcha.php b/module/VuFind/src/VuFind/Captcha/ReCaptcha.php index 2ef09b78036..413f384de38 100644 --- a/module/VuFind/src/VuFind/Captcha/ReCaptcha.php +++ b/module/VuFind/src/VuFind/Captcha/ReCaptcha.php @@ -71,7 +71,7 @@ public function __construct( } /** - * Get list of URLs with JS dependancies to load for the active CAPTCHA type. + * Get list of URLs with JS dependencies to load for the active CAPTCHA type. * * @return array */ diff --git a/module/VuFind/src/VuFind/Connection/OauthServiceInterface.php b/module/VuFind/src/VuFind/Connection/OauthServiceInterface.php index 3d7a00b1332..071f9395080 100644 --- a/module/VuFind/src/VuFind/Connection/OauthServiceInterface.php +++ b/module/VuFind/src/VuFind/Connection/OauthServiceInterface.php @@ -43,7 +43,7 @@ interface OauthServiceInterface { /** - * Authentiate via the OAuth Client Credentials grant type. + * Authenticate via the OAuth Client Credentials grant type. * * @param string $oauthUrl URL of thee OAuth service * @param string $clientId client_id for a client_credentials grant diff --git a/module/VuFind/src/VuFind/Connection/OauthServiceTrait.php b/module/VuFind/src/VuFind/Connection/OauthServiceTrait.php index c8340b7b1a6..f4b451b75d6 100644 --- a/module/VuFind/src/VuFind/Connection/OauthServiceTrait.php +++ b/module/VuFind/src/VuFind/Connection/OauthServiceTrait.php @@ -58,7 +58,7 @@ trait OauthServiceTrait protected $tokenData = null; /** - * Authentiate via the OAuth Client Credentials grant type. + * Authenticate via the OAuth Client Credentials grant type. * * @param string $oauthUrl URL of thee OAuth service * @param string $clientId client_id for a client_credentials grant @@ -164,7 +164,7 @@ protected function oauthServiceTraitError($msg) /** * Log a message, if $this->log exists. * - * @param string $level Loging level + * @param string $level Logging level * @param string $msg Log message * * @return void diff --git a/module/VuFind/src/VuFind/Connection/OpenLibrary.php b/module/VuFind/src/VuFind/Connection/OpenLibrary.php index d3f57051140..d2c39b30d85 100644 --- a/module/VuFind/src/VuFind/Connection/OpenLibrary.php +++ b/module/VuFind/src/VuFind/Connection/OpenLibrary.php @@ -102,7 +102,6 @@ public function getSubjects( for ($i = 0; $i < count($subjectTypes); $i++) { if (empty($result)) { - $subjectType = ''; $subjectType = $subjectTypes[$i] == 'topic' ? '' : $subjectTypes[$i] . ':'; diff --git a/module/VuFind/src/VuFind/Connection/Oracle.php b/module/VuFind/src/VuFind/Connection/Oracle.php index 4b136bf812c..e32c176c9e5 100644 --- a/module/VuFind/src/VuFind/Connection/Oracle.php +++ b/module/VuFind/src/VuFind/Connection/Oracle.php @@ -191,7 +191,7 @@ protected function getDataTypeConstant($data_type) * @param resource $parsed Result returned by prepare() method. * @param string $place_holder The colon-prefixed bind variable placeholder * used in the statement. - * @param string $data The PHP variable to be associatd with + * @param string $data The PHP variable to be associated with * $place_holder * @param string $data_type The type of $data (string, integer, float, * long, date, row_id, clob, or blob) @@ -232,7 +232,7 @@ public function bindParam( * @param resource $parsed Result returned by prepare() method. * @param string $place_holder The colon-prefixed bind variable placeholder * used in the statement. - * @param string $data The PHP variable to be associatd with + * @param string $data The PHP variable to be associated with * $place_holder * @param string $data_type The type of $data (string, integer, float, * long, date, row_id, clob, or blob) diff --git a/module/VuFind/src/VuFind/Content/TOC/Syndetics.php b/module/VuFind/src/VuFind/Content/TOC/Syndetics.php index 92a1b6fc468..188520e9440 100644 --- a/module/VuFind/src/VuFind/Content/TOC/Syndetics.php +++ b/module/VuFind/src/VuFind/Content/TOC/Syndetics.php @@ -89,7 +89,6 @@ public function loadByIsbn($key, \VuFindCode\ISBN $isbnObj) throw new \Exception('Invalid XML'); } - $i = 0; foreach ($this->sourceList as $source => $sourceInfo) { $nodes = $xmldoc->getElementsByTagName($source); if ($nodes->length) { @@ -136,7 +135,6 @@ public function loadByIsbn($key, \VuFindCode\ISBN $isbnObj) ); } } - $i++; } } diff --git a/module/VuFind/src/VuFind/Controller/AbstractBase.php b/module/VuFind/src/VuFind/Controller/AbstractBase.php index bf701e4df33..ad04ee2904f 100644 --- a/module/VuFind/src/VuFind/Controller/AbstractBase.php +++ b/module/VuFind/src/VuFind/Controller/AbstractBase.php @@ -331,7 +331,7 @@ protected function getILSAuthenticator() */ protected function getUser() { - return $this->getAuthManager()->isLoggedIn(); + return $this->getAuthManager()->getUserObject() ?? false; } /** @@ -390,7 +390,7 @@ protected function catalogLogin() { // First make sure user is logged in to VuFind: $account = $this->getAuthManager(); - if ($account->isLoggedIn() == false) { + if (!$account->getIdentity()) { return $this->forceLogin(); } diff --git a/module/VuFind/src/VuFind/Controller/BrowseController.php b/module/VuFind/src/VuFind/Controller/BrowseController.php index f5c340bfd0b..6b5bf47f2db 100644 --- a/module/VuFind/src/VuFind/Controller/BrowseController.php +++ b/module/VuFind/src/VuFind/Controller/BrowseController.php @@ -747,7 +747,7 @@ protected function getAlphabetList() } // ALPHABET TO ['value','displayText'] - // (value has asterix appended for Solr, but is unmodified for tags) + // (value has asterisk appended for Solr, but is unmodified for tags) $action = $this->getCurrentAction(); $callback = function ($letter) use ($action) { // Tag is a special case because it is database-backed; for everything diff --git a/module/VuFind/src/VuFind/Controller/ContentController.php b/module/VuFind/src/VuFind/Controller/ContentController.php index c80e430385e..83c3abf8108 100644 --- a/module/VuFind/src/VuFind/Controller/ContentController.php +++ b/module/VuFind/src/VuFind/Controller/ContentController.php @@ -118,8 +118,18 @@ protected function getViewForMd(string $page, string $relPath, string $path): Vi */ protected function getViewForPhtml(string $page, string $relPath, string $path): ViewModel { - $view = $this->createViewModel(['page' => $page]); - $view->setTemplate($relPath); - return $view; + // Convert relative path to a relative page name: + $relPage = $relPath; + if (str_starts_with($relPage, 'content/')) { + $relPage = substr($relPage, 8); + } + if (str_ends_with($relPage, '.phtml')) { + $relPage = substr($relPage, 0, -6); + } + // Prevent circular inclusion: + if ('content' === $relPage) { + return $this->notFoundAction(); + } + return $this->createViewModel(['page' => $relPage]); } } diff --git a/module/VuFind/src/VuFind/Controller/EdsController.php b/module/VuFind/src/VuFind/Controller/EdsController.php index 3a5d63e1dd6..51b2d464464 100644 --- a/module/VuFind/src/VuFind/Controller/EdsController.php +++ b/module/VuFind/src/VuFind/Controller/EdsController.php @@ -197,7 +197,7 @@ protected function processAdvancedExpanders($searchObject = false) } /** - * Process the publicationd date range limiter widget + * Process the publication date range limiter widget * * @param object $searchObject Saved search object (false if none) * diff --git a/module/VuFind/src/VuFind/Controller/Feature/SecureDatabaseTrait.php b/module/VuFind/src/VuFind/Controller/Feature/SecureDatabaseTrait.php index 3c254de3ea0..72a9acb7e31 100644 --- a/module/VuFind/src/VuFind/Controller/Feature/SecureDatabaseTrait.php +++ b/module/VuFind/src/VuFind/Controller/Feature/SecureDatabaseTrait.php @@ -71,8 +71,9 @@ protected function hasSecureDatabase(): bool // If we're correctly configured, check that the data in the database is ok: if ($status) { try { - $rows = $this->getTable('user')->getInsecureRows(); - $status = (count($rows) == 0); + $userRows = $this->getTable('user')->getInsecureRows(); + $cardRows = $this->getTable('usercard')->getInsecureRows(); + $status = (count($userRows) + count($cardRows) == 0); } catch (\Exception $e) { // Any exception means we have a problem! $status = false; diff --git a/module/VuFind/src/VuFind/Controller/IndexController.php b/module/VuFind/src/VuFind/Controller/IndexController.php index 2206ee36a04..3920b447ad5 100644 --- a/module/VuFind/src/VuFind/Controller/IndexController.php +++ b/module/VuFind/src/VuFind/Controller/IndexController.php @@ -78,7 +78,7 @@ public function __construct(Config $config, AuthManager $authManager) public function homeAction() { // Load different configurations depending on whether we're logged in or not: - if ($this->authManager->isLoggedIn()) { + if ($this->authManager->getIdentity()) { $controller = $this->config->Site->defaultLoggedInModule ?? 'MyResearch'; $actionConfig = 'defaultLoggedInAction'; } else { diff --git a/module/VuFind/src/VuFind/Controller/InstallController.php b/module/VuFind/src/VuFind/Controller/InstallController.php index 8a4f24f6d95..fff0e339909 100644 --- a/module/VuFind/src/VuFind/Controller/InstallController.php +++ b/module/VuFind/src/VuFind/Controller/InstallController.php @@ -768,8 +768,9 @@ public function fixsecurityAction() } // If we don't need to prompt the user, or if they confirmed, do the fix: - $rows = $this->getTable('user')->getInsecureRows(); - if (count($rows) == 0 || $userConfirmation == 'Yes') { + $userRows = $this->getTable('user')->getInsecureRows(); + $cardRows = $this->getTable('usercard')->getInsecureRows(); + if (count($userRows) + count($cardRows) == 0 || $userConfirmation == 'Yes') { return $this->forwardTo('Install', 'performsecurityfix'); } @@ -805,12 +806,10 @@ public function performsecurityfixAction() // Now we want to loop through the database and update passwords (if // necessary). - $rows = $this->getTable('user')->getInsecureRows(); - if (count($rows) > 0) { - // If we got this far, the user POSTed their confirmation -- go ahead - // with the fix: + $userRows = $this->getTable('user')->getInsecureRows(); + if (count($userRows) > 0) { $bcrypt = new Bcrypt(); - foreach ($rows as $row) { + foreach ($userRows as $row) { if ($row->password != '') { $row->pass_hash = $bcrypt->create($row->password); $row->password = ''; @@ -821,7 +820,20 @@ public function performsecurityfixAction() $row->save(); } } - $msg = count($rows) . ' user row(s) encrypted.'; + $msg = count($userRows) . ' user row(s) encrypted.'; + $this->flashMessenger()->addMessage($msg, 'info'); + } + $cardRows = $this->getTable('usercard')->getInsecureRows(); + if (count($cardRows) > 0) { + // Create a dummy user for encryption purposes... + $dummyUser = $this->getTable('user')->createRow(); + foreach ($cardRows as $row) { + $dummyUser->setCredentials($row->cat_username, $row->cat_password); + $row->cat_pass_enc = $dummyUser->cat_pass_enc; + $row->cat_password = null; + $row->save(); + } + $msg = count($cardRows) . ' user_card row(s) encrypted.'; $this->flashMessenger()->addMessage($msg, 'info'); } return $this->redirect()->toRoute('install-home'); diff --git a/module/VuFind/src/VuFind/Controller/MyResearchController.php b/module/VuFind/src/VuFind/Controller/MyResearchController.php index 6b8453b0137..2b87524fa00 100644 --- a/module/VuFind/src/VuFind/Controller/MyResearchController.php +++ b/module/VuFind/src/VuFind/Controller/MyResearchController.php @@ -200,7 +200,7 @@ public function homeAction() || $this->params()->fromQuery('auth_method') ) { try { - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { $this->getAuthManager()->login($this->getRequest()); // Return early to avoid unnecessary processing if we are being // called from login lightbox and don't have a followup action or @@ -221,7 +221,7 @@ public function homeAction() } // Not logged in? Force user to log in: - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { if ( $this->followup()->retrieve('lightboxParent') && $url = $this->getAndClearFollowupUrl(true) @@ -259,7 +259,7 @@ public function homeAction() public function accountAction() { // If the user is already logged in, don't let them create an account: - if ($this->getAuthManager()->isLoggedIn()) { + if ($this->getAuthManager()->getIdentity()) { return $this->redirect()->toRoute('myresearch-home'); } // If authentication mechanism does not support account creation, send @@ -348,7 +348,7 @@ public function loginAction() public function userloginAction() { // Don't log in if already logged in! - if ($this->getAuthManager()->isLoggedIn()) { + if ($this->getAuthManager()->getIdentity()) { return $this->inLightbox() // different behavior for lightbox context ? $this->getRefreshResponse() : $this->redirect()->toRoute('home'); @@ -371,7 +371,7 @@ public function userloginAction() */ public function completeLoginAction() { - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { return $this->forceLogin(''); } if (!is_array($patron = $this->catalogLogin())) { @@ -773,6 +773,8 @@ public function profileAction() } } else { $view->patronLoginView = $patron; + // Turn off account menu in embedded login display: + $view->patronLoginView->showMenu = false; } $view->accountDeletion @@ -924,7 +926,7 @@ public function performDeleteFavorite($id, $source) $list->removeResourcesById($user, [$id], $source); $this->flashMessenger()->addMessage('Item removed from list', 'success'); } else { - // ...My Favorites + // ...All Saved Items $user->removeResourcesById([$id], $source); $this->flashMessenger() ->addMessage('Item removed from favorites', 'success'); @@ -1231,7 +1233,7 @@ public function editlistAction() // User must be logged in to edit list: $user = $this->getUser(); - if ($user == false) { + if (!$user) { return $this->forceLogin(); } @@ -2090,7 +2092,7 @@ public function newPasswordAction() public function changeEmailAction() { // Always check that we are logged in and function is enabled first: - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { return $this->forceLogin(); } if (!$this->getAuthManager()->supportsEmailChange()) { @@ -2148,7 +2150,7 @@ public function changeEmailAction() */ public function changePasswordAction() { - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { return $this->forceLogin(); } // If not submitted, are we logged in? @@ -2180,7 +2182,7 @@ public function changePasswordAction() */ public function deleteLoginTokenAction() { - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { return $this->forceLogin(); } $csrf = $this->serviceLocator->get(CsrfInterface::class); @@ -2201,7 +2203,7 @@ public function deleteLoginTokenAction() */ public function deleteUserLoginTokensAction() { - if (!$this->getAuthManager()->isLoggedIn()) { + if (!$this->getAuthManager()->getIdentity()) { return $this->forceLogin(); } $csrf = $this->serviceLocator->get(CsrfInterface::class); diff --git a/module/VuFind/src/VuFind/Controller/OverdriveController.php b/module/VuFind/src/VuFind/Controller/OverdriveController.php index 9febda161e2..51c0b51c0d7 100644 --- a/module/VuFind/src/VuFind/Controller/OverdriveController.php +++ b/module/VuFind/src/VuFind/Controller/OverdriveController.php @@ -174,7 +174,7 @@ public function getStatusAction() * @return array|bool|\Laminas\View\Model\ViewModel * @todo Deal with situation that an unlogged in user requests * an action but the action is no longer valid since they - * already have the content on hold/checked out or do not have acceess + * already have the content on hold/checked out or do not have access */ public function holdAction() { diff --git a/module/VuFind/src/VuFind/Controller/Plugin/Permission.php b/module/VuFind/src/VuFind/Controller/Plugin/Permission.php index 66bee23e2d5..e5a109afd0c 100644 --- a/module/VuFind/src/VuFind/Controller/Plugin/Permission.php +++ b/module/VuFind/src/VuFind/Controller/Plugin/Permission.php @@ -146,7 +146,7 @@ public function check( // login" denied permission requirement, there is probably a // configuration error somewhere; throw an exception rather than // triggering an infinite login redirection loop. - if ($this->authManager->isLoggedIn()) { + if ($this->getIdentity()) { throw new ForbiddenException( 'Trying to prompt login due to denied ' . $permission . ' permission, but a user is already logged in; ' diff --git a/module/VuFind/src/VuFind/Controller/RelaisController.php b/module/VuFind/src/VuFind/Controller/RelaisController.php index 8bde63c5467..e5e72754294 100644 --- a/module/VuFind/src/VuFind/Controller/RelaisController.php +++ b/module/VuFind/src/VuFind/Controller/RelaisController.php @@ -75,7 +75,7 @@ public function loginAction() /** * Given patron data from the catalogLogin() method, return the appropriate - * identifer for use with Relais. + * identifier for use with Relais. * * @param array $patron Patron details * diff --git a/module/VuFind/src/VuFind/Db/Interface/UserAccountInterface.php b/module/VuFind/src/VuFind/Db/Interface/UserAccountInterface.php new file mode 100644 index 00000000000..6b904739d9a --- /dev/null +++ b/module/VuFind/src/VuFind/Db/Interface/UserAccountInterface.php @@ -0,0 +1,43 @@ + + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link https://vufind.org Main Site + */ + +namespace VuFind\Db\Interface; + +/** + * Interface for representing a user account record. + * + * @category VuFind + * @package Db_Interface + * @author Demian Katz + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License + * @link https://vufind.org Main Site + */ +interface UserAccountInterface +{ +} diff --git a/module/VuFind/src/VuFind/Db/Row/ExternalSession.php b/module/VuFind/src/VuFind/Db/Row/ExternalSession.php index 53da3edc2e2..2a4292c5bfd 100644 --- a/module/VuFind/src/VuFind/Db/Row/ExternalSession.php +++ b/module/VuFind/src/VuFind/Db/Row/ExternalSession.php @@ -6,7 +6,7 @@ * PHP version 8 * * Copyright (C) Villanova University 2010. - * Copyrught (C) The National Library of Finland 2016. + * Copyright (C) The National Library of Finland 2016. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, diff --git a/module/VuFind/src/VuFind/Db/Row/User.php b/module/VuFind/src/VuFind/Db/Row/User.php index e9e0d846b84..8c797200020 100644 --- a/module/VuFind/src/VuFind/Db/Row/User.php +++ b/module/VuFind/src/VuFind/Db/Row/User.php @@ -69,6 +69,7 @@ * @property string $last_language */ class User extends RowGateway implements + \VuFind\Db\Interface\UserAccountInterface, \VuFind\Db\Table\DbTableAwareInterface, \LmcRbacMvc\Identity\IdentityInterface { @@ -144,15 +145,14 @@ public function saveCatalogId($catId) } /** - * Save ILS login credentials. + * Set ILS login credentials without saving them. * * @param string $username Username to save * @param string $password Password to save * - * @return mixed The output of the save method. - * @throws \VuFind\Exception\PasswordSecurity + * @return void */ - public function saveCredentials($username, $password) + public function setCredentials($username, $password) { $this->cat_username = $username; if ($this->passwordEncryptionEnabled()) { @@ -162,7 +162,20 @@ public function saveCredentials($username, $password) $this->cat_password = $password; $this->cat_pass_enc = null; } + } + /** + * Save ILS login credentials. + * + * @param string $username Username to save + * @param string $password Password to save + * + * @return mixed The output of the save method. + * @throws \VuFind\Exception\PasswordSecurity + */ + public function saveCredentials($username, $password) + { + $this->setCredentials($username, $password); $result = $this->save(); // Update library card entry after saving the user so that we always have a diff --git a/module/VuFind/src/VuFind/Db/Row/UserList.php b/module/VuFind/src/VuFind/Db/Row/UserList.php index 1fb5abfb610..903ff4304bc 100644 --- a/module/VuFind/src/VuFind/Db/Row/UserList.php +++ b/module/VuFind/src/VuFind/Db/Row/UserList.php @@ -85,7 +85,7 @@ public function __construct($adapter, Tags $tagParser, Container $session = null /** * Is the current user allowed to edit this list? * - * @param \VuFind\Db\Row\User|bool $user Logged-in user (false if none) + * @param ?\VuFind\Db\Row\User $user Logged-in user (null if none) * * @return bool */ @@ -195,7 +195,7 @@ public function addListTag($tagText, $user) */ public function save($user = false) { - if (!$this->editAllowed($user)) { + if (!$this->editAllowed($user ?: null)) { throw new ListPermissionException('list_access_denied'); } if (empty($this->title)) { @@ -246,7 +246,7 @@ public function removeResourcesById( $ids, $source = DEFAULT_SEARCH_BACKEND ) { - if (!$this->editAllowed($user)) { + if (!$this->editAllowed($user ?: null)) { throw new ListPermissionException('list_access_denied'); } @@ -289,7 +289,7 @@ public function isPublic() */ public function delete($user = false, $force = false) { - if (!$force && !$this->editAllowed($user)) { + if (!$force && !$this->editAllowed($user ?: null)) { throw new ListPermissionException('list_access_denied'); } diff --git a/module/VuFind/src/VuFind/Db/Table/LoginToken.php b/module/VuFind/src/VuFind/Db/Table/LoginToken.php index 658f2ccb4da..2fd5d8d870d 100644 --- a/module/VuFind/src/VuFind/Db/Table/LoginToken.php +++ b/module/VuFind/src/VuFind/Db/Table/LoginToken.php @@ -5,7 +5,7 @@ * * PHP version 8 * - * Copyright (C) The National Library of Finland 2023. + * Copyright (C) The National Library of Finland 2023-2024. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -30,6 +30,8 @@ namespace VuFind\Db\Table; use Laminas\Db\Adapter\Adapter; +use Laminas\Db\ResultSet\ResultSetInterface; +use Laminas\Db\Sql\Expression; use VuFind\Db\Row\LoginToken as LoginTokenRow; use VuFind\Db\Row\RowGateway; use VuFind\Exception\LoginToken as LoginTokenException; @@ -109,16 +111,19 @@ public function saveToken( */ public function matchToken(array $token): ?LoginTokenRow { - $row = $this->getBySeries($token['series'], $token['user_id']); - if ($row && hash_equals($row['token'], hash('sha256', $token['token']))) { - if (time() > $row['expires']) { - $row->delete(); - return null; + $userId = null; + foreach ($this->getBySeries($token['series']) as $row) { + $userId = $row->user_id; + if (hash_equals($row['token'], hash('sha256', $token['token']))) { + if (time() > $row['expires']) { + $row->delete(); + return null; + } + return $row; } - return $row; - } elseif ($row) { - // Matching series and user id found, but token does not match - throw exception - throw new LoginTokenException('Token does not match'); + } + if ($userId) { + throw new LoginTokenException('Tokens do not match', $userId); } return null; } @@ -126,14 +131,20 @@ public function matchToken(array $token): ?LoginTokenRow /** * Delete all tokens in a given series * - * @param string $series series - * @param int $userId User identifier + * @param string $series series + * @param ?int $currentTokenId Current token ID to keep * * @return void */ - public function deleteBySeries(string $series, int $userId): void + public function deleteBySeries(string $series, ?int $currentTokenId = null): void { - $this->delete(['user_id' => $userId, 'series' => $series]); + $callback = function ($select) use ($series, $currentTokenId) { + $select->where->equalTo('series', $series); + if ($currentTokenId) { + $select->where->notEqualTo('id', $currentTokenId); + } + }; + $this->delete($callback); } /** @@ -151,15 +162,39 @@ public function deleteByUserId(int $userId): void /** * Get tokens for a given user * - * @param int $userId User identifier + * @param int $userId User identifier + * @param bool $grouped Whether to return results grouped by series * * @return array */ - public function getByUserId(int $userId): array + public function getByUserId(int $userId, bool $grouped = true): array { - $callback = function ($select) use ($userId) { + $callback = function ($select) use ($userId, $grouped) { $select->where->equalTo('user_id', $userId); $select->order('last_login DESC'); + if ($grouped) { + $select->columns( + [ + // RowGateway requires an id field: + 'id' => new Expression( + '1', + [], + [Expression::TYPE_IDENTIFIER] + ), + 'series', + 'user_id', + 'last_login' => new Expression( + 'MAX(?)', + ['last_login'], + [Expression::TYPE_IDENTIFIER] + ), + 'browser', + 'platform', + 'expires', + ] + ); + $select->group(['series', 'user_id', 'browser', 'platform', 'expires']); + } }; return iterator_to_array($this->select($callback)); } @@ -168,13 +203,12 @@ public function getByUserId(int $userId): array * Get token by series * * @param string $series Series identifier - * @param int $userId User identifier * - * @return ?LoginTokenRow + * @return ResultSetInterface */ - public function getBySeries(string $series, int $userId): ?LoginTokenRow + public function getBySeries(string $series): ResultSetInterface { - return $this->select(['user_id' => $userId, 'series' => $series])->current(); + return $this->select(compact('series')); } /** diff --git a/module/VuFind/src/VuFind/Db/Table/UserCard.php b/module/VuFind/src/VuFind/Db/Table/UserCard.php index 4c22c2782e4..a23e3324f6e 100644 --- a/module/VuFind/src/VuFind/Db/Table/UserCard.php +++ b/module/VuFind/src/VuFind/Db/Table/UserCard.php @@ -61,4 +61,17 @@ public function __construct( ) { parent::__construct($adapter, $tm, $cfg, $rowObj, $table); } + + /** + * Get user_card rows with insecure catalog passwords + * + * @return mixed + */ + public function getInsecureRows() + { + $callback = function ($select) { + $select->where->isNotNull('cat_password'); + }; + return $this->select($callback); + } } diff --git a/module/VuFind/src/VuFind/DigitalContent/OverdriveConnector.php b/module/VuFind/src/VuFind/DigitalContent/OverdriveConnector.php index 7e497e6db5e..b73d54280b0 100644 --- a/module/VuFind/src/VuFind/DigitalContent/OverdriveConnector.php +++ b/module/VuFind/src/VuFind/DigitalContent/OverdriveConnector.php @@ -477,7 +477,7 @@ public function doOverdriveCheckout($overDriveId) * Places a hold on an item within OverDrive * * @param string $overDriveId The overdrive id for the title - * @param string $email The email overdrive should use for notif + * @param string $email The email overdrive should use for notification * * @return \stdClass Object with result */ @@ -1038,7 +1038,7 @@ public function getHolds($refresh = true) $result->status = true; $result->message = 'hold_place_success_html'; $result->data = $response->holds; - // Check for holds ready for chechout + // Check for holds ready for checkout foreach ($response->holds as $key => $hold) { if ( !$hold->autoCheckout diff --git a/module/VuFind/src/VuFind/Exception/LoginToken.php b/module/VuFind/src/VuFind/Exception/LoginToken.php index 51780c1a3e1..b1ca829b5e8 100644 --- a/module/VuFind/src/VuFind/Exception/LoginToken.php +++ b/module/VuFind/src/VuFind/Exception/LoginToken.php @@ -42,4 +42,28 @@ */ class LoginToken extends \Exception { + /** + * Constructor + * + * @param string $message Exception message + * @param int $userId User ID + * @param \Throwable|null $previous Previous exception + */ + public function __construct( + string $message, + protected int $userId, + ?\Throwable $previous = null + ) { + parent::__construct($message, 0, $previous); + } + + /** + * Get the associated user ID + * + * @return int + */ + public function getUserId(): int + { + return $this->userId; + } } diff --git a/module/VuFind/src/VuFind/Favorites/FavoritesService.php b/module/VuFind/src/VuFind/Favorites/FavoritesService.php index e028c6cbf7d..89ee60fe5fb 100644 --- a/module/VuFind/src/VuFind/Favorites/FavoritesService.php +++ b/module/VuFind/src/VuFind/Favorites/FavoritesService.php @@ -100,7 +100,7 @@ public function getListObject($listId, \VuFind\Db\Row\User $user) { if (empty($listId) || $listId == 'NEW') { $list = $this->userListTable->getNew($user); - $list->title = $this->translate('My Favorites'); + $list->title = $this->translate('default_list_title'); $list->save($user); } else { $list = $this->userListTable->getExisting($listId); diff --git a/module/VuFind/src/VuFind/Form/Form.php b/module/VuFind/src/VuFind/Form/Form.php index 4e3a844ea0e..d6809e26860 100644 --- a/module/VuFind/src/VuFind/Form/Form.php +++ b/module/VuFind/src/VuFind/Form/Form.php @@ -257,7 +257,7 @@ public function getFormElementConfig(): array * * @param array $postParams Posted form data * - * @return array of reciepients, each consisting of an array with + * @return array of recipients, each consisting of an array with * name, email or null if not configured * * @SuppressWarnings(PHPMD.UnusedFormalParameter) @@ -345,7 +345,7 @@ public function getEmailSubject($postParams) } /** - * Return reponse that is shown after successful form submit. + * Return response that is shown after successful form submit. * * @return string */ @@ -566,8 +566,6 @@ public function getInputFilter(): InputFilterInterface protected function getFormConfig($formId = null) { $confName = 'FeedbackForms.yaml'; - $localConfig = $config = null; - $config = $this->yamlReader->get($confName, false, true); $localConfig = $this->yamlReader->get($confName, true, true); @@ -938,8 +936,6 @@ protected function getFormElement($el) $conf['type'] = $class; $conf['options'] = []; - $attributes = $el['settings'] ?? []; - $attributes = [ 'id' => $this->getElementId($el['name']), 'class' => [$el['settings']['class'] ?? null], diff --git a/module/VuFind/src/VuFind/Form/Handler/Email.php b/module/VuFind/src/VuFind/Form/Handler/Email.php index 0bb8aa463b5..a286e6958df 100644 --- a/module/VuFind/src/VuFind/Form/Handler/Email.php +++ b/module/VuFind/src/VuFind/Form/Handler/Email.php @@ -75,7 +75,7 @@ class Email implements HandlerInterface, LoggerAwareInterface protected $mailer; /** - * Contructor + * Constructor * * @param RendererInterface $viewRenderer View renderer * @param Config $config Main config diff --git a/module/VuFind/src/VuFind/GeoFeatures/MapSelectionConfig.php b/module/VuFind/src/VuFind/GeoFeatures/MapSelectionConfig.php index 5664418c62d..f824d633194 100644 --- a/module/VuFind/src/VuFind/GeoFeatures/MapSelectionConfig.php +++ b/module/VuFind/src/VuFind/GeoFeatures/MapSelectionConfig.php @@ -61,7 +61,6 @@ protected function getDefaultOptions() public function getMapSelectionOptions() { $validFields = ['default_coordinates', 'height']; - $options = []; // Check geofeatures.ini $options = $this->getOptions('geofeatures', 'MapSelection', $validFields); diff --git a/module/VuFind/src/VuFind/GeoFeatures/MapTabConfig.php b/module/VuFind/src/VuFind/GeoFeatures/MapTabConfig.php index bbd58a06af2..184652a1a0d 100644 --- a/module/VuFind/src/VuFind/GeoFeatures/MapTabConfig.php +++ b/module/VuFind/src/VuFind/GeoFeatures/MapTabConfig.php @@ -63,7 +63,6 @@ protected function getDefaultOptions() public function getMapTabOptions() { $validFields = ['displayCoords', 'mapLabels', 'graticule', 'recordMap']; - $options = []; // Check geofeatures.ini $options = $this->getOptions('geofeatures', 'MapTab', $validFields); // Check legacy configuration diff --git a/module/VuFind/src/VuFind/I18n/Translator/TranslatorAwareTrait.php b/module/VuFind/src/VuFind/I18n/Translator/TranslatorAwareTrait.php index b378e524f13..9c87f951c52 100644 --- a/module/VuFind/src/VuFind/I18n/Translator/TranslatorAwareTrait.php +++ b/module/VuFind/src/VuFind/I18n/Translator/TranslatorAwareTrait.php @@ -92,6 +92,29 @@ public function getTranslatorLocale($default = 'en') : $default; } + /** + * Build a debug-mode translation + * + * @param string $domain Text domain + * @param string $str String to translate + * @param array $tokens Tokens to inject into the translated string + * + * @return string + */ + protected function getDebugTranslation(string $domain, string $str, array $tokens): string + { + $targetString = $domain !== 'default' ? "$domain::$str" : $str; + $keyValueToString = function ($key, $val) { + return "$key = $val"; + }; + $tokenDetails = empty($tokens) + ? '' + : ' | [' . + implode(', ', array_map($keyValueToString, array_keys($tokens), array_values($tokens))) . + ']'; + return "*$targetString$tokenDetails*"; + } + /** * Translate a string (or string-castable object) * @@ -102,25 +125,23 @@ public function getTranslatorLocale($default = 'en') * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function translate($target, $tokens = [], $default = null, $useIcuFormatter = false) - { + public function translate( + $target, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { // Figure out the text domain for the string: [$domain, $str] = $this->extractTextDomain($target); if ($this->getTranslatorLocale() == 'debug') { - $targetString = $domain !== 'default' ? "$domain::$str" : $str; - $keyValueToString = function ($key, $val) { - return "$key = $val"; - }; - $tokenDetails = empty($tokens) - ? '' - : ' | [' . - implode(', ', array_map($keyValueToString, array_keys($tokens), array_values($tokens))) . - ']'; - return "*$targetString$tokenDetails*"; + return $this->getDebugTranslation($domain, $str, $tokens); } // Special case: deal with objects with a designated display value: @@ -150,7 +171,19 @@ public function translate($target, $tokens = [], $default = null, $useIcuFormatt } // Default case: deal with ordinary strings (or string-castable objects): - return $this->translateString((string)$str, $tokens, $default, $domain, $useIcuFormatter); + $translation = $this->translateString((string)$str, $tokens, $default, $domain, $useIcuFormatter); + // If we have fallback domains, apply them now: + while ($translation === (string)($default ?? $str) && !empty($fallbackDomains)) { + $domain = array_shift($fallbackDomains); + $translation = $this->translateString( + (string)$str, + $tokens, + $default, + $domain, + $useIcuFormatter + ); + } + return $translation; } /** @@ -165,6 +198,8 @@ public function translate($target, $tokens = [], $default = null, $useIcuFormatt * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ @@ -173,7 +208,8 @@ public function translateWithPrefix( $target, $tokens = [], $default = null, - $useIcuFormatter = false + $useIcuFormatter = false, + $fallbackDomains = [] ) { if (is_string($target)) { if (null === $default) { @@ -181,7 +217,7 @@ public function translateWithPrefix( } $target = $prefix . $target; } - return $this->translate($target, $tokens, $default, $useIcuFormatter); + return $this->translate($target, $tokens, $default, $useIcuFormatter, $fallbackDomains); } /** diff --git a/module/VuFind/src/VuFind/ILS/Driver/Aleph.php b/module/VuFind/src/VuFind/ILS/Driver/Aleph.php index 32031146922..63cc2365b4b 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/Aleph.php +++ b/module/VuFind/src/VuFind/ILS/Driver/Aleph.php @@ -170,7 +170,7 @@ class Aleph extends AbstractBase implements protected $dlfport; /** - * Statuse considered as available + * Statuses considered as available * * @var array */ diff --git a/module/VuFind/src/VuFind/ILS/Driver/Folio.php b/module/VuFind/src/VuFind/ILS/Driver/Folio.php index c27cbf3ca37..ccdb5be50fb 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/Folio.php +++ b/module/VuFind/src/VuFind/ILS/Driver/Folio.php @@ -1462,10 +1462,10 @@ public function getMyHolds($patron) 'expire' => $expireDate ?? '', 'id' => $this->getBibId( $hold->instanceId, - $hold->holdingsRecordId, - $hold->itemId + $hold->holdingsRecordId ?? null, + $hold->itemId ?? null ), - 'item_id' => $hold->itemId, + 'item_id' => $hold->itemId ?? null, 'reqnum' => $hold->id, // Title moved from item to instance in Lotus release: 'title' => $hold->instance->title ?? $hold->item->title ?? '', diff --git a/module/VuFind/src/VuFind/ILS/Driver/KohaILSDI.php b/module/VuFind/src/VuFind/ILS/Driver/KohaILSDI.php index 3d64b3d102b..0077b880eff 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/KohaILSDI.php +++ b/module/VuFind/src/VuFind/ILS/Driver/KohaILSDI.php @@ -164,7 +164,7 @@ class KohaILSDI extends AbstractBase implements HttpServiceAwareInterface, Logge protected $showPermanentLocation; /** - * Should we show homebranchinstead of holdingbranch + * Should we show homebranch instead of holdingbranch * * @var bool */ @@ -284,7 +284,7 @@ protected function initDb() $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Return result set like mysql_fetch_assoc() $this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); - // set communication enoding to utf8 + // set communication encoding to utf8 $this->db->exec('SET NAMES utf8'); // Drop the ONLY_FULL_GROUP_BY entry from sql_mode as it breaks this diff --git a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php index 94127047e36..145c1792e2c 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php +++ b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php @@ -166,7 +166,7 @@ public function getStatus($id) $status = $driver->getStatus($this->getLocalId($id)); return $this->addIdPrefixes($status, $source); } - // Return an empy array if driver is not available; id can point to an ILS + // Return an empty array if driver is not available; id can point to an ILS // that's not currently configured. return []; } @@ -269,7 +269,7 @@ public function getHolding($id, array $patron = null, array $options = []) ); return $this->addIdPrefixes($holdings, $source); } - // Return an empy array if driver is not available; id can point to an ILS + // Return an empty array if driver is not available; id can point to an ILS // that's not currently configured. return []; } @@ -291,7 +291,7 @@ public function getPurchaseHistory($id) if ($driver = $this->getDriver($source)) { return $driver->getPurchaseHistory($this->getLocalId($id)); } - // Return an empy array if driver is not available; id can point to an ILS + // Return an empty array if driver is not available; id can point to an ILS // that's not currently configured. return []; } @@ -439,7 +439,7 @@ public function getMyProfile($patron) $source ); } - // Return an empy array if driver is not available; cat_username can point + // Return an empty array if driver is not available; cat_username can point // to an ILS that's not currently configured. return []; } diff --git a/module/VuFind/src/VuFind/ILS/Driver/NoILS.php b/module/VuFind/src/VuFind/ILS/Driver/NoILS.php index ecb256a8b31..9e447c85dbc 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/NoILS.php +++ b/module/VuFind/src/VuFind/ILS/Driver/NoILS.php @@ -140,22 +140,17 @@ public function getStatus($id) { $useStatus = $this->config['settings']['useStatus'] ?? 'none'; if ($useStatus == 'custom') { - $status = $this->translate($this->config['Status']['status']); + $status = $this->translate($this->config['Status']['status'] ?? ''); return [ [ 'id' => $id, - 'availability' => $this->config['Status']['availability'], + 'availability' => $this->config['Status']['availability'] ?? false, 'status' => $status, - 'use_unknown_message' => - $this->config['Status']['use_unknown_message'], + 'use_unknown_message' => (bool)($this->config['Status']['use_unknown_message'] ?? false), 'status_array' => [$status], - 'location' => $this->translate( - $this->config['Status']['location'] - ), - 'reserve' => $this->config['Status']['reserve'], - 'callnumber' => $this->translate( - $this->config['Status']['callnumber'] - ), + 'location' => $this->translate($this->config['Status']['location'] ?? ''), + 'reserve' => $this->config['Status']['reserve'] ?? 'N', + 'callnumber' => $this->translate($this->config['Status']['callnumber'] ?? ''), ], ]; } elseif ($useStatus == 'marc') { @@ -210,28 +205,18 @@ public function getStatuses($idList) public function getHolding($id, array $patron = null, array $options = []) { $useHoldings = $this->config['settings']['useHoldings'] ?? 'none'; - if ($useHoldings == 'custom') { return [ [ 'id' => $id, - 'number' => $this->translate( - $this->config['Holdings']['number'] - ), - 'availability' => $this->config['Holdings']['availability'], - 'status' => $this->translate( - $this->config['Holdings']['status'] - ), - 'use_unknown_message' => - $this->config['Holdings']['use_unknown_message'], - 'location' => $this->translate( - $this->config['Holdings']['location'] - ), - 'reserve' => $this->config['Holdings']['reserve'], - 'callnumber' => $this->translate( - $this->config['Holdings']['callnumber'] - ), - 'barcode' => $this->config['Holdings']['barcode'], + 'number' => $this->translate($this->config['Holdings']['number'] ?? ''), + 'availability' => $this->config['Holdings']['availability'] ?? false, + 'status' => $this->translate($this->config['Holdings']['status'] ?? ''), + 'use_unknown_message' => (bool)($this->config['Holdings']['use_unknown_message'] ?? false), + 'location' => $this->translate($this->config['Holdings']['location'] ?? ''), + 'reserve' => $this->config['Holdings']['reserve'] ?? 'N', + 'callnumber' => $this->translate($this->config['Holdings']['callnumber'] ?? ''), + 'barcode' => $this->config['Holdings']['barcode'] ?? '', 'notes' => $this->config['Holdings']['notes'] ?? [], 'summary' => $this->config['Holdings']['summary'] ?? [], ], diff --git a/module/VuFind/src/VuFind/ILS/Driver/PAIA.php b/module/VuFind/src/VuFind/ILS/Driver/PAIA.php index 890168388ba..99ec486bfb8 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/PAIA.php +++ b/module/VuFind/src/VuFind/ILS/Driver/PAIA.php @@ -1075,7 +1075,7 @@ protected function paiaHandleErrors($array) * PAIA helper function to map session data to return value of patronLogin() * * @param array $details Patron details returned by patronLogin - * @param string $password Patron cataloge password + * @param string $password Patron catalogue password * * @return mixed */ diff --git a/module/VuFind/src/VuFind/ILS/Driver/Polaris.php b/module/VuFind/src/VuFind/ILS/Driver/Polaris.php index e91ade32efc..d4a29b7d681 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/Polaris.php +++ b/module/VuFind/src/VuFind/ILS/Driver/Polaris.php @@ -697,7 +697,7 @@ public function getMyTransactions($patron) { // duedate, id, barcode, renew (count), request (pending count), // volume (vol number), publication_year, renewable, message, title, item_id - // polaris apis: PatronItemsOutGet, Patron_RewewBlocksGet + // polaris apis: PatronItemsOutGet $transactions = []; $response = $this->makeRequest( "patron/{$patron['cat_username']}/itemsout/all", diff --git a/module/VuFind/src/VuFind/ILS/Driver/SierraRest.php b/module/VuFind/src/VuFind/ILS/Driver/SierraRest.php index 5d98bf53548..dc6fb712058 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/SierraRest.php +++ b/module/VuFind/src/VuFind/ILS/Driver/SierraRest.php @@ -1589,6 +1589,7 @@ public function getMyFines($patron) $result = $this->makeRequest( [$this->apiBase, 'patrons', $patron['id'], 'fines'], [ + 'limit' => 10000, 'fields' => 'item,assessedDate,description,chargeType,itemCharge' . ',processingFee,billingFee,paidAmount', ], diff --git a/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php b/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php index 433c8a1764a..a818ce8d136 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php +++ b/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php @@ -208,7 +208,7 @@ class VoyagerRestful extends Voyager implements protected $checkLoans; /** - * Item locations exluded from item availability check. + * Item locations excluded from item availability check. * * @var string */ diff --git a/module/VuFind/src/VuFind/ILS/Driver/XCNCIP2.php b/module/VuFind/src/VuFind/ILS/Driver/XCNCIP2.php index 4e29c6cf9ed..2e78cd8d9f0 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/XCNCIP2.php +++ b/module/VuFind/src/VuFind/ILS/Driver/XCNCIP2.php @@ -1600,7 +1600,7 @@ public function getSuppressedRecords() } /** - * Public Function which retrieves Holds, StorageRetrivalRequests, and + * Public Function which retrieves Holds, StorageRetrievalRequests, and * Consortial settings from the driver ini file. * * @param string $function The name of the feature to be checked @@ -2473,7 +2473,7 @@ protected function getRequestTypeXml($type, $scope = 'Bibliographic Item') * * @param string $id Bibliographic item id * - * @return string Get BibiographicId XML element string + * @return string Get BibliographicId XML element string */ protected function getBibliographicId($id) { @@ -2775,7 +2775,7 @@ protected function parseProblem(string $xmlString): string * * @param \SimpleXMLElement $xml XML response * @param array|string[] $elements Which of Problem subelements - * return in desription - defaulting to full list: ProblemType, ProblemDetail, + * return in description - defaulting to full list: ProblemType, ProblemDetail, * ProblemElement and ProblemValue * @param bool $withElementNames Whether to add element names as * value labels (for example for debug purposes) @@ -2891,7 +2891,7 @@ protected function translateMessage(string $message): string /** * Invalidate L1 cache for responses * - * @param string $message NCIP message type - curently only 'LookupUser' + * @param string $message NCIP message type - currently only 'LookupUser' * @param string $key Cache key (For LookupUser its cat_username) * * @return void diff --git a/module/VuFind/src/VuFind/Log/LoggerFactory.php b/module/VuFind/src/VuFind/Log/LoggerFactory.php index 3549bb67a11..c31a362daf8 100644 --- a/module/VuFind/src/VuFind/Log/LoggerFactory.php +++ b/module/VuFind/src/VuFind/Log/LoggerFactory.php @@ -309,7 +309,7 @@ protected function configureLogger(ContainerInterface $container, Logger $logger if ($referenceId = $config->Logging->reference_id ?? false) { if ('username' === $referenceId) { $authManager = $container->get(\VuFind\Auth\Manager::class); - if ($user = $authManager->isLoggedIn()) { + if ($user = $authManager->getUserObject()) { $processor = new \Laminas\Log\Processor\ReferenceId(); $processor->setReferenceId($user->username); $logger->addProcessor($processor); diff --git a/module/VuFind/src/VuFind/MetadataVocabulary/AbstractBase.php b/module/VuFind/src/VuFind/MetadataVocabulary/AbstractBase.php index ddcb54716c0..51958affd38 100644 --- a/module/VuFind/src/VuFind/MetadataVocabulary/AbstractBase.php +++ b/module/VuFind/src/VuFind/MetadataVocabulary/AbstractBase.php @@ -45,7 +45,7 @@ abstract class AbstractBase implements MetadataVocabularyInterface { /** - * This varriable can be overwritten by child classes + * This variable can be overwritten by child classes * to define which custom field is filled by which generic fields. * * @var array diff --git a/module/VuFind/src/VuFind/OAI/Server.php b/module/VuFind/src/VuFind/OAI/Server.php index 72131d32932..d3b3eff5877 100644 --- a/module/VuFind/src/VuFind/OAI/Server.php +++ b/module/VuFind/src/VuFind/OAI/Server.php @@ -1156,17 +1156,17 @@ protected function listRecordsGetParams() protected function isBadDate($from, $until) { $dt = \DateTime::createFromFormat('Y-m-d', substr($until, 0, 10)); - if ($dt === false || array_sum($dt->getLastErrors())) { + if ($dt === false || $dt->getLastErrors()) { return true; } $dt = \DateTime::createFromFormat('Y-m-d', substr($from, 0, 10)); - if ($dt === false || array_sum($dt->getLastErrors())) { + if ($dt === false || $dt->getLastErrors()) { return true; } - //check for different date granularity + // Check for different date granularity if (strpos($from, 'T') && strpos($from, 'Z')) { if (strpos($until, 'T') && strpos($until, 'Z')) { - //this is good + // This is good } else { return true; } diff --git a/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php b/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php index 22e3f4b2c1e..d25361789e7 100644 --- a/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php +++ b/module/VuFind/src/VuFind/Recommend/OpenLibrarySubjects.php @@ -179,7 +179,6 @@ public function process($results) { // Only proceed if we have a request parameter value if (!empty($this->subject)) { - $result = []; $ol = new OpenLibrary($this->httpService->createClient()); $result = $ol->getSubjects( $this->subject, diff --git a/module/VuFind/src/VuFind/Recommend/RandomRecommend.php b/module/VuFind/src/VuFind/Recommend/RandomRecommend.php index 6fb714dede5..3cdc31ade8d 100644 --- a/module/VuFind/src/VuFind/Recommend/RandomRecommend.php +++ b/module/VuFind/src/VuFind/Recommend/RandomRecommend.php @@ -121,7 +121,7 @@ class RandomRecommend implements RecommendInterface /** * Constructor * - * @param \VuFindSearch\Service $searchService VuFind Search Serive + * @param \VuFindSearch\Service $searchService VuFind Search Service * @param \VuFind\Search\Params\PluginManager $paramManager Params manager */ public function __construct( diff --git a/module/VuFind/src/VuFind/Recommend/SwitchQuery.php b/module/VuFind/src/VuFind/Recommend/SwitchQuery.php index d11dfa376f0..70a3d5df0ff 100644 --- a/module/VuFind/src/VuFind/Recommend/SwitchQuery.php +++ b/module/VuFind/src/VuFind/Recommend/SwitchQuery.php @@ -232,7 +232,7 @@ protected function checkFuzzy($query) protected function checkLowercaseBools($query) { // This test only applies if booleans are case-sensitive and there is a - // capitalizaton method available: + // capitalization method available: $lh = $this->getLuceneHelper(); if (!$lh || !$lh->hasCaseSensitiveBooleans()) { return false; diff --git a/module/VuFind/src/VuFind/Record/Loader.php b/module/VuFind/src/VuFind/Record/Loader.php index f95fe15ba10..996d0f11bda 100644 --- a/module/VuFind/src/VuFind/Record/Loader.php +++ b/module/VuFind/src/VuFind/Record/Loader.php @@ -194,7 +194,7 @@ public function load( * @param string $source Record source * @param bool $tolerateBackendExceptions Whether to tolerate backend * exceptions that may be caused by e.g. connection issues or changes in - * subcscriptions + * subscriptions * @param ParamBag $params Search backend parameters * * @throws \Exception @@ -316,7 +316,7 @@ protected function buildMissingRecord($details) * a mock driver object if the real data source is unavailable. * @param bool $tolerateBackendExceptions Whether to tolerate backend * exceptions that may be caused by e.g. connection issues or changes in - * subcscriptions + * subscriptions * @param ParamBag[] $params Associative array of search * backend parameters keyed with source key * diff --git a/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php b/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php index aca38d9bad5..86dbda3556a 100644 --- a/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php +++ b/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php @@ -540,7 +540,7 @@ public function getRawAuthorHighlights() public function getPrimaryAuthorsWithHighlighting() { $highlights = []; - // Create a map of de-highlighted valeus => highlighted values. + // Create a map of de-highlighted values => highlighted values. foreach ($this->getRawAuthorHighlights() as $current) { $dehighlighted = str_replace( ['{{{{START_HILITE}}}}', '{{{{END_HILITE}}}}'], diff --git a/module/VuFind/src/VuFind/RecordDriver/EDS.php b/module/VuFind/src/VuFind/RecordDriver/EDS.php index d85eaf005de..24be3057f4b 100644 --- a/module/VuFind/src/VuFind/RecordDriver/EDS.php +++ b/module/VuFind/src/VuFind/RecordDriver/EDS.php @@ -955,12 +955,9 @@ protected function getRawEDSPublicationDetails() foreach ($this->getItems(null, 'Publication Information') as $pub) { // Try to extract place, publisher and date: if (preg_match('/^(.+):(.*)\.\s*(\d{4})$/', $pub['Data'], $matches)) { - $placeParts = explode('.', $matches[1]); - [$place, $pub, $date] - = [trim($matches[1]), trim($matches[2]), $matches[3]]; + [$place, $pub, $date] = [trim($matches[1]), trim($matches[2]), $matches[3]]; } elseif (preg_match('/^(.+):(.*)$/', $pub['Data'], $matches)) { - [$place, $pub, $date] - = [trim($matches[1]), trim($matches[2]), '']; + [$place, $pub, $date] = [trim($matches[1]), trim($matches[2]), '']; } else { [$place, $pub, $date] = ['', $pub['Data'], '']; } diff --git a/module/VuFind/src/VuFind/RecordDriver/Feature/MarcAdvancedTrait.php b/module/VuFind/src/VuFind/RecordDriver/Feature/MarcAdvancedTrait.php index d120f012141..62c69614ce9 100644 --- a/module/VuFind/src/VuFind/RecordDriver/Feature/MarcAdvancedTrait.php +++ b/module/VuFind/src/VuFind/RecordDriver/Feature/MarcAdvancedTrait.php @@ -148,12 +148,8 @@ public function getAllSubjectHeadings($extended = false) if (!empty($current)) { if ($extended) { $sourceIndicator = $result['i2']; - $source = ''; - if (isset($this->subjectSources[$sourceIndicator])) { - $source = $this->subjectSources[$sourceIndicator] ?? ''; - } else { - $source = $this->getSubfield($result, '2'); - } + $source = $this->subjectSources[$sourceIndicator] + ?? $this->getSubfield($result, '2'); $retval[] = [ 'heading' => $current, 'type' => $fieldType, @@ -425,8 +421,6 @@ public function getRelationshipNotes() */ public function getSeries() { - $matches = []; - // First check the 440, 800 and 830 fields for series information: $primaryFields = [ '440' => ['a', 'p'], @@ -1002,7 +996,7 @@ public function getConsortialIDs() } /** - * Return first ISMN found for this record, or false if no one fonund + * Return first ISMN found for this record, or false if no one found * * @return mixed */ diff --git a/module/VuFind/src/VuFind/RecordDriver/SolrOverdrive.php b/module/VuFind/src/VuFind/RecordDriver/SolrOverdrive.php index 8c77640afad..f763441e6fd 100644 --- a/module/VuFind/src/VuFind/RecordDriver/SolrOverdrive.php +++ b/module/VuFind/src/VuFind/RecordDriver/SolrOverdrive.php @@ -519,7 +519,6 @@ public function getAllSubjectHeadings($extended = false) */ public function getFormattedRawData() { - $result = []; $jsonData = $this->fields['fullrecord']; $data = json_decode($jsonData, true); $c_arr = []; diff --git a/module/VuFind/src/VuFind/Related/Bookplate.php b/module/VuFind/src/VuFind/Related/Bookplate.php index a263d49409a..3ce0f5c45da 100644 --- a/module/VuFind/src/VuFind/Related/Bookplate.php +++ b/module/VuFind/src/VuFind/Related/Bookplate.php @@ -71,7 +71,7 @@ class Bookplate implements RelatedInterface protected $fullUrlTemplate; /** - * URL temlate for thumbnail + * URL template for thumbnail */ protected $thumbUrlTemplate; diff --git a/module/VuFind/src/VuFind/Search/Base/Params.php b/module/VuFind/src/VuFind/Search/Base/Params.php index 7d1550cdde0..7c85a7c1e03 100644 --- a/module/VuFind/src/VuFind/Search/Base/Params.php +++ b/module/VuFind/src/VuFind/Search/Base/Params.php @@ -1377,11 +1377,14 @@ protected function initRangeFilters($request) * Support method for initDateFilters() -- normalize a year for use in a * year-based date range. * - * @param ?string $year Value to check for valid year. + * @param ?string $year Value to check for valid year. + * @param bool $rangeEnd Is this the end of a range? * * @return string Formatted year. + * + * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ - protected function formatYearForDateRange($year) + protected function formatYearForDateRange($year, $rangeEnd = false) { // Make sure parameter is set and numeric; default to wildcard otherwise: $year = ($year && preg_match('/\d{2,4}/', $year)) ? $year : '*'; @@ -1400,14 +1403,15 @@ protected function formatYearForDateRange($year) * Support method for initFullDateFilters() -- normalize a date for use in a * year/month/day date range. * - * @param ?string $date Value to check for valid date. + * @param ?string $date Value to check for valid date. + * @param bool $rangeEnd Is this the end of a range? * * @return string Formatted date. */ - protected function formatDateForFullDateRange($date) + protected function formatDateForFullDateRange($date, $rangeEnd = false) { // Make sure date is valid; default to wildcard otherwise: - $date = $date ? SolrUtils::sanitizeDate($date) : null; + $date = $date ? SolrUtils::sanitizeDate($date, $rangeEnd) : null; return $date ?? '*'; } @@ -1415,11 +1419,14 @@ protected function formatDateForFullDateRange($date) * Support method for initNumericRangeFilters() -- normalize a year for use in * a date range. * - * @param ?string $num Value to format into a number. + * @param ?string $num Value to format into a number. + * @param bool $rangeEnd Is this the end of a range? * * @return string Formatted number. + * + * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ - protected function formatValueForNumericRange($num) + protected function formatValueForNumericRange($num, $rangeEnd = false) { // empty strings are always wildcards: if ($num == '') { @@ -1491,8 +1498,8 @@ protected function initGenericRangeFilters( // Apply filtering/validation if necessary: if (is_callable($valueFilter)) { - $from = call_user_func($valueFilter, $from); - $to = call_user_func($valueFilter, $to); + $from = call_user_func($valueFilter, $from, false); + $to = call_user_func($valueFilter, $to, true); } // Build filter only if necessary: diff --git a/module/VuFind/src/VuFind/Search/EDS/QueryAdapter.php b/module/VuFind/src/VuFind/Search/EDS/QueryAdapter.php index 1d35213ca36..9f1afdf2aeb 100644 --- a/module/VuFind/src/VuFind/Search/EDS/QueryAdapter.php +++ b/module/VuFind/src/VuFind/Search/EDS/QueryAdapter.php @@ -61,8 +61,7 @@ protected function displayAdvanced( callable $translate, callable $showName ) { - $output = ''; - //There should only ever be 1 group with EDS queries. + // There should only ever be 1 group with EDS queries. $all = []; foreach ($query->getQueries() as $search) { if ($search instanceof QueryGroup) { @@ -86,8 +85,6 @@ protected function displayAdvanced( throw new \Exception('Unexpected ' . $search::class); } } - $output = '(' . implode(' ', $all) . ')'; - - return $output; + return '(' . implode(' ', $all) . ')'; } } diff --git a/module/VuFind/src/VuFind/Search/EPF/Options.php b/module/VuFind/src/VuFind/Search/EPF/Options.php index 0db3c6bd145..5a1cf29e7c5 100644 --- a/module/VuFind/src/VuFind/Search/EPF/Options.php +++ b/module/VuFind/src/VuFind/Search/EPF/Options.php @@ -75,7 +75,6 @@ public function __construct( parent::__construct($configLoader); $this->setOptionsFromConfig(); - $facetConf = $configLoader->get($this->facetsIni); } /** diff --git a/module/VuFind/src/VuFind/Search/Solr/DefaultParametersListener.php b/module/VuFind/src/VuFind/Search/Solr/DefaultParametersListener.php index 49dfe2217ed..a0f1f9709a6 100644 --- a/module/VuFind/src/VuFind/Search/Solr/DefaultParametersListener.php +++ b/module/VuFind/src/VuFind/Search/Solr/DefaultParametersListener.php @@ -54,7 +54,7 @@ class DefaultParametersListener protected $backend; /** - * Default parameteres + * Default parameters * * @var array */ diff --git a/module/VuFind/src/VuFind/Search/Solr/HierarchicalFacetHelper.php b/module/VuFind/src/VuFind/Search/Solr/HierarchicalFacetHelper.php index 6d07743638a..3842a66d057 100644 --- a/module/VuFind/src/VuFind/Search/Solr/HierarchicalFacetHelper.php +++ b/module/VuFind/src/VuFind/Search/Solr/HierarchicalFacetHelper.php @@ -456,7 +456,6 @@ public function filterFacets($name, $facets, $options): array if ($excludeFilters) { foreach ($facets as $key => &$facet) { $value = $facet['value']; - $match = false; foreach ($excludeFilters as $filterItem) { if (strncmp($value, $filterItem, strlen($filterItem)) == 0) { unset($facets[$key]); diff --git a/module/VuFind/src/VuFind/Search/Solr/Params.php b/module/VuFind/src/VuFind/Search/Solr/Params.php index 908f43df502..a173573d99a 100644 --- a/module/VuFind/src/VuFind/Search/Solr/Params.php +++ b/module/VuFind/src/VuFind/Search/Solr/Params.php @@ -570,7 +570,6 @@ public function getBackendParameters() foreach ($shards as $current) { $selectedShards[$current] = $allShards[$current]; } - $shards = $selectedShards; $backendParams->add('shards', implode(',', $selectedShards)); } @@ -654,7 +653,7 @@ protected function formatFilterListEntry($field, $value, $operator, $translate) $caseInsensitiveRegex = '/^\(\[(.*) TO (.*)\] OR \[(.*) TO (.*)\]\)$/'; if (preg_match('/^\[(.*) TO (.*)\]$/', $value, $matches)) { // Simple case: [X TO Y] - $filter['displayText'] = $matches[1] . '-' . $matches[2]; + $filter['displayText'] = $matches[1] . ' - ' . $matches[2]; } elseif (preg_match($caseInsensitiveRegex, $value, $matches)) { // Case insensitive case: [x TO y] OR [X TO Y]; convert // only if values in both ranges match up! @@ -662,7 +661,7 @@ protected function formatFilterListEntry($field, $value, $operator, $translate) strtolower($matches[3]) == strtolower($matches[1]) && strtolower($matches[4]) == strtolower($matches[2]) ) { - $filter['displayText'] = $matches[1] . '-' . $matches[2]; + $filter['displayText'] = $matches[1] . ' - ' . $matches[2]; } } elseif ($this->facetHelper && in_array($field, $hierarchicalFacets)) { // Display hierarchical facet levels nicely diff --git a/module/VuFind/src/VuFind/Solr/Utils.php b/module/VuFind/src/VuFind/Solr/Utils.php index 214a8faf68a..b98bc420b86 100644 --- a/module/VuFind/src/VuFind/Solr/Utils.php +++ b/module/VuFind/src/VuFind/Solr/Utils.php @@ -29,6 +29,7 @@ namespace VuFind\Solr; +use function extension_loaded; use function strlen; /** @@ -68,11 +69,12 @@ public static function parseRange($query) * Convert a raw string date (as, for example, from a MARC record) into a legal * Solr date string. Return null if conversion is impossible. * - * @param string $date Date to convert. + * @param string $date Date to convert. + * @param bool $rangeEnd Is this the end of a range? * * @return string|null */ - public static function sanitizeDate($date) + public static function sanitizeDate($date, $rangeEnd = false) { // Strip brackets; we'll assume guesses are correct. $date = str_replace(['[', ']'], '', $date); @@ -96,16 +98,25 @@ public static function sanitizeDate($date) // strtotime can only handle a limited range of dates; let's extract // a year from the string and temporarily replace it with a known // good year; we'll swap it back after the conversion. + $goodYear = '1999'; + $year = preg_match('/[0-9]{4}/', $date, $matches) ? $matches[0] : false; - if ($year) { - $date = str_replace($year, '1999', $date); + if (false !== $year) { + // Check for a leap year: + if (extension_loaded('intl')) { + $calendar = new \IntlGregorianCalendar(); + if ($calendar->isLeapYear($year)) { + $goodYear = '1996'; + } + } + $date = str_replace($year, $goodYear, $date); } $time = @strtotime($date); if ($time) { $date = @date('Y-m-d', $time); if ($year) { - $date = str_replace('1999', $year, $date); + $date = str_replace($goodYear, $year, $date); } } elseif ($year) { // If the best we can do is extract a 4-digit year, that's better @@ -127,17 +138,17 @@ public static function sanitizeDate($date) // If multiple dates are &'ed together, take just the first: [$date] = explode('&', $date); - // Default to January 1 if no month/day present: + // Default to start or end of range if no full date present: if (strlen($date) < 5) { - $month = $day = '01'; + $month = $day = null; } else { // If we have year + month, parse that out: if (strlen($date) < 8) { - $day = '01'; + $day = null; if (preg_match('/^[0-9]{4}-([0-9]{1,2})/', $date, $matches)) { $month = str_pad($matches[1], 2, '0', STR_PAD_LEFT); } else { - $month = '01'; + $month = null; } } else { // If we have year + month + day, parse that out: @@ -146,10 +157,31 @@ public static function sanitizeDate($date) $month = str_pad($matches[1], 2, '0', STR_PAD_LEFT); $day = str_pad($matches[2], 2, '0', STR_PAD_LEFT); } else { - $month = $day = '01'; + $month = $day = null; } } } + // Determine correct values for month and/or day if we don't have valid ones: + if (null === $month && null === $day) { + if ($rangeEnd) { + $month = '12'; + $day = '31'; + } else { + $month = '01'; + $day = '01'; + } + } elseif (null === $day) { + if ($rangeEnd) { + foreach (['31', '30', '29', '28'] as $dayCandidate) { + if (checkdate($month, $dayCandidate, $year)) { + $day = $dayCandidate; + break; + } + } + } else { + $day = '01'; + } + } // Make sure month/day/year combination is legal. Make it legal if it isn't. if (!checkdate($month, $day, $year)) { @@ -159,6 +191,6 @@ public static function sanitizeDate($date) } } - return "{$year}-{$month}-{$day}T00:00:00Z"; + return "{$year}-{$month}-{$day}T" . ($rangeEnd ? '23:59:59Z' : '00:00:00Z'); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php b/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php index ede53258351..bd42599f58d 100644 --- a/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php +++ b/module/VuFind/src/VuFind/View/Helper/Bootstrap3/LayoutClass.php @@ -71,8 +71,8 @@ public function __invoke($class, $hasSidebar = true) return ''; } return $this->sidebarOnLeft - ? 'offcanvas offcanvas-left' - : 'offcanvas offcanvas-right'; + ? 'vufind-offcanvas vufind-offcanvas-left' + : 'vufind-offcanvas vufind-offcanvas-right'; } throw new \Exception('Unexpected class: ' . $class); } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/AccountMenu.php b/module/VuFind/src/VuFind/View/Helper/Root/AccountMenu.php index de73d9d8646..81a89703e72 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/AccountMenu.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/AccountMenu.php @@ -77,7 +77,7 @@ protected function getDefaultItems(): array return [ [ 'name' => 'favorites', - 'label' => 'Favorites', + 'label' => 'saved_items', 'route' => 'myresearch-favorites', 'icon' => 'user-favorites', 'checkMethod' => 'checkFavorites', @@ -378,10 +378,10 @@ public function render(string $activeItem): string /** * Get authenticated user * - * @return User|bool Object if user is logged in, false otherwise. + * @return ?User Object if user is logged in, null otherwise. */ - protected function getUser(): User|bool + protected function getUser(): ?User { - return $this->getAuthHelper()->isLoggedIn(); + return $this->getAuthHelper()->getUserObject(); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Auth.php b/module/VuFind/src/VuFind/View/Helper/Root/Auth.php index ea0461ae7de..05ada93939a 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Auth.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Auth.php @@ -29,6 +29,8 @@ namespace VuFind\View\Helper\Root; +use LmcRbacMvc\Identity\IdentityInterface; +use VuFind\Db\Interface\UserAccountInterface; use VuFind\Exception\ILS as ILSException; /** @@ -104,12 +106,34 @@ public function getManager() * * @return \VuFind\Db\Row\User|bool Object if user is logged in, false * otherwise. + * + * @deprecated Use getIdentity() or getUserObject() instead. */ public function isLoggedIn() { return $this->getManager()->isLoggedIn(); } + /** + * Checks whether the user is logged in. + * + * @return ?UserAccountInterface Object if user is logged in, null otherwise. + */ + public function getUserObject(): ?UserAccountInterface + { + return $this->getManager()->getUserObject(); + } + + /** + * Get the logged-in user's identity (null if not logged in) + * + * @return ?IdentityInterface + */ + public function getIdentity(): ?IdentityInterface + { + return $this->getManager()->getIdentity(); + } + /** * Render the create account form fields. * diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Captcha.php b/module/VuFind/src/VuFind/View/Helper/Root/Captcha.php index 618446131db..774504043b1 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Captcha.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Captcha.php @@ -122,7 +122,7 @@ public function html(bool $useCaptcha = true, bool $wrapHtml = true): string } /** - * Get list of URLs with JS dependancies to load for the active CAPTCHA type. + * Get list of URLs with JS dependencies to load for the active CAPTCHA type. * * @return array */ diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Highlight.php b/module/VuFind/src/VuFind/View/Helper/Root/Highlight.php index 1783ee0054c..3e1bb6df353 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Highlight.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Highlight.php @@ -45,14 +45,14 @@ class Highlight extends AbstractHelper { /** - * Start tag for highlighitng + * Start tag for highlighting * * @var string */ protected $startTag = ''; /** - * End tag for highlighitng + * End tag for highlighting * * @var string */ diff --git a/module/VuFind/src/VuFind/View/Helper/Root/LocalizedNumber.php b/module/VuFind/src/VuFind/View/Helper/Root/LocalizedNumber.php index 25966e43414..8613532ceb9 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/LocalizedNumber.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/LocalizedNumber.php @@ -33,7 +33,7 @@ /** * Class NumberFormat - * allows localization based formating of numbers in view + * allows localization based formatting of numbers in view * * @category VuFind * @package View_Helpers diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Printms.php b/module/VuFind/src/VuFind/View/Helper/Root/Printms.php index 18420ee558f..f5d333592d6 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Printms.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Printms.php @@ -56,7 +56,6 @@ public function __invoke($ms) return $ms; } $seconds = floor($ms / 1000); - $ms = ($ms % 1000); $minutes = floor($seconds / 60); $seconds = ($seconds % 60); diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Record.php b/module/VuFind/src/VuFind/View/Helper/Root/Record.php index a91437c72dd..ca257e87a9c 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Record.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Record.php @@ -224,13 +224,13 @@ public function getLabelList() /** * Render an entry in a favorite list. * - * @param \VuFind\Db\Row\UserList $list Currently selected list (null for + * @param ?\VuFind\Db\Row\UserList $list Currently selected list (null for * combined favorites) - * @param \VuFind\Db\Row\User $user Current logged in user (false if none) + * @param ?\VuFind\Db\Row\User $user Current logged in user (null if none) * * @return string */ - public function getListEntry($list = null, $user = false) + public function getListEntry($list = null, $user = null) { // Get list of lists containing this entry $lists = null; diff --git a/module/VuFind/src/VuFind/View/Helper/Root/TransEsc.php b/module/VuFind/src/VuFind/View/Helper/Root/TransEsc.php index 149de152da3..68b92c8b414 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/TransEsc.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/TransEsc.php @@ -52,13 +52,20 @@ class TransEsc extends AbstractHelper * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function __invoke($str, $tokens = [], $default = null, $useIcuFormatter = false) - { + public function __invoke( + $str, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { $escaper = $this->getView()->plugin('escapeHtml'); $translator = $this->getView()->plugin('translate'); - return $escaper($translator($str, $tokens, $default, $useIcuFormatter)); + return $escaper($translator($str, $tokens, $default, $useIcuFormatter, $fallbackDomains)); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/TransEscAttr.php b/module/VuFind/src/VuFind/View/Helper/Root/TransEscAttr.php index e2e847ba494..e03d3081250 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/TransEscAttr.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/TransEscAttr.php @@ -55,13 +55,20 @@ class TransEscAttr extends AbstractHelper * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function __invoke($str, $tokens = [], $default = null, $useIcuFormatter = false) - { + public function __invoke( + $str, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { $escaper = $this->getView()->plugin('escapeHtmlAttr'); $translator = $this->getView()->plugin('translate'); - return $escaper($translator($str, $tokens, $default, $useIcuFormatter)); + return $escaper($translator($str, $tokens, $default, $useIcuFormatter, $fallbackDomains)); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/TransEscWithPrefix.php b/module/VuFind/src/VuFind/View/Helper/Root/TransEscWithPrefix.php index fb8a5c398f6..90ef278cd60 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/TransEscWithPrefix.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/TransEscWithPrefix.php @@ -61,14 +61,22 @@ class TransEscWithPrefix extends AbstractHelper implements TranslatorAwareInterf * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function __invoke($prefix, $str, $tokens = [], $default = null, $useIcuFormatter = false) - { + public function __invoke( + $prefix, + $str, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { $escaper = $this->getView()->plugin('escapeHtml'); return $escaper( - $this->translateWithPrefix($prefix, $str, $tokens, $default, $useIcuFormatter) + $this->translateWithPrefix($prefix, $str, $tokens, $default, $useIcuFormatter, $fallbackDomains) ); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/Translate.php b/module/VuFind/src/VuFind/View/Helper/Root/Translate.php index c7e4507bf11..60bcf88e009 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/Translate.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/Translate.php @@ -52,11 +52,18 @@ class Translate extends \Laminas\View\Helper\AbstractHelper implements \VuFind\I * found (null for no default). * @param bool $useIcuFormatter Should we use an ICU message formatter instead * of the default behavior? + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return string */ - public function __invoke($str, $tokens = [], $default = null, $useIcuFormatter = false) - { - return $this->translate($str, $tokens, $default, $useIcuFormatter); + public function __invoke( + $str, + $tokens = [], + $default = null, + $useIcuFormatter = false, + $fallbackDomains = [] + ) { + return $this->translate($str, $tokens, $default, $useIcuFormatter, $fallbackDomains); } } diff --git a/module/VuFind/src/VuFind/View/Helper/Root/TranslationEmpty.php b/module/VuFind/src/VuFind/View/Helper/Root/TranslationEmpty.php index 4db7a5cfd74..f538189a024 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/TranslationEmpty.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/TranslationEmpty.php @@ -48,13 +48,15 @@ class TranslationEmpty extends AbstractHelper implements TranslatorAwareInterfac /** * Check if a translation is empty * - * @param string|object $str String to translate + * @param string|object $str String to translate + * @param string[] $fallbackDomains Text domains to check if no match is found in + * the domain specified in $target * * @return bool */ - public function __invoke($str) + public function __invoke($str, $fallbackDomains = []) { - $result = $this->translate($str, [], ''); + $result = $this->translate($str, [], '', false, $fallbackDomains); // Existing empty translations will result in ‌, otherwise the default // '' is returned return $result === '' diff --git a/module/VuFind/src/VuFindTest/Integration/MinkTestCase.php b/module/VuFind/src/VuFindTest/Integration/MinkTestCase.php index b970aab0988..b2d43ab82e7 100644 --- a/module/VuFind/src/VuFindTest/Integration/MinkTestCase.php +++ b/module/VuFind/src/VuFindTest/Integration/MinkTestCase.php @@ -1155,6 +1155,19 @@ public function setUp(): void // Create a pathResolver: $this->pathResolver = $this->getPathResolver(); + + // Change theme if requested: + if ($theme = (string)getenv('VUFIND_TEST_THEME')) { + $this->changeConfigs( + [ + 'config' => [ + 'Site' => [ + 'theme' => $theme, + ], + ], + ] + ); + } } /** diff --git a/module/VuFind/src/VuFindTest/Unit/AjaxHandlerTestCase.php b/module/VuFind/src/VuFindTest/Unit/AjaxHandlerTestCase.php index cf591fcea91..ef51595d6aa 100644 --- a/module/VuFind/src/VuFindTest/Unit/AjaxHandlerTestCase.php +++ b/module/VuFind/src/VuFindTest/Unit/AjaxHandlerTestCase.php @@ -72,9 +72,9 @@ protected function getMockUser() } /** - * Get an auth manager with a value set for isLoggedIn. + * Get an auth manager with a value set for getUserObject. * - * @param \VuFind\Db\Row\User $user Return value for isLoggedIn() + * @param \VuFind\Db\Row\User $user Return value for getUserObject() * * @return \VuFind\Auth\Manager */ @@ -82,10 +82,10 @@ protected function getMockAuthManager($user) { $authManager = $this->container->createMock( \VuFind\Auth\Manager::class, - ['isLoggedIn', 'loginEnabled'] + ['getUserObject', 'loginEnabled'] ); - $authManager->expects($this->any())->method('isLoggedIn') - ->will($this->returnValue($user)); + $authManager->expects($this->any())->method('getUserObject') + ->willReturn($user); $authManager->expects($this->any())->method('loginEnabled') ->willReturn(true); return $authManager; diff --git a/module/VuFind/tests/bootstrap.php b/module/VuFind/tests/bootstrap.php index 456155ca25b..d706b8e5a44 100644 --- a/module/VuFind/tests/bootstrap.php +++ b/module/VuFind/tests/bootstrap.php @@ -34,7 +34,7 @@ // Composer autoloading if (file_exists('vendor/autoload.php')) { - $loader = include 'vendor/autoload.php'; + include 'vendor/autoload.php'; $loader = new Composer\Autoload\ClassLoader(); $loader->addClassMap(['minSO' => __DIR__ . '/../src/VuFind/Search/minSO.php']); $loader->add('VuFindTest', __DIR__ . '/unit-tests/src'); diff --git a/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini index bab515629f5..ceb2a946d4c 100644 --- a/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini +++ b/module/VuFind/tests/fixtures/configs/1.1/Aleph.ini @@ -10,7 +10,7 @@ useradm = LIB00 ; adm-Lib admlib = FUB50 -; loan librarys +; loan libraries loanlib = "LIB50 LIB51 LIB52 LIB53 ..." ; WWW-X user diff --git a/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini index 9a28cecf67a..f8af403a62d 100644 --- a/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini +++ b/module/VuFind/tests/fixtures/configs/1.2/Aleph.ini @@ -12,7 +12,7 @@ useradm = LIB00 ; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is ; your a prefix that you have defined. This is the library you connect to with -; your circ client. You'll also see it in your cataloging client because the +; your circulation client. You'll also see it in your cataloging client because the ; items will be hanging from it. admlib = FUB50 diff --git a/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini index 9a28cecf67a..f8af403a62d 100644 --- a/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini +++ b/module/VuFind/tests/fixtures/configs/1.3/Aleph.ini @@ -12,7 +12,7 @@ useradm = LIB00 ; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is ; your a prefix that you have defined. This is the library you connect to with -; your circ client. You'll also see it in your cataloging client because the +; your circulation client. You'll also see it in your cataloging client because the ; items will be hanging from it. admlib = FUB50 diff --git a/module/VuFind/tests/fixtures/configs/1.4/Aleph.ini b/module/VuFind/tests/fixtures/configs/1.4/Aleph.ini index 9a28cecf67a..f8af403a62d 100644 --- a/module/VuFind/tests/fixtures/configs/1.4/Aleph.ini +++ b/module/VuFind/tests/fixtures/configs/1.4/Aleph.ini @@ -12,7 +12,7 @@ useradm = LIB00 ; adm-Lib -- this is where your items are stored, normally XXX50 where XXX is ; your a prefix that you have defined. This is the library you connect to with -; your circ client. You'll also see it in your cataloging client because the +; your circulation client. You'll also see it in your cataloging client because the ; items will be hanging from it. admlib = FUB50 diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Auth/ShibbolethTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Auth/ShibbolethTest.php index 80974ad80ff..e3a47cec647 100644 --- a/module/VuFind/tests/integration-tests/src/VuFindTest/Auth/ShibbolethTest.php +++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Auth/ShibbolethTest.php @@ -119,12 +119,9 @@ public function getAuthObject($config = null, $shibConfig = null, $useHeaders = if (null === $config) { $config = $this->getAuthConfig($useHeaders, $requiredAttributes); } - $loader = null; - if ($shibConfig == null) { - $loader = new SingleIdPConfigurationLoader($config); - } else { - $loader = new MultiIdPConfigurationLoader($config, $shibConfig); - } + $loader = ($shibConfig == null) + ? new SingleIdPConfigurationLoader($config) + : new MultiIdPConfigurationLoader($config, $shibConfig); $obj = new Shibboleth( $this->createMock(\Laminas\Session\ManagerInterface::class), $loader, @@ -358,7 +355,7 @@ public function testLogin2() public function testFailedLogin() { $this->expectException(\VuFind\Exception\Auth::class); - $user = $this->getAuthObject(null, $this->getShibbolethConfig()) + $this->getAuthObject(null, $this->getShibbolethConfig()) ->authenticate($this->getLoginRequest($this->user3, false)); } diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/BasicTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/BasicTest.php index cbadcba3665..b47c4a49bc0 100644 --- a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/BasicTest.php +++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/BasicTest.php @@ -116,6 +116,7 @@ public function testThemeSwitcher(): void [ 'config' => [ 'Site' => [ + 'theme' => 'sandal', 'alternate_themes' => $themeList, 'selectable_themes' => $themeList, ], diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/CartTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/CartTest.php index 32a771b7449..12e6a76b9af 100644 --- a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/CartTest.php +++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/CartTest.php @@ -832,7 +832,7 @@ protected function runConfigCombo($page, $combo) public function testToolbarVisibilityConfigCombinations() { $page = $this->getSearchResultsPage(); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => true, @@ -840,7 +840,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => false, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => false, @@ -848,7 +848,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => true, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => false, @@ -856,7 +856,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => false, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => true, @@ -864,7 +864,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => true, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => true, @@ -872,7 +872,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => false, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => false, @@ -880,7 +880,7 @@ public function testToolbarVisibilityConfigCombinations() 'bookbagTogglesInSearch' => true, ] ); - $elements = $this->runConfigCombo( + $this->runConfigCombo( $page, [ 'showBookBag' => true, diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/ListItemSelectionTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/ListItemSelectionTest.php index 668fa2bd0ca..fba1613eeff 100644 --- a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/ListItemSelectionTest.php +++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/ListItemSelectionTest.php @@ -244,7 +244,7 @@ protected function checkSelectAllGlobalIsClicked($page, $expectTrue = true) * @param int $selectAllGlobalCheckbox Expected state of the select all global checkbox * @param int $numberOfSelectedOnPage Expected number of selected elements on page * @param int $numberOfSelectedGlobal Expected number of globally selected elements - * @param boolean $multiPageSelectionEnabled If multi page selecion is enabled + * @param boolean $multiPageSelectionEnabled If multi page selection is enabled * * @return void */ diff --git a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/RecordActionsTest.php b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/RecordActionsTest.php index b75d5aa3e28..e79298a6a4e 100644 --- a/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/RecordActionsTest.php +++ b/module/VuFind/tests/integration-tests/src/VuFindTest/Mink/RecordActionsTest.php @@ -550,7 +550,7 @@ public function testSMS(): void $this->unFindCss($page, '.modal .sms-error'); // Send text to false number $this->findCssAndSetValue($page, '.modal #sms_to', '(800) 555-5555'); - $optionElement = $this->findCss($page, '.modal #sms_provider option'); + $this->findCss($page, '.modal #sms_provider option'); $page->selectFieldOption('sms_provider', 'verizon'); $this->clickCss($page, '.modal-body .btn.btn-primary'); // Check for confirmation message diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CheckRequestIsValidTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CheckRequestIsValidTest.php index 90e912c2f54..96c344cc73c 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CheckRequestIsValidTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CheckRequestIsValidTest.php @@ -33,6 +33,7 @@ use VuFind\AjaxHandler\CheckRequestIsValid; use VuFind\Auth\ILSAuthenticator; use VuFind\Auth\Manager; +use VuFind\Db\Row\User; use VuFind\ILS\Connection; /** @@ -49,11 +50,11 @@ class CheckRequestIsValidTest extends \VuFindTest\Unit\AjaxHandlerTestCase /** * Set up a CheckRequestIsValid handler for testing. * - * @param User|bool $user Return value for isLoggedIn() in auth manager + * @param ?User $user Return value for getUserObject() in auth manager * * @return CheckRequestIsValid */ - protected function getHandler($user = false) + protected function getHandler(?User $user = null) { // Set up auth manager with user: $this->container->set(Manager::class, $this->getMockAuthManager($user)); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CommentRecordTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CommentRecordTest.php index 8f670b69e42..3d7715de42a 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CommentRecordTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/AjaxHandler/CommentRecordTest.php @@ -52,12 +52,12 @@ class CommentRecordTest extends \VuFindTest\Unit\AjaxHandlerTestCase /** * Set up a CommentRecord handler for testing. * - * @param bool $enabled Are comments enabled? - * @param User|bool $user Return value for isLoggedIn() in auth manager + * @param bool $enabled Are comments enabled? + * @param ?User $user Return value for getUserObject() in auth manager * * @return CommentRecord */ - protected function getHandler($enabled = true, $user = false) + protected function getHandler($enabled = true, $user = null) { // For simplicity, let the top-level container stand in for the plugin // managers: diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSAuthenticatorTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSAuthenticatorTest.php index 0b3b7372ea7..2e4b7bd56be 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSAuthenticatorTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ILSAuthenticatorTest.php @@ -55,8 +55,8 @@ public function testNewCatalogLoginSuccess() $user = $this->getMockUser(['saveCredentials']); $user->expects($this->once())->method('saveCredentials') ->with($this->equalTo('user'), $this->equalTo('pass')); - $manager = $this->getMockManager(['isLoggedIn', 'updateSession']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue($user)); + $manager = $this->getMockManager(['getUserObject', 'updateSession']); + $manager->expects($this->any())->method('getUserObject')->willReturn($user); $manager->expects($this->once())->method('updateSession')->with($this->equalTo($user)); $details = ['foo' => 'bar']; $connection = $this->getMockConnection(['patronLogin']); @@ -73,8 +73,8 @@ public function testNewCatalogLoginSuccess() */ public function testNewCatalogFailure() { - $manager = $this->getMockManager(['isLoggedIn']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue(false)); + $manager = $this->getMockManager(['getUserObject']); + $manager->expects($this->any())->method('getUserObject')->willReturn(null); $details = false; $connection = $this->getMockConnection(['patronLogin']); $connection->expects($this->once())->method('patronLogin') @@ -109,8 +109,8 @@ public function testNewCatalogFailureByException() */ public function testLoggedOutStoredLoginAttempt() { - $manager = $this->getMockManager(['isLoggedIn']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue(false)); + $manager = $this->getMockManager(['getUserObject']); + $manager->expects($this->any())->method('getUserObject')->willReturn(null); $auth = $this->getAuthenticator($manager); $this->assertEquals(false, $auth->storedCatalogLogin()); } @@ -128,8 +128,8 @@ public function testSuccessfulStoredLoginAttempt() $user->expects($this->any())->method('__isset') ->with($this->equalTo('cat_username'))->will($this->returnValue(true)); $user->expects($this->any())->method('getCatPassword')->will($this->returnValue('pass')); - $manager = $this->getMockManager(['isLoggedIn']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue($user)); + $manager = $this->getMockManager(['getUserObject']); + $manager->expects($this->any())->method('getUserObject')->willReturn($user); $details = ['foo' => 'bar']; $connection = $this->getMockConnection(['patronLogin']); $connection->expects($this->once())->method('patronLogin') @@ -156,8 +156,8 @@ public function testUnsuccessfulStoredLoginAttempt() ->with($this->equalTo('cat_username'))->will($this->returnValue(true)); $user->expects($this->any())->method('getCatPassword')->will($this->returnValue('pass')); $user->expects($this->once())->method('clearCredentials'); - $manager = $this->getMockManager(['isLoggedIn']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue($user)); + $manager = $this->getMockManager(['getUserObject']); + $manager->expects($this->any())->method('getUserObject')->willReturn($user); $connection = $this->getMockConnection(['patronLogin']); $connection->expects($this->once())->method('patronLogin') ->with($this->equalTo('user'), $this->equalTo('pass'))->will($this->returnValue(false)); @@ -181,8 +181,8 @@ public function testExceptionDuringStoredLoginAttempt() $user->expects($this->any())->method('__isset') ->with($this->equalTo('cat_username'))->will($this->returnValue(true)); $user->expects($this->any())->method('getCatPassword')->will($this->returnValue('pass')); - $manager = $this->getMockManager(['isLoggedIn']); - $manager->expects($this->any())->method('isLoggedIn')->will($this->returnValue($user)); + $manager = $this->getMockManager(['getUserObject']); + $manager->expects($this->any())->method('getUserObject')->willReturn($user); $connection = $this->getMockConnection(['patronLogin']); $connection->expects($this->once()) ->method('patronLogin') diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LoginTokenManagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LoginTokenManagerTest.php index c8feab2713d..80ed90d9083 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LoginTokenManagerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/LoginTokenManagerTest.php @@ -87,7 +87,7 @@ public function testTokenLoginInvalidToken() { $cookieManager = $this->getCookieManager( [ - 'loginToken' => '222;0;111', + 'loginToken' => '222;111', ] ); $mockToken = $this->getMockLoginToken(); @@ -97,7 +97,7 @@ public function testTokenLoginInvalidToken() ->willReturn($this->getMockUser()); $tokenTable = $this->getMockLoginTokenTable(); $tokenTable->expects($this->once())->method('matchToken') - ->will($this->throwException(new LoginTokenException())); + ->will($this->throwException(new LoginTokenException('Token does not match', 0))); $tokenTable->expects($this->once())->method('getByUserId') ->willReturn([$mockToken]); $loginToken = $this->getLoginToken($cookieManager, $tokenTable, $userTable, true); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ManagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ManagerTest.php index 33fe4c7f423..0f2d13af8f1 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ManagerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Auth/ManagerTest.php @@ -339,9 +339,9 @@ public function testCreate() $db = $pm->get('Database'); $db->expects($this->once())->method('create')->with($request)->will($this->returnValue($user)); $manager = $this->getManager([], null, null, $pm); - $this->assertFalse($manager->isLoggedIn()); + $this->assertNull($manager->getUserObject()); $this->assertEquals($user, $manager->create($request)); - $this->assertEquals($user, $manager->isLoggedIn()); + $this->assertEquals($user, $manager->getUserObject()); } /** @@ -358,9 +358,9 @@ public function testSuccessfulLogin() $db->expects($this->once())->method('authenticate')->with($request)->will($this->returnValue($user)); $manager = $this->getManager([], null, null, $pm); $request->getPost()->set('csrf', $manager->getCsrfHash()); - $this->assertFalse($manager->isLoggedIn()); + $this->assertNull($manager->getUserObject()); $this->assertEquals($user, $manager->login($request)); - $this->assertEquals($user, $manager->isLoggedIn()); + $this->assertEquals($user, $manager->getUserObject()); } /** @@ -373,7 +373,6 @@ public function testMissingCsrf() $this->expectException(\VuFind\Exception\Auth::class); $this->expectExceptionMessage('authentication_error_technical'); - $user = $this->getMockUser(); $request = $this->getMockRequest(); $pm = $this->getMockPluginManager(); $manager = $this->getManager([], null, null, $pm); @@ -390,7 +389,6 @@ public function testIncorrectCsrf() $this->expectException(\VuFind\Exception\Auth::class); $this->expectExceptionMessage('authentication_error_technical'); - $user = $this->getMockUser(); $request = $this->getMockRequest(); $pm = $this->getMockPluginManager(); $manager = $this->getManager([], null, null, $pm); @@ -472,7 +470,7 @@ public function testUpdatePassword() $db->expects($this->once())->method('updatePassword')->with($request)->will($this->returnValue($user)); $manager = $this->getManager([], null, null, $pm); $this->assertEquals($user, $manager->updatePassword($request)); - $this->assertEquals($user, $manager->isLoggedIn()); + $this->assertEquals($user, $manager->getUserObject()); } /** @@ -522,7 +520,7 @@ public function testUserLoginFromSession() ->with($this->equalTo('userId'))->will($this->returnValue('foo')); $this->setProperty($manager, 'session', $mockSession); - $this->assertEquals($user, $manager->isLoggedIn()); + $this->assertEquals($user, $manager->getUserObject()); } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Captcha/IntervalTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Captcha/IntervalTest.php index 55484c0889b..6c34e04e7c6 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Captcha/IntervalTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Captcha/IntervalTest.php @@ -45,7 +45,7 @@ class IntervalTest extends \PHPUnit\Framework\TestCase { /** - * Test Interval captchs + * Test Interval captchas * * @return void */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php index 6145a2bc7bd..c158d4205e8 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/CartTest.php @@ -75,7 +75,7 @@ public function setUp(): void * @param string $path Cookie base path (default = /) * @param string $domain Cookie domain * @param bool $secure Are cookies secure only? (default = false) - * @param bool $httpOnly Are cookes HTTP only? (default = false) + * @param bool $httpOnly Are cookies HTTP only? (default = false) * * @return CookieManager */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php index d78f90ec8b4..3c62ef4567b 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Db/Table/UserListTest.php @@ -88,7 +88,7 @@ public function testLoginRequiredToCreateList() $this->expectException(\VuFind\Exception\LoginRequired::class); $table = $this->getMockTable(); - $list = $table->getNew(false); + $table->getNew(false); } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Hierarchy/TreeDataFormatter/JsonTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Hierarchy/TreeDataFormatter/JsonTest.php index 45efa41aa98..14386737f9d 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Hierarchy/TreeDataFormatter/JsonTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Hierarchy/TreeDataFormatter/JsonTest.php @@ -113,6 +113,6 @@ public function testGetHierarchyPositionsInParents() ]; $json = new Json(true); $this->expectException(\Exception::class); - $result = $this->callMethod($json, $method, [$fields]); + $this->callMethod($json, $method, [$fields]); } } diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/I18n/Translator/Loader/ExtendedIniTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/I18n/Translator/Loader/ExtendedIniTest.php index 35e5be9b3a8..5466cd87920 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/I18n/Translator/Loader/ExtendedIniTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/I18n/Translator/Loader/ExtendedIniTest.php @@ -207,7 +207,7 @@ public function testCircularAliasSafety(): void ]; $loader = new ExtendedIni($pathStack, 'en'); $this->expectExceptionMessage('Circular alias detected resolving Domain::baz'); - $result = $loader->load('en', null); + $loader->load('en', null); } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AbstractMultiDriverTestCase.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AbstractMultiDriverTestCase.php index e77091cb79b..451101884dd 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AbstractMultiDriverTestCase.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/AbstractMultiDriverTestCase.php @@ -290,7 +290,6 @@ function () use ($session) { */ protected function getMockILS($type, $methods = null) { - $mock = null; if ($methods && in_array('supportsMethod', $methods)) { $mock = $this ->getMockBuilder(__NAMESPACE__ . '\\MultiDriverTest\\' . $type . 'NoSupportMock') @@ -335,7 +334,7 @@ abstract protected function initDriver($constructorArgs = [], $drivers = [], $dr abstract protected function getDriver($constructorArgs = []); /** - * Create a Mulit Driver for the given ILS drivers + * Create a Multi Driver for the given ILS drivers * * @param array $drivers Array of drivers with prefix as key and driver instance * as value diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ComposedDriverTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ComposedDriverTest.php index f57361943fe..a584c25cb9c 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ComposedDriverTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/ComposedDriverTest.php @@ -1539,7 +1539,7 @@ public function testCombineMultipleArraysOfAssociativeArraysOverwrittenMainDrive } /** - * Testing method with cmbioneMultipleArraysOfAssociativeArrays and overwritten main driver with support + * Testing method with combineMultipleArraysOfAssociativeArrays and overwritten main driver with support * * @return void */ @@ -1672,7 +1672,7 @@ public function testeCombineMultipleArraysOfAssociativeArraysOverwrittenMainDriv } /** - * Method to get an initialized Compsed Driver. + * Method to get an initialized Composed Driver. * * @param array $constructorArgs Optional constructor arguments * @param array $drivers List of used drivers @@ -1715,7 +1715,7 @@ protected function getDriver($constructorArgs = []) * @param string $function Function name * @param array $params Function parameters * @param array $functionConfig Config for the given function - * @param array $driverConfigs Associative array wich maps driver names to class, number of calls and result + * @param array $driverConfigs Associative array which maps driver names to class, number of calls and result * * @return object MultiBackend driver */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/FolioTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/FolioTest.php index 0b766446a02..9888fd17d6b 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/FolioTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/FolioTest.php @@ -463,7 +463,7 @@ public function testUnsuccessfulPlaceHoldInvalidExpirationDate(): void ]; $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('hold_date_invalid'); - $result = $this->driver->placeHold($details); + $this->driver->placeHold($details); } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php index 284be257a08..fb9878f2b80 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php @@ -1056,7 +1056,7 @@ public function testGetMyTransactions() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getMyTransactions( + $driver->getMyTransactions( $this->getPatron('username', 'invalid') ); } @@ -1095,7 +1095,7 @@ public function testGetRenewDetails() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getRenewDetails( + $driver->getRenewDetails( [ 'id' => 'invalid.loanid', ] @@ -1138,7 +1138,7 @@ public function testRenewMyItems() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->renewMyItems( + $driver->renewMyItems( ['patron' => $this->getPatron('username', 'invalid')] ); } @@ -1169,7 +1169,7 @@ public function testGetMyFines() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getMyFines($this->getPatron('username', 'invalid')); + $driver->getMyFines($this->getPatron('username', 'invalid')); } /** @@ -1227,7 +1227,7 @@ public function testGetMyHolds() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getMyHolds($this->getPatron('username', 'invalid')); + $driver->getMyHolds($this->getPatron('username', 'invalid')); } /** @@ -1257,7 +1257,7 @@ public function testGetAccountBlocks() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getAccountBlocks($this->getPatron('username', 'invalid')); + $driver->getAccountBlocks($this->getPatron('username', 'invalid')); } /** @@ -1287,7 +1287,7 @@ public function testGetRequestBlocks() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getRequestBlocks($this->getPatron('username', 'invalid')); + $driver->getRequestBlocks($this->getPatron('username', 'invalid')); } /** @@ -1326,7 +1326,7 @@ public function testGetMyStorageRetrievalRequests() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getMyStorageRetrievalRequests( + $driver->getMyStorageRetrievalRequests( $this->getPatron('username', 'invalid') ); } @@ -1525,7 +1525,7 @@ public function testGetPickUpLocations() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getPickUpLocations( + $driver->getPickUpLocations( $this->getPatron('username', 'invalid'), ['id' => '1'] ); @@ -1573,7 +1573,7 @@ public function testGetDefaultPickUpLocation() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getDefaultPickUpLocation( + $driver->getDefaultPickUpLocation( $this->getPatron('username', 'invalid'), ['id' => '1'] ); @@ -1621,7 +1621,7 @@ public function testGetRequestGroups() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getRequestGroups( + $driver->getRequestGroups( '1', $this->getPatron('username', 'invalid') ); @@ -1669,7 +1669,7 @@ public function testGetDefaultRequestGroup() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getDefaultRequestGroup( + $driver->getDefaultRequestGroup( $this->getPatron('username', 'invalid'), ['id' => '1'] ); @@ -1732,7 +1732,7 @@ public function testPlaceHold() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->placeHold( + $driver->placeHold( [ 'patron' => $this->getPatron('username', 'invalid'), 'id' => 'invalid.1', @@ -1790,7 +1790,7 @@ public function testCancelHolds() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->cancelHolds( + $driver->cancelHolds( [ 'patron' => $this->getPatron('username', 'invalid'), 'details' => ['1', '2'], @@ -1834,7 +1834,7 @@ public function testGetCancelHoldDetails() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getCancelHoldDetails( + $driver->getCancelHoldDetails( ['id' => 'd1.1', 'item_id' => 2], $this->getPatron('user', 'invalid') ); @@ -1897,7 +1897,7 @@ public function testPlaceStorageRetrievalRequest() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->placeStorageRetrievalRequest( + $driver->placeStorageRetrievalRequest( [ 'patron' => $this->getPatron('username', 'invalid'), 'id' => 'invalid.1', @@ -1955,7 +1955,7 @@ public function testCancelStorageRetrievalRequests() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->cancelStorageRetrievalRequests( + $driver->cancelStorageRetrievalRequests( [ 'patron' => $this->getPatron('username', 'invalid'), 'details' => ['1', '2'], @@ -1994,7 +1994,7 @@ public function testGetCancelStorageRetrievalRequestDetails() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getCancelStorageRetrievalRequestDetails( + $driver->getCancelStorageRetrievalRequestDetails( ['id' => 'd1.1', 'item_id' => 2], $this->getPatron('user', 'invalid') ); @@ -2095,7 +2095,7 @@ public function testGetILLPickupLibraries() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getILLPickupLibraries( + $driver->getILLPickupLibraries( '1', $this->getPatron('username', 'invalid') ); @@ -2142,7 +2142,7 @@ public function testGetILLPickupLocations() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getILLPickupLocations( + $driver->getILLPickupLocations( '1', '2', $this->getPatron('username', 'invalid') @@ -2202,7 +2202,7 @@ public function testPlaceILLRequest() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->placeILLRequest( + $driver->placeILLRequest( [ 'patron' => $this->getPatron('username', 'invalid'), 'id' => 'invalid.1', @@ -2240,7 +2240,7 @@ public function testGetMyILLRequests() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getMyILLRequests( + $driver->getMyILLRequests( $this->getPatron('username', 'invalid') ); } @@ -2295,7 +2295,7 @@ public function testCancelILLRequests() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->cancelILLRequests( + $driver->cancelILLRequests( [ 'patron' => $this->getPatron('username', 'invalid'), 'details' => ['1', '2'], @@ -2334,7 +2334,7 @@ public function testGetCancelILLRequestDetails() $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No suitable backend driver found'); - $result = $driver->getCancelILLRequestDetails( + $driver->getCancelILLRequestDetails( ['id' => 'd1.1', 'item_id' => 2], $this->getPatron('user', 'invalid') ); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php index e8e62ed8224..f2054fef549 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/XCNCIP2Test.php @@ -771,7 +771,7 @@ public function testGetMyTransactions() } /** - * Test disable renewals configutaion + * Test disable renewals configuration * * @return void */ @@ -1345,7 +1345,7 @@ public function testGetCancelRequestException() $method->setAccessible(true); $this->expectException(\VuFind\Exception\ILS::class); $this->expectExceptionMessage('No identifiers for CancelRequest'); - $request = $method->invokeArgs( + $method->invokeArgs( $this->driver, [ 'username', 'password', 'patron agency', 'item agency', '', 'Hold', null, @@ -1495,7 +1495,7 @@ public function testAcceptOtherHttpStastusCodes() $this->expectExceptionMessage( 'HTTP error: ProblemType: Item Not Renewable, ProblemDetail: No active registration.' ); - $renew = $this->driver->renewMyItems( + $this->driver->renewMyItems( [ 'patron' => [ 'cat_username' => 'my_login', diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Mailer/MailerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Mailer/MailerTest.php index 231450faea6..1906d9ff29e 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Mailer/MailerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Mailer/MailerTest.php @@ -132,7 +132,6 @@ public function testSendWithAddressObjectInSender() public function testSendWithAddressObjectInRecipient() { $callback = function ($message): bool { - $fromString = $message->getFrom()->current()->toString(); return 'Recipient TextName ' == $message->getTo()->current()->toString() && '' == $message->getFrom()->current()->toString() && 'body' == $message->getBody() @@ -153,7 +152,6 @@ public function testSendWithAddressObjectInRecipient() public function testSendWithAddressListObjectInRecipient() { $callback = function ($message): bool { - $fromString = $message->getFrom()->current()->toString(); return 'Recipient TextName ' == $message->getTo()->current()->toString() && '' == $message->getFrom()->current()->toString() && 'body' == $message->getBody() diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/DatabasesTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/DatabasesTest.php index 420718a587f..e8e5570ebc7 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/DatabasesTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Recommend/DatabasesTest.php @@ -54,7 +54,7 @@ public function testEmptyConfig() $this->expectExceptionMessage("must have section 'Databases'"); $configData = []; - $module = $this->buildModuleAndProcessResults($configData); + $this->buildModuleAndProcessResults($configData); } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Record/CacheTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Record/CacheTest.php index ee5776a9ecb..58eb04b65ef 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Record/CacheTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Record/CacheTest.php @@ -56,7 +56,6 @@ class CacheTest extends \PHPUnit\Framework\TestCase */ protected function setUp(): void { - $cache = $this->getRecordCache(); $this->recordTable = [ [ 'record_id' => '020645147', diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/EDSTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/EDSTest.php index ae6ed106bb1..34730db3e17 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/EDSTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordDriver/EDSTest.php @@ -72,7 +72,7 @@ class EDSTest extends \PHPUnit\Framework\TestCase * @param string $test Name of test fixture to load * @param array $config Driver configuration (null to use default) * - * @return void + * @return EDS */ protected function getDriver(string $test = null, array $config = null): EDS { diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/FormatsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/FormatsTest.php index 0d55f9c209a..c29f25ee27f 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/FormatsTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/FormatsTest.php @@ -62,7 +62,7 @@ public function testGetDescription(): void */ public static function isActiveProvider(): array { - return ['Not Enabed' => [false, false], 'Enabled' => [true, true]]; + return ['Not Enabled' => [false, false], 'Enabled' => [true, true]]; } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/HoldingsWorldCatTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/HoldingsWorldCatTest.php index c344c5dadd6..5297122b821 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/HoldingsWorldCatTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/RecordTab/HoldingsWorldCatTest.php @@ -64,7 +64,7 @@ public function testGetDescription(): void */ public static function isActiveProvider(): array { - return ['Enabed' => ['foo', true], 'Not Enabled' => ['', false]]; + return ['Enabled' => ['foo', true], 'Not Enabled' => ['', false]]; } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionDeniedManagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionDeniedManagerTest.php index 573fe167943..3bcb4148dcd 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionDeniedManagerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionDeniedManagerTest.php @@ -43,7 +43,7 @@ class PermissionDeniedManagerTest extends \PHPUnit\Framework\TestCase { /** - * Sample configuration with varios config options. + * Sample configuration with various config options. * * @var array */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionManagerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionManagerTest.php index 9cc7069bce2..ef591550ea3 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionManagerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Role/PermissionManagerTest.php @@ -43,7 +43,7 @@ class PermissionManagerTest extends \PHPUnit\Framework\TestCase { /** - * Sample configuration with varios config options. + * Sample configuration with various config options. * * @var array */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Primo/PrimoPermissionHandlerTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Primo/PrimoPermissionHandlerTest.php index 29d94c7422f..cf282464111 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Primo/PrimoPermissionHandlerTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Primo/PrimoPermissionHandlerTest.php @@ -267,7 +267,7 @@ public function testHandlerMemberAuthSuccessfull() } /** - * Test the handler if permission (member and deafult) does not match + * Test the handler if permission (member and default) does not match * * @return void */ @@ -407,7 +407,7 @@ public function testHandlerWithoutDefaultAuthSuccessfull() } /** - * Test the handler if permission (member and deafult) does not match + * Test the handler if permission (member and default) does not match * * @return void */ @@ -538,7 +538,7 @@ public function testHandlerWithoutDefaultDefaultAuthNotSuccessfull() ************/ /** - * Test the handler if permission (member and deafult) does not match + * Test the handler if permission (member and default) does not match * * @return void */ @@ -790,7 +790,7 @@ public function testHandlerIsNotAMemberButOnDefaultCampus() ************/ /** - * Test the handler if permission (member and deafult) does not match + * Test the handler if permission (member and default) does not match * * @return void */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/ResultsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/ResultsTest.php index 5669758a205..e09635d509f 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/ResultsTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Search/Solr/ResultsTest.php @@ -487,9 +487,6 @@ protected function getResultsFromResponse( ); $collection = new RecordCollection($response); - $searchService = $this->getMockBuilder(\VuFindSearch\Service::class) - ->disableOriginalConstructor() - ->getMock(); $searchService = $this->getMockBuilder(\VuFindSearch\Service::class) ->disableOriginalConstructor() ->getMock(); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Sitemap/Plugin/Index/TermsIdFetcherTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Sitemap/Plugin/Index/TermsIdFetcherTest.php index 6b68b7c9870..29463dccfdb 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Sitemap/Plugin/Index/TermsIdFetcherTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Sitemap/Plugin/Index/TermsIdFetcherTest.php @@ -171,10 +171,8 @@ public function testFilters(): void */ public function testFetching(): void { - $context1 = ['offset' => null, 'countPerPage' => $this->countPerPage]; $expectedIds1 = range(0, $this->countPerPage - 1); $expectedResponse1 = $this->getTermsResponse($expectedIds1); - $context2 = ['offset' => 99, 'countPerPage' => $this->countPerPage]; $expectedIds2 = []; $expectedResponse2 = $this->getTermsResponse($expectedIds2); $service = $this->getMockService(); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php index 1e3d8cadade..c2ba3330726 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Solr/UtilsTest.php @@ -65,39 +65,56 @@ public function testParseRange() } /** - * Test sanitizeDate functionality. + * Data provider for testSanitizeDate * - * @return void + * @return array */ - public function testSanitizeDate() + public static function sanitizeDateProvider(): array { - $tests = [ - '[2014]' => '2014-01-01', - 'n.d.' => null, - 'may 7, 1981' => '1981-05-07', - 'July 1570' => '1570-07-01', - 'incomprehensible garbage' => null, - '1930/12/21' => '1930-12-21', - '1964?' => '1964-01-01', - '1947-3' => '1947-03-01', - '1973-02-31' => '1973-02-01', // illegal day - '1973-31-31' => '1973-01-01', // illegal month - '1964-zz' => '1964-01-01', - '1964-01-zz' => '1964-01-01', - 'Winter 2012' => '2012-01-01', - '05-1901' => '1901-05-01', - '5-1901' => '1901-05-01', - '05/1901' => '1901-05-01', - '5/1901' => '1901-05-01', - '2nd Quarter 2004' => '2004-01-01', - 'Nov 2009 and Dec 2009' => '2009-01-01', + return [ + ['[2014]', false, '2014-01-01T00:00:00Z'], + ['n.d.', false, null], + ['may 7, 1981', false, '1981-05-07T00:00:00Z'], + ['July 1570', false, '1570-07-01T00:00:00Z'], + ['incomprehensible garbage', false, null], + ['1930/12/21', false, '1930-12-21T00:00:00Z'], + ['1964?', false, '1964-01-01T00:00:00Z'], + ['1947-3', false, '1947-03-01T00:00:00Z'], + ['1973-02-31', false, '1973-02-01T00:00:00Z'], // illegal day + ['1973-31-31', false, '1973-01-01T00:00:00Z'], // illegal month + ['1964-zz', false, '1964-01-01T00:00:00Z'], + ['1964-01-zz', false, '1964-01-01T00:00:00Z'], + ['Winter 2012', false, '2012-01-01T00:00:00Z'], + ['05-1901', false, '1901-05-01T00:00:00Z'], + ['5-1901', false, '1901-05-01T00:00:00Z'], + ['05/1901', false, '1901-05-01T00:00:00Z'], + ['5/1901', false, '1901-05-01T00:00:00Z'], + ['2nd Quarter 2004', false, '2004-01-01T00:00:00Z'], + ['Nov 2009 and Dec 2009', false, '2009-01-01T00:00:00Z'], + ['29.02.2024', false, '2024-02-29T00:00:00Z'], // leap year + ['29.02.2024', true, '2024-02-29T23:59:59Z'], // leap year + ['29.02.2023', false, '2023-03-01T00:00:00Z'], // not a leap year + ['29.02.2023', true, '2023-03-01T23:59:59Z'], // not a leap year + ['2024', true, '2024-12-31T23:59:59Z'], + ['2024-11', true, '2024-11-30T23:59:59Z'], + ['2024-02', true, '2024-02-29T23:59:59Z'], // leap year + ['2023-02', true, '2023-02-28T23:59:59Z'], // not a leap year ]; + } - foreach ($tests as $in => $out) { - $this->assertEquals( - $out === null ? null : $out . 'T00:00:00Z', // append standard time value unless null - Utils::sanitizeDate($in) - ); - } + /** + * Test sanitizeDate functionality. + * + * @param string $date Date string + * @param bool $rangeEnd Is this the end of a range? + * @param ?string $expected Expected result + * + * @dataProvider sanitizeDateProvider + * + * @return void + */ + public function testSanitizeDate($date, $rangeEnd, $expected) + { + $this->assertEquals($expected, Utils::sanitizeDate($date, $rangeEnd)); } } diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CspTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CspTest.php index 685515fcce7..1429d71cd65 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CspTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/CspTest.php @@ -151,7 +151,6 @@ public function testDisablePolicyWithCspDisabled(): void = new \VuFind\Security\CspHeaderGenerator($config, $nonceGenerator); $response = new \Laminas\Http\Response(); - $headers = $response->getHeaders(); $header = $cspHeaderGenerator->getHeader(); $this->assertNull($header); diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/MarkdownTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/MarkdownTest.php index ab7fcf4debc..31dcbb5cacd 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/MarkdownTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/MarkdownTest.php @@ -33,7 +33,7 @@ use VuFind\View\Helper\Root\Markdown; /** - * MArkdown Test Class + * Markdown Test Class * * @category VuFind * @package Tests diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PermissionTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PermissionTest.php index 7e052a75d5a..1733b931304 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PermissionTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PermissionTest.php @@ -47,7 +47,7 @@ class PermissionTest extends \PHPUnit\Framework\TestCase use \VuFindTest\Feature\ViewTrait; /** - * Sample configuration with varios config options. + * Sample configuration with various config options. * * @var array */ diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PrintArrayHtmlTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PrintArrayHtmlTest.php index 297b361c733..935b323947e 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PrintArrayHtmlTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/PrintArrayHtmlTest.php @@ -110,10 +110,10 @@ public static function getPrintArrayHtmlData(): array ], [ // Set 5 [ - 0 => "Escaped vals <>&'\"", + 0 => "Escaped values <>&'\"", ], <<Escaped vals <>&'"
+ Escaped values <>&'"
END, ], diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslateTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslateTest.php index 0988c40384f..ddeb784c474 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslateTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslateTest.php @@ -169,6 +169,49 @@ public function testTranslateTranslatableStringDefaultValues(): void $this->assertEquals('baz', $translate($s)); } + /** + * Test translation with domain fallback. + * + * @return void + */ + public function testTranslationWithDomainFallback(): void + { + $translate = new Translate(); + $translate->setTranslator( + $this->getMockTranslator( + [ + 'default' => ['4' => 'success'], + 'domain1' => ['1' => 'success'], + 'domain2' => ['1' => 'fail', '2' => 'success'], + 'domain3' => ['1' => 'fail', '2' => 'fail', '3' => 'success'], + ] + ) + ); + + for ($x = 1; $x <= 4; $x++) { + // Check using default namespace: + $this->assertEquals( + 'success', + $translate((string)$x, fallbackDomains: ['domain1', 'domain2', 'domain3']) + ); + // String format with no default: + $this->assertEquals( + 'success', + $translate("domain1::$x", fallbackDomains: ['domain2', 'domain3', 'default']) + ); + // String format with default set: + $this->assertEquals( + 'success', + $translate("domain1::$x", default: 'foo', fallbackDomains: ['domain2', 'domain3', 'default']) + ); + // Array format: + $this->assertEquals( + 'success', + $translate(['domain1', $x], fallbackDomains: ['domain2', 'domain3', 'default']) + ); + } + } + /** * Test translation of a key with illegal characters. * diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslationEmptyTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslationEmptyTest.php index 236aa66601b..31116d5fb17 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslationEmptyTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/View/Helper/Root/TranslationEmptyTest.php @@ -60,6 +60,9 @@ public function testTranslationEmpty() 'foo' => 'bar', 'baz' => '', ], + 'fallback' => [ + 'nonexistent' => 'actually exists', + ], ] ) ); @@ -67,5 +70,6 @@ public function testTranslationEmpty() $this->assertFalse($translationEmpty('foo')); $this->assertTrue($translationEmpty('baz')); $this->assertTrue($translationEmpty('nonexistent')); + $this->assertFalse($translationEmpty('nonexistent', ['fallback'])); } } diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/XSLT/Import/VuFindWorkKeysTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/XSLT/Import/VuFindWorkKeysTest.php index eca096a0841..4405e5e45e4 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/XSLT/Import/VuFindWorkKeysTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/XSLT/Import/VuFindWorkKeysTest.php @@ -155,7 +155,7 @@ public function testGetWorkKeysWithExcludeRegEx() } /** - * Test the work keys helper with an ICU tranliteration. + * Test the work keys helper with an ICU transliteration. * * @return void */ @@ -184,7 +184,7 @@ public function testGetWorkKeysWithTransliteration() } /** - * Test the work keys helper with an ICU tranliteration. + * Test the work keys helper with an ICU transliteration. * * @return void */ diff --git a/module/VuFindAdmin/src/VuFindAdmin/Controller/MaintenanceController.php b/module/VuFindAdmin/src/VuFindAdmin/Controller/MaintenanceController.php index 54afc731332..dfd0fbc9e37 100644 --- a/module/VuFindAdmin/src/VuFindAdmin/Controller/MaintenanceController.php +++ b/module/VuFindAdmin/src/VuFindAdmin/Controller/MaintenanceController.php @@ -107,7 +107,7 @@ public function homeAction() } /** - * Get a list of the names of scripts available to run thorugh the admin panel. + * Get a list of the names of scripts available to run through the admin panel. * * @return array */ diff --git a/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommand.php b/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommand.php index 2503569b18a..9de130302d2 100644 --- a/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommand.php +++ b/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommand.php @@ -31,6 +31,7 @@ use Laminas\Config\Config; use Laminas\Crypt\BlockCipher; +use Laminas\Crypt\Exception\InvalidArgumentException; use Laminas\Crypt\Symmetric\Openssl; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; @@ -39,7 +40,10 @@ use VuFind\Config\Locator as ConfigLocator; use VuFind\Config\PathResolver; use VuFind\Config\Writer as ConfigWriter; +use VuFind\Db\Row\User as UserRow; +use VuFind\Db\Row\UserCard as UserCardRow; use VuFind\Db\Table\User as UserTable; +use VuFind\Db\Table\UserCard as UserCardTable; use function count; @@ -75,6 +79,13 @@ class SwitchDbHashCommand extends Command */ protected $userTable; + /** + * UserCard table gateway + * + * @var UserCardTable + */ + protected $userCardTable; + /** * Config file path resolver * @@ -85,20 +96,23 @@ class SwitchDbHashCommand extends Command /** * Constructor * - * @param Config $config VuFind configuration - * @param UserTable $userTable User table gateway - * @param string|null $name The name of the command; passing null means + * @param Config $config VuFind configuration + * @param UserTable $userTable User table gateway + * @param UserCardTable $userCardTable UserCard table gateway + * @param string|null $name The name of the command; passing null means * it must be set in configure() - * @param PathResolver $pathResolver Config file path resolver + * @param PathResolver $pathResolver Config file path resolver */ public function __construct( Config $config, UserTable $userTable, + UserCardTable $userCardTable, $name = null, PathResolver $pathResolver = null ) { $this->config = $config; $this->userTable = $userTable; + $this->userCardTable = $userCardTable; $this->pathResolver = $pathResolver; parent::__construct($name); } @@ -145,6 +159,26 @@ protected function getOpenSsl($algorithm) return ($algorithm == 'none') ? null : new Openssl(compact('algorithm')); } + /** + * Re-encrypt a row. + * + * @param UserRow|UserCardRow $row Row to update + * @param ?BlockCipher $oldcipher Old cipher (null for none) + * @param BlockCipher $newcipher New cipher + * + * @return void + * @throws InvalidArgumentException + */ + protected function fixRow($row, ?BlockCipher $oldcipher, BlockCipher $newcipher): void + { + $pass = ($oldcipher && $row['cat_pass_enc'] !== null) + ? $oldcipher->decrypt($row['cat_pass_enc']) + : $row['cat_password']; + $row['cat_password'] = null; + $row['cat_pass_enc'] = $pass === null ? null : $newcipher->encrypt($pass); + $row->save(); + } + /** * Run the command. * @@ -211,32 +245,39 @@ protected function execute(InputInterface $input, OutputInterface $output) return 1; } + // Set up ciphers for use below: + if ($oldhash != 'none') { + $oldcipher = new BlockCipher($oldCrypt); + $oldcipher->setKey($oldkey); + } else { + $oldcipher = null; + } + $newcipher = new BlockCipher($newCrypt); + $newcipher->setKey($newkey); + // Now do the database rewrite: - $users = $this->userTable->select( - function ($select) { - $select->where->isNotNull('cat_username'); - } - ); + $callback = function ($select) { + $select->where->isNotNull('cat_username'); + }; + $users = $this->userTable->select($callback); + $cards = $this->userCardTable->select($callback); $output->writeln("\tConverting hashes for " . count($users) . ' user(s).'); foreach ($users as $row) { - $pass = null; - if ($oldhash != 'none' && $row['cat_pass_enc'] ?? null !== null) { + try { + $this->fixRow($row, $oldcipher, $newcipher); + } catch (\Exception $e) { + $output->writeln("Problem with user {$row['username']}: " . (string)$e); + } + } + if (count($cards) > 0) { + $output->writeln("\tConverting hashes for " . count($cards) . ' card(s).'); + foreach ($cards as $row) { try { - $oldcipher = new BlockCipher($oldCrypt); - $oldcipher->setKey($oldkey); - $pass = $oldcipher->decrypt($row['cat_pass_enc']); + $this->fixRow($row, $oldcipher, $newcipher); } catch (\Exception $e) { - $output->writeln("Problem with user {$row['username']}: " . (string)$e); - continue; + $output->writeln("Problem with card {$row['id']}: " . (string)$e); } - } else { - $pass = $row['cat_password']; } - $newcipher = new BlockCipher($newCrypt); - $newcipher->setKey($newkey); - $row['cat_password'] = null; - $row['cat_pass_enc'] = $pass === null ? null : $newcipher->encrypt($pass); - $row->save(); } // If we got this far, all went well! diff --git a/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommandFactory.php b/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommandFactory.php index ad9032e11b2..22f9628c427 100644 --- a/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommandFactory.php +++ b/module/VuFindConsole/src/VuFindConsole/Command/Util/SwitchDbHashCommandFactory.php @@ -71,6 +71,7 @@ public function __invoke( return new $requestedName( $config, $tableManager->get(\VuFind\Db\Table\User::class), + $tableManager->get(\VuFind\Db\Table\UserCard::class), null, $container->get(\VuFind\Config\PathResolver::class), ...($options ?? []) diff --git a/module/VuFindConsole/tests/unit-tests/src/VuFindTest/Command/Util/SwitchDbHashCommandTest.php b/module/VuFindConsole/tests/unit-tests/src/VuFindTest/Command/Util/SwitchDbHashCommandTest.php index 6408f1718ee..2c87e52b172 100644 --- a/module/VuFindConsole/tests/unit-tests/src/VuFindTest/Command/Util/SwitchDbHashCommandTest.php +++ b/module/VuFindConsole/tests/unit-tests/src/VuFindTest/Command/Util/SwitchDbHashCommandTest.php @@ -34,7 +34,10 @@ use Laminas\Crypt\Symmetric\Openssl; use Symfony\Component\Console\Tester\CommandTester; use VuFind\Config\Writer; +use VuFind\Db\Row\User as UserRow; +use VuFind\Db\Row\UserCard as UserCardRow; use VuFind\Db\Table\User; +use VuFind\Db\Table\UserCard; use VuFindConsole\Command\Util\SwitchDbHashCommand; /** @@ -66,44 +69,42 @@ class SwitchDbHashCommandTest extends \PHPUnit\Framework\TestCase protected $encryptionAlgorithm = 'aes'; /** - * Prepare a mock object + * Get mock user table object * - * @param string $class Class to mock - * - * @return mixed + * @return User */ - protected function prepareMock($class) + protected function getMockUserTable(): User { - return $this->getMockBuilder($class) - ->disableOriginalConstructor() - ->getMock(); + return $this->createMock(User::class); } /** - * Get mock table object + * Get mock card table object * - * @return User + * @return UserCard */ - protected function getMockTable() + protected function getMockCardTable(): UserCard { - return $this->prepareMock(User::class); + return $this->createMock(UserCard::class); } /** * Get mock command object * - * @param array $config Config settings - * @param User $table User table gateway + * @param array $config Config settings + * @param ?User $userTable User table gateway + * @param ?UserCard $cardTable User table gateway * * @return SwitchDbhashCommand */ - protected function getMockCommand(array $config = [], $table = null) + protected function getMockCommand(array $config = [], ?User $userTable = null, ?UserCard $cardTable = null) { return $this->getMockBuilder(SwitchDbHashCommand::class) ->setConstructorArgs( [ new Config($config), - $table ?? $this->getMockTable(), + $userTable ?? $this->getMockUserTable(), + $cardTable ?? $this->getMockCardTable(), ] )->onlyMethods(['getConfigWriter']) ->getMock(); @@ -114,9 +115,9 @@ protected function getMockCommand(array $config = [], $table = null) * * @return Writer */ - protected function getMockConfigWriter() + protected function getMockConfigWriter(): Writer { - return $this->prepareMock(Writer::class); + return $this->createMock(Writer::class); } /** @@ -135,7 +136,7 @@ public function setUp(): void * * @return void */ - public function testWithoutParameters() + public function testWithoutParameters(): void { $this->expectException( \Symfony\Component\Console\Exception\RuntimeException::class @@ -153,7 +154,7 @@ public function testWithoutParameters() * * @return void */ - public function testWithoutKeyParameter() + public function testWithoutKeyParameter(): void { $command = $this->getMockCommand(); $commandTester = new CommandTester($command); @@ -170,7 +171,7 @@ public function testWithoutKeyParameter() * * @return void */ - public function testNoActionNeeded() + public function testNoActionNeeded(): void { $command = $this->getMockCommand( [ @@ -193,11 +194,11 @@ public function testNoActionNeeded() } /** - * Test failed configurate write. + * Test failed configuration write. * * @return void */ - public function testFailedConfigWrite() + public function testFailedConfigWrite(): void { $writer = $this->getMockConfigWriter(); $writer->expects($this->once())->method('save') @@ -221,7 +222,7 @@ public function testFailedConfigWrite() * * @return void */ - public function testSuccessNoUsers() + public function testSuccessNoUsers(): void { $writer = $this->getMockConfigWriter(); $this->expectConsecutiveCalls( @@ -239,10 +240,13 @@ public function testSuccessNoUsers() ); $writer->expects($this->once())->method('save') ->will($this->returnValue(true)); - $table = $this->getMockTable(); - $table->expects($this->once())->method('select') + $userTable = $this->getMockUserTable(); + $userTable->expects($this->once())->method('select') ->will($this->returnValue([])); - $command = $this->getMockCommand([], $table); + $cardTable = $this->getMockCardTable(); + $cardTable->expects($this->once())->method('select') + ->will($this->returnValue([])); + $command = $this->getMockCommand([], $userTable, $cardTable); $command->expects($this->once())->method('getConfigWriter') ->will($this->returnValue($writer)); $commandTester = new CommandTester($command); @@ -260,9 +264,9 @@ public function testSuccessNoUsers() /** * Get a mock row representing a user. * - * @return \VuFind\Db\Row\Search + * @return UserRow */ - protected function getMockUserObject() + protected function getMockUserObject(): UserRow { $data = [ 'id' => 2, @@ -272,7 +276,7 @@ protected function getMockUserObject() 'cat_password' => 'mypassword', 'last_language' => 'en', ]; - $adapter = $this->prepareMock(\Laminas\Db\Adapter\Adapter::class); + $adapter = $this->createMock(\Laminas\Db\Adapter\Adapter::class); $user = $this->getMockBuilder(\VuFind\Db\Row\User::class) ->setConstructorArgs([$adapter]) ->onlyMethods(['save']) @@ -281,6 +285,29 @@ protected function getMockUserObject() return $user; } + /** + * Get a mock row representing a card. + * + * @return UserCardRow + */ + protected function getMockUserCardObject(): UserCardRow + { + $data = [ + 'id' => 2, + 'user_id' => 1, + 'card_name' => 'my card ', + 'cat_username' => 'foo', + 'cat_password' => 'mypassword', + ]; + $adapter = $this->createMock(\Laminas\Db\Adapter\Adapter::class); + $card = $this->getMockBuilder(\VuFind\Db\Row\UserCard::class) + ->setConstructorArgs([$adapter]) + ->onlyMethods(['save']) + ->getMock(); + $card->populate($data, true); + return $card; + } + /** * Decode a hash to confirm that it was encoded correctly. * @@ -288,7 +315,7 @@ protected function getMockUserObject() * * @return string */ - protected function decode($hash) + protected function decode(string $hash): string { $cipher = new BlockCipher( new Openssl(['algorithm' => $this->encryptionAlgorithm]) @@ -302,7 +329,7 @@ protected function decode($hash) * * @return void */ - public function testSuccessWithUser() + public function testSuccessWithUser(): void { $writer = $this->getMockConfigWriter(); $this->expectConsecutiveCalls( @@ -322,10 +349,13 @@ public function testSuccessWithUser() ->will($this->returnValue(true)); $user = $this->getMockUserObject(); $user->expects($this->once())->method('save'); - $table = $this->getMockTable(); - $table->expects($this->once())->method('select') + $userTable = $this->getMockUserTable(); + $userTable->expects($this->once())->method('select') ->will($this->returnValue([$user])); - $command = $this->getMockCommand([], $table); + $cardTable = $this->getMockCardTable(); + $cardTable->expects($this->once())->method('select') + ->will($this->returnValue([])); + $command = $this->getMockCommand([], $userTable, $cardTable); $command->expects($this->once())->method('getConfigWriter') ->will($this->returnValue($writer)); $commandTester = new CommandTester($command); @@ -341,4 +371,52 @@ public function testSuccessWithUser() $this->assertEquals(null, $user['cat_password']); $this->assertEquals('mypassword', $this->decode($user['cat_pass_enc'])); } + + /** + * Test success with a card to update. + * + * @return void + */ + public function testSuccessWithCard(): void + { + $writer = $this->getMockConfigWriter(); + $this->expectConsecutiveCalls( + $writer, + 'set', + [ + ['Authentication', 'encrypt_ils_password', true], + [ + 'Authentication', + 'ils_encryption_algo', + $this->encryptionAlgorithm, + ], + ['Authentication', 'ils_encryption_key', 'foo'], + ] + ); + $writer->expects($this->once())->method('save') + ->will($this->returnValue(true)); + $card = $this->getMockUserCardObject(); + $card->expects($this->once())->method('save'); + $userTable = $this->getMockUserTable(); + $userTable->expects($this->once())->method('select') + ->will($this->returnValue([])); + $cardTable = $this->getMockCardTable(); + $cardTable->expects($this->once())->method('select') + ->will($this->returnValue([$card])); + $command = $this->getMockCommand([], $userTable, $cardTable); + $command->expects($this->once())->method('getConfigWriter') + ->will($this->returnValue($writer)); + $commandTester = new CommandTester($command); + $commandTester->execute( + ['newmethod' => $this->encryptionAlgorithm, 'newkey' => 'foo'] + ); + $this->assertEquals(0, $commandTester->getStatusCode()); + $this->assertEquals( + "\tUpdating {$this->expectedConfigIniPath}...\n\tConverting hashes for" + . " 0 user(s).\n\tConverting hashes for 1 card(s).\n\tFinished.\n", + $commandTester->getDisplay() + ); + $this->assertEquals(null, $card['cat_password']); + $this->assertEquals('mypassword', $this->decode($card['cat_pass_enc'])); + } } diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Backend.php b/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Backend.php index 6e458783413..5cebbd4dfff 100644 --- a/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Backend.php +++ b/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Backend.php @@ -304,12 +304,10 @@ protected function fillMergedCollection( } $backendOffsets = []; - $collectionOffsets = []; $backendTotals = []; $availableBackendIds = array_keys($collections); foreach ($availableBackendIds as $backendId) { $backendOffsets[$backendId] = 0; - $collectionOffsets[$backendId] = 0; $backendTotals[$backendId] = $collections[$backendId]->getTotal(); } // First iterate through the merged records before the offset to diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Response/Json/RecordCollection.php b/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Response/Json/RecordCollection.php index 05321fc040e..56162999d6a 100644 --- a/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Response/Json/RecordCollection.php +++ b/module/VuFindSearch/src/VuFindSearch/Backend/Blender/Response/Json/RecordCollection.php @@ -412,7 +412,7 @@ protected function mapFacetValues(array $collections, array $settings): array } /** - * Get parent hierachy keys for a facet value + * Get parent hierarchy keys for a facet value * * For example with '2/Main/Sub/Shelf/' the result is: * [ diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/EDS/Connector.php b/module/VuFindSearch/src/VuFindSearch/Backend/EDS/Connector.php index 5fd0578b8bd..38e154be612 100644 --- a/module/VuFindSearch/src/VuFindSearch/Backend/EDS/Connector.php +++ b/module/VuFindSearch/src/VuFindSearch/Backend/EDS/Connector.php @@ -85,7 +85,7 @@ public function __construct($settings, $client) * @param string $queryString Query string to append to URL * @param array $headers HTTP headers to send * @param string $messageBody Message body to for HTTP Request - * @param string $messageFormat Format of request $messageBody and respones + * @param string $messageFormat Format of request $messageBody and responses * @param bool $cacheable Whether the request is cacheable * * @throws ApiException diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Primo/RestConnector.php b/module/VuFindSearch/src/VuFindSearch/Backend/Primo/RestConnector.php index 814d92eb382..8b67fd0419b 100644 --- a/module/VuFindSearch/src/VuFindSearch/Backend/Primo/RestConnector.php +++ b/module/VuFindSearch/src/VuFindSearch/Backend/Primo/RestConnector.php @@ -353,7 +353,7 @@ protected function performSearch($terms, $args) // pcAvailability = false // By setting this value to true, also matches, which // are NOT available via Holdingsfile are returned - // (yes, right, set this to true - thats ExLibris Logic) + // (yes, right, set this to true - that's ExLibris Logic) if ($args['pcAvailability']) { $qs['pcAvailability'] = 'true'; } diff --git a/module/VuFindSearch/src/VuFindSearch/Backend/Solr/HandlerMap.php b/module/VuFindSearch/src/VuFindSearch/Backend/Solr/HandlerMap.php index e8bbe7437f2..b363857b581 100644 --- a/module/VuFindSearch/src/VuFindSearch/Backend/Solr/HandlerMap.php +++ b/module/VuFindSearch/src/VuFindSearch/Backend/Solr/HandlerMap.php @@ -243,7 +243,7 @@ public function setParameters($handler, $type, array $parameters) } /** - * Return handler defauls, appends, or invariants. + * Return handler defaults, appends, or invariants. * * @param string $handler Request handler * @param string $type Parameter type, one of 'defaults', 'appends', diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/BrowZine/Response/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/BrowZine/Response/RecordCollectionFactoryTest.php index 8195330e4f3..c7e923f2212 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/BrowZine/Response/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/BrowZine/Response/RecordCollectionFactoryTest.php @@ -67,6 +67,6 @@ public function testInvalidInput() $this->expectExceptionMessage('Unexpected type of value: Expected array, got string'); $fact = new RecordCollectionFactory(); - $coll = $fact->factory('garbage'); + $fact->factory('garbage'); } } diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EDS/Response/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EDS/Response/RecordCollectionFactoryTest.php index cc587161ed4..cb6e14d98f5 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EDS/Response/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EDS/Response/RecordCollectionFactoryTest.php @@ -53,7 +53,7 @@ public function testConstructorRequiresFactoryFunction() $this->expectException(\VuFindSearch\Exception\InvalidArgumentException::class); $this->expectExceptionMessage('Record factory must be callable.'); - $factory = new RecordCollectionFactory(null); + new RecordCollectionFactory(null); } /** diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EIT/Response/XML/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EIT/Response/XML/RecordCollectionFactoryTest.php index 20895192ebe..21c26d71d03 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EIT/Response/XML/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/EIT/Response/XML/RecordCollectionFactoryTest.php @@ -53,7 +53,7 @@ public function testConstructorRequiresValidFactoryFunction() $this->expectException(\VuFindSearch\Exception\InvalidArgumentException::class); $this->expectExceptionMessage('Record factory must be callable.'); - $factory = new RecordCollectionFactory(12345); + new RecordCollectionFactory(12345); } /** @@ -70,6 +70,6 @@ public function testInvalidInput() function () { } ); - $coll = $fact->factory('garbage'); + $fact->factory('garbage'); } } diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/LibGuides/Response/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/LibGuides/Response/RecordCollectionFactoryTest.php index fc124eed815..71b704b02b3 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/LibGuides/Response/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/LibGuides/Response/RecordCollectionFactoryTest.php @@ -67,6 +67,6 @@ public function testInvalidInput() $this->expectExceptionMessage('Unexpected type of value: Expected array, got string'); $fact = new RecordCollectionFactory(); - $coll = $fact->factory('garbage'); + $fact->factory('garbage'); } } diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Primo/Response/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Primo/Response/RecordCollectionFactoryTest.php index 24422ea79ce..874b3b963dc 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Primo/Response/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Primo/Response/RecordCollectionFactoryTest.php @@ -53,7 +53,7 @@ public function testConstructorRequiresValidFactoryFunction() $this->expectException(\VuFindSearch\Exception\InvalidArgumentException::class); $this->expectExceptionMessage('Record factory must be callable.'); - $factory = new RecordCollectionFactory(12345); + new RecordCollectionFactory(12345); } /** @@ -67,6 +67,6 @@ public function testInvalidInput() $this->expectExceptionMessage('Unexpected type of value: Expected array, got string'); $fact = new RecordCollectionFactory(); - $coll = $fact->factory('garbage'); + $fact->factory('garbage'); } } diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/BackendTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/BackendTest.php index 5908f8cab1f..0d8837e9358 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/BackendTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/BackendTest.php @@ -116,7 +116,6 @@ protected function runRetrieveBatchTests($back) $recs = $coll->getRecords(); $this->assertEquals('test', $recs[1]->getSourceIdentifier()); $this->assertEquals('125456', $recs[1]->id); - $rec = $coll->next(); $this->assertEquals('test', $recs[2]->getSourceIdentifier()); $this->assertEquals('234547', $recs[2]->id); } @@ -413,7 +412,7 @@ public function testBadJson() ->method('query') ->will($this->returnValue('bad {')); $back = new Backend($conn); - $terms = $back->terms('author', '', -1); + $back->terms('author', '', -1); } /** diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/ConnectorTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/ConnectorTest.php index b458cb4b602..d03350b109b 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/ConnectorTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/ConnectorTest.php @@ -96,7 +96,7 @@ public function testInternalServerError() $this->expectExceptionCode(500); $conn = $this->createConnector('internal-server-error'); - $resp = $conn->retrieve('id'); + $conn->retrieve('id'); } /** @@ -110,7 +110,7 @@ public function testBadRequestError() $this->expectExceptionCode(400); $conn = $this->createConnector('bad-request'); - $resp = $conn->retrieve('id'); + $conn->retrieve('id'); } /** diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/Response/Json/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/Response/Json/RecordCollectionFactoryTest.php index ed60081c258..f7d4fdff3c2 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/Response/Json/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Solr/Response/Json/RecordCollectionFactoryTest.php @@ -67,6 +67,6 @@ public function testInvalidInput() $this->expectExceptionMessage('Unexpected type of value: Expected array, got string'); $fact = new RecordCollectionFactory(); - $coll = $fact->factory('garbage'); + $fact->factory('garbage'); } } diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Summon/Response/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Summon/Response/RecordCollectionFactoryTest.php index 2e83f0ff387..d375055aac8 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Summon/Response/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/Summon/Response/RecordCollectionFactoryTest.php @@ -53,7 +53,7 @@ public function testConstructorRequiresFactoryFunction() $this->expectException(\VuFindSearch\Exception\InvalidArgumentException::class); $this->expectExceptionMessage('Record factory must be callable.'); - $factory = new RecordCollectionFactory(12345); + new RecordCollectionFactory(12345); } /** diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/WorldCat/Response/XML/RecordCollectionFactoryTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/WorldCat/Response/XML/RecordCollectionFactoryTest.php index a294d372c99..d6882e01955 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/WorldCat/Response/XML/RecordCollectionFactoryTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Backend/WorldCat/Response/XML/RecordCollectionFactoryTest.php @@ -52,7 +52,7 @@ public function testBadCallback() $this->expectException(\VuFindSearch\Exception\InvalidArgumentException::class); $this->expectExceptionMessage('Record factory must be callable.'); - $x = new RecordCollectionFactory('bad'); + new RecordCollectionFactory('bad'); } /** diff --git a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Command/SearchCommandTest.php b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Command/SearchCommandTest.php index 3ddc7f88388..4cf97e98a54 100644 --- a/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Command/SearchCommandTest.php +++ b/module/VuFindSearch/tests/unit-tests/src/VuFindTest/Command/SearchCommandTest.php @@ -139,7 +139,6 @@ public function testSearchParameters() */ public function testCommandContext() { - $backendId = 'bar'; $command = $this->getCommand(); $this->assertEquals('search', $command->getContext()); $command->setContext('search2'); diff --git a/module/VuFindTheme/src/VuFindTheme/Initializer.php b/module/VuFindTheme/src/VuFindTheme/Initializer.php index 97979c1ffd0..d90ca0524bb 100644 --- a/module/VuFindTheme/src/VuFindTheme/Initializer.php +++ b/module/VuFindTheme/src/VuFindTheme/Initializer.php @@ -341,14 +341,6 @@ protected function setUpThemes($themes) $resources->setGenerator($this->config->generator); } - $lessActive = false; - // Find LESS activity - foreach ($themes as $key => $currentThemeInfo) { - if (isset($currentThemeInfo['less']['active'])) { - $lessActive = $currentThemeInfo['less']['active']; - } - } - // Determine doctype and apply it: $doctype = 'HTML5'; foreach ($themes as $key => $currentThemeInfo) { diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/ConcatTrait.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/ConcatTrait.php index ab46456e54a..853e89602c1 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/ConcatTrait.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/ConcatTrait.php @@ -144,7 +144,7 @@ public function getType($item) protected $concatIndex = null; /** - * Check if config is enamled for this file type + * Check if config is enabled for this file type * * @param string|bool $config Config for current application environment * @@ -227,7 +227,7 @@ protected function filterItems() /** * Get the path to the directory where we can cache files generated by - * this trait. + * this trait. The directory will be created if it does not already exist. * * @return string */ @@ -238,7 +238,14 @@ protected function getResourceCacheDir() 'Asset pipeline feature depends on the LOCAL_CACHE_DIR constant.' ); } - return LOCAL_CACHE_DIR . '/public/'; + // TODO: it might be better to use \VuFind\Cache\Manager here. + $cacheDir = LOCAL_CACHE_DIR . '/public/'; + if (!is_dir($cacheDir) && !file_exists($cacheDir)) { + if (!mkdir($cacheDir)) { + throw new \Exception("Unexpected problem creating cache directory: $cacheDir"); + } + } + return $cacheDir; } /** diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/SetupThemeResources.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/SetupThemeResources.php index 3808b1f05ce..fabf2b6ef70 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/SetupThemeResources.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/SetupThemeResources.php @@ -108,7 +108,7 @@ protected function addLinks() // resources should load before extras added by individual templates): foreach (array_reverse($this->container->getCss()) as $current) { $parts = $this->container->parseSetting($current); - // Special case for media with paretheses + // Special case for media with parentheses // ie. (min-width: 768px) if (count($parts) > 1 && str_starts_with($parts[1], '(')) { $parts[1] .= ':' . $parts[2]; diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/Slot.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/Slot.php index 62df6255b7a..9e2a76ac1a4 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/Slot.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/Slot.php @@ -50,7 +50,7 @@ class Slot extends \Laminas\View\Helper\AbstractHelper public const APPEND = 'APPEND'; /** - * Storage for strings to be concatinated to the front of a block + * Storage for strings to be concatenated to the front of a block * * @var array of arrays */ @@ -64,7 +64,7 @@ class Slot extends \Laminas\View\Helper\AbstractHelper protected $blocks = []; /** - * Storage for strings to be concatinated to the end of a block + * Storage for strings to be concatenated to the end of a block * * @var array of arrays */ @@ -122,7 +122,7 @@ public function isset() * Prepends, blocks, and appends are separated byspacestopreventthisfromhappening * * Non-string data can be stored in a slot but prepend and append - * will cause it to be concatinated into a string. + * will cause it to be concatenated into a string. * * @param string $name Name of target block for action * @@ -230,7 +230,6 @@ public function start() public function end($method = self::SET) { $method = strtoupper($method); - $ret = null; if ($method == self::SET) { $ret = $this->set(ob_get_contents()); } elseif ($method == self::PREPEND) { diff --git a/module/VuFindTheme/src/VuFindTheme/View/Helper/TemplatePath.php b/module/VuFindTheme/src/VuFindTheme/View/Helper/TemplatePath.php index 126a6e51286..2ecaa99ae9e 100644 --- a/module/VuFindTheme/src/VuFindTheme/View/Helper/TemplatePath.php +++ b/module/VuFindTheme/src/VuFindTheme/View/Helper/TemplatePath.php @@ -93,7 +93,7 @@ public function __invoke($template, $targetTheme) $path = $this->pathPre . $targetTheme . $this->pathPost . $template; if (!file_exists($path)) { throw new \Exception( - 'template not found in ' . $targetTheme . ': ' . $template + 'Template not found in ' . $targetTheme . ': ' . $template ); } return $path; diff --git a/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/SlotTest.php b/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/SlotTest.php index 6889c516873..40dd9de35e0 100644 --- a/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/SlotTest.php +++ b/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/SlotTest.php @@ -198,11 +198,11 @@ public function testPrepend() $this->assertEquals(null, $helper('test')->get()); // test empty strings - $ret = $helper('test')->set(''); + $helper('test')->set(''); $ret = $helper('test')->prepend('PRE1'); $this->assertEquals('PRE1', $ret); $helper('test')->clear(); - $ret = $helper('test')->set('BASE'); + $helper('test')->set('BASE'); $ret = $helper('test')->prepend(''); $this->assertEquals('BASE', $ret); } @@ -240,11 +240,11 @@ public function testAppend() $this->assertEquals(null, $helper('test')->get()); // test empty strings - $ret = $helper('test')->set(''); + $helper('test')->set(''); $ret = $helper('test')->append('POST'); $this->assertEquals('POST', $ret); $helper('test')->clear(); - $ret = $helper('test')->set('BASE'); + $helper('test')->set('BASE'); $ret = $helper('test')->append(''); $this->assertEquals('BASE', $ret); } diff --git a/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/TemplatePathTest.php b/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/TemplatePathTest.php index 92bf30f3359..737f448b5fd 100644 --- a/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/TemplatePathTest.php +++ b/module/VuFindTheme/tests/unit-tests/src/VuFindTest/View/Helper/TemplatePathTest.php @@ -107,7 +107,7 @@ public function testExists() public function testThemeDoesntExist() { $this->expectException(\Exception::class); - $this->expectExceptionMessage('emplate not found in missing: file.phtml'); + $this->expectExceptionMessage('Template not found in missing: file.phtml'); $helper = $this->getHelper(); $helper('file.phtml', 'missing'); @@ -121,7 +121,7 @@ public function testThemeDoesntExist() public function testFileDoesntExist() { $this->expectException(\Exception::class); - $this->expectExceptionMessage('emplate not found in parent: missing.phtml'); + $this->expectExceptionMessage('Template not found in parent: missing.phtml'); $helper = $this->getHelper(); $helper('missing.phtml', 'parent'); diff --git a/themes/bootprint3/css/compiled.css b/themes/bootprint3/css/compiled.css index f6d97d91295..a82e042f7d2 100644 --- a/themes/bootprint3/css/compiled.css +++ b/themes/bootprint3/css/compiled.css @@ -5,4 +5,4 @@ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label,.result .format,.sidebar .format{border:1px solid #000}.table,.search-history-table{border-collapse:collapse !important}.table td,.table th,.search-history-table td,.search-history-table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#12538B;text-decoration:none}a:hover,a:focus{color:#092b47;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:5px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#619144}a.text-primary:hover,a.text-primary:focus{color:#4a6e34}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#8a211e}a.text-danger:hover,a.text-danger:focus{color:#601715}.bg-primary{color:#fff;background-color:#619144}a.bg-primary:hover,a.bg-primary:focus{background-color:#4a6e34}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin:0;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:3px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{padding-right:7px;padding-left:7px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{width:734px}}@media (min-width:992px){.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{width:952px}}@media (min-width:1200px){.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{width:952px}}.container-fluid{padding-right:7px;padding-left:7px;margin-right:auto;margin-left:auto}.row{margin-right:-7px;margin-left:-7px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.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,.col-lg-12{position:relative;min-height:1px;padding-right:7px;padding-left:7px}.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{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table,.search-history-table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td,.search-history-table>thead>tr>th,.search-history-table>tbody>tr>th,.search-history-table>tfoot>tr>th,.search-history-table>thead>tr>td,.search-history-table>tbody>tr>td,.search-history-table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th,.search-history-table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td,.search-history-table>caption+thead>tr:first-child>th,.search-history-table>colgroup+thead>tr:first-child>th,.search-history-table>thead:first-child>tr:first-child>th,.search-history-table>caption+thead>tr:first-child>td,.search-history-table>colgroup+thead>tr:first-child>td,.search-history-table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody,.search-history-table>tbody+tbody{border-top:2px solid #ddd}.table .table,.search-history-table .search-history-table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd),.search-history-table>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th,.search-history-table>thead>tr>td.active,.search-history-table>tbody>tr>td.active,.search-history-table>tfoot>tr>td.active,.search-history-table>thead>tr>th.active,.search-history-table>tbody>tr>th.active,.search-history-table>tfoot>tr>th.active,.search-history-table>thead>tr.active>td,.search-history-table>tbody>tr.active>td,.search-history-table>tfoot>tr.active>td,.search-history-table>thead>tr.active>th,.search-history-table>tbody>tr.active>th,.search-history-table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th,.search-history-table>thead>tr>td.success,.search-history-table>tbody>tr>td.success,.search-history-table>tfoot>tr>td.success,.search-history-table>thead>tr>th.success,.search-history-table>tbody>tr>th.success,.search-history-table>tfoot>tr>th.success,.search-history-table>thead>tr.success>td,.search-history-table>tbody>tr.success>td,.search-history-table>tfoot>tr.success>td,.search-history-table>thead>tr.success>th,.search-history-table>tbody>tr.success>th,.search-history-table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th,.search-history-table>thead>tr>td.info,.search-history-table>tbody>tr>td.info,.search-history-table>tfoot>tr>td.info,.search-history-table>thead>tr>th.info,.search-history-table>tbody>tr>th.info,.search-history-table>tfoot>tr>th.info,.search-history-table>thead>tr.info>td,.search-history-table>tbody>tr.info>td,.search-history-table>tfoot>tr.info>td,.search-history-table>thead>tr.info>th,.search-history-table>tbody>tr.info>th,.search-history-table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th,.search-history-table>thead>tr>td.warning,.search-history-table>tbody>tr>td.warning,.search-history-table>tfoot>tr>td.warning,.search-history-table>thead>tr>th.warning,.search-history-table>tbody>tr>th.warning,.search-history-table>tfoot>tr>th.warning,.search-history-table>thead>tr.warning>td,.search-history-table>tbody>tr.warning>td,.search-history-table>tfoot>tr.warning>td,.search-history-table>thead>tr.warning>th,.search-history-table>tbody>tr.warning>th,.search-history-table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th,.search-history-table>thead>tr>td.danger,.search-history-table>tbody>tr>td.danger,.search-history-table>tfoot>tr>td.danger,.search-history-table>thead>tr>th.danger,.search-history-table>tbody>tr>th.danger,.search-history-table>tfoot>tr>th.danger,.search-history-table>thead>tr.danger>td,.search-history-table>tbody>tr.danger>td,.search-history-table>tfoot>tr.danger>td,.search-history-table>thead>tr.danger>th,.search-history-table>tbody>tr.danger>th,.search-history-table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive,.search-history-table{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive,.search-history-table{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table,.table-responsive>.search-history-table,.search-history-table>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td,.table-responsive>.search-history-table>thead>tr>th,.table-responsive>.search-history-table>tbody>tr>th,.table-responsive>.search-history-table>tfoot>tr>th,.table-responsive>.search-history-table>thead>tr>td,.table-responsive>.search-history-table>tbody>tr>td,.table-responsive>.search-history-table>tfoot>tr>td,.search-history-table>.table>thead>tr>th,.search-history-table>.table>tbody>tr>th,.search-history-table>.table>tfoot>tr>th,.search-history-table>.table>thead>tr>td,.search-history-table>.table>tbody>tr>td,.search-history-table>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered,.search-history-table>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.search-history-table>.table-bordered>thead>tr>th:first-child,.search-history-table>.table-bordered>tbody>tr>th:first-child,.search-history-table>.table-bordered>tfoot>tr>th:first-child,.search-history-table>.table-bordered>thead>tr>td:first-child,.search-history-table>.table-bordered>tbody>tr>td:first-child,.search-history-table>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.search-history-table>.table-bordered>thead>tr>th:last-child,.search-history-table>.table-bordered>tbody>tr>th:last-child,.search-history-table>.table-bordered>tfoot>tr>th:last-child,.search-history-table>.table-bordered>thead>tr>td:last-child,.search-history-table>.table-bordered>tbody>tr>td:last-child,.search-history-table>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.search-history-table>.table-bordered>tbody>tr:last-child>th,.search-history-table>.table-bordered>tfoot>tr:last-child>th,.search-history-table>.table-bordered>tbody>tr:last-child>td,.search-history-table>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #777}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:4px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:28px;padding:3px 5px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#619144;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(97, 145, 68, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(97, 145, 68, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:28px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:22px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:42px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:4px;padding-bottom:4px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:22px;padding:1px 2px;font-size:12px;line-height:1.5;border-radius:2px}select.input-sm{height:22px;line-height:22px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:22px;padding:1px 2px;font-size:12px;line-height:1.5;border-radius:2px}.form-group-sm select.form-control{height:22px;line-height:22px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:22px;min-height:32px;padding:2px 2px;font-size:12px;line-height:1.5}.input-lg{height:42px;padding:8px 5px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-lg{height:42px;line-height:42px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:42px;padding:8px 5px;font-size:18px;line-height:1.3333333;border-radius:5px}.form-group-lg select.form-control{height:42px;line-height:42px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:42px;min-height:38px;padding:9px 5px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:35px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:28px;height:28px;line-height:28px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:42px;height:42px;line-height:42px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:22px;height:22px;line-height:22px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#8a211e}.has-error .form-control{border-color:#8a211e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#601715;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d43e3a;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d43e3a}.has-error .input-group-addon{color:#8a211e;background-color:#f2dede;border-color:#8a211e}.has-error .form-control-feedback{color:#8a211e}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:4px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:24px}.form-horizontal .form-group{margin-right:-7px;margin-left:-7px}@media (min-width:768px){.form-horizontal .control-label{padding-top:4px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:7px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:9px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:2px;font-size:12px}}.btn,.search-filter-toggle{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:3px 5px;font-size:14px;line-height:1.42857143;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default,.search-filter-toggle{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .btn-default.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.btn-primary{color:#fff;background-color:#619144;border-color:#fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#4a6e34;border-color:#bfbfbf}.btn-primary:hover{color:#fff;background-color:#4a6e34;border-color:#e0e0e0}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#4a6e34;background-image:none;border-color:#e0e0e0}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#3a5628;border-color:#bfbfbf}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#619144;border-color:#fff}.btn-primary .badge{color:#619144;background-color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .btn-primary.dropdown-toggle{color:#619144;background-color:#fff;border-color:#e0e0e0}.btn-success{color:#fff;background-color:#028302;border-color:#fff}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#015101;border-color:#bfbfbf}.btn-success:hover{color:#fff;background-color:#015101;border-color:#e0e0e0}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#015101;background-image:none;border-color:#e0e0e0}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#012e01;border-color:#bfbfbf}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#028302;border-color:#fff}.btn-success .badge{color:#028302;background-color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .btn-success.dropdown-toggle{color:#028302;background-color:#fff;border-color:#e0e0e0}.btn-info{color:#fff;background-color:#1C5F74;border-color:#fff}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#123d4b;border-color:#bfbfbf}.btn-info:hover{color:#fff;background-color:#123d4b;border-color:#e0e0e0}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#123d4b;background-image:none;border-color:#e0e0e0}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#0b262e;border-color:#bfbfbf}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#1C5F74;border-color:#fff}.btn-info .badge{color:#1C5F74;background-color:#fff}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .btn-info.dropdown-toggle{color:#1C5F74;background-color:#fff;border-color:#e0e0e0}.btn-warning{color:#fff;background-color:#A56100;border-color:#fff}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#724300;border-color:#bfbfbf}.btn-warning:hover{color:#fff;background-color:#724300;border-color:#e0e0e0}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#724300;background-image:none;border-color:#e0e0e0}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#4e2e00;border-color:#bfbfbf}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#A56100;border-color:#fff}.btn-warning .badge{color:#A56100;background-color:#fff}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .btn-warning.dropdown-toggle{color:#A56100;background-color:#fff;border-color:#e0e0e0}.btn-danger{color:#fff;background-color:#A41915;border-color:#fff}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#77120f;border-color:#bfbfbf}.btn-danger:hover{color:#fff;background-color:#77120f;border-color:#e0e0e0}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#77120f;background-image:none;border-color:#e0e0e0}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#570d0b;border-color:#bfbfbf}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#A41915;border-color:#fff}.btn-danger .badge{color:#A41915;background-color:#fff}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .btn-danger.dropdown-toggle{color:#A41915;background-color:#fff;border-color:#e0e0e0}.btn-link{font-weight:400;color:#12538B;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#092b47;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:8px 5px;font-size:18px;line-height:1.3333333;border-radius:5px}.btn-sm,.btn-group-sm>.btn{padding:1px 2px;font-size:12px;line-height:1.5;border-radius:2px}.btn-xs,.btn-group-xs>.btn{padding:1px 1px;font-size:12px;line-height:1.5;border-radius:2px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:3px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#619144;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:42px;padding:8px 5px;font-size:18px;line-height:1.3333333;border-radius:5px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:42px;line-height:42px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:22px;padding:1px 2px;font-size:12px;line-height:1.5;border-radius:2px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:22px;line-height:22px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:3px 5px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:3px}.input-group-addon.input-sm{padding:1px 2px;font-size:12px;border-radius:2px}.input-group-addon.input-lg{padding:8px 5px;font-size:18px;border-radius:5px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:5px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#12538B}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:3px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#619144}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:65px;margin-bottom:0;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:3px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:7px;padding-left:7px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-7px;margin-left:-7px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:65px;padding:22.5px 7px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-7px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:7px;margin-top:15.5px;margin-bottom:15.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:3px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:11.25px -7px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:22.5px;padding-bottom:22.5px}}.navbar-form{padding:10px 7px;margin-right:-7px;margin-left:-7px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:18.5px;margin-bottom:18.5px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:18.5px;margin-bottom:18.5px}.navbar-btn.btn-sm{margin-top:21.5px;margin-bottom:21.5px}.navbar-btn.btn-xs{margin-top:21.5px;margin-bottom:21.5px}.navbar-text{margin-top:22.5px;margin-bottom:22.5px}@media (min-width:768px){.navbar-text{float:left;margin-right:7px;margin-left:7px}}@media (min-width:768px){.navbar-left{float:left !important;float:left}.navbar-right{float:right !important;float:right;margin-right:-7px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#132531;border-color:#0a1319}.navbar-default .navbar-brand{color:#fff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#068139;background-color:transparent}.navbar-default .navbar-text{color:#fff}.navbar-default .navbar-nav>li>a{color:#fff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#132531;background-color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#132531;background-color:#fff}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#fff;background-color:#068139}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#132531;background-color:#fff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#fff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#132531;background-color:#fff}.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{color:#132531;background-color:#fff}.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{color:#fff;background-color:#068139}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0a1319}.navbar-default .navbar-link{color:#fff}.navbar-default .navbar-link:hover{color:#132531}.navbar-default .btn-link{color:#fff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#132531}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#fff}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.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{color:#fff;background-color:#080808}.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{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:6px 20px;margin-bottom:20px;list-style:none;background-color:#FFF;border-radius:3px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#777;content:"/\00a0"}.breadcrumb>.active{color:#333}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:3px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:3px 5px;margin-left:-1px;line-height:1.42857143;color:#12538B;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#092b47;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#619144;border-color:#619144}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:8px 5px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:5px;border-bottom-right-radius:5px}.pagination-sm>li>a,.pagination-sm>li>span{padding:1px 2px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:2px;border-bottom-left-radius:2px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:2px;border-bottom-right-radius:2px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label,.result .format,.sidebar .format{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#619144}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#4a6e34}.label-success{background-color:#028302}.label-success[href]:hover,.label-success[href]:focus{background-color:#015101}.label-info,.result .format,.sidebar .format{background-color:#1C5F74}.label-info[href]:hover,.label-info[href]:focus{background-color:#123d4b}.label-warning{background-color:#A56100}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#724300}.label-danger{background-color:#A41915}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#77120f}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#595959;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#12538B;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:7px;padding-left:7px;border-radius:5px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:3px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#12538B}.thumbnail .caption{padding:9px;color:#333}.alert,.savedLists{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:3px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info,.savedLists{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#8a211e;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#601715}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#619144;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);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);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);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#028302}.progress-striped .progress-bar-success{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);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);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)}.progress-bar-info{background-color:#1C5F74}.progress-striped .progress-bar-info{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);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);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)}.progress-bar-warning{background-color:#A56100}.progress-striped .progress-bar-warning{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);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);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)}.progress-bar-danger{background-color:#A41915}.progress-striped .progress-bar-danger{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);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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item,.result.embedded .getFull.expanded,.result.embedded .loading{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.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{color:inherit}.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{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#619144;border-color:#619144}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.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{color:#cce1c0}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#8a211e;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#8a211e}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#8a211e;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#8a211e;border-color:#8a211e}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:5px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:2px;border-top-right-radius:2px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel>.search-history-table,.panel>.table-responsive>.search-history-table,.panel>.panel-collapse>.search-history-table,.panel>.search-history-table>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel>.search-history-table caption,.panel>.table-responsive>.search-history-table caption,.panel>.panel-collapse>.search-history-table caption,.panel>.search-history-table>.table caption{padding-right:5px;padding-left:5px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel>.search-history-table:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child,.panel>.search-history-table:first-child>.table:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:2px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:2px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel>.search-history-table:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child,.panel>.search-history-table:last-child>.table:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:2px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:2px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel>.panel-body+.search-history-table,.panel>.search-history-table+.panel-body,.panel>.panel-body+.search-history-table,.panel>.search-history-table+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel>.search-history-table>tbody:first-child>tr:first-child th,.panel>.search-history-table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel>.search-history-table>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.search-history-table>.table-bordered>thead>tr>th:first-child,.panel>.search-history-table>.table-bordered>tbody>tr>th:first-child,.panel>.search-history-table>.table-bordered>tfoot>tr>th:first-child,.panel>.search-history-table>.table-bordered>thead>tr>td:first-child,.panel>.search-history-table>.table-bordered>tbody>tr>td:first-child,.panel>.search-history-table>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.search-history-table>.table-bordered>thead>tr>th:last-child,.panel>.search-history-table>.table-bordered>tbody>tr>th:last-child,.panel>.search-history-table>.table-bordered>tfoot>tr>th:last-child,.panel>.search-history-table>.table-bordered>thead>tr>td:last-child,.panel>.search-history-table>.table-bordered>tbody>tr>td:last-child,.panel>.search-history-table>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.search-history-table>.table-bordered>thead>tr:first-child>td,.panel>.search-history-table>.table-bordered>tbody>tr:first-child>td,.panel>.search-history-table>.table-bordered>thead>tr:first-child>th,.panel>.search-history-table>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.search-history-table>.table-bordered>tbody>tr:last-child>td,.panel>.search-history-table>.table-bordered>tfoot>tr:last-child>td,.panel>.search-history-table>.table-bordered>tbody>tr:last-child>th,.panel>.search-history-table>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel>.search-history-table{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:3px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#619144}.panel-primary>.panel-heading{color:#fff;background-color:#619144;border-color:#619144}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#619144}.panel-primary>.panel-heading .badge{color:#619144;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#619144}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#8a211e;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#8a211e}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:5px}.well-sm{padding:9px;border-radius:2px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:4px 4px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after,footer:before,footer:after,.template-dir-combined.template-name-results footer .footer-container:before,.template-dir-combined.template-name-results footer .footer-container:after,.template-dir-combined.template-name-results footer .poweredby:before,.template-dir-combined.template-name-results footer .poweredby:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after,footer:after,.template-dir-combined.template-name-results footer .footer-container:after,.template-dir-combined.template-name-results footer .poweredby:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.dropdown-menu-ul-links,.dropdown-menu>li>.prompt-text{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu-ul-links:hover,.dropdown-menu-ul-links:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}/*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../bootstrap3/css/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0);clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0 0 0 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0, rgba(0,0,0,0.5) 100%);box-shadow:0 0 0 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:.5em;left:.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info,.savedLists{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,input:-ms-input-placeholder,textarea:-ms-input-placeholder,input::-ms-input-placeholder,textarea::-ms-input-placeholder,input::placeholder,textarea::placeholder{color:#888}.sr-only{clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only:focus{background-color:#fff;border-radius:3px;clip:auto;color:#132531;display:block;font-size:14px;height:65px;line-height:20px;padding:22.5px 7px;position:absolute;left:5px;top:5px;text-decoration:none;text-transform:none;width:auto;z-index:100000}.navbar-brand{font-size:20px}a{text-decoration:underline}a:hover{color:black}.alert-danger,.alert-danger a{color:#8a211e}.alert-danger .btn-danger,.alert-danger a .btn-danger{color:white}.alert-danger .btn-danger:hover,.alert-danger a .btn-danger:hover{color:#8a211e}.searchForm .advanced-search-link{text-decoration:underline}.adv-group{position:relative;margin-bottom:.5rem;padding:1rem;border:1px solid #ddd;border-radius:3px}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group~.adv-group{margin-top:1rem}.adv-group .add_search_link{display:inline-block;margin-top:4px}.add_search_link,.adv-group-close{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.adv-group-close{color:#8a211e}.adv-search,.adv-search .input-group{width:100%}.adv-search{margin-bottom:1.5rem}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-term-input{margin-bottom:.5rem}.adv-term-type{float:left;max-width:80%}.adv-term-remove{color:#000;font-size:1.2rem;float:left;width:20%;height:30px;line-height:1.7;text-align:center;opacity:.4}.adv-term-remove .icon--image{vertical-align:middle}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit .clear-btn{float:right}@media (min-width:768px){.adv-group-terms{float:left;width:75%;padding-right:1rem}.adv-group-match{float:right;width:25%}.adv-group-close{position:absolute;right:1rem;bottom:1rem;min-width:calc(25% - 1rem)}.adv-search{margin-bottom:0}.adv-search .adv-term-input,.adv-search .adv-term-type{float:left}.adv-search .adv-term-input{width:60%;margin-right:2%}.adv-search .adv-term-type{max-width:30%}.adv-search .adv-term-remove{width:8%}}#groupPlaceHolder{display:block;padding:1rem}@media (min-width:768px){fieldset,.fieldset{float:left;width:33%;padding-right:1rem;padding-bottom:1rem}.solr-facets,.summon-facets{float:none;width:auto;margin-top:1rem}.summon-facets .facet-fieldset{float:left;width:50%;padding-right:1rem}}.adv-term-input,.adv-term-op{margin-bottom:.25rem}.adv-search:first-of-type .adv-term-op{display:none}@media (min-width:768px){.eds-adv .adv-term-op{float:left;width:16%;margin-right:1%}body.rtl .eds-adv .adv-term-op{float:right;margin-left:0;margin-right:1%}.eds-adv .adv-search:first-of-type .adv-term-input{margin-left:17%}.eds-adv .adv-term-input{width:39%;margin-right:0}.eds-adv .help-block{float:left;width:6%;text-align:center}}.primo-adv-search .search{margin-bottom:.5rem}.primo-adv-search .search .adv-term-type{margin-bottom:.25rem}.primo-adv-search .search-container{width:100%}.primo-adv-label{line-height:28px;padding-right:1rem}@media (min-width:640px){.primo.adv-group,.primo-adv-search .search{display:flex}.primo.adv-group select,.primo-adv-search .search select{flex-shrink:1.5;margin-right:.5rem}.primo.adv-group .primo-adv-input,.primo-adv-search .search .primo-adv-input{flex-grow:1}.primo-adv-label{flex-shrink:0}}@media (min-width:768px){.solr-facet-container{display:flex;flex-wrap:wrap}.solr-adv-facet{flex:1 25%}}body.rtl fieldset,body.rtl .fieldset,body.rtl .adv-search .adv-term-input,body.rtl .adv-search .adv-term-type,body.rtl .eds-adv .help-block,body.rtl .summon-facets .facet-fieldset{float:right}body.rtl .adv-submit .clear-btn,body.rtl .adv-group-match{float:left}body.rtl .adv-search .adv-term-input{margin-left:2%;margin-right:0}body.rtl .date-from{padding-left:.25rem;padding-right:0}body.rtl .date-to{padding-left:0;padding-right:.25rem}.alphabrowse{border-collapse:separate}.alphabrowse .lcc{width:20%}.alphabrowse .titles{width:10%;text-align:center}.alphabrowse tr.browse-match td{border-top:.2rem solid #619144;border-bottom:.2rem solid #619144}.alphabrowse tr.browse-match td:first-child{border-left:.2em solid #619144}.alphabrowse tr.browse-match td:last-child{border-right:.2em solid #619144}.autocomplete-results{position:absolute;display:none;max-width:500px;margin:0;margin-top:2px;padding:0;border:1px solid lightgray;background-color:#fff;overflow:hidden;z-index:50}.autocomplete-results.open{display:table}.autocomplete-results .ac-item{display:block;margin:0;padding:.5rem;border-bottom:1px solid lightgray;cursor:pointer}.autocomplete-results .ac-item:last-child{border:0}.autocomplete-results .ac-item:hover{background-color:#cce1c0}.autocomplete-results .ac-item.is-selected{background-color:#619144;color:#fff}.autocomplete-results .ac-disabled,.autocomplete-results [disabled]{color:darkgray}.autocomplete-results .ac-header{white-space:nowrap;color:#000;background-color:lightgray;cursor:default}.channel-wrapper{margin-top:1rem;margin-bottom:2rem}@media (max-width:767px){.channel-wrapper{margin-left:1rem}}.channel{position:relative;width:100%;max-height:300px;padding:1rem;background-color:#eee;border-radius:3px}.channel-add-menu{position:relative;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #555;text-align:center}@media (min-width:768px){.channel-add-menu{float:right;margin:0;padding:0;border:0}body.rtl .channel-add-menu{float:left}}.channel-add-menu .dropdown-menu{left:auto;right:0;max-width:90vw;overflow:hidden}.channel .channel-record.slide{display:inline-block;min-width:100px;max-height:16em;padding:0 .5rem;text-align:center}.channel-record-title{display:block;height:3em;margin:0;line-height:1.5;overflow:hidden}.channel .channel-record .thumb{display:flex;height:200px;align-items:center;justify-content:center}.channel .channel-record .thumb img{max-width:100%;max-height:100%}.channel .popover{width:500px;max-width:none}.channel .popover-title{font-size:1.4rem;font-weight:bold}.channel-title h2{display:inline-block;margin:0}.channel-title .dropdown{display:inline-block}.channel-title a:hover{text-decoration:none}.channel-title i.fa-fw{width:1.4em;padding-top:.5em;font-size:.6em;text-align:center;vertical-align:top}.channel-title .placeholder{width:25px}.channel-title .dropdown button{font-size:18px;color:#777;vertical-align:baseline}.channel .slick-prev::before,.channel .slick-next::before{color:#555}.channel-search{margin-top:1rem}:root{--cc-font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--cc-modal-border-radius:3px;--cc-btn-border-radius:3px;--cc-modal-transition-duration:.25s;--cc-link-color:#12538B;--cc-modal-margin:1rem;--cc-z-index:990}#cc-main{color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;line-height:1.15;-webkit-text-size-adjust:100%;z-index:var(--cc-z-index);position:fixed}#cc-main.cc--rtl{direction:rtl}#cc-main b,#cc-main em,#cc-main strong,#cc-main a,#cc-main .cm__title{font-weight:500}#cc-main button>span{pointer-events:none}#cc-main a,#cc-main .cc__link{font-weight:600;position:relative;background-image:linear-gradient(currentColor, currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s,color .25s ease}#cc-main a:hover,#cc-main .cc__link:hover{color:var(--cc-primary-color);background-size:100% 1px}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{scrollbar-width:thin;overscroll-behavior:auto contain}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-track,#cc-main ::-webkit-scrollbar-thumb{all:revert}#cc-main ::-webkit-scrollbar-thumb{border:.25rem solid var(--cc-bg);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:1rem;background:var(--cc-toggle-readonly-bg)}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}:root{--cc-bg:#fff;--cc-primary-color:#333;--cc-secondary-color:#4d4d4d;--cc-btn-primary-bg:#619144;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:#619144;--cc-btn-primary-hover-bg:#fff;--cc-btn-primary-hover-color:#619144;--cc-btn-primary-hover-border-color:#e0e0e0;--cc-btn-secondary-bg:#fff;--cc-btn-secondary-color:#333;--cc-btn-secondary-border-color:#ccc;--cc-btn-secondary-hover-bg:#333;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:#adadad;--cc-separator-border-color:#e3e3e3;--cc-toggle-on-bg:#777;--cc-toggle-off-bg:#919191;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:#fff;--cc-toggle-enabled-icon-color:#fff;--cc-toggle-disabled-icon-color:#fff;--cc-toggle-readonly-bg:#aaa;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:#aaa;--cc-section-category-border:#eee;--cc-cookie-category-block-bg:#eee;--cc-cookie-category-block-border:#ddd;--cc-cookie-category-block-hover-bg:#d5d5d5;--cc-cookie-category-block-hover-border:#ddd;--cc-cookie-category-expanded-block-bg:#eee;--cc-cookie-category-expanded-block-hover-bg:#d5d5d5;--cc-overlay-bg:#000;--cc-webkit-scrollbar-bg:#eee;--cc-webkit-scrollbar-hover-bg:#fff;--cc-footer-bg:#f5f5f5;--cc-footer-color:#333;--cc-footer-border-color:#ddd}#cc-main .cm{position:fixed;max-width:24rem;display:flex;flex-direction:column;background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);z-index:1;overflow:hidden;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3);visibility:hidden;opacity:0}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{right:var(--cc-modal-margin);margin-left:var(--cc-modal-margin)}#cc-main .cm__body{position:relative;display:flex;flex-direction:column;justify-content:space-between}#cc-main .cm__texts,#cc-main .cm__btns,#cc-main .cm__links{width:unset;padding:1rem 1.3rem}#cc-main .cm__texts{display:flex;flex-direction:column;justify-content:center;flex:1;padding-bottom:1rem 0 0}#cc-main .cm__title,#cc-main .cm__desc{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);line-height:1.5;font-size:.9em;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--cc-separator-border-color)}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0, 1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0;margin-bottom:.375rem}#cc-main .cm--inline .cm__btn+.cm__btn{margin-top:0;margin-left:.375rem}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-right:0;margin-bottom:.375rem}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--wide .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--wide.cm--flip .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;font-weight:500;font-size:.82em;min-height:42px;padding:.5em 1em;border-radius:var(--cc-btn-border-radius)}#cc-main .cm__btn:hover{color:var(--cc-btn-primary-hover-color);background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color)}#cc-main .cm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .cm__btn--secondary:hover{color:var(--cc-btn-secondary-hover-color);background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .cm__btn--close{display:none;position:absolute;right:0;top:0;width:42px;height:42px;border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-top:none;border-right:none;padding:0!important;min-width:auto!important;font-size:1em;overflow:hidden}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{color:var(--cc-footer-color);background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);padding:.4em 0 .5em 0}#cc-main .cm__links{padding-top:0;padding-bottom:0;display:flex;flex-direction:row}#cc-main .cm__link-group{font-size:.8em;display:flex;flex-direction:row;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-right:1.8em;padding-left:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{width:unset;max-width:54em}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-top:none;border-left:1px solid var(--cc-separator-border-color)}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btns{max-width:23em}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btns,#cc-main .cm--cloud.cm--flip .cm__btn-group{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{max-width:unset;width:100vw;left:0;right:0;margin:0;transform:translateY(0);border-radius:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0}#cc-main .cm--bar.cm--bottom{bottom:0}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{max-width:55em;margin:0 auto;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em 0}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--bar .cm__btn{min-width:120px;padding-right:2em;padding-left:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{padding:0;flex-direction:row}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper::before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper::before{content:'';opacity:0;visibility:hidden;position:fixed;left:0;right:0;top:0;bottom:0;z-index:0;background:var(--cc-overlay-bg)}#cc-main .cm{transform:translateY(1.6em)}#cc-main .cm--middle{transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bar.cm--bottom{transform:translateY(100%)}#cc-main .cm--bar.cm--top{transform:translateY(-100%)}.show--consent #cc-main .cc--anim .cm{opacity:1;visibility:visible!important;transform:translateY(0)}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper::before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{right:unset;left:0;border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius)}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-right:1.3rem;padding-left:3rem!important}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__title,#cc-main .cm__desc,#cc-main .cm__btns,#cc-main .cm__links{padding-left:1.1rem !important;padding-right:1.1rem !important}#cc-main .cm__btns{flex-direction:column!important;max-width:none!important;min-width:auto!important;border-left:none!important;border-top:1px solid var(--cc-separator-border-color) !important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btns,#cc-main .cm--flip .cm__btn-group{flex-direction:column-reverse !important}}:root{--cc-pm-toggle-border-radius:4em}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{position:fixed;display:flex;width:100%;width:unset;background:var(--cc-bg);flex-direction:column;border-radius:var(--cc-modal-border-radius);opacity:0;visibility:hidden;overflow:hidden;z-index:1;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3)}#cc-main svg{fill:none;width:100%}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:1em 1.4em}#cc-main .pm__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__title{display:flex;align-items:center;flex:1;font-weight:500;margin-right:2em}#cc-main .pm__close-btn{width:calc(42px - 2px);height:calc(42px - 2px);position:relative;background:var(--cc-btn-secondary-bg);border-radius:var(--cc-btn-border-radius);border:1px solid var(--cc-btn-secondary-border-color);transition:all .15s ease}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{border-color:var(--cc-btn-secondary-hover-border-color);background:var(--cc-btn-secondary-hover-bg)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{display:flex;flex-direction:column;margin-bottom:.5em;border-radius:var(--cc-btn-border-radius)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{overflow:hidden;margin-top:0!important}#cc-main .pm__section{padding:1em;border:1px solid var(--cc-separator-border-color);transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{transition:none;padding:0;margin-top:0;border:none;margin-bottom:2em}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--cc-cookie-category-block-bg);position:relative;padding:1.1em 5.4em 1.1em 1.2em;border:1px solid var(--cc-cookie-category-block-border);transition:background-color .25s ease,border-color .25s ease;min-height:58px}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{display:none;border:1px solid var(--cc-cookie-category-block-border);border-top:none;border-radius:var(--cc-btn-border-radius);border-top-left-radius:0;border-top-right-radius:0}#cc-main .pm__section--toggle .pm__section-desc{padding:1em;margin-top:0}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{padding-left:3.4em;cursor:pointer}#cc-main .pm__section--expandable .pm__section-arrow{width:20px;height:20px;position:absolute;left:18px;background:var(--cc-toggle-readonly-bg);display:flex;justify-content:center;border-radius:100%;pointer-events:none}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{position:relative;display:flex;align-items:center}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{font-weight:500;border-radius:var(--cc-btn-border-radius);font-size:.95em}#cc-main .pm__badge{display:flex;flex:none;margin-left:1em;border-radius:5em;font-weight:500;font-size:.8em;background:var(--cc-btn-secondary-bg);color:var(--cc-secondary-color);position:relative;height:23px;width:auto;min-width:23px;align-items:center;text-align:center;justify-content:center;padding:0 .6em 1px .6em;white-space:nowrap;overflow:hidden}#cc-main .pm__service-counter{padding:0;width:23px;background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color)}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px .6em;width:auto}#cc-main .section__toggle-wrapper,#cc-main .section__toggle,#cc-main .toggle__label,#cc-main .toggle__icon{width:50px;height:23px;border-radius:var(--cc-pm-toggle-border-radius);transform:translateZ(0)}#cc-main .section__toggle-wrapper{position:absolute;right:18px;cursor:pointer;z-index:1}#cc-main .toggle-service{position:relative;right:0;width:42px;height:19px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{width:42px;height:19px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper::after{display:none!important}#cc-main .section__toggle{position:absolute;cursor:pointer;display:block;top:0;left:0;margin:0;border:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{position:absolute;background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);transition:all .25s ease;pointer-events:none;display:flex;flex-direction:row}#cc-main .toggle__icon-circle{position:absolute;display:block;left:0;top:0;width:23px;height:23px;border:none;background:var(--cc-toggle-off-knob-bg);box-shadow:0 1px 2px rgba(24,32,3,0.36);transition:transform .25s ease,background-color .25s ease;border-radius:var(--cc-pm-toggle-border-radius)}#cc-main .toggle__icon-on,#cc-main .toggle__icon-off{height:100%;position:absolute;width:100%;transition:opacity .15s ease}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(calc(50px - 23px));background-color:var(--cc-toggle-on-knob-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{position:absolute;top:0;z-index:-1;opacity:0;pointer-events:none;overflow:hidden}#cc-main .pm__section-desc-wrapper{display:flex;flex-direction:column;font-size:.9em;color:var(--cc-secondary-color)}#cc-main .pm__section-desc-wrapper>*:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{padding:.4em 1.2em;position:relative;display:flex;justify-content:space-between;transition:background-color .15s ease;align-items:center}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{display:flex;align-items:center;width:100%;margin-right:1em}#cc-main .pm__service-icon{min-width:8px;height:8px;border:2px solid currentColor;border-radius:100%;margin-left:6px;margin-right:20px;margin-top:1px}#cc-main .pm__service-title{font-size:.95em;word-break:break-word;width:100%}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{text-align:left;border-collapse:collapse;width:100%;padding:0;margin:0;overflow:hidden;font-size:.9em}#cc-main .pm__table-caption{border-top:1px solid var(--cc-cookie-category-block-border);text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{font-weight:600;color:var(--cc-primary-color);border-bottom:1px dashed var(--cc-separator-border-color)}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-th,#cc-main .pm__table-td{padding:.625em;vertical-align:top;padding-left:1.2em}#cc-main .pm__footer{display:flex;justify-content:space-between;border-top:1px solid var(--cc-separator-border-color)}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;flex:auto;min-width:110px;font-weight:500;font-size:.82em;padding:.5em 1.5em;min-height:42px;border-radius:var(--cc-btn-border-radius);transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;top:50%;max-width:43em;max-height:37.5em;height:calc(100% - 2em)}#cc-main .pm--box.pm--flip .pm__footer,#cc-main .pm--box.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm--bar{top:0;bottom:0;border-radius:0;height:100%;max-height:none;max-width:29em;width:100%;margin:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-tr,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-td{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__header,#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-top:.375rem;margin-left:0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0}#cc-main .pm--bar.pm--right{right:0}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__header,#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__footer,#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm-overlay{content:'';position:fixed;left:0;right:0;top:0;bottom:0;z-index:1;background:var(--cc-overlay-bg);opacity:0;visibility:hidden}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .pm--box{transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--bar.pm--left{transform:translateX(-100%)}#cc-main .pm--bar.pm--right{transform:translateX(100%)}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-right:0;margin-left:1em}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{right:unset;left:18px;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-right:5px;margin-left:20px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-th,#cc-main.cc--rtl .pm__table-td{text-align:right;padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td::before{padding-right:unset;padding-left:2em}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}@media screen and (max-width:640px){#cc-main .pm{left:0;right:0;top:0;bottom:0;max-height:100%;height:auto;transform:translateY(1.6em);border-radius:0;max-width:none!important}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:.9em !important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-tr,#cc-main .pm__table-th,#cc-main .pm__table-td{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important;flex-direction:column!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .pm--flip .pm__footer,#cc-main .pm--flip .pm__btn-group{flex-direction:column-reverse !important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0) !important}}.btn.missing_count,.btn.extra_count{padding:0;height:auto}#lang-summary .progress{margin-bottom:0;border:1px solid #555;background-color:#fff}#lang-summary .progress-border-info{border-color:#1C5F74}#lang-summary .progress-border-warning{border-color:#A56100}#lang-summary .progress-border-danger{border-color:#A41915}#lang-summary .progress-bar{min-width:2rem}#lang-summary th,#lang-summary td{text-align:left;vertical-align:middle}.result-list-explain .js-result-list-explain{max-width:100px}.result-list-explain .js-result-list-explain .bar-chart{display:inline-block !important}.result-list-explain,.result-list-explain:hover{text-decoration:none}.explain{word-wrap:break-word}.explain .charts{max-width:800px}.explain .explain-column-container{height:160px}.explain table,.explain th,.explain td{padding-top:9px}.explain .percentage{text-align:right;padding-right:9px}.explain .sum-rest{border-top-width:2px;border-top-style:solid}.explain .explain-rest .percentage{padding-left:10px}.explain .field-name{font-weight:bold}.explain .field-name .icon{padding-left:1px;color:darkblue;vertical-align:unset}.explain .exact-match{color:black}.explain .inexact-match{color:#436c71}.explain .unknown-match{color:red}form .form-control{border-color:#888}form .form-control:focus{border-color:#3F9AE4}form textarea:invalid,form input:invalid{box-shadow:0 0 2px 1px rgba(255,0,0,0.9)}form .form-info{font-weight:bold;margin:20px 0}form .info{margin:10px 0}form .form-group ul{padding:0;margin-left:15px;margin-top:5px}form .form-group label.required::before,form .form-group .radio-label.required::before,form .form-group .radio-label.require-one::before{content:'* '}form input[type=checkbox],form input[type=radio]{height:1em}form .form-group.checkbox,form .form-group.radio{margin-bottom:15px}form .form-group.checkbox label.control-label,form .form-group.radio label.control-label{padding-left:0;font-weight:700;margin-bottom:5px}form .form-group.checkbox label,form .form-group.radio label{display:table;margin:7px 0}form .form-group.checkbox label input,form .form-group.radio label input{width:auto;margin-right:10px;margin-top:3px}form .form-group.checkbox .radio-label,form .form-group.radio .radio-label{font-weight:700}form.dynamic-form input[type=date]{padding-top:0}.icon-link,.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.cart-controls .toolbar-btn{display:inline-flex;gap:.25rem;vertical-align:middle}.icon-link,.icon-link:active,.icon-link:focus,.icon-link:hover,.toolbar-btn,.toolbar-btn:active,.toolbar-btn:focus,.toolbar-btn:hover,.record-nav .cart-add,.record-nav .cart-add:active,.record-nav .cart-add:focus,.record-nav .cart-add:hover,.record-nav .cart-remove,.record-nav .cart-remove:active,.record-nav .cart-remove:focus,.record-nav .cart-remove:hover,.reset-filters-btn,.reset-filters-btn:active,.reset-filters-btn:focus,.reset-filters-btn:hover,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.tag-record:active,.tag-record:focus,.tag-record:hover,.cart-controls .toolbar-btn,.cart-controls .toolbar-btn:active,.cart-controls .toolbar-btn:focus,.cart-controls .toolbar-btn:hover{text-decoration:none}.icon-link__icon{flex:none;padding:0;line-height:inherit;color:inherit}.icon-link__label{text-decoration:underline}span.icon-link .icon-link__label,.disabled .icon-link__label,[disabled] .icon-link__label,span.toolbar-btn .icon-link__label,span.record-nav .cart-add .icon-link__label,span.record-nav .cart-remove .icon-link__label,span.reset-filters-btn .icon-link__label,span.tag-record .icon-link__label,span.cart-controls .toolbar-btn .icon-link__label{text-decoration:none}.icon-link.active .icon-link__icon,.icon-link.active .icon-link__label,.toolbar-btn.active .icon-link__icon,.toolbar-btn.active .icon-link__label,.record-nav .cart-add.active .icon-link__icon,.record-nav .cart-add.active .icon-link__label,.record-nav .cart-remove.active .icon-link__icon,.record-nav .cart-remove.active .icon-link__label,.reset-filters-btn.active .icon-link__icon,.reset-filters-btn.active .icon-link__label,.tag-record.active .icon-link__icon,.tag-record.active .icon-link__label,.cart-controls .toolbar-btn.active .icon-link__icon,.cart-controls .toolbar-btn.active .icon-link__label{color:#fff}.banner .icon-link__label,.pager .icon-link__label,.action-toolbar .icon-link__label{text-decoration:none}.icon--font{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;line-height:inherit;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon--img{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;text-align:center;vertical-align:top}.icon--svg{display:inline-block;max-width:1.25em;max-height:1.25em;fill:currentColor;vertical-align:text-bottom}.icon--unicode:before{content:attr(data-icon)}.show--closed,.collapsed .show--open{display:none}.collapsed .show--closed{display:inline}.doi-icon{height:1em;width:14px;filter:brightness(50%)}.icon--spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon--pulse{animation:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.icon--bounce{animation:bounce 1s infinite}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, .2, 1)}}.keyboard-selection{display:inline-block;margin-top:2px}.keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.keyboard-selection button.dropdown-toggle:hover,.keyboard-selection button.dropdown-toggle:focus,.keyboard-selection.open>button.dropdown-toggle{color:white;background-color:#619144;border-color:#619144;outline:none}.keyboard-selection:not(.open) .activated:not(:hover){background:#f6faf4}.keyboard-selection>.dropdown-menu{min-width:20px}.keyboard-selection>.dropdown-menu>li>a{padding:3px 10px}.keyboard-selection #keyboard-selection-button{padding:0 2px 0 4px}.keyboard-selection #keyboard-selection-button .icon{margin:0}.keyboard-box{position:fixed;bottom:250px;height:0;z-index:60;width:95%}@media (min-width:768px){.keyboard-box{width:720px}}@media (min-width:992px){.keyboard-box{width:940px}}@media (min-width:1200px){.keyboard-box{width:1040px}}.simple-keyboard{display:none;position:absolute;z-index:1}.simple-keyboard.hg-theme-default{background-color:#dddddd}.simple-keyboard .hg-button.hg-functionBtn{font-weight:bold;font-size:30px;background-color:#f4f4f4}.simple-keyboard .hg-button.hg-functionBtn span{padding-top:5px}.simple-keyboard .hg-button.hg-functionBtn.hg-button-space{background-color:white}.simple-keyboard .hg-standardBtn{font-size:18px}.show-keyboard{display:block}#modal{background-color:rgba(0,0,0,0.2)}#modal .modal-dialog{width:100%;margin-inline:auto;margin-block:1rem;padding-inline:1rem}@media (min-width:768px){#modal .modal-dialog{width:fit-content;max-width:min(1200px, calc(100vw - 200px));min-width:600px;padding:0}}#modal .modal-content>.close{position:absolute;top:0;right:0;z-index:2;padding:.5rem;opacity:1}body.rtl #modal .modal-content>.close{left:0;right:auto}#modal .close svg{width:1em;vertical-align:bottom;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}@media (min-width:768px){#modal .modal-content>.close{right:-1.75em;font-size:32pt;color:#fff;background-color:rgba(0,0,0,0);border-radius:6px}body.rtl #modal .modal-content>.close{left:-1.75em;right:auto}}#modal .modal-content>.close:hover{background-color:#000}#modal .modal-body h1,#modal .modal-body h2{margin-top:.3rem;margin-bottom:1.3rem}#modal .cart-controls .btn{margin-bottom:4px}#modal .cart-controls~hr{margin-top:0}.lightbox-scroll{overflow-y:auto}.modal-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;font-size:150%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.2)}.modal-loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:5px;color:#eee}.lightbox-only{display:none}#modal .lightbox-only{display:initial}.lightbox-image{text-align:center}.offcanvas-overlay{display:none}.search-filter-toggle{margin-top:1rem;margin-bottom:1rem}.close-offcanvas,.search-filter-toggle{display:none}@media screen and (max-width:767px){.close-offcanvas::before,.close-offcanvas::after,.search-filter-toggle::before,.search-filter-toggle::after{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.offcanvas .close-offcanvas{display:block}body.offcanvas{overflow-x:hidden;transition:margin .5s}.offcanvas-overlay{display:none;position:fixed;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:3;opacity:0;transition:opacity .5s;cursor:pointer}.offcanvas .offcanvas-overlay{display:block}.offcanvas-left .sidebar{left:-80vw}.offcanvas-left .offcanvas-overlay{right:-100%}.offcanvas-left .offcanvas-toggle{left:0}.offcanvas-right .sidebar{right:-80vw}.offcanvas-right .offcanvas-overlay{left:-100%}.offcanvas-right .offcanvas-toggle{right:0}.offcanvas .sidebar{position:fixed;height:100%;top:0;width:80vw;padding:1rem;overflow-y:auto;background-color:#fff;transition:left .5s,right .5s}.offcanvas .sidebar .search-sort{padding-bottom:1rem}.offcanvas.active{overflow-y:hidden}.offcanvas.active.offcanvas-left{margin-left:80vw;margin-right:-80vw}.offcanvas.active.offcanvas-left .sidebar{left:0}.offcanvas.active.offcanvas-left .offcanvas-overlay{right:-80vw}.offcanvas.active.offcanvas-left .offcanvas-toggle{left:80vw}.offcanvas.active.offcanvas-right{margin-left:-80vw;margin-right:80vw}.offcanvas.active.offcanvas-right .sidebar{right:0}.offcanvas.active.offcanvas-right .offcanvas-overlay{left:-80vw}.offcanvas.active.offcanvas-right .offcanvas-toggle{right:80vw}.offcanvas.active .offcanvas-overlay{opacity:1;transition:opacity .5s}.offcanvas-left .close-offcanvas::after{content:"\f105"}.offcanvas-left .search-filter-toggle::before{content:"\f100"}.offcanvas-right .close-offcanvas::before{content:"\f104"}.offcanvas-right .search-filter-toggle::after{content:"\f101"}.rtl.offcanvas-left .close-offcanvas::after{content:none}.rtl.offcanvas-left .close-offcanvas::before{content:"\f105"}.rtl.offcanvas-left .search-filter-toggle::before{content:none}.rtl.offcanvas-left .search-filter-toggle::after{content:"\f100"}.rtl.offcanvas-right .close-offcanvas::before{content:none}.rtl.offcanvas-right .close-offcanvas::after{content:"\f104"}.rtl.offcanvas-right .search-filter-toggle::after{content:none}.rtl.offcanvas-right .search-filter-toggle::before{content:"\f101"}}.record h1{font-size:24px;line-height:1.15}.record .media-body h3{margin-top:0}.recordcover{max-height:300px}.browzine .recordcover{margin-top:2px;margin-bottom:4px;box-shadow:1px 1px 3px rgba(47,52,64,0.72);max-height:130px;width:105px;height:auto}.cover-source{font-size:14px}.record__biblio-value a:not(.icon-link),.related__title{display:inline-block}.related__title .related__icon{float:left;margin-right:.25rem;text-align:left;line-height:1.4;background-position-x:left}.rtl .related__title .related__icon{margin-left:0;margin-right:.25rem}.media-body h1{margin-top:0}@media (max-width:767px){.record .media-left,.record .media-right{display:block}.record .media-body{display:block;width:auto;margin-top:1rem}}.record .format::after{content:", "}.record .format.badge::after,.record .result-formats .format::after,.record .format:last-child::after{content:""}.record-previews{margin-top:.5rem}.record-nav.nav{margin-bottom:1rem}.record-nav>li,.btn-bookbag-toggle{width:100%}.record-nav>li>a{padding:.5rem}.record-nav>li>a,.btn-bookbag-toggle{text-align:center}@media (min-width:768px){.record-nav>li,.btn-bookbag-toggle{width:auto}.record-nav>li>a{padding:5px}.record-nav>li>a,.btn-bookbag-toggle{text-align:left}}.comment-label,.comment-name{font-style:italic}.comment{margin-bottom:1rem}.comment-name .delete{color:#8a211e}@media (min-width:768px){.comment-form,.comment{display:flex;margin-bottom:0}.comment-label,.comment-name{min-width:25%;font-style:unset}.comment-form .text-form{width:100%}.comment-form>label{flex:0 0 auto}.comment-form textarea{display:block;width:100%;float:left}.comment-form .comment-rating{float:left;margin:.5rem}.comment-form .btn{margin-top:.5rem}}.tag-record:hover{text-decoration:none}.tagList button{margin-top:0;padding-top:0;padding-bottom:4px;font-size:95%;vertical-align:initial}.tagList .tag .badge{margin:0;padding:3px 7px;font-weight:normal}.tagList button .fa-close{margin-top:3px}.tagList .tag{display:inline-block;margin:0 1px 1px;border-radius:4px;padding:3px 3px;font-size:14px;line-height:1.42857143;border-radius:3px}.tagList .tag.selected{background-color:#619144}.tagList .tag.selected a{color:#fff}.tagList .tag.selected .badge{color:#222;background-color:#fff}.tagList .tag.selected .badge:hover{color:#a94442}.tagList .tag .badge .fa{width:12px}.tagList .tag .icon--img{font-size:.625rem}.tagList button{border:0}.tagList .tag-form{display:inline}.tagList.loggedin .tag:not(.selected) .badge:hover{background-color:#028302}.staff-view .pace-car th,.staff-view .pace-car td{border:0;padding:0}.staff-view th{text-align:right}.staff-view td span.term{font-weight:bold}.staff-view--marc .marc__tag{width:15%}.staff-view--marc .marc__ind{width:5%}.item-notes ul{padding-left:2rem}.subject-line:hover{color:#999}.subject-line:hover a{color:#092b47}.subject-line a:hover~a{color:#999;text-decoration:none}.marc-row-LEADER,.marc-row-006,.marc-row-007,.marc-row-008{white-space:pre-wrap}.relaisLink{display:inline-block}.collection-list-controls{display:flex;flex-flow:row wrap}.collection-list-controls .collection-control{white-space:nowrap;margin:0 .5rem 0 0}.collectionDetails .active-filters .filters{padding:0 0 5px 0}.collection-list-results{margin-top:.5rem}.tab-pane::after{display:table;clear:both;content:""}.tab-pane .result{margin-left:0}.holdings-tab .holdings-table{table-layout:auto}.holdings-tab .holdings-table th,.holdings-tab .holdings-table td{min-width:10vw}.holdings-tab .holdings-table .bound-with-records .direct-item{font-weight:bold}.openurls .openurl-notes{display:block;font-style:italic}.openurls .openurl-authentication{display:block}.record .media-left .rating{margin-top:.5rem;margin-bottom:1rem}.rating-breakdown{margin-bottom:1rem}.rating-breakdown .rating-breakdown-stars{display:inline-block}.rating-breakdown .rating-breakdown-percentage{display:inline-block;width:3rem;text-align:right}.star-rating{display:inline-flex}.star-rating .rating__icon{pointer-events:none;width:initial}.star-rating .rating__input{position:absolute !important;left:-9999px !important}.star-rating .rating__label{cursor:pointer;padding:0 .1em;font-size:1rem}.star-rating .rating__label--half{padding-right:0;margin-right:-0.6em;z-index:2}.star-rating .rating__icon--star{color:#A56100}.star-rating .rating__input:checked~.rating__label .rating__icon--star{color:#ddd}.star-rating:not(.readonly):hover .rating__label .rating__icon--star,.star-rating:not(.readonly):hover .rating__label--half .rating__icon--star{color:#A56100}.star-rating:not(.readonly) .rating__input:hover~.rating__label .rating__icon--star,.star-rating:not(.readonly) .rating__input:hover~.rating__label--half .rating__icon--star{color:#ddd}.record-list{list-style:none;padding:0;margin:0}.record-list.search-results-solr-auth .media-left,.record-list.search-results-solr-auth .media-right{display:none}.js-result-list{position:relative}.js-result-list .loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;display:flex;font-size:150%;align-items:flex-start;justify-content:center;background-color:rgba(0,0,0,0.2)}.js-result-list .loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:5px;color:#eee}@media (max-width:767px){#datevispublishDatexWrapper,.result .checkbox{display:none}}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.home-facet-list{padding-left:0;padding-right:1rem;list-style:none}.home-facet.facet-tree li{line-height:inherit;padding-top:0;padding-bottom:0;border:0}.home-facet.facet-tree li .facet-tree__toggle-expanded{line-height:inherit;padding:0}.home-facet.facet-tree li .facet{padding:0;line-height:inherit}.home-facet.facet-tree li .facet .badge{display:none}@media (min-width:768px){.search-home-facets,.home-facet-container{display:flex}.home-facet{flex:1 1 100%}.home-facet-list{flex:0 1 100%}}header .container.navbar{margin-bottom:0}.search-sort,.search-result-limit{display:flex}.search-sort label,.search-result-limit label{line-height:28px;padding-right:.5rem}.search-stats{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width:768px){.search-header{display:flex}.search-stats{flex-grow:1}.search-controls{text-align:right}}.versions-tab .search-controls{padding-top:.5rem;padding-left:1rem;text-align:left}.versions-tab .search-header .search-stats{flex-grow:0}.record-nav{margin:1rem 0;padding:0}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.bulkActionButtons,.action-toolbar,.selection-controls-bar{gap:.25rem;align-items:center}.bulkActionButtons{margin-block:1rem}.bulk-checkbox{padding-inline-end:1rem;margin-top:.25rem}.bulkActionButtons label{display:inline-block}.bulkActionButtons label input{margin-top:2px}.action-toolbar,.selection-controls-bar{margin:0;padding:0;list-style:none}.action-toolbar .popover ul,.selection-controls-bar .popover ul{list-style:disc;padding-left:1em}.action-toolbar li,.selection-controls-bar li{display:inline-block}.action-toolbar li .popover li,.selection-controls-bar li .popover li{display:list-item;padding-left:.5em}@media (max-width:767px){.grid{min-height:250px}}.result{display:flex;padding-top:1rem}.result .record-checkbox,.result .record-number{display:none}.result .title,.result .result-author,.result .fulltext{display:inline-block}.result .title{font-weight:bold}.result .list-tab-content.record .img-col{display:none}.result .list-tab-content.record .info-col{width:100%}.result .checkbox-select-item{float:left}.result .dropdown-menu.qrcode{min-width:inherit}@media (max-width:767px){.result a{max-width:100%;text-decoration:underline}}@media (min-width:768px){.result .record-checkbox{display:block;flex:0;cursor:pointer}.result .record-number{display:block;flex:0 2rem;text-align:center}}.record .media,.result .media{display:flex;flex:1;margin:0;padding-right:10px;padding-left:10px;overflow:visible}.record .media-left,.result .media-left,.record .media-right,.result .media-right{flex:none;max-width:25%;text-align:center}.record .media-left a,.result .media-left a,.record .media-right a,.result .media-right a{display:inline-block;max-width:100%;text-align:center;white-space:nowrap;text-decoration:underline}.record .media-left .rating-summary a,.result .media-left .rating-summary a,.record .media-right .rating-summary a,.result .media-right .rating-summary a{white-space:normal}.record .media-left img,.result .media-left img,.record .media-right img,.result .media-right img{display:inline-block;width:auto;max-width:100%;max-height:300px;object-fit:contain}@media (min-width:768px){.record .media-left.small,.result .media-left.small,.record .media-right.small,.result .media-right.small{width:60px}.record .media-left.medium,.result .media-left.medium,.record .media-right.medium,.result .media-right.medium{width:100px}.record .media-left.large,.result .media-left.large,.record .media-right.large,.result .media-right.large{width:160px}.record .media-left>a,.result .media-left>a,.record .media-right>a,.result .media-right>a{width:100%}}.record .media-left,.result .media-left{margin-right:10px}.record .media-right,.result .media-right{margin-left:10px}.record .media-body,.result .media-body{flex:1;width:unset;overflow:visible}.ajaxcover .cover-container{display:none}.recordcover{white-space:normal;line-height:1.15}.result-body{padding:0;padding-bottom:.25rem}.result-body h2,.media-body h2{font-size:unset;line-height:1.42857143;margin:0}.result-body h2 .authors,.media-body h2 .authors{display:block}.btn-bookbag-toggle,.result-links a{line-height:1.5}.result-links .alert{margin:0}.result-formats{margin-bottom:.5rem}.btn-bookbag-toggle form{display:inline}.savedLists{display:none}.result-citation-links{margin:.5rem 0}@media (min-width:768px){.result-body{float:left;width:75%}.result-links{float:left;width:25%;padding:0}.savedLists.loaded{display:block}}@media (min-width:768px){body.rtl .result-body,body.rtl .result-links{float:right}}.result.embedded .getFull{display:block;margin-left:-0.5rem;padding-left:.5rem;border-left:1px solid transparent}.result.embedded .getFull.expanded{margin-top:-11px;padding-left:.5rem;border-top-left-radius:3px;border-top-right-radius:3px}.result.embedded .getFull.expanded::before{content:'\25BC';position:absolute;right:1rem;color:#555}.result.embedded .loading{margin-left:.75rem;padding:1rem;background:#fff}.result.embedded .long-view{margin-left:-0.5rem;padding:.5rem;border:1px solid #ddd;background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.result.embedded .long-view .tab-content{padding:0}.result.embedded .list-tabs{margin-bottom:0}.result.embedded .list-tab-toggle{cursor:pointer}.result.embedded .list-tab-content{padding:1rem}.search-grid::after{display:table;clear:both;content:''}.grid-result{display:flex;float:left;width:50%}.grid-result .grid-body{flex:1}.grid-result .grid-body h2{font-size:inherit;line-height:1.42857143;margin:0}.grid-result .grid-body h2 .title{display:inline-block;font-weight:bold}.grid-result .grid-checkbox{flex:0 0 30px;min-width:0}.grid-result .label,.grid-result .format{display:inline-block;white-space:normal}.grid-large-break,.grid-small-break{clear:both}@media (min-width:992px){.grid-result{width:25%}.grid-small-break{display:none}}.searchtools h2{display:inline-block;margin:0;font-size:inherit;font-weight:bold;vertical-align:middle}.searchtools ul{display:inline-block;margin:0;padding-left:0}.searchtools ul li{display:inline}.searchtools ul li:not(:first-child):before{content:'\2013'}.searchtools ul li a{padding:0 .5rem;white-space:nowrap}.template-dir-combined.template-name-results.offcanvas{margin:0;padding:0}.combined-search-container.grid{margin-left:1rem;margin-right:1rem}.combined-search-container.grid .combined-list{overflow-wrap:anywhere}.combined-jump-links{margin-left:1rem;margin-right:1rem;visibility:hidden}.combined-jump-links ul{display:inline;list-style:none;padding-left:0}.combined-jump-links ul li{display:none;white-space:nowrap}.combined-jump-links ul li:not(:first-child):before{content:'\2013'}.combined-column{margin-left:1rem;margin-right:1rem;padding:0}@media (min-width:768px){.combined-search-container{display:flex;padding-left:1rem}.combined-search-container.grid{display:grid;column-gap:1rem;padding-right:1rem;margin-left:0;margin-right:0}.combined-search-container .result{margin-left:0}.combined-search-container .result-body{float:none;width:auto}.combined-search-container .result-links{display:none}.combined-column{flex:0 1 100%;margin-left:0}}.wikipedia img{margin-right:1rem}.geoItem{font-size:.9em;margin:0px 0px 10px}.title-in-heading{font-size:inherit;font-style:italic}.top-title{display:inline-block;padding-top:.5rem;padding-left:.5rem;font-weight:bold;color:#000}.top-title .fa{width:1rem;text-align:center}@media (min-width:768px){.top-title{padding-top:0}.top-title .fa{display:none}.top-facets .collapse{display:block;height:auto !important}}.active-filters{clear:both;display:flex;gap:1rem;align-items:start;margin-block-start:.5rem}.active-filters .retain-filters{float:right}.active-filters .checkbox{flex:1;white-space:nowrap}.active-filters .filters-toggle{flex:1;display:inline-block;margin-top:10px;cursor:pointer}.active-filters .filters-toggle::after{content:'\25B2'}.active-filters .filters-toggle.collapsed::after{content:'\25BC'}@media (min-width:768px){.active-filters .filters-toggle{float:left}}.active-filters .filters{flex:10 1 auto;margin-block-start:.25rem}.active-filters .filters .collapse{display:none}.active-filters .filters .collapse .in{display:inline-block}.active-filters .filters .checkbox label{display:inline-block;padding:10px 0px}@media (max-width:768px){.active-filters .filters .checkbox label{float:right;padding:0px}}.active-filters .filters .filters-term{font-size:.8em}.active-filters .filters .filter-value{display:inline-block;margin-block:5px;padding:2px 8px;font-weight:600;color:#fff;white-space:nowrap;text-decoration:none;background:#619144}.active-filters .filters .filter-value:focus{box-shadow:0 0 0 2px #000}.active-filters .filters .checkbox{display:inline;padding-left:0;padding-right:0}@media (min-width:768px){.active-filters .filters .checkbox{padding-right:20px}}.active-filters .filters .title-value-pair{display:inline-block;margin-inline-end:.5rem}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.clear-selection,.tag-record,.cart-controls .toolbar-btn{border:0;color:#555;text-decoration:none;background-color:rgba(0,0,0,0.05);border-radius:4px}.toolbar-btn:hover,.record-nav .cart-add:hover,.record-nav .cart-remove:hover,.reset-filters-btn:hover,.clear-selection:hover{background-color:rgba(0,0,0,0.1)}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{gap:.25rem;margin-bottom:4px;margin-top:4px;padding:.5rem 1rem}.reset-filters-btn{flex:none}.clear-selection{font-weight:700;padding:.25rem .4rem .15rem .4rem;flex-basis:100%}.active-filters .filters a.filter-value:hover,.active-filters .filters a.filter-value:focus{color:#fff;text-decoration:line-through;background-color:#8a211e}.search-filter-dropdown{display:inline-block}.search-filter-dropdown .btn{color:#fff;background:#619144;font-weight:600;vertical-align:baseline}.search-filter-dropdown .btn::after{content:"\f107";font-family:"FontAwesome"}.search-filter-dropdown .dropdown-menu .filters-term{display:block;text-align:center}.search-filter-dropdown .dropdown-menu .filter-value{display:flex}.search-filter-dropdown .dropdown-menu .filter-value .text{flex-grow:1;margin-right:.5em}.search-filter-dropdown .dropdown-menu .filter-value a{flex-shrink:0;margin:0}.search-schedule-header{text-decoration:underline;text-decoration-style:dotted;cursor:pointer}table.search-history-table{table-layout:auto}@media screen and (min-width:768px){table.search-history-table tbody>tr>td{vertical-align:middle}table.search-history-table .history_time{width:20%}}.searchForm{margin:0;padding:0}.searchForm .searchForm-query{position:relative}@media (min-width:768px){.searchForm .searchForm-query{display:inline-block}}.searchForm .searchForm-query #searchForm_lookfor{padding-right:34px}@media (min-width:401px){.searchForm .searchForm-query #searchForm_lookfor.with-keyboard-selection{padding-right:72px}}.searchForm .searchForm-query #searchForm_controls{position:absolute;right:3px;top:5px;z-index:4;height:2em}.searchForm .searchForm-query #searchForm-reset{bottom:0;width:2em;border:none;border-radius:50%;background-color:#eee;margin:0;padding:2px;font-size:1em;cursor:pointer}@media (max-width:400px){.keyboard-selection{display:none}.show-keyboard,.simple-keyboard{display:none}}@media (max-width:991px){.template-dir-search.template-name-history .mainbody,.template-dir-search.template-name-history .sidebar{float:none;width:auto;padding:0}}.pagination-simple{margin:0;text-align:inherit}.pagination-simple li{display:inline-block}.pagination-simple li.page-prev a{margin-right:.5rem}.pagination-simple li.page-next a{margin-left:.5rem}.pagination-simple .pager-text{margin:0}.pagination-simple .pager-text span{border:0;padding:0;color:#333}.pagination-simple .pager-text span:hover{color:#333;background-color:transparent}.facet-group{display:block;margin-bottom:1rem;padding-left:0}.facet-group [data-toggle="collapse"]{cursor:pointer}.facet-group .collapse,.facet-group .collapsing,.facet-group.full-facet-list .facet{position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd}.facet-group.full-facet-list :first-child .facet{border-top:1px solid #ddd}.facet__list{list-style:none;padding:0;margin:0}.facet,.facet-group .title,.facet-load-indicator,.facet-load-failed{padding:.5rem;line-height:1.5rem;background-color:transparent}.facet,.facet-group .title,.user-list-link{display:flex;align-items:center}.facet .text,.facet-group .title .text,.user-list-link .text{display:flex;gap:.25rem;align-items:center;flex-grow:1}.facet .badge,.facet-group .title .badge,.user-list-link .badge{flex-shrink:0;max-height:19px;line-height:1.2;vertical-align:baseline}.facet .exclude,.facet-group .title .exclude,.user-list-link .exclude{flex-shrink:0;text-align:center;padding-left:.5rem}.facet-group .facet,.facet-load-indicator,.facet-load-failed{border-bottom:1px solid #ddd}.facet-group .title{display:flex;width:100%;padding-right:8px;border:1px solid #ddd;font-weight:bold;text-align:inherit}.facet-group .facet-title{flex:1 1 0%}.facet-group .facet-title-icon{flex:none}.facet-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4)}.facet-loading-overlay-label{padding:1px .5rem;color:#fff;background-color:#000}.facet .text{overflow:hidden}.top-facets-contents{display:block;margin:2px 0;padding:0;list-style:none}.top-facets .facet,.top-facets>strong{display:inline-block;width:auto;padding:2px 0;border:0;white-space:nowrap}.top-facet-inner{display:inline-block;padding:.25rem;border:1px solid #ddd}.checkboxFilter{padding-bottom:.5rem}.checkbox-filter{display:flex;width:100%;font-weight:bold;color:#333}.facet-group>.checkbox,.sidebar .facet.checkbox{margin:0;padding-left:2rem}.active-filters .facet,.facet-group .active{background-color:#619144;color:#fff}.active-filters .facet a,.facet-group .active a{color:#fff}.facet.active .badge{background-color:#fff;color:#619144}.narrow-toggle{text-align:center}.top-row .applied{font-weight:bold}.top-row .applied:hover{color:#8a211e}.top-row .applied:hover .fa.fa-check:before{content:"\f00d"}.full-facet-list{margin-top:1rem}.full-facet-list .active .fa.fa-times{float:right;margin-top:.25rem;margin-left:.5rem}body.rtl .full-facet-list .active .fa.fa-times{float:left}.truncate-done{overflow:clip}.more-less-btn-wrapper .fa{line-height:inherit}.more-less-btn-wrapper .facet{display:block;width:100%}.facet-range-form{width:100%}.date-fields{display:flex}.date-fields .date-from,.date-fields .date-to{flex:0 1 100%}.date-fields .date-from{padding-right:.25rem}.date-fields .date-to{padding-left:.25rem}h3.facet-title{font-size:14px;margin:0}@media (min-width:768px){.author-facets{display:flex}.author-list{flex:0 1 100%}}#similar-items-carousel .carousel-indicators{bottom:0px}#similar-items-carousel .carousel-indicators li{width:8px;height:8px;margin:2px;margin-bottom:4px;background-color:#fff;border:1px solid #222;box-shadow:none;transition-duration:.4s;transition-property:width, height, margin}#similar-items-carousel .carousel-indicators li.active{width:16px;height:16px;margin-bottom:0}#similar-items-carousel .hover-overlay{position:relative;display:block;min-width:150px;min-height:200px;margin:auto;text-align:center}#similar-items-carousel .hover-overlay .recordcover{max-width:100%;margin:10px 0}#similar-items-carousel .hover-overlay .content{position:absolute;top:0;left:0;display:none;width:100%;height:100%;padding:.5em .5em 0;color:#fff;background-color:rgba(0,0,0,0.5)}#similar-items-carousel .hover-overlay:hover .content{display:block}#similar-items-carousel .item{padding:0 2em}#similar-items-carousel .item.prev,#similar-items-carousel .item.active,#similar-items-carousel .item.next{display:flex}#similar-items-carousel .carousel-item{flex-basis:25%}#similar-items-carousel .carousel-control{--gradent-start:rgba(0,0,0,0.25);display:flex;align-items:center;width:auto;min-width:40px;opacity:1;text-decoration:none}#similar-items-carousel .carousel-control:hover{--gradent-start:rgba(0,0,0,0.5)}#similar-items-carousel .carousel-control.left{justify-content:start;background:linear-gradient(to right, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control.right{justify-content:end;background:linear-gradient(to left, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control>img{margin:1rem}.slider-container{padding:4px 10px;text-align:center}.slider-container .slider.slider-horizontal{width:100%}.slider-container .slider-track{background:#777;box-shadow:inset 0 1px 0 rgba(0,0,0,0.4)}.slider-container .slider-handle{background:#619144;background-image:none;border:1px solid #619144;box-shadow:none;opacity:.9}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{opacity:1;background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#619144}.slider-container .slider-selection{background:#CCC;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.3)}.slider-container input{display:none}.facet-tree,.hierarchy-tree{padding-left:0}.facet-tree ul,.hierarchy-tree ul{padding:0;width:100%}.facet-tree li,.hierarchy-tree li{display:flex;flex-wrap:wrap;align-items:baseline;padding-left:.2rem}.facet-tree li .facet-tree__toggle-expanded,.hierarchy-tree li .facet-tree__toggle-expanded,.facet-tree li .hierarchy-tree__toggle-expanded,.hierarchy-tree li .hierarchy-tree__toggle-expanded{flex:1 1;border:0;background:none;max-width:1.5em;padding:0}.facet-tree li .facet-tree__toggle-expanded:hover,.hierarchy-tree li .facet-tree__toggle-expanded:hover,.facet-tree li .hierarchy-tree__toggle-expanded:hover,.hierarchy-tree li .hierarchy-tree__toggle-expanded:hover{background-color:#f5f5f5}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand{display:none}.facet-tree li .facet-tree__item-container,.hierarchy-tree li .facet-tree__item-container,.facet-tree li .hierarchy-tree__item-container,.hierarchy-tree li .hierarchy-tree__item-container{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container .text,.hierarchy-tree li .facet-tree__item-container .text,.facet-tree li .hierarchy-tree__item-container .text,.hierarchy-tree li .hierarchy-tree__item-container .text{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container--exclude .text,.hierarchy-tree li .facet-tree__item-container--exclude .text,.facet-tree li .hierarchy-tree__item-container--exclude .text,.hierarchy-tree li .hierarchy-tree__item-container--exclude .text{width:calc(100% - 3em)}.facet-tree li .facet-tree__item-container .facet-value,.hierarchy-tree li .facet-tree__item-container .facet-value,.facet-tree li .hierarchy-tree__item-container .facet-value,.hierarchy-tree li .hierarchy-tree__item-container .facet-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline}.facet-tree li ul,.hierarchy-tree li ul{padding-left:1rem;flex:1}.facet-tree li ul .facet,.hierarchy-tree li ul .facet{padding-top:.3rem;padding-bottom:.3rem}.facet-tree .facet{border:0;padding-left:.1rem}.facet-tree>li,.facet-tree .more-less-btn-wrapper{border-bottom:1px solid #ddd}.facet-tree>li>ul{margin-top:-0.2rem}.hierarchy-tree .hierarchy-tree__selected:not(.hierarchy-tree__search-match)>.hierarchy-tree__item-container a{color:#fff;background-color:#619144}.hierarchy-tree .hierarchy-tree__search-match>.hierarchy-tree__item-container a{font-style:italic;color:#8b0000;font-weight:bold}@media (min-width:768px){.collection-hierarchytree{display:flex}.collection-hierarchytree .tree-panel,.collection-hierarchytree #tree-preview{flex-basis:50%;padding:1rem}#modal .collection-hierarchytree{display:block}#modal .tree-panel{flex-basis:100%;padding:0}#modal #tree-preview{display:none}}.hierarchy-tree-container .hierarchy-tree{margin-top:.5rem;padding-top:.3rem;max-height:75vh;overflow-x:hidden;overflow-y:auto;border-right:1px solid #eee}.hierarchy-tree-container .hierarchy-tree-selector{margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full{margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full label{font-weight:inherit}.hierarchy-tree-container .hierarchy-tree-search-form{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-search-form .alert{display:inline;padding:.4rem;margin:0}html{font-size:14px}a,label{cursor:pointer}.alert.alert-info a{text-decoration:underline}.alert-default{border-color:#e3e3e3;background-color:#f5f5f5}.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover{color:#000}.list-unstyled{margin:0}.icon-bar{background-color:#888}.btn,.search-filter-toggle{text-decoration:none}.btn-link.pull-left,.btn-link.pull-right{display:flex}.nav>li>a{text-decoration:none}.nav>li>a:hover,.nav>li>a:focus{color:#fff;text-decoration:none;background-color:#333;outline:dotted 1px #000}.nav .dropdown-toggle{padding-right:8px}.nav .dropdown-toggle .icon{margin-left:4px;margin-right:0}body.rtl .nav .dropdown-toggle{padding-left:8px;padding-right:10px}body.rtl .nav .dropdown-toggle .icon{margin-left:0;margin-right:4px}.navbar-nav button.dropdown-toggle{color:#333;background-color:#fff;border-color:#ccc;appearance:none;padding:22.5px;border:0;color:inherit;background-color:transparent}.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.navbar-nav button.dropdown-toggle:active:hover,.navbar-nav button.dropdown-toggle.active:hover,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:active:focus,.navbar-nav button.dropdown-toggle.active:focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active.focus,.navbar-nav button.dropdown-toggle.active.focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle.disabled:hover,.navbar-nav button.dropdown-toggle[disabled]:hover,fieldset[disabled] .navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle.disabled:focus,.navbar-nav button.dropdown-toggle[disabled]:focus,fieldset[disabled] .navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.disabled.focus,.navbar-nav button.dropdown-toggle[disabled].focus,fieldset[disabled] .navbar-nav button.dropdown-toggle.focus{background-color:#fff;border-color:#ccc}.navbar-nav button.dropdown-toggle .badge{color:#fff;background-color:#333}.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open .navbar-nav button.dropdown-toggle.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.highlight,mark{background:#ff6;padding:.1em .2em}img{max-width:100%}.breadcrumb{margin-top:.5rem;margin-bottom:.5rem}.label,.result .format,.sidebar .format{display:inline-block}.popover{width:250px}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.sub-breadcrumb{padding:5px 10px;white-space:nowrap}.sub-breadcrumb li{display:inline-block}.sub-breadcrumb li+li:before{padding-left:5px;padding-right:5px;color:#777;content:"/\00a0"}.tab-content{padding:4px}h2{font-size:20px}h3{font-size:16px}@media (min-width:768px){h2{font-size:23px;font-weight:normal}h3{font-size:20px;font-weight:normal}.form-control{max-width:400px}#modal .form-control{max-width:none}}footer{padding:1rem}@media (min-width:768px){.footer-container{display:flex;width:100%}.footer-column{flex:0 1 100%}.mainbody{width:75%}.sidebar{width:25%}.mainbody.left,.sidebar.left{float:left;padding-right:1rem}.mainbody.right,.sidebar.right{float:right;padding-left:1rem}.mainbody.solo{width:auto;padding-left:0;padding-right:0}}.flex{display:flex}.rtl .flex{flex-direction:row-reverse}.flex-col{flex:0 1 100%}.flex-none{flex:none}.has-error,.sms-error{margin-bottom:0}.help-block.with-errors{margin:0;padding-bottom:3px}.help-block.with-errors:first-child{padding-top:3px}.help-block.with-errors:empty{padding:0}.help-block.with-errors ul.list-unstyled{margin:0}.form-admin-maintenance .form-control{display:inline-block;width:100px}.badge a{color:#fff}@media (min-width:768px){.browse-container{display:flex}.browse-list{flex-basis:25%;padding-right:1rem}.browse-list:last-child{padding-right:0}}.browse-item{position:relative;display:block;padding:.5rem 1rem;border:1px solid #ddd;border-bottom:0;word-wrap:break-word}.browse-item.active{background-color:#619144;color:#fff}.browse-item.active .badge{background-color:#fff;color:#222}.browse-item:hover{background-color:#eee}.browse-item:last-child{border-bottom:1px solid #ddd}.browse-item.with-badge{padding-right:3rem}.browse-item.with-badge .badge{position:absolute;top:.5rem;right:.25rem}.browse-item.view-record{padding:2px 4px;font-size:85%;text-align:right;border-top:0}.cart-controls,.cart-control-btns{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.cart-controls>.checkbox{margin-top:.5rem;order:1;flex-basis:100%}.cart-control-btns{list-style:none;margin:0;padding:0}.cart-controls .toolbar-btn{margin:0}@media (min-width:992px){.cart-controls>.checkbox{margin-block:0;padding-inline-end:1rem;padding-bottom:.25rem;order:unset;flex-basis:auto}}.nav .btn-bookbag-toggle{float:left}.nav .btn-bookbag-toggle a{display:block;padding:5px;text-decoration:none}.nav .btn-bookbag-toggle a:hover,.nav .btn-bookbag-toggle a:focus{outline:dotted 1px #000;text-decoration:none;background-color:#eee}.translation-output{width:100%;max-width:none;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;white-space:pre}.form-login .btn-link~.btn-link{padding-left:0}.myresearch-menu ul{list-style:none;margin-bottom:0;padding-left:0}.myresearch-menu a{display:inline-flex;gap:.375rem;width:100%;padding:10px 15px;line-height:1.15;align-items:baseline}.myresearch-menu a:hover{background-color:#eee;outline:dotted 1px #000}.myresearch-menu a:focus{background-color:#eee}.myresearch-menu a.user-list-link i{margin-left:.5rem}.myresearch-menu a.active{background-color:#619144;color:#fff}.myresearch-menu a .icon-link__icon{width:1rem;text-align:center}.myresearch-menu a .icon-link__label{flex:1 1 0%}.myresearch-menu .status{display:flex;gap:2px;flex:none}.myresearch-menu .status .badge{border-radius:2px;border:1px solid;height:20px}.myresearch-menu .status .badge.account-none{color:#333;background-color:#eee}.myresearch-menu .status .badge.account-info{color:#3c763d;background-color:#dff0d8}.myresearch-menu .status .badge.account-warning{color:#8a6d3b;background-color:#fcf8e3}.myresearch-menu .status .badge.account-alert{color:#8a211e;background-color:#f2dede}.myresearch-menu .active .status .badge{color:#fff;background-color:transparent;border:1px solid #fff}ul.list-group{list-style:none}.dropdown-menu>li>.prompt-text{white-space:inherit;min-width:200px}.logoutOptions.with-dropdown a{padding-right:.5rem}#login-dropdown a{margin-right:.5rem}#login-dropdown .dropdown-menu{width:250px;padding:0 .5rem .5rem .5rem}#login-dropdown .dropdown-menu .account-menu{display:block}#login-dropdown .dropdown-menu h3{margin-left:.5rem}#login-dropdown #login-dropdown .dropdown-menu .account-menu{display:block}.login-tokens-table{margin-bottom:.5rem}.login-tokens-table tbody>tr>td{vertical-align:middle}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}#dateVisColorSettings{background-color:#fff;fill:#eee;outline-color:#c38835;stroke:#619144}.table,.search-history-table{table-layout:fixed;word-wrap:break-word}@media (min-width:992px){.table.fines-table,.search-history-table.fines-table{table-layout:auto;word-wrap:normal}}@media screen and (max-width:768px){.table-responsive,.search-history-table{border:none}.table-responsive thead,.table-responsive tfoot>tr>th,.search-history-table thead,.search-history-table tfoot>tr>th{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.table-responsive tbody>tr,.search-history-table tbody>tr{display:block;margin-bottom:20px;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:4px solid #ddd}.table-responsive td,.table-responsive tbody>tr>th,.search-history-table td,.search-history-table tbody>tr>th{display:flex;align-items:first baseline;background:#fff}.table-responsive td:before,.table-responsive tbody>tr>th:before,.search-history-table td:before,.search-history-table tbody>tr>th:before{display:flex;flex-basis:40%;flex-shrink:0;font-weight:bold;content:attr(data-label)}.table-responsive tbody>tr>td:nth-child(even),.search-history-table tbody>tr>td:nth-child(even){background-color:#f9f9f9}.table-responsive tfoot>tr>td,.search-history-table tfoot>tr>td{border-top:none}}.node{position:absolute;box-sizing:content-box;margin:-1px;overflow:hidden;font:10px sans-serif;line-height:12px;border:1px solid #fff}.node div{margin-top:0px}.toplevel{border:2px solid #000}.node .label{position:absolute;bottom:0;left:0;min-height:1px;padding:2px 4px;font-size:85%;background-color:rgba(0,0,0,0.5);border-radius:0;text-shadow:none}.notalabel{color:#000}#viz-instructions{padding-top:600px}span[class^="services-"],span[class*=" services-"] span::before{content:", "}span[class^="services-"],span[class*=" services-"] span:first-of-type::before{content:""}div.holding-details{display:flex}div.holding-details .holding-field{flex:1 1 0;padding-left:.5rem;padding-right:.5rem}div.holding-details .holding-field.barcode,div.holding-details .holding-field.place-hold,div.holding-details .holding-field.storage-retrieval,div.holding-details .holding-field.ill-request,div.holding-details .holding-field.recall{flex:1 1 0}div.holding-details .holding-field.availability{flex:2 1 0}div.holding-details .due-date:before{content:"\2013";padding-right:.3em}div.holding-details .due-date{white-space:nowrap}div.holding-notes{padding-left:.5rem;padding-right:.5rem}.odbrand{padding:7px}.oauth2-prompt ul{margin-top:1rem}.oauth2-prompt .oauth2-ils-selection{margin-top:1rem;margin-bottom:1rem}.oauth2-prompt .oauth2-ils-selection form{margin-top:1rem}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:.5}#cc-main a:hover{color:#092b47;text-decoration:underline;background-size:0%}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn,#cc-main .pm__btn{transition:none}#cc-main .cm--bar .cm__btn,#cc-main .pm__btn{font-size:14px}#cc-main .cm--bar .cm__btn{flex:none}#cc-main .pm__section--expandable .pm__section-arrow{background:none}#cc-main .pm__section--toggle{background:transparent}.HelpMenu{list-style-type:none;margin-bottom:1rem;padding:0}.pagination{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:center}.doi-icon{width:16px}.searchHomeContent{float:none;margin:1em auto;width:90%}.group .match{margin-top:.5em}.active-filters .filters .filter-value{padding:2px 8px 0}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{padding-left:.5rem;padding-right:.5rem}.toolbar-btn:hover,.cart-add:hover .cart-link-label,.cart-remove:hover .cart-link-label,.reset-filters-btn:hover{color:#092b47}.searchForm_lookfor,.searchForm_type{border-color:#619144}.searchForm{padding:0}.searchForm .clear-btn,.searchForm .btn-primary,.searchForm .form-control{font-size:14px;height:32px;padding:5px 8px}.searchForm .clear-btn,.searchForm .btn-primary[multiple],.searchForm .form-control[multiple]{height:auto}@media (min-width:768px){.searchForm .input-group{width:400px}.searchForm .form-control.search-query{width:400px}}.searchForm .nav-tabs{border-bottom:0;padding:0 6px}.searchForm .nav-tabs li a{margin-bottom:-1px;border-bottom:0;padding-bottom:6px}.searchForm .nav-tabs li a:hover{background:0 0;border-color:transparent;text-decoration:underline}.searchForm .nav-tabs li.active a,.searchForm .nav-tabs li.active a:hover{background:#FFF;border-color:#619144;border-bottom:0;text-decoration:none;z-index:5}.searchForm .keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.searchForm .keyboard-selection button.dropdown-toggle:hover,.searchForm .keyboard-selection button.dropdown-toggle:focus{color:white;background-color:#619144}.searchForm .keyboard-selection:not(.open) .activated:not(:hover){background:#bed9ae}.searchForm .keyboard-selection .btn-primary{height:20px}.keyboard-box{width:85%}@media (min-width:768px){.keyboard-box{width:635px}}@media (min-width:992px){.keyboard-box{width:832px}}@media (min-width:1200px){.keyboard-box{width:832px}}.top-facets .facet a{vertical-align:middle}.result{padding:1rem;margin-left:-1rem}.result:nth-child(even){background-color:#eee}.result.embedded .getFull.expanded{margin-top:-6px;padding-top:.5rem;padding-bottom:.5rem}.result>p{padding:0 1em}.result .long-view .tab-content{background:#fff}.result .media{margin:0}.result .row{padding:0}.result .savedLists{margin:0 0 4px;padding:4px 0 4px 6px}.result .savedLists ul{padding-left:18px}.search-controls label{margin:0;vertical-align:middle}.search-stats{color:#555}legend{margin-top:2rem;margin-bottom:0}.grid-result{padding-top:1rem}.grid-checkbox{text-align:right;cursor:pointer}.grid-body{text-align:center}.grid-body .status{margin-top:.5rem;margin-bottom:.5rem}.template-dir-eds.template-name-advanced h2,.template-dir-search.template-name-advanced h2{margin-top:3px}.template-dir-combined.template-name-results.offcanvas{margin-left:.5rem;margin-right:.5rem}.template-dir-combined.template-name-results .main .container{width:100%;padding-left:0;padding-right:0}.template-dir-combined.template-name-results header,.template-dir-combined.template-name-results .breadcrumbs,.template-dir-combined.template-name-results .main,.template-dir-combined.template-name-results footer{background-color:#fff}.template-dir-combined.template-name-results header{border-radius:5px 5px 0 0}.template-dir-combined.template-name-results footer{width:100%;padding:1rem;border-radius:0 0 5px 5px}.template-dir-combined.template-name-results .breadcrumbs{border-top:1px solid #ddd;border-bottom:1px solid #ddd}.template-dir-combined.template-name-results .breadcrumbs .container{border:0}.template-dir-combined.template-name-results .bulkActionButtons{padding-left:1rem}@media (min-width:768px){.template-dir-combined.template-name-results,.template-dir-combined.template-name-results.offcanvas{margin-left:1rem;margin-right:1rem}}legend{margin:0}@media (min-width:768px){.form-fix-database .control-label,.form-oai-home .control-label,.form-search-reserves .control-label{width:200px;padding-left:1rem;padding-right:1rem;text-align:right}.form-fix-database .form-control,.form-oai-home .form-control,.form-search-reserves .form-control{display:inline-table;width:300px}.form-fix-database .form-group>.btn:first-child,.form-oai-home .form-group>.btn:first-child,.form-search-reserves .form-group>.btn:first-child{margin-left:200px}}a,.btn-link{color:#06C}a:hover,.btn-link:hover{color:#09F}a:active,.btn-link:active{color:#000}.alert,.savedLists{padding:8px}.breadcrumbs .container{border-top:1px solid #ddd;border-bottom:1px solid #ddd}.breadcrumb{margin-top:.25rem;margin-bottom:.25rem;padding-left:0;font-size:12px}.btn,.search-filter-toggle{padding:3px 5px 2px}.btn.btn-default{background:#eee;background-image:linear-gradient(#fff, #ddd);border:1px solid #555;color:#222;text-shadow:0 1px 0 #fff}.btn:not(.btn-default){font-weight:bold}.btn-danger,.btn-danger:hover{border-color:#6e110e}.btn-info,.btn-info:hover{border-color:#103743}.btn-primary,.btn-primary:hover{border-color:#456730}.btn-success,.btn-success:hover{border-color:#014701}.btn-warning,.btn-warning:hover{border-color:#683d00}.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{padding:0;background:#fff}h2{margin:8px 0}.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{padding-left:1rem;padding-right:1rem;background:#fff}input[type=radio],input[type=checkbox]{margin:2px auto 0;padding:0 2px}.nav>li>a{padding:5px 10px}.nav-pills{display:table;margin:0 auto}.navbar{min-height:1px}.navbar-form{margin-top:.5rem;margin-bottom:.5rem}.pagination{margin:18px auto}.pagination>li>a{padding:4px 12px 3px}.panel-heading{padding:0}.panel-heading a{cursor:pointer;display:inline-block;padding:6px;width:100%}.row:not(.top-row){padding:6px 4px;margin:0 -4px}.row>p{padding:0 1em}.sub-breadcrumb{padding:0 5px}.tab-content{padding:6px 8px;border:1px solid #eee;border-top:0;margin-bottom:5px}@media (max-width:767px){.label,.result .format,.sidebar .format{font-size:85%}}@media (min-width:768px){.badge{font-size:85%;margin-top:1px}.label,.result .format,.sidebar .format{padding-top:.3em}.modal-dialog{width:650px}}body{background:#619144;font-size:13px}#commentList .comment:nth-child(even){background:#eee}#dateVisColorSettings{stroke:#619144}#hierarchyRecord{background:#fff}.cart-controls .checkbox{line-height:2rem}.myresearch-menu a:hover{text-decoration:none}.main .container{padding-top:1rem}.main .sidebar{background-color:#fff}@media (min-width:768px){.main .sidebar{padding:0}.sidebar.left{padding-right:1rem}.sidebar.right{padding-left:1rem}}header{margin-top:18px}header .fa.fa-bars{font-size:21px}header .navbar{border-radius:5px 5px 0 0;padding:0 10px}header .navbar.search{border-radius:0}header .navbar .navbar-brand{height:65px;width:170px;margin-top:5px;color:transparent;background-image:url('../../bootprint3/images/vufind_logo.png');background-position:center center;background-repeat:no-repeat;background-size:contain}header .navbar .navbar-brand:active,header .navbar .navbar-brand:focus,header .navbar .navbar-brand:hover{color:transparent}header .navbar .navbar-brand.lang-ar{background-image:url('../../bootprint3/images/vufind_logo_ar.png')}header .navbar .navbar-nav>li>a,header .navbar .navbar-nav>li .dropdown-toggle{position:relative;padding:12px 6px;color:#12538B}header .navbar .navbar-nav>li>a:hover,header .navbar .navbar-nav>li .dropdown-toggle:hover,header .navbar .navbar-nav>li>a:focus,header .navbar .navbar-nav>li .dropdown-toggle:focus{z-index:1000;text-decoration:none;color:#000;outline:dotted 1px #000;background-color:#eeeeee}header .navbar .navbar-right{margin-top:12px}@media (max-width:767px){header .navbar .navbar-nav>li>a,header .navbar .navbar-nav>li .dropdown-toggle{padding:8px 24px}header .navbar .navbar-right{margin:0}}header .searchbox .tab-content{border:0}header .searchbox .tab-content .navbar-text{margin:5px 10px 5px 0}@media (max-width:767px){header #header-collapse .navbar-right li{text-align:right}header .searchForm_type{margin-top:2px;margin-bottom:2px}}footer{margin-bottom:2rem;border-radius:0 0 5px 5px;border-top:1px solid #ddd}footer hr{display:none}footer p{margin:0}footer ul{padding-left:30px}[id^=list].list-group .col-sm-9{margin:0}.channel{max-width:96%;margin-left:2%;margin-right:2%}.channel,.channel-title.no-results{margin-bottom:2rem}.channel-title{margin-top:1rem}.channel-title .fa{margin-top:4px}ul.random{list-style:none;padding:0;margin:0;text-align:justify}ul.random li{padding-bottom:10px}ul.random li img{margin:0 auto 1em}ul.random.image,ul.random.mixed{text-align:center}ul.random.image li img{margin:0 auto}#custom_recaptcha_widget{display:table}#custom_recaptcha_widget embed{display:none}#custom_recaptcha_widget #recaptcha_image{border:1px solid #000;padding:6px;margin:1em 0}#custom_recaptcha_widget #recaptcha_response_field{margin:0 .5em}#custom_recaptcha_widget>div>a{display:inline-block;float:left;margin:5px 10px 5px 0}.record-nav .action-toolbar{display:table;margin:0 auto 1rem}.sidebar .facet-group{margin-bottom:5px}.sidebar .facet-group label.list-group-item{padding-left:26px}.sidebar .facet-group label.list-group-item input[type=checkbox]{margin-top:2px}.sidebar .facet{padding:7px 10px 6px}.sidebar .facet-tree .facet{padding-left:2px}.sidebar .facet.active,.sidebar .facet.active:hover,.sidebar .active-filters .facet{color:#fff;background-color:#E70;border-color:#E70}.sidebar .facet.active .badge{color:#E70}.sidebar .facet .badge a{color:#fff}.checkboxFilter .facet{padding-left:1px}.slider-container .slider-handle{background:#619144;border:1px solid #619144}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#619144}.top-row .badge a{color:#fff}.top-row .badge a:hover{color:#A41915} \ No newline at end of file + */@font-face{font-family:'FontAwesome';src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../bootstrap3/css/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0);clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0 0 0 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0, rgba(0,0,0,0.5) 100%);box-shadow:0 0 0 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:.5em;left:.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info,.savedLists{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,input:-ms-input-placeholder,textarea:-ms-input-placeholder,input::-ms-input-placeholder,textarea::-ms-input-placeholder,input::placeholder,textarea::placeholder{color:#888}.sr-only{clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only:focus{background-color:#fff;border-radius:3px;clip:auto;color:#132531;display:block;font-size:14px;height:65px;line-height:20px;padding:22.5px 7px;position:absolute;left:5px;top:5px;text-decoration:none;text-transform:none;width:auto;z-index:100000}.navbar-brand{font-size:20px}a{text-decoration:underline}a:hover{color:black}.alert-danger,.alert-danger a{color:#8a211e}.alert-danger .btn-danger,.alert-danger a .btn-danger{color:white}.alert-danger .btn-danger:hover,.alert-danger a .btn-danger:hover{color:#8a211e}.searchForm .advanced-search-link{text-decoration:underline}.adv-group{position:relative;margin-bottom:.5rem;padding:1rem;border:1px solid #ddd;border-radius:3px}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group~.adv-group{margin-top:1rem}.adv-group .add_search_link{display:inline-block;margin-top:4px}.add_search_link,.adv-group-close{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.adv-group-close{color:#8a211e}.adv-search,.adv-search .input-group{width:100%}.adv-search{margin-bottom:1.5rem}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-term-input{margin-bottom:.5rem}.adv-term-type{float:left;max-width:80%}.adv-term-remove{color:#000;font-size:1.2rem;float:left;width:20%;height:30px;line-height:1.7;text-align:center;opacity:.4}.adv-term-remove .icon--image{vertical-align:middle}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit .clear-btn{float:right}@media (min-width:768px){.adv-group-terms{float:left;width:75%;padding-right:1rem}.adv-group-match{float:right;width:25%}.adv-group-close{position:absolute;right:1rem;bottom:1rem;min-width:calc(25% - 1rem)}.adv-search{margin-bottom:0}.adv-search .adv-term-input,.adv-search .adv-term-type{float:left}.adv-search .adv-term-input{width:60%;margin-right:2%}.adv-search .adv-term-type{max-width:30%}.adv-search .adv-term-remove{width:8%}}#groupPlaceHolder{display:block;padding:1rem}@media (min-width:768px){fieldset,.fieldset{float:left;width:33%;padding-right:1rem;padding-bottom:1rem}.solr-facets,.summon-facets{float:none;width:auto;margin-top:1rem}.summon-facets .facet-fieldset{float:left;width:50%;padding-right:1rem}}.adv-term-input,.adv-term-op{margin-bottom:.25rem}.adv-search:first-of-type .adv-term-op{display:none}@media (min-width:768px){.eds-adv .adv-term-op{float:left;width:16%;margin-right:1%}body.rtl .eds-adv .adv-term-op{float:right;margin-left:0;margin-right:1%}.eds-adv .adv-search:first-of-type .adv-term-input{margin-left:17%}.eds-adv .adv-term-input{width:39%;margin-right:0}.eds-adv .help-block{float:left;width:6%;text-align:center}}.primo-adv-search .search{margin-bottom:.5rem}.primo-adv-search .search .adv-term-type{margin-bottom:.25rem}.primo-adv-search .search-container{width:100%}.primo-adv-label{line-height:28px;padding-right:1rem}@media (min-width:640px){.primo.adv-group,.primo-adv-search .search{display:flex}.primo.adv-group select,.primo-adv-search .search select{flex-shrink:1.5;margin-right:.5rem}.primo.adv-group .primo-adv-input,.primo-adv-search .search .primo-adv-input{flex-grow:1}.primo-adv-label{flex-shrink:0}}@media (min-width:768px){.solr-facet-container{display:flex;flex-wrap:wrap}.solr-adv-facet{flex:1 25%}}body.rtl fieldset,body.rtl .fieldset,body.rtl .adv-search .adv-term-input,body.rtl .adv-search .adv-term-type,body.rtl .eds-adv .help-block,body.rtl .summon-facets .facet-fieldset{float:right}body.rtl .adv-submit .clear-btn,body.rtl .adv-group-match{float:left}body.rtl .adv-search .adv-term-input{margin-left:2%;margin-right:0}body.rtl .date-from{padding-left:.25rem;padding-right:0}body.rtl .date-to{padding-left:0;padding-right:.25rem}.alphabrowse{border-collapse:separate}.alphabrowse .lcc{width:20%}.alphabrowse .titles{width:10%;text-align:center}.alphabrowse tr.browse-match td{border-top:.2rem solid #619144;border-bottom:.2rem solid #619144}.alphabrowse tr.browse-match td:first-child{border-left:.2em solid #619144}.alphabrowse tr.browse-match td:last-child{border-right:.2em solid #619144}.autocomplete-results{position:absolute;display:none;max-width:500px;margin:0;margin-top:2px;padding:0;border:1px solid lightgray;background-color:#fff;overflow:hidden;z-index:50}.autocomplete-results.open{display:table}.autocomplete-results .ac-item{display:block;margin:0;padding:.5rem;border-bottom:1px solid lightgray;cursor:pointer}.autocomplete-results .ac-item:last-child{border:0}.autocomplete-results .ac-item:hover{background-color:#cce1c0}.autocomplete-results .ac-item.is-selected{background-color:#619144;color:#fff}.autocomplete-results .ac-disabled,.autocomplete-results [disabled]{color:darkgray}.autocomplete-results .ac-header{white-space:nowrap;color:#000;background-color:lightgray;cursor:default}.channel-wrapper{margin-top:1rem;margin-bottom:2rem}@media (max-width:767px){.channel-wrapper{margin-left:1rem}}.channel{position:relative;width:100%;max-height:300px;padding:1rem;background-color:#eee;border-radius:3px}.channel-add-menu{position:relative;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #555;text-align:center}@media (min-width:768px){.channel-add-menu{float:right;margin:0;padding:0;border:0}body.rtl .channel-add-menu{float:left}}.channel-add-menu .dropdown-menu{left:auto;right:0;max-width:90vw;overflow:hidden}.channel .channel-record.slide{display:inline-block;min-width:100px;max-height:16em;padding:0 .5rem;text-align:center}.channel-record-title{display:block;height:3em;margin:0;line-height:1.5;overflow:hidden}.channel .channel-record .thumb{display:flex;height:200px;align-items:center;justify-content:center}.channel .channel-record .thumb img{max-width:100%;max-height:100%}.channel .popover{width:500px;max-width:none}.channel .popover-title{font-size:1.4rem;font-weight:bold}.channel-title h2{display:inline-block;margin:0}.channel-title .dropdown{display:inline-block}.channel-title a:hover{text-decoration:none}.channel-title i.fa-fw{width:1.4em;padding-top:.5em;font-size:.6em;text-align:center;vertical-align:top}.channel-title .placeholder{width:25px}.channel-title .dropdown button{font-size:18px;color:#777;vertical-align:baseline}.channel .slick-prev::before,.channel .slick-next::before{color:#555}.channel-search{margin-top:1rem}:root{--cc-font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--cc-modal-border-radius:3px;--cc-btn-border-radius:3px;--cc-modal-transition-duration:.25s;--cc-link-color:#12538B;--cc-modal-margin:1rem;--cc-z-index:990}#cc-main{color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;line-height:1.15;-webkit-text-size-adjust:100%;z-index:var(--cc-z-index);position:fixed}#cc-main.cc--rtl{direction:rtl}#cc-main b,#cc-main em,#cc-main strong,#cc-main a,#cc-main .cm__title{font-weight:500}#cc-main button>span{pointer-events:none}#cc-main a,#cc-main .cc__link{font-weight:600;position:relative;background-image:linear-gradient(currentColor, currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s,color .25s ease}#cc-main a:hover,#cc-main .cc__link:hover{color:var(--cc-primary-color);background-size:100% 1px}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{scrollbar-width:thin;overscroll-behavior:auto contain}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-track,#cc-main ::-webkit-scrollbar-thumb{all:revert}#cc-main ::-webkit-scrollbar-thumb{border:.25rem solid var(--cc-bg);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:1rem;background:var(--cc-toggle-readonly-bg)}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}:root{--cc-bg:#fff;--cc-primary-color:#333;--cc-secondary-color:#4d4d4d;--cc-btn-primary-bg:#619144;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:#619144;--cc-btn-primary-hover-bg:#fff;--cc-btn-primary-hover-color:#619144;--cc-btn-primary-hover-border-color:#e0e0e0;--cc-btn-secondary-bg:#fff;--cc-btn-secondary-color:#333;--cc-btn-secondary-border-color:#ccc;--cc-btn-secondary-hover-bg:#333;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:#adadad;--cc-separator-border-color:#e3e3e3;--cc-toggle-on-bg:#777;--cc-toggle-off-bg:#919191;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:#fff;--cc-toggle-enabled-icon-color:#fff;--cc-toggle-disabled-icon-color:#fff;--cc-toggle-readonly-bg:#aaa;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:#aaa;--cc-section-category-border:#eee;--cc-cookie-category-block-bg:#eee;--cc-cookie-category-block-border:#ddd;--cc-cookie-category-block-hover-bg:#d5d5d5;--cc-cookie-category-block-hover-border:#ddd;--cc-cookie-category-expanded-block-bg:#eee;--cc-cookie-category-expanded-block-hover-bg:#d5d5d5;--cc-overlay-bg:#000;--cc-webkit-scrollbar-bg:#eee;--cc-webkit-scrollbar-hover-bg:#fff;--cc-footer-bg:#f5f5f5;--cc-footer-color:#333;--cc-footer-border-color:#ddd}#cc-main .cm{position:fixed;max-width:24rem;display:flex;flex-direction:column;background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);z-index:1;overflow:hidden;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3);visibility:hidden;opacity:0}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{right:var(--cc-modal-margin);margin-left:var(--cc-modal-margin)}#cc-main .cm__body{position:relative;display:flex;flex-direction:column;justify-content:space-between}#cc-main .cm__texts,#cc-main .cm__btns,#cc-main .cm__links{width:unset;padding:1rem 1.3rem}#cc-main .cm__texts{display:flex;flex-direction:column;justify-content:center;flex:1;padding-bottom:1rem 0 0}#cc-main .cm__title,#cc-main .cm__desc{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);line-height:1.5;font-size:.9em;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--cc-separator-border-color)}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0, 1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0;margin-bottom:.375rem}#cc-main .cm--inline .cm__btn+.cm__btn{margin-top:0;margin-left:.375rem}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-right:0;margin-bottom:.375rem}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--wide .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--wide.cm--flip .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;font-weight:500;font-size:.82em;min-height:42px;padding:.5em 1em;border-radius:var(--cc-btn-border-radius)}#cc-main .cm__btn:hover{color:var(--cc-btn-primary-hover-color);background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color)}#cc-main .cm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .cm__btn--secondary:hover{color:var(--cc-btn-secondary-hover-color);background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .cm__btn--close{display:none;position:absolute;right:0;top:0;width:42px;height:42px;border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-top:none;border-right:none;padding:0!important;min-width:auto!important;font-size:1em;overflow:hidden}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{color:var(--cc-footer-color);background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);padding:.4em 0 .5em 0}#cc-main .cm__links{padding-top:0;padding-bottom:0;display:flex;flex-direction:row}#cc-main .cm__link-group{font-size:.8em;display:flex;flex-direction:row;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-right:1.8em;padding-left:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{width:unset;max-width:54em}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-top:none;border-left:1px solid var(--cc-separator-border-color)}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btns{max-width:23em}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btns,#cc-main .cm--cloud.cm--flip .cm__btn-group{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{max-width:unset;width:100vw;left:0;right:0;margin:0;transform:translateY(0);border-radius:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0}#cc-main .cm--bar.cm--bottom{bottom:0}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{max-width:55em;margin:0 auto;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em 0}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--bar .cm__btn{min-width:120px;padding-right:2em;padding-left:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{padding:0;flex-direction:row}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper::before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper::before{content:'';opacity:0;visibility:hidden;position:fixed;left:0;right:0;top:0;bottom:0;z-index:0;background:var(--cc-overlay-bg)}#cc-main .cm{transform:translateY(1.6em)}#cc-main .cm--middle{transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bar.cm--bottom{transform:translateY(100%)}#cc-main .cm--bar.cm--top{transform:translateY(-100%)}.show--consent #cc-main .cc--anim .cm{opacity:1;visibility:visible!important;transform:translateY(0)}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper::before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{right:unset;left:0;border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius)}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-right:1.3rem;padding-left:3rem!important}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__title,#cc-main .cm__desc,#cc-main .cm__btns,#cc-main .cm__links{padding-left:1.1rem !important;padding-right:1.1rem !important}#cc-main .cm__btns{flex-direction:column!important;max-width:none!important;min-width:auto!important;border-left:none!important;border-top:1px solid var(--cc-separator-border-color) !important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btns,#cc-main .cm--flip .cm__btn-group{flex-direction:column-reverse !important}}:root{--cc-pm-toggle-border-radius:4em}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{position:fixed;display:flex;width:100%;width:unset;background:var(--cc-bg);flex-direction:column;border-radius:var(--cc-modal-border-radius);opacity:0;visibility:hidden;overflow:hidden;z-index:1;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3)}#cc-main svg{fill:none;width:100%}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:1em 1.4em}#cc-main .pm__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__title{display:flex;align-items:center;flex:1;font-weight:500;margin-right:2em}#cc-main .pm__close-btn{width:calc(42px - 2px);height:calc(42px - 2px);position:relative;background:var(--cc-btn-secondary-bg);border-radius:var(--cc-btn-border-radius);border:1px solid var(--cc-btn-secondary-border-color);transition:all .15s ease}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{border-color:var(--cc-btn-secondary-hover-border-color);background:var(--cc-btn-secondary-hover-bg)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{display:flex;flex-direction:column;margin-bottom:.5em;border-radius:var(--cc-btn-border-radius)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{overflow:hidden;margin-top:0!important}#cc-main .pm__section{padding:1em;border:1px solid var(--cc-separator-border-color);transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{transition:none;padding:0;margin-top:0;border:none;margin-bottom:2em}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--cc-cookie-category-block-bg);position:relative;padding:1.1em 5.4em 1.1em 1.2em;border:1px solid var(--cc-cookie-category-block-border);transition:background-color .25s ease,border-color .25s ease;min-height:58px}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{display:none;border:1px solid var(--cc-cookie-category-block-border);border-top:none;border-radius:var(--cc-btn-border-radius);border-top-left-radius:0;border-top-right-radius:0}#cc-main .pm__section--toggle .pm__section-desc{padding:1em;margin-top:0}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{padding-left:3.4em;cursor:pointer}#cc-main .pm__section--expandable .pm__section-arrow{width:20px;height:20px;position:absolute;left:18px;background:var(--cc-toggle-readonly-bg);display:flex;justify-content:center;border-radius:100%;pointer-events:none}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{position:relative;display:flex;align-items:center}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{font-weight:500;border-radius:var(--cc-btn-border-radius);font-size:.95em}#cc-main .pm__badge{display:flex;flex:none;margin-left:1em;border-radius:5em;font-weight:500;font-size:.8em;background:var(--cc-btn-secondary-bg);color:var(--cc-secondary-color);position:relative;height:23px;width:auto;min-width:23px;align-items:center;text-align:center;justify-content:center;padding:0 .6em 1px .6em;white-space:nowrap;overflow:hidden}#cc-main .pm__service-counter{padding:0;width:23px;background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color)}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px .6em;width:auto}#cc-main .section__toggle-wrapper,#cc-main .section__toggle,#cc-main .toggle__label,#cc-main .toggle__icon{width:50px;height:23px;border-radius:var(--cc-pm-toggle-border-radius);transform:translateZ(0)}#cc-main .section__toggle-wrapper{position:absolute;right:18px;cursor:pointer;z-index:1}#cc-main .toggle-service{position:relative;right:0;width:42px;height:19px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{width:42px;height:19px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper::after{display:none!important}#cc-main .section__toggle{position:absolute;cursor:pointer;display:block;top:0;left:0;margin:0;border:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{position:absolute;background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);transition:all .25s ease;pointer-events:none;display:flex;flex-direction:row}#cc-main .toggle__icon-circle{position:absolute;display:block;left:0;top:0;width:23px;height:23px;border:none;background:var(--cc-toggle-off-knob-bg);box-shadow:0 1px 2px rgba(24,32,3,0.36);transition:transform .25s ease,background-color .25s ease;border-radius:var(--cc-pm-toggle-border-radius)}#cc-main .toggle__icon-on,#cc-main .toggle__icon-off{height:100%;position:absolute;width:100%;transition:opacity .15s ease}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(calc(50px - 23px));background-color:var(--cc-toggle-on-knob-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{position:absolute;top:0;z-index:-1;opacity:0;pointer-events:none;overflow:hidden}#cc-main .pm__section-desc-wrapper{display:flex;flex-direction:column;font-size:.9em;color:var(--cc-secondary-color)}#cc-main .pm__section-desc-wrapper>*:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{padding:.4em 1.2em;position:relative;display:flex;justify-content:space-between;transition:background-color .15s ease;align-items:center}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{display:flex;align-items:center;width:100%;margin-right:1em}#cc-main .pm__service-icon{min-width:8px;height:8px;border:2px solid currentColor;border-radius:100%;margin-left:6px;margin-right:20px;margin-top:1px}#cc-main .pm__service-title{font-size:.95em;word-break:break-word;width:100%}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{text-align:left;border-collapse:collapse;width:100%;padding:0;margin:0;overflow:hidden;font-size:.9em}#cc-main .pm__table-caption{border-top:1px solid var(--cc-cookie-category-block-border);text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{font-weight:600;color:var(--cc-primary-color);border-bottom:1px dashed var(--cc-separator-border-color)}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-th,#cc-main .pm__table-td{padding:.625em;vertical-align:top;padding-left:1.2em}#cc-main .pm__footer{display:flex;justify-content:space-between;border-top:1px solid var(--cc-separator-border-color)}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;flex:auto;min-width:110px;font-weight:500;font-size:.82em;padding:.5em 1.5em;min-height:42px;border-radius:var(--cc-btn-border-radius);transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;top:50%;max-width:43em;max-height:37.5em;height:calc(100% - 2em)}#cc-main .pm--box.pm--flip .pm__footer,#cc-main .pm--box.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm--bar{top:0;bottom:0;border-radius:0;height:100%;max-height:none;max-width:29em;width:100%;margin:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-tr,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-td{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__header,#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-top:.375rem;margin-left:0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0}#cc-main .pm--bar.pm--right{right:0}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__header,#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__footer,#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm-overlay{content:'';position:fixed;left:0;right:0;top:0;bottom:0;z-index:1;background:var(--cc-overlay-bg);opacity:0;visibility:hidden}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .pm--box{transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--bar.pm--left{transform:translateX(-100%)}#cc-main .pm--bar.pm--right{transform:translateX(100%)}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-right:0;margin-left:1em}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{right:unset;left:18px;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-right:5px;margin-left:20px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-th,#cc-main.cc--rtl .pm__table-td{text-align:right;padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td::before{padding-right:unset;padding-left:2em}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}@media screen and (max-width:640px){#cc-main .pm{left:0;right:0;top:0;bottom:0;max-height:100%;height:auto;transform:translateY(1.6em);border-radius:0;max-width:none!important}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:.9em !important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-tr,#cc-main .pm__table-th,#cc-main .pm__table-td{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important;flex-direction:column!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .pm--flip .pm__footer,#cc-main .pm--flip .pm__btn-group{flex-direction:column-reverse !important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0) !important}}.btn.missing_count,.btn.extra_count{padding:0;height:auto}#lang-summary .progress{margin-bottom:0;border:1px solid #555;background-color:#fff}#lang-summary .progress-border-info{border-color:#1C5F74}#lang-summary .progress-border-warning{border-color:#A56100}#lang-summary .progress-border-danger{border-color:#A41915}#lang-summary .progress-bar{min-width:2rem}#lang-summary th,#lang-summary td{text-align:left;vertical-align:middle}.result-list-explain .js-result-list-explain{max-width:100px}.result-list-explain .js-result-list-explain .bar-chart{display:inline-block !important}.result-list-explain,.result-list-explain:hover{text-decoration:none}.explain{word-wrap:break-word}.explain .charts{max-width:800px}.explain .explain-column-container{height:160px}.explain table,.explain th,.explain td{padding-top:9px}.explain .percentage{text-align:right;padding-right:9px}.explain .sum-rest{border-top-width:2px;border-top-style:solid}.explain .explain-rest .percentage{padding-left:10px}.explain .field-name{font-weight:bold}.explain .field-name .icon{padding-left:1px;color:darkblue;vertical-align:unset}.explain .exact-match{color:black}.explain .inexact-match{color:#436c71}.explain .unknown-match{color:red}form .form-control{border-color:#888}form .form-control:focus{border-color:#3F9AE4}form textarea:invalid,form input:invalid{box-shadow:0 0 2px 1px rgba(255,0,0,0.9)}form .form-info{font-weight:bold;margin:20px 0}form .info{margin:10px 0}form .form-group ul{padding:0;margin-left:15px;margin-top:5px}form .form-group label.required::before,form .form-group .radio-label.required::before,form .form-group .radio-label.require-one::before{content:'* '}form input[type=checkbox],form input[type=radio]{height:1em}form .form-group.checkbox,form .form-group.radio{margin-bottom:15px}form .form-group.checkbox label.control-label,form .form-group.radio label.control-label{padding-left:0;font-weight:700;margin-bottom:5px}form .form-group.checkbox label,form .form-group.radio label{display:table;margin:7px 0}form .form-group.checkbox label input,form .form-group.radio label input{width:auto;margin-right:10px;margin-top:3px}form .form-group.checkbox .radio-label,form .form-group.radio .radio-label{font-weight:700}form.dynamic-form input[type=date]{padding-top:0}.icon-link,.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.cart-controls .toolbar-btn{display:inline-flex;gap:.25rem;vertical-align:middle}.icon-link,.icon-link:active,.icon-link:focus,.icon-link:hover,.toolbar-btn,.toolbar-btn:active,.toolbar-btn:focus,.toolbar-btn:hover,.record-nav .cart-add,.record-nav .cart-add:active,.record-nav .cart-add:focus,.record-nav .cart-add:hover,.record-nav .cart-remove,.record-nav .cart-remove:active,.record-nav .cart-remove:focus,.record-nav .cart-remove:hover,.reset-filters-btn,.reset-filters-btn:active,.reset-filters-btn:focus,.reset-filters-btn:hover,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.tag-record:active,.tag-record:focus,.tag-record:hover,.cart-controls .toolbar-btn,.cart-controls .toolbar-btn:active,.cart-controls .toolbar-btn:focus,.cart-controls .toolbar-btn:hover{text-decoration:none}.icon-link__icon{flex:none;padding:0;line-height:inherit;color:inherit}.icon-link__label{text-decoration:underline}span.icon-link .icon-link__label,.disabled .icon-link__label,[disabled] .icon-link__label,span.toolbar-btn .icon-link__label,span.record-nav .cart-add .icon-link__label,span.record-nav .cart-remove .icon-link__label,span.reset-filters-btn .icon-link__label,span.tag-record .icon-link__label,span.cart-controls .toolbar-btn .icon-link__label{text-decoration:none}.icon-link.active .icon-link__icon,.icon-link.active .icon-link__label,.toolbar-btn.active .icon-link__icon,.toolbar-btn.active .icon-link__label,.record-nav .cart-add.active .icon-link__icon,.record-nav .cart-add.active .icon-link__label,.record-nav .cart-remove.active .icon-link__icon,.record-nav .cart-remove.active .icon-link__label,.reset-filters-btn.active .icon-link__icon,.reset-filters-btn.active .icon-link__label,.tag-record.active .icon-link__icon,.tag-record.active .icon-link__label,.cart-controls .toolbar-btn.active .icon-link__icon,.cart-controls .toolbar-btn.active .icon-link__label{color:#fff}.banner .icon-link__label,.pager .icon-link__label,.action-toolbar .icon-link__label{text-decoration:none}.icon--font{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;line-height:inherit;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon--img{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;text-align:center;vertical-align:top}.icon--svg{display:inline-block;max-width:1.25em;max-height:1.25em;fill:currentColor;vertical-align:text-bottom}.icon--unicode:before{content:attr(data-icon)}.show--closed,.collapsed .show--open{display:none}.collapsed .show--closed{display:inline}.doi-icon{height:1em;width:14px;filter:brightness(50%)}.icon--spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon--pulse{animation:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.icon--bounce{animation:bounce 1s infinite}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, .2, 1)}}.keyboard-selection{display:inline-block;margin-top:2px}.keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.keyboard-selection button.dropdown-toggle:hover,.keyboard-selection button.dropdown-toggle:focus,.keyboard-selection.open>button.dropdown-toggle{color:white;background-color:#619144;border-color:#619144;outline:none}.keyboard-selection:not(.open) .activated:not(:hover){background:#f6faf4}.keyboard-selection>.dropdown-menu{min-width:20px}.keyboard-selection>.dropdown-menu>li>a{padding:3px 10px}.keyboard-selection #keyboard-selection-button{padding:0 2px 0 4px}.keyboard-selection #keyboard-selection-button .icon{margin:0}.keyboard-box{position:fixed;bottom:250px;height:0;z-index:60;width:95%}@media (min-width:768px){.keyboard-box{width:720px}}@media (min-width:992px){.keyboard-box{width:940px}}@media (min-width:1200px){.keyboard-box{width:1040px}}.simple-keyboard{display:none;position:absolute;z-index:1}.simple-keyboard.hg-theme-default{background-color:#dddddd}.simple-keyboard .hg-button.hg-functionBtn{font-weight:bold;font-size:30px;background-color:#f4f4f4}.simple-keyboard .hg-button.hg-functionBtn span{padding-top:5px}.simple-keyboard .hg-button.hg-functionBtn.hg-button-space{background-color:white}.simple-keyboard .hg-standardBtn{font-size:18px}.show-keyboard{display:block}#modal{background-color:rgba(0,0,0,0.2)}#modal .modal-dialog{width:100%;margin-inline:auto;margin-block:1rem;padding-inline:1rem}@media (min-width:768px){#modal .modal-dialog{width:fit-content;max-width:min(1200px, calc(100vw - 200px));min-width:600px;padding:0}}#modal .modal-content>.close{position:absolute;top:0;right:0;z-index:2;padding:.5rem;opacity:1}body.rtl #modal .modal-content>.close{left:0;right:auto}#modal .close svg{width:1em;vertical-align:bottom;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}@media (min-width:768px){#modal .modal-content>.close{right:-1.75em;font-size:32pt;color:#fff;background-color:rgba(0,0,0,0);border-radius:6px}body.rtl #modal .modal-content>.close{left:-1.75em;right:auto}}#modal .modal-content>.close:hover{background-color:#000}#modal .modal-body h1,#modal .modal-body h2{margin-top:.3rem;margin-bottom:1.3rem}#modal .cart-controls .btn{margin-bottom:4px}#modal .cart-controls~hr{margin-top:0}.lightbox-scroll{overflow-y:auto}.modal-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;font-size:150%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.2)}.modal-loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:5px;color:#eee}.lightbox-only{display:none}#modal .lightbox-only{display:initial}.lightbox-image{text-align:center}.vufind-offcanvas-overlay{display:none}.search-filter-toggle{margin-top:1rem;margin-bottom:1rem}.close-offcanvas,.search-filter-toggle{display:none}@media screen and (max-width:767px){.close-offcanvas::before,.close-offcanvas::after,.search-filter-toggle::before,.search-filter-toggle::after{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.vufind-offcanvas .close-offcanvas{display:block}body.vufind-offcanvas{overflow-x:hidden;transition:margin .5s}.vufind-offcanvas-overlay{display:none;position:fixed;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:3;opacity:0;transition:opacity .5s;cursor:pointer}.vufind-offcanvas .vufind-offcanvas-overlay{display:block}.vufind-offcanvas-left .sidebar{left:-80vw}.vufind-offcanvas-left .vufind-offcanvas-overlay{right:-100%}.vufind-offcanvas-left .vufind-offcanvas-toggle{left:0}.vufind-offcanvas-right .sidebar{right:-80vw}.vufind-offcanvas-right .vufind-offcanvas-overlay{left:-100%}.vufind-offcanvas-right .vufind-offcanvas-toggle{right:0}.vufind-offcanvas .sidebar{position:fixed;height:100%;top:0;width:80vw;padding:1rem;overflow-y:auto;background-color:#fff;transition:left .5s,right .5s}.vufind-offcanvas .sidebar .search-sort{padding-bottom:1rem}.vufind-offcanvas.active{overflow-y:hidden}.vufind-offcanvas.active.vufind-offcanvas-left{margin-left:80vw;margin-right:-80vw}.vufind-offcanvas.active.vufind-offcanvas-left .sidebar{left:0}.vufind-offcanvas.active.vufind-offcanvas-left .vufind-offcanvas-overlay{right:-80vw}.vufind-offcanvas.active.vufind-offcanvas-left .vufind-offcanvas-toggle{left:80vw}.vufind-offcanvas.active.vufind-offcanvas-right{margin-left:-80vw;margin-right:80vw}.vufind-offcanvas.active.vufind-offcanvas-right .sidebar{right:0}.vufind-offcanvas.active.vufind-offcanvas-right .vufind-offcanvas-overlay{left:-80vw}.vufind-offcanvas.active.vufind-offcanvas-right .vufind-offcanvas-toggle{right:80vw}.vufind-offcanvas.active .vufind-offcanvas-overlay{opacity:1;transition:opacity .5s}.vufind-offcanvas-left .close-offcanvas::after{content:"\f105"}.vufind-offcanvas-left .search-filter-toggle::before{content:"\f100"}.vufind-offcanvas-right .close-offcanvas::before{content:"\f104"}.vufind-offcanvas-right .search-filter-toggle::after{content:"\f101"}.rtl.vufind-offcanvas-left .close-offcanvas::after{content:none}.rtl.vufind-offcanvas-left .close-offcanvas::before{content:"\f105"}.rtl.vufind-offcanvas-left .search-filter-toggle::before{content:none}.rtl.vufind-offcanvas-left .search-filter-toggle::after{content:"\f100"}.rtl.vufind-offcanvas-right .close-offcanvas::before{content:none}.rtl.vufind-offcanvas-right .close-offcanvas::after{content:"\f104"}.rtl.vufind-offcanvas-right .search-filter-toggle::after{content:none}.rtl.vufind-offcanvas-right .search-filter-toggle::before{content:"\f101"}}.record h1{font-size:24px;line-height:1.15}.record .media-body h3{margin-top:0}.recordcover{max-height:300px}.browzine .recordcover{margin-top:2px;margin-bottom:4px;box-shadow:1px 1px 3px rgba(47,52,64,0.72);max-height:130px;width:105px;height:auto}.cover-source{font-size:14px}.record__biblio-value a:not(.icon-link),.related__title{display:inline-block}.related__title .related__icon{float:left;margin-right:.25rem;text-align:left;line-height:1.4;background-position-x:left}.rtl .related__title .related__icon{margin-left:0;margin-right:.25rem}.media-body h1{margin-top:0}@media (max-width:767px){.record .media-left,.record .media-right{display:block}.record .media-body{display:block;width:auto;margin-top:1rem}}.record .format::after{content:", "}.record .format.badge::after,.record .result-formats .format::after,.record .format:last-child::after{content:""}.record-previews{margin-top:.5rem}.record-nav.nav{margin-bottom:1rem}.record-nav>li,.btn-bookbag-toggle{width:100%}.record-nav>li>a{padding:.5rem}.record-nav>li>a,.btn-bookbag-toggle{text-align:center}@media (min-width:768px){.record-nav>li,.btn-bookbag-toggle{width:auto}.record-nav>li>a{padding:5px}.record-nav>li>a,.btn-bookbag-toggle{text-align:left}}.comment-label,.comment-name{font-style:italic}.comment{margin-bottom:1rem}.comment-name .delete{color:#8a211e}@media (min-width:768px){.comment-form,.comment{display:flex;margin-bottom:0}.comment-label,.comment-name{min-width:25%;font-style:unset}.comment-form .text-form{width:100%}.comment-form>label{flex:0 0 auto}.comment-form textarea{display:block;width:100%;float:left}.comment-form .comment-rating{float:left;margin:.5rem}.comment-form .btn{margin-top:.5rem}}.tag-record:hover{text-decoration:none}.tagList button{margin-top:0;padding-top:0;padding-bottom:4px;font-size:95%;vertical-align:initial}.tagList .tag .badge{margin:0;padding:3px 7px;font-weight:normal}.tagList button .fa-close{margin-top:3px}.tagList .tag{display:inline-block;margin:0 1px 1px;border-radius:4px;padding:3px 3px;font-size:14px;line-height:1.42857143;border-radius:3px}.tagList .tag.selected{background-color:#619144}.tagList .tag.selected a{color:#fff}.tagList .tag.selected .badge{color:#222;background-color:#fff}.tagList .tag.selected .badge:hover{color:#a94442}.tagList .tag .badge .fa{width:12px}.tagList .tag .icon--img{font-size:.625rem}.tagList button{border:0}.tagList .tag-form{display:inline}.tagList.loggedin .tag:not(.selected) .badge:hover{background-color:#028302}.staff-view .pace-car th,.staff-view .pace-car td{border:0;padding:0}.staff-view th{text-align:right}.staff-view td span.term{font-weight:bold}.staff-view--marc .marc__tag{width:15%}.staff-view--marc .marc__ind{width:5%}.item-notes ul{padding-left:2rem}.subject-line:hover{color:#999}.subject-line:hover a{color:#092b47}.subject-line a:hover~a{color:#999;text-decoration:none}.marc-row-LEADER,.marc-row-006,.marc-row-007,.marc-row-008{white-space:pre-wrap}.relaisLink{display:inline-block}.collection-list-controls{display:flex;flex-flow:row wrap}.collection-list-controls .collection-control{white-space:nowrap;margin:0 .5rem 0 0}.collectionDetails .active-filters .filters{padding:0 0 5px 0}.collection-list-results{margin-top:.5rem}.tab-pane::after{display:table;clear:both;content:""}.tab-pane .result{margin-left:0}.holdings-tab .holdings-table{table-layout:auto}.holdings-tab .holdings-table th,.holdings-tab .holdings-table td{min-width:10vw}.holdings-tab .holdings-table .bound-with-records .direct-item{font-weight:bold}.openurls .openurl-notes{display:block;font-style:italic}.openurls .openurl-authentication{display:block}.record .media-left .rating{margin-top:.5rem;margin-bottom:1rem}.rating-breakdown{margin-bottom:1rem}.rating-breakdown .rating-breakdown-stars{display:inline-block}.rating-breakdown .rating-breakdown-percentage{display:inline-block;width:3rem;text-align:right}.star-rating{display:inline-flex}.star-rating .rating__icon{pointer-events:none;width:initial}.star-rating .rating__input{position:absolute !important;left:-9999px !important}.star-rating .rating__label{cursor:pointer;padding:0 .1em;font-size:1rem}.star-rating .rating__label--half{padding-right:0;margin-right:-0.6em;z-index:2}.star-rating .rating__icon--star{color:#A56100}.star-rating .rating__input:checked~.rating__label .rating__icon--star{color:#ddd}.star-rating:not(.readonly):hover .rating__label .rating__icon--star,.star-rating:not(.readonly):hover .rating__label--half .rating__icon--star{color:#A56100}.star-rating:not(.readonly) .rating__input:hover~.rating__label .rating__icon--star,.star-rating:not(.readonly) .rating__input:hover~.rating__label--half .rating__icon--star{color:#ddd}.record-list{list-style:none;padding:0;margin:0}.record-list.search-results-solr-auth .media-left,.record-list.search-results-solr-auth .media-right{display:none}.js-result-list{position:relative}.js-result-list .loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;display:flex;font-size:150%;align-items:flex-start;justify-content:center;background-color:rgba(0,0,0,0.2)}.js-result-list .loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:5px;color:#eee}@media (max-width:767px){#datevispublishDatexWrapper,.result .checkbox{display:none}}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.home-facet-list{padding-left:0;padding-right:1rem;list-style:none}.home-facet.facet-tree li{line-height:inherit;padding-top:0;padding-bottom:0;border:0}.home-facet.facet-tree li .facet-tree__toggle-expanded{line-height:inherit;padding:0}.home-facet.facet-tree li .facet{padding:0;line-height:inherit}.home-facet.facet-tree li .facet .badge{display:none}@media (min-width:768px){.search-home-facets,.home-facet-container{display:flex}.home-facet{flex:1 1 100%}.home-facet-list{flex:0 1 100%}}header .container.navbar{margin-bottom:0}.search-sort,.search-result-limit{display:flex}.search-sort label,.search-result-limit label{line-height:28px;padding-right:.5rem}.search-stats{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width:768px){.search-header{display:flex}.search-stats{flex-grow:1}.search-controls{text-align:right}}.versions-tab .search-controls{padding-top:.5rem;padding-left:1rem;text-align:left}.versions-tab .search-header .search-stats{flex-grow:0}.record-nav{margin:1rem 0;padding:0}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.bulkActionButtons,.action-toolbar,.selection-controls-bar{gap:.25rem;align-items:center}.bulkActionButtons{margin-block:1rem}.bulk-checkbox{padding-inline-end:1rem;margin-top:.25rem}.bulkActionButtons label{display:inline-block}.bulkActionButtons label input{margin-top:2px}.action-toolbar,.selection-controls-bar{margin:0;padding:0;list-style:none}.action-toolbar .popover ul,.selection-controls-bar .popover ul{list-style:disc;padding-left:1em}.action-toolbar li,.selection-controls-bar li{display:inline-block}.action-toolbar li .popover li,.selection-controls-bar li .popover li{display:list-item;padding-left:.5em}@media (max-width:767px){.grid{min-height:250px}}.result{display:flex;padding-top:1rem}.result .record-checkbox,.result .record-number{display:none}.result .title,.result .result-author,.result .fulltext{display:inline-block}.result .title{font-weight:bold}.result .list-tab-content.record .img-col{display:none}.result .list-tab-content.record .info-col{width:100%}.result .checkbox-select-item{float:left}.result .dropdown-menu.qrcode{min-width:inherit}@media (max-width:767px){.result a{max-width:100%;text-decoration:underline}}@media (min-width:768px){.result .record-checkbox{display:block;flex:0;cursor:pointer}.result .record-number{display:block;flex:0 2rem;text-align:center}}.record .media,.result .media{display:flex;flex:1;margin:0;padding-right:10px;padding-left:10px;overflow:visible}.record .media-left,.result .media-left,.record .media-right,.result .media-right{flex:none;max-width:25%;text-align:center}.record .media-left a,.result .media-left a,.record .media-right a,.result .media-right a{display:inline-block;max-width:100%;text-align:center;white-space:nowrap;text-decoration:underline}.record .media-left .rating-summary a,.result .media-left .rating-summary a,.record .media-right .rating-summary a,.result .media-right .rating-summary a{white-space:normal}.record .media-left img,.result .media-left img,.record .media-right img,.result .media-right img{display:inline-block;width:auto;max-width:100%;max-height:300px;object-fit:contain}@media (min-width:768px){.record .media-left.small,.result .media-left.small,.record .media-right.small,.result .media-right.small{width:60px}.record .media-left.medium,.result .media-left.medium,.record .media-right.medium,.result .media-right.medium{width:100px}.record .media-left.large,.result .media-left.large,.record .media-right.large,.result .media-right.large{width:160px}.record .media-left>a,.result .media-left>a,.record .media-right>a,.result .media-right>a{width:100%}}.record .media-left,.result .media-left{margin-right:10px}.record .media-right,.result .media-right{margin-left:10px}.record .media-body,.result .media-body{flex:1;width:unset;overflow:visible}.ajaxcover .cover-container{display:none}.recordcover{white-space:normal;line-height:1.15}.result-body{padding:0;padding-bottom:.25rem}.result-body h2,.media-body h2{font-size:unset;line-height:1.42857143;margin:0}.result-body h2 .authors,.media-body h2 .authors{display:block}.btn-bookbag-toggle,.result-links a{line-height:1.5}.result-links .alert{margin:0}.result-formats{margin-bottom:.5rem}.btn-bookbag-toggle form{display:inline}.savedLists{display:none}.result-citation-links{margin:.5rem 0}@media (min-width:768px){.result-body{float:left;width:75%}.result-links{float:left;width:25%;padding:0}.savedLists.loaded{display:block}}@media (min-width:768px){body.rtl .result-body,body.rtl .result-links{float:right}}.result.embedded .getFull{display:block;margin-left:-0.5rem;padding-left:.5rem;border-left:1px solid transparent}.result.embedded .getFull.expanded{margin-top:-11px;padding-left:.5rem;border-top-left-radius:3px;border-top-right-radius:3px}.result.embedded .getFull.expanded::before{content:'\25BC';position:absolute;right:1rem;color:#555}.result.embedded .loading{margin-left:.75rem;padding:1rem;background:#fff}.result.embedded .long-view{margin-left:-0.5rem;padding:.5rem;border:1px solid #ddd;background-color:#fff;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.result.embedded .long-view .tab-content{padding:0}.result.embedded .list-tabs{margin-bottom:0}.result.embedded .list-tab-toggle{cursor:pointer}.result.embedded .list-tab-content{padding:1rem}.search-grid::after{display:table;clear:both;content:''}.grid-result{display:flex;float:left;width:50%}.grid-result .grid-body{flex:1}.grid-result .grid-body h2{font-size:inherit;line-height:1.42857143;margin:0}.grid-result .grid-body h2 .title{display:inline-block;font-weight:bold}.grid-result .grid-checkbox{flex:0 0 30px;min-width:0}.grid-result .label,.grid-result .format{display:inline-block;white-space:normal}.grid-large-break,.grid-small-break{clear:both}@media (min-width:992px){.grid-result{width:25%}.grid-small-break{display:none}}.searchtools h2{display:inline-block;margin:0;font-size:inherit;font-weight:bold;vertical-align:middle}.searchtools ul{display:inline-block;margin:0;padding-left:0}.searchtools ul li{display:inline}.searchtools ul li:not(:first-child):before{content:'\2013'}.searchtools ul li a{padding:0 .5rem;white-space:nowrap}.template-dir-combined.template-name-results.vufind-offcanvas{margin:0;padding:0}.combined-search-container.grid{margin-left:1rem;margin-right:1rem}.combined-search-container.grid .combined-list{overflow-wrap:anywhere}.combined-jump-links{margin-left:1rem;margin-right:1rem;visibility:hidden}.combined-jump-links ul{display:inline;list-style:none;padding-left:0}.combined-jump-links ul li{display:none;white-space:nowrap}.combined-jump-links ul li:not(:first-child):before{content:'\2013'}.combined-column{margin-left:1rem;margin-right:1rem;padding:0}@media (min-width:768px){.combined-search-container{display:flex;padding-left:1rem}.combined-search-container.grid{display:grid;column-gap:1rem;padding-right:1rem;margin-left:0;margin-right:0}.combined-search-container .result{margin-left:0}.combined-search-container .result-body{float:none;width:auto}.combined-search-container .result-links{display:none}.combined-column{flex:0 1 100%;margin-left:0}}.wikipedia img{margin-right:1rem}.geoItem{font-size:.9em;margin:0px 0px 10px}.title-in-heading{font-size:inherit;font-style:italic}.top-title{display:inline-block;padding-top:.5rem;padding-left:.5rem;font-weight:bold;color:#000}.top-title .fa{width:1rem;text-align:center}@media (min-width:768px){.top-title{padding-top:0}.top-title .fa{display:none}.top-facets .collapse{display:block;height:auto !important}}.active-filters{clear:both;display:flex;gap:1rem;align-items:start;margin-block-start:.5rem}.active-filters .retain-filters{float:right}.active-filters .checkbox{flex:1;white-space:nowrap}.active-filters .filters-toggle{flex:1;display:inline-block;margin-top:10px;cursor:pointer}.active-filters .filters-toggle::after{content:'\25B2'}.active-filters .filters-toggle.collapsed::after{content:'\25BC'}@media (min-width:768px){.active-filters .filters-toggle{float:left}}.active-filters .filters{flex:10 1 auto;margin-block-start:.25rem}.active-filters .filters .collapse{display:none}.active-filters .filters .collapse .in{display:inline-block}.active-filters .filters .checkbox label{display:inline-block;padding:10px 0px}@media (max-width:768px){.active-filters .filters .checkbox label{float:right;padding:0px}}.active-filters .filters .filters-term{font-size:.8em}.active-filters .filters .filter-value{display:inline-block;margin-block:5px;padding:2px 8px;font-weight:600;color:#fff;white-space:nowrap;text-decoration:none;background:#619144}.active-filters .filters .filter-value:focus{box-shadow:0 0 0 2px #000}.active-filters .filters .checkbox{display:inline;padding-left:0;padding-right:0}@media (min-width:768px){.active-filters .filters .checkbox{padding-right:20px}}.active-filters .filters .title-value-pair{display:inline-block;margin-inline-end:.5rem}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.clear-selection,.tag-record,.cart-controls .toolbar-btn{border:0;color:#555;text-decoration:none;background-color:rgba(0,0,0,0.05);border-radius:4px}.toolbar-btn:hover,.record-nav .cart-add:hover,.record-nav .cart-remove:hover,.reset-filters-btn:hover,.clear-selection:hover{background-color:rgba(0,0,0,0.1)}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{gap:.25rem;margin-bottom:4px;margin-top:4px;padding:.5rem 1rem}.reset-filters-btn{flex:none}.clear-selection{font-weight:700;padding:.25rem .4rem .15rem .4rem;flex-basis:100%}.active-filters .filters a.filter-value:hover,.active-filters .filters a.filter-value:focus{color:#fff;text-decoration:line-through;background-color:#8a211e}.search-filter-dropdown{display:inline-block}.search-filter-dropdown .btn{color:#fff;background:#619144;font-weight:600;vertical-align:baseline}.search-filter-dropdown .btn::after{content:"\f107";font-family:"FontAwesome"}.search-filter-dropdown .dropdown-menu .filters-term{display:block;text-align:center}.search-filter-dropdown .dropdown-menu .filter-value{display:flex}.search-filter-dropdown .dropdown-menu .filter-value .text{flex-grow:1;margin-right:.5em}.search-filter-dropdown .dropdown-menu .filter-value a{flex-shrink:0;margin:0}.search-schedule-header{text-decoration:underline;text-decoration-style:dotted;cursor:pointer}table.search-history-table{table-layout:auto}@media screen and (min-width:768px){table.search-history-table tbody>tr>td{vertical-align:middle}table.search-history-table .history_time{width:20%}}.searchForm{margin:0;padding:0}.searchForm .searchForm-query{position:relative}@media (min-width:768px){.searchForm .searchForm-query{display:inline-block}}.searchForm .searchForm-query #searchForm_lookfor{padding-right:34px}@media (min-width:401px){.searchForm .searchForm-query #searchForm_lookfor.with-keyboard-selection{padding-right:72px}}.searchForm .searchForm-query #searchForm_controls{position:absolute;right:3px;top:5px;z-index:4;height:2em}.searchForm .searchForm-query #searchForm-reset{bottom:0;width:2em;border:none;border-radius:50%;background-color:#eee;margin:0;padding:2px;font-size:1em;cursor:pointer}@media (max-width:400px){.keyboard-selection{display:none}.show-keyboard,.simple-keyboard{display:none}}@media (max-width:991px){.template-dir-search.template-name-history .mainbody,.template-dir-search.template-name-history .sidebar{float:none;width:auto;padding:0}}.pagination-simple{margin:0;text-align:inherit}.pagination-simple li{display:inline-block}.pagination-simple li.page-prev a{margin-right:.5rem}.pagination-simple li.page-next a{margin-left:.5rem}.pagination-simple .pager-text{margin:0}.pagination-simple .pager-text span{border:0;padding:0;color:#333}.pagination-simple .pager-text span:hover{color:#333;background-color:transparent}.facet-group{display:block;margin-bottom:1rem;padding-left:0}.facet-group [data-toggle="collapse"]{cursor:pointer}.facet-group .collapse,.facet-group .collapsing,.facet-group.full-facet-list .facet{position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd}.facet-group.full-facet-list :first-child .facet{border-top:1px solid #ddd}.facet__list{list-style:none;padding:0;margin:0}.facet,.facet-group .title,.facet-load-indicator,.facet-load-failed{padding:.5rem;line-height:1.5rem;background-color:transparent}.facet,.facet-group .title,.user-list-link{display:flex;align-items:center}.facet .text,.facet-group .title .text,.user-list-link .text{display:flex;gap:.25rem;align-items:center;flex-grow:1}.facet .badge,.facet-group .title .badge,.user-list-link .badge{flex-shrink:0;max-height:19px;line-height:1.2;vertical-align:baseline}.facet .exclude,.facet-group .title .exclude,.user-list-link .exclude{flex-shrink:0;text-align:center;padding-left:.5rem}body.rtl .facet .exclude,body.rtl .facet-group .title .exclude,body.rtl .user-list-link .exclude{padding-left:0;padding-right:.5rem}.facet-group .facet,.facet-load-indicator,.facet-load-failed{border-bottom:1px solid #ddd}.facet-group .title{display:flex;width:100%;padding-right:8px;border:1px solid #ddd;font-weight:bold;text-align:inherit}.facet-group .facet-title{flex:1 1 0%}.facet-group .facet-title-icon{flex:none}.facet-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4)}.facet-loading-overlay-label{padding:1px .5rem;color:#fff;background-color:#000}.facet .text{overflow:hidden}.top-facets-contents{display:block;margin:2px 0;padding:0;list-style:none}.top-facets .facet,.top-facets>strong{display:inline-block;width:auto;padding:2px 0;border:0;white-space:nowrap}.top-facet-inner{display:inline-block;padding:.25rem;border:1px solid #ddd}.checkboxFilter{padding-bottom:.5rem}.checkbox-filter{display:flex;width:100%;font-weight:bold;color:#333}.facet-group>.checkbox,.sidebar .facet.checkbox{margin:0;padding-left:2rem}.active-filters .facet,.facet-group .active{background-color:#619144;color:#fff}.active-filters .facet a,.facet-group .active a{color:#fff}.facet.active .badge{background-color:#fff;color:#619144}.narrow-toggle{text-align:center}.top-row .applied{font-weight:bold}.top-row .applied:hover{color:#8a211e}.top-row .applied:hover .fa.fa-check:before{content:"\f00d"}.full-facet-list{margin-top:1rem}.full-facet-list .active .fa.fa-times{float:right;margin-top:.25rem;margin-left:.5rem}body.rtl .full-facet-list .active .fa.fa-times{float:left}.truncate-done{overflow:clip}.more-less-btn-wrapper .fa{line-height:inherit}.more-less-btn-wrapper .facet{display:block;width:100%}.facet-range-form{width:100%}.date-fields{display:flex}.date-fields .date-from,.date-fields .date-to{flex:0 1 100%}.date-fields .date-from{padding-right:.25rem}.date-fields .date-to{padding-left:.25rem}h3.facet-title{font-size:14px;margin:0}@media (min-width:768px){.author-facets{display:flex}.author-list{flex:0 1 100%}}#similar-items-carousel .carousel-indicators{bottom:0px}#similar-items-carousel .carousel-indicators li{width:8px;height:8px;margin:2px;margin-bottom:4px;background-color:#fff;border:1px solid #222;box-shadow:none;transition-duration:.4s;transition-property:width, height, margin}#similar-items-carousel .carousel-indicators li.active{width:16px;height:16px;margin-bottom:0}#similar-items-carousel .hover-overlay{position:relative;display:block;min-width:150px;min-height:200px;margin:auto;text-align:center}#similar-items-carousel .hover-overlay .recordcover{max-width:100%;margin:10px 0}#similar-items-carousel .hover-overlay .content{position:absolute;top:0;left:0;display:none;width:100%;height:100%;padding:.5em .5em 0;color:#fff;background-color:rgba(0,0,0,0.5)}#similar-items-carousel .hover-overlay:hover .content{display:block}#similar-items-carousel .item{padding:0 2em}#similar-items-carousel .item.prev,#similar-items-carousel .item.active,#similar-items-carousel .item.next{display:flex}#similar-items-carousel .carousel-item{flex-basis:25%}#similar-items-carousel .carousel-control{--gradent-start:rgba(0,0,0,0.25);display:flex;align-items:center;width:auto;min-width:40px;opacity:1;text-decoration:none}#similar-items-carousel .carousel-control:hover{--gradent-start:rgba(0,0,0,0.5)}#similar-items-carousel .carousel-control.left{justify-content:start;background:linear-gradient(to right, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control.right{justify-content:end;background:linear-gradient(to left, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control>img{margin:1rem}.slider-container{padding:4px 10px;text-align:center}.slider-container .slider.slider-horizontal{width:100%}.slider-container .slider-track{background:#777;box-shadow:inset 0 1px 0 rgba(0,0,0,0.4)}.slider-container .slider-handle{background:#619144;background-image:none;border:1px solid #619144;box-shadow:none;opacity:.9}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{opacity:1;background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#619144}.slider-container .slider-selection{background:#CCC;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.3)}.slider-container input{display:none}.facet-tree,.hierarchy-tree{padding-left:0}.facet-tree ul,.hierarchy-tree ul{padding:0;width:100%}.facet-tree li,.hierarchy-tree li{display:flex;flex-wrap:wrap;align-items:baseline;padding-left:.2rem}.facet-tree li .facet-tree__toggle-expanded,.hierarchy-tree li .facet-tree__toggle-expanded,.facet-tree li .hierarchy-tree__toggle-expanded,.hierarchy-tree li .hierarchy-tree__toggle-expanded{flex:1 1;border:0;background:none;max-width:1.5em;padding:0}.facet-tree li .facet-tree__toggle-expanded:hover,.hierarchy-tree li .facet-tree__toggle-expanded:hover,.facet-tree li .hierarchy-tree__toggle-expanded:hover,.hierarchy-tree li .hierarchy-tree__toggle-expanded:hover{background-color:#f5f5f5}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand{display:none}.facet-tree li .facet-tree__item-container,.hierarchy-tree li .facet-tree__item-container,.facet-tree li .hierarchy-tree__item-container,.hierarchy-tree li .hierarchy-tree__item-container{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container .text,.hierarchy-tree li .facet-tree__item-container .text,.facet-tree li .hierarchy-tree__item-container .text,.hierarchy-tree li .hierarchy-tree__item-container .text{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container--exclude .text,.hierarchy-tree li .facet-tree__item-container--exclude .text,.facet-tree li .hierarchy-tree__item-container--exclude .text,.hierarchy-tree li .hierarchy-tree__item-container--exclude .text{width:calc(100% - 3em)}.facet-tree li .facet-tree__item-container .facet-value,.hierarchy-tree li .facet-tree__item-container .facet-value,.facet-tree li .hierarchy-tree__item-container .facet-value,.hierarchy-tree li .hierarchy-tree__item-container .facet-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline}.facet-tree li ul,.hierarchy-tree li ul{padding-left:1rem;flex:1}.facet-tree li ul .facet,.hierarchy-tree li ul .facet{padding-top:.3rem;padding-bottom:.3rem}.facet-tree .facet{border:0;padding-left:.1rem}.facet-tree>li,.facet-tree .more-less-btn-wrapper{border-bottom:1px solid #ddd}.facet-tree>li>ul{margin-top:-0.2rem}.hierarchy-tree .hierarchy-tree__selected:not(.hierarchy-tree__search-match)>.hierarchy-tree__item-container a{color:#fff;background-color:#619144}.hierarchy-tree .hierarchy-tree__search-match>.hierarchy-tree__item-container a{font-style:italic;color:#8b0000;font-weight:bold}@media (min-width:768px){.collection-hierarchytree{display:flex}.collection-hierarchytree .tree-panel,.collection-hierarchytree #tree-preview{flex-basis:50%;padding:1rem}#modal .collection-hierarchytree{display:block}#modal .tree-panel{flex-basis:100%;padding:0}#modal #tree-preview{display:none}}.hierarchy-tree-container .hierarchy-tree{margin-top:.5rem;padding-top:.3rem;max-height:75vh;overflow-x:hidden;overflow-y:auto;border-right:1px solid #eee}.hierarchy-tree-container .hierarchy-tree-selector{margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full{margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full label{font-weight:inherit}.hierarchy-tree-container .hierarchy-tree-search-form{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-search-form .alert{display:inline;padding:.4rem;margin:0}html{font-size:14px}a,label{cursor:pointer}.alert.alert-info a{text-decoration:underline}.alert-default{border-color:#e3e3e3;background-color:#f5f5f5}.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover{color:#000}.list-unstyled{margin:0}.icon-bar{background-color:#888}.btn,.search-filter-toggle{text-decoration:none}.btn-link.pull-left,.btn-link.pull-right{display:flex}.nav>li>a{text-decoration:none}.nav>li>a:hover,.nav>li>a:focus{color:#fff;text-decoration:none;background-color:#333;outline:dotted 1px #000}.nav .dropdown-toggle{padding-right:8px}.nav .dropdown-toggle .icon{margin-left:4px;margin-right:0}body.rtl .nav .dropdown-toggle{padding-left:8px;padding-right:10px}body.rtl .nav .dropdown-toggle .icon{margin-left:0;margin-right:4px}.navbar-nav button.dropdown-toggle{color:#333;background-color:#fff;border-color:#ccc;appearance:none;padding:22.5px;border:0;color:inherit;background-color:transparent}.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.navbar-nav button.dropdown-toggle:active:hover,.navbar-nav button.dropdown-toggle.active:hover,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:active:focus,.navbar-nav button.dropdown-toggle.active:focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active.focus,.navbar-nav button.dropdown-toggle.active.focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle.disabled:hover,.navbar-nav button.dropdown-toggle[disabled]:hover,fieldset[disabled] .navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle.disabled:focus,.navbar-nav button.dropdown-toggle[disabled]:focus,fieldset[disabled] .navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.disabled.focus,.navbar-nav button.dropdown-toggle[disabled].focus,fieldset[disabled] .navbar-nav button.dropdown-toggle.focus{background-color:#fff;border-color:#ccc}.navbar-nav button.dropdown-toggle .badge{color:#fff;background-color:#333}.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open .navbar-nav button.dropdown-toggle.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.highlight,mark{background:#ff6;padding:.1em .2em}img{max-width:100%}.breadcrumb{margin-top:.5rem;margin-bottom:.5rem}.label,.result .format,.sidebar .format{display:inline-block}.popover{width:250px}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.sub-breadcrumb{padding:5px 10px;white-space:nowrap}.sub-breadcrumb li{display:inline-block}.sub-breadcrumb li+li:before{padding-left:5px;padding-right:5px;color:#777;content:"/\00a0"}.tab-content{padding:4px}h2{font-size:20px}h3{font-size:16px}@media (min-width:768px){h2{font-size:23px;font-weight:normal}h3{font-size:20px;font-weight:normal}.form-control{max-width:400px}#modal .form-control{max-width:none}}footer{padding:1rem}@media (min-width:768px){.footer-container{display:flex;width:100%}.footer-column{flex:0 1 100%}.mainbody{width:75%}.sidebar{width:25%}.mainbody.left,.sidebar.left{float:left;padding-right:1rem}.mainbody.right,.sidebar.right{float:right;padding-left:1rem}.mainbody.solo{width:auto;padding-left:0;padding-right:0}}.flex{display:flex}.rtl .flex{flex-direction:row-reverse}.flex-col{flex:0 1 100%}.flex-none{flex:none}.has-error,.sms-error{margin-bottom:0}.help-block.with-errors{margin:0;padding-bottom:3px}.help-block.with-errors:first-child{padding-top:3px}.help-block.with-errors:empty{padding:0}.help-block.with-errors ul.list-unstyled{margin:0}.form-admin-maintenance .form-control{display:inline-block;width:100px}.badge a{color:#fff}@media (min-width:768px){.browse-container{display:flex}.browse-list{flex-basis:25%;padding-right:1rem}.browse-list:last-child{padding-right:0}}.browse-item{position:relative;display:block;padding:.5rem 1rem;border:1px solid #ddd;border-bottom:0;word-wrap:break-word}.browse-item.active{background-color:#619144;color:#fff}.browse-item.active .badge{background-color:#fff;color:#222}.browse-item:hover{background-color:#eee}.browse-item:last-child{border-bottom:1px solid #ddd}.browse-item.with-badge{padding-right:3rem}.browse-item.with-badge .badge{position:absolute;top:.5rem;right:.25rem}body.rtl .browse-item.with-badge{padding-left:3rem;padding-right:1rem}body.rtl .browse-item.with-badge .badge{left:.25rem;right:auto}.browse-item.view-record{padding:2px 4px;font-size:85%;text-align:right;border-top:0}.cart-controls,.cart-control-btns{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.cart-controls>.checkbox{margin-top:.5rem;order:1;flex-basis:100%}.cart-control-btns{list-style:none;margin:0;padding:0}.cart-controls .toolbar-btn{margin:0}@media (min-width:992px){.cart-controls>.checkbox{margin-block:0;padding-inline-end:1rem;padding-bottom:.25rem;order:unset;flex-basis:auto}}.nav .btn-bookbag-toggle{float:left}.nav .btn-bookbag-toggle a{display:block;padding:5px;text-decoration:none}.nav .btn-bookbag-toggle a:hover,.nav .btn-bookbag-toggle a:focus{outline:dotted 1px #000;text-decoration:none;background-color:#eee}.translation-output{width:100%;max-width:none;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;white-space:pre}.form-login .btn-link~.btn-link{padding-left:0}.myresearch-menu ul{list-style:none;margin-bottom:0;padding-left:0}.myresearch-menu a{display:inline-flex;gap:.375rem;width:100%;padding:10px 15px;line-height:1.15;align-items:baseline}.myresearch-menu a:hover{background-color:#eee;outline:dotted 1px #000}.myresearch-menu a:focus{background-color:#eee}.myresearch-menu a.user-list-link i{margin-left:.5rem}.myresearch-menu a.active{background-color:#619144;color:#fff}.myresearch-menu a .icon-link__icon{width:1rem;text-align:center}.myresearch-menu a .icon-link__label{flex:1 1 0%}.myresearch-menu .status{display:flex;gap:2px;flex:none}.myresearch-menu .status .badge{border-radius:2px;border:1px solid;height:20px}.myresearch-menu .status .badge.account-none{color:#333;background-color:#eee}.myresearch-menu .status .badge.account-info{color:#3c763d;background-color:#dff0d8}.myresearch-menu .status .badge.account-warning{color:#8a6d3b;background-color:#fcf8e3}.myresearch-menu .status .badge.account-alert{color:#8a211e;background-color:#f2dede}.myresearch-menu .active .status .badge{color:#fff;background-color:transparent;border:1px solid #fff}ul.list-group{list-style:none}.dropdown-menu>li>.prompt-text{white-space:inherit;min-width:200px}.logoutOptions.with-dropdown a{padding-right:.5rem}#login-dropdown a{margin-right:.5rem}#login-dropdown .dropdown-menu{width:250px;padding:0 .5rem .5rem .5rem}#login-dropdown .dropdown-menu .account-menu{display:block}#login-dropdown .dropdown-menu h3{margin-left:.5rem}#login-dropdown #login-dropdown .dropdown-menu .account-menu{display:block}.login-tokens-table{margin-bottom:.5rem}.login-tokens-table tbody>tr>td{vertical-align:middle}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}#dateVisColorSettings{background-color:#fff;fill:#eee;outline-color:#c38835;stroke:#619144}.table,.search-history-table{table-layout:fixed;word-wrap:break-word}@media (min-width:992px){.table.fines-table,.search-history-table.fines-table{table-layout:auto;word-wrap:normal}}@media screen and (max-width:768px){.table-responsive,.search-history-table{border:none}.table-responsive thead,.table-responsive tfoot>tr>th,.search-history-table thead,.search-history-table tfoot>tr>th{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.table-responsive tbody>tr,.search-history-table tbody>tr{display:block;margin-bottom:20px;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:4px solid #ddd}.table-responsive td,.table-responsive tbody>tr>th,.search-history-table td,.search-history-table tbody>tr>th{display:flex;align-items:first baseline;background:#fff}.table-responsive td:before,.table-responsive tbody>tr>th:before,.search-history-table td:before,.search-history-table tbody>tr>th:before{display:flex;flex-basis:40%;flex-shrink:0;font-weight:bold;content:attr(data-label)}.table-responsive tbody>tr>td:nth-child(even),.search-history-table tbody>tr>td:nth-child(even){background-color:#f9f9f9}.table-responsive tfoot>tr>td,.search-history-table tfoot>tr>td{border-top:none}}.node{position:absolute;box-sizing:content-box;margin:-1px;overflow:hidden;font:10px sans-serif;line-height:12px;border:1px solid #fff}.node div{margin-top:0px}.toplevel{border:2px solid #000}.node .label{position:absolute;bottom:0;left:0;min-height:1px;padding:2px 4px;font-size:85%;background-color:rgba(0,0,0,0.5);border-radius:0;text-shadow:none}.notalabel{color:#000}#viz-instructions{padding-top:600px}span[class^="services-"],span[class*=" services-"] span::before{content:", "}span[class^="services-"],span[class*=" services-"] span:first-of-type::before{content:""}div.holding-details{display:flex}div.holding-details .holding-field{flex:1 1 0;padding-left:.5rem;padding-right:.5rem}div.holding-details .holding-field.barcode,div.holding-details .holding-field.place-hold,div.holding-details .holding-field.storage-retrieval,div.holding-details .holding-field.ill-request,div.holding-details .holding-field.recall{flex:1 1 0}div.holding-details .holding-field.availability{flex:2 1 0}div.holding-details .due-date:before{content:"\2013";padding-right:.3em}div.holding-details .due-date{white-space:nowrap}div.holding-notes{padding-left:.5rem;padding-right:.5rem}.odbrand{padding:7px}.oauth2-prompt ul{margin-top:1rem}.oauth2-prompt .oauth2-ils-selection{margin-top:1rem;margin-bottom:1rem}.oauth2-prompt .oauth2-ils-selection form{margin-top:1rem}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:.5}#cc-main a:hover{color:#092b47;text-decoration:underline;background-size:0%}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn,#cc-main .pm__btn{transition:none}#cc-main .cm--bar .cm__btn,#cc-main .pm__btn{font-size:14px}#cc-main .cm--bar .cm__btn{flex:none}#cc-main .pm__section--expandable .pm__section-arrow{background:none}#cc-main .pm__section--toggle{background:transparent}.HelpMenu{list-style-type:none;margin-bottom:1rem;padding:0}.pagination{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:center}.doi-icon{width:16px}.searchHomeContent{float:none;margin:1em auto;width:90%}.group .match{margin-top:.5em}.active-filters .filters .filter-value{padding:2px 8px 0}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{padding-left:.5rem;padding-right:.5rem}.toolbar-btn:hover,.cart-add:hover .cart-link-label,.cart-remove:hover .cart-link-label,.reset-filters-btn:hover{color:#092b47}.searchForm_lookfor,.searchForm_type{border-color:#619144}.searchForm{padding:0}.searchForm .clear-btn,.searchForm .btn-primary,.searchForm .form-control{font-size:14px;height:32px;padding:5px 8px}.searchForm .clear-btn,.searchForm .btn-primary[multiple],.searchForm .form-control[multiple]{height:auto}@media (min-width:768px){.searchForm .input-group{width:400px}.searchForm .form-control.search-query{width:400px}}.searchForm .nav-tabs{border-bottom:0;padding:0 6px}.searchForm .nav-tabs li a{margin-bottom:-1px;border-bottom:0;padding-bottom:6px}.searchForm .nav-tabs li a:hover{background:0 0;border-color:transparent;text-decoration:underline}.searchForm .nav-tabs li.active a,.searchForm .nav-tabs li.active a:hover{background:#FFF;border-color:#619144;border-bottom:0;text-decoration:none;z-index:5}.searchForm .keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.searchForm .keyboard-selection button.dropdown-toggle:hover,.searchForm .keyboard-selection button.dropdown-toggle:focus{color:white;background-color:#619144}.searchForm .keyboard-selection:not(.open) .activated:not(:hover){background:#bed9ae}.searchForm .keyboard-selection .btn-primary{height:20px}.keyboard-box{width:85%}@media (min-width:768px){.keyboard-box{width:635px}}@media (min-width:992px){.keyboard-box{width:832px}}@media (min-width:1200px){.keyboard-box{width:832px}}.top-facets .facet a{vertical-align:middle}.result{padding:1rem;margin-left:-1rem}.result:nth-child(even){background-color:#eee}.result.embedded .getFull.expanded{margin-top:-6px;padding-top:.5rem;padding-bottom:.5rem}.result>p{padding:0 1em}.result .long-view .tab-content{background:#fff}.result .media{margin:0}.result .row{padding:0}.result .savedLists{margin:0 0 4px;padding:4px 0 4px 6px}.result .savedLists ul{padding-left:18px}.search-controls label{margin:0;vertical-align:middle}.search-stats{color:#555}legend{margin-top:2rem;margin-bottom:0}.grid-result{padding-top:1rem}.grid-checkbox{text-align:right;cursor:pointer}.grid-body{text-align:center}.grid-body .status{margin-top:.5rem;margin-bottom:.5rem}.template-dir-eds.template-name-advanced h2,.template-dir-search.template-name-advanced h2{margin-top:3px}.template-dir-combined.template-name-results.vufind-offcanvas{margin-left:.5rem;margin-right:.5rem}.template-dir-combined.template-name-results .main .container{width:100%;padding-left:0;padding-right:0}.template-dir-combined.template-name-results header,.template-dir-combined.template-name-results .breadcrumbs,.template-dir-combined.template-name-results .main,.template-dir-combined.template-name-results footer{background-color:#fff}.template-dir-combined.template-name-results header{border-radius:5px 5px 0 0}.template-dir-combined.template-name-results footer{width:100%;padding:1rem;border-radius:0 0 5px 5px}.template-dir-combined.template-name-results .breadcrumbs{border-top:1px solid #ddd;border-bottom:1px solid #ddd}.template-dir-combined.template-name-results .breadcrumbs .container{border:0}.template-dir-combined.template-name-results .bulkActionButtons{padding-left:1rem}@media (min-width:768px){.template-dir-combined.template-name-results,.template-dir-combined.template-name-results.vufind-offcanvas{margin-left:1rem;margin-right:1rem}}legend{margin:0}@media (min-width:768px){.form-fix-database .control-label,.form-oai-home .control-label,.form-search-reserves .control-label{width:200px;padding-left:1rem;padding-right:1rem;text-align:right}.form-fix-database .form-control,.form-oai-home .form-control,.form-search-reserves .form-control{display:inline-table;width:300px}.form-fix-database .form-group>.btn:first-child,.form-oai-home .form-group>.btn:first-child,.form-search-reserves .form-group>.btn:first-child{margin-left:200px}}a,.btn-link{color:#06C}a:hover,.btn-link:hover{color:#09F}a:active,.btn-link:active{color:#000}.alert,.savedLists{padding:8px}.breadcrumbs .container{border-top:1px solid #ddd;border-bottom:1px solid #ddd}.breadcrumb{margin-top:.25rem;margin-bottom:.25rem;padding-left:0;font-size:12px}.btn,.search-filter-toggle{padding:3px 5px 2px}.btn.btn-default{background:#eee;background-image:linear-gradient(#fff, #ddd);border:1px solid #555;color:#222;text-shadow:0 1px 0 #fff}.btn:not(.btn-default){font-weight:bold}.btn-danger,.btn-danger:hover{border-color:#6e110e}.btn-info,.btn-info:hover{border-color:#103743}.btn-primary,.btn-primary:hover{border-color:#456730}.btn-success,.btn-success:hover{border-color:#014701}.btn-warning,.btn-warning:hover{border-color:#683d00}.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{padding:0;background:#fff}h2{margin:8px 0}.container,footer,.template-dir-combined.template-name-results footer .footer-container,.template-dir-combined.template-name-results footer .poweredby{padding-left:1rem;padding-right:1rem;background:#fff}input[type=radio],input[type=checkbox]{margin:2px auto 0;padding:0 2px}.nav>li>a{padding:5px 10px}.nav-pills{display:table;margin:0 auto}.navbar{min-height:1px}.navbar-form{margin-top:.5rem;margin-bottom:.5rem}.pagination{margin:18px auto}.pagination>li>a{padding:4px 12px 3px}.panel-heading{padding:0}.panel-heading a{cursor:pointer;display:inline-block;padding:6px;width:100%}.row:not(.top-row){padding:6px 4px;margin:0 -4px}.row>p{padding:0 1em}.sub-breadcrumb{padding:0 5px}.tab-content{padding:6px 8px;border:1px solid #eee;border-top:0;margin-bottom:5px}@media (max-width:767px){.label,.result .format,.sidebar .format{font-size:85%}}@media (min-width:768px){.badge{font-size:85%;margin-top:1px}.label,.result .format,.sidebar .format{padding-top:.3em}.modal-dialog{width:650px}}body{background:#619144;font-size:13px}#commentList .comment:nth-child(even){background:#eee}#dateVisColorSettings{stroke:#619144}#hierarchyRecord{background:#fff}.cart-controls .checkbox{line-height:2rem}.myresearch-menu a:hover{text-decoration:none}.main .container{padding-top:1rem}.main .sidebar{background-color:#fff}@media (min-width:768px){.main .sidebar{padding:0}.sidebar.left{padding-right:1rem}.sidebar.right{padding-left:1rem}}header{margin-top:18px}header .fa.fa-bars{font-size:21px}header .navbar{border-radius:5px 5px 0 0;padding:0 10px}header .navbar.search{border-radius:0}header .navbar .navbar-brand{height:65px;width:170px;margin-top:5px;color:transparent;background-image:url('../../bootprint3/images/vufind_logo.png');background-position:center center;background-repeat:no-repeat;background-size:contain}header .navbar .navbar-brand:active,header .navbar .navbar-brand:focus,header .navbar .navbar-brand:hover{color:transparent}header .navbar .navbar-brand.lang-ar{background-image:url('../../bootprint3/images/vufind_logo_ar.png')}header .navbar .navbar-nav>li>a,header .navbar .navbar-nav>li .dropdown-toggle{position:relative;padding:12px 6px;color:#12538B}header .navbar .navbar-nav>li>a:hover,header .navbar .navbar-nav>li .dropdown-toggle:hover,header .navbar .navbar-nav>li>a:focus,header .navbar .navbar-nav>li .dropdown-toggle:focus{z-index:1000;text-decoration:none;color:#000;outline:dotted 1px #000;background-color:#eeeeee}header .navbar .navbar-right{margin-top:12px}@media (max-width:767px){header .navbar .navbar-nav>li>a,header .navbar .navbar-nav>li .dropdown-toggle{padding:8px 24px}header .navbar .navbar-right{margin:0}}header .searchbox .tab-content{border:0}header .searchbox .tab-content .navbar-text{margin:5px 10px 5px 0}@media (max-width:767px){header #header-collapse .navbar-right li{text-align:right}header .searchForm_type{margin-top:2px;margin-bottom:2px}}footer{margin-bottom:2rem;border-radius:0 0 5px 5px;border-top:1px solid #ddd}footer hr{display:none}footer p{margin:0}footer ul{padding-left:30px}[id^=list].list-group .col-sm-9{margin:0}.channel{max-width:96%;margin-left:2%;margin-right:2%}.channel,.channel-title.no-results{margin-bottom:2rem}.channel-title{margin-top:1rem}.channel-title .fa{margin-top:4px}ul.random{list-style:none;padding:0;margin:0;text-align:justify}ul.random li{padding-bottom:10px}ul.random li img{margin:0 auto 1em}ul.random.image,ul.random.mixed{text-align:center}ul.random.image li img{margin:0 auto}#custom_recaptcha_widget{display:table}#custom_recaptcha_widget embed{display:none}#custom_recaptcha_widget #recaptcha_image{border:1px solid #000;padding:6px;margin:1em 0}#custom_recaptcha_widget #recaptcha_response_field{margin:0 .5em}#custom_recaptcha_widget>div>a{display:inline-block;float:left;margin:5px 10px 5px 0}.record-nav .action-toolbar{display:table;margin:0 auto 1rem}.sidebar .facet-group{margin-bottom:5px}.sidebar .facet-group label.list-group-item{padding-left:26px}.sidebar .facet-group label.list-group-item input[type=checkbox]{margin-top:2px}.sidebar .facet{padding:7px 10px 6px}.sidebar .facet-tree .facet{padding-left:2px}.sidebar .facet.active,.sidebar .facet.active:hover,.sidebar .active-filters .facet{color:#fff;background-color:#E70;border-color:#E70}.sidebar .facet.active .badge{color:#E70}.sidebar .facet .badge a{color:#fff}.checkboxFilter .facet{padding-left:1px}.slider-container .slider-handle{background:#619144;border:1px solid #619144}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#619144}.top-row .badge a{color:#fff}.top-row .badge a:hover{color:#A41915} \ No newline at end of file diff --git a/themes/bootprint3/less/search.less b/themes/bootprint3/less/search.less index 816a5b11f7d..f3ff42de4fe 100644 --- a/themes/bootprint3/less/search.less +++ b/themes/bootprint3/less/search.less @@ -159,7 +159,7 @@ legend { /* --- Combined --- */ .template-dir-combined.template-name-results { - &.offcanvas { + &.vufind-offcanvas { margin-left: .5rem; margin-right: .5rem; } @@ -196,7 +196,7 @@ legend { @media (min-width: 768px) { .template-dir-combined.template-name-results { &, - &.offcanvas { // overcoming specificity + &.vufind-offcanvas { // overcoming specificity margin-left: 1rem; margin-right: 1rem; } diff --git a/themes/bootprint3/scss/search.scss b/themes/bootprint3/scss/search.scss index 3741c652f98..07064fbd3a0 100644 --- a/themes/bootprint3/scss/search.scss +++ b/themes/bootprint3/scss/search.scss @@ -159,7 +159,7 @@ legend { /* --- Combined --- */ .template-dir-combined.template-name-results { - &.offcanvas { + &.vufind-offcanvas { margin-left: .5rem; margin-right: .5rem; } @@ -196,7 +196,7 @@ legend { @media (min-width: 768px) { .template-dir-combined.template-name-results { &, - &.offcanvas { // overcoming specificity + &.vufind-offcanvas { // overcoming specificity margin-left: 1rem; margin-right: 1rem; } diff --git a/themes/bootstrap3/css/compiled.css b/themes/bootstrap3/css/compiled.css index dbfbb93b08a..2a1140f12da 100644 --- a/themes/bootstrap3/css/compiled.css +++ b/themes/bootstrap3/css/compiled.css @@ -5,4 +5,4 @@ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label,.result .format,.sidebar .format{border:1px solid #000}.table,.search-history-table{border-collapse:collapse !important}.table td,.table th,.search-history-table td,.search-history-table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#12538B;text-decoration:none}a:hover,a:focus{color:#092b47;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#265680}a.text-primary:hover,a.text-primary:focus{color:#1a3c59}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#8a211e}a.text-danger:hover,a.text-danger:focus{color:#601715}.bg-primary{color:#fff;background-color:#265680}a.bg-primary:hover,a.bg-primary:focus{background-color:#1a3c59}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin:0;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,footer{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container,footer{width:750px}}@media (min-width:992px){.container,footer{width:970px}}@media (min-width:1200px){.container,footer{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*="col-"]{padding-right:0;padding-left:0}.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,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.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{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table,.search-history-table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td,.search-history-table>thead>tr>th,.search-history-table>tbody>tr>th,.search-history-table>tfoot>tr>th,.search-history-table>thead>tr>td,.search-history-table>tbody>tr>td,.search-history-table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th,.search-history-table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td,.search-history-table>caption+thead>tr:first-child>th,.search-history-table>colgroup+thead>tr:first-child>th,.search-history-table>thead:first-child>tr:first-child>th,.search-history-table>caption+thead>tr:first-child>td,.search-history-table>colgroup+thead>tr:first-child>td,.search-history-table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody,.search-history-table>tbody+tbody{border-top:2px solid #ddd}.table .table,.search-history-table .search-history-table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd),.search-history-table>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th,.search-history-table>thead>tr>td.active,.search-history-table>tbody>tr>td.active,.search-history-table>tfoot>tr>td.active,.search-history-table>thead>tr>th.active,.search-history-table>tbody>tr>th.active,.search-history-table>tfoot>tr>th.active,.search-history-table>thead>tr.active>td,.search-history-table>tbody>tr.active>td,.search-history-table>tfoot>tr.active>td,.search-history-table>thead>tr.active>th,.search-history-table>tbody>tr.active>th,.search-history-table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th,.search-history-table>thead>tr>td.success,.search-history-table>tbody>tr>td.success,.search-history-table>tfoot>tr>td.success,.search-history-table>thead>tr>th.success,.search-history-table>tbody>tr>th.success,.search-history-table>tfoot>tr>th.success,.search-history-table>thead>tr.success>td,.search-history-table>tbody>tr.success>td,.search-history-table>tfoot>tr.success>td,.search-history-table>thead>tr.success>th,.search-history-table>tbody>tr.success>th,.search-history-table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th,.search-history-table>thead>tr>td.info,.search-history-table>tbody>tr>td.info,.search-history-table>tfoot>tr>td.info,.search-history-table>thead>tr>th.info,.search-history-table>tbody>tr>th.info,.search-history-table>tfoot>tr>th.info,.search-history-table>thead>tr.info>td,.search-history-table>tbody>tr.info>td,.search-history-table>tfoot>tr.info>td,.search-history-table>thead>tr.info>th,.search-history-table>tbody>tr.info>th,.search-history-table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th,.search-history-table>thead>tr>td.warning,.search-history-table>tbody>tr>td.warning,.search-history-table>tfoot>tr>td.warning,.search-history-table>thead>tr>th.warning,.search-history-table>tbody>tr>th.warning,.search-history-table>tfoot>tr>th.warning,.search-history-table>thead>tr.warning>td,.search-history-table>tbody>tr.warning>td,.search-history-table>tfoot>tr.warning>td,.search-history-table>thead>tr.warning>th,.search-history-table>tbody>tr.warning>th,.search-history-table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th,.search-history-table>thead>tr>td.danger,.search-history-table>tbody>tr>td.danger,.search-history-table>tfoot>tr>td.danger,.search-history-table>thead>tr>th.danger,.search-history-table>tbody>tr>th.danger,.search-history-table>tfoot>tr>th.danger,.search-history-table>thead>tr.danger>td,.search-history-table>tbody>tr.danger>td,.search-history-table>tfoot>tr.danger>td,.search-history-table>thead>tr.danger>th,.search-history-table>tbody>tr.danger>th,.search-history-table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive,.search-history-table{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive,.search-history-table{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table,.table-responsive>.search-history-table,.search-history-table>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td,.table-responsive>.search-history-table>thead>tr>th,.table-responsive>.search-history-table>tbody>tr>th,.table-responsive>.search-history-table>tfoot>tr>th,.table-responsive>.search-history-table>thead>tr>td,.table-responsive>.search-history-table>tbody>tr>td,.table-responsive>.search-history-table>tfoot>tr>td,.search-history-table>.table>thead>tr>th,.search-history-table>.table>tbody>tr>th,.search-history-table>.table>tfoot>tr>th,.search-history-table>.table>thead>tr>td,.search-history-table>.table>tbody>tr>td,.search-history-table>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered,.search-history-table>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.search-history-table>.table-bordered>thead>tr>th:first-child,.search-history-table>.table-bordered>tbody>tr>th:first-child,.search-history-table>.table-bordered>tfoot>tr>th:first-child,.search-history-table>.table-bordered>thead>tr>td:first-child,.search-history-table>.table-bordered>tbody>tr>td:first-child,.search-history-table>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.search-history-table>.table-bordered>thead>tr>th:last-child,.search-history-table>.table-bordered>tbody>tr>th:last-child,.search-history-table>.table-bordered>tfoot>tr>th:last-child,.search-history-table>.table-bordered>thead>tr>td:last-child,.search-history-table>.table-bordered>tbody>tr>td:last-child,.search-history-table>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.search-history-table>.table-bordered>tbody>tr:last-child>th,.search-history-table>.table-bordered>tfoot>tr:last-child>th,.search-history-table>.table-bordered>tbody>tr:last-child>td,.search-history-table>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#8a211e}.has-error .form-control{border-color:#8a211e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#601715;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d43e3a;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d43e3a}.has-error .input-group-addon{color:#8a211e;background-color:#f2dede;border-color:#8a211e}.has-error .form-control-feedback{color:#8a211e}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn,.search-filter-toggle{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default,.search-filter-toggle{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .btn-default.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.btn-primary{color:#fff;background-color:#265680;border-color:#fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#1a3c59;border-color:#bfbfbf}.btn-primary:hover{color:#fff;background-color:#1a3c59;border-color:#e0e0e0}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#1a3c59;background-image:none;border-color:#e0e0e0}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#12293d;border-color:#bfbfbf}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#265680;border-color:#fff}.btn-primary .badge{color:#265680;background-color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .btn-primary.dropdown-toggle{color:#265680;background-color:#fff;border-color:#e0e0e0}.btn-success{color:#fff;background-color:#028302;border-color:#fff}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#015101;border-color:#bfbfbf}.btn-success:hover{color:#fff;background-color:#015101;border-color:#e0e0e0}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#015101;background-image:none;border-color:#e0e0e0}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#012e01;border-color:#bfbfbf}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#028302;border-color:#fff}.btn-success .badge{color:#028302;background-color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .btn-success.dropdown-toggle{color:#028302;background-color:#fff;border-color:#e0e0e0}.btn-info{color:#fff;background-color:#1C5F74;border-color:#fff}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#123d4b;border-color:#bfbfbf}.btn-info:hover{color:#fff;background-color:#123d4b;border-color:#e0e0e0}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#123d4b;background-image:none;border-color:#e0e0e0}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#0b262e;border-color:#bfbfbf}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#1C5F74;border-color:#fff}.btn-info .badge{color:#1C5F74;background-color:#fff}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .btn-info.dropdown-toggle{color:#1C5F74;background-color:#fff;border-color:#e0e0e0}.btn-warning{color:#fff;background-color:#A56100;border-color:#fff}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#724300;border-color:#bfbfbf}.btn-warning:hover{color:#fff;background-color:#724300;border-color:#e0e0e0}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#724300;background-image:none;border-color:#e0e0e0}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#4e2e00;border-color:#bfbfbf}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#A56100;border-color:#fff}.btn-warning .badge{color:#A56100;background-color:#fff}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .btn-warning.dropdown-toggle{color:#A56100;background-color:#fff;border-color:#e0e0e0}.btn-danger{color:#fff;background-color:#A41915;border-color:#fff}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#77120f;border-color:#bfbfbf}.btn-danger:hover{color:#fff;background-color:#77120f;border-color:#e0e0e0}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#77120f;background-image:none;border-color:#e0e0e0}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#570d0b;border-color:#bfbfbf}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#A41915;border-color:#fff}.btn-danger .badge{color:#A41915;background-color:#fff}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .btn-danger.dropdown-toggle{color:#A41915;background-color:#fff;border-color:#e0e0e0}.btn-link{font-weight:400;color:#12538B;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#092b47;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#265680;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#12538B}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#265680}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left !important;float:left}.navbar-right{float:right !important;float:right;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#132531;border-color:#0a1319}.navbar-default .navbar-brand{color:#fff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#068139;background-color:transparent}.navbar-default .navbar-text{color:#fff}.navbar-default .navbar-nav>li>a{color:#fff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#132531;background-color:#fff}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#132531;background-color:#fff}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#fff;background-color:#068139}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#132531;background-color:#fff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#fff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#132531;background-color:#fff}.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{color:#132531;background-color:#fff}.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{color:#fff;background-color:#068139}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#0a1319}.navbar-default .navbar-link{color:#fff}.navbar-default .navbar-link:hover{color:#132531}.navbar-default .btn-link{color:#fff}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#132531}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#fff}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.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{color:#fff;background-color:#080808}.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{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#535353;content:"/\00a0"}.breadcrumb>.active{color:#444}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#12538B;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#092b47;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#265680;border-color:#265680}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label,.result .format,.sidebar .format{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#265680}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#1a3c59}.label-success{background-color:#028302}.label-success[href]:hover,.label-success[href]:focus{background-color:#015101}.label-info,.result .format,.sidebar .format{background-color:#1C5F74}.label-info[href]:hover,.label-info[href]:focus{background-color:#123d4b}.label-warning{background-color:#A56100}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#724300}.label-danger{background-color:#A41915}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#77120f}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#595959;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#12538B;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#12538B}.thumbnail .caption{padding:9px;color:#333}.alert,.savedLists{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info,.savedLists{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#8a211e;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#601715}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#265680;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{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);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);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);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#028302}.progress-striped .progress-bar-success{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);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);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)}.progress-bar-info{background-color:#1C5F74}.progress-striped .progress-bar-info{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);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);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)}.progress-bar-warning{background-color:#A56100}.progress-striped .progress-bar-warning{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);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);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)}.progress-bar-danger{background-color:#A41915}.progress-striped .progress-bar-danger{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);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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item,.result.embedded .getFull.expanded,.result.embedded .loading{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.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{color:inherit}.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{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#265680;border-color:#265680}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.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{color:#93bcdf}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#8a211e;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#8a211e}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#8a211e;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#8a211e;border-color:#8a211e}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table,.panel>.search-history-table,.panel>.table-responsive>.search-history-table,.panel>.panel-collapse>.search-history-table,.panel>.search-history-table>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption,.panel>.search-history-table caption,.panel>.table-responsive>.search-history-table caption,.panel>.panel-collapse>.search-history-table caption,.panel>.search-history-table>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child,.panel>.search-history-table:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child,.panel>.search-history-table:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.search-history-table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.search-history-table:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.search-history-table:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child,.panel>.search-history-table:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child,.panel>.search-history-table:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.search-history-table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.search-history-table:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.search-history-table:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body,.panel>.panel-body+.search-history-table,.panel>.search-history-table+.panel-body,.panel>.panel-body+.search-history-table,.panel>.search-history-table+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td,.panel>.search-history-table>tbody:first-child>tr:first-child th,.panel>.search-history-table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered,.panel>.search-history-table>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.search-history-table>.table-bordered>thead>tr>th:first-child,.panel>.search-history-table>.table-bordered>tbody>tr>th:first-child,.panel>.search-history-table>.table-bordered>tfoot>tr>th:first-child,.panel>.search-history-table>.table-bordered>thead>tr>td:first-child,.panel>.search-history-table>.table-bordered>tbody>tr>td:first-child,.panel>.search-history-table>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.search-history-table>.table-bordered>thead>tr>th:last-child,.panel>.search-history-table>.table-bordered>tbody>tr>th:last-child,.panel>.search-history-table>.table-bordered>tfoot>tr>th:last-child,.panel>.search-history-table>.table-bordered>thead>tr>td:last-child,.panel>.search-history-table>.table-bordered>tbody>tr>td:last-child,.panel>.search-history-table>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.search-history-table>.table-bordered>thead>tr:first-child>td,.panel>.search-history-table>.table-bordered>tbody>tr:first-child>td,.panel>.search-history-table>.table-bordered>thead>tr:first-child>th,.panel>.search-history-table>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.search-history-table>.table-bordered>tbody>tr:last-child>td,.panel>.search-history-table>.table-bordered>tfoot>tr:last-child>td,.panel>.search-history-table>.table-bordered>tbody>tr:last-child>th,.panel>.search-history-table>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive,.panel>.search-history-table{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#265680}.panel-primary>.panel-heading{color:#fff;background-color:#265680;border-color:#265680}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#265680}.panel-primary>.panel-heading .badge{color:#265680;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#265680}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#8a211e;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#8a211e}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after,footer:before,footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after,footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.dropdown-menu-ul-links,.dropdown-menu>li>.prompt-text{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu-ul-links:hover,.dropdown-menu-ul-links:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}/*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../bootstrap3/css/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0);clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0 0 0 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0, rgba(0,0,0,0.5) 100%);box-shadow:0 0 0 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:.5em;left:.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info,.savedLists{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,input:-ms-input-placeholder,textarea:-ms-input-placeholder,input::-ms-input-placeholder,textarea::-ms-input-placeholder,input::placeholder,textarea::placeholder{color:#888}.sr-only{clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only:focus{background-color:#fff;border-radius:4px;clip:auto;color:#132531;display:block;font-size:14px;height:50px;line-height:20px;padding:15px 15px;position:absolute;left:5px;top:5px;text-decoration:none;text-transform:none;width:auto;z-index:100000}.navbar-brand{font-size:20px}a{text-decoration:underline}a:hover{color:black}.alert-danger,.alert-danger a{color:#8a211e}.alert-danger .btn-danger,.alert-danger a .btn-danger{color:white}.alert-danger .btn-danger:hover,.alert-danger a .btn-danger:hover{color:#8a211e}.searchForm .advanced-search-link{text-decoration:underline}.adv-group{position:relative;margin-bottom:.5rem;padding:1rem;border:1px solid #ddd;border-radius:4px}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group~.adv-group{margin-top:1rem}.adv-group .add_search_link{display:inline-block;margin-top:4px}.add_search_link,.adv-group-close{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.adv-group-close{color:#8a211e}.adv-search,.adv-search .input-group{width:100%}.adv-search{margin-bottom:1.5rem}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-term-input{margin-bottom:.5rem}.adv-term-type{float:left;max-width:80%}.adv-term-remove{color:#000;font-size:1.2rem;float:left;width:20%;height:30px;line-height:1.7;text-align:center;opacity:.4}.adv-term-remove .icon--image{vertical-align:middle}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit .clear-btn{float:right}@media (min-width:768px){.adv-group-terms{float:left;width:75%;padding-right:1rem}.adv-group-match{float:right;width:25%}.adv-group-close{position:absolute;right:1rem;bottom:1rem;min-width:calc(25% - 1rem)}.adv-search{margin-bottom:0}.adv-search .adv-term-input,.adv-search .adv-term-type{float:left}.adv-search .adv-term-input{width:60%;margin-right:2%}.adv-search .adv-term-type{max-width:30%}.adv-search .adv-term-remove{width:8%}}#groupPlaceHolder{display:block;padding:1rem}@media (min-width:768px){fieldset,.fieldset{float:left;width:33%;padding-right:1rem;padding-bottom:1rem}.solr-facets,.summon-facets{float:none;width:auto;margin-top:1rem}.summon-facets .facet-fieldset{float:left;width:50%;padding-right:1rem}}.adv-term-input,.adv-term-op{margin-bottom:.25rem}.adv-search:first-of-type .adv-term-op{display:none}@media (min-width:768px){.eds-adv .adv-term-op{float:left;width:16%;margin-right:1%}body.rtl .eds-adv .adv-term-op{float:right;margin-left:0;margin-right:1%}.eds-adv .adv-search:first-of-type .adv-term-input{margin-left:17%}.eds-adv .adv-term-input{width:39%;margin-right:0}.eds-adv .help-block{float:left;width:6%;text-align:center}}.primo-adv-search .search{margin-bottom:.5rem}.primo-adv-search .search .adv-term-type{margin-bottom:.25rem}.primo-adv-search .search-container{width:100%}.primo-adv-label{line-height:34px;padding-right:1rem}@media (min-width:640px){.primo.adv-group,.primo-adv-search .search{display:flex}.primo.adv-group select,.primo-adv-search .search select{flex-shrink:1.5;margin-right:.5rem}.primo.adv-group .primo-adv-input,.primo-adv-search .search .primo-adv-input{flex-grow:1}.primo-adv-label{flex-shrink:0}}@media (min-width:768px){.solr-facet-container{display:flex;flex-wrap:wrap}.solr-adv-facet{flex:1 25%}}body.rtl fieldset,body.rtl .fieldset,body.rtl .adv-search .adv-term-input,body.rtl .adv-search .adv-term-type,body.rtl .eds-adv .help-block,body.rtl .summon-facets .facet-fieldset{float:right}body.rtl .adv-submit .clear-btn,body.rtl .adv-group-match{float:left}body.rtl .adv-search .adv-term-input{margin-left:2%;margin-right:0}body.rtl .date-from{padding-left:.25rem;padding-right:0}body.rtl .date-to{padding-left:0;padding-right:.25rem}.alphabrowse{border-collapse:separate}.alphabrowse .lcc{width:20%}.alphabrowse .titles{width:10%;text-align:center}.alphabrowse tr.browse-match td{border-top:.2rem solid #265680;border-bottom:.2rem solid #265680}.alphabrowse tr.browse-match td:first-child{border-left:.2em solid #265680}.alphabrowse tr.browse-match td:last-child{border-right:.2em solid #265680}.autocomplete-results{position:absolute;display:none;max-width:500px;margin:0;margin-top:2px;padding:0;border:1px solid lightgray;background-color:#fff;overflow:hidden;z-index:50}.autocomplete-results.open{display:table}.autocomplete-results .ac-item{display:block;margin:0;padding:.5rem;border-bottom:1px solid lightgray;cursor:pointer}.autocomplete-results .ac-item:last-child{border:0}.autocomplete-results .ac-item:hover{background-color:#93bcdf}.autocomplete-results .ac-item.is-selected{background-color:#265680;color:#fff}.autocomplete-results .ac-disabled,.autocomplete-results [disabled]{color:darkgray}.autocomplete-results .ac-header{white-space:nowrap;color:#000;background-color:lightgray;cursor:default}.channel-wrapper{margin-top:1rem;margin-bottom:2rem}@media (max-width:767px){.channel-wrapper{margin-left:1rem}}.channel{position:relative;width:100%;max-height:300px;padding:1rem;background-color:#eee;border-radius:4px}.channel-add-menu{position:relative;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #555;text-align:center}@media (min-width:768px){.channel-add-menu{float:right;margin:0;padding:0;border:0}body.rtl .channel-add-menu{float:left}}.channel-add-menu .dropdown-menu{left:auto;right:0;max-width:90vw;overflow:hidden}.channel .channel-record.slide{display:inline-block;min-width:100px;max-height:16em;padding:0 .5rem;text-align:center}.channel-record-title{display:block;height:3em;margin:0;line-height:1.5;overflow:hidden}.channel .channel-record .thumb{display:flex;height:200px;align-items:center;justify-content:center}.channel .channel-record .thumb img{max-width:100%;max-height:100%}.channel .popover{width:500px;max-width:none}.channel .popover-title{font-size:1.4rem;font-weight:bold}.channel-title h2{display:inline-block;margin:0}.channel-title .dropdown{display:inline-block}.channel-title a:hover{text-decoration:none}.channel-title i.fa-fw{width:1.4em;padding-top:.5em;font-size:.6em;text-align:center;vertical-align:top}.channel-title .placeholder{width:25px}.channel-title .dropdown button{font-size:18px;color:#777;vertical-align:baseline}.channel .slick-prev::before,.channel .slick-next::before{color:#555}.channel-search{margin-top:1rem}:root{--cc-font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--cc-modal-border-radius:4px;--cc-btn-border-radius:4px;--cc-modal-transition-duration:.25s;--cc-link-color:#12538B;--cc-modal-margin:1rem;--cc-z-index:990}#cc-main{color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;line-height:1.15;-webkit-text-size-adjust:100%;z-index:var(--cc-z-index);position:fixed}#cc-main.cc--rtl{direction:rtl}#cc-main b,#cc-main em,#cc-main strong,#cc-main a,#cc-main .cm__title{font-weight:500}#cc-main button>span{pointer-events:none}#cc-main a,#cc-main .cc__link{font-weight:600;position:relative;background-image:linear-gradient(currentColor, currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s,color .25s ease}#cc-main a:hover,#cc-main .cc__link:hover{color:var(--cc-primary-color);background-size:100% 1px}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{scrollbar-width:thin;overscroll-behavior:auto contain}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-track,#cc-main ::-webkit-scrollbar-thumb{all:revert}#cc-main ::-webkit-scrollbar-thumb{border:.25rem solid var(--cc-bg);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:1rem;background:var(--cc-toggle-readonly-bg)}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}:root{--cc-bg:#fff;--cc-primary-color:#333;--cc-secondary-color:#4d4d4d;--cc-btn-primary-bg:#265680;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:#265680;--cc-btn-primary-hover-bg:#fff;--cc-btn-primary-hover-color:#265680;--cc-btn-primary-hover-border-color:#e0e0e0;--cc-btn-secondary-bg:#fff;--cc-btn-secondary-color:#333;--cc-btn-secondary-border-color:#ccc;--cc-btn-secondary-hover-bg:#333;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:#adadad;--cc-separator-border-color:#e3e3e3;--cc-toggle-on-bg:#777;--cc-toggle-off-bg:#919191;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:#fff;--cc-toggle-enabled-icon-color:#fff;--cc-toggle-disabled-icon-color:#fff;--cc-toggle-readonly-bg:#aaa;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:#aaa;--cc-section-category-border:#eee;--cc-cookie-category-block-bg:#eee;--cc-cookie-category-block-border:#ddd;--cc-cookie-category-block-hover-bg:#d5d5d5;--cc-cookie-category-block-hover-border:#ddd;--cc-cookie-category-expanded-block-bg:#eee;--cc-cookie-category-expanded-block-hover-bg:#d5d5d5;--cc-overlay-bg:#000;--cc-webkit-scrollbar-bg:#eee;--cc-webkit-scrollbar-hover-bg:#fff;--cc-footer-bg:#f5f5f5;--cc-footer-color:#333;--cc-footer-border-color:#ddd}#cc-main .cm{position:fixed;max-width:24rem;display:flex;flex-direction:column;background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);z-index:1;overflow:hidden;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3);visibility:hidden;opacity:0}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{right:var(--cc-modal-margin);margin-left:var(--cc-modal-margin)}#cc-main .cm__body{position:relative;display:flex;flex-direction:column;justify-content:space-between}#cc-main .cm__texts,#cc-main .cm__btns,#cc-main .cm__links{width:unset;padding:1rem 1.3rem}#cc-main .cm__texts{display:flex;flex-direction:column;justify-content:center;flex:1;padding-bottom:1rem 0 0}#cc-main .cm__title,#cc-main .cm__desc{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);line-height:1.5;font-size:.9em;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--cc-separator-border-color)}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0, 1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0;margin-bottom:.375rem}#cc-main .cm--inline .cm__btn+.cm__btn{margin-top:0;margin-left:.375rem}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-right:0;margin-bottom:.375rem}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--wide .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--wide.cm--flip .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;font-weight:500;font-size:.82em;min-height:42px;padding:.5em 1em;border-radius:var(--cc-btn-border-radius)}#cc-main .cm__btn:hover{color:var(--cc-btn-primary-hover-color);background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color)}#cc-main .cm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .cm__btn--secondary:hover{color:var(--cc-btn-secondary-hover-color);background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .cm__btn--close{display:none;position:absolute;right:0;top:0;width:42px;height:42px;border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-top:none;border-right:none;padding:0!important;min-width:auto!important;font-size:1em;overflow:hidden}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{color:var(--cc-footer-color);background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);padding:.4em 0 .5em 0}#cc-main .cm__links{padding-top:0;padding-bottom:0;display:flex;flex-direction:row}#cc-main .cm__link-group{font-size:.8em;display:flex;flex-direction:row;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-right:1.8em;padding-left:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{width:unset;max-width:54em}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-top:none;border-left:1px solid var(--cc-separator-border-color)}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btns{max-width:23em}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btns,#cc-main .cm--cloud.cm--flip .cm__btn-group{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{max-width:unset;width:100vw;left:0;right:0;margin:0;transform:translateY(0);border-radius:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0}#cc-main .cm--bar.cm--bottom{bottom:0}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{max-width:55em;margin:0 auto;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em 0}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--bar .cm__btn{min-width:120px;padding-right:2em;padding-left:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{padding:0;flex-direction:row}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper::before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper::before{content:'';opacity:0;visibility:hidden;position:fixed;left:0;right:0;top:0;bottom:0;z-index:0;background:var(--cc-overlay-bg)}#cc-main .cm{transform:translateY(1.6em)}#cc-main .cm--middle{transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bar.cm--bottom{transform:translateY(100%)}#cc-main .cm--bar.cm--top{transform:translateY(-100%)}.show--consent #cc-main .cc--anim .cm{opacity:1;visibility:visible!important;transform:translateY(0)}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper::before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{right:unset;left:0;border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius)}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-right:1.3rem;padding-left:3rem!important}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__title,#cc-main .cm__desc,#cc-main .cm__btns,#cc-main .cm__links{padding-left:1.1rem !important;padding-right:1.1rem !important}#cc-main .cm__btns{flex-direction:column!important;max-width:none!important;min-width:auto!important;border-left:none!important;border-top:1px solid var(--cc-separator-border-color) !important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btns,#cc-main .cm--flip .cm__btn-group{flex-direction:column-reverse !important}}:root{--cc-pm-toggle-border-radius:4em}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{position:fixed;display:flex;width:100%;width:unset;background:var(--cc-bg);flex-direction:column;border-radius:var(--cc-modal-border-radius);opacity:0;visibility:hidden;overflow:hidden;z-index:1;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3)}#cc-main svg{fill:none;width:100%}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:1em 1.4em}#cc-main .pm__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__title{display:flex;align-items:center;flex:1;font-weight:500;margin-right:2em}#cc-main .pm__close-btn{width:calc(42px - 2px);height:calc(42px - 2px);position:relative;background:var(--cc-btn-secondary-bg);border-radius:var(--cc-btn-border-radius);border:1px solid var(--cc-btn-secondary-border-color);transition:all .15s ease}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{border-color:var(--cc-btn-secondary-hover-border-color);background:var(--cc-btn-secondary-hover-bg)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{display:flex;flex-direction:column;margin-bottom:.5em;border-radius:var(--cc-btn-border-radius)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{overflow:hidden;margin-top:0!important}#cc-main .pm__section{padding:1em;border:1px solid var(--cc-separator-border-color);transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{transition:none;padding:0;margin-top:0;border:none;margin-bottom:2em}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--cc-cookie-category-block-bg);position:relative;padding:1.1em 5.4em 1.1em 1.2em;border:1px solid var(--cc-cookie-category-block-border);transition:background-color .25s ease,border-color .25s ease;min-height:58px}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{display:none;border:1px solid var(--cc-cookie-category-block-border);border-top:none;border-radius:var(--cc-btn-border-radius);border-top-left-radius:0;border-top-right-radius:0}#cc-main .pm__section--toggle .pm__section-desc{padding:1em;margin-top:0}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{padding-left:3.4em;cursor:pointer}#cc-main .pm__section--expandable .pm__section-arrow{width:20px;height:20px;position:absolute;left:18px;background:var(--cc-toggle-readonly-bg);display:flex;justify-content:center;border-radius:100%;pointer-events:none}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{position:relative;display:flex;align-items:center}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{font-weight:500;border-radius:var(--cc-btn-border-radius);font-size:.95em}#cc-main .pm__badge{display:flex;flex:none;margin-left:1em;border-radius:5em;font-weight:500;font-size:.8em;background:var(--cc-btn-secondary-bg);color:var(--cc-secondary-color);position:relative;height:23px;width:auto;min-width:23px;align-items:center;text-align:center;justify-content:center;padding:0 .6em 1px .6em;white-space:nowrap;overflow:hidden}#cc-main .pm__service-counter{padding:0;width:23px;background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color)}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px .6em;width:auto}#cc-main .section__toggle-wrapper,#cc-main .section__toggle,#cc-main .toggle__label,#cc-main .toggle__icon{width:50px;height:23px;border-radius:var(--cc-pm-toggle-border-radius);transform:translateZ(0)}#cc-main .section__toggle-wrapper{position:absolute;right:18px;cursor:pointer;z-index:1}#cc-main .toggle-service{position:relative;right:0;width:42px;height:19px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{width:42px;height:19px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper::after{display:none!important}#cc-main .section__toggle{position:absolute;cursor:pointer;display:block;top:0;left:0;margin:0;border:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{position:absolute;background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);transition:all .25s ease;pointer-events:none;display:flex;flex-direction:row}#cc-main .toggle__icon-circle{position:absolute;display:block;left:0;top:0;width:23px;height:23px;border:none;background:var(--cc-toggle-off-knob-bg);box-shadow:0 1px 2px rgba(24,32,3,0.36);transition:transform .25s ease,background-color .25s ease;border-radius:var(--cc-pm-toggle-border-radius)}#cc-main .toggle__icon-on,#cc-main .toggle__icon-off{height:100%;position:absolute;width:100%;transition:opacity .15s ease}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(calc(50px - 23px));background-color:var(--cc-toggle-on-knob-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{position:absolute;top:0;z-index:-1;opacity:0;pointer-events:none;overflow:hidden}#cc-main .pm__section-desc-wrapper{display:flex;flex-direction:column;font-size:.9em;color:var(--cc-secondary-color)}#cc-main .pm__section-desc-wrapper>*:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{padding:.4em 1.2em;position:relative;display:flex;justify-content:space-between;transition:background-color .15s ease;align-items:center}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{display:flex;align-items:center;width:100%;margin-right:1em}#cc-main .pm__service-icon{min-width:8px;height:8px;border:2px solid currentColor;border-radius:100%;margin-left:6px;margin-right:20px;margin-top:1px}#cc-main .pm__service-title{font-size:.95em;word-break:break-word;width:100%}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{text-align:left;border-collapse:collapse;width:100%;padding:0;margin:0;overflow:hidden;font-size:.9em}#cc-main .pm__table-caption{border-top:1px solid var(--cc-cookie-category-block-border);text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{font-weight:600;color:var(--cc-primary-color);border-bottom:1px dashed var(--cc-separator-border-color)}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-th,#cc-main .pm__table-td{padding:.625em;vertical-align:top;padding-left:1.2em}#cc-main .pm__footer{display:flex;justify-content:space-between;border-top:1px solid var(--cc-separator-border-color)}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;flex:auto;min-width:110px;font-weight:500;font-size:.82em;padding:.5em 1.5em;min-height:42px;border-radius:var(--cc-btn-border-radius);transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;top:50%;max-width:43em;max-height:37.5em;height:calc(100% - 2em)}#cc-main .pm--box.pm--flip .pm__footer,#cc-main .pm--box.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm--bar{top:0;bottom:0;border-radius:0;height:100%;max-height:none;max-width:29em;width:100%;margin:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-tr,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-td{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__header,#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-top:.375rem;margin-left:0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0}#cc-main .pm--bar.pm--right{right:0}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__header,#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__footer,#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm-overlay{content:'';position:fixed;left:0;right:0;top:0;bottom:0;z-index:1;background:var(--cc-overlay-bg);opacity:0;visibility:hidden}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .pm--box{transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--bar.pm--left{transform:translateX(-100%)}#cc-main .pm--bar.pm--right{transform:translateX(100%)}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-right:0;margin-left:1em}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{right:unset;left:18px;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-right:5px;margin-left:20px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-th,#cc-main.cc--rtl .pm__table-td{text-align:right;padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td::before{padding-right:unset;padding-left:2em}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}@media screen and (max-width:640px){#cc-main .pm{left:0;right:0;top:0;bottom:0;max-height:100%;height:auto;transform:translateY(1.6em);border-radius:0;max-width:none!important}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:.9em !important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-tr,#cc-main .pm__table-th,#cc-main .pm__table-td{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important;flex-direction:column!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .pm--flip .pm__footer,#cc-main .pm--flip .pm__btn-group{flex-direction:column-reverse !important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0) !important}}.btn.missing_count,.btn.extra_count{padding:0;height:auto}#lang-summary .progress{margin-bottom:0;border:1px solid #555;background-color:#fff}#lang-summary .progress-border-info{border-color:#1C5F74}#lang-summary .progress-border-warning{border-color:#A56100}#lang-summary .progress-border-danger{border-color:#A41915}#lang-summary .progress-bar{min-width:2rem}#lang-summary th,#lang-summary td{text-align:left;vertical-align:middle}.result-list-explain .js-result-list-explain{max-width:100px}.result-list-explain .js-result-list-explain .bar-chart{display:inline-block !important}.result-list-explain,.result-list-explain:hover{text-decoration:none}.explain{word-wrap:break-word}.explain .charts{max-width:800px}.explain .explain-column-container{height:160px}.explain table,.explain th,.explain td{padding-top:9px}.explain .percentage{text-align:right;padding-right:9px}.explain .sum-rest{border-top-width:2px;border-top-style:solid}.explain .explain-rest .percentage{padding-left:10px}.explain .field-name{font-weight:bold}.explain .field-name .icon{padding-left:1px;color:darkblue;vertical-align:unset}.explain .exact-match{color:black}.explain .inexact-match{color:#436c71}.explain .unknown-match{color:red}form .form-control{border-color:#888}form .form-control:focus{border-color:#3F9AE4}form textarea:invalid,form input:invalid{box-shadow:0 0 2px 1px rgba(255,0,0,0.9)}form .form-info{font-weight:bold;margin:20px 0}form .info{margin:10px 0}form .form-group ul{padding:0;margin-left:15px;margin-top:5px}form .form-group label.required::before,form .form-group .radio-label.required::before,form .form-group .radio-label.require-one::before{content:'* '}form input[type=checkbox],form input[type=radio]{height:1em}form .form-group.checkbox,form .form-group.radio{margin-bottom:15px}form .form-group.checkbox label.control-label,form .form-group.radio label.control-label{padding-left:0;font-weight:700;margin-bottom:5px}form .form-group.checkbox label,form .form-group.radio label{display:table;margin:7px 0}form .form-group.checkbox label input,form .form-group.radio label input{width:auto;margin-right:10px;margin-top:3px}form .form-group.checkbox .radio-label,form .form-group.radio .radio-label{font-weight:700}form.dynamic-form input[type=date]{padding-top:0}.icon-link,.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.cart-controls .toolbar-btn{display:inline-flex;gap:.25rem;vertical-align:middle}.icon-link,.icon-link:active,.icon-link:focus,.icon-link:hover,.toolbar-btn,.toolbar-btn:active,.toolbar-btn:focus,.toolbar-btn:hover,.record-nav .cart-add,.record-nav .cart-add:active,.record-nav .cart-add:focus,.record-nav .cart-add:hover,.record-nav .cart-remove,.record-nav .cart-remove:active,.record-nav .cart-remove:focus,.record-nav .cart-remove:hover,.reset-filters-btn,.reset-filters-btn:active,.reset-filters-btn:focus,.reset-filters-btn:hover,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.tag-record:active,.tag-record:focus,.tag-record:hover,.cart-controls .toolbar-btn,.cart-controls .toolbar-btn:active,.cart-controls .toolbar-btn:focus,.cart-controls .toolbar-btn:hover{text-decoration:none}.icon-link__icon{flex:none;padding:0;line-height:inherit;color:inherit}.icon-link__label{text-decoration:underline}span.icon-link .icon-link__label,.disabled .icon-link__label,[disabled] .icon-link__label,span.toolbar-btn .icon-link__label,span.record-nav .cart-add .icon-link__label,span.record-nav .cart-remove .icon-link__label,span.reset-filters-btn .icon-link__label,span.tag-record .icon-link__label,span.cart-controls .toolbar-btn .icon-link__label{text-decoration:none}.icon-link.active .icon-link__icon,.icon-link.active .icon-link__label,.toolbar-btn.active .icon-link__icon,.toolbar-btn.active .icon-link__label,.record-nav .cart-add.active .icon-link__icon,.record-nav .cart-add.active .icon-link__label,.record-nav .cart-remove.active .icon-link__icon,.record-nav .cart-remove.active .icon-link__label,.reset-filters-btn.active .icon-link__icon,.reset-filters-btn.active .icon-link__label,.tag-record.active .icon-link__icon,.tag-record.active .icon-link__label,.cart-controls .toolbar-btn.active .icon-link__icon,.cart-controls .toolbar-btn.active .icon-link__label{color:#fff}.banner .icon-link__label,.pager .icon-link__label,.action-toolbar .icon-link__label{text-decoration:none}.icon--font{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;line-height:inherit;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon--img{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;text-align:center;vertical-align:top}.icon--svg{display:inline-block;max-width:1.25em;max-height:1.25em;fill:currentColor;vertical-align:text-bottom}.icon--unicode:before{content:attr(data-icon)}.show--closed,.collapsed .show--open{display:none}.collapsed .show--closed{display:inline}.doi-icon{height:1em;width:14px;filter:brightness(50%)}.icon--spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon--pulse{animation:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.icon--bounce{animation:bounce 1s infinite}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, .2, 1)}}.keyboard-selection{display:inline-block;margin-top:2px}.keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.keyboard-selection button.dropdown-toggle:hover,.keyboard-selection button.dropdown-toggle:focus,.keyboard-selection.open>button.dropdown-toggle{color:white;background-color:#265680;border-color:#265680;outline:none}.keyboard-selection:not(.open) .activated:not(:hover){background:#cee0f0}.keyboard-selection>.dropdown-menu{min-width:20px}.keyboard-selection>.dropdown-menu>li>a{padding:3px 10px}.keyboard-selection #keyboard-selection-button{padding:0 2px 0 4px}.keyboard-selection #keyboard-selection-button .icon{margin:0}.keyboard-box{position:fixed;bottom:250px;height:0;z-index:60;width:95%}@media (min-width:768px){.keyboard-box{width:720px}}@media (min-width:992px){.keyboard-box{width:940px}}@media (min-width:1200px){.keyboard-box{width:1040px}}.simple-keyboard{display:none;position:absolute;z-index:1}.simple-keyboard.hg-theme-default{background-color:#dddddd}.simple-keyboard .hg-button.hg-functionBtn{font-weight:bold;font-size:30px;background-color:#f4f4f4}.simple-keyboard .hg-button.hg-functionBtn span{padding-top:5px}.simple-keyboard .hg-button.hg-functionBtn.hg-button-space{background-color:white}.simple-keyboard .hg-standardBtn{font-size:18px}.show-keyboard{display:block}#modal{background-color:rgba(0,0,0,0.2)}#modal .modal-dialog{width:100%;margin-inline:auto;margin-block:1rem;padding-inline:1rem}@media (min-width:768px){#modal .modal-dialog{width:fit-content;max-width:min(1200px, calc(100vw - 200px));min-width:600px;padding:0}}#modal .modal-content>.close{position:absolute;top:0;right:0;z-index:2;padding:.5rem;opacity:1}body.rtl #modal .modal-content>.close{left:0;right:auto}#modal .close svg{width:1em;vertical-align:bottom;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}@media (min-width:768px){#modal .modal-content>.close{right:-1.75em;font-size:32pt;color:#fff;background-color:rgba(0,0,0,0);border-radius:6px}body.rtl #modal .modal-content>.close{left:-1.75em;right:auto}}#modal .modal-content>.close:hover{background-color:#000}#modal .modal-body h1,#modal .modal-body h2{margin-top:.3rem;margin-bottom:1.3rem}#modal .cart-controls .btn{margin-bottom:4px}#modal .cart-controls~hr{margin-top:0}.lightbox-scroll{overflow-y:auto}.modal-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;font-size:150%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.2)}.modal-loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:6px;color:#eee}.lightbox-only{display:none}#modal .lightbox-only{display:initial}.lightbox-image{text-align:center}.offcanvas-overlay{display:none}.search-filter-toggle{margin-top:1rem;margin-bottom:1rem}.close-offcanvas,.search-filter-toggle{display:none}@media screen and (max-width:767px){.close-offcanvas::before,.close-offcanvas::after,.search-filter-toggle::before,.search-filter-toggle::after{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.offcanvas .close-offcanvas{display:block}body.offcanvas{overflow-x:hidden;transition:margin .5s}.offcanvas-overlay{display:none;position:fixed;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:3;opacity:0;transition:opacity .5s;cursor:pointer}.offcanvas .offcanvas-overlay{display:block}.offcanvas-left .sidebar{left:-80vw}.offcanvas-left .offcanvas-overlay{right:-100%}.offcanvas-left .offcanvas-toggle{left:0}.offcanvas-right .sidebar{right:-80vw}.offcanvas-right .offcanvas-overlay{left:-100%}.offcanvas-right .offcanvas-toggle{right:0}.offcanvas .sidebar{position:fixed;height:100%;top:0;width:80vw;padding:1rem;overflow-y:auto;background-color:#fff;transition:left .5s,right .5s}.offcanvas .sidebar .search-sort{padding-bottom:1rem}.offcanvas.active{overflow-y:hidden}.offcanvas.active.offcanvas-left{margin-left:80vw;margin-right:-80vw}.offcanvas.active.offcanvas-left .sidebar{left:0}.offcanvas.active.offcanvas-left .offcanvas-overlay{right:-80vw}.offcanvas.active.offcanvas-left .offcanvas-toggle{left:80vw}.offcanvas.active.offcanvas-right{margin-left:-80vw;margin-right:80vw}.offcanvas.active.offcanvas-right .sidebar{right:0}.offcanvas.active.offcanvas-right .offcanvas-overlay{left:-80vw}.offcanvas.active.offcanvas-right .offcanvas-toggle{right:80vw}.offcanvas.active .offcanvas-overlay{opacity:1;transition:opacity .5s}.offcanvas-left .close-offcanvas::after{content:"\f105"}.offcanvas-left .search-filter-toggle::before{content:"\f100"}.offcanvas-right .close-offcanvas::before{content:"\f104"}.offcanvas-right .search-filter-toggle::after{content:"\f101"}.rtl.offcanvas-left .close-offcanvas::after{content:none}.rtl.offcanvas-left .close-offcanvas::before{content:"\f105"}.rtl.offcanvas-left .search-filter-toggle::before{content:none}.rtl.offcanvas-left .search-filter-toggle::after{content:"\f100"}.rtl.offcanvas-right .close-offcanvas::before{content:none}.rtl.offcanvas-right .close-offcanvas::after{content:"\f104"}.rtl.offcanvas-right .search-filter-toggle::after{content:none}.rtl.offcanvas-right .search-filter-toggle::before{content:"\f101"}}.record h1{font-size:24px;line-height:1.15}.record .media-body h3{margin-top:0}.recordcover{max-height:300px}.browzine .recordcover{margin-top:2px;margin-bottom:4px;box-shadow:1px 1px 3px rgba(47,52,64,0.72);max-height:130px;width:105px;height:auto}.cover-source{font-size:14px}.record__biblio-value a:not(.icon-link),.related__title{display:inline-block}.related__title .related__icon{float:left;margin-right:.25rem;text-align:left;line-height:1.4;background-position-x:left}.rtl .related__title .related__icon{margin-left:0;margin-right:.25rem}.media-body h1{margin-top:0}@media (max-width:767px){.record .media-left,.record .media-right{display:block}.record .media-body{display:block;width:auto;margin-top:1rem}}.record .format::after{content:", "}.record .format.badge::after,.record .result-formats .format::after,.record .format:last-child::after{content:""}.record-previews{margin-top:.5rem}.record-nav.nav{margin-bottom:1rem}.record-nav>li,.btn-bookbag-toggle{width:100%}.record-nav>li>a{padding:.5rem}.record-nav>li>a,.btn-bookbag-toggle{text-align:center}@media (min-width:768px){.record-nav>li,.btn-bookbag-toggle{width:auto}.record-nav>li>a{padding:10px 15px}.record-nav>li>a,.btn-bookbag-toggle{text-align:left}}.comment-label,.comment-name{font-style:italic}.comment{margin-bottom:1rem}.comment-name .delete{color:#8a211e}@media (min-width:768px){.comment-form,.comment{display:flex;margin-bottom:0}.comment-label,.comment-name{min-width:25%;font-style:unset}.comment-form .text-form{width:100%}.comment-form>label{flex:0 0 auto}.comment-form textarea{display:block;width:100%;float:left}.comment-form .comment-rating{float:left;margin:.5rem}.comment-form .btn{margin-top:.5rem}}.tag-record:hover{text-decoration:none}.tagList button{margin-top:0;padding-top:0;padding-bottom:4px;font-size:95%;vertical-align:initial}.tagList .tag .badge{margin:0;padding:3px 7px;font-weight:normal}.tagList button .fa-close{margin-top:3px}.tagList .tag{display:inline-block;margin:0 1px 1px;padding:6px 6px;font-size:14px;line-height:1.42857143;border-radius:4px}.tagList .tag.selected{background-color:#265680}.tagList .tag.selected a{color:#fff}.tagList .tag.selected .badge{color:#222;background-color:#fff}.tagList .tag.selected .badge:hover{color:#a94442}.tagList .tag .badge .fa{width:12px}.tagList .tag .icon--img{font-size:.625rem}.tagList button{border:0}.tagList .tag-form{display:inline}.tagList.loggedin .tag:not(.selected) .badge:hover{background-color:#028302}.staff-view .pace-car th,.staff-view .pace-car td{border:0;padding:0}.staff-view th{text-align:right}.staff-view td span.term{font-weight:bold}.staff-view--marc .marc__tag{width:15%}.staff-view--marc .marc__ind{width:5%}.item-notes ul{padding-left:2rem}.subject-line:hover{color:#999}.subject-line:hover a{color:#092b47}.subject-line a:hover~a{color:#999;text-decoration:none}.marc-row-LEADER,.marc-row-006,.marc-row-007,.marc-row-008{white-space:pre-wrap}.relaisLink{display:inline-block}.collection-list-controls{display:flex;flex-flow:row wrap}.collection-list-controls .collection-control{white-space:nowrap;margin:0 .5rem 0 0}.collectionDetails .active-filters .filters{padding:0 0 5px 0}.collection-list-results{margin-top:.5rem}.tab-pane::after{display:table;clear:both;content:""}.tab-pane .result{margin-left:0}.holdings-tab .holdings-table{table-layout:auto}.holdings-tab .holdings-table th,.holdings-tab .holdings-table td{min-width:10vw}.holdings-tab .holdings-table .bound-with-records .direct-item{font-weight:bold}.openurls .openurl-notes{display:block;font-style:italic}.openurls .openurl-authentication{display:block}.record .media-left .rating{margin-top:.5rem;margin-bottom:1rem}.rating-breakdown{margin-bottom:1rem}.rating-breakdown .rating-breakdown-stars{display:inline-block}.rating-breakdown .rating-breakdown-percentage{display:inline-block;width:3rem;text-align:right}.star-rating{display:inline-flex}.star-rating .rating__icon{pointer-events:none;width:initial}.star-rating .rating__input{position:absolute !important;left:-9999px !important}.star-rating .rating__label{cursor:pointer;padding:0 .1em;font-size:1rem}.star-rating .rating__label--half{padding-right:0;margin-right:-0.6em;z-index:2}.star-rating .rating__icon--star{color:#A56100}.star-rating .rating__input:checked~.rating__label .rating__icon--star{color:#ddd}.star-rating:not(.readonly):hover .rating__label .rating__icon--star,.star-rating:not(.readonly):hover .rating__label--half .rating__icon--star{color:#A56100}.star-rating:not(.readonly) .rating__input:hover~.rating__label .rating__icon--star,.star-rating:not(.readonly) .rating__input:hover~.rating__label--half .rating__icon--star{color:#ddd}.record-list{list-style:none;padding:0;margin:0}.record-list.search-results-solr-auth .media-left,.record-list.search-results-solr-auth .media-right{display:none}.js-result-list{position:relative}.js-result-list .loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;display:flex;font-size:150%;align-items:flex-start;justify-content:center;background-color:rgba(0,0,0,0.2)}.js-result-list .loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:6px;color:#eee}@media (max-width:767px){#datevispublishDatexWrapper,.result .checkbox{display:none}}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.home-facet-list{padding-left:0;padding-right:1rem;list-style:none}.home-facet.facet-tree li{line-height:inherit;padding-top:0;padding-bottom:0;border:0}.home-facet.facet-tree li .facet-tree__toggle-expanded{line-height:inherit;padding:0}.home-facet.facet-tree li .facet{padding:0;line-height:inherit}.home-facet.facet-tree li .facet .badge{display:none}@media (min-width:768px){.search-home-facets,.home-facet-container{display:flex}.home-facet{flex:1 1 100%}.home-facet-list{flex:0 1 100%}}header .container.navbar{margin-bottom:0}.search-sort,.search-result-limit{display:flex}.search-sort label,.search-result-limit label{line-height:34px;padding-right:.5rem}.search-stats{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width:768px){.search-header{display:flex}.search-stats{flex-grow:1}.search-controls{text-align:right}}.versions-tab .search-controls{padding-top:.5rem;padding-left:1rem;text-align:left}.versions-tab .search-header .search-stats{flex-grow:0}.record-nav{margin:1rem 0;padding:0}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.bulkActionButtons,.action-toolbar,.selection-controls-bar{gap:.25rem;align-items:center}.bulkActionButtons{margin-block:1rem}.bulk-checkbox{padding-inline-end:1rem;margin-top:.25rem}.bulkActionButtons label{display:inline-block}.bulkActionButtons label input{margin-top:2px}.action-toolbar,.selection-controls-bar{margin:0;padding:0;list-style:none}.action-toolbar .popover ul,.selection-controls-bar .popover ul{list-style:disc;padding-left:1em}.action-toolbar li,.selection-controls-bar li{display:inline-block}.action-toolbar li .popover li,.selection-controls-bar li .popover li{display:list-item;padding-left:.5em}@media (max-width:767px){.grid{min-height:250px}}.result{display:flex;padding-top:1rem}.result .record-checkbox,.result .record-number{display:none}.result .title,.result .result-author,.result .fulltext{display:inline-block}.result .title{font-weight:bold}.result .list-tab-content.record .img-col{display:none}.result .list-tab-content.record .info-col{width:100%}.result .checkbox-select-item{float:left}.result .dropdown-menu.qrcode{min-width:inherit}@media (max-width:767px){.result a{max-width:100%;text-decoration:underline}}@media (min-width:768px){.result .record-checkbox{display:block;flex:0;cursor:pointer}.result .record-number{display:block;flex:0 2rem;text-align:center}}.record .media,.result .media{display:flex;flex:1;margin:0;padding-right:10px;padding-left:10px;overflow:visible}.record .media-left,.result .media-left,.record .media-right,.result .media-right{flex:none;max-width:25%;text-align:center}.record .media-left a,.result .media-left a,.record .media-right a,.result .media-right a{display:inline-block;max-width:100%;text-align:center;white-space:nowrap;text-decoration:underline}.record .media-left .rating-summary a,.result .media-left .rating-summary a,.record .media-right .rating-summary a,.result .media-right .rating-summary a{white-space:normal}.record .media-left img,.result .media-left img,.record .media-right img,.result .media-right img{display:inline-block;width:auto;max-width:100%;max-height:300px;object-fit:contain}@media (min-width:768px){.record .media-left.small,.result .media-left.small,.record .media-right.small,.result .media-right.small{width:60px}.record .media-left.medium,.result .media-left.medium,.record .media-right.medium,.result .media-right.medium{width:100px}.record .media-left.large,.result .media-left.large,.record .media-right.large,.result .media-right.large{width:160px}.record .media-left>a,.result .media-left>a,.record .media-right>a,.result .media-right>a{width:100%}}.record .media-left,.result .media-left{margin-right:10px}.record .media-right,.result .media-right{margin-left:10px}.record .media-body,.result .media-body{flex:1;width:unset;overflow:visible}.ajaxcover .cover-container{display:none}.recordcover{white-space:normal;line-height:1.15}.result-body{padding:0;padding-bottom:.25rem}.result-body h2,.media-body h2{font-size:unset;line-height:1.42857143;margin:0}.result-body h2 .authors,.media-body h2 .authors{display:block}.btn-bookbag-toggle,.result-links a{line-height:1.5}.result-links .alert{margin:0}.result-formats{margin-bottom:.5rem}.btn-bookbag-toggle form{display:inline}.savedLists{display:none}.result-citation-links{margin:.5rem 0}@media (min-width:768px){.result-body{float:left;width:75%}.result-links{float:left;width:25%;padding:0}.savedLists.loaded{display:block}}@media (min-width:768px){body.rtl .result-body,body.rtl .result-links{float:right}}.result.embedded .getFull{display:block;margin-left:-0.5rem;padding-left:.5rem;border-left:1px solid transparent}.result.embedded .getFull.expanded{margin-top:-11px;padding-left:.5rem;border-top-left-radius:4px;border-top-right-radius:4px}.result.embedded .getFull.expanded::before{content:'\25BC';position:absolute;right:1rem;color:#555}.result.embedded .loading{margin-left:.75rem;padding:1rem;background:#fff}.result.embedded .long-view{margin-left:-0.5rem;padding:.5rem;border:1px solid #ddd;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.result.embedded .long-view .tab-content{padding:0}.result.embedded .list-tabs{margin-bottom:0}.result.embedded .list-tab-toggle{cursor:pointer}.result.embedded .list-tab-content{padding:1rem}.search-grid::after{display:table;clear:both;content:''}.grid-result{display:flex;float:left;width:50%}.grid-result .grid-body{flex:1}.grid-result .grid-body h2{font-size:inherit;line-height:1.42857143;margin:0}.grid-result .grid-body h2 .title{display:inline-block;font-weight:bold}.grid-result .grid-checkbox{flex:0 0 30px;min-width:0}.grid-result .label,.grid-result .format{display:inline-block;white-space:normal}.grid-large-break,.grid-small-break{clear:both}@media (min-width:992px){.grid-result{width:25%}.grid-small-break{display:none}}.searchtools h2{display:inline-block;margin:0;font-size:inherit;font-weight:bold;vertical-align:middle}.searchtools ul{display:inline-block;margin:0;padding-left:0}.searchtools ul li{display:inline}.searchtools ul li:not(:first-child):before{content:'\2013'}.searchtools ul li a{padding:0 .5rem;white-space:nowrap}.template-dir-combined.template-name-results.offcanvas{margin:0;padding:0}.combined-search-container.grid{margin-left:1rem;margin-right:1rem}.combined-search-container.grid .combined-list{overflow-wrap:anywhere}.combined-jump-links{margin-left:1rem;margin-right:1rem;visibility:hidden}.combined-jump-links ul{display:inline;list-style:none;padding-left:0}.combined-jump-links ul li{display:none;white-space:nowrap}.combined-jump-links ul li:not(:first-child):before{content:'\2013'}.combined-column{margin-left:1rem;margin-right:1rem;padding:0}@media (min-width:768px){.combined-search-container{display:flex;padding-left:1rem}.combined-search-container.grid{display:grid;column-gap:1rem;padding-right:1rem;margin-left:0;margin-right:0}.combined-search-container .result{margin-left:0}.combined-search-container .result-body{float:none;width:auto}.combined-search-container .result-links{display:none}.combined-column{flex:0 1 100%;margin-left:0}}.wikipedia img{margin-right:1rem}.geoItem{font-size:.9em;margin:0px 0px 10px}.title-in-heading{font-size:inherit;font-style:italic}.top-title{display:inline-block;padding-top:.5rem;padding-left:.5rem;font-weight:bold;color:#000}.top-title .fa{width:1rem;text-align:center}@media (min-width:768px){.top-title{padding-top:0}.top-title .fa{display:none}.top-facets .collapse{display:block;height:auto !important}}.active-filters{clear:both;display:flex;gap:1rem;align-items:start;margin-block-start:.5rem}.active-filters .retain-filters{float:right}.active-filters .checkbox{flex:1;white-space:nowrap}.active-filters .filters-toggle{flex:1;display:inline-block;margin-top:10px;cursor:pointer}.active-filters .filters-toggle::after{content:'\25B2'}.active-filters .filters-toggle.collapsed::after{content:'\25BC'}@media (min-width:768px){.active-filters .filters-toggle{float:left}}.active-filters .filters{flex:10 1 auto;margin-block-start:.25rem}.active-filters .filters .collapse{display:none}.active-filters .filters .collapse .in{display:inline-block}.active-filters .filters .checkbox label{display:inline-block;padding:10px 0px}@media (max-width:768px){.active-filters .filters .checkbox label{float:right;padding:0px}}.active-filters .filters .filters-term{font-size:.8em}.active-filters .filters .filter-value{display:inline-block;margin-block:5px;padding:2px 8px;font-weight:600;color:#fff;white-space:nowrap;text-decoration:none;background:#265680}.active-filters .filters .filter-value:focus{box-shadow:0 0 0 2px #000}.active-filters .filters .checkbox{display:inline;padding-left:0;padding-right:0}@media (min-width:768px){.active-filters .filters .checkbox{padding-right:20px}}.active-filters .filters .title-value-pair{display:inline-block;margin-inline-end:.5rem}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.clear-selection,.tag-record,.cart-controls .toolbar-btn{border:0;color:#555;text-decoration:none;background-color:rgba(0,0,0,0.05);border-radius:4px}.toolbar-btn:hover,.record-nav .cart-add:hover,.record-nav .cart-remove:hover,.reset-filters-btn:hover,.clear-selection:hover{background-color:rgba(0,0,0,0.1)}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{gap:.25rem;margin-bottom:4px;margin-top:4px;padding:.5rem 1rem}.reset-filters-btn{flex:none}.clear-selection{font-weight:700;padding:.25rem .4rem .15rem .4rem;flex-basis:100%}.active-filters .filters a.filter-value:hover,.active-filters .filters a.filter-value:focus{color:#fff;text-decoration:line-through;background-color:#8a211e}.search-filter-dropdown{display:inline-block}.search-filter-dropdown .btn{color:#fff;background:#265680;font-weight:600;vertical-align:baseline}.search-filter-dropdown .btn::after{content:"\f107";font-family:"FontAwesome"}.search-filter-dropdown .dropdown-menu .filters-term{display:block;text-align:center}.search-filter-dropdown .dropdown-menu .filter-value{display:flex}.search-filter-dropdown .dropdown-menu .filter-value .text{flex-grow:1;margin-right:.5em}.search-filter-dropdown .dropdown-menu .filter-value a{flex-shrink:0;margin:0}.search-schedule-header{text-decoration:underline;text-decoration-style:dotted;cursor:pointer}table.search-history-table{table-layout:auto}@media screen and (min-width:768px){table.search-history-table tbody>tr>td{vertical-align:middle}table.search-history-table .history_time{width:20%}}.searchForm{margin:0;padding:0}.searchForm .searchForm-query{position:relative}@media (min-width:768px){.searchForm .searchForm-query{display:inline-block}}.searchForm .searchForm-query #searchForm_lookfor{padding-right:34px}@media (min-width:401px){.searchForm .searchForm-query #searchForm_lookfor.with-keyboard-selection{padding-right:72px}}.searchForm .searchForm-query #searchForm_controls{position:absolute;right:3px;top:5px;z-index:4;height:2em}.searchForm .searchForm-query #searchForm-reset{bottom:0;width:2em;border:none;border-radius:50%;background-color:#eee;margin:0;padding:2px;font-size:1em;cursor:pointer}@media (max-width:400px){.keyboard-selection{display:none}.show-keyboard,.simple-keyboard{display:none}}@media (max-width:991px){.template-dir-search.template-name-history .mainbody,.template-dir-search.template-name-history .sidebar{float:none;width:auto;padding:0}}.pagination-simple{margin:0;text-align:inherit}.pagination-simple li{display:inline-block}.pagination-simple li.page-prev a{margin-right:.5rem}.pagination-simple li.page-next a{margin-left:.5rem}.pagination-simple .pager-text{margin:0}.pagination-simple .pager-text span{border:0;padding:0;color:#333}.pagination-simple .pager-text span:hover{color:#333;background-color:transparent}.facet-group{display:block;margin-bottom:1rem;padding-left:0}.facet-group [data-toggle="collapse"]{cursor:pointer}.facet-group .collapse,.facet-group .collapsing,.facet-group.full-facet-list .facet{position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd}.facet-group.full-facet-list :first-child .facet{border-top:1px solid #ddd}.facet__list{list-style:none;padding:0;margin:0}.facet,.facet-group .title,.facet-load-indicator,.facet-load-failed{padding:.5rem;line-height:1.5rem;background-color:transparent}.facet,.facet-group .title,.user-list-link{display:flex;align-items:center}.facet .text,.facet-group .title .text,.user-list-link .text{display:flex;gap:.25rem;align-items:center;flex-grow:1}.facet .badge,.facet-group .title .badge,.user-list-link .badge{flex-shrink:0;max-height:19px;line-height:1.2;vertical-align:baseline}.facet .exclude,.facet-group .title .exclude,.user-list-link .exclude{flex-shrink:0;text-align:center;padding-left:.5rem}.facet-group .facet,.facet-load-indicator,.facet-load-failed{border-bottom:1px solid #ddd}.facet-group .title{display:flex;width:100%;padding-right:8px;border:1px solid #ddd;font-weight:bold;text-align:inherit}.facet-group .facet-title{flex:1 1 0%}.facet-group .facet-title-icon{flex:none}.facet-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4)}.facet-loading-overlay-label{padding:1px .5rem;color:#fff;background-color:#000}.facet .text{overflow:hidden}.top-facets-contents{display:block;margin:2px 0;padding:0;list-style:none}.top-facets .facet,.top-facets>strong{display:inline-block;width:auto;padding:2px 0;border:0;white-space:nowrap}.top-facet-inner{display:inline-block;padding:.25rem;border:1px solid #ddd}.checkboxFilter{padding-bottom:.5rem}.checkbox-filter{display:flex;width:100%;font-weight:bold;color:#333}.facet-group>.checkbox,.sidebar .facet.checkbox{margin:0;padding-left:2rem}.active-filters .facet,.facet-group .active{background-color:#265680;color:#fff}.active-filters .facet a,.facet-group .active a{color:#fff}.facet.active .badge{background-color:#fff;color:#265680}.narrow-toggle{text-align:center}.top-row .applied{font-weight:bold}.top-row .applied:hover{color:#8a211e}.top-row .applied:hover .fa.fa-check:before{content:"\f00d"}.full-facet-list{margin-top:1rem}.full-facet-list .active .fa.fa-times{float:right;margin-top:.25rem;margin-left:.5rem}body.rtl .full-facet-list .active .fa.fa-times{float:left}.truncate-done{overflow:clip}.more-less-btn-wrapper .fa{line-height:inherit}.more-less-btn-wrapper .facet{display:block;width:100%}.facet-range-form{width:100%}.date-fields{display:flex}.date-fields .date-from,.date-fields .date-to{flex:0 1 100%}.date-fields .date-from{padding-right:.25rem}.date-fields .date-to{padding-left:.25rem}h3.facet-title{font-size:14px;margin:0}@media (min-width:768px){.author-facets{display:flex}.author-list{flex:0 1 100%}}#similar-items-carousel .carousel-indicators{bottom:0px}#similar-items-carousel .carousel-indicators li{width:8px;height:8px;margin:2px;margin-bottom:4px;background-color:#fff;border:1px solid #222;box-shadow:none;transition-duration:.4s;transition-property:width, height, margin}#similar-items-carousel .carousel-indicators li.active{width:16px;height:16px;margin-bottom:0}#similar-items-carousel .hover-overlay{position:relative;display:block;min-width:150px;min-height:200px;margin:auto;text-align:center}#similar-items-carousel .hover-overlay .recordcover{max-width:100%;margin:10px 0}#similar-items-carousel .hover-overlay .content{position:absolute;top:0;left:0;display:none;width:100%;height:100%;padding:.5em .5em 0;color:#fff;background-color:rgba(0,0,0,0.5)}#similar-items-carousel .hover-overlay:hover .content{display:block}#similar-items-carousel .item{padding:0 2em}#similar-items-carousel .item.prev,#similar-items-carousel .item.active,#similar-items-carousel .item.next{display:flex}#similar-items-carousel .carousel-item{flex-basis:25%}#similar-items-carousel .carousel-control{--gradent-start:rgba(0,0,0,0.25);display:flex;align-items:center;width:auto;min-width:40px;opacity:1;text-decoration:none}#similar-items-carousel .carousel-control:hover{--gradent-start:rgba(0,0,0,0.5)}#similar-items-carousel .carousel-control.left{justify-content:start;background:linear-gradient(to right, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control.right{justify-content:end;background:linear-gradient(to left, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control>img{margin:1rem}.slider-container{padding:4px 10px;text-align:center}.slider-container .slider.slider-horizontal{width:100%}.slider-container .slider-track{background:#777;box-shadow:inset 0 1px 0 rgba(0,0,0,0.4)}.slider-container .slider-handle{background:#265680;background-image:none;border:1px solid #265680;box-shadow:none;opacity:.9}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{opacity:1;background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#265680}.slider-container .slider-selection{background:#CCC;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.3)}.slider-container input{display:none}.facet-tree,.hierarchy-tree{padding-left:0}.facet-tree ul,.hierarchy-tree ul{padding:0;width:100%}.facet-tree li,.hierarchy-tree li{display:flex;flex-wrap:wrap;align-items:baseline;padding-left:.2rem}.facet-tree li .facet-tree__toggle-expanded,.hierarchy-tree li .facet-tree__toggle-expanded,.facet-tree li .hierarchy-tree__toggle-expanded,.hierarchy-tree li .hierarchy-tree__toggle-expanded{flex:1 1;border:0;background:none;max-width:1.5em;padding:0}.facet-tree li .facet-tree__toggle-expanded:hover,.hierarchy-tree li .facet-tree__toggle-expanded:hover,.facet-tree li .hierarchy-tree__toggle-expanded:hover,.hierarchy-tree li .hierarchy-tree__toggle-expanded:hover{background-color:#f5f5f5}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand{display:none}.facet-tree li .facet-tree__item-container,.hierarchy-tree li .facet-tree__item-container,.facet-tree li .hierarchy-tree__item-container,.hierarchy-tree li .hierarchy-tree__item-container{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container .text,.hierarchy-tree li .facet-tree__item-container .text,.facet-tree li .hierarchy-tree__item-container .text,.hierarchy-tree li .hierarchy-tree__item-container .text{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container--exclude .text,.hierarchy-tree li .facet-tree__item-container--exclude .text,.facet-tree li .hierarchy-tree__item-container--exclude .text,.hierarchy-tree li .hierarchy-tree__item-container--exclude .text{width:calc(100% - 3em)}.facet-tree li .facet-tree__item-container .facet-value,.hierarchy-tree li .facet-tree__item-container .facet-value,.facet-tree li .hierarchy-tree__item-container .facet-value,.hierarchy-tree li .hierarchy-tree__item-container .facet-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline}.facet-tree li ul,.hierarchy-tree li ul{padding-left:1rem;flex:1}.facet-tree li ul .facet,.hierarchy-tree li ul .facet{padding-top:.3rem;padding-bottom:.3rem}.facet-tree .facet{border:0;padding-left:.1rem}.facet-tree>li,.facet-tree .more-less-btn-wrapper{border-bottom:1px solid #ddd}.facet-tree>li>ul{margin-top:-0.2rem}.hierarchy-tree .hierarchy-tree__selected:not(.hierarchy-tree__search-match)>.hierarchy-tree__item-container a{color:#fff;background-color:#265680}.hierarchy-tree .hierarchy-tree__search-match>.hierarchy-tree__item-container a{font-style:italic;color:#8b0000;font-weight:bold}@media (min-width:768px){.collection-hierarchytree{display:flex}.collection-hierarchytree .tree-panel,.collection-hierarchytree #tree-preview{flex-basis:50%;padding:1rem}#modal .collection-hierarchytree{display:block}#modal .tree-panel{flex-basis:100%;padding:0}#modal #tree-preview{display:none}}.hierarchy-tree-container .hierarchy-tree{margin-top:.5rem;padding-top:.3rem;max-height:75vh;overflow-x:hidden;overflow-y:auto;border-right:1px solid #eee}.hierarchy-tree-container .hierarchy-tree-selector{margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full{margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full label{font-weight:inherit}.hierarchy-tree-container .hierarchy-tree-search-form{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-search-form .alert{display:inline;padding:.4rem;margin:0}html{font-size:14px}a,label{cursor:pointer}.alert.alert-info a{text-decoration:underline}.alert-default{border-color:#e3e3e3;background-color:#f5f5f5}.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover{color:#000}.list-unstyled{margin:0}.icon-bar{background-color:#888}.btn,.search-filter-toggle{text-decoration:none}.btn-link.pull-left,.btn-link.pull-right{display:flex}.nav>li>a{text-decoration:none}.nav>li>a:hover,.nav>li>a:focus{color:#fff;text-decoration:none;background-color:#333;outline:dotted 1px #000}.nav .dropdown-toggle{padding-right:8px}.nav .dropdown-toggle .icon{margin-left:4px;margin-right:0}body.rtl .nav .dropdown-toggle{padding-left:8px;padding-right:10px}body.rtl .nav .dropdown-toggle .icon{margin-left:0;margin-right:4px}.navbar-nav button.dropdown-toggle{color:#333;background-color:#fff;border-color:#ccc;appearance:none;padding:15px;border:0;color:inherit;background-color:transparent}.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.navbar-nav button.dropdown-toggle:active:hover,.navbar-nav button.dropdown-toggle.active:hover,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:active:focus,.navbar-nav button.dropdown-toggle.active:focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active.focus,.navbar-nav button.dropdown-toggle.active.focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle.disabled:hover,.navbar-nav button.dropdown-toggle[disabled]:hover,fieldset[disabled] .navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle.disabled:focus,.navbar-nav button.dropdown-toggle[disabled]:focus,fieldset[disabled] .navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.disabled.focus,.navbar-nav button.dropdown-toggle[disabled].focus,fieldset[disabled] .navbar-nav button.dropdown-toggle.focus{background-color:#fff;border-color:#ccc}.navbar-nav button.dropdown-toggle .badge{color:#fff;background-color:#333}.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open .navbar-nav button.dropdown-toggle.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.highlight,mark{background:#ff6;padding:.1em .2em}img{max-width:100%}.breadcrumb{margin-top:.5rem;margin-bottom:.5rem}.label,.result .format,.sidebar .format{display:inline-block}.popover{width:250px}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.sub-breadcrumb{padding:5px 10px;white-space:nowrap}.sub-breadcrumb li{display:inline-block}.sub-breadcrumb li+li:before{padding-left:5px;padding-right:5px;color:#535353;content:"/\00a0"}.tab-content{padding:4px}h2{font-size:20px}h3{font-size:16px}@media (min-width:768px){h2{font-size:23px;font-weight:normal}h3{font-size:20px;font-weight:normal}.form-control{max-width:400px}#modal .form-control{max-width:none}}footer{padding:1rem}@media (min-width:768px){.footer-container{display:flex;width:100%}.footer-column{flex:0 1 100%}.mainbody{width:75%}.sidebar{width:25%}.mainbody.left,.sidebar.left{float:left;padding-right:1rem}.mainbody.right,.sidebar.right{float:right;padding-left:1rem}.mainbody.solo{width:auto;padding-left:0;padding-right:0}}.flex{display:flex}.rtl .flex{flex-direction:row-reverse}.flex-col{flex:0 1 100%}.flex-none{flex:none}.has-error,.sms-error{margin-bottom:0}.help-block.with-errors{margin:0;padding-bottom:6px}.help-block.with-errors:first-child{padding-top:6px}.help-block.with-errors:empty{padding:0}.help-block.with-errors ul.list-unstyled{margin:0}.form-admin-maintenance .form-control{display:inline-block;width:100px}.badge a{color:#fff}@media (min-width:768px){.browse-container{display:flex}.browse-list{flex-basis:25%;padding-right:1rem}.browse-list:last-child{padding-right:0}}.browse-item{position:relative;display:block;padding:.5rem 1rem;border:1px solid #ddd;border-bottom:0;word-wrap:break-word}.browse-item.active{background-color:#265680;color:#fff}.browse-item.active .badge{background-color:#fff;color:#222}.browse-item:hover{background-color:#eee}.browse-item:last-child{border-bottom:1px solid #ddd}.browse-item.with-badge{padding-right:3rem}.browse-item.with-badge .badge{position:absolute;top:.5rem;right:.25rem}.browse-item.view-record{padding:2px 4px;font-size:85%;text-align:right;border-top:0}.cart-controls,.cart-control-btns{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.cart-controls>.checkbox{margin-top:.5rem;order:1;flex-basis:100%}.cart-control-btns{list-style:none;margin:0;padding:0}.cart-controls .toolbar-btn{margin:0}@media (min-width:992px){.cart-controls>.checkbox{margin-block:0;padding-inline-end:1rem;padding-bottom:.25rem;order:unset;flex-basis:auto}}.nav .btn-bookbag-toggle{float:left}.nav .btn-bookbag-toggle a{display:block;padding:10px 15px;text-decoration:none}.nav .btn-bookbag-toggle a:hover,.nav .btn-bookbag-toggle a:focus{outline:dotted 1px #000;text-decoration:none;background-color:#eee}.translation-output{width:100%;max-width:none;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;white-space:pre}.form-login .btn-link~.btn-link{padding-left:0}.myresearch-menu ul{list-style:none;margin-bottom:0;padding-left:0}.myresearch-menu a{display:inline-flex;gap:.375rem;width:100%;padding:10px 15px;line-height:1.15;align-items:baseline}.myresearch-menu a:hover{background-color:#eee;outline:dotted 1px #000}.myresearch-menu a:focus{background-color:#eee}.myresearch-menu a.user-list-link i{margin-left:.5rem}.myresearch-menu a.active{background-color:#265680;color:#fff}.myresearch-menu a .icon-link__icon{width:1rem;text-align:center}.myresearch-menu a .icon-link__label{flex:1 1 0%}.myresearch-menu .status{display:flex;gap:2px;flex:none}.myresearch-menu .status .badge{border-radius:2px;border:1px solid;height:20px}.myresearch-menu .status .badge.account-none{color:#333;background-color:#eee}.myresearch-menu .status .badge.account-info{color:#3c763d;background-color:#dff0d8}.myresearch-menu .status .badge.account-warning{color:#8a6d3b;background-color:#fcf8e3}.myresearch-menu .status .badge.account-alert{color:#8a211e;background-color:#f2dede}.myresearch-menu .active .status .badge{color:#fff;background-color:transparent;border:1px solid #fff}ul.list-group{list-style:none}.dropdown-menu>li>.prompt-text{white-space:inherit;min-width:200px}.logoutOptions.with-dropdown a{padding-right:.5rem}#login-dropdown a{margin-right:.5rem}#login-dropdown .dropdown-menu{width:250px;padding:0 .5rem .5rem .5rem}#login-dropdown .dropdown-menu .account-menu{display:block}#login-dropdown .dropdown-menu h3{margin-left:.5rem}#login-dropdown #login-dropdown .dropdown-menu .account-menu{display:block}.login-tokens-table{margin-bottom:.5rem}.login-tokens-table tbody>tr>td{vertical-align:middle}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}#dateVisColorSettings{background-color:#fff;fill:#eee;outline-color:#c38835;stroke:#265680}.table,.search-history-table{table-layout:fixed;word-wrap:break-word}@media (min-width:992px){.table.fines-table,.search-history-table.fines-table{table-layout:auto;word-wrap:normal}}@media screen and (max-width:768px){.table-responsive,.search-history-table{border:none}.table-responsive thead,.table-responsive tfoot>tr>th,.search-history-table thead,.search-history-table tfoot>tr>th{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.table-responsive tbody>tr,.search-history-table tbody>tr{display:block;margin-bottom:20px;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:4px solid #ddd}.table-responsive td,.table-responsive tbody>tr>th,.search-history-table td,.search-history-table tbody>tr>th{display:flex;align-items:first baseline;background:#fff}.table-responsive td:before,.table-responsive tbody>tr>th:before,.search-history-table td:before,.search-history-table tbody>tr>th:before{display:flex;flex-basis:40%;flex-shrink:0;font-weight:bold;content:attr(data-label)}.table-responsive tbody>tr>td:nth-child(even),.search-history-table tbody>tr>td:nth-child(even){background-color:#f9f9f9}.table-responsive tfoot>tr>td,.search-history-table tfoot>tr>td{border-top:none}}.node{position:absolute;box-sizing:content-box;margin:-1px;overflow:hidden;font:10px sans-serif;line-height:12px;border:1px solid #fff}.node div{margin-top:0px}.toplevel{border:2px solid #000}.node .label{position:absolute;bottom:0;left:0;min-height:1px;padding:2px 4px;font-size:85%;background-color:rgba(0,0,0,0.5);border-radius:0;text-shadow:none}.notalabel{color:#000}#viz-instructions{padding-top:600px}span[class^="services-"],span[class*=" services-"] span::before{content:", "}span[class^="services-"],span[class*=" services-"] span:first-of-type::before{content:""}div.holding-details{display:flex}div.holding-details .holding-field{flex:1 1 0;padding-left:.5rem;padding-right:.5rem}div.holding-details .holding-field.barcode,div.holding-details .holding-field.place-hold,div.holding-details .holding-field.storage-retrieval,div.holding-details .holding-field.ill-request,div.holding-details .holding-field.recall{flex:1 1 0}div.holding-details .holding-field.availability{flex:2 1 0}div.holding-details .due-date:before{content:"\2013";padding-right:.3em}div.holding-details .due-date{white-space:nowrap}div.holding-notes{padding-left:.5rem;padding-right:.5rem}.odbrand{padding:7px}.oauth2-prompt ul{margin-top:1rem}.oauth2-prompt .oauth2-ils-selection{margin-top:1rem;margin-bottom:1rem}.oauth2-prompt .oauth2-ils-selection form{margin-top:1rem}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:.5}#cc-main a:hover{color:#092b47;text-decoration:underline;background-size:0%}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn,#cc-main .pm__btn{transition:none}#cc-main .cm--bar .cm__btn,#cc-main .pm__btn{font-size:14px}#cc-main .cm--bar .cm__btn{flex:none}#cc-main .pm__section--expandable .pm__section-arrow{background:none}#cc-main .pm__section--toggle{background:transparent}.HelpMenu{list-style-type:none;margin-bottom:1rem;padding:0}.pagination{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:center} \ No newline at end of file + */@font-face{font-family:'FontAwesome';src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../../bootstrap3/css/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../../bootstrap3/css/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../../bootstrap3/css/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../../bootstrap3/css/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0);clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.btn:focus{outline:dotted 2px #000}div.active:focus{outline:dotted 1px #000}a:focus{outline:dotted 1px #000}.close:hover,.close:focus{outline:dotted 1px #000}.nav>li>a:hover,.nav>li>a:focus{outline:dotted 1px #000}.carousel-indicators li,.carousel-indicators li.active{height:18px;width:18px;border-width:2px;position:relative;box-shadow:0 0 0 1px #808080}.carousel-indicators.active li{background-color:rgba(100,149,253,0.6)}.carousel-indicators.active li.active{background-color:white}.carousel-tablist-highlight{display:block;position:absolute;outline:2px solid transparent;background-color:transparent;box-shadow:0px 0px 0px 1px transparent}.carousel-tablist-highlight.focus{outline:2px solid #6495ED;background-color:rgba(0,0,0,0.4)}a.carousel-control:focus{outline:2px solid #6495ED;background-image:linear-gradient(to right, transparent 0, rgba(0,0,0,0.5) 100%);box-shadow:0 0 0 1px #000000}.carousel-pause-button{position:absolute;top:-30em;left:-300em;display:block}.carousel-pause-button.focus{top:.5em;left:.5em}.carousel:hover .carousel-caption,.carousel.contrast .carousel-caption{background-color:rgba(0,0,0,0.5);z-index:10}.alert-success{color:#2d4821}.alert-info,.savedLists{color:#214c62}.alert-warning{color:#6c4a00;background-color:#f9f1c6}.alert-danger{color:#d2322d}.alert-danger:hover{color:#a82824}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder,input:-ms-input-placeholder,textarea:-ms-input-placeholder,input::-ms-input-placeholder,textarea::-ms-input-placeholder,input::placeholder,textarea::placeholder{color:#888}.sr-only{clip:rect(1px, 1px, 1px, 1px);position:absolute;width:auto;height:auto;margin:0;padding:0;overflow:hidden;border:0}.sr-only:focus{background-color:#fff;border-radius:4px;clip:auto;color:#132531;display:block;font-size:14px;height:50px;line-height:20px;padding:15px 15px;position:absolute;left:5px;top:5px;text-decoration:none;text-transform:none;width:auto;z-index:100000}.navbar-brand{font-size:20px}a{text-decoration:underline}a:hover{color:black}.alert-danger,.alert-danger a{color:#8a211e}.alert-danger .btn-danger,.alert-danger a .btn-danger{color:white}.alert-danger .btn-danger:hover,.alert-danger a .btn-danger:hover{color:#8a211e}.searchForm .advanced-search-link{text-decoration:underline}.adv-group{position:relative;margin-bottom:.5rem;padding:1rem;border:1px solid #ddd;border-radius:4px}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group:before,.adv-group:after{display:table;content:" "}.adv-group:after{clear:both}.adv-group~.adv-group{margin-top:1rem}.adv-group .add_search_link{display:inline-block;margin-top:4px}.add_search_link,.adv-group-close{display:inline-block;padding-top:.25rem;padding-bottom:.25rem}.adv-group-close{color:#8a211e}.adv-search,.adv-search .input-group{width:100%}.adv-search{margin-bottom:1.5rem}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-search:before,.adv-search:after{display:table;content:" "}.adv-search:after{clear:both}.adv-term-input{margin-bottom:.5rem}.adv-term-type{float:left;max-width:80%}.adv-term-remove{color:#000;font-size:1.2rem;float:left;width:20%;height:30px;line-height:1.7;text-align:center;opacity:.4}.adv-term-remove .icon--image{vertical-align:middle}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit:before,.adv-submit:after{display:table;content:" "}.adv-submit:after{clear:both}.adv-submit .clear-btn{float:right}@media (min-width:768px){.adv-group-terms{float:left;width:75%;padding-right:1rem}.adv-group-match{float:right;width:25%}.adv-group-close{position:absolute;right:1rem;bottom:1rem;min-width:calc(25% - 1rem)}.adv-search{margin-bottom:0}.adv-search .adv-term-input,.adv-search .adv-term-type{float:left}.adv-search .adv-term-input{width:60%;margin-right:2%}.adv-search .adv-term-type{max-width:30%}.adv-search .adv-term-remove{width:8%}}#groupPlaceHolder{display:block;padding:1rem}@media (min-width:768px){fieldset,.fieldset{float:left;width:33%;padding-right:1rem;padding-bottom:1rem}.solr-facets,.summon-facets{float:none;width:auto;margin-top:1rem}.summon-facets .facet-fieldset{float:left;width:50%;padding-right:1rem}}.adv-term-input,.adv-term-op{margin-bottom:.25rem}.adv-search:first-of-type .adv-term-op{display:none}@media (min-width:768px){.eds-adv .adv-term-op{float:left;width:16%;margin-right:1%}body.rtl .eds-adv .adv-term-op{float:right;margin-left:0;margin-right:1%}.eds-adv .adv-search:first-of-type .adv-term-input{margin-left:17%}.eds-adv .adv-term-input{width:39%;margin-right:0}.eds-adv .help-block{float:left;width:6%;text-align:center}}.primo-adv-search .search{margin-bottom:.5rem}.primo-adv-search .search .adv-term-type{margin-bottom:.25rem}.primo-adv-search .search-container{width:100%}.primo-adv-label{line-height:34px;padding-right:1rem}@media (min-width:640px){.primo.adv-group,.primo-adv-search .search{display:flex}.primo.adv-group select,.primo-adv-search .search select{flex-shrink:1.5;margin-right:.5rem}.primo.adv-group .primo-adv-input,.primo-adv-search .search .primo-adv-input{flex-grow:1}.primo-adv-label{flex-shrink:0}}@media (min-width:768px){.solr-facet-container{display:flex;flex-wrap:wrap}.solr-adv-facet{flex:1 25%}}body.rtl fieldset,body.rtl .fieldset,body.rtl .adv-search .adv-term-input,body.rtl .adv-search .adv-term-type,body.rtl .eds-adv .help-block,body.rtl .summon-facets .facet-fieldset{float:right}body.rtl .adv-submit .clear-btn,body.rtl .adv-group-match{float:left}body.rtl .adv-search .adv-term-input{margin-left:2%;margin-right:0}body.rtl .date-from{padding-left:.25rem;padding-right:0}body.rtl .date-to{padding-left:0;padding-right:.25rem}.alphabrowse{border-collapse:separate}.alphabrowse .lcc{width:20%}.alphabrowse .titles{width:10%;text-align:center}.alphabrowse tr.browse-match td{border-top:.2rem solid #265680;border-bottom:.2rem solid #265680}.alphabrowse tr.browse-match td:first-child{border-left:.2em solid #265680}.alphabrowse tr.browse-match td:last-child{border-right:.2em solid #265680}.autocomplete-results{position:absolute;display:none;max-width:500px;margin:0;margin-top:2px;padding:0;border:1px solid lightgray;background-color:#fff;overflow:hidden;z-index:50}.autocomplete-results.open{display:table}.autocomplete-results .ac-item{display:block;margin:0;padding:.5rem;border-bottom:1px solid lightgray;cursor:pointer}.autocomplete-results .ac-item:last-child{border:0}.autocomplete-results .ac-item:hover{background-color:#93bcdf}.autocomplete-results .ac-item.is-selected{background-color:#265680;color:#fff}.autocomplete-results .ac-disabled,.autocomplete-results [disabled]{color:darkgray}.autocomplete-results .ac-header{white-space:nowrap;color:#000;background-color:lightgray;cursor:default}.channel-wrapper{margin-top:1rem;margin-bottom:2rem}@media (max-width:767px){.channel-wrapper{margin-left:1rem}}.channel{position:relative;width:100%;max-height:300px;padding:1rem;background-color:#eee;border-radius:4px}.channel-add-menu{position:relative;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #555;text-align:center}@media (min-width:768px){.channel-add-menu{float:right;margin:0;padding:0;border:0}body.rtl .channel-add-menu{float:left}}.channel-add-menu .dropdown-menu{left:auto;right:0;max-width:90vw;overflow:hidden}.channel .channel-record.slide{display:inline-block;min-width:100px;max-height:16em;padding:0 .5rem;text-align:center}.channel-record-title{display:block;height:3em;margin:0;line-height:1.5;overflow:hidden}.channel .channel-record .thumb{display:flex;height:200px;align-items:center;justify-content:center}.channel .channel-record .thumb img{max-width:100%;max-height:100%}.channel .popover{width:500px;max-width:none}.channel .popover-title{font-size:1.4rem;font-weight:bold}.channel-title h2{display:inline-block;margin:0}.channel-title .dropdown{display:inline-block}.channel-title a:hover{text-decoration:none}.channel-title i.fa-fw{width:1.4em;padding-top:.5em;font-size:.6em;text-align:center;vertical-align:top}.channel-title .placeholder{width:25px}.channel-title .dropdown button{font-size:18px;color:#777;vertical-align:baseline}.channel .slick-prev::before,.channel .slick-next::before{color:#555}.channel-search{margin-top:1rem}:root{--cc-font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--cc-modal-border-radius:4px;--cc-btn-border-radius:4px;--cc-modal-transition-duration:.25s;--cc-link-color:#12538B;--cc-modal-margin:1rem;--cc-z-index:990}#cc-main{color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;position:relative;line-height:1.15;-webkit-text-size-adjust:100%;z-index:var(--cc-z-index);position:fixed}#cc-main.cc--rtl{direction:rtl}#cc-main b,#cc-main em,#cc-main strong,#cc-main a,#cc-main .cm__title{font-weight:500}#cc-main button>span{pointer-events:none}#cc-main a,#cc-main .cc__link{font-weight:600;position:relative;background-image:linear-gradient(currentColor, currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .25s,color .25s ease}#cc-main a:hover,#cc-main .cc__link:hover{color:var(--cc-primary-color);background-size:100% 1px}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{scrollbar-width:thin;overscroll-behavior:auto contain}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-track,#cc-main ::-webkit-scrollbar-thumb{all:revert}#cc-main ::-webkit-scrollbar-thumb{border:.25rem solid var(--cc-bg);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:1rem;background:var(--cc-toggle-readonly-bg)}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}:root{--cc-bg:#fff;--cc-primary-color:#333;--cc-secondary-color:#4d4d4d;--cc-btn-primary-bg:#265680;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:#265680;--cc-btn-primary-hover-bg:#fff;--cc-btn-primary-hover-color:#265680;--cc-btn-primary-hover-border-color:#e0e0e0;--cc-btn-secondary-bg:#fff;--cc-btn-secondary-color:#333;--cc-btn-secondary-border-color:#ccc;--cc-btn-secondary-hover-bg:#333;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:#adadad;--cc-separator-border-color:#e3e3e3;--cc-toggle-on-bg:#777;--cc-toggle-off-bg:#919191;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:#fff;--cc-toggle-enabled-icon-color:#fff;--cc-toggle-disabled-icon-color:#fff;--cc-toggle-readonly-bg:#aaa;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:#aaa;--cc-section-category-border:#eee;--cc-cookie-category-block-bg:#eee;--cc-cookie-category-block-border:#ddd;--cc-cookie-category-block-hover-bg:#d5d5d5;--cc-cookie-category-block-hover-border:#ddd;--cc-cookie-category-expanded-block-bg:#eee;--cc-cookie-category-expanded-block-hover-bg:#d5d5d5;--cc-overlay-bg:#000;--cc-webkit-scrollbar-bg:#eee;--cc-webkit-scrollbar-hover-bg:#fff;--cc-footer-bg:#f5f5f5;--cc-footer-color:#333;--cc-footer-border-color:#ddd}#cc-main .cm{position:fixed;max-width:24rem;display:flex;flex-direction:column;background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);z-index:1;overflow:hidden;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3);visibility:hidden;opacity:0}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{right:var(--cc-modal-margin);margin-left:var(--cc-modal-margin)}#cc-main .cm__body{position:relative;display:flex;flex-direction:column;justify-content:space-between}#cc-main .cm__texts,#cc-main .cm__btns,#cc-main .cm__links{width:unset;padding:1rem 1.3rem}#cc-main .cm__texts{display:flex;flex-direction:column;justify-content:center;flex:1;padding-bottom:1rem 0 0}#cc-main .cm__title,#cc-main .cm__desc{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);line-height:1.5;font-size:.9em;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--cc-separator-border-color)}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0, 1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0;margin-bottom:.375rem}#cc-main .cm--inline .cm__btn+.cm__btn{margin-top:0;margin-left:.375rem}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-right:0;margin-bottom:.375rem}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--wide .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--wide.cm--flip .cm__btn-group--uneven,#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;font-weight:500;font-size:.82em;min-height:42px;padding:.5em 1em;border-radius:var(--cc-btn-border-radius)}#cc-main .cm__btn:hover{color:var(--cc-btn-primary-hover-color);background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color)}#cc-main .cm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .cm__btn--secondary:hover{color:var(--cc-btn-secondary-hover-color);background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .cm__btn--close{display:none;position:absolute;right:0;top:0;width:42px;height:42px;border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-top:none;border-right:none;padding:0!important;min-width:auto!important;font-size:1em;overflow:hidden}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{color:var(--cc-footer-color);background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);padding:.4em 0 .5em 0}#cc-main .cm__links{padding-top:0;padding-bottom:0;display:flex;flex-direction:row}#cc-main .cm__link-group{font-size:.8em;display:flex;flex-direction:row;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-right:1.8em;padding-left:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{width:unset;max-width:54em}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-top:none;border-left:1px solid var(--cc-separator-border-color)}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btns{max-width:23em}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btns,#cc-main .cm--cloud.cm--flip .cm__btn-group{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{max-width:unset;width:100vw;left:0;right:0;margin:0;transform:translateY(0);border-radius:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0}#cc-main .cm--bar.cm--bottom{bottom:0}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{max-width:55em;margin:0 auto;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em 0}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-top:0;margin-left:.375rem}#cc-main .cm--bar .cm__btn{min-width:120px;padding-right:2em;padding-left:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{padding:0;flex-direction:row}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper::before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper::before{content:'';opacity:0;visibility:hidden;position:fixed;left:0;right:0;top:0;bottom:0;z-index:0;background:var(--cc-overlay-bg)}#cc-main .cm{transform:translateY(1.6em)}#cc-main .cm--middle{transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bar.cm--bottom{transform:translateY(100%)}#cc-main .cm--bar.cm--top{transform:translateY(-100%)}.show--consent #cc-main .cc--anim .cm{opacity:1;visibility:visible!important;transform:translateY(0)}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper::before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{right:unset;left:0;border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius)}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-right:1.3rem;padding-left:3rem!important}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__title,#cc-main .cm__desc,#cc-main .cm__btns,#cc-main .cm__links{padding-left:1.1rem !important;padding-right:1.1rem !important}#cc-main .cm__btns{flex-direction:column!important;max-width:none!important;min-width:auto!important;border-left:none!important;border-top:1px solid var(--cc-separator-border-color) !important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btns,#cc-main .cm--flip .cm__btn-group{flex-direction:column-reverse !important}}:root{--cc-pm-toggle-border-radius:4em}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{position:fixed;display:flex;width:100%;width:unset;background:var(--cc-bg);flex-direction:column;border-radius:var(--cc-modal-border-radius);opacity:0;visibility:hidden;overflow:hidden;z-index:1;box-shadow:0 .625em 1.875em rgba(0,0,2,0.3)}#cc-main svg{fill:none;width:100%}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:1em 1.4em}#cc-main .pm__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__title{display:flex;align-items:center;flex:1;font-weight:500;margin-right:2em}#cc-main .pm__close-btn{width:calc(42px - 2px);height:calc(42px - 2px);position:relative;background:var(--cc-btn-secondary-bg);border-radius:var(--cc-btn-border-radius);border:1px solid var(--cc-btn-secondary-border-color);transition:all .15s ease}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{border-color:var(--cc-btn-secondary-hover-border-color);background:var(--cc-btn-secondary-hover-bg)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{display:flex;flex-direction:column;margin-bottom:.5em;border-radius:var(--cc-btn-border-radius)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{overflow:hidden;margin-top:0!important}#cc-main .pm__section{padding:1em;border:1px solid var(--cc-separator-border-color);transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{transition:none;padding:0;margin-top:0;border:none;margin-bottom:2em}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--cc-cookie-category-block-bg);position:relative;padding:1.1em 5.4em 1.1em 1.2em;border:1px solid var(--cc-cookie-category-block-border);transition:background-color .25s ease,border-color .25s ease;min-height:58px}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc-wrapper{display:none;border:1px solid var(--cc-cookie-category-block-border);border-top:none;border-radius:var(--cc-btn-border-radius);border-top-left-radius:0;border-top-right-radius:0}#cc-main .pm__section--toggle .pm__section-desc{padding:1em;margin-top:0}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{padding-left:3.4em;cursor:pointer}#cc-main .pm__section--expandable .pm__section-arrow{width:20px;height:20px;position:absolute;left:18px;background:var(--cc-toggle-readonly-bg);display:flex;justify-content:center;border-radius:100%;pointer-events:none}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{position:relative;display:flex;align-items:center}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{font-weight:500;border-radius:var(--cc-btn-border-radius);font-size:.95em}#cc-main .pm__badge{display:flex;flex:none;margin-left:1em;border-radius:5em;font-weight:500;font-size:.8em;background:var(--cc-btn-secondary-bg);color:var(--cc-secondary-color);position:relative;height:23px;width:auto;min-width:23px;align-items:center;text-align:center;justify-content:center;padding:0 .6em 1px .6em;white-space:nowrap;overflow:hidden}#cc-main .pm__service-counter{padding:0;width:23px;background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color)}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px .6em;width:auto}#cc-main .section__toggle-wrapper,#cc-main .section__toggle,#cc-main .toggle__label,#cc-main .toggle__icon{width:50px;height:23px;border-radius:var(--cc-pm-toggle-border-radius);transform:translateZ(0)}#cc-main .section__toggle-wrapper{position:absolute;right:18px;cursor:pointer;z-index:1}#cc-main .toggle-service{position:relative;right:0;width:42px;height:19px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{width:42px;height:19px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper::after{display:none!important}#cc-main .section__toggle{position:absolute;cursor:pointer;display:block;top:0;left:0;margin:0;border:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{position:absolute;background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);transition:all .25s ease;pointer-events:none;display:flex;flex-direction:row}#cc-main .toggle__icon-circle{position:absolute;display:block;left:0;top:0;width:23px;height:23px;border:none;background:var(--cc-toggle-off-knob-bg);box-shadow:0 1px 2px rgba(24,32,3,0.36);transition:transform .25s ease,background-color .25s ease;border-radius:var(--cc-pm-toggle-border-radius)}#cc-main .toggle__icon-on,#cc-main .toggle__icon-off{height:100%;position:absolute;width:100%;transition:opacity .15s ease}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(calc(50px - 23px));background-color:var(--cc-toggle-on-knob-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{position:absolute;top:0;z-index:-1;opacity:0;pointer-events:none;overflow:hidden}#cc-main .pm__section-desc-wrapper{display:flex;flex-direction:column;font-size:.9em;color:var(--cc-secondary-color)}#cc-main .pm__section-desc-wrapper>*:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{padding:.4em 1.2em;position:relative;display:flex;justify-content:space-between;transition:background-color .15s ease;align-items:center}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{display:flex;align-items:center;width:100%;margin-right:1em}#cc-main .pm__service-icon{min-width:8px;height:8px;border:2px solid currentColor;border-radius:100%;margin-left:6px;margin-right:20px;margin-top:1px}#cc-main .pm__service-title{font-size:.95em;word-break:break-word;width:100%}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{text-align:left;border-collapse:collapse;width:100%;padding:0;margin:0;overflow:hidden;font-size:.9em}#cc-main .pm__table-caption{border-top:1px solid var(--cc-cookie-category-block-border);text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{font-weight:600;color:var(--cc-primary-color);border-bottom:1px dashed var(--cc-separator-border-color)}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-th,#cc-main .pm__table-td{padding:.625em;vertical-align:top;padding-left:1.2em}#cc-main .pm__footer{display:flex;justify-content:space-between;border-top:1px solid var(--cc-separator-border-color)}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{color:var(--cc-btn-primary-color);background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);text-align:center;flex:auto;min-width:110px;font-weight:500;font-size:.82em;padding:.5em 1.5em;min-height:42px;border-radius:var(--cc-btn-border-radius);transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{color:var(--cc-btn-secondary-color);background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{left:var(--cc-modal-margin);right:var(--cc-modal-margin);margin:0 auto;top:50%;max-width:43em;max-height:37.5em;height:calc(100% - 2em)}#cc-main .pm--box.pm--flip .pm__footer,#cc-main .pm--box.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm--bar{top:0;bottom:0;border-radius:0;height:100%;max-height:none;max-width:29em;width:100%;margin:0;opacity:1;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-tr,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-td{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__header,#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-top:.375rem;margin-left:0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0}#cc-main .pm--bar.pm--right{right:0}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__header,#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__footer,#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group{flex-direction:row-reverse}#cc-main .pm-overlay{content:'';position:fixed;left:0;right:0;top:0;bottom:0;z-index:1;background:var(--cc-overlay-bg);opacity:0;visibility:hidden}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .pm--box{transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--bar.pm--left{transform:translateX(-100%)}#cc-main .pm--bar.pm--right{transform:translateX(100%)}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-right:0;margin-left:1em}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{right:unset;left:18px;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-right:5px;margin-left:20px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-th,#cc-main.cc--rtl .pm__table-td{text-align:right;padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td::before{padding-right:unset;padding-left:2em}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}@media screen and (max-width:640px){#cc-main .pm{left:0;right:0;top:0;bottom:0;max-height:100%;height:auto;transform:translateY(1.6em);border-radius:0;max-width:none!important}#cc-main .pm__header,#cc-main .pm__body,#cc-main .pm__footer{padding:.9em !important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-tr,#cc-main .pm__table-th,#cc-main .pm__table-td{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td::before{content:attr(data-column);padding-right:2em;font-weight:500;color:var(--cc-primary-color);overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important;flex-direction:column!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:0!important;margin-top:.375rem !important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-top:0!important;margin-bottom:.375rem !important}#cc-main .pm--flip .pm__footer,#cc-main .pm--flip .pm__btn-group{flex-direction:column-reverse !important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0) !important}}.btn.missing_count,.btn.extra_count{padding:0;height:auto}#lang-summary .progress{margin-bottom:0;border:1px solid #555;background-color:#fff}#lang-summary .progress-border-info{border-color:#1C5F74}#lang-summary .progress-border-warning{border-color:#A56100}#lang-summary .progress-border-danger{border-color:#A41915}#lang-summary .progress-bar{min-width:2rem}#lang-summary th,#lang-summary td{text-align:left;vertical-align:middle}.result-list-explain .js-result-list-explain{max-width:100px}.result-list-explain .js-result-list-explain .bar-chart{display:inline-block !important}.result-list-explain,.result-list-explain:hover{text-decoration:none}.explain{word-wrap:break-word}.explain .charts{max-width:800px}.explain .explain-column-container{height:160px}.explain table,.explain th,.explain td{padding-top:9px}.explain .percentage{text-align:right;padding-right:9px}.explain .sum-rest{border-top-width:2px;border-top-style:solid}.explain .explain-rest .percentage{padding-left:10px}.explain .field-name{font-weight:bold}.explain .field-name .icon{padding-left:1px;color:darkblue;vertical-align:unset}.explain .exact-match{color:black}.explain .inexact-match{color:#436c71}.explain .unknown-match{color:red}form .form-control{border-color:#888}form .form-control:focus{border-color:#3F9AE4}form textarea:invalid,form input:invalid{box-shadow:0 0 2px 1px rgba(255,0,0,0.9)}form .form-info{font-weight:bold;margin:20px 0}form .info{margin:10px 0}form .form-group ul{padding:0;margin-left:15px;margin-top:5px}form .form-group label.required::before,form .form-group .radio-label.required::before,form .form-group .radio-label.require-one::before{content:'* '}form input[type=checkbox],form input[type=radio]{height:1em}form .form-group.checkbox,form .form-group.radio{margin-bottom:15px}form .form-group.checkbox label.control-label,form .form-group.radio label.control-label{padding-left:0;font-weight:700;margin-bottom:5px}form .form-group.checkbox label,form .form-group.radio label{display:table;margin:7px 0}form .form-group.checkbox label input,form .form-group.radio label input{width:auto;margin-right:10px;margin-top:3px}form .form-group.checkbox .radio-label,form .form-group.radio .radio-label{font-weight:700}form.dynamic-form input[type=date]{padding-top:0}.icon-link,.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.cart-controls .toolbar-btn{display:inline-flex;gap:.25rem;vertical-align:middle}.icon-link,.icon-link:active,.icon-link:focus,.icon-link:hover,.toolbar-btn,.toolbar-btn:active,.toolbar-btn:focus,.toolbar-btn:hover,.record-nav .cart-add,.record-nav .cart-add:active,.record-nav .cart-add:focus,.record-nav .cart-add:hover,.record-nav .cart-remove,.record-nav .cart-remove:active,.record-nav .cart-remove:focus,.record-nav .cart-remove:hover,.reset-filters-btn,.reset-filters-btn:active,.reset-filters-btn:focus,.reset-filters-btn:hover,.btn-link,.nav>li>a,.cart-controls .toolbar-btn,.tag-record,.tag-record:active,.tag-record:focus,.tag-record:hover,.cart-controls .toolbar-btn,.cart-controls .toolbar-btn:active,.cart-controls .toolbar-btn:focus,.cart-controls .toolbar-btn:hover{text-decoration:none}.icon-link__icon{flex:none;padding:0;line-height:inherit;color:inherit}.icon-link__label{text-decoration:underline}span.icon-link .icon-link__label,.disabled .icon-link__label,[disabled] .icon-link__label,span.toolbar-btn .icon-link__label,span.record-nav .cart-add .icon-link__label,span.record-nav .cart-remove .icon-link__label,span.reset-filters-btn .icon-link__label,span.tag-record .icon-link__label,span.cart-controls .toolbar-btn .icon-link__label{text-decoration:none}.icon-link.active .icon-link__icon,.icon-link.active .icon-link__label,.toolbar-btn.active .icon-link__icon,.toolbar-btn.active .icon-link__label,.record-nav .cart-add.active .icon-link__icon,.record-nav .cart-add.active .icon-link__label,.record-nav .cart-remove.active .icon-link__icon,.record-nav .cart-remove.active .icon-link__label,.reset-filters-btn.active .icon-link__icon,.reset-filters-btn.active .icon-link__label,.tag-record.active .icon-link__icon,.tag-record.active .icon-link__label,.cart-controls .toolbar-btn.active .icon-link__icon,.cart-controls .toolbar-btn.active .icon-link__label{color:#fff}.banner .icon-link__label,.pager .icon-link__label,.action-toolbar .icon-link__label{text-decoration:none}.icon--font{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;line-height:inherit;text-align:center;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon--img{display:inline-block;max-width:1.25em;height:min-content;height:fit-content;text-align:center;vertical-align:top}.icon--svg{display:inline-block;max-width:1.25em;max-height:1.25em;fill:currentColor;vertical-align:text-bottom}.icon--unicode:before{content:attr(data-icon)}.show--closed,.collapsed .show--open{display:none}.collapsed .show--closed{display:inline}.doi-icon{height:1em;width:14px;filter:brightness(50%)}.icon--spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon--pulse{animation:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.icon--bounce{animation:bounce 1s infinite}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8, 0, 1, 1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0, 0, .2, 1)}}.keyboard-selection{display:inline-block;margin-top:2px}.keyboard-selection button.dropdown-toggle{color:#555;background-color:white}.keyboard-selection button.dropdown-toggle:hover,.keyboard-selection button.dropdown-toggle:focus,.keyboard-selection.open>button.dropdown-toggle{color:white;background-color:#265680;border-color:#265680;outline:none}.keyboard-selection:not(.open) .activated:not(:hover){background:#cee0f0}.keyboard-selection>.dropdown-menu{min-width:20px}.keyboard-selection>.dropdown-menu>li>a{padding:3px 10px}.keyboard-selection #keyboard-selection-button{padding:0 2px 0 4px}.keyboard-selection #keyboard-selection-button .icon{margin:0}.keyboard-box{position:fixed;bottom:250px;height:0;z-index:60;width:95%}@media (min-width:768px){.keyboard-box{width:720px}}@media (min-width:992px){.keyboard-box{width:940px}}@media (min-width:1200px){.keyboard-box{width:1040px}}.simple-keyboard{display:none;position:absolute;z-index:1}.simple-keyboard.hg-theme-default{background-color:#dddddd}.simple-keyboard .hg-button.hg-functionBtn{font-weight:bold;font-size:30px;background-color:#f4f4f4}.simple-keyboard .hg-button.hg-functionBtn span{padding-top:5px}.simple-keyboard .hg-button.hg-functionBtn.hg-button-space{background-color:white}.simple-keyboard .hg-standardBtn{font-size:18px}.show-keyboard{display:block}#modal{background-color:rgba(0,0,0,0.2)}#modal .modal-dialog{width:100%;margin-inline:auto;margin-block:1rem;padding-inline:1rem}@media (min-width:768px){#modal .modal-dialog{width:fit-content;max-width:min(1200px, calc(100vw - 200px));min-width:600px;padding:0}}#modal .modal-content>.close{position:absolute;top:0;right:0;z-index:2;padding:.5rem;opacity:1}body.rtl #modal .modal-content>.close{left:0;right:auto}#modal .close svg{width:1em;vertical-align:bottom;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}@media (min-width:768px){#modal .modal-content>.close{right:-1.75em;font-size:32pt;color:#fff;background-color:rgba(0,0,0,0);border-radius:6px}body.rtl #modal .modal-content>.close{left:-1.75em;right:auto}}#modal .modal-content>.close:hover{background-color:#000}#modal .modal-body h1,#modal .modal-body h2{margin-top:.3rem;margin-bottom:1.3rem}#modal .cart-controls .btn{margin-bottom:4px}#modal .cart-controls~hr{margin-top:0}.lightbox-scroll{overflow-y:auto}.modal-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;font-size:150%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.2)}.modal-loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:6px;color:#eee}.lightbox-only{display:none}#modal .lightbox-only{display:initial}.lightbox-image{text-align:center}.vufind-offcanvas-overlay{display:none}.search-filter-toggle{margin-top:1rem;margin-bottom:1rem}.close-offcanvas,.search-filter-toggle{display:none}@media screen and (max-width:767px){.close-offcanvas::before,.close-offcanvas::after,.search-filter-toggle::before,.search-filter-toggle::after{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.vufind-offcanvas .close-offcanvas{display:block}body.vufind-offcanvas{overflow-x:hidden;transition:margin .5s}.vufind-offcanvas-overlay{display:none;position:fixed;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:3;opacity:0;transition:opacity .5s;cursor:pointer}.vufind-offcanvas .vufind-offcanvas-overlay{display:block}.vufind-offcanvas-left .sidebar{left:-80vw}.vufind-offcanvas-left .vufind-offcanvas-overlay{right:-100%}.vufind-offcanvas-left .vufind-offcanvas-toggle{left:0}.vufind-offcanvas-right .sidebar{right:-80vw}.vufind-offcanvas-right .vufind-offcanvas-overlay{left:-100%}.vufind-offcanvas-right .vufind-offcanvas-toggle{right:0}.vufind-offcanvas .sidebar{position:fixed;height:100%;top:0;width:80vw;padding:1rem;overflow-y:auto;background-color:#fff;transition:left .5s,right .5s}.vufind-offcanvas .sidebar .search-sort{padding-bottom:1rem}.vufind-offcanvas.active{overflow-y:hidden}.vufind-offcanvas.active.vufind-offcanvas-left{margin-left:80vw;margin-right:-80vw}.vufind-offcanvas.active.vufind-offcanvas-left .sidebar{left:0}.vufind-offcanvas.active.vufind-offcanvas-left .vufind-offcanvas-overlay{right:-80vw}.vufind-offcanvas.active.vufind-offcanvas-left .vufind-offcanvas-toggle{left:80vw}.vufind-offcanvas.active.vufind-offcanvas-right{margin-left:-80vw;margin-right:80vw}.vufind-offcanvas.active.vufind-offcanvas-right .sidebar{right:0}.vufind-offcanvas.active.vufind-offcanvas-right .vufind-offcanvas-overlay{left:-80vw}.vufind-offcanvas.active.vufind-offcanvas-right .vufind-offcanvas-toggle{right:80vw}.vufind-offcanvas.active .vufind-offcanvas-overlay{opacity:1;transition:opacity .5s}.vufind-offcanvas-left .close-offcanvas::after{content:"\f105"}.vufind-offcanvas-left .search-filter-toggle::before{content:"\f100"}.vufind-offcanvas-right .close-offcanvas::before{content:"\f104"}.vufind-offcanvas-right .search-filter-toggle::after{content:"\f101"}.rtl.vufind-offcanvas-left .close-offcanvas::after{content:none}.rtl.vufind-offcanvas-left .close-offcanvas::before{content:"\f105"}.rtl.vufind-offcanvas-left .search-filter-toggle::before{content:none}.rtl.vufind-offcanvas-left .search-filter-toggle::after{content:"\f100"}.rtl.vufind-offcanvas-right .close-offcanvas::before{content:none}.rtl.vufind-offcanvas-right .close-offcanvas::after{content:"\f104"}.rtl.vufind-offcanvas-right .search-filter-toggle::after{content:none}.rtl.vufind-offcanvas-right .search-filter-toggle::before{content:"\f101"}}.record h1{font-size:24px;line-height:1.15}.record .media-body h3{margin-top:0}.recordcover{max-height:300px}.browzine .recordcover{margin-top:2px;margin-bottom:4px;box-shadow:1px 1px 3px rgba(47,52,64,0.72);max-height:130px;width:105px;height:auto}.cover-source{font-size:14px}.record__biblio-value a:not(.icon-link),.related__title{display:inline-block}.related__title .related__icon{float:left;margin-right:.25rem;text-align:left;line-height:1.4;background-position-x:left}.rtl .related__title .related__icon{margin-left:0;margin-right:.25rem}.media-body h1{margin-top:0}@media (max-width:767px){.record .media-left,.record .media-right{display:block}.record .media-body{display:block;width:auto;margin-top:1rem}}.record .format::after{content:", "}.record .format.badge::after,.record .result-formats .format::after,.record .format:last-child::after{content:""}.record-previews{margin-top:.5rem}.record-nav.nav{margin-bottom:1rem}.record-nav>li,.btn-bookbag-toggle{width:100%}.record-nav>li>a{padding:.5rem}.record-nav>li>a,.btn-bookbag-toggle{text-align:center}@media (min-width:768px){.record-nav>li,.btn-bookbag-toggle{width:auto}.record-nav>li>a{padding:10px 15px}.record-nav>li>a,.btn-bookbag-toggle{text-align:left}}.comment-label,.comment-name{font-style:italic}.comment{margin-bottom:1rem}.comment-name .delete{color:#8a211e}@media (min-width:768px){.comment-form,.comment{display:flex;margin-bottom:0}.comment-label,.comment-name{min-width:25%;font-style:unset}.comment-form .text-form{width:100%}.comment-form>label{flex:0 0 auto}.comment-form textarea{display:block;width:100%;float:left}.comment-form .comment-rating{float:left;margin:.5rem}.comment-form .btn{margin-top:.5rem}}.tag-record:hover{text-decoration:none}.tagList button{margin-top:0;padding-top:0;padding-bottom:4px;font-size:95%;vertical-align:initial}.tagList .tag .badge{margin:0;padding:3px 7px;font-weight:normal}.tagList button .fa-close{margin-top:3px}.tagList .tag{display:inline-block;margin:0 1px 1px;padding:6px 6px;font-size:14px;line-height:1.42857143;border-radius:4px}.tagList .tag.selected{background-color:#265680}.tagList .tag.selected a{color:#fff}.tagList .tag.selected .badge{color:#222;background-color:#fff}.tagList .tag.selected .badge:hover{color:#a94442}.tagList .tag .badge .fa{width:12px}.tagList .tag .icon--img{font-size:.625rem}.tagList button{border:0}.tagList .tag-form{display:inline}.tagList.loggedin .tag:not(.selected) .badge:hover{background-color:#028302}.staff-view .pace-car th,.staff-view .pace-car td{border:0;padding:0}.staff-view th{text-align:right}.staff-view td span.term{font-weight:bold}.staff-view--marc .marc__tag{width:15%}.staff-view--marc .marc__ind{width:5%}.item-notes ul{padding-left:2rem}.subject-line:hover{color:#999}.subject-line:hover a{color:#092b47}.subject-line a:hover~a{color:#999;text-decoration:none}.marc-row-LEADER,.marc-row-006,.marc-row-007,.marc-row-008{white-space:pre-wrap}.relaisLink{display:inline-block}.collection-list-controls{display:flex;flex-flow:row wrap}.collection-list-controls .collection-control{white-space:nowrap;margin:0 .5rem 0 0}.collectionDetails .active-filters .filters{padding:0 0 5px 0}.collection-list-results{margin-top:.5rem}.tab-pane::after{display:table;clear:both;content:""}.tab-pane .result{margin-left:0}.holdings-tab .holdings-table{table-layout:auto}.holdings-tab .holdings-table th,.holdings-tab .holdings-table td{min-width:10vw}.holdings-tab .holdings-table .bound-with-records .direct-item{font-weight:bold}.openurls .openurl-notes{display:block;font-style:italic}.openurls .openurl-authentication{display:block}.record .media-left .rating{margin-top:.5rem;margin-bottom:1rem}.rating-breakdown{margin-bottom:1rem}.rating-breakdown .rating-breakdown-stars{display:inline-block}.rating-breakdown .rating-breakdown-percentage{display:inline-block;width:3rem;text-align:right}.star-rating{display:inline-flex}.star-rating .rating__icon{pointer-events:none;width:initial}.star-rating .rating__input{position:absolute !important;left:-9999px !important}.star-rating .rating__label{cursor:pointer;padding:0 .1em;font-size:1rem}.star-rating .rating__label--half{padding-right:0;margin-right:-0.6em;z-index:2}.star-rating .rating__icon--star{color:#A56100}.star-rating .rating__input:checked~.rating__label .rating__icon--star{color:#ddd}.star-rating:not(.readonly):hover .rating__label .rating__icon--star,.star-rating:not(.readonly):hover .rating__label--half .rating__icon--star{color:#A56100}.star-rating:not(.readonly) .rating__input:hover~.rating__label .rating__icon--star,.star-rating:not(.readonly) .rating__input:hover~.rating__label--half .rating__icon--star{color:#ddd}.record-list{list-style:none;padding:0;margin:0}.record-list.search-results-solr-auth .media-left,.record-list.search-results-solr-auth .media-right{display:none}.js-result-list{position:relative}.js-result-list .loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;padding:2rem;display:flex;font-size:150%;align-items:flex-start;justify-content:center;background-color:rgba(0,0,0,0.2)}.js-result-list .loading-overlay .loading-spinner{padding:2rem;background-color:rgba(0,0,0,0.6);border-radius:6px;color:#eee}@media (max-width:767px){#datevispublishDatexWrapper,.result .checkbox{display:none}}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.searchHomeContent:before,.searchHomeContent:after{display:table;content:" "}.searchHomeContent:after{clear:both}.home-facet-list{padding-left:0;padding-right:1rem;list-style:none}.home-facet.facet-tree li{line-height:inherit;padding-top:0;padding-bottom:0;border:0}.home-facet.facet-tree li .facet-tree__toggle-expanded{line-height:inherit;padding:0}.home-facet.facet-tree li .facet{padding:0;line-height:inherit}.home-facet.facet-tree li .facet .badge{display:none}@media (min-width:768px){.search-home-facets,.home-facet-container{display:flex}.home-facet{flex:1 1 100%}.home-facet-list{flex:0 1 100%}}header .container.navbar{margin-bottom:0}.search-sort,.search-result-limit{display:flex}.search-sort label,.search-result-limit label{line-height:34px;padding-right:.5rem}.search-stats{display:block;padding-top:.5rem;padding-bottom:.5rem}@media (min-width:768px){.search-header{display:flex}.search-stats{flex-grow:1}.search-controls{text-align:right}}.versions-tab .search-controls{padding-top:.5rem;padding-left:1rem;text-align:left}.versions-tab .search-header .search-stats{flex-grow:0}.record-nav{margin:1rem 0;padding:0}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.record-nav:before,.record-nav:after{display:table;content:" "}.record-nav:after{clear:both}.bulkActionButtons,.action-toolbar,.selection-controls-bar{gap:.25rem;align-items:center}.bulkActionButtons{margin-block:1rem}.bulk-checkbox{padding-inline-end:1rem;margin-top:.25rem}.bulkActionButtons label{display:inline-block}.bulkActionButtons label input{margin-top:2px}.action-toolbar,.selection-controls-bar{margin:0;padding:0;list-style:none}.action-toolbar .popover ul,.selection-controls-bar .popover ul{list-style:disc;padding-left:1em}.action-toolbar li,.selection-controls-bar li{display:inline-block}.action-toolbar li .popover li,.selection-controls-bar li .popover li{display:list-item;padding-left:.5em}@media (max-width:767px){.grid{min-height:250px}}.result{display:flex;padding-top:1rem}.result .record-checkbox,.result .record-number{display:none}.result .title,.result .result-author,.result .fulltext{display:inline-block}.result .title{font-weight:bold}.result .list-tab-content.record .img-col{display:none}.result .list-tab-content.record .info-col{width:100%}.result .checkbox-select-item{float:left}.result .dropdown-menu.qrcode{min-width:inherit}@media (max-width:767px){.result a{max-width:100%;text-decoration:underline}}@media (min-width:768px){.result .record-checkbox{display:block;flex:0;cursor:pointer}.result .record-number{display:block;flex:0 2rem;text-align:center}}.record .media,.result .media{display:flex;flex:1;margin:0;padding-right:10px;padding-left:10px;overflow:visible}.record .media-left,.result .media-left,.record .media-right,.result .media-right{flex:none;max-width:25%;text-align:center}.record .media-left a,.result .media-left a,.record .media-right a,.result .media-right a{display:inline-block;max-width:100%;text-align:center;white-space:nowrap;text-decoration:underline}.record .media-left .rating-summary a,.result .media-left .rating-summary a,.record .media-right .rating-summary a,.result .media-right .rating-summary a{white-space:normal}.record .media-left img,.result .media-left img,.record .media-right img,.result .media-right img{display:inline-block;width:auto;max-width:100%;max-height:300px;object-fit:contain}@media (min-width:768px){.record .media-left.small,.result .media-left.small,.record .media-right.small,.result .media-right.small{width:60px}.record .media-left.medium,.result .media-left.medium,.record .media-right.medium,.result .media-right.medium{width:100px}.record .media-left.large,.result .media-left.large,.record .media-right.large,.result .media-right.large{width:160px}.record .media-left>a,.result .media-left>a,.record .media-right>a,.result .media-right>a{width:100%}}.record .media-left,.result .media-left{margin-right:10px}.record .media-right,.result .media-right{margin-left:10px}.record .media-body,.result .media-body{flex:1;width:unset;overflow:visible}.ajaxcover .cover-container{display:none}.recordcover{white-space:normal;line-height:1.15}.result-body{padding:0;padding-bottom:.25rem}.result-body h2,.media-body h2{font-size:unset;line-height:1.42857143;margin:0}.result-body h2 .authors,.media-body h2 .authors{display:block}.btn-bookbag-toggle,.result-links a{line-height:1.5}.result-links .alert{margin:0}.result-formats{margin-bottom:.5rem}.btn-bookbag-toggle form{display:inline}.savedLists{display:none}.result-citation-links{margin:.5rem 0}@media (min-width:768px){.result-body{float:left;width:75%}.result-links{float:left;width:25%;padding:0}.savedLists.loaded{display:block}}@media (min-width:768px){body.rtl .result-body,body.rtl .result-links{float:right}}.result.embedded .getFull{display:block;margin-left:-0.5rem;padding-left:.5rem;border-left:1px solid transparent}.result.embedded .getFull.expanded{margin-top:-11px;padding-left:.5rem;border-top-left-radius:4px;border-top-right-radius:4px}.result.embedded .getFull.expanded::before{content:'\25BC';position:absolute;right:1rem;color:#555}.result.embedded .loading{margin-left:.75rem;padding:1rem;background:#fff}.result.embedded .long-view{margin-left:-0.5rem;padding:.5rem;border:1px solid #ddd;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.result.embedded .long-view .tab-content{padding:0}.result.embedded .list-tabs{margin-bottom:0}.result.embedded .list-tab-toggle{cursor:pointer}.result.embedded .list-tab-content{padding:1rem}.search-grid::after{display:table;clear:both;content:''}.grid-result{display:flex;float:left;width:50%}.grid-result .grid-body{flex:1}.grid-result .grid-body h2{font-size:inherit;line-height:1.42857143;margin:0}.grid-result .grid-body h2 .title{display:inline-block;font-weight:bold}.grid-result .grid-checkbox{flex:0 0 30px;min-width:0}.grid-result .label,.grid-result .format{display:inline-block;white-space:normal}.grid-large-break,.grid-small-break{clear:both}@media (min-width:992px){.grid-result{width:25%}.grid-small-break{display:none}}.searchtools h2{display:inline-block;margin:0;font-size:inherit;font-weight:bold;vertical-align:middle}.searchtools ul{display:inline-block;margin:0;padding-left:0}.searchtools ul li{display:inline}.searchtools ul li:not(:first-child):before{content:'\2013'}.searchtools ul li a{padding:0 .5rem;white-space:nowrap}.template-dir-combined.template-name-results.vufind-offcanvas{margin:0;padding:0}.combined-search-container.grid{margin-left:1rem;margin-right:1rem}.combined-search-container.grid .combined-list{overflow-wrap:anywhere}.combined-jump-links{margin-left:1rem;margin-right:1rem;visibility:hidden}.combined-jump-links ul{display:inline;list-style:none;padding-left:0}.combined-jump-links ul li{display:none;white-space:nowrap}.combined-jump-links ul li:not(:first-child):before{content:'\2013'}.combined-column{margin-left:1rem;margin-right:1rem;padding:0}@media (min-width:768px){.combined-search-container{display:flex;padding-left:1rem}.combined-search-container.grid{display:grid;column-gap:1rem;padding-right:1rem;margin-left:0;margin-right:0}.combined-search-container .result{margin-left:0}.combined-search-container .result-body{float:none;width:auto}.combined-search-container .result-links{display:none}.combined-column{flex:0 1 100%;margin-left:0}}.wikipedia img{margin-right:1rem}.geoItem{font-size:.9em;margin:0px 0px 10px}.title-in-heading{font-size:inherit;font-style:italic}.top-title{display:inline-block;padding-top:.5rem;padding-left:.5rem;font-weight:bold;color:#000}.top-title .fa{width:1rem;text-align:center}@media (min-width:768px){.top-title{padding-top:0}.top-title .fa{display:none}.top-facets .collapse{display:block;height:auto !important}}.active-filters{clear:both;display:flex;gap:1rem;align-items:start;margin-block-start:.5rem}.active-filters .retain-filters{float:right}.active-filters .checkbox{flex:1;white-space:nowrap}.active-filters .filters-toggle{flex:1;display:inline-block;margin-top:10px;cursor:pointer}.active-filters .filters-toggle::after{content:'\25B2'}.active-filters .filters-toggle.collapsed::after{content:'\25BC'}@media (min-width:768px){.active-filters .filters-toggle{float:left}}.active-filters .filters{flex:10 1 auto;margin-block-start:.25rem}.active-filters .filters .collapse{display:none}.active-filters .filters .collapse .in{display:inline-block}.active-filters .filters .checkbox label{display:inline-block;padding:10px 0px}@media (max-width:768px){.active-filters .filters .checkbox label{float:right;padding:0px}}.active-filters .filters .filters-term{font-size:.8em}.active-filters .filters .filter-value{display:inline-block;margin-block:5px;padding:2px 8px;font-weight:600;color:#fff;white-space:nowrap;text-decoration:none;background:#265680}.active-filters .filters .filter-value:focus{box-shadow:0 0 0 2px #000}.active-filters .filters .checkbox{display:inline;padding-left:0;padding-right:0}@media (min-width:768px){.active-filters .filters .checkbox{padding-right:20px}}.active-filters .filters .title-value-pair{display:inline-block;margin-inline-end:.5rem}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.clear-selection,.tag-record,.cart-controls .toolbar-btn{border:0;color:#555;text-decoration:none;background-color:rgba(0,0,0,0.05);border-radius:4px}.toolbar-btn:hover,.record-nav .cart-add:hover,.record-nav .cart-remove:hover,.reset-filters-btn:hover,.clear-selection:hover{background-color:rgba(0,0,0,0.1)}.toolbar-btn,.record-nav .cart-add,.record-nav .cart-remove,.reset-filters-btn,.tag-record,.cart-controls .toolbar-btn{gap:.25rem;margin-bottom:4px;margin-top:4px;padding:.5rem 1rem}.reset-filters-btn{flex:none}.clear-selection{font-weight:700;padding:.25rem .4rem .15rem .4rem;flex-basis:100%}.active-filters .filters a.filter-value:hover,.active-filters .filters a.filter-value:focus{color:#fff;text-decoration:line-through;background-color:#8a211e}.search-filter-dropdown{display:inline-block}.search-filter-dropdown .btn{color:#fff;background:#265680;font-weight:600;vertical-align:baseline}.search-filter-dropdown .btn::after{content:"\f107";font-family:"FontAwesome"}.search-filter-dropdown .dropdown-menu .filters-term{display:block;text-align:center}.search-filter-dropdown .dropdown-menu .filter-value{display:flex}.search-filter-dropdown .dropdown-menu .filter-value .text{flex-grow:1;margin-right:.5em}.search-filter-dropdown .dropdown-menu .filter-value a{flex-shrink:0;margin:0}.search-schedule-header{text-decoration:underline;text-decoration-style:dotted;cursor:pointer}table.search-history-table{table-layout:auto}@media screen and (min-width:768px){table.search-history-table tbody>tr>td{vertical-align:middle}table.search-history-table .history_time{width:20%}}.searchForm{margin:0;padding:0}.searchForm .searchForm-query{position:relative}@media (min-width:768px){.searchForm .searchForm-query{display:inline-block}}.searchForm .searchForm-query #searchForm_lookfor{padding-right:34px}@media (min-width:401px){.searchForm .searchForm-query #searchForm_lookfor.with-keyboard-selection{padding-right:72px}}.searchForm .searchForm-query #searchForm_controls{position:absolute;right:3px;top:5px;z-index:4;height:2em}.searchForm .searchForm-query #searchForm-reset{bottom:0;width:2em;border:none;border-radius:50%;background-color:#eee;margin:0;padding:2px;font-size:1em;cursor:pointer}@media (max-width:400px){.keyboard-selection{display:none}.show-keyboard,.simple-keyboard{display:none}}@media (max-width:991px){.template-dir-search.template-name-history .mainbody,.template-dir-search.template-name-history .sidebar{float:none;width:auto;padding:0}}.pagination-simple{margin:0;text-align:inherit}.pagination-simple li{display:inline-block}.pagination-simple li.page-prev a{margin-right:.5rem}.pagination-simple li.page-next a{margin-left:.5rem}.pagination-simple .pager-text{margin:0}.pagination-simple .pager-text span{border:0;padding:0;color:#333}.pagination-simple .pager-text span:hover{color:#333;background-color:transparent}.facet-group{display:block;margin-bottom:1rem;padding-left:0}.facet-group [data-toggle="collapse"]{cursor:pointer}.facet-group .collapse,.facet-group .collapsing,.facet-group.full-facet-list .facet{position:relative;border-left:1px solid #ddd;border-right:1px solid #ddd}.facet-group.full-facet-list :first-child .facet{border-top:1px solid #ddd}.facet__list{list-style:none;padding:0;margin:0}.facet,.facet-group .title,.facet-load-indicator,.facet-load-failed{padding:.5rem;line-height:1.5rem;background-color:transparent}.facet,.facet-group .title,.user-list-link{display:flex;align-items:center}.facet .text,.facet-group .title .text,.user-list-link .text{display:flex;gap:.25rem;align-items:center;flex-grow:1}.facet .badge,.facet-group .title .badge,.user-list-link .badge{flex-shrink:0;max-height:19px;line-height:1.2;vertical-align:baseline}.facet .exclude,.facet-group .title .exclude,.user-list-link .exclude{flex-shrink:0;text-align:center;padding-left:.5rem}body.rtl .facet .exclude,body.rtl .facet-group .title .exclude,body.rtl .user-list-link .exclude{padding-left:0;padding-right:.5rem}.facet-group .facet,.facet-load-indicator,.facet-load-failed{border-bottom:1px solid #ddd}.facet-group .title{display:flex;width:100%;padding-right:8px;border:1px solid #ddd;font-weight:bold;text-align:inherit}.facet-group .facet-title{flex:1 1 0%}.facet-group .facet-title-icon{flex:none}.facet-loading-overlay{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.4)}.facet-loading-overlay-label{padding:1px .5rem;color:#fff;background-color:#000}.facet .text{overflow:hidden}.top-facets-contents{display:block;margin:2px 0;padding:0;list-style:none}.top-facets .facet,.top-facets>strong{display:inline-block;width:auto;padding:2px 0;border:0;white-space:nowrap}.top-facet-inner{display:inline-block;padding:.25rem;border:1px solid #ddd}.checkboxFilter{padding-bottom:.5rem}.checkbox-filter{display:flex;width:100%;font-weight:bold;color:#333}.facet-group>.checkbox,.sidebar .facet.checkbox{margin:0;padding-left:2rem}.active-filters .facet,.facet-group .active{background-color:#265680;color:#fff}.active-filters .facet a,.facet-group .active a{color:#fff}.facet.active .badge{background-color:#fff;color:#265680}.narrow-toggle{text-align:center}.top-row .applied{font-weight:bold}.top-row .applied:hover{color:#8a211e}.top-row .applied:hover .fa.fa-check:before{content:"\f00d"}.full-facet-list{margin-top:1rem}.full-facet-list .active .fa.fa-times{float:right;margin-top:.25rem;margin-left:.5rem}body.rtl .full-facet-list .active .fa.fa-times{float:left}.truncate-done{overflow:clip}.more-less-btn-wrapper .fa{line-height:inherit}.more-less-btn-wrapper .facet{display:block;width:100%}.facet-range-form{width:100%}.date-fields{display:flex}.date-fields .date-from,.date-fields .date-to{flex:0 1 100%}.date-fields .date-from{padding-right:.25rem}.date-fields .date-to{padding-left:.25rem}h3.facet-title{font-size:14px;margin:0}@media (min-width:768px){.author-facets{display:flex}.author-list{flex:0 1 100%}}#similar-items-carousel .carousel-indicators{bottom:0px}#similar-items-carousel .carousel-indicators li{width:8px;height:8px;margin:2px;margin-bottom:4px;background-color:#fff;border:1px solid #222;box-shadow:none;transition-duration:.4s;transition-property:width, height, margin}#similar-items-carousel .carousel-indicators li.active{width:16px;height:16px;margin-bottom:0}#similar-items-carousel .hover-overlay{position:relative;display:block;min-width:150px;min-height:200px;margin:auto;text-align:center}#similar-items-carousel .hover-overlay .recordcover{max-width:100%;margin:10px 0}#similar-items-carousel .hover-overlay .content{position:absolute;top:0;left:0;display:none;width:100%;height:100%;padding:.5em .5em 0;color:#fff;background-color:rgba(0,0,0,0.5)}#similar-items-carousel .hover-overlay:hover .content{display:block}#similar-items-carousel .item{padding:0 2em}#similar-items-carousel .item.prev,#similar-items-carousel .item.active,#similar-items-carousel .item.next{display:flex}#similar-items-carousel .carousel-item{flex-basis:25%}#similar-items-carousel .carousel-control{--gradent-start:rgba(0,0,0,0.25);display:flex;align-items:center;width:auto;min-width:40px;opacity:1;text-decoration:none}#similar-items-carousel .carousel-control:hover{--gradent-start:rgba(0,0,0,0.5)}#similar-items-carousel .carousel-control.left{justify-content:start;background:linear-gradient(to right, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control.right{justify-content:end;background:linear-gradient(to left, var(--gradent-start), rgba(0,0,0,0.0001))}#similar-items-carousel .carousel-control>img{margin:1rem}.slider-container{padding:4px 10px;text-align:center}.slider-container .slider.slider-horizontal{width:100%}.slider-container .slider-track{background:#777;box-shadow:inset 0 1px 0 rgba(0,0,0,0.4)}.slider-container .slider-handle{background:#265680;background-image:none;border:1px solid #265680;box-shadow:none;opacity:.9}.slider-container .slider-handle:hover,.slider-container .slider-handle:active,.slider-container .slider-handle:focus{opacity:1;background:#FFF;border-color:#777}.slider-container .slider-handle:active,.slider-container .slider-handle:focus{border-color:#265680}.slider-container .slider-selection{background:#CCC;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.3)}.slider-container input{display:none}.facet-tree,.hierarchy-tree{padding-left:0}.facet-tree ul,.hierarchy-tree ul{padding:0;width:100%}.facet-tree li,.hierarchy-tree li{display:flex;flex-wrap:wrap;align-items:baseline;padding-left:.2rem}.facet-tree li .facet-tree__toggle-expanded,.hierarchy-tree li .facet-tree__toggle-expanded,.facet-tree li .hierarchy-tree__toggle-expanded,.hierarchy-tree li .hierarchy-tree__toggle-expanded{flex:1 1;border:0;background:none;max-width:1.5em;padding:0}.facet-tree li .facet-tree__toggle-expanded:hover,.hierarchy-tree li .facet-tree__toggle-expanded:hover,.facet-tree li .hierarchy-tree__toggle-expanded:hover,.hierarchy-tree li .hierarchy-tree__toggle-expanded:hover{background-color:#f5f5f5}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .facet-tree__collapse,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false] .hierarchy-tree__collapse{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=false]~ul,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=false]~ul{display:none}.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .facet-tree__expand,.facet-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .facet-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.facet-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand,.hierarchy-tree li .hierarchy-tree__toggle-expanded[aria-expanded=true] .hierarchy-tree__expand{display:none}.facet-tree li .facet-tree__item-container,.hierarchy-tree li .facet-tree__item-container,.facet-tree li .hierarchy-tree__item-container,.hierarchy-tree li .hierarchy-tree__item-container{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container .text,.hierarchy-tree li .facet-tree__item-container .text,.facet-tree li .hierarchy-tree__item-container .text,.hierarchy-tree li .hierarchy-tree__item-container .text{width:calc(100% - 1.5em)}.facet-tree li .facet-tree__item-container--exclude .text,.hierarchy-tree li .facet-tree__item-container--exclude .text,.facet-tree li .hierarchy-tree__item-container--exclude .text,.hierarchy-tree li .hierarchy-tree__item-container--exclude .text{width:calc(100% - 3em)}.facet-tree li .facet-tree__item-container .facet-value,.hierarchy-tree li .facet-tree__item-container .facet-value,.facet-tree li .hierarchy-tree__item-container .facet-value,.hierarchy-tree li .hierarchy-tree__item-container .facet-value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline}.facet-tree li ul,.hierarchy-tree li ul{padding-left:1rem;flex:1}.facet-tree li ul .facet,.hierarchy-tree li ul .facet{padding-top:.3rem;padding-bottom:.3rem}.facet-tree .facet{border:0;padding-left:.1rem}.facet-tree>li,.facet-tree .more-less-btn-wrapper{border-bottom:1px solid #ddd}.facet-tree>li>ul{margin-top:-0.2rem}.hierarchy-tree .hierarchy-tree__selected:not(.hierarchy-tree__search-match)>.hierarchy-tree__item-container a{color:#fff;background-color:#265680}.hierarchy-tree .hierarchy-tree__search-match>.hierarchy-tree__item-container a{font-style:italic;color:#8b0000;font-weight:bold}@media (min-width:768px){.collection-hierarchytree{display:flex}.collection-hierarchytree .tree-panel,.collection-hierarchytree #tree-preview{flex-basis:50%;padding:1rem}#modal .collection-hierarchytree{display:block}#modal .tree-panel{flex-basis:100%;padding:0}#modal #tree-preview{display:none}}.hierarchy-tree-container .hierarchy-tree{margin-top:.5rem;padding-top:.3rem;max-height:75vh;overflow-x:hidden;overflow-y:auto;border-right:1px solid #eee}.hierarchy-tree-container .hierarchy-tree-selector{margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full{margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-toggle-full label{font-weight:inherit}.hierarchy-tree-container .hierarchy-tree-search-form{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem;margin-left:.3rem}.hierarchy-tree-container .hierarchy-tree-search-form .alert{display:inline;padding:.4rem;margin:0}html{font-size:14px}a,label{cursor:pointer}.alert.alert-info a{text-decoration:underline}.alert-default{border-color:#e3e3e3;background-color:#f5f5f5}.btn.disabled:active,.btn.disabled:focus,.btn.disabled:hover{color:#000}.list-unstyled{margin:0}.icon-bar{background-color:#888}.btn,.search-filter-toggle{text-decoration:none}.btn-link.pull-left,.btn-link.pull-right{display:flex}.nav>li>a{text-decoration:none}.nav>li>a:hover,.nav>li>a:focus{color:#fff;text-decoration:none;background-color:#333;outline:dotted 1px #000}.nav .dropdown-toggle{padding-right:8px}.nav .dropdown-toggle .icon{margin-left:4px;margin-right:0}body.rtl .nav .dropdown-toggle{padding-left:8px;padding-right:10px}body.rtl .nav .dropdown-toggle .icon{margin-left:0;margin-right:4px}.navbar-nav button.dropdown-toggle{color:#333;background-color:#fff;border-color:#ccc;appearance:none;padding:15px;border:0;color:inherit;background-color:transparent}.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.navbar-nav button.dropdown-toggle:active:hover,.navbar-nav button.dropdown-toggle.active:hover,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:active:focus,.navbar-nav button.dropdown-toggle.active:focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active.focus,.navbar-nav button.dropdown-toggle.active.focus,.open>.dropdown-toggle.navbar-nav button.dropdown-toggle.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.navbar-nav button.dropdown-toggle.disabled:hover,.navbar-nav button.dropdown-toggle[disabled]:hover,fieldset[disabled] .navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle.disabled:focus,.navbar-nav button.dropdown-toggle[disabled]:focus,fieldset[disabled] .navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle.disabled.focus,.navbar-nav button.dropdown-toggle[disabled].focus,fieldset[disabled] .navbar-nav button.dropdown-toggle.focus{background-color:#fff;border-color:#ccc}.navbar-nav button.dropdown-toggle .badge{color:#fff;background-color:#333}.navbar-nav button.dropdown-toggle:hover,.navbar-nav button.dropdown-toggle:focus,.navbar-nav button.dropdown-toggle:active,.navbar-nav button.dropdown-toggle.active,.open .navbar-nav button.dropdown-toggle.dropdown-toggle{color:#fff;background-color:#333;border-color:#adadad}.highlight,mark{background:#ff6;padding:.1em .2em}img{max-width:100%}.breadcrumb{margin-top:.5rem;margin-bottom:.5rem}.label,.result .format,.sidebar .format{display:inline-block}.popover{width:250px}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.resulthead:before,.resulthead:after{display:table;content:" "}.resulthead:after{clear:both}.sub-breadcrumb{padding:5px 10px;white-space:nowrap}.sub-breadcrumb li{display:inline-block}.sub-breadcrumb li+li:before{padding-left:5px;padding-right:5px;color:#535353;content:"/\00a0"}.tab-content{padding:4px}h2{font-size:20px}h3{font-size:16px}@media (min-width:768px){h2{font-size:23px;font-weight:normal}h3{font-size:20px;font-weight:normal}.form-control{max-width:400px}#modal .form-control{max-width:none}}footer{padding:1rem}@media (min-width:768px){.footer-container{display:flex;width:100%}.footer-column{flex:0 1 100%}.mainbody{width:75%}.sidebar{width:25%}.mainbody.left,.sidebar.left{float:left;padding-right:1rem}.mainbody.right,.sidebar.right{float:right;padding-left:1rem}.mainbody.solo{width:auto;padding-left:0;padding-right:0}}.flex{display:flex}.rtl .flex{flex-direction:row-reverse}.flex-col{flex:0 1 100%}.flex-none{flex:none}.has-error,.sms-error{margin-bottom:0}.help-block.with-errors{margin:0;padding-bottom:6px}.help-block.with-errors:first-child{padding-top:6px}.help-block.with-errors:empty{padding:0}.help-block.with-errors ul.list-unstyled{margin:0}.form-admin-maintenance .form-control{display:inline-block;width:100px}.badge a{color:#fff}@media (min-width:768px){.browse-container{display:flex}.browse-list{flex-basis:25%;padding-right:1rem}.browse-list:last-child{padding-right:0}}.browse-item{position:relative;display:block;padding:.5rem 1rem;border:1px solid #ddd;border-bottom:0;word-wrap:break-word}.browse-item.active{background-color:#265680;color:#fff}.browse-item.active .badge{background-color:#fff;color:#222}.browse-item:hover{background-color:#eee}.browse-item:last-child{border-bottom:1px solid #ddd}.browse-item.with-badge{padding-right:3rem}.browse-item.with-badge .badge{position:absolute;top:.5rem;right:.25rem}body.rtl .browse-item.with-badge{padding-left:3rem;padding-right:1rem}body.rtl .browse-item.with-badge .badge{left:.25rem;right:auto}.browse-item.view-record{padding:2px 4px;font-size:85%;text-align:right;border-top:0}.cart-controls,.cart-control-btns{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.cart-controls>.checkbox{margin-top:.5rem;order:1;flex-basis:100%}.cart-control-btns{list-style:none;margin:0;padding:0}.cart-controls .toolbar-btn{margin:0}@media (min-width:992px){.cart-controls>.checkbox{margin-block:0;padding-inline-end:1rem;padding-bottom:.25rem;order:unset;flex-basis:auto}}.nav .btn-bookbag-toggle{float:left}.nav .btn-bookbag-toggle a{display:block;padding:10px 15px;text-decoration:none}.nav .btn-bookbag-toggle a:hover,.nav .btn-bookbag-toggle a:focus{outline:dotted 1px #000;text-decoration:none;background-color:#eee}.translation-output{width:100%;max-width:none;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;white-space:pre}.form-login .btn-link~.btn-link{padding-left:0}.myresearch-menu ul{list-style:none;margin-bottom:0;padding-left:0}.myresearch-menu a{display:inline-flex;gap:.375rem;width:100%;padding:10px 15px;line-height:1.15;align-items:baseline}.myresearch-menu a:hover{background-color:#eee;outline:dotted 1px #000}.myresearch-menu a:focus{background-color:#eee}.myresearch-menu a.user-list-link i{margin-left:.5rem}.myresearch-menu a.active{background-color:#265680;color:#fff}.myresearch-menu a .icon-link__icon{width:1rem;text-align:center}.myresearch-menu a .icon-link__label{flex:1 1 0%}.myresearch-menu .status{display:flex;gap:2px;flex:none}.myresearch-menu .status .badge{border-radius:2px;border:1px solid;height:20px}.myresearch-menu .status .badge.account-none{color:#333;background-color:#eee}.myresearch-menu .status .badge.account-info{color:#3c763d;background-color:#dff0d8}.myresearch-menu .status .badge.account-warning{color:#8a6d3b;background-color:#fcf8e3}.myresearch-menu .status .badge.account-alert{color:#8a211e;background-color:#f2dede}.myresearch-menu .active .status .badge{color:#fff;background-color:transparent;border:1px solid #fff}ul.list-group{list-style:none}.dropdown-menu>li>.prompt-text{white-space:inherit;min-width:200px}.logoutOptions.with-dropdown a{padding-right:.5rem}#login-dropdown a{margin-right:.5rem}#login-dropdown .dropdown-menu{width:250px;padding:0 .5rem .5rem .5rem}#login-dropdown .dropdown-menu .account-menu{display:block}#login-dropdown .dropdown-menu h3{margin-left:.5rem}#login-dropdown #login-dropdown .dropdown-menu .account-menu{display:block}.login-tokens-table{margin-bottom:.5rem}.login-tokens-table tbody>tr>td{vertical-align:middle}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}.list-edit-container:before,.list-edit-container:after{display:table;content:" "}.list-edit-container:after{clear:both}#dateVisColorSettings{background-color:#fff;fill:#eee;outline-color:#c38835;stroke:#265680}.table,.search-history-table{table-layout:fixed;word-wrap:break-word}@media (min-width:992px){.table.fines-table,.search-history-table.fines-table{table-layout:auto;word-wrap:normal}}@media screen and (max-width:768px){.table-responsive,.search-history-table{border:none}.table-responsive thead,.table-responsive tfoot>tr>th,.search-history-table thead,.search-history-table tfoot>tr>th{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.table-responsive tbody>tr,.search-history-table tbody>tr{display:block;margin-bottom:20px;border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:4px solid #ddd}.table-responsive td,.table-responsive tbody>tr>th,.search-history-table td,.search-history-table tbody>tr>th{display:flex;align-items:first baseline;background:#fff}.table-responsive td:before,.table-responsive tbody>tr>th:before,.search-history-table td:before,.search-history-table tbody>tr>th:before{display:flex;flex-basis:40%;flex-shrink:0;font-weight:bold;content:attr(data-label)}.table-responsive tbody>tr>td:nth-child(even),.search-history-table tbody>tr>td:nth-child(even){background-color:#f9f9f9}.table-responsive tfoot>tr>td,.search-history-table tfoot>tr>td{border-top:none}}.node{position:absolute;box-sizing:content-box;margin:-1px;overflow:hidden;font:10px sans-serif;line-height:12px;border:1px solid #fff}.node div{margin-top:0px}.toplevel{border:2px solid #000}.node .label{position:absolute;bottom:0;left:0;min-height:1px;padding:2px 4px;font-size:85%;background-color:rgba(0,0,0,0.5);border-radius:0;text-shadow:none}.notalabel{color:#000}#viz-instructions{padding-top:600px}span[class^="services-"],span[class*=" services-"] span::before{content:", "}span[class^="services-"],span[class*=" services-"] span:first-of-type::before{content:""}div.holding-details{display:flex}div.holding-details .holding-field{flex:1 1 0;padding-left:.5rem;padding-right:.5rem}div.holding-details .holding-field.barcode,div.holding-details .holding-field.place-hold,div.holding-details .holding-field.storage-retrieval,div.holding-details .holding-field.ill-request,div.holding-details .holding-field.recall{flex:1 1 0}div.holding-details .holding-field.availability{flex:2 1 0}div.holding-details .due-date:before{content:"\2013";padding-right:.3em}div.holding-details .due-date{white-space:nowrap}div.holding-notes{padding-left:.5rem;padding-right:.5rem}.odbrand{padding:7px}.oauth2-prompt ul{margin-top:1rem}.oauth2-prompt .oauth2-ils-selection{margin-top:1rem;margin-bottom:1rem}.oauth2-prompt .oauth2-ils-selection form{margin-top:1rem}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:.5}#cc-main a:hover{color:#092b47;text-decoration:underline;background-size:0%}#cc-main .cc--anim .cm__close,#cc-main .cc--anim .cm__btn,#cc-main .pm__btn{transition:none}#cc-main .cm--bar .cm__btn,#cc-main .pm__btn{font-size:14px}#cc-main .cm--bar .cm__btn{flex:none}#cc-main .pm__section--expandable .pm__section-arrow{background:none}#cc-main .pm__section--toggle{background:transparent}.HelpMenu{list-style-type:none;margin-bottom:1rem;padding:0}.pagination{display:flex;flex:1 1 100%;flex-wrap:wrap;justify-content:center} \ No newline at end of file diff --git a/themes/bootstrap3/css/vendor/bootstrap-rtl.min.css b/themes/bootstrap3/css/vendor/bootstrap-rtl.min.css index 6653eba1e14..f819f81dea1 100644 --- a/themes/bootstrap3/css/vendor/bootstrap-rtl.min.css +++ b/themes/bootstrap3/css/vendor/bootstrap-rtl.min.css @@ -7,94 +7,3 @@ *******************************************************************************/ html{direction:rtl}body{direction:rtl}.flip.text-left{text-align:right}.flip.text-right{text-align:left}.list-unstyled{padding-right:0;padding-left:initial}.list-inline{padding-right:0;padding-left:initial;margin-right:-5px;margin-left:0}dd{margin-right:0;margin-left:initial}@media (min-width:768px){.dl-horizontal dt{float:right;clear:right;text-align:left}.dl-horizontal dd{margin-right:180px;margin-left:0}}blockquote{border-right:5px solid #eee;border-left:0}.blockquote-reverse,blockquote.pull-left{padding-left:15px;padding-right:0;border-left:5px solid #eee;border-right:0;text-align:left}.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,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.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{float:right}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{left:100%;right:auto}.col-xs-pull-11{left:91.66666667%;right:auto}.col-xs-pull-10{left:83.33333333%;right:auto}.col-xs-pull-9{left:75%;right:auto}.col-xs-pull-8{left:66.66666667%;right:auto}.col-xs-pull-7{left:58.33333333%;right:auto}.col-xs-pull-6{left:50%;right:auto}.col-xs-pull-5{left:41.66666667%;right:auto}.col-xs-pull-4{left:33.33333333%;right:auto}.col-xs-pull-3{left:25%;right:auto}.col-xs-pull-2{left:16.66666667%;right:auto}.col-xs-pull-1{left:8.33333333%;right:auto}.col-xs-pull-0{left:auto;right:auto}.col-xs-push-12{right:100%;left:0}.col-xs-push-11{right:91.66666667%;left:0}.col-xs-push-10{right:83.33333333%;left:0}.col-xs-push-9{right:75%;left:0}.col-xs-push-8{right:66.66666667%;left:0}.col-xs-push-7{right:58.33333333%;left:0}.col-xs-push-6{right:50%;left:0}.col-xs-push-5{right:41.66666667%;left:0}.col-xs-push-4{right:33.33333333%;left:0}.col-xs-push-3{right:25%;left:0}.col-xs-push-2{right:16.66666667%;left:0}.col-xs-push-1{right:8.33333333%;left:0}.col-xs-push-0{right:auto;left:0}.col-xs-offset-12{margin-right:100%;margin-left:0}.col-xs-offset-11{margin-right:91.66666667%;margin-left:0}.col-xs-offset-10{margin-right:83.33333333%;margin-left:0}.col-xs-offset-9{margin-right:75%;margin-left:0}.col-xs-offset-8{margin-right:66.66666667%;margin-left:0}.col-xs-offset-7{margin-right:58.33333333%;margin-left:0}.col-xs-offset-6{margin-right:50%;margin-left:0}.col-xs-offset-5{margin-right:41.66666667%;margin-left:0}.col-xs-offset-4{margin-right:33.33333333%;margin-left:0}.col-xs-offset-3{margin-right:25%;margin-left:0}.col-xs-offset-2{margin-right:16.66666667%;margin-left:0}.col-xs-offset-1{margin-right:8.33333333%;margin-left:0}.col-xs-offset-0{margin-right:0;margin-left:0}@media (min-width:768px){.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{float:right}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{left:100%;right:auto}.col-sm-pull-11{left:91.66666667%;right:auto}.col-sm-pull-10{left:83.33333333%;right:auto}.col-sm-pull-9{left:75%;right:auto}.col-sm-pull-8{left:66.66666667%;right:auto}.col-sm-pull-7{left:58.33333333%;right:auto}.col-sm-pull-6{left:50%;right:auto}.col-sm-pull-5{left:41.66666667%;right:auto}.col-sm-pull-4{left:33.33333333%;right:auto}.col-sm-pull-3{left:25%;right:auto}.col-sm-pull-2{left:16.66666667%;right:auto}.col-sm-pull-1{left:8.33333333%;right:auto}.col-sm-pull-0{left:auto;right:auto}.col-sm-push-12{right:100%;left:0}.col-sm-push-11{right:91.66666667%;left:0}.col-sm-push-10{right:83.33333333%;left:0}.col-sm-push-9{right:75%;left:0}.col-sm-push-8{right:66.66666667%;left:0}.col-sm-push-7{right:58.33333333%;left:0}.col-sm-push-6{right:50%;left:0}.col-sm-push-5{right:41.66666667%;left:0}.col-sm-push-4{right:33.33333333%;left:0}.col-sm-push-3{right:25%;left:0}.col-sm-push-2{right:16.66666667%;left:0}.col-sm-push-1{right:8.33333333%;left:0}.col-sm-push-0{right:auto;left:0}.col-sm-offset-12{margin-right:100%;margin-left:0}.col-sm-offset-11{margin-right:91.66666667%;margin-left:0}.col-sm-offset-10{margin-right:83.33333333%;margin-left:0}.col-sm-offset-9{margin-right:75%;margin-left:0}.col-sm-offset-8{margin-right:66.66666667%;margin-left:0}.col-sm-offset-7{margin-right:58.33333333%;margin-left:0}.col-sm-offset-6{margin-right:50%;margin-left:0}.col-sm-offset-5{margin-right:41.66666667%;margin-left:0}.col-sm-offset-4{margin-right:33.33333333%;margin-left:0}.col-sm-offset-3{margin-right:25%;margin-left:0}.col-sm-offset-2{margin-right:16.66666667%;margin-left:0}.col-sm-offset-1{margin-right:8.33333333%;margin-left:0}.col-sm-offset-0{margin-right:0;margin-left:0}}@media (min-width:992px){.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{float:right}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{left:100%;right:auto}.col-md-pull-11{left:91.66666667%;right:auto}.col-md-pull-10{left:83.33333333%;right:auto}.col-md-pull-9{left:75%;right:auto}.col-md-pull-8{left:66.66666667%;right:auto}.col-md-pull-7{left:58.33333333%;right:auto}.col-md-pull-6{left:50%;right:auto}.col-md-pull-5{left:41.66666667%;right:auto}.col-md-pull-4{left:33.33333333%;right:auto}.col-md-pull-3{left:25%;right:auto}.col-md-pull-2{left:16.66666667%;right:auto}.col-md-pull-1{left:8.33333333%;right:auto}.col-md-pull-0{left:auto;right:auto}.col-md-push-12{right:100%;left:0}.col-md-push-11{right:91.66666667%;left:0}.col-md-push-10{right:83.33333333%;left:0}.col-md-push-9{right:75%;left:0}.col-md-push-8{right:66.66666667%;left:0}.col-md-push-7{right:58.33333333%;left:0}.col-md-push-6{right:50%;left:0}.col-md-push-5{right:41.66666667%;left:0}.col-md-push-4{right:33.33333333%;left:0}.col-md-push-3{right:25%;left:0}.col-md-push-2{right:16.66666667%;left:0}.col-md-push-1{right:8.33333333%;left:0}.col-md-push-0{right:auto;left:0}.col-md-offset-12{margin-right:100%;margin-left:0}.col-md-offset-11{margin-right:91.66666667%;margin-left:0}.col-md-offset-10{margin-right:83.33333333%;margin-left:0}.col-md-offset-9{margin-right:75%;margin-left:0}.col-md-offset-8{margin-right:66.66666667%;margin-left:0}.col-md-offset-7{margin-right:58.33333333%;margin-left:0}.col-md-offset-6{margin-right:50%;margin-left:0}.col-md-offset-5{margin-right:41.66666667%;margin-left:0}.col-md-offset-4{margin-right:33.33333333%;margin-left:0}.col-md-offset-3{margin-right:25%;margin-left:0}.col-md-offset-2{margin-right:16.66666667%;margin-left:0}.col-md-offset-1{margin-right:8.33333333%;margin-left:0}.col-md-offset-0{margin-right:0;margin-left:0}}@media (min-width:1200px){.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{float:right}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{left:100%;right:auto}.col-lg-pull-11{left:91.66666667%;right:auto}.col-lg-pull-10{left:83.33333333%;right:auto}.col-lg-pull-9{left:75%;right:auto}.col-lg-pull-8{left:66.66666667%;right:auto}.col-lg-pull-7{left:58.33333333%;right:auto}.col-lg-pull-6{left:50%;right:auto}.col-lg-pull-5{left:41.66666667%;right:auto}.col-lg-pull-4{left:33.33333333%;right:auto}.col-lg-pull-3{left:25%;right:auto}.col-lg-pull-2{left:16.66666667%;right:auto}.col-lg-pull-1{left:8.33333333%;right:auto}.col-lg-pull-0{left:auto;right:auto}.col-lg-push-12{right:100%;left:0}.col-lg-push-11{right:91.66666667%;left:0}.col-lg-push-10{right:83.33333333%;left:0}.col-lg-push-9{right:75%;left:0}.col-lg-push-8{right:66.66666667%;left:0}.col-lg-push-7{right:58.33333333%;left:0}.col-lg-push-6{right:50%;left:0}.col-lg-push-5{right:41.66666667%;left:0}.col-lg-push-4{right:33.33333333%;left:0}.col-lg-push-3{right:25%;left:0}.col-lg-push-2{right:16.66666667%;left:0}.col-lg-push-1{right:8.33333333%;left:0}.col-lg-push-0{right:auto;left:0}.col-lg-offset-12{margin-right:100%;margin-left:0}.col-lg-offset-11{margin-right:91.66666667%;margin-left:0}.col-lg-offset-10{margin-right:83.33333333%;margin-left:0}.col-lg-offset-9{margin-right:75%;margin-left:0}.col-lg-offset-8{margin-right:66.66666667%;margin-left:0}.col-lg-offset-7{margin-right:58.33333333%;margin-left:0}.col-lg-offset-6{margin-right:50%;margin-left:0}.col-lg-offset-5{margin-right:41.66666667%;margin-left:0}.col-lg-offset-4{margin-right:33.33333333%;margin-left:0}.col-lg-offset-3{margin-right:25%;margin-left:0}.col-lg-offset-2{margin-right:16.66666667%;margin-left:0}.col-lg-offset-1{margin-right:8.33333333%;margin-left:0}.col-lg-offset-0{margin-right:0;margin-left:0}}caption{text-align:right}th{text-align:right}@media screen and (max-width:767px){.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:initial}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-left:0;border-right:initial}}.radio label,.checkbox label{padding-right:20px;padding-left:initial}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{margin-right:-20px;margin-left:auto}.radio-inline,.checkbox-inline{padding-right:20px;padding-left:0}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-right:10px;margin-left:0}.has-feedback .form-control{padding-left:42.5px;padding-right:12px}.form-control-feedback{left:0;right:auto}@media (min-width:768px){.form-inline label{padding-right:0;padding-left:initial}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{margin-right:0;margin-left:auto}}@media (min-width:768px){.form-horizontal .control-label{text-align:left}}.form-horizontal .has-feedback .form-control-feedback{left:15px;right:auto}.caret{margin-right:2px;margin-left:0}.dropdown-menu{right:0;left:auto;float:left;text-align:right}.dropdown-menu.pull-right{left:0;right:auto;float:right}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group>.btn,.btn-group-vertical>.btn{float:right}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-right:-1px;margin-left:0}.btn-toolbar{margin-right:-5px;margin-left:0}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:right}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-right:5px;margin-left:0}.btn-group>.btn:first-child{margin-right:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group{float:right}.btn-group.btn-group-justified>.btn,.btn-group.btn-group-justified>.btn-group{float:none}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.btn .caret{margin-right:0}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-right:0}.input-group .form-control{float:right}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:first-child{border-left:0;border-right:1px solid}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:last-child{border-left-width:1px;border-left-style:solid;border-right:0}.input-group-btn>.btn+.btn{margin-right:-1px;margin-left:auto}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-left:-1px;margin-right:auto}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-right:-1px;margin-left:auto}.nav{padding-right:0;padding-left:initial}.nav-tabs>li{float:right}.nav-tabs>li>a{margin-left:auto;margin-right:-2px;border-radius:4px 4px 0 0}.nav-pills>li{float:right}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-right:2px;margin-left:auto}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-right:0;margin-left:auto}.nav-justified>.dropdown .dropdown-menu{right:auto}.nav-tabs-justified>li>a{margin-left:0;margin-right:auto}@media (min-width:768px){.nav-tabs-justified>li>a{border-radius:4px 4px 0 0}}@media (min-width:768px){.navbar-header{float:right}}.navbar-collapse{padding-right:15px;padding-left:15px}.navbar-brand{float:right}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-right:-15px;margin-left:auto}}.navbar-toggle{float:left;margin-left:15px;margin-right:auto}@media (max-width:767px){.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 25px 5px 15px}}@media (min-width:768px){.navbar-nav{float:right}.navbar-nav>li{float:right}}@media (min-width:768px){.navbar-left.flip{float:right!important}.navbar-right:last-child{margin-left:-15px;margin-right:auto}.navbar-right.flip{float:left!important;margin-left:-15px;margin-right:auto}.navbar-right .dropdown-menu{left:0;right:auto}}@media (min-width:768px){.navbar-text{float:right}.navbar-text.navbar-right:last-child{margin-left:0;margin-right:auto}}.pagination{padding-right:0}.pagination>li>a,.pagination>li>span{float:right;margin-right:-1px;margin-left:0}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{margin-right:-1px;border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.pager{padding-right:0;padding-left:initial}.pager .next>a,.pager .next>span{float:left}.pager .previous>a,.pager .previous>span{float:right}.nav-pills>li>a>.badge{margin-left:0;margin-right:3px}.list-group-item>.badge{float:left}.list-group-item>.badge+.badge{margin-left:5px;margin-right:auto}.alert-dismissable,.alert-dismissible{padding-left:35px;padding-right:15px}.alert-dismissable .close,.alert-dismissible .close{right:auto;left:-21px}.progress-bar{float:right}.media>.pull-left{margin-right:10px}.media>.pull-left.flip{margin-right:0;margin-left:10px}.media>.pull-right{margin-left:10px}.media>.pull-right.flip{margin-left:0;margin-right:10px}.media-right,.media>.pull-right{padding-right:10px;padding-left:initial}.media-left,.media>.pull-left{padding-left:10px;padding-right:initial}.media-list{padding-right:0;padding-left:initial;list-style:none}.list-group{padding-right:0;padding-left:initial}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-right-radius:3px;border-top-left-radius:0}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-left-radius:3px;border-top-right-radius:0}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px;border-top-right-radius:0}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px;border-top-left-radius:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-right:0;border-left:none}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:none;border-left:0}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{right:0;left:auto}.close{float:left}.modal-footer{text-align:left}.modal-footer.flip{text-align:right}.modal-footer .btn+.btn{margin-left:auto;margin-right:5px}.modal-footer .btn-group .btn+.btn{margin-right:-1px;margin-left:auto}.modal-footer .btn-block+.btn-block{margin-right:0;margin-left:auto}.popover{left:auto;text-align:right}.popover.top>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}.popover.top>.arrow:after{margin-right:-10px;margin-left:auto}.popover.bottom>.arrow{right:50%;left:auto;margin-right:-11px;margin-left:auto}.popover.bottom>.arrow:after{margin-right:-10px;margin-left:auto}.carousel-control{right:0;bottom:0}.carousel-control.left{right:auto;left:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;right:auto;margin-right:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;left:auto;margin-left:-10px}.carousel-indicators{right:50%;left:0;margin-right:-30%;margin-left:0;padding-left:0}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:0;margin-right:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-left:0;margin-right:-15px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}}.pull-right.flip{float:left!important}.pull-left.flip{float:right!important} - -/* Customization for advanced search */ -.group { - padding-left: 10px; - padding-right: 25px; -} -.group [class^=col-] { - padding-left: 15px; - padding-right: 0; -} -.group .group-close { - left: .5em; - right: auto; -} - -/* Customization for browse */ -.browse.list-group {padding-left: 15px;} -.browse.list-group .list-group-item.view-record {text-align: left;} -.browse .fa.fa-angle-right:before {content: "\f104";} - -/* Customization for cart */ -.cart-controls .checkbox { - padding-left: 1em; - padding-right: 0; -} - -/* Customization for icons */ -body.rtl i.fa.fa-cogs, -body.rtl i.fa.fa-gears { - /* .fa-flip-horizontal */ - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -body.rtl i.fa.fa-long-arrow-left {content: "\f178";} -body.rtl i.fa.fa-long-arrow-right {content: "\f177";} -body.rtl i.fa.fa-chevron-left {content: "\f054";} -body.rtl i.fa.fa-chevron-right {content: "\f053";} - -/* Customization for offcanvas */ -@media screen and (max-width: 767px) { - body.offcanvas.flip .offcanvas-toggle .fa.fa-chevron-left:before {content: "\f054";} - body.offcanvas.flip .offcanvas-toggle .fa.fa-chevron-right:before {content: "\f053";} - - body.offcanvas.offcanvas-left.flip {padding-right: 18px;} - body.offcanvas.offcanvas-left.flip .sidebar {right: -75%; left: auto;} - body.offcanvas.offcanvas-left.flip .offcanvas-overlay {left: -100%; right: auto;} - body.offcanvas.offcanvas-left.flip .offcanvas-toggle { - border-radius: 3px 0 0 3px; - left: auto; - right: 0; - } - body.offcanvas.offcanvas-left.flip.active { - margin-left: -75%; - margin-right: 75%; - } - body.offcanvas.offcanvas-left.flip.active .sidebar {right: 0; left: auto;} - body.offcanvas.offcanvas-left.flip.active .offcanvas-overlay {left: -75%; right: auto;} - body.offcanvas.offcanvas-left.flip.active .offcanvas-toggle {right: 75%; left: auto;} - - body.offcanvas.offcanvas-right.flip {padding-left: 18px;} - body.offcanvas.offcanvas-right.flip .sidebar {left: -75%; right: auto;} - body.offcanvas.offcanvas-right.flip .offcanvas-overlay {right: -100%; left: auto;} - body.offcanvas.offcanvas-right.flip .offcanvas-toggle { - border-radius: 0 3px 3px 0; - left: 0; - right: auto; - } - body.offcanvas.offcanvas-right.flip.active { - margin-left: 75%; - margin-right: -75%; - } - body.offcanvas.offcanvas-right.flip.active .sidebar {left: 0; right: auto;} - body.offcanvas.offcanvas-right.flip.active .offcanvas-overlay {right: -75%; left: auto;} - body.offcanvas.offcanvas-right.flip.active .offcanvas-toggle {left: 75%; right: auto;} -} - -/* Customization for search */ -.result .checkbox { float: right; } - -/* Customization for sidebar */ -.sidebar .list-group:not(.filters) .title:after {float: left;} -.sidebar label:not(.list-group-item) { - margin-left: 0; - margin-right: 20px; -} - -/* Customization for typeahead */ -span.twitter-typeahead, -.search-query {direction: RTL !important;} diff --git a/themes/bootstrap3/css/vendor/leaflet/leaflet.css b/themes/bootstrap3/css/vendor/leaflet/leaflet.css index 230e5bad14f..3f575ee82a4 100644 --- a/themes/bootstrap3/css/vendor/leaflet/leaflet.css +++ b/themes/bootstrap3/css/vendor/leaflet/leaflet.css @@ -39,7 +39,7 @@ .leaflet-marker-shadow { display: block; } -/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container svg: reset svg max-width declaration shipped in Joomla! (joomla.org) 3.x */ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ .leaflet-container .leaflet-overlay-pane svg, .leaflet-container .leaflet-marker-pane img, diff --git a/themes/bootstrap3/js/common.js b/themes/bootstrap3/js/common.js index 28d7f4a3ef7..8db41b79443 100644 --- a/themes/bootstrap3/js/common.js +++ b/themes/bootstrap3/js/common.js @@ -654,10 +654,10 @@ function bulkFormHandler(event, data) { // Ready functions function setupOffcanvas() { - if ($('.sidebar').length > 0 && $(document.body).hasClass("offcanvas")) { - $('[data-toggle="offcanvas"]').on("click", function offcanvasClick(e) { + if ($('.sidebar').length > 0 && $(document.body).hasClass("vufind-offcanvas")) { + $('[data-toggle="vufind-offcanvas"]').on("click", function offcanvasClick(e) { e.preventDefault(); - $('body.offcanvas').toggleClass('active'); + $('body.vufind-offcanvas').toggleClass('active'); }); } } diff --git a/themes/bootstrap3/less/bootstrap.less b/themes/bootstrap3/less/bootstrap.less index 955c24315ac..f2eaac258ea 100644 --- a/themes/bootstrap3/less/bootstrap.less +++ b/themes/bootstrap3/less/bootstrap.less @@ -270,6 +270,15 @@ footer { top: .5rem; right: .25rem; } + + body.rtl & { + padding-left: 3rem; + padding-right: 1rem; + .badge { + left: .25rem; + right: auto; + } + } } .browse-item.view-record { padding: 2px 4px; diff --git a/themes/bootstrap3/less/components/cookie-consent/core/components/consent-modal.less b/themes/bootstrap3/less/components/cookie-consent/core/components/consent-modal.less index 37dd5eced0f..1dabea61a35 100644 --- a/themes/bootstrap3/less/components/cookie-consent/core/components/consent-modal.less +++ b/themes/bootstrap3/less/components/cookie-consent/core/components/consent-modal.less @@ -653,7 +653,7 @@ } } -/* End: Fix RTL alyout */ +/* End: Fix RTL layout */ @media screen and (max-width: 640px){ #cc-main { diff --git a/themes/bootstrap3/less/components/cookie-consent/core/components/preferences-modal.less b/themes/bootstrap3/less/components/cookie-consent/core/components/preferences-modal.less index db9c6690346..a432d77770f 100644 --- a/themes/bootstrap3/less/components/cookie-consent/core/components/preferences-modal.less +++ b/themes/bootstrap3/less/components/cookie-consent/core/components/preferences-modal.less @@ -888,7 +888,7 @@ } } } -/* End: Fix RTL alyout */ +/* End: Fix RTL layout */ @media screen and (max-width: 640px){ diff --git a/themes/bootstrap3/less/components/offcanvas.less b/themes/bootstrap3/less/components/offcanvas.less index 27bc4926375..c0a23113daa 100644 --- a/themes/bootstrap3/less/components/offcanvas.less +++ b/themes/bootstrap3/less/components/offcanvas.less @@ -1,6 +1,6 @@ @offcanvas-offset: 80vw; // Width of open menu -.offcanvas-overlay { display: none; } +.vufind-offcanvas-overlay { display: none; } .search-filter-toggle { &:extend(.btn); @@ -22,14 +22,14 @@ font: normal normal normal 14px/1 FontAwesome; } - .offcanvas .close-offcanvas { display: block; } + .vufind-offcanvas .close-offcanvas { display: block; } - body.offcanvas { + body.vufind-offcanvas { overflow-x: hidden; /* Prevent scroll on narrow devices */ transition: margin .5s; } - .offcanvas-overlay { + .vufind-offcanvas-overlay { display: none; position: fixed; top: 0; @@ -41,19 +41,19 @@ transition: opacity .5s; cursor: pointer; } - .offcanvas .offcanvas-overlay { display: block; } + .vufind-offcanvas .vufind-offcanvas-overlay { display: block; } - .offcanvas-left { + .vufind-offcanvas-left { .sidebar { left: -@offcanvas-offset; } - .offcanvas-overlay { right: -100%; } - .offcanvas-toggle { left: 0; } + .vufind-offcanvas-overlay { right: -100%; } + .vufind-offcanvas-toggle { left: 0; } } - .offcanvas-right { + .vufind-offcanvas-right { .sidebar { right: -@offcanvas-offset; } - .offcanvas-overlay { left: -100%; } - .offcanvas-toggle { right: 0; } + .vufind-offcanvas-overlay { left: -100%; } + .vufind-offcanvas-toggle { right: 0; } } - .offcanvas .sidebar { + .vufind-offcanvas .sidebar { position: fixed; height: 100%; top: 0; @@ -65,45 +65,45 @@ .search-sort { padding-bottom: 1rem; } } - .offcanvas.active { + .vufind-offcanvas.active { overflow-y: hidden; - &.offcanvas-left { + &.vufind-offcanvas-left { margin-left: @offcanvas-offset; margin-right: -@offcanvas-offset; .sidebar { left: 0; } - .offcanvas-overlay { right: -@offcanvas-offset; } - .offcanvas-toggle { left: @offcanvas-offset; } + .vufind-offcanvas-overlay { right: -@offcanvas-offset; } + .vufind-offcanvas-toggle { left: @offcanvas-offset; } } - &.offcanvas-right { + &.vufind-offcanvas-right { margin-left: -@offcanvas-offset; margin-right: @offcanvas-offset; .sidebar { right: 0; } - .offcanvas-overlay { left: -@offcanvas-offset; } - .offcanvas-toggle { right: @offcanvas-offset; } + .vufind-offcanvas-overlay { left: -@offcanvas-offset; } + .vufind-offcanvas-toggle { right: @offcanvas-offset; } } - .offcanvas-overlay { + .vufind-offcanvas-overlay { opacity: 1; transition: opacity .5s; } } /* Button arrows */ - .offcanvas-left { + .vufind-offcanvas-left { .close-offcanvas::after { content: "\f105"; } .search-filter-toggle::before { content: "\f100"; } } - .offcanvas-right { + .vufind-offcanvas-right { .close-offcanvas::before { content: "\f104"; } .search-filter-toggle::after { content: "\f101"; } } .rtl /* right to left */ { - &.offcanvas-left { + &.vufind-offcanvas-left { .close-offcanvas::after { content: none; } .close-offcanvas::before { content: "\f105"; } .search-filter-toggle::before { content: none; } .search-filter-toggle::after { content: "\f100"; } } - &.offcanvas-right { + &.vufind-offcanvas-right { .close-offcanvas::before { content: none; } .close-offcanvas::after { content: "\f104"; } .search-filter-toggle::after { content: none; } diff --git a/themes/bootstrap3/less/components/search.less b/themes/bootstrap3/less/components/search.less index 3a5918fe8f7..bfbfabeb196 100644 --- a/themes/bootstrap3/less/components/search.less +++ b/themes/bootstrap3/less/components/search.less @@ -432,7 +432,7 @@ body.rtl { /* ------ COMBINED ------ */ // No sidebar in combined: -.template-dir-combined.template-name-results.offcanvas { +.template-dir-combined.template-name-results.vufind-offcanvas { margin: 0; padding: 0; } diff --git a/themes/bootstrap3/less/components/sidebar.less b/themes/bootstrap3/less/components/sidebar.less index 11c25d9698c..1d6cfc27aa6 100644 --- a/themes/bootstrap3/less/components/sidebar.less +++ b/themes/bootstrap3/less/components/sidebar.less @@ -55,6 +55,11 @@ flex-shrink: 0; text-align: center; padding-left: 0.5rem; + + body.rtl & { + padding-left: 0; + padding-right: 0.5rem; + } } } .facet-group .facet, diff --git a/themes/bootstrap3/less/vendor/bootstrap/input-groups.less b/themes/bootstrap3/less/vendor/bootstrap/input-groups.less index 92b67da5c5e..983209d6d0d 100644 --- a/themes/bootstrap3/less/vendor/bootstrap/input-groups.less +++ b/themes/bootstrap3/less/vendor/bootstrap/input-groups.less @@ -141,7 +141,7 @@ font-size: 0; white-space: nowrap; - // Negative margin for spacing, position for bringing hovered/focused/actived + // Negative margin for spacing, position for bringing hovered/focused/active // element above the siblings. > .btn { position: relative; diff --git a/themes/bootstrap3/less/vendor/bootstrap/navs.less b/themes/bootstrap3/less/vendor/bootstrap/navs.less index 45df13ebe47..93f9619c796 100644 --- a/themes/bootstrap3/less/vendor/bootstrap/navs.less +++ b/themes/bootstrap3/less/vendor/bootstrap/navs.less @@ -62,7 +62,7 @@ .nav-divider(); } - // Prevent IE8 from misplacing imgs + // Prevent IE8 from misplacing images // // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 > li > a > img { diff --git a/themes/bootstrap3/scss/bootstrap.scss b/themes/bootstrap3/scss/bootstrap.scss index b7ad61f6b12..cd2c193efde 100644 --- a/themes/bootstrap3/scss/bootstrap.scss +++ b/themes/bootstrap3/scss/bootstrap.scss @@ -270,6 +270,15 @@ footer { top: .5rem; right: .25rem; } + + body.rtl & { + padding-left: 3rem; + padding-right: 1rem; + .badge { + left: .25rem; + right: auto; + } + } } .browse-item.view-record { padding: 2px 4px; diff --git a/themes/bootstrap3/scss/components/cookie-consent/core/components/consent-modal.scss b/themes/bootstrap3/scss/components/cookie-consent/core/components/consent-modal.scss index 7592af451cc..620dd3d6c34 100644 --- a/themes/bootstrap3/scss/components/cookie-consent/core/components/consent-modal.scss +++ b/themes/bootstrap3/scss/components/cookie-consent/core/components/consent-modal.scss @@ -653,7 +653,7 @@ $cc-footer-links-gap: 1.3rem; } } -/* End: Fix RTL alyout */ +/* End: Fix RTL layout */ @media screen and (max-width: 640px){ #cc-main { diff --git a/themes/bootstrap3/scss/components/cookie-consent/core/components/preferences-modal.scss b/themes/bootstrap3/scss/components/cookie-consent/core/components/preferences-modal.scss index 0773af10bf2..b5bb4114ee9 100644 --- a/themes/bootstrap3/scss/components/cookie-consent/core/components/preferences-modal.scss +++ b/themes/bootstrap3/scss/components/cookie-consent/core/components/preferences-modal.scss @@ -888,7 +888,7 @@ $cc-service-toggle-knob-icon-width: 1.7px; } } } -/* End: Fix RTL alyout */ +/* End: Fix RTL layout */ @media screen and (max-width: 640px){ diff --git a/themes/bootstrap3/scss/components/offcanvas.scss b/themes/bootstrap3/scss/components/offcanvas.scss index 943ce7bbd65..2675871b156 100644 --- a/themes/bootstrap3/scss/components/offcanvas.scss +++ b/themes/bootstrap3/scss/components/offcanvas.scss @@ -1,6 +1,6 @@ $offcanvas-offset: 80vw; // Width of open menu -.offcanvas-overlay { display: none; } +.vufind-offcanvas-overlay { display: none; } .search-filter-toggle { @extend .btn; @@ -22,14 +22,14 @@ $offcanvas-offset: 80vw; // Width of open menu font: normal normal normal 14px/1 FontAwesome; } - .offcanvas .close-offcanvas { display: block; } + .vufind-offcanvas .close-offcanvas { display: block; } - body.offcanvas { + body.vufind-offcanvas { overflow-x: hidden; /* Prevent scroll on narrow devices */ transition: margin .5s; } - .offcanvas-overlay { + .vufind-offcanvas-overlay { display: none; position: fixed; top: 0; @@ -41,19 +41,19 @@ $offcanvas-offset: 80vw; // Width of open menu transition: opacity .5s; cursor: pointer; } - .offcanvas .offcanvas-overlay { display: block; } + .vufind-offcanvas .vufind-offcanvas-overlay { display: block; } - .offcanvas-left { + .vufind-offcanvas-left { .sidebar { left: -$offcanvas-offset; } - .offcanvas-overlay { right: -100%; } - .offcanvas-toggle { left: 0; } + .vufind-offcanvas-overlay { right: -100%; } + .vufind-offcanvas-toggle { left: 0; } } - .offcanvas-right { + .vufind-offcanvas-right { .sidebar { right: -$offcanvas-offset; } - .offcanvas-overlay { left: -100%; } - .offcanvas-toggle { right: 0; } + .vufind-offcanvas-overlay { left: -100%; } + .vufind-offcanvas-toggle { right: 0; } } - .offcanvas .sidebar { + .vufind-offcanvas .sidebar { position: fixed; height: 100%; top: 0; @@ -65,45 +65,45 @@ $offcanvas-offset: 80vw; // Width of open menu .search-sort { padding-bottom: 1rem; } } - .offcanvas.active { + .vufind-offcanvas.active { overflow-y: hidden; - &.offcanvas-left { + &.vufind-offcanvas-left { margin-left: $offcanvas-offset; margin-right: -$offcanvas-offset; .sidebar { left: 0; } - .offcanvas-overlay { right: -$offcanvas-offset; } - .offcanvas-toggle { left: $offcanvas-offset; } + .vufind-offcanvas-overlay { right: -$offcanvas-offset; } + .vufind-offcanvas-toggle { left: $offcanvas-offset; } } - &.offcanvas-right { + &.vufind-offcanvas-right { margin-left: -$offcanvas-offset; margin-right: $offcanvas-offset; .sidebar { right: 0; } - .offcanvas-overlay { left: -$offcanvas-offset; } - .offcanvas-toggle { right: $offcanvas-offset; } + .vufind-offcanvas-overlay { left: -$offcanvas-offset; } + .vufind-offcanvas-toggle { right: $offcanvas-offset; } } - .offcanvas-overlay { + .vufind-offcanvas-overlay { opacity: 1; transition: opacity .5s; } } /* Button arrows */ - .offcanvas-left { + .vufind-offcanvas-left { .close-offcanvas::after { content: "\f105"; } .search-filter-toggle::before { content: "\f100"; } } - .offcanvas-right { + .vufind-offcanvas-right { .close-offcanvas::before { content: "\f104"; } .search-filter-toggle::after { content: "\f101"; } } .rtl /* right to left */ { - &.offcanvas-left { + &.vufind-offcanvas-left { .close-offcanvas::after { content: none; } .close-offcanvas::before { content: "\f105"; } .search-filter-toggle::before { content: none; } .search-filter-toggle::after { content: "\f100"; } } - &.offcanvas-right { + &.vufind-offcanvas-right { .close-offcanvas::before { content: none; } .close-offcanvas::after { content: "\f104"; } .search-filter-toggle::after { content: none; } diff --git a/themes/bootstrap3/scss/components/search.scss b/themes/bootstrap3/scss/components/search.scss index 9b2c5723ff8..ce2f45ae020 100644 --- a/themes/bootstrap3/scss/components/search.scss +++ b/themes/bootstrap3/scss/components/search.scss @@ -432,7 +432,7 @@ body.rtl { /* ------ COMBINED ------ */ // No sidebar in combined: -.template-dir-combined.template-name-results.offcanvas { +.template-dir-combined.template-name-results.vufind-offcanvas { margin: 0; padding: 0; } diff --git a/themes/bootstrap3/scss/components/sidebar.scss b/themes/bootstrap3/scss/components/sidebar.scss index 3ccd53385a7..9bc001eb240 100644 --- a/themes/bootstrap3/scss/components/sidebar.scss +++ b/themes/bootstrap3/scss/components/sidebar.scss @@ -55,6 +55,11 @@ flex-shrink: 0; text-align: center; padding-left: 0.5rem; + + body.rtl & { + padding-left: 0; + padding-right: 0.5rem; + } } } .facet-group .facet, diff --git a/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_input-groups.scss b/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_input-groups.scss index 04015feffd2..901d445ec38 100644 --- a/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_input-groups.scss +++ b/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_input-groups.scss @@ -139,7 +139,7 @@ font-size: 0; white-space: nowrap; - // Negative margin for spacing, position for bringing hovered/focused/actived + // Negative margin for spacing, position for bringing hovered/focused/active // element above the siblings. > .btn { position: relative; diff --git a/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_navs.scss b/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_navs.scss index f4f0a55bae9..01559a34163 100644 --- a/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_navs.scss +++ b/themes/bootstrap3/scss/vendor/bootstrap/bootstrap/_navs.scss @@ -60,7 +60,7 @@ @include nav-divider; } - // Prevent IE8 from misplacing imgs + // Prevent IE8 from misplacing images // // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 > li > a > img { diff --git a/themes/bootstrap3/templates/Recommend/SideFacets.phtml b/themes/bootstrap3/templates/Recommend/SideFacets.phtml index 0ffcdf98bce..08cdab10416 100644 --- a/themes/bootstrap3/templates/Recommend/SideFacets.phtml +++ b/themes/bootstrap3/templates/Recommend/SideFacets.phtml @@ -19,7 +19,7 @@ } } ?> - + recommend->getCheckboxFacetSet(); $hasVisibleCheckboxes = false; diff --git a/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml b/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml index 81ef0bb71d7..44443730771 100644 --- a/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml +++ b/themes/bootstrap3/templates/Recommend/SideFacets/range-slider.phtml @@ -1,8 +1,12 @@ facet['type'] + ? function ($val) { + return substr($val, 0, 10); + } + : function ($val) { + return preg_replace('/[^\d]*/', '', $val); + }; $cleanValues = array_map($sanitize, $this->facet['values'] ?? []); $safeBaseId = $this->escapeHtmlAttr($this->title); ?> diff --git a/themes/bootstrap3/templates/Recommend/SideFacetsDeferred.phtml b/themes/bootstrap3/templates/Recommend/SideFacetsDeferred.phtml index cf5dbd47968..b85ab2606ec 100644 --- a/themes/bootstrap3/templates/Recommend/SideFacetsDeferred.phtml +++ b/themes/bootstrap3/templates/Recommend/SideFacetsDeferred.phtml @@ -39,6 +39,7 @@ } } ?> + getResultTotal() > 0 || $hasVisibleCheckboxes): ?>

transEsc($this->slot('side-facet-caption')->get('Refine Results')) ?>

auth()->isLoggedIn()) { + if ($loggedin = $this->auth()->getUserObject()) { $user_id = $loggedin->id; $loggedin = true; } else { diff --git a/themes/bootstrap3/templates/RecordDriver/SolrOverdrive/core.phtml b/themes/bootstrap3/templates/RecordDriver/SolrOverdrive/core.phtml index 3990080b93b..51b3c7fdc9b 100644 --- a/themes/bootstrap3/templates/RecordDriver/SolrOverdrive/core.phtml +++ b/themes/bootstrap3/templates/RecordDriver/SolrOverdrive/core.phtml @@ -1,5 +1,5 @@ auth()->isLoggedIn(); +$user = $this->auth()->getUserObject(); $avail = $this->driver->getOverdriveAvailability(); $previews = $this->driver->getPreviewLinks(); $od_id = $this->driver->getOverdriveID(); @@ -49,7 +49,7 @@ if ($availCode == 'od_code_login_for_avail') { } else { $checkedOut = $checkedOutResult->data; if (!$checkedOut) { - $hold = $this->driver->isHeld($user); + $hold = $this->driver->isHeld(); } //this title is checked out diff --git a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml index 39d6de58584..be3d17b308c 100644 --- a/themes/bootstrap3/templates/RecordTab/holdingsils.phtml +++ b/themes/bootstrap3/templates/RecordTab/holdingsils.phtml @@ -1,7 +1,7 @@ auth()->getManager(); - $user = $account->isLoggedIn(); + $user = $account->getUserObject(); $openUrl = $this->openUrl($this->driver, 'holdings'); $openUrlActive = $openUrl->isActive(); $doi = $this->doi($this->driver, 'holdings'); @@ -25,7 +25,7 @@ $this->headTitle($this->translate('Holdings') . ': ' . $this->driver->getBreadcrumb()); ?> -context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?> +context($this)->renderInContext('librarycards/selectcard.phtml', compact('user')); ?>
@@ -43,7 +43,14 @@
cat_username): ?>
- translate('hold_profile_html', ['%%url%%' => $this->escapeHtmlAttr($this->recordLinker()->getTabUrl($this->driver, 'Holdings', ['catalogLogin' => 'true']))])?> + recordLinker() + ->getTabUrl($this->driver, 'Holdings', ['catalogLogin' => 'true']); + $tokens = ['%%url%%' => $this->escapeHtmlAttr($catalogLoginUrl)]; + echo str_replace('translate('hold_profile_html', $tokens)); + ?>
diff --git a/themes/bootstrap3/templates/RecordTab/usercomments.phtml b/themes/bootstrap3/templates/RecordTab/usercomments.phtml index bd0a24dfddc..c6fd4e9828a 100644 --- a/themes/bootstrap3/templates/RecordTab/usercomments.phtml +++ b/themes/bootstrap3/templates/RecordTab/usercomments.phtml @@ -10,7 +10,7 @@ - auth()->isLoggedIn() ?> + auth()->getUserObject() ?>
diff --git a/themes/bootstrap3/templates/cart/save.phtml b/themes/bootstrap3/templates/cart/save.phtml index 2a1dad53d22..5a96cce9bb8 100644 --- a/themes/bootstrap3/templates/cart/save.phtml +++ b/themes/bootstrap3/templates/cart/save.phtml @@ -45,7 +45,7 @@ - + transEsc('or create a new list'); ?> diff --git a/themes/bootstrap3/templates/checkouts/history.phtml b/themes/bootstrap3/templates/checkouts/history.phtml index 5cb482f4874..e80cddd8d14 100644 --- a/themes/bootstrap3/templates/checkouts/history.phtml +++ b/themes/bootstrap3/templates/checkouts/history.phtml @@ -8,7 +8,7 @@ $this->headScript()->appendFile('checkouts.js'); ?> - + transEsc('Your Account') ?> @@ -16,7 +16,7 @@

transEsc('Loan History')?>

flashmessages()?> - context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->isLoggedIn()]); ?> + context($this)->renderInContext('librarycards/selectcard.phtml', ['user' => $this->auth()->getUserObject()]); ?> transactions)): ?>
-
+
render('Helpers/analytics.phtml')?> captcha()->js() as $jsInclude):?> inlineScript(\Laminas\View\Helper\HeadScript::FILE, $jsInclude, 'SET')?> diff --git a/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml b/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml index 8a32b70e608..e9940c70b2a 100644 --- a/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml +++ b/themes/bootstrap3/templates/myresearch/bulk-action-buttons.phtml @@ -2,7 +2,7 @@ -auth()->isLoggedIn(); ?> +auth()->getUserObject(); ?>