pact_broker 2.89.1 → 2.90.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (681) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/db/ddl_statements/all_verifications.rb +21 -0
  4. data/db/migrations/20210701_recreate_all_verifications.rb +18 -0
  5. data/db/migrations/20211101_recreate_all_verifications.rb +10 -0
  6. data/db/migrations/20211102_create_table_temp_integrations.rb +26 -0
  7. data/db/migrations/20211103_migrate_integrations.rb +21 -0
  8. data/db/migrations/20211104_switch_integrations_and_temp_integrations.rb +25 -0
  9. data/docs/CONFIGURATION.md +30 -0
  10. data/lib/pact_broker/app.rb +1 -1
  11. data/lib/pact_broker/certificates/service.rb +32 -2
  12. data/lib/pact_broker/config/runtime_configuration.rb +9 -0
  13. data/lib/pact_broker/config/runtime_configuration_logging_methods.rb +6 -2
  14. data/lib/pact_broker/db/data_migrations/migrate_integrations.rb +40 -0
  15. data/lib/pact_broker/db/migrate_data.rb +1 -0
  16. data/lib/pact_broker/doc/views/webhooks.markdown +23 -0
  17. data/lib/pact_broker/domain/pacticipant.rb +2 -0
  18. data/lib/pact_broker/integrations/integration.rb +34 -10
  19. data/lib/pact_broker/integrations/repository.rb +22 -0
  20. data/lib/pact_broker/integrations/service.rb +2 -2
  21. data/lib/pact_broker/locale/en.yml +1 -2
  22. data/lib/pact_broker/pacticipants/repository.rb +5 -0
  23. data/lib/pact_broker/pacticipants/service.rb +1 -1
  24. data/lib/pact_broker/pacts/merger.rb +8 -4
  25. data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +1 -1
  26. data/lib/pact_broker/pacts/repository.rb +1 -0
  27. data/lib/pact_broker/repositories.rb +5 -0
  28. data/lib/pact_broker/tasks/clean_task.rb +11 -0
  29. data/lib/pact_broker/test/test_data_builder.rb +6 -0
  30. data/lib/pact_broker/version.rb +1 -1
  31. data/lib/pact_broker/webhooks/pact_and_verification_parameters.rb +1 -2
  32. data/pact_broker.gemspec +8 -1
  33. data/public/css/bootstrap-grid.css +170 -17
  34. data/public/css/bootstrap-grid.css.map +1 -1
  35. data/public/css/bootstrap-grid.min.css +5 -5
  36. data/public/css/bootstrap-grid.min.css.map +1 -1
  37. data/public/css/bootstrap-reboot.css +16 -22
  38. data/public/css/bootstrap-reboot.css.map +1 -1
  39. data/public/css/bootstrap-reboot.min.css +5 -5
  40. data/public/css/bootstrap-reboot.min.css.map +1 -1
  41. data/public/css/bootstrap.css +585 -308
  42. data/public/css/bootstrap.css.map +1 -1
  43. data/public/css/bootstrap.min.css +5 -5
  44. data/public/css/bootstrap.min.css.map +1 -1
  45. data/public/images/question.svg +1 -0
  46. data/public/js/bootstrap.bundle.js +1294 -1335
  47. data/public/js/bootstrap.bundle.js.map +1 -1
  48. data/public/js/bootstrap.bundle.min.js +4 -4
  49. data/public/js/bootstrap.bundle.min.js.map +1 -1
  50. data/public/js/bootstrap.js +1232 -1310
  51. data/public/js/bootstrap.js.map +1 -1
  52. data/public/js/bootstrap.min.js +4 -4
  53. data/public/js/bootstrap.min.js.map +1 -1
  54. metadata +13 -1067
  55. data/.codeclimate.yml +0 -49
  56. data/.csslintrc +0 -2
  57. data/.dockerignore +0 -2
  58. data/.eslintignore +0 -1
  59. data/.eslintrc.yml +0 -277
  60. data/.github/FUNDING.yml +0 -4
  61. data/.github/ISSUE_TEMPLATE.md +0 -32
  62. data/.github/PULL_REQUEST_TEMPLATE.md +0 -9
  63. data/.github/workflows/release_gem.yml +0 -52
  64. data/.github/workflows/test-ruby-3.yml +0 -19
  65. data/.github/workflows/test.yml +0 -95
  66. data/.github/workflows/trigger_pact_docs_update.yml +0 -23
  67. data/.gitignore +0 -45
  68. data/.optic/.gitignore +0 -2
  69. data/.optic/api/specification.json +0 -1
  70. data/.optic/ignore +0 -14
  71. data/.rspec +0 -3
  72. data/.rubocop.yml +0 -314
  73. data/.ruby-version +0 -1
  74. data/CODE_OF_CONDUCT.md +0 -76
  75. data/CONTRIBUTING.md +0 -29
  76. data/DEVELOPER_DOCUMENTATION.md +0 -161
  77. data/DEVELOPER_SETUP.md +0 -165
  78. data/Dockerfile +0 -52
  79. data/ISSUES.md +0 -31
  80. data/LICENSE.txt +0 -22
  81. data/MATRIX.md +0 -4
  82. data/RELEASING.md +0 -5
  83. data/Rakefile +0 -23
  84. data/UPGRADING.md +0 -18
  85. data/config/boot.rb +0 -21
  86. data/config/database.travis.yml +0 -13
  87. data/config/database.yml +0 -79
  88. data/config.ru +0 -11
  89. data/db/test/backwards_compatibility/.rspec +0 -3
  90. data/db/test/backwards_compatibility/Appraisals +0 -57
  91. data/db/test/backwards_compatibility/Gemfile +0 -12
  92. data/db/test/backwards_compatibility/Rakefile +0 -72
  93. data/db/test/backwards_compatibility/config.ru +0 -21
  94. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile +0 -15
  95. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile.lock +0 -212
  96. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile +0 -15
  97. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile.lock +0 -210
  98. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile +0 -15
  99. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile.lock +0 -211
  100. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile +0 -15
  101. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile.lock +0 -199
  102. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile +0 -14
  103. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile.lock +0 -198
  104. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile +0 -14
  105. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile.lock +0 -198
  106. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile +0 -14
  107. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile.lock +0 -198
  108. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile +0 -14
  109. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile.lock +0 -198
  110. data/db/test/backwards_compatibility/gemfiles/head.gemfile +0 -14
  111. data/db/test/backwards_compatibility/gemfiles/head.gemfile.lock +0 -182
  112. data/db/test/backwards_compatibility/spec/fixtures/foo-bar.json +0 -22
  113. data/db/test/backwards_compatibility/spec/publish_pact_spec.rb +0 -72
  114. data/db/test/backwards_compatibility/spec/spec_helper.rb +0 -20
  115. data/db/test/backwards_compatibility/spec/support/fixture_helpers.rb +0 -12
  116. data/db/test/backwards_compatibility/spec/support/request_helpers.rb +0 -19
  117. data/db/test/change_migration_strategy/Rakefile +0 -21
  118. data/db/test/change_migration_strategy/before/Gemfile +0 -7
  119. data/docker-compose-ci-mysql.yml +0 -38
  120. data/docker-compose-dev-postgres.yml +0 -43
  121. data/docker-compose-issue-repro-with-pact-broker-docker-image.yml +0 -44
  122. data/docker-compose-test.yml +0 -102
  123. data/docs/configuration.yml +0 -385
  124. data/docs/images/Pactflow logo - black small.png +0 -0
  125. data/example/Gemfile +0 -6
  126. data/example/README.md +0 -64
  127. data/example/config/pact_broker.yml +0 -9
  128. data/example/config/puma.rb +0 -3
  129. data/example/config.ru +0 -10
  130. data/issue-reproduction/Dockerfile-pact-broker +0 -42
  131. data/optic.yml +0 -5
  132. data/pact_broker_client-pact_broker.json +0 -133
  133. data/public/js/npm.js +0 -13
  134. data/regression/.gitignore +0 -1
  135. data/regression/can_i_deploy_spec.rb +0 -43
  136. data/regression/index_spec.rb +0 -26
  137. data/regression/regression_helper.rb +0 -63
  138. data/regression/script/approval-all.sh +0 -6
  139. data/regression/script/clear.sh +0 -3
  140. data/regression/script/run.sh +0 -3
  141. data/scaffolding/README.md +0 -23
  142. data/scaffolding/run.rb +0 -242
  143. data/scaffolding/templates/decorator.rb.erb +0 -15
  144. data/scaffolding/templates/decorator_spec.erb.rb +0 -0
  145. data/scaffolding/templates/migration.erb +0 -12
  146. data/scaffolding/templates/model.erb +0 -14
  147. data/scaffolding/templates/repository.rb.erb +0 -18
  148. data/scaffolding/templates/repository_spec.rb.erb +0 -9
  149. data/scaffolding/templates/resource.erb +0 -46
  150. data/scaffolding/templates/resource_spec.rb.erb +0 -78
  151. data/scaffolding/templates/service.rb.erb +0 -22
  152. data/scaffolding/templates/service_spec.rb.erb +0 -9
  153. data/script/data/auto-create-things-for-tags.rb +0 -22
  154. data/script/data/branches.rb +0 -35
  155. data/script/data/contract-published-requiring-verification.rb +0 -26
  156. data/script/data/environments.rb +0 -45
  157. data/script/data/expand-currently-deployed.rb +0 -47
  158. data/script/data/issue-494.rb +0 -25
  159. data/script/data/pending.rb +0 -26
  160. data/script/data/tags.rb +0 -35
  161. data/script/data/verify-pact-for-multiple-selectors.rb +0 -30
  162. data/script/data/webhook.rb +0 -22
  163. data/script/db-spec.sh +0 -16
  164. data/script/demonstrate-version-branches.rb +0 -33
  165. data/script/dev/rubocop-modified-files.sh +0 -3
  166. data/script/dev/webhook-server-with-random-errors.sh +0 -25
  167. data/script/docker/db-execute-sql-file.sh +0 -2
  168. data/script/docker/db-psql.sh +0 -3
  169. data/script/docker/db-reload.sh +0 -11
  170. data/script/docker/db-restore.sh +0 -5
  171. data/script/docker/db-rm.sh +0 -3
  172. data/script/docker/db-start.sh +0 -7
  173. data/script/docker/mysql-db-start.sh +0 -10
  174. data/script/docker-container/test.sh +0 -3
  175. data/script/docs/generate-api-docs.rb +0 -117
  176. data/script/docs/generate-configuration-docs.rb +0 -107
  177. data/script/docs/regenerate-api-docs.sh +0 -11
  178. data/script/exercise-api-for-optic.sh +0 -3
  179. data/script/foo-bar-verification.json +0 -59
  180. data/script/foo-bar.json +0 -33
  181. data/script/generate-certificates-for-webooks-certificate-spec.rb +0 -49
  182. data/script/generate-erd +0 -55
  183. data/script/github-issues/add-branch-support/issue-text.txt +0 -7
  184. data/script/github-issues/add-branch-support/issues.txt +0 -0
  185. data/script/github-issues/add-branch-support/raise-issue-in-client-repos.sh +0 -10
  186. data/script/github-issues/add-branch-support-for-provider-versions/issue-text.txt +0 -9
  187. data/script/github-issues/add-branch-support-for-provider-versions/issues.txt +0 -6
  188. data/script/github-issues/add-branch-support-for-provider-versions/raise-issue-in-client-repos.sh +0 -10
  189. data/script/github-issues/branch-consumer-version-selector/issue-text.txt +0 -52
  190. data/script/github-issues/branch-consumer-version-selector/issues.txt +0 -9
  191. data/script/github-issues/branch-consumer-version-selector/raise-issue-in-client-repos.sh +0 -10
  192. data/script/github-issues/consumer-version-selectors-docs/issue-text.txt +0 -11
  193. data/script/github-issues/consumer-version-selectors-docs/issues.txt +0 -6
  194. data/script/github-issues/consumer-version-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  195. data/script/github-issues/deployed-and-released-selectors-docs/issue-text.txt +0 -26
  196. data/script/github-issues/deployed-and-released-selectors-docs/issues.txt +0 -9
  197. data/script/github-issues/deployed-and-released-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  198. data/script/github-issues/include-pending-by-default/issue-text.txt +0 -5
  199. data/script/github-issues/include-pending-by-default/issues.txt +0 -10
  200. data/script/github-issues/include-pending-by-default/raise-issue-in-client-repos.sh +0 -10
  201. data/script/import-pg-database.sh +0 -5
  202. data/script/insert-self-signed-certificate-from-url.rb +0 -35
  203. data/script/prod/clean-up.sql +0 -11
  204. data/script/prod/migrate-latest-pacts.sh +0 -29
  205. data/script/prod/redact-data.sql +0 -16
  206. data/script/pry.rb +0 -31
  207. data/script/publish-2.sh +0 -4
  208. data/script/publish-new.sh +0 -31
  209. data/script/publish-not-a-pact.sh +0 -4
  210. data/script/publish-verification.sh +0 -5
  211. data/script/publish.sh +0 -28
  212. data/script/query.rb +0 -20
  213. data/script/recreate-docker-pg-db.sh +0 -20
  214. data/script/recreate-mysql-db.sh +0 -18
  215. data/script/recreate-pg-db.sh +0 -16
  216. data/script/recreate-test-database.sh +0 -2
  217. data/script/release-via-github-action.sh +0 -7
  218. data/script/release.sh +0 -11
  219. data/script/reproduce-issue-can-i-deploy-ignore.rb +0 -48
  220. data/script/reproduce-issue-starting-up.rb +0 -38
  221. data/script/reproduce-issue.rb +0 -37
  222. data/script/restart.sh +0 -18
  223. data/script/run-with-ssl.rb +0 -44
  224. data/script/seed-example-matrix.rb +0 -105
  225. data/script/seed-for-webhook-test.rb +0 -59
  226. data/script/seed-matrix.rb +0 -90
  227. data/script/seed.rb +0 -101
  228. data/script/test/approval-all.sh +0 -6
  229. data/script/test/run-rake-on-docker-compose-mysql.sh +0 -8
  230. data/script/trigger-release.sh +0 -30
  231. data/script/update-hal-browser +0 -6
  232. data/script/watch.sh +0 -7
  233. data/script/webhook-server.ru +0 -10
  234. data/spec/features/base_equality_only_on_content_that_affects_verification_results_spec.rb +0 -34
  235. data/spec/features/can_i_deploy_spec.rb +0 -31
  236. data/spec/features/create_branch_version_spec.rb +0 -29
  237. data/spec/features/create_environment_spec.rb +0 -47
  238. data/spec/features/create_pacticipant_spec.rb +0 -36
  239. data/spec/features/create_tag_spec.rb +0 -42
  240. data/spec/features/create_version_spec.rb +0 -56
  241. data/spec/features/create_webhook_spec.rb +0 -189
  242. data/spec/features/delete_environment_spec.rb +0 -16
  243. data/spec/features/delete_integration_spec.rb +0 -27
  244. data/spec/features/delete_label_spec.rb +0 -28
  245. data/spec/features/delete_pact_spec.rb +0 -31
  246. data/spec/features/delete_pact_versions_for_branch_spec.rb +0 -34
  247. data/spec/features/delete_pact_versions_spec.rb +0 -29
  248. data/spec/features/delete_tagged_pact_versions_spec.rb +0 -28
  249. data/spec/features/delete_verification_spec.rb +0 -27
  250. data/spec/features/delete_version_spec.rb +0 -22
  251. data/spec/features/delete_webhook_spec.rb +0 -34
  252. data/spec/features/edit_webhook_spec.rb +0 -61
  253. data/spec/features/end_deployment_spec.rb +0 -29
  254. data/spec/features/end_support_spec.rb +0 -67
  255. data/spec/features/execute_unsaved_webhook_spec.rb +0 -53
  256. data/spec/features/execute_webhook_spec.rb +0 -92
  257. data/spec/features/get_branch_version_spec.rb +0 -12
  258. data/spec/features/get_can_i_deploy_badge_spec.rb +0 -13
  259. data/spec/features/get_currently_deployed_versions_for_environment_spec.rb +0 -76
  260. data/spec/features/get_currently_deployed_versions_for_version_spec.rb +0 -27
  261. data/spec/features/get_currently_supported_versions_for_environment_spec.rb +0 -57
  262. data/spec/features/get_dashboard_spec.rb +0 -29
  263. data/spec/features/get_deployed_versions_for_version_and_environment.rb +0 -27
  264. data/spec/features/get_diff_spec.rb +0 -53
  265. data/spec/features/get_environment_spec.rb +0 -19
  266. data/spec/features/get_environments_spec.rb +0 -30
  267. data/spec/features/get_integrations_dot_file_spec.rb +0 -23
  268. data/spec/features/get_integrations_spec.rb +0 -17
  269. data/spec/features/get_label_spec.rb +0 -28
  270. data/spec/features/get_latest_pact_badge_spec.rb +0 -54
  271. data/spec/features/get_latest_tagged_pact_badge_spec.rb +0 -38
  272. data/spec/features/get_latest_tagged_pact_spec.rb +0 -22
  273. data/spec/features/get_latest_untagged_pact_badge_spec.rb +0 -38
  274. data/spec/features/get_latest_untagged_pact_spec.rb +0 -22
  275. data/spec/features/get_latest_verification_for_pact_spec.rb +0 -59
  276. data/spec/features/get_matrix_badge_spec.rb +0 -50
  277. data/spec/features/get_matrix_for_consumer_and_provider_spec.rb +0 -22
  278. data/spec/features/get_matrix_spec.rb +0 -34
  279. data/spec/features/get_pact_spec.rb +0 -65
  280. data/spec/features/get_pact_version.rb +0 -36
  281. data/spec/features/get_pact_versions_spec.rb +0 -34
  282. data/spec/features/get_pacticipants_by_label_spec.rb +0 -27
  283. data/spec/features/get_previous_distinct_version.rb +0 -51
  284. data/spec/features/get_provider_pacts_for_verification_spec.rb +0 -95
  285. data/spec/features/get_provider_pacts_spec.rb +0 -93
  286. data/spec/features/get_released_versions_for_version_and_environment.rb +0 -27
  287. data/spec/features/get_tagged_pact_versions_spec.rb +0 -26
  288. data/spec/features/get_triggered_webhooks_for_pact_spec.rb +0 -20
  289. data/spec/features/get_triggered_webhooks_for_verification_spec.rb +0 -21
  290. data/spec/features/get_verifications_for_consumer_version_spec.rb +0 -33
  291. data/spec/features/get_version_spec.rb +0 -44
  292. data/spec/features/get_versions_spec.rb +0 -39
  293. data/spec/features/label_pacticipant_spec.rb +0 -22
  294. data/spec/features/merge_pact_spec.rb +0 -63
  295. data/spec/features/metadata_spec.rb +0 -66
  296. data/spec/features/metrics_spec.rb +0 -23
  297. data/spec/features/pending_pacts_spec.rb +0 -109
  298. data/spec/features/pending_pacts_with_tags_spec.rb +0 -138
  299. data/spec/features/publish_not_a_pact_spec.rb +0 -37
  300. data/spec/features/publish_pact_all_in_one_approval_spec.rb +0 -72
  301. data/spec/features/publish_pact_all_in_one_spec.rb +0 -61
  302. data/spec/features/publish_pact_spec.rb +0 -124
  303. data/spec/features/publish_verification_results_and_version_spec.rb +0 -70
  304. data/spec/features/publish_verification_spec.rb +0 -72
  305. data/spec/features/record_deployment_spec.rb +0 -106
  306. data/spec/features/record_release_spec.rb +0 -84
  307. data/spec/features/record_undeployment_spec.rb +0 -67
  308. data/spec/features/tag_version_spec.rb +0 -13
  309. data/spec/features/update_environment_spec.rb +0 -44
  310. data/spec/features/update_matrix_spec.rb +0 -146
  311. data/spec/features/update_pacticipant_spec.rb +0 -98
  312. data/spec/features/update_version_spec.rb +0 -100
  313. data/spec/features/update_webhook_spec.rb +0 -47
  314. data/spec/features/wip_pacts_spec.rb +0 -387
  315. data/spec/fixtures/a_consumer-a_provider-2.json +0 -22
  316. data/spec/fixtures/a_consumer-a_provider-3.json +0 -22
  317. data/spec/fixtures/a_consumer-a_provider-conflict.json +0 -22
  318. data/spec/fixtures/a_consumer-a_provider-merged.json +0 -34
  319. data/spec/fixtures/a_consumer-a_provider.json +0 -22
  320. data/spec/fixtures/approvals/clean_incremental_dry_run.approved.json +0 -100
  321. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_options.approved.json +0 -20
  322. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_post.approved.json +0 -43
  323. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_options.approved.json +0 -20
  324. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_post.approved.json +0 -63
  325. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_get.approved.json +0 -20
  326. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_options.approved.json +0 -20
  327. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_get.approved.json +0 -45
  328. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_options.approved.json +0 -20
  329. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_get.approved.json +0 -52
  330. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_options.approved.json +0 -20
  331. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_get.approved.json +0 -32
  332. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_options.approved.json +0 -20
  333. data/spec/fixtures/approvals/docs_webhooks_webhook_get.approved.json +0 -74
  334. data/spec/fixtures/approvals/docs_webhooks_webhook_options.approved.json +0 -20
  335. data/spec/fixtures/approvals/docs_webhooks_webhook_put.approved.json +0 -77
  336. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_get.approved.json +0 -41
  337. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_options.approved.json +0 -20
  338. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_get.approved.json +0 -45
  339. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_options.approved.json +0 -20
  340. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_get.approved.json +0 -41
  341. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_options.approved.json +0 -20
  342. data/spec/fixtures/approvals/docs_webhooks_webhooks_get.approved.json +0 -45
  343. data/spec/fixtures/approvals/docs_webhooks_webhooks_options.approved.json +0 -20
  344. data/spec/fixtures/approvals/docs_webhooks_webhooks_post.approved.json +0 -78
  345. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_get.approved.json +0 -79
  346. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_options.approved.json +0 -20
  347. data/spec/fixtures/approvals/get_provider_pacts_for_verification.approved.json +0 -56
  348. data/spec/fixtures/approvals/matrix_integration_environment_spec.approved.json +0 -62
  349. data/spec/fixtures/approvals/matrix_integration_ignore_spec.approved.json +0 -124
  350. data/spec/fixtures/approvals/matrix_integration_spec.approved.json +0 -173
  351. data/spec/fixtures/approvals/modifiable_resources.approved.json +0 -105
  352. data/spec/fixtures/approvals/publish_contract_no_branch.approved.json +0 -165
  353. data/spec/fixtures/approvals/publish_contract_nothing_exists.approved.json +0 -156
  354. data/spec/fixtures/approvals/publish_contract_nothing_exists_with_webhook.approved.json +0 -156
  355. data/spec/fixtures/approvals/publish_contract_verification_already_exists.approved.json +0 -147
  356. data/spec/fixtures/approvals/publish_contract_with_validation_error.approved.json +0 -41
  357. data/spec/fixtures/approvals/publish_contracts_results_decorator.approved.json +0 -61
  358. data/spec/fixtures/certificate-invalid.pem +0 -29
  359. data/spec/fixtures/certificate.pem +0 -53
  360. data/spec/fixtures/certificates/cacert.pem +0 -21
  361. data/spec/fixtures/certificates/cert.pem +0 -20
  362. data/spec/fixtures/certificates/key.pem +0 -27
  363. data/spec/fixtures/certificates/self-signed.badssl.com.pem +0 -21
  364. data/spec/fixtures/consumer-provider.json +0 -25
  365. data/spec/fixtures/dashboard.json +0 -87
  366. data/spec/fixtures/expected.gv +0 -4
  367. data/spec/fixtures/foo-bar.json +0 -22
  368. data/spec/fixtures/invalid-publish-contract-body.json +0 -38
  369. data/spec/fixtures/renderer_pact.json +0 -34
  370. data/spec/fixtures/update_pacticipant.json +0 -5
  371. data/spec/fixtures/updated_pacticipant.json +0 -11
  372. data/spec/fixtures/verification.json +0 -11
  373. data/spec/fixtures/webhook_valid.json +0 -17
  374. data/spec/fixtures/webhook_valid_with_pacticipants.json +0 -23
  375. data/spec/integration/app_spec.rb +0 -209
  376. data/spec/integration/endpoints/group_spec.rb +0 -19
  377. data/spec/integration/pact_metdata_spec.rb +0 -105
  378. data/spec/integration/ui/index_spec.rb +0 -50
  379. data/spec/integration/ui/matrix_spec.rb +0 -36
  380. data/spec/integration/webhooks/certificate_spec.rb +0 -47
  381. data/spec/integration/webhooks/contract_publication_spec.rb +0 -68
  382. data/spec/integration/webhooks/contract_requiring_verification_published_spec.rb +0 -67
  383. data/spec/integration/webhooks/pact_publication_spec.rb +0 -51
  384. data/spec/integration/webhooks_documentation_spec.rb +0 -348
  385. data/spec/lib/pact/doc/generator_spec.rb +0 -80
  386. data/spec/lib/pact/doc/interaction_view_model_spec.rb +0 -232
  387. data/spec/lib/pact/doc/markdown/consumer_contract_renderer_spec.rb +0 -71
  388. data/spec/lib/pact/doc/markdown/index_renderer_spec.rb +0 -29
  389. data/spec/lib/pact_broker/api/contracts/environment_schema_spec.rb +0 -91
  390. data/spec/lib/pact_broker/api/contracts/pacticipant_schema_spec.rb +0 -46
  391. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_combinations_spec.rb +0 -87
  392. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_spec.rb +0 -358
  393. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_query_string_schema_spec.rb +0 -97
  394. data/spec/lib/pact_broker/api/contracts/publish_contracts_schema_spec.rb +0 -127
  395. data/spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb +0 -133
  396. data/spec/lib/pact_broker/api/contracts/verification_contract_spec.rb +0 -112
  397. data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +0 -379
  398. data/spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb +0 -94
  399. data/spec/lib/pact_broker/api/decorators/embedded_label_decorator_spec.rb +0 -34
  400. data/spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb +0 -41
  401. data/spec/lib/pact_broker/api/decorators/embedded_version_decorator_spec.rb +0 -39
  402. data/spec/lib/pact_broker/api/decorators/extended_pact_decorator_spec.rb +0 -62
  403. data/spec/lib/pact_broker/api/decorators/integration_decorator_spec.rb +0 -86
  404. data/spec/lib/pact_broker/api/decorators/integrations_decorator_spec.rb +0 -29
  405. data/spec/lib/pact_broker/api/decorators/label_decorator_spec.rb +0 -42
  406. data/spec/lib/pact_broker/api/decorators/latest_pact_decorator_spec.rb +0 -25
  407. data/spec/lib/pact_broker/api/decorators/matrix_decorator_spec.rb +0 -259
  408. data/spec/lib/pact_broker/api/decorators/pact_collection_decorator_spec.rb +0 -23
  409. data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +0 -136
  410. data/spec/lib/pact_broker/api/decorators/pact_version_decorator_spec.rb +0 -61
  411. data/spec/lib/pact_broker/api/decorators/pact_webhooks_status_decorator_spec.rb +0 -138
  412. data/spec/lib/pact_broker/api/decorators/pacticipant_collection_decorator_spec.rb +0 -62
  413. data/spec/lib/pact_broker/api/decorators/pacticipant_decorator_spec.rb +0 -89
  414. data/spec/lib/pact_broker/api/decorators/pacts_for_verification_query_decorator_spec.rb +0 -175
  415. data/spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb +0 -58
  416. data/spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb +0 -53
  417. data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +0 -95
  418. data/spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb +0 -28
  419. data/spec/lib/pact_broker/api/decorators/representable_pact_spec.rb +0 -29
  420. data/spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb +0 -57
  421. data/spec/lib/pact_broker/api/decorators/tagged_pact_versions_decorator_spec.rb +0 -79
  422. data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +0 -69
  423. data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +0 -28
  424. data/spec/lib/pact_broker/api/decorators/verifiable_pact_decorator_spec.rb +0 -94
  425. data/spec/lib/pact_broker/api/decorators/verifiable_pacts_decorator_spec.rb +0 -29
  426. data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +0 -81
  427. data/spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb +0 -65
  428. data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +0 -121
  429. data/spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb +0 -49
  430. data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +0 -210
  431. data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +0 -128
  432. data/spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb +0 -78
  433. data/spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb +0 -48
  434. data/spec/lib/pact_broker/api/middleware/basic_auth_spec.rb +0 -312
  435. data/spec/lib/pact_broker/api/middleware/configuration_spec.rb +0 -43
  436. data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +0 -221
  437. data/spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb +0 -141
  438. data/spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb +0 -29
  439. data/spec/lib/pact_broker/api/resources/all_webhooks_spec.rb +0 -145
  440. data/spec/lib/pact_broker/api/resources/badge_spec.rb +0 -212
  441. data/spec/lib/pact_broker/api/resources/can_i_deploy_badge_spec.rb +0 -80
  442. data/spec/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_spec.rb +0 -31
  443. data/spec/lib/pact_broker/api/resources/can_i_deploy_spec.rb +0 -51
  444. data/spec/lib/pact_broker/api/resources/dashboard_spec.rb +0 -36
  445. data/spec/lib/pact_broker/api/resources/default_base_resource_approval_spec.rb +0 -60
  446. data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +0 -224
  447. data/spec/lib/pact_broker/api/resources/error_response_body_generator_spec.rb +0 -69
  448. data/spec/lib/pact_broker/api/resources/group_spec.rb +0 -82
  449. data/spec/lib/pact_broker/api/resources/latest_pact_spec.rb +0 -80
  450. data/spec/lib/pact_broker/api/resources/latest_provider_pacts_spec.rb +0 -52
  451. data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +0 -68
  452. data/spec/lib/pact_broker/api/resources/matrix_badge_spec.rb +0 -11
  453. data/spec/lib/pact_broker/api/resources/matrix_spec.rb +0 -42
  454. data/spec/lib/pact_broker/api/resources/pact_spec.rb +0 -178
  455. data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +0 -54
  456. data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +0 -60
  457. data/spec/lib/pact_broker/api/resources/pacticipant_webhooks_spec.rb +0 -238
  458. data/spec/lib/pact_broker/api/resources/pacticipants_spec.rb +0 -87
  459. data/spec/lib/pact_broker/api/resources/provider_pacts_for_verification_spec.rb +0 -116
  460. data/spec/lib/pact_broker/api/resources/provider_pacts_spec.rb +0 -75
  461. data/spec/lib/pact_broker/api/resources/released_version_spec.rb +0 -61
  462. data/spec/lib/pact_broker/api/resources/tag_spec.rb +0 -166
  463. data/spec/lib/pact_broker/api/resources/tagged_pact_versions_spec.rb +0 -96
  464. data/spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb +0 -32
  465. data/spec/lib/pact_broker/api/resources/verification_spec.rb +0 -87
  466. data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +0 -67
  467. data/spec/lib/pact_broker/api/resources/verifications_spec.rb +0 -135
  468. data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +0 -92
  469. data/spec/lib/pact_broker/api/resources/webhook_spec.rb +0 -115
  470. data/spec/lib/pact_broker/app_basic_auth_spec.rb +0 -122
  471. data/spec/lib/pact_broker/app_spec.rb +0 -348
  472. data/spec/lib/pact_broker/badges/service_spec.rb +0 -348
  473. data/spec/lib/pact_broker/build_http_options_spec.rb +0 -47
  474. data/spec/lib/pact_broker/certificates/service_spec.rb +0 -80
  475. data/spec/lib/pact_broker/config/load_spec.rb +0 -110
  476. data/spec/lib/pact_broker/config/runtime_configuration_documentation_spec.rb +0 -30
  477. data/spec/lib/pact_broker/config/runtime_configuration_logging_methods_spec.rb +0 -22
  478. data/spec/lib/pact_broker/config/runtime_configuration_spec.rb +0 -71
  479. data/spec/lib/pact_broker/config/save_spec.rb +0 -100
  480. data/spec/lib/pact_broker/config/space_delimited_integer_list_spec.rb +0 -47
  481. data/spec/lib/pact_broker/config/space_delimited_string_list_spec.rb +0 -45
  482. data/spec/lib/pact_broker/configuration_spec.rb +0 -167
  483. data/spec/lib/pact_broker/contracts/service_spec.rb +0 -193
  484. data/spec/lib/pact_broker/db/clean_incremental_spec.rb +0 -120
  485. data/spec/lib/pact_broker/db/clean_old_spec.rb +0 -123
  486. data/spec/lib/pact_broker/db/clean_spec.rb +0 -153
  487. data/spec/lib/pact_broker/db/data_migrations/create_branches_spec.rb +0 -57
  488. data/spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb +0 -78
  489. data/spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb +0 -40
  490. data/spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb +0 -38
  491. data/spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb +0 -68
  492. data/spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb +0 -41
  493. data/spec/lib/pact_broker/db/delete_overwritten_data_spec.rb +0 -161
  494. data/spec/lib/pact_broker/db/log_quietener_spec.rb +0 -52
  495. data/spec/lib/pact_broker/db/validate_encoding_spec.rb +0 -66
  496. data/spec/lib/pact_broker/deployments/deployed_version_service_spec.rb +0 -42
  497. data/spec/lib/pact_broker/deployments/deployed_version_spec.rb +0 -109
  498. data/spec/lib/pact_broker/deployments/environment_service_spec.rb +0 -58
  499. data/spec/lib/pact_broker/deployments/environment_spec.rb +0 -27
  500. data/spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb +0 -85
  501. data/spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb +0 -34
  502. data/spec/lib/pact_broker/doc/controllers/app_spec.rb +0 -82
  503. data/spec/lib/pact_broker/doc/coverage_spec.rb +0 -39
  504. data/spec/lib/pact_broker/domain/group_spec.rb +0 -25
  505. data/spec/lib/pact_broker/domain/index_item_spec.rb +0 -24
  506. data/spec/lib/pact_broker/domain/order_versions_spec.rb +0 -84
  507. data/spec/lib/pact_broker/domain/pact_spec.rb +0 -27
  508. data/spec/lib/pact_broker/domain/tag_spec.rb +0 -134
  509. data/spec/lib/pact_broker/domain/verification_spec.rb +0 -133
  510. data/spec/lib/pact_broker/domain/version_spec.rb +0 -490
  511. data/spec/lib/pact_broker/domain/webhook_request_spec.rb +0 -196
  512. data/spec/lib/pact_broker/domain/webhook_spec.rb +0 -168
  513. data/spec/lib/pact_broker/errors/error_logger_spec.rb +0 -65
  514. data/spec/lib/pact_broker/errors_spec.rb +0 -54
  515. data/spec/lib/pact_broker/events/subscriber_spec.rb +0 -43
  516. data/spec/lib/pact_broker/feature_toggle_spec.rb +0 -80
  517. data/spec/lib/pact_broker/groups/service_spec.rb +0 -52
  518. data/spec/lib/pact_broker/hash_refinements_spec.rb +0 -63
  519. data/spec/lib/pact_broker/index/service_spec.rb +0 -400
  520. data/spec/lib/pact_broker/index/service_view_spec.rb +0 -144
  521. data/spec/lib/pact_broker/integrations/integration_spec.rb +0 -108
  522. data/spec/lib/pact_broker/integrations/service_spec.rb +0 -282
  523. data/spec/lib/pact_broker/labels/repository_spec.rb +0 -124
  524. data/spec/lib/pact_broker/labels/service_spec.rb +0 -28
  525. data/spec/lib/pact_broker/matrix/aggregated_row_spec.rb +0 -100
  526. data/spec/lib/pact_broker/matrix/can_i_deploy_query_schema_spec.rb +0 -72
  527. data/spec/lib/pact_broker/matrix/deployment_status_summary_spec.rb +0 -300
  528. data/spec/lib/pact_broker/matrix/every_row_spec.rb +0 -133
  529. data/spec/lib/pact_broker/matrix/head_row_spec.rb +0 -89
  530. data/spec/lib/pact_broker/matrix/integration_environment_spec.rb +0 -187
  531. data/spec/lib/pact_broker/matrix/integration_ignore_spec.rb +0 -238
  532. data/spec/lib/pact_broker/matrix/integration_spec.rb +0 -504
  533. data/spec/lib/pact_broker/matrix/parse_can_i_deploy_query_spec.rb +0 -77
  534. data/spec/lib/pact_broker/matrix/parse_query_spec.rb +0 -141
  535. data/spec/lib/pact_broker/matrix/quick_row_spec.rb +0 -74
  536. data/spec/lib/pact_broker/matrix/repository_dependency_spec.rb +0 -56
  537. data/spec/lib/pact_broker/matrix/repository_query_limit_spec.rb +0 -78
  538. data/spec/lib/pact_broker/matrix/repository_spec.rb +0 -888
  539. data/spec/lib/pact_broker/matrix/row_spec.rb +0 -74
  540. data/spec/lib/pact_broker/matrix/service_spec.rb +0 -200
  541. data/spec/lib/pact_broker/messages_spec.rb +0 -29
  542. data/spec/lib/pact_broker/metrics/service_spec.rb +0 -131
  543. data/spec/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names_spec.rb +0 -63
  544. data/spec/lib/pact_broker/pacticipants/generate_display_name_spec.rb +0 -39
  545. data/spec/lib/pact_broker/pacticipants/repository_spec.rb +0 -239
  546. data/spec/lib/pact_broker/pacticipants/service_spec.rb +0 -217
  547. data/spec/lib/pact_broker/pacts/build_verifiable_pact_notices_spec.rb +0 -75
  548. data/spec/lib/pact_broker/pacts/content_spec.rb +0 -447
  549. data/spec/lib/pact_broker/pacts/create_formatted_diff_spec.rb +0 -29
  550. data/spec/lib/pact_broker/pacts/diff_spec.rb +0 -99
  551. data/spec/lib/pact_broker/pacts/generate_interaction_sha_spec.rb +0 -45
  552. data/spec/lib/pact_broker/pacts/generate_sha_spec.rb +0 -92
  553. data/spec/lib/pact_broker/pacts/merger_spec.rb +0 -171
  554. data/spec/lib/pact_broker/pacts/metadata_spec.rb +0 -147
  555. data/spec/lib/pact_broker/pacts/pact_params_spec.rb +0 -111
  556. data/spec/lib/pact_broker/pacts/pact_publication_clean_selector_dataset_module_spec.rb +0 -97
  557. data/spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb +0 -499
  558. data/spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb +0 -29
  559. data/spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb +0 -185
  560. data/spec/lib/pact_broker/pacts/pact_publication_spec.rb +0 -559
  561. data/spec/lib/pact_broker/pacts/pact_version_spec.rb +0 -343
  562. data/spec/lib/pact_broker/pacts/repository_find_for_currently_deployed_spec.rb +0 -124
  563. data/spec/lib/pact_broker/pacts/repository_find_for_currently_supported_releases_spec.rb +0 -159
  564. data/spec/lib/pact_broker/pacts/repository_find_for_verification_fallback_spec.rb +0 -87
  565. data/spec/lib/pact_broker/pacts/repository_find_for_verification_spec.rb +0 -380
  566. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_branch_spec.rb +0 -282
  567. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_spec.rb +0 -375
  568. data/spec/lib/pact_broker/pacts/repository_spec.rb +0 -1079
  569. data/spec/lib/pact_broker/pacts/selected_pact_spec.rb +0 -23
  570. data/spec/lib/pact_broker/pacts/selector_spec.rb +0 -77
  571. data/spec/lib/pact_broker/pacts/selectors_spec.rb +0 -30
  572. data/spec/lib/pact_broker/pacts/service_spec.rb +0 -355
  573. data/spec/lib/pact_broker/pacts/sort_content_spec.rb +0 -57
  574. data/spec/lib/pact_broker/pacts/squash_pacts_for_verification_spec.rb +0 -70
  575. data/spec/lib/pact_broker/pacts/verifiable_pact_messages_spec.rb +0 -253
  576. data/spec/lib/pact_broker/pacts/verifiable_pact_spec.rb +0 -0
  577. data/spec/lib/pact_broker/relationships/groupify_spec.rb +0 -43
  578. data/spec/lib/pact_broker/tags/repository_spec.rb +0 -144
  579. data/spec/lib/pact_broker/tags/service_spec.rb +0 -66
  580. data/spec/lib/pact_broker/ui/controllers/can_i_deploy_spec.rb +0 -26
  581. data/spec/lib/pact_broker/ui/controllers/clusters_spec.rb +0 -27
  582. data/spec/lib/pact_broker/ui/controllers/index_spec.rb +0 -132
  583. data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +0 -173
  584. data/spec/lib/pact_broker/ui/view_models/index_items_spec.rb +0 -35
  585. data/spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb +0 -29
  586. data/spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb +0 -41
  587. data/spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb +0 -56
  588. data/spec/lib/pact_broker/verifications/repository_spec.rb +0 -350
  589. data/spec/lib/pact_broker/verifications/sequence_spec.rb +0 -73
  590. data/spec/lib/pact_broker/verifications/service_spec.rb +0 -266
  591. data/spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb +0 -72
  592. data/spec/lib/pact_broker/versions/abbreviate_number_spec.rb +0 -23
  593. data/spec/lib/pact_broker/versions/branch_service_spec.rb +0 -71
  594. data/spec/lib/pact_broker/versions/branch_version_repository_spec.rb +0 -81
  595. data/spec/lib/pact_broker/versions/branch_version_spec.rb +0 -27
  596. data/spec/lib/pact_broker/versions/parse_semantic_version_spec.rb +0 -42
  597. data/spec/lib/pact_broker/versions/repository_spec.rb +0 -302
  598. data/spec/lib/pact_broker/versions/service_spec.rb +0 -137
  599. data/spec/lib/pact_broker/webhooks/check_host_whitelist_spec.rb +0 -85
  600. data/spec/lib/pact_broker/webhooks/execution_configuration_spec.rb +0 -18
  601. data/spec/lib/pact_broker/webhooks/job_spec.rb +0 -188
  602. data/spec/lib/pact_broker/webhooks/pact_and_verification_parameters_spec.rb +0 -16
  603. data/spec/lib/pact_broker/webhooks/redact_logs_spec.rb +0 -60
  604. data/spec/lib/pact_broker/webhooks/render_spec.rb +0 -221
  605. data/spec/lib/pact_broker/webhooks/repository_spec.rb +0 -933
  606. data/spec/lib/pact_broker/webhooks/service_spec.rb +0 -184
  607. data/spec/lib/pact_broker/webhooks/status_spec.rb +0 -54
  608. data/spec/lib/pact_broker/webhooks/trigger_service_spec.rb +0 -461
  609. data/spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb +0 -40
  610. data/spec/lib/pact_broker/webhooks/webhook_request_logger_spec.rb +0 -207
  611. data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +0 -227
  612. data/spec/lib/pact_broker/webhooks/webhook_spec.rb +0 -39
  613. data/spec/lib/rack/hal_browser/redirect_spec.rb +0 -63
  614. data/spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb +0 -16
  615. data/spec/lib/rack/pact_broker/database_transaction_spec.rb +0 -77
  616. data/spec/lib/rack/pact_broker/invalid_uri_protection_spec.rb +0 -50
  617. data/spec/lib/rack/pact_broker/request_target_spec.rb +0 -69
  618. data/spec/lib/rack/pact_broker/set_base_url_spec.rb +0 -86
  619. data/spec/lib/rack/pact_broker/use_when_spec.rb +0 -49
  620. data/spec/lib/sequel/plugins/insert_ignore_spec.rb +0 -82
  621. data/spec/lib/sequel/plugins/upsert_spec.rb +0 -159
  622. data/spec/lib/webmachine/rack_adapter_monkey_patch_spec.rb +0 -49
  623. data/spec/migrations/20180201_create_head_matrix_spec.rb +0 -132
  624. data/spec/migrations/23_pact_versions_spec.rb +0 -77
  625. data/spec/migrations/24_populate_pact_contents_spec.rb +0 -22
  626. data/spec/migrations/34_latest_tagged_pacts_spec.rb +0 -84
  627. data/spec/migrations/34_pact_revisions_spec.rb +0 -82
  628. data/spec/migrations/41_migrate_execution_data_spec.rb +0 -109
  629. data/spec/migrations/42_delete_ophan_webhook_data_spec.rb +0 -98
  630. data/spec/migrations/44_add_provider_version_to_verification_spec.rb +0 -56
  631. data/spec/migrations/50_create_latest_matrix_spec.rb +0 -181
  632. data/spec/migrations/change_migration_strategy_spec.rb +0 -85
  633. data/spec/migrations/rollback_spec.rb +0 -8
  634. data/spec/service_consumers/hal_relation_proxy_app.rb +0 -61
  635. data/spec/service_consumers/pact_helper.rb +0 -61
  636. data/spec/service_consumers/provider_states_for_pact_broker_client.rb +0 -341
  637. data/spec/service_consumers/provider_states_for_pact_broker_client_2.rb +0 -36
  638. data/spec/service_consumers/provider_states_for_pact_ruby.rb +0 -158
  639. data/spec/spec_helper.rb +0 -65
  640. data/spec/support/approvals.rb +0 -55
  641. data/spec/support/database.rb +0 -9
  642. data/spec/support/database_cleaner.rb +0 -44
  643. data/spec/support/documentation.rb +0 -64
  644. data/spec/support/fixture_helpers.rb +0 -10
  645. data/spec/support/fixture_pact.rb +0 -34
  646. data/spec/support/foo-bar.json +0 -34
  647. data/spec/support/generated_index.md +0 -4
  648. data/spec/support/generated_markdown.md +0 -55
  649. data/spec/support/interaction_view_model.json +0 -63
  650. data/spec/support/interaction_view_model_with_terms.json +0 -50
  651. data/spec/support/logging.rb +0 -6
  652. data/spec/support/markdown_pact.json +0 -48
  653. data/spec/support/markdown_pact_v3.json +0 -44
  654. data/spec/support/markdown_pact_with_html.json +0 -27
  655. data/spec/support/markdown_pact_with_markdown_chars_in_names.json +0 -11
  656. data/spec/support/metadata_test_server.rb +0 -40
  657. data/spec/support/migration_helpers.rb +0 -16
  658. data/spec/support/rack_helpers.rb +0 -20
  659. data/spec/support/rspec_match_hash.rb +0 -26
  660. data/spec/support/rspec_matchers.rb +0 -9
  661. data/spec/support/shared_context.rb +0 -32
  662. data/spec/support/shared_examples_for_responses.rb +0 -96
  663. data/spec/support/simplecov.rb +0 -23
  664. data/spec/support/ssl_pact_broker_server.rb +0 -46
  665. data/spec/support/ssl_webhook_server.rb +0 -39
  666. data/spec/support/test_data_builder.rb +0 -3
  667. data/spec/support/verification_job.rb +0 -37
  668. data/spec/support/warning_silencer.rb +0 -10
  669. data/spec/support/webhook_endpoint_middleware.rb +0 -22
  670. data/tasks/audit.rake +0 -6
  671. data/tasks/database/annotate.rb +0 -48
  672. data/tasks/database/table_dependency_calculator.rb +0 -8
  673. data/tasks/database.rb +0 -161
  674. data/tasks/db.rake +0 -147
  675. data/tasks/development.rake +0 -52
  676. data/tasks/docker_database.rb +0 -26
  677. data/tasks/pact.rake +0 -16
  678. data/tasks/release.rake +0 -6
  679. data/tasks/rspec.rake +0 -32
  680. data/tasks/test_db.rake +0 -32
  681. data/vendor/hal-browser/.gitignore +0 -1
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors
4
- * Copyright 2011-2019 Twitter, Inc.
5
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap v4.6.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors
4
+ * Copyright 2011-2021 Twitter, Inc.
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
6
  */
7
7
  :root {
8
8
  --blue: #007bff;
@@ -31,7 +31,7 @@
31
31
  --breakpoint-md: 768px;
32
32
  --breakpoint-lg: 992px;
33
33
  --breakpoint-xl: 1200px;
34
- --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
34
+ --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
35
35
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
36
36
  }
37
37
 
@@ -54,7 +54,7 @@ article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
54
54
 
55
55
  body {
56
56
  margin: 0;
57
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
57
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
58
58
  font-size: 1rem;
59
59
  font-weight: 400;
60
60
  line-height: 1.5;
@@ -63,7 +63,7 @@ body {
63
63
  background-color: #fff;
64
64
  }
65
65
 
66
- [tabindex="-1"]:focus {
66
+ [tabindex="-1"]:focus:not(:focus-visible) {
67
67
  outline: 0 !important;
68
68
  }
69
69
 
@@ -163,20 +163,16 @@ a:hover {
163
163
  text-decoration: underline;
164
164
  }
165
165
 
166
- a:not([href]):not([tabindex]) {
166
+ a:not([href]):not([class]) {
167
167
  color: inherit;
168
168
  text-decoration: none;
169
169
  }
170
170
 
171
- a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
171
+ a:not([href]):not([class]):hover {
172
172
  color: inherit;
173
173
  text-decoration: none;
174
174
  }
175
175
 
176
- a:not([href]):not([tabindex]):focus {
177
- outline: 0;
178
- }
179
-
180
176
  pre,
181
177
  code,
182
178
  kbd,
@@ -189,6 +185,7 @@ pre {
189
185
  margin-top: 0;
190
186
  margin-bottom: 1rem;
191
187
  overflow: auto;
188
+ -ms-overflow-style: scrollbar;
192
189
  }
193
190
 
194
191
  figure {
@@ -219,6 +216,7 @@ caption {
219
216
 
220
217
  th {
221
218
  text-align: inherit;
219
+ text-align: -webkit-match-parent;
222
220
  }
223
221
 
224
222
  label {
@@ -230,9 +228,8 @@ button {
230
228
  border-radius: 0;
231
229
  }
232
230
 
233
- button:focus {
234
- outline: 1px dotted;
235
- outline: 5px auto -webkit-focus-ring-color;
231
+ button:focus:not(:focus-visible) {
232
+ outline: 0;
236
233
  }
237
234
 
238
235
  input,
@@ -256,6 +253,10 @@ select {
256
253
  text-transform: none;
257
254
  }
258
255
 
256
+ [role="button"] {
257
+ cursor: pointer;
258
+ }
259
+
259
260
  select {
260
261
  word-wrap: normal;
261
262
  }
@@ -288,13 +289,6 @@ input[type="checkbox"] {
288
289
  padding: 0;
289
290
  }
290
291
 
291
- input[type="date"],
292
- input[type="time"],
293
- input[type="datetime-local"],
294
- input[type="month"] {
295
- -webkit-appearance: listbox;
296
- }
297
-
298
292
  textarea {
299
293
  overflow: auto;
300
294
  resize: vertical;
@@ -507,7 +501,7 @@ mark,
507
501
  code {
508
502
  font-size: 87.5%;
509
503
  color: #e83e8c;
510
- word-break: break-word;
504
+ word-wrap: break-word;
511
505
  }
512
506
 
513
507
  a > code {
@@ -545,7 +539,12 @@ pre code {
545
539
  overflow-y: scroll;
546
540
  }
547
541
 
548
- .container {
542
+ .container,
543
+ .container-fluid,
544
+ .container-sm,
545
+ .container-md,
546
+ .container-lg,
547
+ .container-xl {
549
548
  width: 100%;
550
549
  padding-right: 15px;
551
550
  padding-left: 15px;
@@ -554,37 +553,29 @@ pre code {
554
553
  }
555
554
 
556
555
  @media (min-width: 576px) {
557
- .container {
556
+ .container, .container-sm {
558
557
  max-width: 540px;
559
558
  }
560
559
  }
561
560
 
562
561
  @media (min-width: 768px) {
563
- .container {
562
+ .container, .container-sm, .container-md {
564
563
  max-width: 720px;
565
564
  }
566
565
  }
567
566
 
568
567
  @media (min-width: 992px) {
569
- .container {
568
+ .container, .container-sm, .container-md, .container-lg {
570
569
  max-width: 960px;
571
570
  }
572
571
  }
573
572
 
574
573
  @media (min-width: 1200px) {
575
- .container {
574
+ .container, .container-sm, .container-md, .container-lg, .container-xl {
576
575
  max-width: 1140px;
577
576
  }
578
577
  }
579
578
 
580
- .container-fluid {
581
- width: 100%;
582
- padding-right: 15px;
583
- padding-left: 15px;
584
- margin-right: auto;
585
- margin-left: auto;
586
- }
587
-
588
579
  .row {
589
580
  display: -ms-flexbox;
590
581
  display: flex;
@@ -625,6 +616,42 @@ pre code {
625
616
  max-width: 100%;
626
617
  }
627
618
 
619
+ .row-cols-1 > * {
620
+ -ms-flex: 0 0 100%;
621
+ flex: 0 0 100%;
622
+ max-width: 100%;
623
+ }
624
+
625
+ .row-cols-2 > * {
626
+ -ms-flex: 0 0 50%;
627
+ flex: 0 0 50%;
628
+ max-width: 50%;
629
+ }
630
+
631
+ .row-cols-3 > * {
632
+ -ms-flex: 0 0 33.333333%;
633
+ flex: 0 0 33.333333%;
634
+ max-width: 33.333333%;
635
+ }
636
+
637
+ .row-cols-4 > * {
638
+ -ms-flex: 0 0 25%;
639
+ flex: 0 0 25%;
640
+ max-width: 25%;
641
+ }
642
+
643
+ .row-cols-5 > * {
644
+ -ms-flex: 0 0 20%;
645
+ flex: 0 0 20%;
646
+ max-width: 20%;
647
+ }
648
+
649
+ .row-cols-6 > * {
650
+ -ms-flex: 0 0 16.666667%;
651
+ flex: 0 0 16.666667%;
652
+ max-width: 16.666667%;
653
+ }
654
+
628
655
  .col-auto {
629
656
  -ms-flex: 0 0 auto;
630
657
  flex: 0 0 auto;
@@ -831,6 +858,36 @@ pre code {
831
858
  flex-grow: 1;
832
859
  max-width: 100%;
833
860
  }
861
+ .row-cols-sm-1 > * {
862
+ -ms-flex: 0 0 100%;
863
+ flex: 0 0 100%;
864
+ max-width: 100%;
865
+ }
866
+ .row-cols-sm-2 > * {
867
+ -ms-flex: 0 0 50%;
868
+ flex: 0 0 50%;
869
+ max-width: 50%;
870
+ }
871
+ .row-cols-sm-3 > * {
872
+ -ms-flex: 0 0 33.333333%;
873
+ flex: 0 0 33.333333%;
874
+ max-width: 33.333333%;
875
+ }
876
+ .row-cols-sm-4 > * {
877
+ -ms-flex: 0 0 25%;
878
+ flex: 0 0 25%;
879
+ max-width: 25%;
880
+ }
881
+ .row-cols-sm-5 > * {
882
+ -ms-flex: 0 0 20%;
883
+ flex: 0 0 20%;
884
+ max-width: 20%;
885
+ }
886
+ .row-cols-sm-6 > * {
887
+ -ms-flex: 0 0 16.666667%;
888
+ flex: 0 0 16.666667%;
889
+ max-width: 16.666667%;
890
+ }
834
891
  .col-sm-auto {
835
892
  -ms-flex: 0 0 auto;
836
893
  flex: 0 0 auto;
@@ -1003,6 +1060,36 @@ pre code {
1003
1060
  flex-grow: 1;
1004
1061
  max-width: 100%;
1005
1062
  }
1063
+ .row-cols-md-1 > * {
1064
+ -ms-flex: 0 0 100%;
1065
+ flex: 0 0 100%;
1066
+ max-width: 100%;
1067
+ }
1068
+ .row-cols-md-2 > * {
1069
+ -ms-flex: 0 0 50%;
1070
+ flex: 0 0 50%;
1071
+ max-width: 50%;
1072
+ }
1073
+ .row-cols-md-3 > * {
1074
+ -ms-flex: 0 0 33.333333%;
1075
+ flex: 0 0 33.333333%;
1076
+ max-width: 33.333333%;
1077
+ }
1078
+ .row-cols-md-4 > * {
1079
+ -ms-flex: 0 0 25%;
1080
+ flex: 0 0 25%;
1081
+ max-width: 25%;
1082
+ }
1083
+ .row-cols-md-5 > * {
1084
+ -ms-flex: 0 0 20%;
1085
+ flex: 0 0 20%;
1086
+ max-width: 20%;
1087
+ }
1088
+ .row-cols-md-6 > * {
1089
+ -ms-flex: 0 0 16.666667%;
1090
+ flex: 0 0 16.666667%;
1091
+ max-width: 16.666667%;
1092
+ }
1006
1093
  .col-md-auto {
1007
1094
  -ms-flex: 0 0 auto;
1008
1095
  flex: 0 0 auto;
@@ -1175,6 +1262,36 @@ pre code {
1175
1262
  flex-grow: 1;
1176
1263
  max-width: 100%;
1177
1264
  }
1265
+ .row-cols-lg-1 > * {
1266
+ -ms-flex: 0 0 100%;
1267
+ flex: 0 0 100%;
1268
+ max-width: 100%;
1269
+ }
1270
+ .row-cols-lg-2 > * {
1271
+ -ms-flex: 0 0 50%;
1272
+ flex: 0 0 50%;
1273
+ max-width: 50%;
1274
+ }
1275
+ .row-cols-lg-3 > * {
1276
+ -ms-flex: 0 0 33.333333%;
1277
+ flex: 0 0 33.333333%;
1278
+ max-width: 33.333333%;
1279
+ }
1280
+ .row-cols-lg-4 > * {
1281
+ -ms-flex: 0 0 25%;
1282
+ flex: 0 0 25%;
1283
+ max-width: 25%;
1284
+ }
1285
+ .row-cols-lg-5 > * {
1286
+ -ms-flex: 0 0 20%;
1287
+ flex: 0 0 20%;
1288
+ max-width: 20%;
1289
+ }
1290
+ .row-cols-lg-6 > * {
1291
+ -ms-flex: 0 0 16.666667%;
1292
+ flex: 0 0 16.666667%;
1293
+ max-width: 16.666667%;
1294
+ }
1178
1295
  .col-lg-auto {
1179
1296
  -ms-flex: 0 0 auto;
1180
1297
  flex: 0 0 auto;
@@ -1347,6 +1464,36 @@ pre code {
1347
1464
  flex-grow: 1;
1348
1465
  max-width: 100%;
1349
1466
  }
1467
+ .row-cols-xl-1 > * {
1468
+ -ms-flex: 0 0 100%;
1469
+ flex: 0 0 100%;
1470
+ max-width: 100%;
1471
+ }
1472
+ .row-cols-xl-2 > * {
1473
+ -ms-flex: 0 0 50%;
1474
+ flex: 0 0 50%;
1475
+ max-width: 50%;
1476
+ }
1477
+ .row-cols-xl-3 > * {
1478
+ -ms-flex: 0 0 33.333333%;
1479
+ flex: 0 0 33.333333%;
1480
+ max-width: 33.333333%;
1481
+ }
1482
+ .row-cols-xl-4 > * {
1483
+ -ms-flex: 0 0 25%;
1484
+ flex: 0 0 25%;
1485
+ max-width: 25%;
1486
+ }
1487
+ .row-cols-xl-5 > * {
1488
+ -ms-flex: 0 0 20%;
1489
+ flex: 0 0 20%;
1490
+ max-width: 20%;
1491
+ }
1492
+ .row-cols-xl-6 > * {
1493
+ -ms-flex: 0 0 16.666667%;
1494
+ flex: 0 0 16.666667%;
1495
+ max-width: 16.666667%;
1496
+ }
1350
1497
  .col-xl-auto {
1351
1498
  -ms-flex: 0 0 auto;
1352
1499
  flex: 0 0 auto;
@@ -1919,6 +2066,20 @@ pre code {
1919
2066
  opacity: 1;
1920
2067
  }
1921
2068
 
2069
+ input[type="date"].form-control,
2070
+ input[type="time"].form-control,
2071
+ input[type="datetime-local"].form-control,
2072
+ input[type="month"].form-control {
2073
+ -webkit-appearance: none;
2074
+ -moz-appearance: none;
2075
+ appearance: none;
2076
+ }
2077
+
2078
+ select.form-control:-moz-focusring {
2079
+ color: transparent;
2080
+ text-shadow: 0 0 0 #495057;
2081
+ }
2082
+
1922
2083
  select.form-control:focus::-ms-value {
1923
2084
  color: #495057;
1924
2085
  background-color: #fff;
@@ -1955,9 +2116,9 @@ select.form-control:focus::-ms-value {
1955
2116
  .form-control-plaintext {
1956
2117
  display: block;
1957
2118
  width: 100%;
1958
- padding-top: 0.375rem;
1959
- padding-bottom: 0.375rem;
2119
+ padding: 0.375rem 0;
1960
2120
  margin-bottom: 0;
2121
+ font-size: 1rem;
1961
2122
  line-height: 1.5;
1962
2123
  color: #212529;
1963
2124
  background-color: transparent;
@@ -2030,6 +2191,7 @@ textarea.form-control {
2030
2191
  margin-left: -1.25rem;
2031
2192
  }
2032
2193
 
2194
+ .form-check-input[disabled] ~ .form-check-label,
2033
2195
  .form-check-input:disabled ~ .form-check-label {
2034
2196
  color: #6c757d;
2035
2197
  }
@@ -2065,6 +2227,7 @@ textarea.form-control {
2065
2227
  .valid-tooltip {
2066
2228
  position: absolute;
2067
2229
  top: 100%;
2230
+ left: 0;
2068
2231
  z-index: 5;
2069
2232
  display: none;
2070
2233
  max-width: 100%;
@@ -2077,12 +2240,24 @@ textarea.form-control {
2077
2240
  border-radius: 0.25rem;
2078
2241
  }
2079
2242
 
2243
+ .form-row > .col > .valid-tooltip,
2244
+ .form-row > [class*="col-"] > .valid-tooltip {
2245
+ left: 5px;
2246
+ }
2247
+
2248
+ .was-validated :valid ~ .valid-feedback,
2249
+ .was-validated :valid ~ .valid-tooltip,
2250
+ .is-valid ~ .valid-feedback,
2251
+ .is-valid ~ .valid-tooltip {
2252
+ display: block;
2253
+ }
2254
+
2080
2255
  .was-validated .form-control:valid, .form-control.is-valid {
2081
2256
  border-color: #28a745;
2082
- padding-right: calc(1.5em + 0.75rem);
2083
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
2257
+ padding-right: calc(1.5em + 0.75rem) !important;
2258
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
2084
2259
  background-repeat: no-repeat;
2085
- background-position: center right calc(0.375em + 0.1875rem);
2260
+ background-position: right calc(0.375em + 0.1875rem) center;
2086
2261
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
2087
2262
  }
2088
2263
 
@@ -2091,10 +2266,9 @@ textarea.form-control {
2091
2266
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
2092
2267
  }
2093
2268
 
2094
- .was-validated .form-control:valid ~ .valid-feedback,
2095
- .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
2096
- .form-control.is-valid ~ .valid-tooltip {
2097
- display: block;
2269
+ .was-validated select.form-control:valid, select.form-control.is-valid {
2270
+ padding-right: 3rem !important;
2271
+ background-position: right 1.5rem center;
2098
2272
  }
2099
2273
 
2100
2274
  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {
@@ -2104,8 +2278,8 @@ textarea.form-control {
2104
2278
 
2105
2279
  .was-validated .custom-select:valid, .custom-select.is-valid {
2106
2280
  border-color: #28a745;
2107
- padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
2108
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
2281
+ padding-right: calc(0.75em + 2.3125rem) !important;
2282
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
2109
2283
  }
2110
2284
 
2111
2285
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
@@ -2113,18 +2287,6 @@ textarea.form-control {
2113
2287
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
2114
2288
  }
2115
2289
 
2116
- .was-validated .custom-select:valid ~ .valid-feedback,
2117
- .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
2118
- .custom-select.is-valid ~ .valid-tooltip {
2119
- display: block;
2120
- }
2121
-
2122
- .was-validated .form-control-file:valid ~ .valid-feedback,
2123
- .was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
2124
- .form-control-file.is-valid ~ .valid-tooltip {
2125
- display: block;
2126
- }
2127
-
2128
2290
  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
2129
2291
  color: #28a745;
2130
2292
  }
@@ -2143,12 +2305,6 @@ textarea.form-control {
2143
2305
  border-color: #28a745;
2144
2306
  }
2145
2307
 
2146
- .was-validated .custom-control-input:valid ~ .valid-feedback,
2147
- .was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
2148
- .custom-control-input.is-valid ~ .valid-tooltip {
2149
- display: block;
2150
- }
2151
-
2152
2308
  .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
2153
2309
  border-color: #34ce57;
2154
2310
  background-color: #34ce57;
@@ -2166,12 +2322,6 @@ textarea.form-control {
2166
2322
  border-color: #28a745;
2167
2323
  }
2168
2324
 
2169
- .was-validated .custom-file-input:valid ~ .valid-feedback,
2170
- .was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
2171
- .custom-file-input.is-valid ~ .valid-tooltip {
2172
- display: block;
2173
- }
2174
-
2175
2325
  .was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
2176
2326
  border-color: #28a745;
2177
2327
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
@@ -2188,6 +2338,7 @@ textarea.form-control {
2188
2338
  .invalid-tooltip {
2189
2339
  position: absolute;
2190
2340
  top: 100%;
2341
+ left: 0;
2191
2342
  z-index: 5;
2192
2343
  display: none;
2193
2344
  max-width: 100%;
@@ -2200,12 +2351,24 @@ textarea.form-control {
2200
2351
  border-radius: 0.25rem;
2201
2352
  }
2202
2353
 
2354
+ .form-row > .col > .invalid-tooltip,
2355
+ .form-row > [class*="col-"] > .invalid-tooltip {
2356
+ left: 5px;
2357
+ }
2358
+
2359
+ .was-validated :invalid ~ .invalid-feedback,
2360
+ .was-validated :invalid ~ .invalid-tooltip,
2361
+ .is-invalid ~ .invalid-feedback,
2362
+ .is-invalid ~ .invalid-tooltip {
2363
+ display: block;
2364
+ }
2365
+
2203
2366
  .was-validated .form-control:invalid, .form-control.is-invalid {
2204
2367
  border-color: #dc3545;
2205
- padding-right: calc(1.5em + 0.75rem);
2206
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
2368
+ padding-right: calc(1.5em + 0.75rem) !important;
2369
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
2207
2370
  background-repeat: no-repeat;
2208
- background-position: center right calc(0.375em + 0.1875rem);
2371
+ background-position: right calc(0.375em + 0.1875rem) center;
2209
2372
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
2210
2373
  }
2211
2374
 
@@ -2214,10 +2377,9 @@ textarea.form-control {
2214
2377
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
2215
2378
  }
2216
2379
 
2217
- .was-validated .form-control:invalid ~ .invalid-feedback,
2218
- .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
2219
- .form-control.is-invalid ~ .invalid-tooltip {
2220
- display: block;
2380
+ .was-validated select.form-control:invalid, select.form-control.is-invalid {
2381
+ padding-right: 3rem !important;
2382
+ background-position: right 1.5rem center;
2221
2383
  }
2222
2384
 
2223
2385
  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
@@ -2227,8 +2389,8 @@ textarea.form-control {
2227
2389
 
2228
2390
  .was-validated .custom-select:invalid, .custom-select.is-invalid {
2229
2391
  border-color: #dc3545;
2230
- padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
2231
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
2392
+ padding-right: calc(0.75em + 2.3125rem) !important;
2393
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
2232
2394
  }
2233
2395
 
2234
2396
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
@@ -2236,18 +2398,6 @@ textarea.form-control {
2236
2398
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
2237
2399
  }
2238
2400
 
2239
- .was-validated .custom-select:invalid ~ .invalid-feedback,
2240
- .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
2241
- .custom-select.is-invalid ~ .invalid-tooltip {
2242
- display: block;
2243
- }
2244
-
2245
- .was-validated .form-control-file:invalid ~ .invalid-feedback,
2246
- .was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
2247
- .form-control-file.is-invalid ~ .invalid-tooltip {
2248
- display: block;
2249
- }
2250
-
2251
2401
  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
2252
2402
  color: #dc3545;
2253
2403
  }
@@ -2266,12 +2416,6 @@ textarea.form-control {
2266
2416
  border-color: #dc3545;
2267
2417
  }
2268
2418
 
2269
- .was-validated .custom-control-input:invalid ~ .invalid-feedback,
2270
- .was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
2271
- .custom-control-input.is-invalid ~ .invalid-tooltip {
2272
- display: block;
2273
- }
2274
-
2275
2419
  .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
2276
2420
  border-color: #e4606d;
2277
2421
  background-color: #e4606d;
@@ -2289,12 +2433,6 @@ textarea.form-control {
2289
2433
  border-color: #dc3545;
2290
2434
  }
2291
2435
 
2292
- .was-validated .custom-file-input:invalid ~ .invalid-feedback,
2293
- .was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
2294
- .custom-file-input.is-invalid ~ .invalid-tooltip {
2295
- display: block;
2296
- }
2297
-
2298
2436
  .was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
2299
2437
  border-color: #dc3545;
2300
2438
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
@@ -2414,6 +2552,10 @@ textarea.form-control {
2414
2552
  opacity: 0.65;
2415
2553
  }
2416
2554
 
2555
+ .btn:not(:disabled):not(.disabled) {
2556
+ cursor: pointer;
2557
+ }
2558
+
2417
2559
  a.btn.disabled,
2418
2560
  fieldset:disabled a.btn {
2419
2561
  pointer-events: none;
@@ -2432,6 +2574,9 @@ fieldset:disabled a.btn {
2432
2574
  }
2433
2575
 
2434
2576
  .btn-primary:focus, .btn-primary.focus {
2577
+ color: #fff;
2578
+ background-color: #0069d9;
2579
+ border-color: #0062cc;
2435
2580
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
2436
2581
  }
2437
2582
 
@@ -2466,6 +2611,9 @@ fieldset:disabled a.btn {
2466
2611
  }
2467
2612
 
2468
2613
  .btn-secondary:focus, .btn-secondary.focus {
2614
+ color: #fff;
2615
+ background-color: #5a6268;
2616
+ border-color: #545b62;
2469
2617
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
2470
2618
  }
2471
2619
 
@@ -2500,6 +2648,9 @@ fieldset:disabled a.btn {
2500
2648
  }
2501
2649
 
2502
2650
  .btn-success:focus, .btn-success.focus {
2651
+ color: #fff;
2652
+ background-color: #218838;
2653
+ border-color: #1e7e34;
2503
2654
  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
2504
2655
  }
2505
2656
 
@@ -2534,6 +2685,9 @@ fieldset:disabled a.btn {
2534
2685
  }
2535
2686
 
2536
2687
  .btn-info:focus, .btn-info.focus {
2688
+ color: #fff;
2689
+ background-color: #138496;
2690
+ border-color: #117a8b;
2537
2691
  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
2538
2692
  }
2539
2693
 
@@ -2568,6 +2722,9 @@ fieldset:disabled a.btn {
2568
2722
  }
2569
2723
 
2570
2724
  .btn-warning:focus, .btn-warning.focus {
2725
+ color: #212529;
2726
+ background-color: #e0a800;
2727
+ border-color: #d39e00;
2571
2728
  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
2572
2729
  }
2573
2730
 
@@ -2602,6 +2759,9 @@ fieldset:disabled a.btn {
2602
2759
  }
2603
2760
 
2604
2761
  .btn-danger:focus, .btn-danger.focus {
2762
+ color: #fff;
2763
+ background-color: #c82333;
2764
+ border-color: #bd2130;
2605
2765
  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
2606
2766
  }
2607
2767
 
@@ -2636,6 +2796,9 @@ fieldset:disabled a.btn {
2636
2796
  }
2637
2797
 
2638
2798
  .btn-light:focus, .btn-light.focus {
2799
+ color: #212529;
2800
+ background-color: #e2e6ea;
2801
+ border-color: #dae0e5;
2639
2802
  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
2640
2803
  }
2641
2804
 
@@ -2670,6 +2833,9 @@ fieldset:disabled a.btn {
2670
2833
  }
2671
2834
 
2672
2835
  .btn-dark:focus, .btn-dark.focus {
2836
+ color: #fff;
2837
+ background-color: #23272b;
2838
+ border-color: #1d2124;
2673
2839
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
2674
2840
  }
2675
2841
 
@@ -2960,7 +3126,6 @@ fieldset:disabled a.btn {
2960
3126
 
2961
3127
  .btn-link:focus, .btn-link.focus {
2962
3128
  text-decoration: underline;
2963
- box-shadow: none;
2964
3129
  }
2965
3130
 
2966
3131
  .btn-link:disabled, .btn-link.disabled {
@@ -3242,7 +3407,7 @@ input[type="button"].btn-block {
3242
3407
  .dropdown-item:hover, .dropdown-item:focus {
3243
3408
  color: #16181b;
3244
3409
  text-decoration: none;
3245
- background-color: #f8f9fa;
3410
+ background-color: #e9ecef;
3246
3411
  }
3247
3412
 
3248
3413
  .dropdown-item.active, .dropdown-item:active {
@@ -3252,7 +3417,7 @@ input[type="button"].btn-block {
3252
3417
  }
3253
3418
 
3254
3419
  .dropdown-item.disabled, .dropdown-item:disabled {
3255
- color: #6c757d;
3420
+ color: #adb5bd;
3256
3421
  pointer-events: none;
3257
3422
  background-color: transparent;
3258
3423
  }
@@ -3422,6 +3587,7 @@ input[type="button"].btn-block {
3422
3587
  -ms-flex: 1 1 auto;
3423
3588
  flex: 1 1 auto;
3424
3589
  width: 1%;
3590
+ min-width: 0;
3425
3591
  margin-bottom: 0;
3426
3592
  }
3427
3593
 
@@ -3450,12 +3616,6 @@ input[type="button"].btn-block {
3450
3616
  z-index: 4;
3451
3617
  }
3452
3618
 
3453
- .input-group > .form-control:not(:last-child),
3454
- .input-group > .custom-select:not(:last-child) {
3455
- border-top-right-radius: 0;
3456
- border-bottom-right-radius: 0;
3457
- }
3458
-
3459
3619
  .input-group > .form-control:not(:first-child),
3460
3620
  .input-group > .custom-select:not(:first-child) {
3461
3621
  border-top-left-radius: 0;
@@ -3480,6 +3640,22 @@ input[type="button"].btn-block {
3480
3640
  border-bottom-left-radius: 0;
3481
3641
  }
3482
3642
 
3643
+ .input-group:not(.has-validation) > .form-control:not(:last-child),
3644
+ .input-group:not(.has-validation) > .custom-select:not(:last-child),
3645
+ .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label,
3646
+ .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
3647
+ border-top-right-radius: 0;
3648
+ border-bottom-right-radius: 0;
3649
+ }
3650
+
3651
+ .input-group.has-validation > .form-control:nth-last-child(n + 3),
3652
+ .input-group.has-validation > .custom-select:nth-last-child(n + 3),
3653
+ .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label,
3654
+ .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
3655
+ border-top-right-radius: 0;
3656
+ border-bottom-right-radius: 0;
3657
+ }
3658
+
3483
3659
  .input-group-prepend,
3484
3660
  .input-group-append {
3485
3661
  display: -ms-flexbox;
@@ -3580,8 +3756,10 @@ input[type="button"].btn-block {
3580
3756
 
3581
3757
  .input-group > .input-group-prepend > .btn,
3582
3758
  .input-group > .input-group-prepend > .input-group-text,
3583
- .input-group > .input-group-append:not(:last-child) > .btn,
3584
- .input-group > .input-group-append:not(:last-child) > .input-group-text,
3759
+ .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
3760
+ .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
3761
+ .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
3762
+ .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
3585
3763
  .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
3586
3764
  .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
3587
3765
  border-top-right-radius: 0;
@@ -3600,9 +3778,12 @@ input[type="button"].btn-block {
3600
3778
 
3601
3779
  .custom-control {
3602
3780
  position: relative;
3781
+ z-index: 1;
3603
3782
  display: block;
3604
3783
  min-height: 1.5rem;
3605
3784
  padding-left: 1.5rem;
3785
+ -webkit-print-color-adjust: exact;
3786
+ color-adjust: exact;
3606
3787
  }
3607
3788
 
3608
3789
  .custom-control-inline {
@@ -3613,7 +3794,10 @@ input[type="button"].btn-block {
3613
3794
 
3614
3795
  .custom-control-input {
3615
3796
  position: absolute;
3797
+ left: 0;
3616
3798
  z-index: -1;
3799
+ width: 1rem;
3800
+ height: 1.25rem;
3617
3801
  opacity: 0;
3618
3802
  }
3619
3803
 
@@ -3637,11 +3821,11 @@ input[type="button"].btn-block {
3637
3821
  border-color: #b3d7ff;
3638
3822
  }
3639
3823
 
3640
- .custom-control-input:disabled ~ .custom-control-label {
3824
+ .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
3641
3825
  color: #6c757d;
3642
3826
  }
3643
3827
 
3644
- .custom-control-input:disabled ~ .custom-control-label::before {
3828
+ .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
3645
3829
  background-color: #e9ecef;
3646
3830
  }
3647
3831
 
@@ -3672,7 +3856,7 @@ input[type="button"].btn-block {
3672
3856
  width: 1rem;
3673
3857
  height: 1rem;
3674
3858
  content: "";
3675
- background: no-repeat 50% / 50% 50%;
3859
+ background: 50% / 50% 50% no-repeat;
3676
3860
  }
3677
3861
 
3678
3862
  .custom-checkbox .custom-control-label::before {
@@ -3680,7 +3864,7 @@ input[type="button"].btn-block {
3680
3864
  }
3681
3865
 
3682
3866
  .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
3683
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
3867
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
3684
3868
  }
3685
3869
 
3686
3870
  .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
@@ -3689,7 +3873,7 @@ input[type="button"].btn-block {
3689
3873
  }
3690
3874
 
3691
3875
  .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
3692
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
3876
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
3693
3877
  }
3694
3878
 
3695
3879
  .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
@@ -3705,7 +3889,7 @@ input[type="button"].btn-block {
3705
3889
  }
3706
3890
 
3707
3891
  .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
3708
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
3892
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
3709
3893
  }
3710
3894
 
3711
3895
  .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
@@ -3761,8 +3945,7 @@ input[type="button"].btn-block {
3761
3945
  line-height: 1.5;
3762
3946
  color: #495057;
3763
3947
  vertical-align: middle;
3764
- background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
3765
- background-color: #fff;
3948
+ background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
3766
3949
  border: 1px solid #ced4da;
3767
3950
  border-radius: 0.25rem;
3768
3951
  -webkit-appearance: none;
@@ -3796,6 +3979,11 @@ input[type="button"].btn-block {
3796
3979
  display: none;
3797
3980
  }
3798
3981
 
3982
+ .custom-select:-moz-focusring {
3983
+ color: transparent;
3984
+ text-shadow: 0 0 0 #495057;
3985
+ }
3986
+
3799
3987
  .custom-select-sm {
3800
3988
  height: calc(1.5em + 0.5rem + 2px);
3801
3989
  padding-top: 0.25rem;
@@ -3826,6 +4014,7 @@ input[type="button"].btn-block {
3826
4014
  width: 100%;
3827
4015
  height: calc(1.5em + 0.75rem + 2px);
3828
4016
  margin: 0;
4017
+ overflow: hidden;
3829
4018
  opacity: 0;
3830
4019
  }
3831
4020
 
@@ -3834,6 +4023,7 @@ input[type="button"].btn-block {
3834
4023
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
3835
4024
  }
3836
4025
 
4026
+ .custom-file-input[disabled] ~ .custom-file-label,
3837
4027
  .custom-file-input:disabled ~ .custom-file-label {
3838
4028
  background-color: #e9ecef;
3839
4029
  }
@@ -3854,6 +4044,7 @@ input[type="button"].btn-block {
3854
4044
  z-index: 1;
3855
4045
  height: calc(1.5em + 0.75rem + 2px);
3856
4046
  padding: 0.375rem 0.75rem;
4047
+ overflow: hidden;
3857
4048
  font-weight: 400;
3858
4049
  line-height: 1.5;
3859
4050
  color: #495057;
@@ -3881,7 +4072,7 @@ input[type="button"].btn-block {
3881
4072
 
3882
4073
  .custom-range {
3883
4074
  width: 100%;
3884
- height: calc(1rem + 0.4rem);
4075
+ height: 1.4rem;
3885
4076
  padding: 0;
3886
4077
  background-color: transparent;
3887
4078
  -webkit-appearance: none;
@@ -3890,7 +4081,7 @@ input[type="button"].btn-block {
3890
4081
  }
3891
4082
 
3892
4083
  .custom-range:focus {
3893
- outline: none;
4084
+ outline: 0;
3894
4085
  }
3895
4086
 
3896
4087
  .custom-range:focus::-webkit-slider-thumb {
@@ -3916,6 +4107,7 @@ input[type="button"].btn-block {
3916
4107
  background-color: #007bff;
3917
4108
  border: 0;
3918
4109
  border-radius: 1rem;
4110
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3919
4111
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3920
4112
  -webkit-appearance: none;
3921
4113
  appearance: none;
@@ -3923,6 +4115,7 @@ input[type="button"].btn-block {
3923
4115
 
3924
4116
  @media (prefers-reduced-motion: reduce) {
3925
4117
  .custom-range::-webkit-slider-thumb {
4118
+ -webkit-transition: none;
3926
4119
  transition: none;
3927
4120
  }
3928
4121
  }
@@ -3947,6 +4140,7 @@ input[type="button"].btn-block {
3947
4140
  background-color: #007bff;
3948
4141
  border: 0;
3949
4142
  border-radius: 1rem;
4143
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3950
4144
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3951
4145
  -moz-appearance: none;
3952
4146
  appearance: none;
@@ -3954,6 +4148,7 @@ input[type="button"].btn-block {
3954
4148
 
3955
4149
  @media (prefers-reduced-motion: reduce) {
3956
4150
  .custom-range::-moz-range-thumb {
4151
+ -moz-transition: none;
3957
4152
  transition: none;
3958
4153
  }
3959
4154
  }
@@ -3981,12 +4176,14 @@ input[type="button"].btn-block {
3981
4176
  background-color: #007bff;
3982
4177
  border: 0;
3983
4178
  border-radius: 1rem;
4179
+ -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3984
4180
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
3985
4181
  appearance: none;
3986
4182
  }
3987
4183
 
3988
4184
  @media (prefers-reduced-motion: reduce) {
3989
4185
  .custom-range::-ms-thumb {
4186
+ -ms-transition: none;
3990
4187
  transition: none;
3991
4188
  }
3992
4189
  }
@@ -4079,11 +4276,8 @@ input[type="button"].btn-block {
4079
4276
  border-bottom: 1px solid #dee2e6;
4080
4277
  }
4081
4278
 
4082
- .nav-tabs .nav-item {
4083
- margin-bottom: -1px;
4084
- }
4085
-
4086
4279
  .nav-tabs .nav-link {
4280
+ margin-bottom: -1px;
4087
4281
  border: 1px solid transparent;
4088
4282
  border-top-left-radius: 0.25rem;
4089
4283
  border-top-right-radius: 0.25rem;
@@ -4122,12 +4316,14 @@ input[type="button"].btn-block {
4122
4316
  background-color: #007bff;
4123
4317
  }
4124
4318
 
4319
+ .nav-fill > .nav-link,
4125
4320
  .nav-fill .nav-item {
4126
4321
  -ms-flex: 1 1 auto;
4127
4322
  flex: 1 1 auto;
4128
4323
  text-align: center;
4129
4324
  }
4130
4325
 
4326
+ .nav-justified > .nav-link,
4131
4327
  .nav-justified .nav-item {
4132
4328
  -ms-flex-preferred-size: 0;
4133
4329
  flex-basis: 0;
@@ -4157,8 +4353,8 @@ input[type="button"].btn-block {
4157
4353
  padding: 0.5rem 1rem;
4158
4354
  }
4159
4355
 
4160
- .navbar > .container,
4161
- .navbar > .container-fluid {
4356
+ .navbar .container,
4357
+ .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {
4162
4358
  display: -ms-flexbox;
4163
4359
  display: flex;
4164
4360
  -ms-flex-wrap: wrap;
@@ -4237,13 +4433,17 @@ input[type="button"].btn-block {
4237
4433
  height: 1.5em;
4238
4434
  vertical-align: middle;
4239
4435
  content: "";
4240
- background: no-repeat center center;
4241
- background-size: 100% 100%;
4436
+ background: 50% / 100% 100% no-repeat;
4437
+ }
4438
+
4439
+ .navbar-nav-scroll {
4440
+ max-height: 75vh;
4441
+ overflow-y: auto;
4242
4442
  }
4243
4443
 
4244
4444
  @media (max-width: 575.98px) {
4245
4445
  .navbar-expand-sm > .container,
4246
- .navbar-expand-sm > .container-fluid {
4446
+ .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
4247
4447
  padding-right: 0;
4248
4448
  padding-left: 0;
4249
4449
  }
@@ -4268,10 +4468,13 @@ input[type="button"].btn-block {
4268
4468
  padding-left: 0.5rem;
4269
4469
  }
4270
4470
  .navbar-expand-sm > .container,
4271
- .navbar-expand-sm > .container-fluid {
4471
+ .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {
4272
4472
  -ms-flex-wrap: nowrap;
4273
4473
  flex-wrap: nowrap;
4274
4474
  }
4475
+ .navbar-expand-sm .navbar-nav-scroll {
4476
+ overflow: visible;
4477
+ }
4275
4478
  .navbar-expand-sm .navbar-collapse {
4276
4479
  display: -ms-flexbox !important;
4277
4480
  display: flex !important;
@@ -4285,7 +4488,7 @@ input[type="button"].btn-block {
4285
4488
 
4286
4489
  @media (max-width: 767.98px) {
4287
4490
  .navbar-expand-md > .container,
4288
- .navbar-expand-md > .container-fluid {
4491
+ .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
4289
4492
  padding-right: 0;
4290
4493
  padding-left: 0;
4291
4494
  }
@@ -4310,10 +4513,13 @@ input[type="button"].btn-block {
4310
4513
  padding-left: 0.5rem;
4311
4514
  }
4312
4515
  .navbar-expand-md > .container,
4313
- .navbar-expand-md > .container-fluid {
4516
+ .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {
4314
4517
  -ms-flex-wrap: nowrap;
4315
4518
  flex-wrap: nowrap;
4316
4519
  }
4520
+ .navbar-expand-md .navbar-nav-scroll {
4521
+ overflow: visible;
4522
+ }
4317
4523
  .navbar-expand-md .navbar-collapse {
4318
4524
  display: -ms-flexbox !important;
4319
4525
  display: flex !important;
@@ -4327,7 +4533,7 @@ input[type="button"].btn-block {
4327
4533
 
4328
4534
  @media (max-width: 991.98px) {
4329
4535
  .navbar-expand-lg > .container,
4330
- .navbar-expand-lg > .container-fluid {
4536
+ .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
4331
4537
  padding-right: 0;
4332
4538
  padding-left: 0;
4333
4539
  }
@@ -4352,10 +4558,13 @@ input[type="button"].btn-block {
4352
4558
  padding-left: 0.5rem;
4353
4559
  }
4354
4560
  .navbar-expand-lg > .container,
4355
- .navbar-expand-lg > .container-fluid {
4561
+ .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {
4356
4562
  -ms-flex-wrap: nowrap;
4357
4563
  flex-wrap: nowrap;
4358
4564
  }
4565
+ .navbar-expand-lg .navbar-nav-scroll {
4566
+ overflow: visible;
4567
+ }
4359
4568
  .navbar-expand-lg .navbar-collapse {
4360
4569
  display: -ms-flexbox !important;
4361
4570
  display: flex !important;
@@ -4369,7 +4578,7 @@ input[type="button"].btn-block {
4369
4578
 
4370
4579
  @media (max-width: 1199.98px) {
4371
4580
  .navbar-expand-xl > .container,
4372
- .navbar-expand-xl > .container-fluid {
4581
+ .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
4373
4582
  padding-right: 0;
4374
4583
  padding-left: 0;
4375
4584
  }
@@ -4394,10 +4603,13 @@ input[type="button"].btn-block {
4394
4603
  padding-left: 0.5rem;
4395
4604
  }
4396
4605
  .navbar-expand-xl > .container,
4397
- .navbar-expand-xl > .container-fluid {
4606
+ .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {
4398
4607
  -ms-flex-wrap: nowrap;
4399
4608
  flex-wrap: nowrap;
4400
4609
  }
4610
+ .navbar-expand-xl .navbar-nav-scroll {
4611
+ overflow: visible;
4612
+ }
4401
4613
  .navbar-expand-xl .navbar-collapse {
4402
4614
  display: -ms-flexbox !important;
4403
4615
  display: flex !important;
@@ -4417,7 +4629,7 @@ input[type="button"].btn-block {
4417
4629
  }
4418
4630
 
4419
4631
  .navbar-expand > .container,
4420
- .navbar-expand > .container-fluid {
4632
+ .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
4421
4633
  padding-right: 0;
4422
4634
  padding-left: 0;
4423
4635
  }
@@ -4437,11 +4649,15 @@ input[type="button"].btn-block {
4437
4649
  }
4438
4650
 
4439
4651
  .navbar-expand > .container,
4440
- .navbar-expand > .container-fluid {
4652
+ .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {
4441
4653
  -ms-flex-wrap: nowrap;
4442
4654
  flex-wrap: nowrap;
4443
4655
  }
4444
4656
 
4657
+ .navbar-expand .navbar-nav-scroll {
4658
+ overflow: visible;
4659
+ }
4660
+
4445
4661
  .navbar-expand .navbar-collapse {
4446
4662
  display: -ms-flexbox !important;
4447
4663
  display: flex !important;
@@ -4486,7 +4702,7 @@ input[type="button"].btn-block {
4486
4702
  }
4487
4703
 
4488
4704
  .navbar-light .navbar-toggler-icon {
4489
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
4705
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
4490
4706
  }
4491
4707
 
4492
4708
  .navbar-light .navbar-text {
@@ -4534,7 +4750,7 @@ input[type="button"].btn-block {
4534
4750
  }
4535
4751
 
4536
4752
  .navbar-dark .navbar-toggler-icon {
4537
- background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
4753
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
4538
4754
  }
4539
4755
 
4540
4756
  .navbar-dark .navbar-text {
@@ -4568,19 +4784,32 @@ input[type="button"].btn-block {
4568
4784
  margin-left: 0;
4569
4785
  }
4570
4786
 
4571
- .card > .list-group:first-child .list-group-item:first-child {
4572
- border-top-left-radius: 0.25rem;
4573
- border-top-right-radius: 0.25rem;
4787
+ .card > .list-group {
4788
+ border-top: inherit;
4789
+ border-bottom: inherit;
4574
4790
  }
4575
4791
 
4576
- .card > .list-group:last-child .list-group-item:last-child {
4577
- border-bottom-right-radius: 0.25rem;
4578
- border-bottom-left-radius: 0.25rem;
4792
+ .card > .list-group:first-child {
4793
+ border-top-width: 0;
4794
+ border-top-left-radius: calc(0.25rem - 1px);
4795
+ border-top-right-radius: calc(0.25rem - 1px);
4796
+ }
4797
+
4798
+ .card > .list-group:last-child {
4799
+ border-bottom-width: 0;
4800
+ border-bottom-right-radius: calc(0.25rem - 1px);
4801
+ border-bottom-left-radius: calc(0.25rem - 1px);
4802
+ }
4803
+
4804
+ .card > .card-header + .list-group,
4805
+ .card > .list-group + .card-footer {
4806
+ border-top: 0;
4579
4807
  }
4580
4808
 
4581
4809
  .card-body {
4582
4810
  -ms-flex: 1 1 auto;
4583
4811
  flex: 1 1 auto;
4812
+ min-height: 1px;
4584
4813
  padding: 1.25rem;
4585
4814
  }
4586
4815
 
@@ -4616,10 +4845,6 @@ input[type="button"].btn-block {
4616
4845
  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
4617
4846
  }
4618
4847
 
4619
- .card-header + .list-group .list-group-item:first-child {
4620
- border-top: 0;
4621
- }
4622
-
4623
4848
  .card-footer {
4624
4849
  padding: 0.75rem 1.25rem;
4625
4850
  background-color: rgba(0, 0, 0, 0.03);
@@ -4649,69 +4874,59 @@ input[type="button"].btn-block {
4649
4874
  bottom: 0;
4650
4875
  left: 0;
4651
4876
  padding: 1.25rem;
4877
+ border-radius: calc(0.25rem - 1px);
4652
4878
  }
4653
4879
 
4654
- .card-img {
4880
+ .card-img,
4881
+ .card-img-top,
4882
+ .card-img-bottom {
4883
+ -ms-flex-negative: 0;
4884
+ flex-shrink: 0;
4655
4885
  width: 100%;
4656
- border-radius: calc(0.25rem - 1px);
4657
4886
  }
4658
4887
 
4888
+ .card-img,
4659
4889
  .card-img-top {
4660
- width: 100%;
4661
4890
  border-top-left-radius: calc(0.25rem - 1px);
4662
4891
  border-top-right-radius: calc(0.25rem - 1px);
4663
4892
  }
4664
4893
 
4894
+ .card-img,
4665
4895
  .card-img-bottom {
4666
- width: 100%;
4667
4896
  border-bottom-right-radius: calc(0.25rem - 1px);
4668
4897
  border-bottom-left-radius: calc(0.25rem - 1px);
4669
4898
  }
4670
4899
 
4671
- .card-deck {
4672
- display: -ms-flexbox;
4673
- display: flex;
4674
- -ms-flex-direction: column;
4675
- flex-direction: column;
4676
- }
4677
-
4678
4900
  .card-deck .card {
4679
4901
  margin-bottom: 15px;
4680
4902
  }
4681
4903
 
4682
4904
  @media (min-width: 576px) {
4683
4905
  .card-deck {
4906
+ display: -ms-flexbox;
4907
+ display: flex;
4684
4908
  -ms-flex-flow: row wrap;
4685
4909
  flex-flow: row wrap;
4686
4910
  margin-right: -15px;
4687
4911
  margin-left: -15px;
4688
4912
  }
4689
4913
  .card-deck .card {
4690
- display: -ms-flexbox;
4691
- display: flex;
4692
4914
  -ms-flex: 1 0 0%;
4693
4915
  flex: 1 0 0%;
4694
- -ms-flex-direction: column;
4695
- flex-direction: column;
4696
4916
  margin-right: 15px;
4697
4917
  margin-bottom: 0;
4698
4918
  margin-left: 15px;
4699
4919
  }
4700
4920
  }
4701
4921
 
4702
- .card-group {
4703
- display: -ms-flexbox;
4704
- display: flex;
4705
- -ms-flex-direction: column;
4706
- flex-direction: column;
4707
- }
4708
-
4709
4922
  .card-group > .card {
4710
4923
  margin-bottom: 15px;
4711
4924
  }
4712
4925
 
4713
4926
  @media (min-width: 576px) {
4714
4927
  .card-group {
4928
+ display: -ms-flexbox;
4929
+ display: flex;
4715
4930
  -ms-flex-flow: row wrap;
4716
4931
  flex-flow: row wrap;
4717
4932
  }
@@ -4771,31 +4986,27 @@ input[type="button"].btn-block {
4771
4986
  }
4772
4987
  }
4773
4988
 
4774
- .accordion > .card {
4775
- overflow: hidden;
4989
+ .accordion {
4990
+ overflow-anchor: none;
4776
4991
  }
4777
4992
 
4778
- .accordion > .card:not(:first-of-type) .card-header:first-child {
4779
- border-radius: 0;
4780
- }
4781
-
4782
- .accordion > .card:not(:first-of-type):not(:last-of-type) {
4783
- border-bottom: 0;
4784
- border-radius: 0;
4993
+ .accordion > .card {
4994
+ overflow: hidden;
4785
4995
  }
4786
4996
 
4787
- .accordion > .card:first-of-type {
4997
+ .accordion > .card:not(:last-of-type) {
4788
4998
  border-bottom: 0;
4789
4999
  border-bottom-right-radius: 0;
4790
5000
  border-bottom-left-radius: 0;
4791
5001
  }
4792
5002
 
4793
- .accordion > .card:last-of-type {
5003
+ .accordion > .card:not(:first-of-type) {
4794
5004
  border-top-left-radius: 0;
4795
5005
  border-top-right-radius: 0;
4796
5006
  }
4797
5007
 
4798
- .accordion > .card .card-header {
5008
+ .accordion > .card > .card-header {
5009
+ border-radius: 0;
4799
5010
  margin-bottom: -1px;
4800
5011
  }
4801
5012
 
@@ -4816,7 +5027,7 @@ input[type="button"].btn-block {
4816
5027
  }
4817
5028
 
4818
5029
  .breadcrumb-item + .breadcrumb-item::before {
4819
- display: inline-block;
5030
+ float: left;
4820
5031
  padding-right: 0.5rem;
4821
5032
  color: #6c757d;
4822
5033
  content: "/";
@@ -4862,7 +5073,7 @@ input[type="button"].btn-block {
4862
5073
  }
4863
5074
 
4864
5075
  .page-link:focus {
4865
- z-index: 2;
5076
+ z-index: 3;
4866
5077
  outline: 0;
4867
5078
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
4868
5079
  }
@@ -4879,7 +5090,7 @@ input[type="button"].btn-block {
4879
5090
  }
4880
5091
 
4881
5092
  .page-item.active .page-link {
4882
- z-index: 1;
5093
+ z-index: 3;
4883
5094
  color: #fff;
4884
5095
  background-color: #007bff;
4885
5096
  border-color: #007bff;
@@ -5126,6 +5337,7 @@ a.badge-dark:focus, a.badge-dark.focus {
5126
5337
  position: absolute;
5127
5338
  top: 0;
5128
5339
  right: 0;
5340
+ z-index: 2;
5129
5341
  padding: 0.75rem 1.25rem;
5130
5342
  color: inherit;
5131
5343
  }
@@ -5265,6 +5477,7 @@ a.badge-dark:focus, a.badge-dark.focus {
5265
5477
  display: flex;
5266
5478
  height: 1rem;
5267
5479
  overflow: hidden;
5480
+ line-height: 0;
5268
5481
  font-size: 0.75rem;
5269
5482
  background-color: #e9ecef;
5270
5483
  border-radius: 0.25rem;
@@ -5277,6 +5490,7 @@ a.badge-dark:focus, a.badge-dark.focus {
5277
5490
  flex-direction: column;
5278
5491
  -ms-flex-pack: center;
5279
5492
  justify-content: center;
5493
+ overflow: hidden;
5280
5494
  color: #fff;
5281
5495
  text-align: center;
5282
5496
  white-space: nowrap;
@@ -5296,8 +5510,8 @@ a.badge-dark:focus, a.badge-dark.focus {
5296
5510
  }
5297
5511
 
5298
5512
  .progress-bar-animated {
5299
- -webkit-animation: progress-bar-stripes 1s linear infinite;
5300
- animation: progress-bar-stripes 1s linear infinite;
5513
+ -webkit-animation: 1s linear infinite progress-bar-stripes;
5514
+ animation: 1s linear infinite progress-bar-stripes;
5301
5515
  }
5302
5516
 
5303
5517
  @media (prefers-reduced-motion: reduce) {
@@ -5326,6 +5540,7 @@ a.badge-dark:focus, a.badge-dark.focus {
5326
5540
  flex-direction: column;
5327
5541
  padding-left: 0;
5328
5542
  margin-bottom: 0;
5543
+ border-radius: 0.25rem;
5329
5544
  }
5330
5545
 
5331
5546
  .list-group-item-action {
@@ -5350,20 +5565,18 @@ a.badge-dark:focus, a.badge-dark.focus {
5350
5565
  position: relative;
5351
5566
  display: block;
5352
5567
  padding: 0.75rem 1.25rem;
5353
- margin-bottom: -1px;
5354
5568
  background-color: #fff;
5355
5569
  border: 1px solid rgba(0, 0, 0, 0.125);
5356
5570
  }
5357
5571
 
5358
5572
  .list-group-item:first-child {
5359
- border-top-left-radius: 0.25rem;
5360
- border-top-right-radius: 0.25rem;
5573
+ border-top-left-radius: inherit;
5574
+ border-top-right-radius: inherit;
5361
5575
  }
5362
5576
 
5363
5577
  .list-group-item:last-child {
5364
- margin-bottom: 0;
5365
- border-bottom-right-radius: 0.25rem;
5366
- border-bottom-left-radius: 0.25rem;
5578
+ border-bottom-right-radius: inherit;
5579
+ border-bottom-left-radius: inherit;
5367
5580
  }
5368
5581
 
5369
5582
  .list-group-item.disabled, .list-group-item:disabled {
@@ -5379,49 +5592,68 @@ a.badge-dark:focus, a.badge-dark.focus {
5379
5592
  border-color: #007bff;
5380
5593
  }
5381
5594
 
5595
+ .list-group-item + .list-group-item {
5596
+ border-top-width: 0;
5597
+ }
5598
+
5599
+ .list-group-item + .list-group-item.active {
5600
+ margin-top: -1px;
5601
+ border-top-width: 1px;
5602
+ }
5603
+
5382
5604
  .list-group-horizontal {
5383
5605
  -ms-flex-direction: row;
5384
5606
  flex-direction: row;
5385
5607
  }
5386
5608
 
5387
- .list-group-horizontal .list-group-item {
5388
- margin-right: -1px;
5389
- margin-bottom: 0;
5390
- }
5391
-
5392
- .list-group-horizontal .list-group-item:first-child {
5393
- border-top-left-radius: 0.25rem;
5609
+ .list-group-horizontal > .list-group-item:first-child {
5394
5610
  border-bottom-left-radius: 0.25rem;
5395
5611
  border-top-right-radius: 0;
5396
5612
  }
5397
5613
 
5398
- .list-group-horizontal .list-group-item:last-child {
5399
- margin-right: 0;
5614
+ .list-group-horizontal > .list-group-item:last-child {
5400
5615
  border-top-right-radius: 0.25rem;
5401
- border-bottom-right-radius: 0.25rem;
5402
5616
  border-bottom-left-radius: 0;
5403
5617
  }
5404
5618
 
5619
+ .list-group-horizontal > .list-group-item.active {
5620
+ margin-top: 0;
5621
+ }
5622
+
5623
+ .list-group-horizontal > .list-group-item + .list-group-item {
5624
+ border-top-width: 1px;
5625
+ border-left-width: 0;
5626
+ }
5627
+
5628
+ .list-group-horizontal > .list-group-item + .list-group-item.active {
5629
+ margin-left: -1px;
5630
+ border-left-width: 1px;
5631
+ }
5632
+
5405
5633
  @media (min-width: 576px) {
5406
5634
  .list-group-horizontal-sm {
5407
5635
  -ms-flex-direction: row;
5408
5636
  flex-direction: row;
5409
5637
  }
5410
- .list-group-horizontal-sm .list-group-item {
5411
- margin-right: -1px;
5412
- margin-bottom: 0;
5413
- }
5414
- .list-group-horizontal-sm .list-group-item:first-child {
5415
- border-top-left-radius: 0.25rem;
5638
+ .list-group-horizontal-sm > .list-group-item:first-child {
5416
5639
  border-bottom-left-radius: 0.25rem;
5417
5640
  border-top-right-radius: 0;
5418
5641
  }
5419
- .list-group-horizontal-sm .list-group-item:last-child {
5420
- margin-right: 0;
5642
+ .list-group-horizontal-sm > .list-group-item:last-child {
5421
5643
  border-top-right-radius: 0.25rem;
5422
- border-bottom-right-radius: 0.25rem;
5423
5644
  border-bottom-left-radius: 0;
5424
5645
  }
5646
+ .list-group-horizontal-sm > .list-group-item.active {
5647
+ margin-top: 0;
5648
+ }
5649
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
5650
+ border-top-width: 1px;
5651
+ border-left-width: 0;
5652
+ }
5653
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
5654
+ margin-left: -1px;
5655
+ border-left-width: 1px;
5656
+ }
5425
5657
  }
5426
5658
 
5427
5659
  @media (min-width: 768px) {
@@ -5429,21 +5661,25 @@ a.badge-dark:focus, a.badge-dark.focus {
5429
5661
  -ms-flex-direction: row;
5430
5662
  flex-direction: row;
5431
5663
  }
5432
- .list-group-horizontal-md .list-group-item {
5433
- margin-right: -1px;
5434
- margin-bottom: 0;
5435
- }
5436
- .list-group-horizontal-md .list-group-item:first-child {
5437
- border-top-left-radius: 0.25rem;
5664
+ .list-group-horizontal-md > .list-group-item:first-child {
5438
5665
  border-bottom-left-radius: 0.25rem;
5439
5666
  border-top-right-radius: 0;
5440
5667
  }
5441
- .list-group-horizontal-md .list-group-item:last-child {
5442
- margin-right: 0;
5668
+ .list-group-horizontal-md > .list-group-item:last-child {
5443
5669
  border-top-right-radius: 0.25rem;
5444
- border-bottom-right-radius: 0.25rem;
5445
5670
  border-bottom-left-radius: 0;
5446
5671
  }
5672
+ .list-group-horizontal-md > .list-group-item.active {
5673
+ margin-top: 0;
5674
+ }
5675
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
5676
+ border-top-width: 1px;
5677
+ border-left-width: 0;
5678
+ }
5679
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
5680
+ margin-left: -1px;
5681
+ border-left-width: 1px;
5682
+ }
5447
5683
  }
5448
5684
 
5449
5685
  @media (min-width: 992px) {
@@ -5451,21 +5687,25 @@ a.badge-dark:focus, a.badge-dark.focus {
5451
5687
  -ms-flex-direction: row;
5452
5688
  flex-direction: row;
5453
5689
  }
5454
- .list-group-horizontal-lg .list-group-item {
5455
- margin-right: -1px;
5456
- margin-bottom: 0;
5457
- }
5458
- .list-group-horizontal-lg .list-group-item:first-child {
5459
- border-top-left-radius: 0.25rem;
5690
+ .list-group-horizontal-lg > .list-group-item:first-child {
5460
5691
  border-bottom-left-radius: 0.25rem;
5461
5692
  border-top-right-radius: 0;
5462
5693
  }
5463
- .list-group-horizontal-lg .list-group-item:last-child {
5464
- margin-right: 0;
5694
+ .list-group-horizontal-lg > .list-group-item:last-child {
5465
5695
  border-top-right-radius: 0.25rem;
5466
- border-bottom-right-radius: 0.25rem;
5467
5696
  border-bottom-left-radius: 0;
5468
5697
  }
5698
+ .list-group-horizontal-lg > .list-group-item.active {
5699
+ margin-top: 0;
5700
+ }
5701
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
5702
+ border-top-width: 1px;
5703
+ border-left-width: 0;
5704
+ }
5705
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
5706
+ margin-left: -1px;
5707
+ border-left-width: 1px;
5708
+ }
5469
5709
  }
5470
5710
 
5471
5711
  @media (min-width: 1200px) {
@@ -5473,40 +5713,37 @@ a.badge-dark:focus, a.badge-dark.focus {
5473
5713
  -ms-flex-direction: row;
5474
5714
  flex-direction: row;
5475
5715
  }
5476
- .list-group-horizontal-xl .list-group-item {
5477
- margin-right: -1px;
5478
- margin-bottom: 0;
5479
- }
5480
- .list-group-horizontal-xl .list-group-item:first-child {
5481
- border-top-left-radius: 0.25rem;
5716
+ .list-group-horizontal-xl > .list-group-item:first-child {
5482
5717
  border-bottom-left-radius: 0.25rem;
5483
5718
  border-top-right-radius: 0;
5484
5719
  }
5485
- .list-group-horizontal-xl .list-group-item:last-child {
5486
- margin-right: 0;
5720
+ .list-group-horizontal-xl > .list-group-item:last-child {
5487
5721
  border-top-right-radius: 0.25rem;
5488
- border-bottom-right-radius: 0.25rem;
5489
5722
  border-bottom-left-radius: 0;
5490
5723
  }
5724
+ .list-group-horizontal-xl > .list-group-item.active {
5725
+ margin-top: 0;
5726
+ }
5727
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
5728
+ border-top-width: 1px;
5729
+ border-left-width: 0;
5730
+ }
5731
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
5732
+ margin-left: -1px;
5733
+ border-left-width: 1px;
5734
+ }
5491
5735
  }
5492
5736
 
5493
- .list-group-flush .list-group-item {
5494
- border-right: 0;
5495
- border-left: 0;
5737
+ .list-group-flush {
5496
5738
  border-radius: 0;
5497
5739
  }
5498
5740
 
5499
- .list-group-flush .list-group-item:last-child {
5500
- margin-bottom: -1px;
5741
+ .list-group-flush > .list-group-item {
5742
+ border-width: 0 0 1px;
5501
5743
  }
5502
5744
 
5503
- .list-group-flush:first-child .list-group-item:first-child {
5504
- border-top: 0;
5505
- }
5506
-
5507
- .list-group-flush:last-child .list-group-item:last-child {
5508
- margin-bottom: 0;
5509
- border-bottom: 0;
5745
+ .list-group-flush > .list-group-item:last-child {
5746
+ border-bottom-width: 0;
5510
5747
  }
5511
5748
 
5512
5749
  .list-group-item-primary {
@@ -5660,9 +5897,6 @@ button.close {
5660
5897
  padding: 0;
5661
5898
  background-color: transparent;
5662
5899
  border: 0;
5663
- -webkit-appearance: none;
5664
- -moz-appearance: none;
5665
- appearance: none;
5666
5900
  }
5667
5901
 
5668
5902
  a.close.disabled {
@@ -5670,15 +5904,14 @@ a.close.disabled {
5670
5904
  }
5671
5905
 
5672
5906
  .toast {
5907
+ -ms-flex-preferred-size: 350px;
5908
+ flex-basis: 350px;
5673
5909
  max-width: 350px;
5674
- overflow: hidden;
5675
5910
  font-size: 0.875rem;
5676
5911
  background-color: rgba(255, 255, 255, 0.85);
5677
5912
  background-clip: padding-box;
5678
5913
  border: 1px solid rgba(0, 0, 0, 0.1);
5679
5914
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
5680
- -webkit-backdrop-filter: blur(10px);
5681
- backdrop-filter: blur(10px);
5682
5915
  opacity: 0;
5683
5916
  border-radius: 0.25rem;
5684
5917
  }
@@ -5710,6 +5943,8 @@ a.close.disabled {
5710
5943
  background-color: rgba(255, 255, 255, 0.85);
5711
5944
  background-clip: padding-box;
5712
5945
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
5946
+ border-top-left-radius: calc(0.25rem - 1px);
5947
+ border-top-right-radius: calc(0.25rem - 1px);
5713
5948
  }
5714
5949
 
5715
5950
  .toast-body {
@@ -5763,6 +5998,11 @@ a.close.disabled {
5763
5998
  transform: none;
5764
5999
  }
5765
6000
 
6001
+ .modal.modal-static .modal-dialog {
6002
+ -webkit-transform: scale(1.02);
6003
+ transform: scale(1.02);
6004
+ }
6005
+
5766
6006
  .modal-dialog-scrollable {
5767
6007
  display: -ms-flexbox;
5768
6008
  display: flex;
@@ -5795,6 +6035,9 @@ a.close.disabled {
5795
6035
  .modal-dialog-centered::before {
5796
6036
  display: block;
5797
6037
  height: calc(100vh - 1rem);
6038
+ height: -webkit-min-content;
6039
+ height: -moz-min-content;
6040
+ height: min-content;
5798
6041
  content: "";
5799
6042
  }
5800
6043
 
@@ -5856,8 +6099,8 @@ a.close.disabled {
5856
6099
  justify-content: space-between;
5857
6100
  padding: 1rem 1rem;
5858
6101
  border-bottom: 1px solid #dee2e6;
5859
- border-top-left-radius: 0.3rem;
5860
- border-top-right-radius: 0.3rem;
6102
+ border-top-left-radius: calc(0.3rem - 1px);
6103
+ border-top-right-radius: calc(0.3rem - 1px);
5861
6104
  }
5862
6105
 
5863
6106
  .modal-header .close {
@@ -5880,22 +6123,20 @@ a.close.disabled {
5880
6123
  .modal-footer {
5881
6124
  display: -ms-flexbox;
5882
6125
  display: flex;
6126
+ -ms-flex-wrap: wrap;
6127
+ flex-wrap: wrap;
5883
6128
  -ms-flex-align: center;
5884
6129
  align-items: center;
5885
6130
  -ms-flex-pack: end;
5886
6131
  justify-content: flex-end;
5887
- padding: 1rem;
6132
+ padding: 0.75rem;
5888
6133
  border-top: 1px solid #dee2e6;
5889
- border-bottom-right-radius: 0.3rem;
5890
- border-bottom-left-radius: 0.3rem;
6134
+ border-bottom-right-radius: calc(0.3rem - 1px);
6135
+ border-bottom-left-radius: calc(0.3rem - 1px);
5891
6136
  }
5892
6137
 
5893
- .modal-footer > :not(:first-child) {
5894
- margin-left: .25rem;
5895
- }
5896
-
5897
- .modal-footer > :not(:last-child) {
5898
- margin-right: .25rem;
6138
+ .modal-footer > * {
6139
+ margin: 0.25rem;
5899
6140
  }
5900
6141
 
5901
6142
  .modal-scrollbar-measure {
@@ -5922,6 +6163,9 @@ a.close.disabled {
5922
6163
  }
5923
6164
  .modal-dialog-centered::before {
5924
6165
  height: calc(100vh - 3.5rem);
6166
+ height: -webkit-min-content;
6167
+ height: -moz-min-content;
6168
+ height: min-content;
5925
6169
  }
5926
6170
  .modal-sm {
5927
6171
  max-width: 300px;
@@ -5946,7 +6190,7 @@ a.close.disabled {
5946
6190
  z-index: 1070;
5947
6191
  display: block;
5948
6192
  margin: 0;
5949
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6193
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
5950
6194
  font-style: normal;
5951
6195
  font-weight: 400;
5952
6196
  line-height: 1.5;
@@ -6059,7 +6303,7 @@ a.close.disabled {
6059
6303
  z-index: 1060;
6060
6304
  display: block;
6061
6305
  max-width: 276px;
6062
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6306
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6063
6307
  font-style: normal;
6064
6308
  font-weight: 400;
6065
6309
  line-height: 1.5;
@@ -6102,7 +6346,7 @@ a.close.disabled {
6102
6346
  }
6103
6347
 
6104
6348
  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
6105
- bottom: calc((0.5rem + 1px) * -1);
6349
+ bottom: calc(-0.5rem - 1px);
6106
6350
  }
6107
6351
 
6108
6352
  .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
@@ -6122,7 +6366,7 @@ a.close.disabled {
6122
6366
  }
6123
6367
 
6124
6368
  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
6125
- left: calc((0.5rem + 1px) * -1);
6369
+ left: calc(-0.5rem - 1px);
6126
6370
  width: 0.5rem;
6127
6371
  height: 1rem;
6128
6372
  margin: 0.3rem 0;
@@ -6145,7 +6389,7 @@ a.close.disabled {
6145
6389
  }
6146
6390
 
6147
6391
  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
6148
- top: calc((0.5rem + 1px) * -1);
6392
+ top: calc(-0.5rem - 1px);
6149
6393
  }
6150
6394
 
6151
6395
  .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
@@ -6176,7 +6420,7 @@ a.close.disabled {
6176
6420
  }
6177
6421
 
6178
6422
  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
6179
- right: calc((0.5rem + 1px) * -1);
6423
+ right: calc(-0.5rem - 1px);
6180
6424
  width: 0.5rem;
6181
6425
  height: 1rem;
6182
6426
  margin: 0.3rem 0;
@@ -6289,7 +6533,7 @@ a.close.disabled {
6289
6533
  .carousel-fade .active.carousel-item-right {
6290
6534
  z-index: 0;
6291
6535
  opacity: 0;
6292
- transition: 0s 0.6s opacity;
6536
+ transition: opacity 0s 0.6s;
6293
6537
  }
6294
6538
 
6295
6539
  @media (prefers-reduced-motion: reduce) {
@@ -6312,8 +6556,11 @@ a.close.disabled {
6312
6556
  -ms-flex-pack: center;
6313
6557
  justify-content: center;
6314
6558
  width: 15%;
6559
+ padding: 0;
6315
6560
  color: #fff;
6316
6561
  text-align: center;
6562
+ background: none;
6563
+ border: 0;
6317
6564
  opacity: 0.5;
6318
6565
  transition: opacity 0.15s ease;
6319
6566
  }
@@ -6347,15 +6594,15 @@ a.close.disabled {
6347
6594
  display: inline-block;
6348
6595
  width: 20px;
6349
6596
  height: 20px;
6350
- background: no-repeat 50% / 100% 100%;
6597
+ background: 50% / 100% 100% no-repeat;
6351
6598
  }
6352
6599
 
6353
6600
  .carousel-control-prev-icon {
6354
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e");
6601
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
6355
6602
  }
6356
6603
 
6357
6604
  .carousel-control-next-icon {
6358
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e");
6605
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
6359
6606
  }
6360
6607
 
6361
6608
  .carousel-indicators {
@@ -6432,12 +6679,12 @@ a.close.disabled {
6432
6679
  display: inline-block;
6433
6680
  width: 2rem;
6434
6681
  height: 2rem;
6435
- vertical-align: text-bottom;
6682
+ vertical-align: -0.125em;
6436
6683
  border: 0.25em solid currentColor;
6437
6684
  border-right-color: transparent;
6438
6685
  border-radius: 50%;
6439
- -webkit-animation: spinner-border .75s linear infinite;
6440
- animation: spinner-border .75s linear infinite;
6686
+ -webkit-animation: .75s linear infinite spinner-border;
6687
+ animation: .75s linear infinite spinner-border;
6441
6688
  }
6442
6689
 
6443
6690
  .spinner-border-sm {
@@ -6453,6 +6700,8 @@ a.close.disabled {
6453
6700
  }
6454
6701
  50% {
6455
6702
  opacity: 1;
6703
+ -webkit-transform: none;
6704
+ transform: none;
6456
6705
  }
6457
6706
  }
6458
6707
 
@@ -6463,6 +6712,8 @@ a.close.disabled {
6463
6712
  }
6464
6713
  50% {
6465
6714
  opacity: 1;
6715
+ -webkit-transform: none;
6716
+ transform: none;
6466
6717
  }
6467
6718
  }
6468
6719
 
@@ -6470,12 +6721,12 @@ a.close.disabled {
6470
6721
  display: inline-block;
6471
6722
  width: 2rem;
6472
6723
  height: 2rem;
6473
- vertical-align: text-bottom;
6724
+ vertical-align: -0.125em;
6474
6725
  background-color: currentColor;
6475
6726
  border-radius: 50%;
6476
6727
  opacity: 0;
6477
- -webkit-animation: spinner-grow .75s linear infinite;
6478
- animation: spinner-grow .75s linear infinite;
6728
+ -webkit-animation: .75s linear infinite spinner-grow;
6729
+ animation: .75s linear infinite spinner-grow;
6479
6730
  }
6480
6731
 
6481
6732
  .spinner-grow-sm {
@@ -6483,6 +6734,14 @@ a.close.disabled {
6483
6734
  height: 1rem;
6484
6735
  }
6485
6736
 
6737
+ @media (prefers-reduced-motion: reduce) {
6738
+ .spinner-border,
6739
+ .spinner-grow {
6740
+ -webkit-animation-duration: 1.5s;
6741
+ animation-duration: 1.5s;
6742
+ }
6743
+ }
6744
+
6486
6745
  .align-baseline {
6487
6746
  vertical-align: baseline !important;
6488
6747
  }
@@ -7748,6 +8007,26 @@ button.bg-dark:focus {
7748
8007
  }
7749
8008
  }
7750
8009
 
8010
+ .user-select-all {
8011
+ -webkit-user-select: all !important;
8012
+ -moz-user-select: all !important;
8013
+ user-select: all !important;
8014
+ }
8015
+
8016
+ .user-select-auto {
8017
+ -webkit-user-select: auto !important;
8018
+ -moz-user-select: auto !important;
8019
+ -ms-user-select: auto !important;
8020
+ user-select: auto !important;
8021
+ }
8022
+
8023
+ .user-select-none {
8024
+ -webkit-user-select: none !important;
8025
+ -moz-user-select: none !important;
8026
+ -ms-user-select: none !important;
8027
+ user-select: none !important;
8028
+ }
8029
+
7751
8030
  .overflow-auto {
7752
8031
  overflow: auto !important;
7753
8032
  }
@@ -7807,6 +8086,7 @@ button.bg-dark:focus {
7807
8086
  width: 1px;
7808
8087
  height: 1px;
7809
8088
  padding: 0;
8089
+ margin: -1px;
7810
8090
  overflow: hidden;
7811
8091
  clip: rect(0, 0, 0, 0);
7812
8092
  white-space: nowrap;
@@ -7902,18 +8182,6 @@ button.bg-dark:focus {
7902
8182
  height: 100vh !important;
7903
8183
  }
7904
8184
 
7905
- .stretched-link::after {
7906
- position: absolute;
7907
- top: 0;
7908
- right: 0;
7909
- bottom: 0;
7910
- left: 0;
7911
- z-index: 1;
7912
- pointer-events: auto;
7913
- content: "";
7914
- background-color: rgba(0, 0, 0, 0);
7915
- }
7916
-
7917
8185
  .m-0 {
7918
8186
  margin: 0 !important;
7919
8187
  }
@@ -9726,6 +9994,18 @@ button.bg-dark:focus {
9726
9994
  }
9727
9995
  }
9728
9996
 
9997
+ .stretched-link::after {
9998
+ position: absolute;
9999
+ top: 0;
10000
+ right: 0;
10001
+ bottom: 0;
10002
+ left: 0;
10003
+ z-index: 1;
10004
+ pointer-events: auto;
10005
+ content: "";
10006
+ background-color: rgba(0, 0, 0, 0);
10007
+ }
10008
+
9729
10009
  .text-monospace {
9730
10010
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
9731
10011
  }
@@ -9942,7 +10222,7 @@ a.text-dark:hover, a.text-dark:focus {
9942
10222
 
9943
10223
  .text-break {
9944
10224
  word-break: break-word !important;
9945
- overflow-wrap: break-word !important;
10225
+ word-wrap: break-word !important;
9946
10226
  }
9947
10227
 
9948
10228
  .text-reset {
@@ -9978,9 +10258,6 @@ a.text-dark:hover, a.text-dark:focus {
9978
10258
  border: 1px solid #adb5bd;
9979
10259
  page-break-inside: avoid;
9980
10260
  }
9981
- thead {
9982
- display: table-header-group;
9983
- }
9984
10261
  tr,
9985
10262
  img {
9986
10263
  page-break-inside: avoid;